ChangeLog-2011-10-19 4.1 MB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417254182541925420254212542225423254242542525426254272542825429254302543125432254332543425435254362543725438254392544025441254422544325444254452544625447254482544925450254512545225453254542545525456254572545825459254602546125462254632546425465254662546725468254692547025471254722547325474254752547625477254782547925480254812548225483254842548525486254872548825489254902549125492254932549425495254962549725498254992550025501255022550325504255052550625507255082550925510255112551225513255142551525516255172551825519255202552125522255232552425525255262552725528255292553025531255322553325534255352553625537255382553925540255412554225543255442554525546255472554825549255502555125552255532555425555255562555725558255592556025561255622556325564255652556625567255682556925570255712557225573255742557525576255772557825579255802558125582255832558425585255862558725588255892559025591255922559325594255952559625597255982559925600256012560225603256042560525606256072560825609256102561125612256132561425615256162561725618256192562025621256222562325624256252562625627256282562925630256312563225633256342563525636256372563825639256402564125642256432564425645256462564725648256492565025651256522565325654256552565625657256582565925660256612566225663256642566525666256672566825669256702567125672256732567425675256762567725678256792568025681256822568325684256852568625687256882568925690256912569225693256942569525696256972569825699257002570125702257032570425705257062570725708257092571025711257122571325714257152571625717257182571925720257212572225723257242572525726257272572825729257302573125732257332573425735257362573725738257392574025741257422574325744257452574625747257482574925750257512575225753257542575525756257572575825759257602576125762257632576425765257662576725768257692577025771257722577325774257752577625777257782577925780257812578225783257842578525786257872578825789257902579125792257932579425795257962579725798257992580025801258022580325804258052580625807258082580925810258112581225813258142581525816258172581825819258202582125822258232582425825258262582725828258292583025831258322583325834258352583625837258382583925840258412584225843258442584525846258472584825849258502585125852258532585425855258562585725858258592586025861258622586325864258652586625867258682586925870258712587225873258742587525876258772587825879258802588125882258832588425885258862588725888258892589025891258922589325894258952589625897258982589925900259012590225903259042590525906259072590825909259102591125912259132591425915259162591725918259192592025921259222592325924259252592625927259282592925930259312593225933259342593525936259372593825939259402594125942259432594425945259462594725948259492595025951259522595325954259552595625957259582595925960259612596225963259642596525966259672596825969259702597125972259732597425975259762597725978259792598025981259822598325984259852598625987259882598925990259912599225993259942599525996259972599825999260002600126002260032600426005260062600726008260092601026011260122601326014260152601626017260182601926020260212602226023260242602526026260272602826029260302603126032260332603426035260362603726038260392604026041260422604326044260452604626047260482604926050260512605226053260542605526056260572605826059260602606126062260632606426065260662606726068260692607026071260722607326074260752607626077260782607926080260812608226083260842608526086260872608826089260902609126092260932609426095260962609726098260992610026101261022610326104261052610626107261082610926110261112611226113261142611526116261172611826119261202612126122261232612426125261262612726128261292613026131261322613326134261352613626137261382613926140261412614226143261442614526146261472614826149261502615126152261532615426155261562615726158261592616026161261622616326164261652616626167261682616926170261712617226173261742617526176261772617826179261802618126182261832618426185261862618726188261892619026191261922619326194261952619626197261982619926200262012620226203262042620526206262072620826209262102621126212262132621426215262162621726218262192622026221262222622326224262252622626227262282622926230262312623226233262342623526236262372623826239262402624126242262432624426245262462624726248262492625026251262522625326254262552625626257262582625926260262612626226263262642626526266262672626826269262702627126272262732627426275262762627726278262792628026281262822628326284262852628626287262882628926290262912629226293262942629526296262972629826299263002630126302263032630426305263062630726308263092631026311263122631326314263152631626317263182631926320263212632226323263242632526326263272632826329263302633126332263332633426335263362633726338263392634026341263422634326344263452634626347263482634926350263512635226353263542635526356263572635826359263602636126362263632636426365263662636726368263692637026371263722637326374263752637626377263782637926380263812638226383263842638526386263872638826389263902639126392263932639426395263962639726398263992640026401264022640326404264052640626407264082640926410264112641226413264142641526416264172641826419264202642126422264232642426425264262642726428264292643026431264322643326434264352643626437264382643926440264412644226443264442644526446264472644826449264502645126452264532645426455264562645726458264592646026461264622646326464264652646626467264682646926470264712647226473264742647526476264772647826479264802648126482264832648426485264862648726488264892649026491264922649326494264952649626497264982649926500265012650226503265042650526506265072650826509265102651126512265132651426515265162651726518265192652026521265222652326524265252652626527265282652926530265312653226533265342653526536265372653826539265402654126542265432654426545265462654726548265492655026551265522655326554265552655626557265582655926560265612656226563265642656526566265672656826569265702657126572265732657426575265762657726578265792658026581265822658326584265852658626587265882658926590265912659226593265942659526596265972659826599266002660126602266032660426605266062660726608266092661026611266122661326614266152661626617266182661926620266212662226623266242662526626266272662826629266302663126632266332663426635266362663726638266392664026641266422664326644266452664626647266482664926650266512665226653266542665526656266572665826659266602666126662266632666426665266662666726668266692667026671266722667326674266752667626677266782667926680266812668226683266842668526686266872668826689266902669126692266932669426695266962669726698266992670026701267022670326704267052670626707267082670926710267112671226713267142671526716267172671826719267202672126722267232672426725267262672726728267292673026731267322673326734267352673626737267382673926740267412674226743267442674526746267472674826749267502675126752267532675426755267562675726758267592676026761267622676326764267652676626767267682676926770267712677226773267742677526776267772677826779267802678126782267832678426785267862678726788267892679026791267922679326794267952679626797267982679926800268012680226803268042680526806268072680826809268102681126812268132681426815268162681726818268192682026821268222682326824268252682626827268282682926830268312683226833268342683526836268372683826839268402684126842268432684426845268462684726848268492685026851268522685326854268552685626857268582685926860268612686226863268642686526866268672686826869268702687126872268732687426875268762687726878268792688026881268822688326884268852688626887268882688926890268912689226893268942689526896268972689826899269002690126902269032690426905269062690726908269092691026911269122691326914269152691626917269182691926920269212692226923269242692526926269272692826929269302693126932269332693426935269362693726938269392694026941269422694326944269452694626947269482694926950269512695226953269542695526956269572695826959269602696126962269632696426965269662696726968269692697026971269722697326974269752697626977269782697926980269812698226983269842698526986269872698826989269902699126992269932699426995269962699726998269992700027001270022700327004270052700627007270082700927010270112701227013270142701527016270172701827019270202702127022270232702427025270262702727028270292703027031270322703327034270352703627037270382703927040270412704227043270442704527046270472704827049270502705127052270532705427055270562705727058270592706027061270622706327064270652706627067270682706927070270712707227073270742707527076270772707827079270802708127082270832708427085270862708727088270892709027091270922709327094270952709627097270982709927100271012710227103271042710527106271072710827109271102711127112271132711427115271162711727118271192712027121271222712327124271252712627127271282712927130271312713227133271342713527136271372713827139271402714127142271432714427145271462714727148271492715027151271522715327154271552715627157271582715927160271612716227163271642716527166271672716827169271702717127172271732717427175271762717727178271792718027181271822718327184271852718627187271882718927190271912719227193271942719527196271972719827199272002720127202272032720427205272062720727208272092721027211272122721327214272152721627217272182721927220272212722227223272242722527226272272722827229272302723127232272332723427235272362723727238272392724027241272422724327244272452724627247272482724927250272512725227253272542725527256272572725827259272602726127262272632726427265272662726727268272692727027271272722727327274272752727627277272782727927280272812728227283272842728527286272872728827289272902729127292272932729427295272962729727298272992730027301273022730327304273052730627307273082730927310273112731227313273142731527316273172731827319273202732127322273232732427325273262732727328273292733027331273322733327334273352733627337273382733927340273412734227343273442734527346273472734827349273502735127352273532735427355273562735727358273592736027361273622736327364273652736627367273682736927370273712737227373273742737527376273772737827379273802738127382273832738427385273862738727388273892739027391273922739327394273952739627397273982739927400274012740227403274042740527406274072740827409274102741127412274132741427415274162741727418274192742027421274222742327424274252742627427274282742927430274312743227433274342743527436274372743827439274402744127442274432744427445274462744727448274492745027451274522745327454274552745627457274582745927460274612746227463274642746527466274672746827469274702747127472274732747427475274762747727478274792748027481274822748327484274852748627487274882748927490274912749227493274942749527496274972749827499275002750127502275032750427505275062750727508275092751027511275122751327514275152751627517275182751927520275212752227523275242752527526275272752827529275302753127532275332753427535275362753727538275392754027541275422754327544275452754627547275482754927550275512755227553275542755527556275572755827559275602756127562275632756427565275662756727568275692757027571275722757327574275752757627577275782757927580275812758227583275842758527586275872758827589275902759127592275932759427595275962759727598275992760027601276022760327604276052760627607276082760927610276112761227613276142761527616276172761827619276202762127622276232762427625276262762727628276292763027631276322763327634276352763627637276382763927640276412764227643276442764527646276472764827649276502765127652276532765427655276562765727658276592766027661276622766327664276652766627667276682766927670276712767227673276742767527676276772767827679276802768127682276832768427685276862768727688276892769027691276922769327694276952769627697276982769927700277012770227703277042770527706277072770827709277102771127712277132771427715277162771727718277192772027721277222772327724277252772627727277282772927730277312773227733277342773527736277372773827739277402774127742277432774427745277462774727748277492775027751277522775327754277552775627757277582775927760277612776227763277642776527766277672776827769277702777127772277732777427775277762777727778277792778027781277822778327784277852778627787277882778927790277912779227793277942779527796277972779827799278002780127802278032780427805278062780727808278092781027811278122781327814278152781627817278182781927820278212782227823278242782527826278272782827829278302783127832278332783427835278362783727838278392784027841278422784327844278452784627847278482784927850278512785227853278542785527856278572785827859278602786127862278632786427865278662786727868278692787027871278722787327874278752787627877278782787927880278812788227883278842788527886278872788827889278902789127892278932789427895278962789727898278992790027901279022790327904279052790627907279082790927910279112791227913279142791527916279172791827919279202792127922279232792427925279262792727928279292793027931279322793327934279352793627937279382793927940279412794227943279442794527946279472794827949279502795127952279532795427955279562795727958279592796027961279622796327964279652796627967279682796927970279712797227973279742797527976279772797827979279802798127982279832798427985279862798727988279892799027991279922799327994279952799627997279982799928000280012800228003280042800528006280072800828009280102801128012280132801428015280162801728018280192802028021280222802328024280252802628027280282802928030280312803228033280342803528036280372803828039280402804128042280432804428045280462804728048280492805028051280522805328054280552805628057280582805928060280612806228063280642806528066280672806828069280702807128072280732807428075280762807728078280792808028081280822808328084280852808628087280882808928090280912809228093280942809528096280972809828099281002810128102281032810428105281062810728108281092811028111281122811328114281152811628117281182811928120281212812228123281242812528126281272812828129281302813128132281332813428135281362813728138281392814028141281422814328144281452814628147281482814928150281512815228153281542815528156281572815828159281602816128162281632816428165281662816728168281692817028171281722817328174281752817628177281782817928180281812818228183281842818528186281872818828189281902819128192281932819428195281962819728198281992820028201282022820328204282052820628207282082820928210282112821228213282142821528216282172821828219282202822128222282232822428225282262822728228282292823028231282322823328234282352823628237282382823928240282412824228243282442824528246282472824828249282502825128252282532825428255282562825728258282592826028261282622826328264282652826628267282682826928270282712827228273282742827528276282772827828279282802828128282282832828428285282862828728288282892829028291282922829328294282952829628297282982829928300283012830228303283042830528306283072830828309283102831128312283132831428315283162831728318283192832028321283222832328324283252832628327283282832928330283312833228333283342833528336283372833828339283402834128342283432834428345283462834728348283492835028351283522835328354283552835628357283582835928360283612836228363283642836528366283672836828369283702837128372283732837428375283762837728378283792838028381283822838328384283852838628387283882838928390283912839228393283942839528396283972839828399284002840128402284032840428405284062840728408284092841028411284122841328414284152841628417284182841928420284212842228423284242842528426284272842828429284302843128432284332843428435284362843728438284392844028441284422844328444284452844628447284482844928450284512845228453284542845528456284572845828459284602846128462284632846428465284662846728468284692847028471284722847328474284752847628477284782847928480284812848228483284842848528486284872848828489284902849128492284932849428495284962849728498284992850028501285022850328504285052850628507285082850928510285112851228513285142851528516285172851828519285202852128522285232852428525285262852728528285292853028531285322853328534285352853628537285382853928540285412854228543285442854528546285472854828549285502855128552285532855428555285562855728558285592856028561285622856328564285652856628567285682856928570285712857228573285742857528576285772857828579285802858128582285832858428585285862858728588285892859028591285922859328594285952859628597285982859928600286012860228603286042860528606286072860828609286102861128612286132861428615286162861728618286192862028621286222862328624286252862628627286282862928630286312863228633286342863528636286372863828639286402864128642286432864428645286462864728648286492865028651286522865328654286552865628657286582865928660286612866228663286642866528666286672866828669286702867128672286732867428675286762867728678286792868028681286822868328684286852868628687286882868928690286912869228693286942869528696286972869828699287002870128702287032870428705287062870728708287092871028711287122871328714287152871628717287182871928720287212872228723287242872528726287272872828729287302873128732287332873428735287362873728738287392874028741287422874328744287452874628747287482874928750287512875228753287542875528756287572875828759287602876128762287632876428765287662876728768287692877028771287722877328774287752877628777287782877928780287812878228783287842878528786287872878828789287902879128792287932879428795287962879728798287992880028801288022880328804288052880628807288082880928810288112881228813288142881528816288172881828819288202882128822288232882428825288262882728828288292883028831288322883328834288352883628837288382883928840288412884228843288442884528846288472884828849288502885128852288532885428855288562885728858288592886028861288622886328864288652886628867288682886928870288712887228873288742887528876288772887828879288802888128882288832888428885288862888728888288892889028891288922889328894288952889628897288982889928900289012890228903289042890528906289072890828909289102891128912289132891428915289162891728918289192892028921289222892328924289252892628927289282892928930289312893228933289342893528936289372893828939289402894128942289432894428945289462894728948289492895028951289522895328954289552895628957289582895928960289612896228963289642896528966289672896828969289702897128972289732897428975289762897728978289792898028981289822898328984289852898628987289882898928990289912899228993289942899528996289972899828999290002900129002290032900429005290062900729008290092901029011290122901329014290152901629017290182901929020290212902229023290242902529026290272902829029290302903129032290332903429035290362903729038290392904029041290422904329044290452904629047290482904929050290512905229053290542905529056290572905829059290602906129062290632906429065290662906729068290692907029071290722907329074290752907629077290782907929080290812908229083290842908529086290872908829089290902909129092290932909429095290962909729098290992910029101291022910329104291052910629107291082910929110291112911229113291142911529116291172911829119291202912129122291232912429125291262912729128291292913029131291322913329134291352913629137291382913929140291412914229143291442914529146291472914829149291502915129152291532915429155291562915729158291592916029161291622916329164291652916629167291682916929170291712917229173291742917529176291772917829179291802918129182291832918429185291862918729188291892919029191291922919329194291952919629197291982919929200292012920229203292042920529206292072920829209292102921129212292132921429215292162921729218292192922029221292222922329224292252922629227292282922929230292312923229233292342923529236292372923829239292402924129242292432924429245292462924729248292492925029251292522925329254292552925629257292582925929260292612926229263292642926529266292672926829269292702927129272292732927429275292762927729278292792928029281292822928329284292852928629287292882928929290292912929229293292942929529296292972929829299293002930129302293032930429305293062930729308293092931029311293122931329314293152931629317293182931929320293212932229323293242932529326293272932829329293302933129332293332933429335293362933729338293392934029341293422934329344293452934629347293482934929350293512935229353293542935529356293572935829359293602936129362293632936429365293662936729368293692937029371293722937329374293752937629377293782937929380293812938229383293842938529386293872938829389293902939129392293932939429395293962939729398293992940029401294022940329404294052940629407294082940929410294112941229413294142941529416294172941829419294202942129422294232942429425294262942729428294292943029431294322943329434294352943629437294382943929440294412944229443294442944529446294472944829449294502945129452294532945429455294562945729458294592946029461294622946329464294652946629467294682946929470294712947229473294742947529476294772947829479294802948129482294832948429485294862948729488294892949029491294922949329494294952949629497294982949929500295012950229503295042950529506295072950829509295102951129512295132951429515295162951729518295192952029521295222952329524295252952629527295282952929530295312953229533295342953529536295372953829539295402954129542295432954429545295462954729548295492955029551295522955329554295552955629557295582955929560295612956229563295642956529566295672956829569295702957129572295732957429575295762957729578295792958029581295822958329584295852958629587295882958929590295912959229593295942959529596295972959829599296002960129602296032960429605296062960729608296092961029611296122961329614296152961629617296182961929620296212962229623296242962529626296272962829629296302963129632296332963429635296362963729638296392964029641296422964329644296452964629647296482964929650296512965229653296542965529656296572965829659296602966129662296632966429665296662966729668296692967029671296722967329674296752967629677296782967929680296812968229683296842968529686296872968829689296902969129692296932969429695296962969729698296992970029701297022970329704297052970629707297082970929710297112971229713297142971529716297172971829719297202972129722297232972429725297262972729728297292973029731297322973329734297352973629737297382973929740297412974229743297442974529746297472974829749297502975129752297532975429755297562975729758297592976029761297622976329764297652976629767297682976929770297712977229773297742977529776297772977829779297802978129782297832978429785297862978729788297892979029791297922979329794297952979629797297982979929800298012980229803298042980529806298072980829809298102981129812298132981429815298162981729818298192982029821298222982329824298252982629827298282982929830298312983229833298342983529836298372983829839298402984129842298432984429845298462984729848298492985029851298522985329854298552985629857298582985929860298612986229863298642986529866298672986829869298702987129872298732987429875298762987729878298792988029881298822988329884298852988629887298882988929890298912989229893298942989529896298972989829899299002990129902299032990429905299062990729908299092991029911299122991329914299152991629917299182991929920299212992229923299242992529926299272992829929299302993129932299332993429935299362993729938299392994029941299422994329944299452994629947299482994929950299512995229953299542995529956299572995829959299602996129962299632996429965299662996729968299692997029971299722997329974299752997629977299782997929980299812998229983299842998529986299872998829989299902999129992299932999429995299962999729998299993000030001300023000330004300053000630007300083000930010300113001230013300143001530016300173001830019300203002130022300233002430025300263002730028300293003030031300323003330034300353003630037300383003930040300413004230043300443004530046300473004830049300503005130052300533005430055300563005730058300593006030061300623006330064300653006630067300683006930070300713007230073300743007530076300773007830079300803008130082300833008430085300863008730088300893009030091300923009330094300953009630097300983009930100301013010230103301043010530106301073010830109301103011130112301133011430115301163011730118301193012030121301223012330124301253012630127301283012930130301313013230133301343013530136301373013830139301403014130142301433014430145301463014730148301493015030151301523015330154301553015630157301583015930160301613016230163301643016530166301673016830169301703017130172301733017430175301763017730178301793018030181301823018330184301853018630187301883018930190301913019230193301943019530196301973019830199302003020130202302033020430205302063020730208302093021030211302123021330214302153021630217302183021930220302213022230223302243022530226302273022830229302303023130232302333023430235302363023730238302393024030241302423024330244302453024630247302483024930250302513025230253302543025530256302573025830259302603026130262302633026430265302663026730268302693027030271302723027330274302753027630277302783027930280302813028230283302843028530286302873028830289302903029130292302933029430295302963029730298302993030030301303023030330304303053030630307303083030930310303113031230313303143031530316303173031830319303203032130322303233032430325303263032730328303293033030331303323033330334303353033630337303383033930340303413034230343303443034530346303473034830349303503035130352303533035430355303563035730358303593036030361303623036330364303653036630367303683036930370303713037230373303743037530376303773037830379303803038130382303833038430385303863038730388303893039030391303923039330394303953039630397303983039930400304013040230403304043040530406304073040830409304103041130412304133041430415304163041730418304193042030421304223042330424304253042630427304283042930430304313043230433304343043530436304373043830439304403044130442304433044430445304463044730448304493045030451304523045330454304553045630457304583045930460304613046230463304643046530466304673046830469304703047130472304733047430475304763047730478304793048030481304823048330484304853048630487304883048930490304913049230493304943049530496304973049830499305003050130502305033050430505305063050730508305093051030511305123051330514305153051630517305183051930520305213052230523305243052530526305273052830529305303053130532305333053430535305363053730538305393054030541305423054330544305453054630547305483054930550305513055230553305543055530556305573055830559305603056130562305633056430565305663056730568305693057030571305723057330574305753057630577305783057930580305813058230583305843058530586305873058830589305903059130592305933059430595305963059730598305993060030601306023060330604306053060630607306083060930610306113061230613306143061530616306173061830619306203062130622306233062430625306263062730628306293063030631306323063330634306353063630637306383063930640306413064230643306443064530646306473064830649306503065130652306533065430655306563065730658306593066030661306623066330664306653066630667306683066930670306713067230673306743067530676306773067830679306803068130682306833068430685306863068730688306893069030691306923069330694306953069630697306983069930700307013070230703307043070530706307073070830709307103071130712307133071430715307163071730718307193072030721307223072330724307253072630727307283072930730307313073230733307343073530736307373073830739307403074130742307433074430745307463074730748307493075030751307523075330754307553075630757307583075930760307613076230763307643076530766307673076830769307703077130772307733077430775307763077730778307793078030781307823078330784307853078630787307883078930790307913079230793307943079530796307973079830799308003080130802308033080430805308063080730808308093081030811308123081330814308153081630817308183081930820308213082230823308243082530826308273082830829308303083130832308333083430835308363083730838308393084030841308423084330844308453084630847308483084930850308513085230853308543085530856308573085830859308603086130862308633086430865308663086730868308693087030871308723087330874308753087630877308783087930880308813088230883308843088530886308873088830889308903089130892308933089430895308963089730898308993090030901309023090330904309053090630907309083090930910309113091230913309143091530916309173091830919309203092130922309233092430925309263092730928309293093030931309323093330934309353093630937309383093930940309413094230943309443094530946309473094830949309503095130952309533095430955309563095730958309593096030961309623096330964309653096630967309683096930970309713097230973309743097530976309773097830979309803098130982309833098430985309863098730988309893099030991309923099330994309953099630997309983099931000310013100231003310043100531006310073100831009310103101131012310133101431015310163101731018310193102031021310223102331024310253102631027310283102931030310313103231033310343103531036310373103831039310403104131042310433104431045310463104731048310493105031051310523105331054310553105631057310583105931060310613106231063310643106531066310673106831069310703107131072310733107431075310763107731078310793108031081310823108331084310853108631087310883108931090310913109231093310943109531096310973109831099311003110131102311033110431105311063110731108311093111031111311123111331114311153111631117311183111931120311213112231123311243112531126311273112831129311303113131132311333113431135311363113731138311393114031141311423114331144311453114631147311483114931150311513115231153311543115531156311573115831159311603116131162311633116431165311663116731168311693117031171311723117331174311753117631177311783117931180311813118231183311843118531186311873118831189311903119131192311933119431195311963119731198311993120031201312023120331204312053120631207312083120931210312113121231213312143121531216312173121831219312203122131222312233122431225312263122731228312293123031231312323123331234312353123631237312383123931240312413124231243312443124531246312473124831249312503125131252312533125431255312563125731258312593126031261312623126331264312653126631267312683126931270312713127231273312743127531276312773127831279312803128131282312833128431285312863128731288312893129031291312923129331294312953129631297312983129931300313013130231303313043130531306313073130831309313103131131312313133131431315313163131731318313193132031321313223132331324313253132631327313283132931330313313133231333313343133531336313373133831339313403134131342313433134431345313463134731348313493135031351313523135331354313553135631357313583135931360313613136231363313643136531366313673136831369313703137131372313733137431375313763137731378313793138031381313823138331384313853138631387313883138931390313913139231393313943139531396313973139831399314003140131402314033140431405314063140731408314093141031411314123141331414314153141631417314183141931420314213142231423314243142531426314273142831429314303143131432314333143431435314363143731438314393144031441314423144331444314453144631447314483144931450314513145231453314543145531456314573145831459314603146131462314633146431465314663146731468314693147031471314723147331474314753147631477314783147931480314813148231483314843148531486314873148831489314903149131492314933149431495314963149731498314993150031501315023150331504315053150631507315083150931510315113151231513315143151531516315173151831519315203152131522315233152431525315263152731528315293153031531315323153331534315353153631537315383153931540315413154231543315443154531546315473154831549315503155131552315533155431555315563155731558315593156031561315623156331564315653156631567315683156931570315713157231573315743157531576315773157831579315803158131582315833158431585315863158731588315893159031591315923159331594315953159631597315983159931600316013160231603316043160531606316073160831609316103161131612316133161431615316163161731618316193162031621316223162331624316253162631627316283162931630316313163231633316343163531636316373163831639316403164131642316433164431645316463164731648316493165031651316523165331654316553165631657316583165931660316613166231663316643166531666316673166831669316703167131672316733167431675316763167731678316793168031681316823168331684316853168631687316883168931690316913169231693316943169531696316973169831699317003170131702317033170431705317063170731708317093171031711317123171331714317153171631717317183171931720317213172231723317243172531726317273172831729317303173131732317333173431735317363173731738317393174031741317423174331744317453174631747317483174931750317513175231753317543175531756317573175831759317603176131762317633176431765317663176731768317693177031771317723177331774317753177631777317783177931780317813178231783317843178531786317873178831789317903179131792317933179431795317963179731798317993180031801318023180331804318053180631807318083180931810318113181231813318143181531816318173181831819318203182131822318233182431825318263182731828318293183031831318323183331834318353183631837318383183931840318413184231843318443184531846318473184831849318503185131852318533185431855318563185731858318593186031861318623186331864318653186631867318683186931870318713187231873318743187531876318773187831879318803188131882318833188431885318863188731888318893189031891318923189331894318953189631897318983189931900319013190231903319043190531906319073190831909319103191131912319133191431915319163191731918319193192031921319223192331924319253192631927319283192931930319313193231933319343193531936319373193831939319403194131942319433194431945319463194731948319493195031951319523195331954319553195631957319583195931960319613196231963319643196531966319673196831969319703197131972319733197431975319763197731978319793198031981319823198331984319853198631987319883198931990319913199231993319943199531996319973199831999320003200132002320033200432005320063200732008320093201032011320123201332014320153201632017320183201932020320213202232023320243202532026320273202832029320303203132032320333203432035320363203732038320393204032041320423204332044320453204632047320483204932050320513205232053320543205532056320573205832059320603206132062320633206432065320663206732068320693207032071320723207332074320753207632077320783207932080320813208232083320843208532086320873208832089320903209132092320933209432095320963209732098320993210032101321023210332104321053210632107321083210932110321113211232113321143211532116321173211832119321203212132122321233212432125321263212732128321293213032131321323213332134321353213632137321383213932140321413214232143321443214532146321473214832149321503215132152321533215432155321563215732158321593216032161321623216332164321653216632167321683216932170321713217232173321743217532176321773217832179321803218132182321833218432185321863218732188321893219032191321923219332194321953219632197321983219932200322013220232203322043220532206322073220832209322103221132212322133221432215322163221732218322193222032221322223222332224322253222632227322283222932230322313223232233322343223532236322373223832239322403224132242322433224432245322463224732248322493225032251322523225332254322553225632257322583225932260322613226232263322643226532266322673226832269322703227132272322733227432275322763227732278322793228032281322823228332284322853228632287322883228932290322913229232293322943229532296322973229832299323003230132302323033230432305323063230732308323093231032311323123231332314323153231632317323183231932320323213232232323323243232532326323273232832329323303233132332323333233432335323363233732338323393234032341323423234332344323453234632347323483234932350323513235232353323543235532356323573235832359323603236132362323633236432365323663236732368323693237032371323723237332374323753237632377323783237932380323813238232383323843238532386323873238832389323903239132392323933239432395323963239732398323993240032401324023240332404324053240632407324083240932410324113241232413324143241532416324173241832419324203242132422324233242432425324263242732428324293243032431324323243332434324353243632437324383243932440324413244232443324443244532446324473244832449324503245132452324533245432455324563245732458324593246032461324623246332464324653246632467324683246932470324713247232473324743247532476324773247832479324803248132482324833248432485324863248732488324893249032491324923249332494324953249632497324983249932500325013250232503325043250532506325073250832509325103251132512325133251432515325163251732518325193252032521325223252332524325253252632527325283252932530325313253232533325343253532536325373253832539325403254132542325433254432545325463254732548325493255032551325523255332554325553255632557325583255932560325613256232563325643256532566325673256832569325703257132572325733257432575325763257732578325793258032581325823258332584325853258632587325883258932590325913259232593325943259532596325973259832599326003260132602326033260432605326063260732608326093261032611326123261332614326153261632617326183261932620326213262232623326243262532626326273262832629326303263132632326333263432635326363263732638326393264032641326423264332644326453264632647326483264932650326513265232653326543265532656326573265832659326603266132662326633266432665326663266732668326693267032671326723267332674326753267632677326783267932680326813268232683326843268532686326873268832689326903269132692326933269432695326963269732698326993270032701327023270332704327053270632707327083270932710327113271232713327143271532716327173271832719327203272132722327233272432725327263272732728327293273032731327323273332734327353273632737327383273932740327413274232743327443274532746327473274832749327503275132752327533275432755327563275732758327593276032761327623276332764327653276632767327683276932770327713277232773327743277532776327773277832779327803278132782327833278432785327863278732788327893279032791327923279332794327953279632797327983279932800328013280232803328043280532806328073280832809328103281132812328133281432815328163281732818328193282032821328223282332824328253282632827328283282932830328313283232833328343283532836328373283832839328403284132842328433284432845328463284732848328493285032851328523285332854328553285632857328583285932860328613286232863328643286532866328673286832869328703287132872328733287432875328763287732878328793288032881328823288332884328853288632887328883288932890328913289232893328943289532896328973289832899329003290132902329033290432905329063290732908329093291032911329123291332914329153291632917329183291932920329213292232923329243292532926329273292832929329303293132932329333293432935329363293732938329393294032941329423294332944329453294632947329483294932950329513295232953329543295532956329573295832959329603296132962329633296432965329663296732968329693297032971329723297332974329753297632977329783297932980329813298232983329843298532986329873298832989329903299132992329933299432995329963299732998329993300033001330023300333004330053300633007330083300933010330113301233013330143301533016330173301833019330203302133022330233302433025330263302733028330293303033031330323303333034330353303633037330383303933040330413304233043330443304533046330473304833049330503305133052330533305433055330563305733058330593306033061330623306333064330653306633067330683306933070330713307233073330743307533076330773307833079330803308133082330833308433085330863308733088330893309033091330923309333094330953309633097330983309933100331013310233103331043310533106331073310833109331103311133112331133311433115331163311733118331193312033121331223312333124331253312633127331283312933130331313313233133331343313533136331373313833139331403314133142331433314433145331463314733148331493315033151331523315333154331553315633157331583315933160331613316233163331643316533166331673316833169331703317133172331733317433175331763317733178331793318033181331823318333184331853318633187331883318933190331913319233193331943319533196331973319833199332003320133202332033320433205332063320733208332093321033211332123321333214332153321633217332183321933220332213322233223332243322533226332273322833229332303323133232332333323433235332363323733238332393324033241332423324333244332453324633247332483324933250332513325233253332543325533256332573325833259332603326133262332633326433265332663326733268332693327033271332723327333274332753327633277332783327933280332813328233283332843328533286332873328833289332903329133292332933329433295332963329733298332993330033301333023330333304333053330633307333083330933310333113331233313333143331533316333173331833319333203332133322333233332433325333263332733328333293333033331333323333333334333353333633337333383333933340333413334233343333443334533346333473334833349333503335133352333533335433355333563335733358333593336033361333623336333364333653336633367333683336933370333713337233373333743337533376333773337833379333803338133382333833338433385333863338733388333893339033391333923339333394333953339633397333983339933400334013340233403334043340533406334073340833409334103341133412334133341433415334163341733418334193342033421334223342333424334253342633427334283342933430334313343233433334343343533436334373343833439334403344133442334433344433445334463344733448334493345033451334523345333454334553345633457334583345933460334613346233463334643346533466334673346833469334703347133472334733347433475334763347733478334793348033481334823348333484334853348633487334883348933490334913349233493334943349533496334973349833499335003350133502335033350433505335063350733508335093351033511335123351333514335153351633517335183351933520335213352233523335243352533526335273352833529335303353133532335333353433535335363353733538335393354033541335423354333544335453354633547335483354933550335513355233553335543355533556335573355833559335603356133562335633356433565335663356733568335693357033571335723357333574335753357633577335783357933580335813358233583335843358533586335873358833589335903359133592335933359433595335963359733598335993360033601336023360333604336053360633607336083360933610336113361233613336143361533616336173361833619336203362133622336233362433625336263362733628336293363033631336323363333634336353363633637336383363933640336413364233643336443364533646336473364833649336503365133652336533365433655336563365733658336593366033661336623366333664336653366633667336683366933670336713367233673336743367533676336773367833679336803368133682336833368433685336863368733688336893369033691336923369333694336953369633697336983369933700337013370233703337043370533706337073370833709337103371133712337133371433715337163371733718337193372033721337223372333724337253372633727337283372933730337313373233733337343373533736337373373833739337403374133742337433374433745337463374733748337493375033751337523375333754337553375633757337583375933760337613376233763337643376533766337673376833769337703377133772337733377433775337763377733778337793378033781337823378333784337853378633787337883378933790337913379233793337943379533796337973379833799338003380133802338033380433805338063380733808338093381033811338123381333814338153381633817338183381933820338213382233823338243382533826338273382833829338303383133832338333383433835338363383733838338393384033841338423384333844338453384633847338483384933850338513385233853338543385533856338573385833859338603386133862338633386433865338663386733868338693387033871338723387333874338753387633877338783387933880338813388233883338843388533886338873388833889338903389133892338933389433895338963389733898338993390033901339023390333904339053390633907339083390933910339113391233913339143391533916339173391833919339203392133922339233392433925339263392733928339293393033931339323393333934339353393633937339383393933940339413394233943339443394533946339473394833949339503395133952339533395433955339563395733958339593396033961339623396333964339653396633967339683396933970339713397233973339743397533976339773397833979339803398133982339833398433985339863398733988339893399033991339923399333994339953399633997339983399934000340013400234003340043400534006340073400834009340103401134012340133401434015340163401734018340193402034021340223402334024340253402634027340283402934030340313403234033340343403534036340373403834039340403404134042340433404434045340463404734048340493405034051340523405334054340553405634057340583405934060340613406234063340643406534066340673406834069340703407134072340733407434075340763407734078340793408034081340823408334084340853408634087340883408934090340913409234093340943409534096340973409834099341003410134102341033410434105341063410734108341093411034111341123411334114341153411634117341183411934120341213412234123341243412534126341273412834129341303413134132341333413434135341363413734138341393414034141341423414334144341453414634147341483414934150341513415234153341543415534156341573415834159341603416134162341633416434165341663416734168341693417034171341723417334174341753417634177341783417934180341813418234183341843418534186341873418834189341903419134192341933419434195341963419734198341993420034201342023420334204342053420634207342083420934210342113421234213342143421534216342173421834219342203422134222342233422434225342263422734228342293423034231342323423334234342353423634237342383423934240342413424234243342443424534246342473424834249342503425134252342533425434255342563425734258342593426034261342623426334264342653426634267342683426934270342713427234273342743427534276342773427834279342803428134282342833428434285342863428734288342893429034291342923429334294342953429634297342983429934300343013430234303343043430534306343073430834309343103431134312343133431434315343163431734318343193432034321343223432334324343253432634327343283432934330343313433234333343343433534336343373433834339343403434134342343433434434345343463434734348343493435034351343523435334354343553435634357343583435934360343613436234363343643436534366343673436834369343703437134372343733437434375343763437734378343793438034381343823438334384343853438634387343883438934390343913439234393343943439534396343973439834399344003440134402344033440434405344063440734408344093441034411344123441334414344153441634417344183441934420344213442234423344243442534426344273442834429344303443134432344333443434435344363443734438344393444034441344423444334444344453444634447344483444934450344513445234453344543445534456344573445834459344603446134462344633446434465344663446734468344693447034471344723447334474344753447634477344783447934480344813448234483344843448534486344873448834489344903449134492344933449434495344963449734498344993450034501345023450334504345053450634507345083450934510345113451234513345143451534516345173451834519345203452134522345233452434525345263452734528345293453034531345323453334534345353453634537345383453934540345413454234543345443454534546345473454834549345503455134552345533455434555345563455734558345593456034561345623456334564345653456634567345683456934570345713457234573345743457534576345773457834579345803458134582345833458434585345863458734588345893459034591345923459334594345953459634597345983459934600346013460234603346043460534606346073460834609346103461134612346133461434615346163461734618346193462034621346223462334624346253462634627346283462934630346313463234633346343463534636346373463834639346403464134642346433464434645346463464734648346493465034651346523465334654346553465634657346583465934660346613466234663346643466534666346673466834669346703467134672346733467434675346763467734678346793468034681346823468334684346853468634687346883468934690346913469234693346943469534696346973469834699347003470134702347033470434705347063470734708347093471034711347123471334714347153471634717347183471934720347213472234723347243472534726347273472834729347303473134732347333473434735347363473734738347393474034741347423474334744347453474634747347483474934750347513475234753347543475534756347573475834759347603476134762347633476434765347663476734768347693477034771347723477334774347753477634777347783477934780347813478234783347843478534786347873478834789347903479134792347933479434795347963479734798347993480034801348023480334804348053480634807348083480934810348113481234813348143481534816348173481834819348203482134822348233482434825348263482734828348293483034831348323483334834348353483634837348383483934840348413484234843348443484534846348473484834849348503485134852348533485434855348563485734858348593486034861348623486334864348653486634867348683486934870348713487234873348743487534876348773487834879348803488134882348833488434885348863488734888348893489034891348923489334894348953489634897348983489934900349013490234903349043490534906349073490834909349103491134912349133491434915349163491734918349193492034921349223492334924349253492634927349283492934930349313493234933349343493534936349373493834939349403494134942349433494434945349463494734948349493495034951349523495334954349553495634957349583495934960349613496234963349643496534966349673496834969349703497134972349733497434975349763497734978349793498034981349823498334984349853498634987349883498934990349913499234993349943499534996349973499834999350003500135002350033500435005350063500735008350093501035011350123501335014350153501635017350183501935020350213502235023350243502535026350273502835029350303503135032350333503435035350363503735038350393504035041350423504335044350453504635047350483504935050350513505235053350543505535056350573505835059350603506135062350633506435065350663506735068350693507035071350723507335074350753507635077350783507935080350813508235083350843508535086350873508835089350903509135092350933509435095350963509735098350993510035101351023510335104351053510635107351083510935110351113511235113351143511535116351173511835119351203512135122351233512435125351263512735128351293513035131351323513335134351353513635137351383513935140351413514235143351443514535146351473514835149351503515135152351533515435155351563515735158351593516035161351623516335164351653516635167351683516935170351713517235173351743517535176351773517835179351803518135182351833518435185351863518735188351893519035191351923519335194351953519635197351983519935200352013520235203352043520535206352073520835209352103521135212352133521435215352163521735218352193522035221352223522335224352253522635227352283522935230352313523235233352343523535236352373523835239352403524135242352433524435245352463524735248352493525035251352523525335254352553525635257352583525935260352613526235263352643526535266352673526835269352703527135272352733527435275352763527735278352793528035281352823528335284352853528635287352883528935290352913529235293352943529535296352973529835299353003530135302353033530435305353063530735308353093531035311353123531335314353153531635317353183531935320353213532235323353243532535326353273532835329353303533135332353333533435335353363533735338353393534035341353423534335344353453534635347353483534935350353513535235353353543535535356353573535835359353603536135362353633536435365353663536735368353693537035371353723537335374353753537635377353783537935380353813538235383353843538535386353873538835389353903539135392353933539435395353963539735398353993540035401354023540335404354053540635407354083540935410354113541235413354143541535416354173541835419354203542135422354233542435425354263542735428354293543035431354323543335434354353543635437354383543935440354413544235443354443544535446354473544835449354503545135452354533545435455354563545735458354593546035461354623546335464354653546635467354683546935470354713547235473354743547535476354773547835479354803548135482354833548435485354863548735488354893549035491354923549335494354953549635497354983549935500355013550235503355043550535506355073550835509355103551135512355133551435515355163551735518355193552035521355223552335524355253552635527355283552935530355313553235533355343553535536355373553835539355403554135542355433554435545355463554735548355493555035551355523555335554355553555635557355583555935560355613556235563355643556535566355673556835569355703557135572355733557435575355763557735578355793558035581355823558335584355853558635587355883558935590355913559235593355943559535596355973559835599356003560135602356033560435605356063560735608356093561035611356123561335614356153561635617356183561935620356213562235623356243562535626356273562835629356303563135632356333563435635356363563735638356393564035641356423564335644356453564635647356483564935650356513565235653356543565535656356573565835659356603566135662356633566435665356663566735668356693567035671356723567335674356753567635677356783567935680356813568235683356843568535686356873568835689356903569135692356933569435695356963569735698356993570035701357023570335704357053570635707357083570935710357113571235713357143571535716357173571835719357203572135722357233572435725357263572735728357293573035731357323573335734357353573635737357383573935740357413574235743357443574535746357473574835749357503575135752357533575435755357563575735758357593576035761357623576335764357653576635767357683576935770357713577235773357743577535776357773577835779357803578135782357833578435785357863578735788357893579035791357923579335794357953579635797357983579935800358013580235803358043580535806358073580835809358103581135812358133581435815358163581735818358193582035821358223582335824358253582635827358283582935830358313583235833358343583535836358373583835839358403584135842358433584435845358463584735848358493585035851358523585335854358553585635857358583585935860358613586235863358643586535866358673586835869358703587135872358733587435875358763587735878358793588035881358823588335884358853588635887358883588935890358913589235893358943589535896358973589835899359003590135902359033590435905359063590735908359093591035911359123591335914359153591635917359183591935920359213592235923359243592535926359273592835929359303593135932359333593435935359363593735938359393594035941359423594335944359453594635947359483594935950359513595235953359543595535956359573595835959359603596135962359633596435965359663596735968359693597035971359723597335974359753597635977359783597935980359813598235983359843598535986359873598835989359903599135992359933599435995359963599735998359993600036001360023600336004360053600636007360083600936010360113601236013360143601536016360173601836019360203602136022360233602436025360263602736028360293603036031360323603336034360353603636037360383603936040360413604236043360443604536046360473604836049360503605136052360533605436055360563605736058360593606036061360623606336064360653606636067360683606936070360713607236073360743607536076360773607836079360803608136082360833608436085360863608736088360893609036091360923609336094360953609636097360983609936100361013610236103361043610536106361073610836109361103611136112361133611436115361163611736118361193612036121361223612336124361253612636127361283612936130361313613236133361343613536136361373613836139361403614136142361433614436145361463614736148361493615036151361523615336154361553615636157361583615936160361613616236163361643616536166361673616836169361703617136172361733617436175361763617736178361793618036181361823618336184361853618636187361883618936190361913619236193361943619536196361973619836199362003620136202362033620436205362063620736208362093621036211362123621336214362153621636217362183621936220362213622236223362243622536226362273622836229362303623136232362333623436235362363623736238362393624036241362423624336244362453624636247362483624936250362513625236253362543625536256362573625836259362603626136262362633626436265362663626736268362693627036271362723627336274362753627636277362783627936280362813628236283362843628536286362873628836289362903629136292362933629436295362963629736298362993630036301363023630336304363053630636307363083630936310363113631236313363143631536316363173631836319363203632136322363233632436325363263632736328363293633036331363323633336334363353633636337363383633936340363413634236343363443634536346363473634836349363503635136352363533635436355363563635736358363593636036361363623636336364363653636636367363683636936370363713637236373363743637536376363773637836379363803638136382363833638436385363863638736388363893639036391363923639336394363953639636397363983639936400364013640236403364043640536406364073640836409364103641136412364133641436415364163641736418364193642036421364223642336424364253642636427364283642936430364313643236433364343643536436364373643836439364403644136442364433644436445364463644736448364493645036451364523645336454364553645636457364583645936460364613646236463364643646536466364673646836469364703647136472364733647436475364763647736478364793648036481364823648336484364853648636487364883648936490364913649236493364943649536496364973649836499365003650136502365033650436505365063650736508365093651036511365123651336514365153651636517365183651936520365213652236523365243652536526365273652836529365303653136532365333653436535365363653736538365393654036541365423654336544365453654636547365483654936550365513655236553365543655536556365573655836559365603656136562365633656436565365663656736568365693657036571365723657336574365753657636577365783657936580365813658236583365843658536586365873658836589365903659136592365933659436595365963659736598365993660036601366023660336604366053660636607366083660936610366113661236613366143661536616366173661836619366203662136622366233662436625366263662736628366293663036631366323663336634366353663636637366383663936640366413664236643366443664536646366473664836649366503665136652366533665436655366563665736658366593666036661366623666336664366653666636667366683666936670366713667236673366743667536676366773667836679366803668136682366833668436685366863668736688366893669036691366923669336694366953669636697366983669936700367013670236703367043670536706367073670836709367103671136712367133671436715367163671736718367193672036721367223672336724367253672636727367283672936730367313673236733367343673536736367373673836739367403674136742367433674436745367463674736748367493675036751367523675336754367553675636757367583675936760367613676236763367643676536766367673676836769367703677136772367733677436775367763677736778367793678036781367823678336784367853678636787367883678936790367913679236793367943679536796367973679836799368003680136802368033680436805368063680736808368093681036811368123681336814368153681636817368183681936820368213682236823368243682536826368273682836829368303683136832368333683436835368363683736838368393684036841368423684336844368453684636847368483684936850368513685236853368543685536856368573685836859368603686136862368633686436865368663686736868368693687036871368723687336874368753687636877368783687936880368813688236883368843688536886368873688836889368903689136892368933689436895368963689736898368993690036901369023690336904369053690636907369083690936910369113691236913369143691536916369173691836919369203692136922369233692436925369263692736928369293693036931369323693336934369353693636937369383693936940369413694236943369443694536946369473694836949369503695136952369533695436955369563695736958369593696036961369623696336964369653696636967369683696936970369713697236973369743697536976369773697836979369803698136982369833698436985369863698736988369893699036991369923699336994369953699636997369983699937000370013700237003370043700537006370073700837009370103701137012370133701437015370163701737018370193702037021370223702337024370253702637027370283702937030370313703237033370343703537036370373703837039370403704137042370433704437045370463704737048370493705037051370523705337054370553705637057370583705937060370613706237063370643706537066370673706837069370703707137072370733707437075370763707737078370793708037081370823708337084370853708637087370883708937090370913709237093370943709537096370973709837099371003710137102371033710437105371063710737108371093711037111371123711337114371153711637117371183711937120371213712237123371243712537126371273712837129371303713137132371333713437135371363713737138371393714037141371423714337144371453714637147371483714937150371513715237153371543715537156371573715837159371603716137162371633716437165371663716737168371693717037171371723717337174371753717637177371783717937180371813718237183371843718537186371873718837189371903719137192371933719437195371963719737198371993720037201372023720337204372053720637207372083720937210372113721237213372143721537216372173721837219372203722137222372233722437225372263722737228372293723037231372323723337234372353723637237372383723937240372413724237243372443724537246372473724837249372503725137252372533725437255372563725737258372593726037261372623726337264372653726637267372683726937270372713727237273372743727537276372773727837279372803728137282372833728437285372863728737288372893729037291372923729337294372953729637297372983729937300373013730237303373043730537306373073730837309373103731137312373133731437315373163731737318373193732037321373223732337324373253732637327373283732937330373313733237333373343733537336373373733837339373403734137342373433734437345373463734737348373493735037351373523735337354373553735637357373583735937360373613736237363373643736537366373673736837369373703737137372373733737437375373763737737378373793738037381373823738337384373853738637387373883738937390373913739237393373943739537396373973739837399374003740137402374033740437405374063740737408374093741037411374123741337414374153741637417374183741937420374213742237423374243742537426374273742837429374303743137432374333743437435374363743737438374393744037441374423744337444374453744637447374483744937450374513745237453374543745537456374573745837459374603746137462374633746437465374663746737468374693747037471374723747337474374753747637477374783747937480374813748237483374843748537486374873748837489374903749137492374933749437495374963749737498374993750037501375023750337504375053750637507375083750937510375113751237513375143751537516375173751837519375203752137522375233752437525375263752737528375293753037531375323753337534375353753637537375383753937540375413754237543375443754537546375473754837549375503755137552375533755437555375563755737558375593756037561375623756337564375653756637567375683756937570375713757237573375743757537576375773757837579375803758137582375833758437585375863758737588375893759037591375923759337594375953759637597375983759937600376013760237603376043760537606376073760837609376103761137612376133761437615376163761737618376193762037621376223762337624376253762637627376283762937630376313763237633376343763537636376373763837639376403764137642376433764437645376463764737648376493765037651376523765337654376553765637657376583765937660376613766237663376643766537666376673766837669376703767137672376733767437675376763767737678376793768037681376823768337684376853768637687376883768937690376913769237693376943769537696376973769837699377003770137702377033770437705377063770737708377093771037711377123771337714377153771637717377183771937720377213772237723377243772537726377273772837729377303773137732377333773437735377363773737738377393774037741377423774337744377453774637747377483774937750377513775237753377543775537756377573775837759377603776137762377633776437765377663776737768377693777037771377723777337774377753777637777377783777937780377813778237783377843778537786377873778837789377903779137792377933779437795377963779737798377993780037801378023780337804378053780637807378083780937810378113781237813378143781537816378173781837819378203782137822378233782437825378263782737828378293783037831378323783337834378353783637837378383783937840378413784237843378443784537846378473784837849378503785137852378533785437855378563785737858378593786037861378623786337864378653786637867378683786937870378713787237873378743787537876378773787837879378803788137882378833788437885378863788737888378893789037891378923789337894378953789637897378983789937900379013790237903379043790537906379073790837909379103791137912379133791437915379163791737918379193792037921379223792337924379253792637927379283792937930379313793237933379343793537936379373793837939379403794137942379433794437945379463794737948379493795037951379523795337954379553795637957379583795937960379613796237963379643796537966379673796837969379703797137972379733797437975379763797737978379793798037981379823798337984379853798637987379883798937990379913799237993379943799537996379973799837999380003800138002380033800438005380063800738008380093801038011380123801338014380153801638017380183801938020380213802238023380243802538026380273802838029380303803138032380333803438035380363803738038380393804038041380423804338044380453804638047380483804938050380513805238053380543805538056380573805838059380603806138062380633806438065380663806738068380693807038071380723807338074380753807638077380783807938080380813808238083380843808538086380873808838089380903809138092380933809438095380963809738098380993810038101381023810338104381053810638107381083810938110381113811238113381143811538116381173811838119381203812138122381233812438125381263812738128381293813038131381323813338134381353813638137381383813938140381413814238143381443814538146381473814838149381503815138152381533815438155381563815738158381593816038161381623816338164381653816638167381683816938170381713817238173381743817538176381773817838179381803818138182381833818438185381863818738188381893819038191381923819338194381953819638197381983819938200382013820238203382043820538206382073820838209382103821138212382133821438215382163821738218382193822038221382223822338224382253822638227382283822938230382313823238233382343823538236382373823838239382403824138242382433824438245382463824738248382493825038251382523825338254382553825638257382583825938260382613826238263382643826538266382673826838269382703827138272382733827438275382763827738278382793828038281382823828338284382853828638287382883828938290382913829238293382943829538296382973829838299383003830138302383033830438305383063830738308383093831038311383123831338314383153831638317383183831938320383213832238323383243832538326383273832838329383303833138332383333833438335383363833738338383393834038341383423834338344383453834638347383483834938350383513835238353383543835538356383573835838359383603836138362383633836438365383663836738368383693837038371383723837338374383753837638377383783837938380383813838238383383843838538386383873838838389383903839138392383933839438395383963839738398383993840038401384023840338404384053840638407384083840938410384113841238413384143841538416384173841838419384203842138422384233842438425384263842738428384293843038431384323843338434384353843638437384383843938440384413844238443384443844538446384473844838449384503845138452384533845438455384563845738458384593846038461384623846338464384653846638467384683846938470384713847238473384743847538476384773847838479384803848138482384833848438485384863848738488384893849038491384923849338494384953849638497384983849938500385013850238503385043850538506385073850838509385103851138512385133851438515385163851738518385193852038521385223852338524385253852638527385283852938530385313853238533385343853538536385373853838539385403854138542385433854438545385463854738548385493855038551385523855338554385553855638557385583855938560385613856238563385643856538566385673856838569385703857138572385733857438575385763857738578385793858038581385823858338584385853858638587385883858938590385913859238593385943859538596385973859838599386003860138602386033860438605386063860738608386093861038611386123861338614386153861638617386183861938620386213862238623386243862538626386273862838629386303863138632386333863438635386363863738638386393864038641386423864338644386453864638647386483864938650386513865238653386543865538656386573865838659386603866138662386633866438665386663866738668386693867038671386723867338674386753867638677386783867938680386813868238683386843868538686386873868838689386903869138692386933869438695386963869738698386993870038701387023870338704387053870638707387083870938710387113871238713387143871538716387173871838719387203872138722387233872438725387263872738728387293873038731387323873338734387353873638737387383873938740387413874238743387443874538746387473874838749387503875138752387533875438755387563875738758387593876038761387623876338764387653876638767387683876938770387713877238773387743877538776387773877838779387803878138782387833878438785387863878738788387893879038791387923879338794387953879638797387983879938800388013880238803388043880538806388073880838809388103881138812388133881438815388163881738818388193882038821388223882338824388253882638827388283882938830388313883238833388343883538836388373883838839388403884138842388433884438845388463884738848388493885038851388523885338854388553885638857388583885938860388613886238863388643886538866388673886838869388703887138872388733887438875388763887738878388793888038881388823888338884388853888638887388883888938890388913889238893388943889538896388973889838899389003890138902389033890438905389063890738908389093891038911389123891338914389153891638917389183891938920389213892238923389243892538926389273892838929389303893138932389333893438935389363893738938389393894038941389423894338944389453894638947389483894938950389513895238953389543895538956389573895838959389603896138962389633896438965389663896738968389693897038971389723897338974389753897638977389783897938980389813898238983389843898538986389873898838989389903899138992389933899438995389963899738998389993900039001390023900339004390053900639007390083900939010390113901239013390143901539016390173901839019390203902139022390233902439025390263902739028390293903039031390323903339034390353903639037390383903939040390413904239043390443904539046390473904839049390503905139052390533905439055390563905739058390593906039061390623906339064390653906639067390683906939070390713907239073390743907539076390773907839079390803908139082390833908439085390863908739088390893909039091390923909339094390953909639097390983909939100391013910239103391043910539106391073910839109391103911139112391133911439115391163911739118391193912039121391223912339124391253912639127391283912939130391313913239133391343913539136391373913839139391403914139142391433914439145391463914739148391493915039151391523915339154391553915639157391583915939160391613916239163391643916539166391673916839169391703917139172391733917439175391763917739178391793918039181391823918339184391853918639187391883918939190391913919239193391943919539196391973919839199392003920139202392033920439205392063920739208392093921039211392123921339214392153921639217392183921939220392213922239223392243922539226392273922839229392303923139232392333923439235392363923739238392393924039241392423924339244392453924639247392483924939250392513925239253392543925539256392573925839259392603926139262392633926439265392663926739268392693927039271392723927339274392753927639277392783927939280392813928239283392843928539286392873928839289392903929139292392933929439295392963929739298392993930039301393023930339304393053930639307393083930939310393113931239313393143931539316393173931839319393203932139322393233932439325393263932739328393293933039331393323933339334393353933639337393383933939340393413934239343393443934539346393473934839349393503935139352393533935439355393563935739358393593936039361393623936339364393653936639367393683936939370393713937239373393743937539376393773937839379393803938139382393833938439385393863938739388393893939039391393923939339394393953939639397393983939939400394013940239403394043940539406394073940839409394103941139412394133941439415394163941739418394193942039421394223942339424394253942639427394283942939430394313943239433394343943539436394373943839439394403944139442394433944439445394463944739448394493945039451394523945339454394553945639457394583945939460394613946239463394643946539466394673946839469394703947139472394733947439475394763947739478394793948039481394823948339484394853948639487394883948939490394913949239493394943949539496394973949839499395003950139502395033950439505395063950739508395093951039511395123951339514395153951639517395183951939520395213952239523395243952539526395273952839529395303953139532395333953439535395363953739538395393954039541395423954339544395453954639547395483954939550395513955239553395543955539556395573955839559395603956139562395633956439565395663956739568395693957039571395723957339574395753957639577395783957939580395813958239583395843958539586395873958839589395903959139592395933959439595395963959739598395993960039601396023960339604396053960639607396083960939610396113961239613396143961539616396173961839619396203962139622396233962439625396263962739628396293963039631396323963339634396353963639637396383963939640396413964239643396443964539646396473964839649396503965139652396533965439655396563965739658396593966039661396623966339664396653966639667396683966939670396713967239673396743967539676396773967839679396803968139682396833968439685396863968739688396893969039691396923969339694396953969639697396983969939700397013970239703397043970539706397073970839709397103971139712397133971439715397163971739718397193972039721397223972339724397253972639727397283972939730397313973239733397343973539736397373973839739397403974139742397433974439745397463974739748397493975039751397523975339754397553975639757397583975939760397613976239763397643976539766397673976839769397703977139772397733977439775397763977739778397793978039781397823978339784397853978639787397883978939790397913979239793397943979539796397973979839799398003980139802398033980439805398063980739808398093981039811398123981339814398153981639817398183981939820398213982239823398243982539826398273982839829398303983139832398333983439835398363983739838398393984039841398423984339844398453984639847398483984939850398513985239853398543985539856398573985839859398603986139862398633986439865398663986739868398693987039871398723987339874398753987639877398783987939880398813988239883398843988539886398873988839889398903989139892398933989439895398963989739898398993990039901399023990339904399053990639907399083990939910399113991239913399143991539916399173991839919399203992139922399233992439925399263992739928399293993039931399323993339934399353993639937399383993939940399413994239943399443994539946399473994839949399503995139952399533995439955399563995739958399593996039961399623996339964399653996639967399683996939970399713997239973399743997539976399773997839979399803998139982399833998439985399863998739988399893999039991399923999339994399953999639997399983999940000400014000240003400044000540006400074000840009400104001140012400134001440015400164001740018400194002040021400224002340024400254002640027400284002940030400314003240033400344003540036400374003840039400404004140042400434004440045400464004740048400494005040051400524005340054400554005640057400584005940060400614006240063400644006540066400674006840069400704007140072400734007440075400764007740078400794008040081400824008340084400854008640087400884008940090400914009240093400944009540096400974009840099401004010140102401034010440105401064010740108401094011040111401124011340114401154011640117401184011940120401214012240123401244012540126401274012840129401304013140132401334013440135401364013740138401394014040141401424014340144401454014640147401484014940150401514015240153401544015540156401574015840159401604016140162401634016440165401664016740168401694017040171401724017340174401754017640177401784017940180401814018240183401844018540186401874018840189401904019140192401934019440195401964019740198401994020040201402024020340204402054020640207402084020940210402114021240213402144021540216402174021840219402204022140222402234022440225402264022740228402294023040231402324023340234402354023640237402384023940240402414024240243402444024540246402474024840249402504025140252402534025440255402564025740258402594026040261402624026340264402654026640267402684026940270402714027240273402744027540276402774027840279402804028140282402834028440285402864028740288402894029040291402924029340294402954029640297402984029940300403014030240303403044030540306403074030840309403104031140312403134031440315403164031740318403194032040321403224032340324403254032640327403284032940330403314033240333403344033540336403374033840339403404034140342403434034440345403464034740348403494035040351403524035340354403554035640357403584035940360403614036240363403644036540366403674036840369403704037140372403734037440375403764037740378403794038040381403824038340384403854038640387403884038940390403914039240393403944039540396403974039840399404004040140402404034040440405404064040740408404094041040411404124041340414404154041640417404184041940420404214042240423404244042540426404274042840429404304043140432404334043440435404364043740438404394044040441404424044340444404454044640447404484044940450404514045240453404544045540456404574045840459404604046140462404634046440465404664046740468404694047040471404724047340474404754047640477404784047940480404814048240483404844048540486404874048840489404904049140492404934049440495404964049740498404994050040501405024050340504405054050640507405084050940510405114051240513405144051540516405174051840519405204052140522405234052440525405264052740528405294053040531405324053340534405354053640537405384053940540405414054240543405444054540546405474054840549405504055140552405534055440555405564055740558405594056040561405624056340564405654056640567405684056940570405714057240573405744057540576405774057840579405804058140582405834058440585405864058740588405894059040591405924059340594405954059640597405984059940600406014060240603406044060540606406074060840609406104061140612406134061440615406164061740618406194062040621406224062340624406254062640627406284062940630406314063240633406344063540636406374063840639406404064140642406434064440645406464064740648406494065040651406524065340654406554065640657406584065940660406614066240663406644066540666406674066840669406704067140672406734067440675406764067740678406794068040681406824068340684406854068640687406884068940690406914069240693406944069540696406974069840699407004070140702407034070440705407064070740708407094071040711407124071340714407154071640717407184071940720407214072240723407244072540726407274072840729407304073140732407334073440735407364073740738407394074040741407424074340744407454074640747407484074940750407514075240753407544075540756407574075840759407604076140762407634076440765407664076740768407694077040771407724077340774407754077640777407784077940780407814078240783407844078540786407874078840789407904079140792407934079440795407964079740798407994080040801408024080340804408054080640807408084080940810408114081240813408144081540816408174081840819408204082140822408234082440825408264082740828408294083040831408324083340834408354083640837408384083940840408414084240843408444084540846408474084840849408504085140852408534085440855408564085740858408594086040861408624086340864408654086640867408684086940870408714087240873408744087540876408774087840879408804088140882408834088440885408864088740888408894089040891408924089340894408954089640897408984089940900409014090240903409044090540906409074090840909409104091140912409134091440915409164091740918409194092040921409224092340924409254092640927409284092940930409314093240933409344093540936409374093840939409404094140942409434094440945409464094740948409494095040951409524095340954409554095640957409584095940960409614096240963409644096540966409674096840969409704097140972409734097440975409764097740978409794098040981409824098340984409854098640987409884098940990409914099240993409944099540996409974099840999410004100141002410034100441005410064100741008410094101041011410124101341014410154101641017410184101941020410214102241023410244102541026410274102841029410304103141032410334103441035410364103741038410394104041041410424104341044410454104641047410484104941050410514105241053410544105541056410574105841059410604106141062410634106441065410664106741068410694107041071410724107341074410754107641077410784107941080410814108241083410844108541086410874108841089410904109141092410934109441095410964109741098410994110041101411024110341104411054110641107411084110941110411114111241113411144111541116411174111841119411204112141122411234112441125411264112741128411294113041131411324113341134411354113641137411384113941140411414114241143411444114541146411474114841149411504115141152411534115441155411564115741158411594116041161411624116341164411654116641167411684116941170411714117241173411744117541176411774117841179411804118141182411834118441185411864118741188411894119041191411924119341194411954119641197411984119941200412014120241203412044120541206412074120841209412104121141212412134121441215412164121741218412194122041221412224122341224412254122641227412284122941230412314123241233412344123541236412374123841239412404124141242412434124441245412464124741248412494125041251412524125341254412554125641257412584125941260412614126241263412644126541266412674126841269412704127141272412734127441275412764127741278412794128041281412824128341284412854128641287412884128941290412914129241293412944129541296412974129841299413004130141302413034130441305413064130741308413094131041311413124131341314413154131641317413184131941320413214132241323413244132541326413274132841329413304133141332413334133441335413364133741338413394134041341413424134341344413454134641347413484134941350413514135241353413544135541356413574135841359413604136141362413634136441365413664136741368413694137041371413724137341374413754137641377413784137941380413814138241383413844138541386413874138841389413904139141392413934139441395413964139741398413994140041401414024140341404414054140641407414084140941410414114141241413414144141541416414174141841419414204142141422414234142441425414264142741428414294143041431414324143341434414354143641437414384143941440414414144241443414444144541446414474144841449414504145141452414534145441455414564145741458414594146041461414624146341464414654146641467414684146941470414714147241473414744147541476414774147841479414804148141482414834148441485414864148741488414894149041491414924149341494414954149641497414984149941500415014150241503415044150541506415074150841509415104151141512415134151441515415164151741518415194152041521415224152341524415254152641527415284152941530415314153241533415344153541536415374153841539415404154141542415434154441545415464154741548415494155041551415524155341554415554155641557415584155941560415614156241563415644156541566415674156841569415704157141572415734157441575415764157741578415794158041581415824158341584415854158641587415884158941590415914159241593415944159541596415974159841599416004160141602416034160441605416064160741608416094161041611416124161341614416154161641617416184161941620416214162241623416244162541626416274162841629416304163141632416334163441635416364163741638416394164041641416424164341644416454164641647416484164941650416514165241653416544165541656416574165841659416604166141662416634166441665416664166741668416694167041671416724167341674416754167641677416784167941680416814168241683416844168541686416874168841689416904169141692416934169441695416964169741698416994170041701417024170341704417054170641707417084170941710417114171241713417144171541716417174171841719417204172141722417234172441725417264172741728417294173041731417324173341734417354173641737417384173941740417414174241743417444174541746417474174841749417504175141752417534175441755417564175741758417594176041761417624176341764417654176641767417684176941770417714177241773417744177541776417774177841779417804178141782417834178441785417864178741788417894179041791417924179341794417954179641797417984179941800418014180241803418044180541806418074180841809418104181141812418134181441815418164181741818418194182041821418224182341824418254182641827418284182941830418314183241833418344183541836418374183841839418404184141842418434184441845418464184741848418494185041851418524185341854418554185641857418584185941860418614186241863418644186541866418674186841869418704187141872418734187441875418764187741878418794188041881418824188341884418854188641887418884188941890418914189241893418944189541896418974189841899419004190141902419034190441905419064190741908419094191041911419124191341914419154191641917419184191941920419214192241923419244192541926419274192841929419304193141932419334193441935419364193741938419394194041941419424194341944419454194641947419484194941950419514195241953419544195541956419574195841959419604196141962419634196441965419664196741968419694197041971419724197341974419754197641977419784197941980419814198241983419844198541986419874198841989419904199141992419934199441995419964199741998419994200042001420024200342004420054200642007420084200942010420114201242013420144201542016420174201842019420204202142022420234202442025420264202742028420294203042031420324203342034420354203642037420384203942040420414204242043420444204542046420474204842049420504205142052420534205442055420564205742058420594206042061420624206342064420654206642067420684206942070420714207242073420744207542076420774207842079420804208142082420834208442085420864208742088420894209042091420924209342094420954209642097420984209942100421014210242103421044210542106421074210842109421104211142112421134211442115421164211742118421194212042121421224212342124421254212642127421284212942130421314213242133421344213542136421374213842139421404214142142421434214442145421464214742148421494215042151421524215342154421554215642157421584215942160421614216242163421644216542166421674216842169421704217142172421734217442175421764217742178421794218042181421824218342184421854218642187421884218942190421914219242193421944219542196421974219842199422004220142202422034220442205422064220742208422094221042211422124221342214422154221642217422184221942220422214222242223422244222542226422274222842229422304223142232422334223442235422364223742238422394224042241422424224342244422454224642247422484224942250422514225242253422544225542256422574225842259422604226142262422634226442265422664226742268422694227042271422724227342274422754227642277422784227942280422814228242283422844228542286422874228842289422904229142292422934229442295422964229742298422994230042301423024230342304423054230642307423084230942310423114231242313423144231542316423174231842319423204232142322423234232442325423264232742328423294233042331423324233342334423354233642337423384233942340423414234242343423444234542346423474234842349423504235142352423534235442355423564235742358423594236042361423624236342364423654236642367423684236942370423714237242373423744237542376423774237842379423804238142382423834238442385423864238742388423894239042391423924239342394423954239642397423984239942400424014240242403424044240542406424074240842409424104241142412424134241442415424164241742418424194242042421424224242342424424254242642427424284242942430424314243242433424344243542436424374243842439424404244142442424434244442445424464244742448424494245042451424524245342454424554245642457424584245942460424614246242463424644246542466424674246842469424704247142472424734247442475424764247742478424794248042481424824248342484424854248642487424884248942490424914249242493424944249542496424974249842499425004250142502425034250442505425064250742508425094251042511425124251342514425154251642517425184251942520425214252242523425244252542526425274252842529425304253142532425334253442535425364253742538425394254042541425424254342544425454254642547425484254942550425514255242553425544255542556425574255842559425604256142562425634256442565425664256742568425694257042571425724257342574425754257642577425784257942580425814258242583425844258542586425874258842589425904259142592425934259442595425964259742598425994260042601426024260342604426054260642607426084260942610426114261242613426144261542616426174261842619426204262142622426234262442625426264262742628426294263042631426324263342634426354263642637426384263942640426414264242643426444264542646426474264842649426504265142652426534265442655426564265742658426594266042661426624266342664426654266642667426684266942670426714267242673426744267542676426774267842679426804268142682426834268442685426864268742688426894269042691426924269342694426954269642697426984269942700427014270242703427044270542706427074270842709427104271142712427134271442715427164271742718427194272042721427224272342724427254272642727427284272942730427314273242733427344273542736427374273842739427404274142742427434274442745427464274742748427494275042751427524275342754427554275642757427584275942760427614276242763427644276542766427674276842769427704277142772427734277442775427764277742778427794278042781427824278342784427854278642787427884278942790427914279242793427944279542796427974279842799428004280142802428034280442805428064280742808428094281042811428124281342814428154281642817428184281942820428214282242823428244282542826428274282842829428304283142832428334283442835428364283742838428394284042841428424284342844428454284642847428484284942850428514285242853428544285542856428574285842859428604286142862428634286442865428664286742868428694287042871428724287342874428754287642877428784287942880428814288242883428844288542886428874288842889428904289142892428934289442895428964289742898428994290042901429024290342904429054290642907429084290942910429114291242913429144291542916429174291842919429204292142922429234292442925429264292742928429294293042931429324293342934429354293642937429384293942940429414294242943429444294542946429474294842949429504295142952429534295442955429564295742958429594296042961429624296342964429654296642967429684296942970429714297242973429744297542976429774297842979429804298142982429834298442985429864298742988429894299042991429924299342994429954299642997429984299943000430014300243003430044300543006430074300843009430104301143012430134301443015430164301743018430194302043021430224302343024430254302643027430284302943030430314303243033430344303543036430374303843039430404304143042430434304443045430464304743048430494305043051430524305343054430554305643057430584305943060430614306243063430644306543066430674306843069430704307143072430734307443075430764307743078430794308043081430824308343084430854308643087430884308943090430914309243093430944309543096430974309843099431004310143102431034310443105431064310743108431094311043111431124311343114431154311643117431184311943120431214312243123431244312543126431274312843129431304313143132431334313443135431364313743138431394314043141431424314343144431454314643147431484314943150431514315243153431544315543156431574315843159431604316143162431634316443165431664316743168431694317043171431724317343174431754317643177431784317943180431814318243183431844318543186431874318843189431904319143192431934319443195431964319743198431994320043201432024320343204432054320643207432084320943210432114321243213432144321543216432174321843219432204322143222432234322443225432264322743228432294323043231432324323343234432354323643237432384323943240432414324243243432444324543246432474324843249432504325143252432534325443255432564325743258432594326043261432624326343264432654326643267432684326943270432714327243273432744327543276432774327843279432804328143282432834328443285432864328743288432894329043291432924329343294432954329643297432984329943300433014330243303433044330543306433074330843309433104331143312433134331443315433164331743318433194332043321433224332343324433254332643327433284332943330433314333243333433344333543336433374333843339433404334143342433434334443345433464334743348433494335043351433524335343354433554335643357433584335943360433614336243363433644336543366433674336843369433704337143372433734337443375433764337743378433794338043381433824338343384433854338643387433884338943390433914339243393433944339543396433974339843399434004340143402434034340443405434064340743408434094341043411434124341343414434154341643417434184341943420434214342243423434244342543426434274342843429434304343143432434334343443435434364343743438434394344043441434424344343444434454344643447434484344943450434514345243453434544345543456434574345843459434604346143462434634346443465434664346743468434694347043471434724347343474434754347643477434784347943480434814348243483434844348543486434874348843489434904349143492434934349443495434964349743498434994350043501435024350343504435054350643507435084350943510435114351243513435144351543516435174351843519435204352143522435234352443525435264352743528435294353043531435324353343534435354353643537435384353943540435414354243543435444354543546435474354843549435504355143552435534355443555435564355743558435594356043561435624356343564435654356643567435684356943570435714357243573435744357543576435774357843579435804358143582435834358443585435864358743588435894359043591435924359343594435954359643597435984359943600436014360243603436044360543606436074360843609436104361143612436134361443615436164361743618436194362043621436224362343624436254362643627436284362943630436314363243633436344363543636436374363843639436404364143642436434364443645436464364743648436494365043651436524365343654436554365643657436584365943660436614366243663436644366543666436674366843669436704367143672436734367443675436764367743678436794368043681436824368343684436854368643687436884368943690436914369243693436944369543696436974369843699437004370143702437034370443705437064370743708437094371043711437124371343714437154371643717437184371943720437214372243723437244372543726437274372843729437304373143732437334373443735437364373743738437394374043741437424374343744437454374643747437484374943750437514375243753437544375543756437574375843759437604376143762437634376443765437664376743768437694377043771437724377343774437754377643777437784377943780437814378243783437844378543786437874378843789437904379143792437934379443795437964379743798437994380043801438024380343804438054380643807438084380943810438114381243813438144381543816438174381843819438204382143822438234382443825438264382743828438294383043831438324383343834438354383643837438384383943840438414384243843438444384543846438474384843849438504385143852438534385443855438564385743858438594386043861438624386343864438654386643867438684386943870438714387243873438744387543876438774387843879438804388143882438834388443885438864388743888438894389043891438924389343894438954389643897438984389943900439014390243903439044390543906439074390843909439104391143912439134391443915439164391743918439194392043921439224392343924439254392643927439284392943930439314393243933439344393543936439374393843939439404394143942439434394443945439464394743948439494395043951439524395343954439554395643957439584395943960439614396243963439644396543966439674396843969439704397143972439734397443975439764397743978439794398043981439824398343984439854398643987439884398943990439914399243993439944399543996439974399843999440004400144002440034400444005440064400744008440094401044011440124401344014440154401644017440184401944020440214402244023440244402544026440274402844029440304403144032440334403444035440364403744038440394404044041440424404344044440454404644047440484404944050440514405244053440544405544056440574405844059440604406144062440634406444065440664406744068440694407044071440724407344074440754407644077440784407944080440814408244083440844408544086440874408844089440904409144092440934409444095440964409744098440994410044101441024410344104441054410644107441084410944110441114411244113441144411544116441174411844119441204412144122441234412444125441264412744128441294413044131441324413344134441354413644137441384413944140441414414244143441444414544146441474414844149441504415144152441534415444155441564415744158441594416044161441624416344164441654416644167441684416944170441714417244173441744417544176441774417844179441804418144182441834418444185441864418744188441894419044191441924419344194441954419644197441984419944200442014420244203442044420544206442074420844209442104421144212442134421444215442164421744218442194422044221442224422344224442254422644227442284422944230442314423244233442344423544236442374423844239442404424144242442434424444245442464424744248442494425044251442524425344254442554425644257442584425944260442614426244263442644426544266442674426844269442704427144272442734427444275442764427744278442794428044281442824428344284442854428644287442884428944290442914429244293442944429544296442974429844299443004430144302443034430444305443064430744308443094431044311443124431344314443154431644317443184431944320443214432244323443244432544326443274432844329443304433144332443334433444335443364433744338443394434044341443424434344344443454434644347443484434944350443514435244353443544435544356443574435844359443604436144362443634436444365443664436744368443694437044371443724437344374443754437644377443784437944380443814438244383443844438544386443874438844389443904439144392443934439444395443964439744398443994440044401444024440344404444054440644407444084440944410444114441244413444144441544416444174441844419444204442144422444234442444425444264442744428444294443044431444324443344434444354443644437444384443944440444414444244443444444444544446444474444844449444504445144452444534445444455444564445744458444594446044461444624446344464444654446644467444684446944470444714447244473444744447544476444774447844479444804448144482444834448444485444864448744488444894449044491444924449344494444954449644497444984449944500445014450244503445044450544506445074450844509445104451144512445134451444515445164451744518445194452044521445224452344524445254452644527445284452944530445314453244533445344453544536445374453844539445404454144542445434454444545445464454744548445494455044551445524455344554445554455644557445584455944560445614456244563445644456544566445674456844569445704457144572445734457444575445764457744578445794458044581445824458344584445854458644587445884458944590445914459244593445944459544596445974459844599446004460144602446034460444605446064460744608446094461044611446124461344614446154461644617446184461944620446214462244623446244462544626446274462844629446304463144632446334463444635446364463744638446394464044641446424464344644446454464644647446484464944650446514465244653446544465544656446574465844659446604466144662446634466444665446664466744668446694467044671446724467344674446754467644677446784467944680446814468244683446844468544686446874468844689446904469144692446934469444695446964469744698446994470044701447024470344704447054470644707447084470944710447114471244713447144471544716447174471844719447204472144722447234472444725447264472744728447294473044731447324473344734447354473644737447384473944740447414474244743447444474544746447474474844749447504475144752447534475444755447564475744758447594476044761447624476344764447654476644767447684476944770447714477244773447744477544776447774477844779447804478144782447834478444785447864478744788447894479044791447924479344794447954479644797447984479944800448014480244803448044480544806448074480844809448104481144812448134481444815448164481744818448194482044821448224482344824448254482644827448284482944830448314483244833448344483544836448374483844839448404484144842448434484444845448464484744848448494485044851448524485344854448554485644857448584485944860448614486244863448644486544866448674486844869448704487144872448734487444875448764487744878448794488044881448824488344884448854488644887448884488944890448914489244893448944489544896448974489844899449004490144902449034490444905449064490744908449094491044911449124491344914449154491644917449184491944920449214492244923449244492544926449274492844929449304493144932449334493444935449364493744938449394494044941449424494344944449454494644947449484494944950449514495244953449544495544956449574495844959449604496144962449634496444965449664496744968449694497044971449724497344974449754497644977449784497944980449814498244983449844498544986449874498844989449904499144992449934499444995449964499744998449994500045001450024500345004450054500645007450084500945010450114501245013450144501545016450174501845019450204502145022450234502445025450264502745028450294503045031450324503345034450354503645037450384503945040450414504245043450444504545046450474504845049450504505145052450534505445055450564505745058450594506045061450624506345064450654506645067450684506945070450714507245073450744507545076450774507845079450804508145082450834508445085450864508745088450894509045091450924509345094450954509645097450984509945100451014510245103451044510545106451074510845109451104511145112451134511445115451164511745118451194512045121451224512345124451254512645127451284512945130451314513245133451344513545136451374513845139451404514145142451434514445145451464514745148451494515045151451524515345154451554515645157451584515945160451614516245163451644516545166451674516845169451704517145172451734517445175451764517745178451794518045181451824518345184451854518645187451884518945190451914519245193451944519545196451974519845199452004520145202452034520445205452064520745208452094521045211452124521345214452154521645217452184521945220452214522245223452244522545226452274522845229452304523145232452334523445235452364523745238452394524045241452424524345244452454524645247452484524945250452514525245253452544525545256452574525845259452604526145262452634526445265452664526745268452694527045271452724527345274452754527645277452784527945280452814528245283452844528545286452874528845289452904529145292452934529445295452964529745298452994530045301453024530345304453054530645307453084530945310453114531245313453144531545316453174531845319453204532145322453234532445325453264532745328453294533045331453324533345334453354533645337453384533945340453414534245343453444534545346453474534845349453504535145352453534535445355453564535745358453594536045361453624536345364453654536645367453684536945370453714537245373453744537545376453774537845379453804538145382453834538445385453864538745388453894539045391453924539345394453954539645397453984539945400454014540245403454044540545406454074540845409454104541145412454134541445415454164541745418454194542045421454224542345424454254542645427454284542945430454314543245433454344543545436454374543845439454404544145442454434544445445454464544745448454494545045451454524545345454454554545645457454584545945460454614546245463454644546545466454674546845469454704547145472454734547445475454764547745478454794548045481454824548345484454854548645487454884548945490454914549245493454944549545496454974549845499455004550145502455034550445505455064550745508455094551045511455124551345514455154551645517455184551945520455214552245523455244552545526455274552845529455304553145532455334553445535455364553745538455394554045541455424554345544455454554645547455484554945550455514555245553455544555545556455574555845559455604556145562455634556445565455664556745568455694557045571455724557345574455754557645577455784557945580455814558245583455844558545586455874558845589455904559145592455934559445595455964559745598455994560045601456024560345604456054560645607456084560945610456114561245613456144561545616456174561845619456204562145622456234562445625456264562745628456294563045631456324563345634456354563645637456384563945640456414564245643456444564545646456474564845649456504565145652456534565445655456564565745658456594566045661456624566345664456654566645667456684566945670456714567245673456744567545676456774567845679456804568145682456834568445685456864568745688456894569045691456924569345694456954569645697456984569945700457014570245703457044570545706457074570845709457104571145712457134571445715457164571745718457194572045721457224572345724457254572645727457284572945730457314573245733457344573545736457374573845739457404574145742457434574445745457464574745748457494575045751457524575345754457554575645757457584575945760457614576245763457644576545766457674576845769457704577145772457734577445775457764577745778457794578045781457824578345784457854578645787457884578945790457914579245793457944579545796457974579845799458004580145802458034580445805458064580745808458094581045811458124581345814458154581645817458184581945820458214582245823458244582545826458274582845829458304583145832458334583445835458364583745838458394584045841458424584345844458454584645847458484584945850458514585245853458544585545856458574585845859458604586145862458634586445865458664586745868458694587045871458724587345874458754587645877458784587945880458814588245883458844588545886458874588845889458904589145892458934589445895458964589745898458994590045901459024590345904459054590645907459084590945910459114591245913459144591545916459174591845919459204592145922459234592445925459264592745928459294593045931459324593345934459354593645937459384593945940459414594245943459444594545946459474594845949459504595145952459534595445955459564595745958459594596045961459624596345964459654596645967459684596945970459714597245973459744597545976459774597845979459804598145982459834598445985459864598745988459894599045991459924599345994459954599645997459984599946000460014600246003460044600546006460074600846009460104601146012460134601446015460164601746018460194602046021460224602346024460254602646027460284602946030460314603246033460344603546036460374603846039460404604146042460434604446045460464604746048460494605046051460524605346054460554605646057460584605946060460614606246063460644606546066460674606846069460704607146072460734607446075460764607746078460794608046081460824608346084460854608646087460884608946090460914609246093460944609546096460974609846099461004610146102461034610446105461064610746108461094611046111461124611346114461154611646117461184611946120461214612246123461244612546126461274612846129461304613146132461334613446135461364613746138461394614046141461424614346144461454614646147461484614946150461514615246153461544615546156461574615846159461604616146162461634616446165461664616746168461694617046171461724617346174461754617646177461784617946180461814618246183461844618546186461874618846189461904619146192461934619446195461964619746198461994620046201462024620346204462054620646207462084620946210462114621246213462144621546216462174621846219462204622146222462234622446225462264622746228462294623046231462324623346234462354623646237462384623946240462414624246243462444624546246462474624846249462504625146252462534625446255462564625746258462594626046261462624626346264462654626646267462684626946270462714627246273462744627546276462774627846279462804628146282462834628446285462864628746288462894629046291462924629346294462954629646297462984629946300463014630246303463044630546306463074630846309463104631146312463134631446315463164631746318463194632046321463224632346324463254632646327463284632946330463314633246333463344633546336463374633846339463404634146342463434634446345463464634746348463494635046351463524635346354463554635646357463584635946360463614636246363463644636546366463674636846369463704637146372463734637446375463764637746378463794638046381463824638346384463854638646387463884638946390463914639246393463944639546396463974639846399464004640146402464034640446405464064640746408464094641046411464124641346414464154641646417464184641946420464214642246423464244642546426464274642846429464304643146432464334643446435464364643746438464394644046441464424644346444464454644646447464484644946450464514645246453464544645546456464574645846459464604646146462464634646446465464664646746468464694647046471464724647346474464754647646477464784647946480464814648246483464844648546486464874648846489464904649146492464934649446495464964649746498464994650046501465024650346504465054650646507465084650946510465114651246513465144651546516465174651846519465204652146522465234652446525465264652746528465294653046531465324653346534465354653646537465384653946540465414654246543465444654546546465474654846549465504655146552465534655446555465564655746558465594656046561465624656346564465654656646567465684656946570465714657246573465744657546576465774657846579465804658146582465834658446585465864658746588465894659046591465924659346594465954659646597465984659946600466014660246603466044660546606466074660846609466104661146612466134661446615466164661746618466194662046621466224662346624466254662646627466284662946630466314663246633466344663546636466374663846639466404664146642466434664446645466464664746648466494665046651466524665346654466554665646657466584665946660466614666246663466644666546666466674666846669466704667146672466734667446675466764667746678466794668046681466824668346684466854668646687466884668946690466914669246693466944669546696466974669846699467004670146702467034670446705467064670746708467094671046711467124671346714467154671646717467184671946720467214672246723467244672546726467274672846729467304673146732467334673446735467364673746738467394674046741467424674346744467454674646747467484674946750467514675246753467544675546756467574675846759467604676146762467634676446765467664676746768467694677046771467724677346774467754677646777467784677946780467814678246783467844678546786467874678846789467904679146792467934679446795467964679746798467994680046801468024680346804468054680646807468084680946810468114681246813468144681546816468174681846819468204682146822468234682446825468264682746828468294683046831468324683346834468354683646837468384683946840468414684246843468444684546846468474684846849468504685146852468534685446855468564685746858468594686046861468624686346864468654686646867468684686946870468714687246873468744687546876468774687846879468804688146882468834688446885468864688746888468894689046891468924689346894468954689646897468984689946900469014690246903469044690546906469074690846909469104691146912469134691446915469164691746918469194692046921469224692346924469254692646927469284692946930469314693246933469344693546936469374693846939469404694146942469434694446945469464694746948469494695046951469524695346954469554695646957469584695946960469614696246963469644696546966469674696846969469704697146972469734697446975469764697746978469794698046981469824698346984469854698646987469884698946990469914699246993469944699546996469974699846999470004700147002470034700447005470064700747008470094701047011470124701347014470154701647017470184701947020470214702247023470244702547026470274702847029470304703147032470334703447035470364703747038470394704047041470424704347044470454704647047470484704947050470514705247053470544705547056470574705847059470604706147062470634706447065470664706747068470694707047071470724707347074470754707647077470784707947080470814708247083470844708547086470874708847089470904709147092470934709447095470964709747098470994710047101471024710347104471054710647107471084710947110471114711247113471144711547116471174711847119471204712147122471234712447125471264712747128471294713047131471324713347134471354713647137471384713947140471414714247143471444714547146471474714847149471504715147152471534715447155471564715747158471594716047161471624716347164471654716647167471684716947170471714717247173471744717547176471774717847179471804718147182471834718447185471864718747188471894719047191471924719347194471954719647197471984719947200472014720247203472044720547206472074720847209472104721147212472134721447215472164721747218472194722047221472224722347224472254722647227472284722947230472314723247233472344723547236472374723847239472404724147242472434724447245472464724747248472494725047251472524725347254472554725647257472584725947260472614726247263472644726547266472674726847269472704727147272472734727447275472764727747278472794728047281472824728347284472854728647287472884728947290472914729247293472944729547296472974729847299473004730147302473034730447305473064730747308473094731047311473124731347314473154731647317473184731947320473214732247323473244732547326473274732847329473304733147332473334733447335473364733747338473394734047341473424734347344473454734647347473484734947350473514735247353473544735547356473574735847359473604736147362473634736447365473664736747368473694737047371473724737347374473754737647377473784737947380473814738247383473844738547386473874738847389473904739147392473934739447395473964739747398473994740047401474024740347404474054740647407474084740947410474114741247413474144741547416474174741847419474204742147422474234742447425474264742747428474294743047431474324743347434474354743647437474384743947440474414744247443474444744547446474474744847449474504745147452474534745447455474564745747458474594746047461474624746347464474654746647467474684746947470474714747247473474744747547476474774747847479474804748147482474834748447485474864748747488474894749047491474924749347494474954749647497474984749947500475014750247503475044750547506475074750847509475104751147512475134751447515475164751747518475194752047521475224752347524475254752647527475284752947530475314753247533475344753547536475374753847539475404754147542475434754447545475464754747548475494755047551475524755347554475554755647557475584755947560475614756247563475644756547566475674756847569475704757147572475734757447575475764757747578475794758047581475824758347584475854758647587475884758947590475914759247593475944759547596475974759847599476004760147602476034760447605476064760747608476094761047611476124761347614476154761647617476184761947620476214762247623476244762547626476274762847629476304763147632476334763447635476364763747638476394764047641476424764347644476454764647647476484764947650476514765247653476544765547656476574765847659476604766147662476634766447665476664766747668476694767047671476724767347674476754767647677476784767947680476814768247683476844768547686476874768847689476904769147692476934769447695476964769747698476994770047701477024770347704477054770647707477084770947710477114771247713477144771547716477174771847719477204772147722477234772447725477264772747728477294773047731477324773347734477354773647737477384773947740477414774247743477444774547746477474774847749477504775147752477534775447755477564775747758477594776047761477624776347764477654776647767477684776947770477714777247773477744777547776477774777847779477804778147782477834778447785477864778747788477894779047791477924779347794477954779647797477984779947800478014780247803478044780547806478074780847809478104781147812478134781447815478164781747818478194782047821478224782347824478254782647827478284782947830478314783247833478344783547836478374783847839478404784147842478434784447845478464784747848478494785047851478524785347854478554785647857478584785947860478614786247863478644786547866478674786847869478704787147872478734787447875478764787747878478794788047881478824788347884478854788647887478884788947890478914789247893478944789547896478974789847899479004790147902479034790447905479064790747908479094791047911479124791347914479154791647917479184791947920479214792247923479244792547926479274792847929479304793147932479334793447935479364793747938479394794047941479424794347944479454794647947479484794947950479514795247953479544795547956479574795847959479604796147962479634796447965479664796747968479694797047971479724797347974479754797647977479784797947980479814798247983479844798547986479874798847989479904799147992479934799447995479964799747998479994800048001480024800348004480054800648007480084800948010480114801248013480144801548016480174801848019480204802148022480234802448025480264802748028480294803048031480324803348034480354803648037480384803948040480414804248043480444804548046480474804848049480504805148052480534805448055480564805748058480594806048061480624806348064480654806648067480684806948070480714807248073480744807548076480774807848079480804808148082480834808448085480864808748088480894809048091480924809348094480954809648097480984809948100481014810248103481044810548106481074810848109481104811148112481134811448115481164811748118481194812048121481224812348124481254812648127481284812948130481314813248133481344813548136481374813848139481404814148142481434814448145481464814748148481494815048151481524815348154481554815648157481584815948160481614816248163481644816548166481674816848169481704817148172481734817448175481764817748178481794818048181481824818348184481854818648187481884818948190481914819248193481944819548196481974819848199482004820148202482034820448205482064820748208482094821048211482124821348214482154821648217482184821948220482214822248223482244822548226482274822848229482304823148232482334823448235482364823748238482394824048241482424824348244482454824648247482484824948250482514825248253482544825548256482574825848259482604826148262482634826448265482664826748268482694827048271482724827348274482754827648277482784827948280482814828248283482844828548286482874828848289482904829148292482934829448295482964829748298482994830048301483024830348304483054830648307483084830948310483114831248313483144831548316483174831848319483204832148322483234832448325483264832748328483294833048331483324833348334483354833648337483384833948340483414834248343483444834548346483474834848349483504835148352483534835448355483564835748358483594836048361483624836348364483654836648367483684836948370483714837248373483744837548376483774837848379483804838148382483834838448385483864838748388483894839048391483924839348394483954839648397483984839948400484014840248403484044840548406484074840848409484104841148412484134841448415484164841748418484194842048421484224842348424484254842648427484284842948430484314843248433484344843548436484374843848439484404844148442484434844448445484464844748448484494845048451484524845348454484554845648457484584845948460484614846248463484644846548466484674846848469484704847148472484734847448475484764847748478484794848048481484824848348484484854848648487484884848948490484914849248493484944849548496484974849848499485004850148502485034850448505485064850748508485094851048511485124851348514485154851648517485184851948520485214852248523485244852548526485274852848529485304853148532485334853448535485364853748538485394854048541485424854348544485454854648547485484854948550485514855248553485544855548556485574855848559485604856148562485634856448565485664856748568485694857048571485724857348574485754857648577485784857948580485814858248583485844858548586485874858848589485904859148592485934859448595485964859748598485994860048601486024860348604486054860648607486084860948610486114861248613486144861548616486174861848619486204862148622486234862448625486264862748628486294863048631486324863348634486354863648637486384863948640486414864248643486444864548646486474864848649486504865148652486534865448655486564865748658486594866048661486624866348664486654866648667486684866948670486714867248673486744867548676486774867848679486804868148682486834868448685486864868748688486894869048691486924869348694486954869648697486984869948700487014870248703487044870548706487074870848709487104871148712487134871448715487164871748718487194872048721487224872348724487254872648727487284872948730487314873248733487344873548736487374873848739487404874148742487434874448745487464874748748487494875048751487524875348754487554875648757487584875948760487614876248763487644876548766487674876848769487704877148772487734877448775487764877748778487794878048781487824878348784487854878648787487884878948790487914879248793487944879548796487974879848799488004880148802488034880448805488064880748808488094881048811488124881348814488154881648817488184881948820488214882248823488244882548826488274882848829488304883148832488334883448835488364883748838488394884048841488424884348844488454884648847488484884948850488514885248853488544885548856488574885848859488604886148862488634886448865488664886748868488694887048871488724887348874488754887648877488784887948880488814888248883488844888548886488874888848889488904889148892488934889448895488964889748898488994890048901489024890348904489054890648907489084890948910489114891248913489144891548916489174891848919489204892148922489234892448925489264892748928489294893048931489324893348934489354893648937489384893948940489414894248943489444894548946489474894848949489504895148952489534895448955489564895748958489594896048961489624896348964489654896648967489684896948970489714897248973489744897548976489774897848979489804898148982489834898448985489864898748988489894899048991489924899348994489954899648997489984899949000490014900249003490044900549006490074900849009490104901149012490134901449015490164901749018490194902049021490224902349024490254902649027490284902949030490314903249033490344903549036490374903849039490404904149042490434904449045490464904749048490494905049051490524905349054490554905649057490584905949060490614906249063490644906549066490674906849069490704907149072490734907449075490764907749078490794908049081490824908349084490854908649087490884908949090490914909249093490944909549096490974909849099491004910149102491034910449105491064910749108491094911049111491124911349114491154911649117491184911949120491214912249123491244912549126491274912849129491304913149132491334913449135491364913749138491394914049141491424914349144491454914649147491484914949150491514915249153491544915549156491574915849159491604916149162491634916449165491664916749168491694917049171491724917349174491754917649177491784917949180491814918249183491844918549186491874918849189491904919149192491934919449195491964919749198491994920049201492024920349204492054920649207492084920949210492114921249213492144921549216492174921849219492204922149222492234922449225492264922749228492294923049231492324923349234492354923649237492384923949240492414924249243492444924549246492474924849249492504925149252492534925449255492564925749258492594926049261492624926349264492654926649267492684926949270492714927249273492744927549276492774927849279492804928149282492834928449285492864928749288492894929049291492924929349294492954929649297492984929949300493014930249303493044930549306493074930849309493104931149312493134931449315493164931749318493194932049321493224932349324493254932649327493284932949330493314933249333493344933549336493374933849339493404934149342493434934449345493464934749348493494935049351493524935349354493554935649357493584935949360493614936249363493644936549366493674936849369493704937149372493734937449375493764937749378493794938049381493824938349384493854938649387493884938949390493914939249393493944939549396493974939849399494004940149402494034940449405494064940749408494094941049411494124941349414494154941649417494184941949420494214942249423494244942549426494274942849429494304943149432494334943449435494364943749438494394944049441494424944349444494454944649447494484944949450494514945249453494544945549456494574945849459494604946149462494634946449465494664946749468494694947049471494724947349474494754947649477494784947949480494814948249483494844948549486494874948849489494904949149492494934949449495494964949749498494994950049501495024950349504495054950649507495084950949510495114951249513495144951549516495174951849519495204952149522495234952449525495264952749528495294953049531495324953349534495354953649537495384953949540495414954249543495444954549546495474954849549495504955149552495534955449555495564955749558495594956049561495624956349564495654956649567495684956949570495714957249573495744957549576495774957849579495804958149582495834958449585495864958749588495894959049591495924959349594495954959649597495984959949600496014960249603496044960549606496074960849609496104961149612496134961449615496164961749618496194962049621496224962349624496254962649627496284962949630496314963249633496344963549636496374963849639496404964149642496434964449645496464964749648496494965049651496524965349654496554965649657496584965949660496614966249663496644966549666496674966849669496704967149672496734967449675496764967749678496794968049681496824968349684496854968649687496884968949690496914969249693496944969549696496974969849699497004970149702497034970449705497064970749708497094971049711497124971349714497154971649717497184971949720497214972249723497244972549726497274972849729497304973149732497334973449735497364973749738497394974049741497424974349744497454974649747497484974949750497514975249753497544975549756497574975849759497604976149762497634976449765497664976749768497694977049771497724977349774497754977649777497784977949780497814978249783497844978549786497874978849789497904979149792497934979449795497964979749798497994980049801498024980349804498054980649807498084980949810498114981249813498144981549816498174981849819498204982149822498234982449825498264982749828498294983049831498324983349834498354983649837498384983949840498414984249843498444984549846498474984849849498504985149852498534985449855498564985749858498594986049861498624986349864498654986649867498684986949870498714987249873498744987549876498774987849879498804988149882498834988449885498864988749888498894989049891498924989349894498954989649897498984989949900499014990249903499044990549906499074990849909499104991149912499134991449915499164991749918499194992049921499224992349924499254992649927499284992949930499314993249933499344993549936499374993849939499404994149942499434994449945499464994749948499494995049951499524995349954499554995649957499584995949960499614996249963499644996549966499674996849969499704997149972499734997449975499764997749978499794998049981499824998349984499854998649987499884998949990499914999249993499944999549996499974999849999500005000150002500035000450005500065000750008500095001050011500125001350014500155001650017500185001950020500215002250023500245002550026500275002850029500305003150032500335003450035500365003750038500395004050041500425004350044500455004650047500485004950050500515005250053500545005550056500575005850059500605006150062500635006450065500665006750068500695007050071500725007350074500755007650077500785007950080500815008250083500845008550086500875008850089500905009150092500935009450095500965009750098500995010050101501025010350104501055010650107501085010950110501115011250113501145011550116501175011850119501205012150122501235012450125501265012750128501295013050131501325013350134501355013650137501385013950140501415014250143501445014550146501475014850149501505015150152501535015450155501565015750158501595016050161501625016350164501655016650167501685016950170501715017250173501745017550176501775017850179501805018150182501835018450185501865018750188501895019050191501925019350194501955019650197501985019950200502015020250203502045020550206502075020850209502105021150212502135021450215502165021750218502195022050221502225022350224502255022650227502285022950230502315023250233502345023550236502375023850239502405024150242502435024450245502465024750248502495025050251502525025350254502555025650257502585025950260502615026250263502645026550266502675026850269502705027150272502735027450275502765027750278502795028050281502825028350284502855028650287502885028950290502915029250293502945029550296502975029850299503005030150302503035030450305503065030750308503095031050311503125031350314503155031650317503185031950320503215032250323503245032550326503275032850329503305033150332503335033450335503365033750338503395034050341503425034350344503455034650347503485034950350503515035250353503545035550356503575035850359503605036150362503635036450365503665036750368503695037050371503725037350374503755037650377503785037950380503815038250383503845038550386503875038850389503905039150392503935039450395503965039750398503995040050401504025040350404504055040650407504085040950410504115041250413504145041550416504175041850419504205042150422504235042450425504265042750428504295043050431504325043350434504355043650437504385043950440504415044250443504445044550446504475044850449504505045150452504535045450455504565045750458504595046050461504625046350464504655046650467504685046950470504715047250473504745047550476504775047850479504805048150482504835048450485504865048750488504895049050491504925049350494504955049650497504985049950500505015050250503505045050550506505075050850509505105051150512505135051450515505165051750518505195052050521505225052350524505255052650527505285052950530505315053250533505345053550536505375053850539505405054150542505435054450545505465054750548505495055050551505525055350554505555055650557505585055950560505615056250563505645056550566505675056850569505705057150572505735057450575505765057750578505795058050581505825058350584505855058650587505885058950590505915059250593505945059550596505975059850599506005060150602506035060450605506065060750608506095061050611506125061350614506155061650617506185061950620506215062250623506245062550626506275062850629506305063150632506335063450635506365063750638506395064050641506425064350644506455064650647506485064950650506515065250653506545065550656506575065850659506605066150662506635066450665506665066750668506695067050671506725067350674506755067650677506785067950680506815068250683506845068550686506875068850689506905069150692506935069450695506965069750698506995070050701507025070350704507055070650707507085070950710507115071250713507145071550716507175071850719507205072150722507235072450725507265072750728507295073050731507325073350734507355073650737507385073950740507415074250743507445074550746507475074850749507505075150752507535075450755507565075750758507595076050761507625076350764507655076650767507685076950770507715077250773507745077550776507775077850779507805078150782507835078450785507865078750788507895079050791507925079350794507955079650797507985079950800508015080250803508045080550806508075080850809508105081150812508135081450815508165081750818508195082050821508225082350824508255082650827508285082950830508315083250833508345083550836508375083850839508405084150842508435084450845508465084750848508495085050851508525085350854508555085650857508585085950860508615086250863508645086550866508675086850869508705087150872508735087450875508765087750878508795088050881508825088350884508855088650887508885088950890508915089250893508945089550896508975089850899509005090150902509035090450905509065090750908509095091050911509125091350914509155091650917509185091950920509215092250923509245092550926509275092850929509305093150932509335093450935509365093750938509395094050941509425094350944509455094650947509485094950950509515095250953509545095550956509575095850959509605096150962509635096450965509665096750968509695097050971509725097350974509755097650977509785097950980509815098250983509845098550986509875098850989509905099150992509935099450995509965099750998509995100051001510025100351004510055100651007510085100951010510115101251013510145101551016510175101851019510205102151022510235102451025510265102751028510295103051031510325103351034510355103651037510385103951040510415104251043510445104551046510475104851049510505105151052510535105451055510565105751058510595106051061510625106351064510655106651067510685106951070510715107251073510745107551076510775107851079510805108151082510835108451085510865108751088510895109051091510925109351094510955109651097510985109951100511015110251103511045110551106511075110851109511105111151112511135111451115511165111751118511195112051121511225112351124511255112651127511285112951130511315113251133511345113551136511375113851139511405114151142511435114451145511465114751148511495115051151511525115351154511555115651157511585115951160511615116251163511645116551166511675116851169511705117151172511735117451175511765117751178511795118051181511825118351184511855118651187511885118951190511915119251193511945119551196511975119851199512005120151202512035120451205512065120751208512095121051211512125121351214512155121651217512185121951220512215122251223512245122551226512275122851229512305123151232512335123451235512365123751238512395124051241512425124351244512455124651247512485124951250512515125251253512545125551256512575125851259512605126151262512635126451265512665126751268512695127051271512725127351274512755127651277512785127951280512815128251283512845128551286512875128851289512905129151292512935129451295512965129751298512995130051301513025130351304513055130651307513085130951310513115131251313513145131551316513175131851319513205132151322513235132451325513265132751328513295133051331513325133351334513355133651337513385133951340513415134251343513445134551346513475134851349513505135151352513535135451355513565135751358513595136051361513625136351364513655136651367513685136951370513715137251373513745137551376513775137851379513805138151382513835138451385513865138751388513895139051391513925139351394513955139651397513985139951400514015140251403514045140551406514075140851409514105141151412514135141451415514165141751418514195142051421514225142351424514255142651427514285142951430514315143251433514345143551436514375143851439514405144151442514435144451445514465144751448514495145051451514525145351454514555145651457514585145951460514615146251463514645146551466514675146851469514705147151472514735147451475514765147751478514795148051481514825148351484514855148651487514885148951490514915149251493514945149551496514975149851499515005150151502515035150451505515065150751508515095151051511515125151351514515155151651517515185151951520515215152251523515245152551526515275152851529515305153151532515335153451535515365153751538515395154051541515425154351544515455154651547515485154951550515515155251553515545155551556515575155851559515605156151562515635156451565515665156751568515695157051571515725157351574515755157651577515785157951580515815158251583515845158551586515875158851589515905159151592515935159451595515965159751598515995160051601516025160351604516055160651607516085160951610516115161251613516145161551616516175161851619516205162151622516235162451625516265162751628516295163051631516325163351634516355163651637516385163951640516415164251643516445164551646516475164851649516505165151652516535165451655516565165751658516595166051661516625166351664516655166651667516685166951670516715167251673516745167551676516775167851679516805168151682516835168451685516865168751688516895169051691516925169351694516955169651697516985169951700517015170251703517045170551706517075170851709517105171151712517135171451715517165171751718517195172051721517225172351724517255172651727517285172951730517315173251733517345173551736517375173851739517405174151742517435174451745517465174751748517495175051751517525175351754517555175651757517585175951760517615176251763517645176551766517675176851769517705177151772517735177451775517765177751778517795178051781517825178351784517855178651787517885178951790517915179251793517945179551796517975179851799518005180151802518035180451805518065180751808518095181051811518125181351814518155181651817518185181951820518215182251823518245182551826518275182851829518305183151832518335183451835518365183751838518395184051841518425184351844518455184651847518485184951850518515185251853518545185551856518575185851859518605186151862518635186451865518665186751868518695187051871518725187351874518755187651877518785187951880518815188251883518845188551886518875188851889518905189151892518935189451895518965189751898518995190051901519025190351904519055190651907519085190951910519115191251913519145191551916519175191851919519205192151922519235192451925519265192751928519295193051931519325193351934519355193651937519385193951940519415194251943519445194551946519475194851949519505195151952519535195451955519565195751958519595196051961519625196351964519655196651967519685196951970519715197251973519745197551976519775197851979519805198151982519835198451985519865198751988519895199051991519925199351994519955199651997519985199952000520015200252003520045200552006520075200852009520105201152012520135201452015520165201752018520195202052021520225202352024520255202652027520285202952030520315203252033520345203552036520375203852039520405204152042520435204452045520465204752048520495205052051520525205352054520555205652057520585205952060520615206252063520645206552066520675206852069520705207152072520735207452075520765207752078520795208052081520825208352084520855208652087520885208952090520915209252093520945209552096520975209852099521005210152102521035210452105521065210752108521095211052111521125211352114521155211652117521185211952120521215212252123521245212552126521275212852129521305213152132521335213452135521365213752138521395214052141521425214352144521455214652147521485214952150521515215252153521545215552156521575215852159521605216152162521635216452165521665216752168521695217052171521725217352174521755217652177521785217952180521815218252183521845218552186521875218852189521905219152192521935219452195521965219752198521995220052201522025220352204522055220652207522085220952210522115221252213522145221552216522175221852219522205222152222522235222452225522265222752228522295223052231522325223352234522355223652237522385223952240522415224252243522445224552246522475224852249522505225152252522535225452255522565225752258522595226052261522625226352264522655226652267522685226952270522715227252273522745227552276522775227852279522805228152282522835228452285522865228752288522895229052291522925229352294522955229652297522985229952300523015230252303523045230552306523075230852309523105231152312523135231452315523165231752318523195232052321523225232352324523255232652327523285232952330523315233252333523345233552336523375233852339523405234152342523435234452345523465234752348523495235052351523525235352354523555235652357523585235952360523615236252363523645236552366523675236852369523705237152372523735237452375523765237752378523795238052381523825238352384523855238652387523885238952390523915239252393523945239552396523975239852399524005240152402524035240452405524065240752408524095241052411524125241352414524155241652417524185241952420524215242252423524245242552426524275242852429524305243152432524335243452435524365243752438524395244052441524425244352444524455244652447524485244952450524515245252453524545245552456524575245852459524605246152462524635246452465524665246752468524695247052471524725247352474524755247652477524785247952480524815248252483524845248552486524875248852489524905249152492524935249452495524965249752498524995250052501525025250352504525055250652507525085250952510525115251252513525145251552516525175251852519525205252152522525235252452525525265252752528525295253052531525325253352534525355253652537525385253952540525415254252543525445254552546525475254852549525505255152552525535255452555525565255752558525595256052561525625256352564525655256652567525685256952570525715257252573525745257552576525775257852579525805258152582525835258452585525865258752588525895259052591525925259352594525955259652597525985259952600526015260252603526045260552606526075260852609526105261152612526135261452615526165261752618526195262052621526225262352624526255262652627526285262952630526315263252633526345263552636526375263852639526405264152642526435264452645526465264752648526495265052651526525265352654526555265652657526585265952660526615266252663526645266552666526675266852669526705267152672526735267452675526765267752678526795268052681526825268352684526855268652687526885268952690526915269252693526945269552696526975269852699527005270152702527035270452705527065270752708527095271052711527125271352714527155271652717527185271952720527215272252723527245272552726527275272852729527305273152732527335273452735527365273752738527395274052741527425274352744527455274652747527485274952750527515275252753527545275552756527575275852759527605276152762527635276452765527665276752768527695277052771527725277352774527755277652777527785277952780527815278252783527845278552786527875278852789527905279152792527935279452795527965279752798527995280052801528025280352804528055280652807528085280952810528115281252813528145281552816528175281852819528205282152822528235282452825528265282752828528295283052831528325283352834528355283652837528385283952840528415284252843528445284552846528475284852849528505285152852528535285452855528565285752858528595286052861528625286352864528655286652867528685286952870528715287252873528745287552876528775287852879528805288152882528835288452885528865288752888528895289052891528925289352894528955289652897528985289952900529015290252903529045290552906529075290852909529105291152912529135291452915529165291752918529195292052921529225292352924529255292652927529285292952930529315293252933529345293552936529375293852939529405294152942529435294452945529465294752948529495295052951529525295352954529555295652957529585295952960529615296252963529645296552966529675296852969529705297152972529735297452975529765297752978529795298052981529825298352984529855298652987529885298952990529915299252993529945299552996529975299852999530005300153002530035300453005530065300753008530095301053011530125301353014530155301653017530185301953020530215302253023530245302553026530275302853029530305303153032530335303453035530365303753038530395304053041530425304353044530455304653047530485304953050530515305253053530545305553056530575305853059530605306153062530635306453065530665306753068530695307053071530725307353074530755307653077530785307953080530815308253083530845308553086530875308853089530905309153092530935309453095530965309753098530995310053101531025310353104531055310653107531085310953110531115311253113531145311553116531175311853119531205312153122531235312453125531265312753128531295313053131531325313353134531355313653137531385313953140531415314253143531445314553146531475314853149531505315153152531535315453155531565315753158531595316053161531625316353164531655316653167531685316953170531715317253173531745317553176531775317853179531805318153182531835318453185531865318753188531895319053191531925319353194531955319653197531985319953200532015320253203532045320553206532075320853209532105321153212532135321453215532165321753218532195322053221532225322353224532255322653227532285322953230532315323253233532345323553236532375323853239532405324153242532435324453245532465324753248532495325053251532525325353254532555325653257532585325953260532615326253263532645326553266532675326853269532705327153272532735327453275532765327753278532795328053281532825328353284532855328653287532885328953290532915329253293532945329553296532975329853299533005330153302533035330453305533065330753308533095331053311533125331353314533155331653317533185331953320533215332253323533245332553326533275332853329533305333153332533335333453335533365333753338533395334053341533425334353344533455334653347533485334953350533515335253353533545335553356533575335853359533605336153362533635336453365533665336753368533695337053371533725337353374533755337653377533785337953380533815338253383533845338553386533875338853389533905339153392533935339453395533965339753398533995340053401534025340353404534055340653407534085340953410534115341253413534145341553416534175341853419534205342153422534235342453425534265342753428534295343053431534325343353434534355343653437534385343953440534415344253443534445344553446534475344853449534505345153452534535345453455534565345753458534595346053461534625346353464534655346653467534685346953470534715347253473534745347553476534775347853479534805348153482534835348453485534865348753488534895349053491534925349353494534955349653497534985349953500535015350253503535045350553506535075350853509535105351153512535135351453515535165351753518535195352053521535225352353524535255352653527535285352953530535315353253533535345353553536535375353853539535405354153542535435354453545535465354753548535495355053551535525355353554535555355653557535585355953560535615356253563535645356553566535675356853569535705357153572535735357453575535765357753578535795358053581535825358353584535855358653587535885358953590535915359253593535945359553596535975359853599536005360153602536035360453605536065360753608536095361053611536125361353614536155361653617536185361953620536215362253623536245362553626536275362853629536305363153632536335363453635536365363753638536395364053641536425364353644536455364653647536485364953650536515365253653536545365553656536575365853659536605366153662536635366453665536665366753668536695367053671536725367353674536755367653677536785367953680536815368253683536845368553686536875368853689536905369153692536935369453695536965369753698536995370053701537025370353704537055370653707537085370953710537115371253713537145371553716537175371853719537205372153722537235372453725537265372753728537295373053731537325373353734537355373653737537385373953740537415374253743537445374553746537475374853749537505375153752537535375453755537565375753758537595376053761537625376353764537655376653767537685376953770537715377253773537745377553776537775377853779537805378153782537835378453785537865378753788537895379053791537925379353794537955379653797537985379953800538015380253803538045380553806538075380853809538105381153812538135381453815538165381753818538195382053821538225382353824538255382653827538285382953830538315383253833538345383553836538375383853839538405384153842538435384453845538465384753848538495385053851538525385353854538555385653857538585385953860538615386253863538645386553866538675386853869538705387153872538735387453875538765387753878538795388053881538825388353884538855388653887538885388953890538915389253893538945389553896538975389853899539005390153902539035390453905539065390753908539095391053911539125391353914539155391653917539185391953920539215392253923539245392553926539275392853929539305393153932539335393453935539365393753938539395394053941539425394353944539455394653947539485394953950539515395253953539545395553956539575395853959539605396153962539635396453965539665396753968539695397053971539725397353974539755397653977539785397953980539815398253983539845398553986539875398853989539905399153992539935399453995539965399753998539995400054001540025400354004540055400654007540085400954010540115401254013540145401554016540175401854019540205402154022540235402454025540265402754028540295403054031540325403354034540355403654037540385403954040540415404254043540445404554046540475404854049540505405154052540535405454055540565405754058540595406054061540625406354064540655406654067540685406954070540715407254073540745407554076540775407854079540805408154082540835408454085540865408754088540895409054091540925409354094540955409654097540985409954100541015410254103541045410554106541075410854109541105411154112541135411454115541165411754118541195412054121541225412354124541255412654127541285412954130541315413254133541345413554136541375413854139541405414154142541435414454145541465414754148541495415054151541525415354154541555415654157541585415954160541615416254163541645416554166541675416854169541705417154172541735417454175541765417754178541795418054181541825418354184541855418654187541885418954190541915419254193541945419554196541975419854199542005420154202542035420454205542065420754208542095421054211542125421354214542155421654217542185421954220542215422254223542245422554226542275422854229542305423154232542335423454235542365423754238542395424054241542425424354244542455424654247542485424954250542515425254253542545425554256542575425854259542605426154262542635426454265542665426754268542695427054271542725427354274542755427654277542785427954280542815428254283542845428554286542875428854289542905429154292542935429454295542965429754298542995430054301543025430354304543055430654307543085430954310543115431254313543145431554316543175431854319543205432154322543235432454325543265432754328543295433054331543325433354334543355433654337543385433954340543415434254343543445434554346543475434854349543505435154352543535435454355543565435754358543595436054361543625436354364543655436654367543685436954370543715437254373543745437554376543775437854379543805438154382543835438454385543865438754388543895439054391543925439354394543955439654397543985439954400544015440254403544045440554406544075440854409544105441154412544135441454415544165441754418544195442054421544225442354424544255442654427544285442954430544315443254433544345443554436544375443854439544405444154442544435444454445544465444754448544495445054451544525445354454544555445654457544585445954460544615446254463544645446554466544675446854469544705447154472544735447454475544765447754478544795448054481544825448354484544855448654487544885448954490544915449254493544945449554496544975449854499545005450154502545035450454505545065450754508545095451054511545125451354514545155451654517545185451954520545215452254523545245452554526545275452854529545305453154532545335453454535545365453754538545395454054541545425454354544545455454654547545485454954550545515455254553545545455554556545575455854559545605456154562545635456454565545665456754568545695457054571545725457354574545755457654577545785457954580545815458254583545845458554586545875458854589545905459154592545935459454595545965459754598545995460054601546025460354604546055460654607546085460954610546115461254613546145461554616546175461854619546205462154622546235462454625546265462754628546295463054631546325463354634546355463654637546385463954640546415464254643546445464554646546475464854649546505465154652546535465454655546565465754658546595466054661546625466354664546655466654667546685466954670546715467254673546745467554676546775467854679546805468154682546835468454685546865468754688546895469054691546925469354694546955469654697546985469954700547015470254703547045470554706547075470854709547105471154712547135471454715547165471754718547195472054721547225472354724547255472654727547285472954730547315473254733547345473554736547375473854739547405474154742547435474454745547465474754748547495475054751547525475354754547555475654757547585475954760547615476254763547645476554766547675476854769547705477154772547735477454775547765477754778547795478054781547825478354784547855478654787547885478954790547915479254793547945479554796547975479854799548005480154802548035480454805548065480754808548095481054811548125481354814548155481654817548185481954820548215482254823548245482554826548275482854829548305483154832548335483454835548365483754838548395484054841548425484354844548455484654847548485484954850548515485254853548545485554856548575485854859548605486154862548635486454865548665486754868548695487054871548725487354874548755487654877548785487954880548815488254883548845488554886548875488854889548905489154892548935489454895548965489754898548995490054901549025490354904549055490654907549085490954910549115491254913549145491554916549175491854919549205492154922549235492454925549265492754928549295493054931549325493354934549355493654937549385493954940549415494254943549445494554946549475494854949549505495154952549535495454955549565495754958549595496054961549625496354964549655496654967549685496954970549715497254973549745497554976549775497854979549805498154982549835498454985549865498754988549895499054991549925499354994549955499654997549985499955000550015500255003550045500555006550075500855009550105501155012550135501455015550165501755018550195502055021550225502355024550255502655027550285502955030550315503255033550345503555036550375503855039550405504155042550435504455045550465504755048550495505055051550525505355054550555505655057550585505955060550615506255063550645506555066550675506855069550705507155072550735507455075550765507755078550795508055081550825508355084550855508655087550885508955090550915509255093550945509555096550975509855099551005510155102551035510455105551065510755108551095511055111551125511355114551155511655117551185511955120551215512255123551245512555126551275512855129551305513155132551335513455135551365513755138551395514055141551425514355144551455514655147551485514955150551515515255153551545515555156551575515855159551605516155162551635516455165551665516755168551695517055171551725517355174551755517655177551785517955180551815518255183551845518555186551875518855189551905519155192551935519455195551965519755198551995520055201552025520355204552055520655207552085520955210552115521255213552145521555216552175521855219552205522155222552235522455225552265522755228552295523055231552325523355234552355523655237552385523955240552415524255243552445524555246552475524855249552505525155252552535525455255552565525755258552595526055261552625526355264552655526655267552685526955270552715527255273552745527555276552775527855279552805528155282552835528455285552865528755288552895529055291552925529355294552955529655297552985529955300553015530255303553045530555306553075530855309553105531155312553135531455315553165531755318553195532055321553225532355324553255532655327553285532955330553315533255333553345533555336553375533855339553405534155342553435534455345553465534755348553495535055351553525535355354553555535655357553585535955360553615536255363553645536555366553675536855369553705537155372553735537455375553765537755378553795538055381553825538355384553855538655387553885538955390553915539255393553945539555396553975539855399554005540155402554035540455405554065540755408554095541055411554125541355414554155541655417554185541955420554215542255423554245542555426554275542855429554305543155432554335543455435554365543755438554395544055441554425544355444554455544655447554485544955450554515545255453554545545555456554575545855459554605546155462554635546455465554665546755468554695547055471554725547355474554755547655477554785547955480554815548255483554845548555486554875548855489554905549155492554935549455495554965549755498554995550055501555025550355504555055550655507555085550955510555115551255513555145551555516555175551855519555205552155522555235552455525555265552755528555295553055531555325553355534555355553655537555385553955540555415554255543555445554555546555475554855549555505555155552555535555455555555565555755558555595556055561555625556355564555655556655567555685556955570555715557255573555745557555576555775557855579555805558155582555835558455585555865558755588555895559055591555925559355594555955559655597555985559955600556015560255603556045560555606556075560855609556105561155612556135561455615556165561755618556195562055621556225562355624556255562655627556285562955630556315563255633556345563555636556375563855639556405564155642556435564455645556465564755648556495565055651556525565355654556555565655657556585565955660556615566255663556645566555666556675566855669556705567155672556735567455675556765567755678556795568055681556825568355684556855568655687556885568955690556915569255693556945569555696556975569855699557005570155702557035570455705557065570755708557095571055711557125571355714557155571655717557185571955720557215572255723557245572555726557275572855729557305573155732557335573455735557365573755738557395574055741557425574355744557455574655747557485574955750557515575255753557545575555756557575575855759557605576155762557635576455765557665576755768557695577055771557725577355774557755577655777557785577955780557815578255783557845578555786557875578855789557905579155792557935579455795557965579755798557995580055801558025580355804558055580655807558085580955810558115581255813558145581555816558175581855819558205582155822558235582455825558265582755828558295583055831558325583355834558355583655837558385583955840558415584255843558445584555846558475584855849558505585155852558535585455855558565585755858558595586055861558625586355864558655586655867558685586955870558715587255873558745587555876558775587855879558805588155882558835588455885558865588755888558895589055891558925589355894558955589655897558985589955900559015590255903559045590555906559075590855909559105591155912559135591455915559165591755918559195592055921559225592355924559255592655927559285592955930559315593255933559345593555936559375593855939559405594155942559435594455945559465594755948559495595055951559525595355954559555595655957559585595955960559615596255963559645596555966559675596855969559705597155972559735597455975559765597755978559795598055981559825598355984559855598655987559885598955990559915599255993559945599555996559975599855999560005600156002560035600456005560065600756008560095601056011560125601356014560155601656017560185601956020560215602256023560245602556026560275602856029560305603156032560335603456035560365603756038560395604056041560425604356044560455604656047560485604956050560515605256053560545605556056560575605856059560605606156062560635606456065560665606756068560695607056071560725607356074560755607656077560785607956080560815608256083560845608556086560875608856089560905609156092560935609456095560965609756098560995610056101561025610356104561055610656107561085610956110561115611256113561145611556116561175611856119561205612156122561235612456125561265612756128561295613056131561325613356134561355613656137561385613956140561415614256143561445614556146561475614856149561505615156152561535615456155561565615756158561595616056161561625616356164561655616656167561685616956170561715617256173561745617556176561775617856179561805618156182561835618456185561865618756188561895619056191561925619356194561955619656197561985619956200562015620256203562045620556206562075620856209562105621156212562135621456215562165621756218562195622056221562225622356224562255622656227562285622956230562315623256233562345623556236562375623856239562405624156242562435624456245562465624756248562495625056251562525625356254562555625656257562585625956260562615626256263562645626556266562675626856269562705627156272562735627456275562765627756278562795628056281562825628356284562855628656287562885628956290562915629256293562945629556296562975629856299563005630156302563035630456305563065630756308563095631056311563125631356314563155631656317563185631956320563215632256323563245632556326563275632856329563305633156332563335633456335563365633756338563395634056341563425634356344563455634656347563485634956350563515635256353563545635556356563575635856359563605636156362563635636456365563665636756368563695637056371563725637356374563755637656377563785637956380563815638256383563845638556386563875638856389563905639156392563935639456395563965639756398563995640056401564025640356404564055640656407564085640956410564115641256413564145641556416564175641856419564205642156422564235642456425564265642756428564295643056431564325643356434564355643656437564385643956440564415644256443564445644556446564475644856449564505645156452564535645456455564565645756458564595646056461564625646356464564655646656467564685646956470564715647256473564745647556476564775647856479564805648156482564835648456485564865648756488564895649056491564925649356494564955649656497564985649956500565015650256503565045650556506565075650856509565105651156512565135651456515565165651756518565195652056521565225652356524565255652656527565285652956530565315653256533565345653556536565375653856539565405654156542565435654456545565465654756548565495655056551565525655356554565555655656557565585655956560565615656256563565645656556566565675656856569565705657156572565735657456575565765657756578565795658056581565825658356584565855658656587565885658956590565915659256593565945659556596565975659856599566005660156602566035660456605566065660756608566095661056611566125661356614566155661656617566185661956620566215662256623566245662556626566275662856629566305663156632566335663456635566365663756638566395664056641566425664356644566455664656647566485664956650566515665256653566545665556656566575665856659566605666156662566635666456665566665666756668566695667056671566725667356674566755667656677566785667956680566815668256683566845668556686566875668856689566905669156692566935669456695566965669756698566995670056701567025670356704567055670656707567085670956710567115671256713567145671556716567175671856719567205672156722567235672456725567265672756728567295673056731567325673356734567355673656737567385673956740567415674256743567445674556746567475674856749567505675156752567535675456755567565675756758567595676056761567625676356764567655676656767567685676956770567715677256773567745677556776567775677856779567805678156782567835678456785567865678756788567895679056791567925679356794567955679656797567985679956800568015680256803568045680556806568075680856809568105681156812568135681456815568165681756818568195682056821568225682356824568255682656827568285682956830568315683256833568345683556836568375683856839568405684156842568435684456845568465684756848568495685056851568525685356854568555685656857568585685956860568615686256863568645686556866568675686856869568705687156872568735687456875568765687756878568795688056881568825688356884568855688656887568885688956890568915689256893568945689556896568975689856899569005690156902569035690456905569065690756908569095691056911569125691356914569155691656917569185691956920569215692256923569245692556926569275692856929569305693156932569335693456935569365693756938569395694056941569425694356944569455694656947569485694956950569515695256953569545695556956569575695856959569605696156962569635696456965569665696756968569695697056971569725697356974569755697656977569785697956980569815698256983569845698556986569875698856989569905699156992569935699456995569965699756998569995700057001570025700357004570055700657007570085700957010570115701257013570145701557016570175701857019570205702157022570235702457025570265702757028570295703057031570325703357034570355703657037570385703957040570415704257043570445704557046570475704857049570505705157052570535705457055570565705757058570595706057061570625706357064570655706657067570685706957070570715707257073570745707557076570775707857079570805708157082570835708457085570865708757088570895709057091570925709357094570955709657097570985709957100571015710257103571045710557106571075710857109571105711157112571135711457115571165711757118571195712057121571225712357124571255712657127571285712957130571315713257133571345713557136571375713857139571405714157142571435714457145571465714757148571495715057151571525715357154571555715657157571585715957160571615716257163571645716557166571675716857169571705717157172571735717457175571765717757178571795718057181571825718357184571855718657187571885718957190571915719257193571945719557196571975719857199572005720157202572035720457205572065720757208572095721057211572125721357214572155721657217572185721957220572215722257223572245722557226572275722857229572305723157232572335723457235572365723757238572395724057241572425724357244572455724657247572485724957250572515725257253572545725557256572575725857259572605726157262572635726457265572665726757268572695727057271572725727357274572755727657277572785727957280572815728257283572845728557286572875728857289572905729157292572935729457295572965729757298572995730057301573025730357304573055730657307573085730957310573115731257313573145731557316573175731857319573205732157322573235732457325573265732757328573295733057331573325733357334573355733657337573385733957340573415734257343573445734557346573475734857349573505735157352573535735457355573565735757358573595736057361573625736357364573655736657367573685736957370573715737257373573745737557376573775737857379573805738157382573835738457385573865738757388573895739057391573925739357394573955739657397573985739957400574015740257403574045740557406574075740857409574105741157412574135741457415574165741757418574195742057421574225742357424574255742657427574285742957430574315743257433574345743557436574375743857439574405744157442574435744457445574465744757448574495745057451574525745357454574555745657457574585745957460574615746257463574645746557466574675746857469574705747157472574735747457475574765747757478574795748057481574825748357484574855748657487574885748957490574915749257493574945749557496574975749857499575005750157502575035750457505575065750757508575095751057511575125751357514575155751657517575185751957520575215752257523575245752557526575275752857529575305753157532575335753457535575365753757538575395754057541575425754357544575455754657547575485754957550575515755257553575545755557556575575755857559575605756157562575635756457565575665756757568575695757057571575725757357574575755757657577575785757957580575815758257583575845758557586575875758857589575905759157592575935759457595575965759757598575995760057601576025760357604576055760657607576085760957610576115761257613576145761557616576175761857619576205762157622576235762457625576265762757628576295763057631576325763357634576355763657637576385763957640576415764257643576445764557646576475764857649576505765157652576535765457655576565765757658576595766057661576625766357664576655766657667576685766957670576715767257673576745767557676576775767857679576805768157682576835768457685576865768757688576895769057691576925769357694576955769657697576985769957700577015770257703577045770557706577075770857709577105771157712577135771457715577165771757718577195772057721577225772357724577255772657727577285772957730577315773257733577345773557736577375773857739577405774157742577435774457745577465774757748577495775057751577525775357754577555775657757577585775957760577615776257763577645776557766577675776857769577705777157772577735777457775577765777757778577795778057781577825778357784577855778657787577885778957790577915779257793577945779557796577975779857799578005780157802578035780457805578065780757808578095781057811578125781357814578155781657817578185781957820578215782257823578245782557826578275782857829578305783157832578335783457835578365783757838578395784057841578425784357844578455784657847578485784957850578515785257853578545785557856578575785857859578605786157862578635786457865578665786757868578695787057871578725787357874578755787657877578785787957880578815788257883578845788557886578875788857889578905789157892578935789457895578965789757898578995790057901579025790357904579055790657907579085790957910579115791257913579145791557916579175791857919579205792157922579235792457925579265792757928579295793057931579325793357934579355793657937579385793957940579415794257943579445794557946579475794857949579505795157952579535795457955579565795757958579595796057961579625796357964579655796657967579685796957970579715797257973579745797557976579775797857979579805798157982579835798457985579865798757988579895799057991579925799357994579955799657997579985799958000580015800258003580045800558006580075800858009580105801158012580135801458015580165801758018580195802058021580225802358024580255802658027580285802958030580315803258033580345803558036580375803858039580405804158042580435804458045580465804758048580495805058051580525805358054580555805658057580585805958060580615806258063580645806558066580675806858069580705807158072580735807458075580765807758078580795808058081580825808358084580855808658087580885808958090580915809258093580945809558096580975809858099581005810158102581035810458105581065810758108581095811058111581125811358114581155811658117581185811958120581215812258123581245812558126581275812858129581305813158132581335813458135581365813758138581395814058141581425814358144581455814658147581485814958150581515815258153581545815558156581575815858159581605816158162581635816458165581665816758168581695817058171581725817358174581755817658177581785817958180581815818258183581845818558186581875818858189581905819158192581935819458195581965819758198581995820058201582025820358204582055820658207582085820958210582115821258213582145821558216582175821858219582205822158222582235822458225582265822758228582295823058231582325823358234582355823658237582385823958240582415824258243582445824558246582475824858249582505825158252582535825458255582565825758258582595826058261582625826358264582655826658267582685826958270582715827258273582745827558276582775827858279582805828158282582835828458285582865828758288582895829058291582925829358294582955829658297582985829958300583015830258303583045830558306583075830858309583105831158312583135831458315583165831758318583195832058321583225832358324583255832658327583285832958330583315833258333583345833558336583375833858339583405834158342583435834458345583465834758348583495835058351583525835358354583555835658357583585835958360583615836258363583645836558366583675836858369583705837158372583735837458375583765837758378583795838058381583825838358384583855838658387583885838958390583915839258393583945839558396583975839858399584005840158402584035840458405584065840758408584095841058411584125841358414584155841658417584185841958420584215842258423584245842558426584275842858429584305843158432584335843458435584365843758438584395844058441584425844358444584455844658447584485844958450584515845258453584545845558456584575845858459584605846158462584635846458465584665846758468584695847058471584725847358474584755847658477584785847958480584815848258483584845848558486584875848858489584905849158492584935849458495584965849758498584995850058501585025850358504585055850658507585085850958510585115851258513585145851558516585175851858519585205852158522585235852458525585265852758528585295853058531585325853358534585355853658537585385853958540585415854258543585445854558546585475854858549585505855158552585535855458555585565855758558585595856058561585625856358564585655856658567585685856958570585715857258573585745857558576585775857858579585805858158582585835858458585585865858758588585895859058591585925859358594585955859658597585985859958600586015860258603586045860558606586075860858609586105861158612586135861458615586165861758618586195862058621586225862358624586255862658627586285862958630586315863258633586345863558636586375863858639586405864158642586435864458645586465864758648586495865058651586525865358654586555865658657586585865958660586615866258663586645866558666586675866858669586705867158672586735867458675586765867758678586795868058681586825868358684586855868658687586885868958690586915869258693586945869558696586975869858699587005870158702587035870458705587065870758708587095871058711587125871358714587155871658717587185871958720587215872258723587245872558726587275872858729587305873158732587335873458735587365873758738587395874058741587425874358744587455874658747587485874958750587515875258753587545875558756587575875858759587605876158762587635876458765587665876758768587695877058771587725877358774587755877658777587785877958780587815878258783587845878558786587875878858789587905879158792587935879458795587965879758798587995880058801588025880358804588055880658807588085880958810588115881258813588145881558816588175881858819588205882158822588235882458825588265882758828588295883058831588325883358834588355883658837588385883958840588415884258843588445884558846588475884858849588505885158852588535885458855588565885758858588595886058861588625886358864588655886658867588685886958870588715887258873588745887558876588775887858879588805888158882588835888458885588865888758888588895889058891588925889358894588955889658897588985889958900589015890258903589045890558906589075890858909589105891158912589135891458915589165891758918589195892058921589225892358924589255892658927589285892958930589315893258933589345893558936589375893858939589405894158942589435894458945589465894758948589495895058951589525895358954589555895658957589585895958960589615896258963589645896558966589675896858969589705897158972589735897458975589765897758978589795898058981589825898358984589855898658987589885898958990589915899258993589945899558996589975899858999590005900159002590035900459005590065900759008590095901059011590125901359014590155901659017590185901959020590215902259023590245902559026590275902859029590305903159032590335903459035590365903759038590395904059041590425904359044590455904659047590485904959050590515905259053590545905559056590575905859059590605906159062590635906459065590665906759068590695907059071590725907359074590755907659077590785907959080590815908259083590845908559086590875908859089590905909159092590935909459095590965909759098590995910059101591025910359104591055910659107591085910959110591115911259113591145911559116591175911859119591205912159122591235912459125591265912759128591295913059131591325913359134591355913659137591385913959140591415914259143591445914559146591475914859149591505915159152591535915459155591565915759158591595916059161591625916359164591655916659167591685916959170591715917259173591745917559176591775917859179591805918159182591835918459185591865918759188591895919059191591925919359194591955919659197591985919959200592015920259203592045920559206592075920859209592105921159212592135921459215592165921759218592195922059221592225922359224592255922659227592285922959230592315923259233592345923559236592375923859239592405924159242592435924459245592465924759248592495925059251592525925359254592555925659257592585925959260592615926259263592645926559266592675926859269592705927159272592735927459275592765927759278592795928059281592825928359284592855928659287592885928959290592915929259293592945929559296592975929859299593005930159302593035930459305593065930759308593095931059311593125931359314593155931659317593185931959320593215932259323593245932559326593275932859329593305933159332593335933459335593365933759338593395934059341593425934359344593455934659347593485934959350593515935259353593545935559356593575935859359593605936159362593635936459365593665936759368593695937059371593725937359374593755937659377593785937959380593815938259383593845938559386593875938859389593905939159392593935939459395593965939759398593995940059401594025940359404594055940659407594085940959410594115941259413594145941559416594175941859419594205942159422594235942459425594265942759428594295943059431594325943359434594355943659437594385943959440594415944259443594445944559446594475944859449594505945159452594535945459455594565945759458594595946059461594625946359464594655946659467594685946959470594715947259473594745947559476594775947859479594805948159482594835948459485594865948759488594895949059491594925949359494594955949659497594985949959500595015950259503595045950559506595075950859509595105951159512595135951459515595165951759518595195952059521595225952359524595255952659527595285952959530595315953259533595345953559536595375953859539595405954159542595435954459545595465954759548595495955059551595525955359554595555955659557595585955959560595615956259563595645956559566595675956859569595705957159572595735957459575595765957759578595795958059581595825958359584595855958659587595885958959590595915959259593595945959559596595975959859599596005960159602596035960459605596065960759608596095961059611596125961359614596155961659617596185961959620596215962259623596245962559626596275962859629596305963159632596335963459635596365963759638596395964059641596425964359644596455964659647596485964959650596515965259653596545965559656596575965859659596605966159662596635966459665596665966759668596695967059671596725967359674596755967659677596785967959680596815968259683596845968559686596875968859689596905969159692596935969459695596965969759698596995970059701597025970359704597055970659707597085970959710597115971259713597145971559716597175971859719597205972159722597235972459725597265972759728597295973059731597325973359734597355973659737597385973959740597415974259743597445974559746597475974859749597505975159752597535975459755597565975759758597595976059761597625976359764597655976659767597685976959770597715977259773597745977559776597775977859779597805978159782597835978459785597865978759788597895979059791597925979359794597955979659797597985979959800598015980259803598045980559806598075980859809598105981159812598135981459815598165981759818598195982059821598225982359824598255982659827598285982959830598315983259833598345983559836598375983859839598405984159842598435984459845598465984759848598495985059851598525985359854598555985659857598585985959860598615986259863598645986559866598675986859869598705987159872598735987459875598765987759878598795988059881598825988359884598855988659887598885988959890598915989259893598945989559896598975989859899599005990159902599035990459905599065990759908599095991059911599125991359914599155991659917599185991959920599215992259923599245992559926599275992859929599305993159932599335993459935599365993759938599395994059941599425994359944599455994659947599485994959950599515995259953599545995559956599575995859959599605996159962599635996459965599665996759968599695997059971599725997359974599755997659977599785997959980599815998259983599845998559986599875998859989599905999159992599935999459995599965999759998599996000060001600026000360004600056000660007600086000960010600116001260013600146001560016600176001860019600206002160022600236002460025600266002760028600296003060031600326003360034600356003660037600386003960040600416004260043600446004560046600476004860049600506005160052600536005460055600566005760058600596006060061600626006360064600656006660067600686006960070600716007260073600746007560076600776007860079600806008160082600836008460085600866008760088600896009060091600926009360094600956009660097600986009960100601016010260103601046010560106601076010860109601106011160112601136011460115601166011760118601196012060121601226012360124601256012660127601286012960130601316013260133601346013560136601376013860139601406014160142601436014460145601466014760148601496015060151601526015360154601556015660157601586015960160601616016260163601646016560166601676016860169601706017160172601736017460175601766017760178601796018060181601826018360184601856018660187601886018960190601916019260193601946019560196601976019860199602006020160202602036020460205602066020760208602096021060211602126021360214602156021660217602186021960220602216022260223602246022560226602276022860229602306023160232602336023460235602366023760238602396024060241602426024360244602456024660247602486024960250602516025260253602546025560256602576025860259602606026160262602636026460265602666026760268602696027060271602726027360274602756027660277602786027960280602816028260283602846028560286602876028860289602906029160292602936029460295602966029760298602996030060301603026030360304603056030660307603086030960310603116031260313603146031560316603176031860319603206032160322603236032460325603266032760328603296033060331603326033360334603356033660337603386033960340603416034260343603446034560346603476034860349603506035160352603536035460355603566035760358603596036060361603626036360364603656036660367603686036960370603716037260373603746037560376603776037860379603806038160382603836038460385603866038760388603896039060391603926039360394603956039660397603986039960400604016040260403604046040560406604076040860409604106041160412604136041460415604166041760418604196042060421604226042360424604256042660427604286042960430604316043260433604346043560436604376043860439604406044160442604436044460445604466044760448604496045060451604526045360454604556045660457604586045960460604616046260463604646046560466604676046860469604706047160472604736047460475604766047760478604796048060481604826048360484604856048660487604886048960490604916049260493604946049560496604976049860499605006050160502605036050460505605066050760508605096051060511605126051360514605156051660517605186051960520605216052260523605246052560526605276052860529605306053160532605336053460535605366053760538605396054060541605426054360544605456054660547605486054960550605516055260553605546055560556605576055860559605606056160562605636056460565605666056760568605696057060571605726057360574605756057660577605786057960580605816058260583605846058560586605876058860589605906059160592605936059460595605966059760598605996060060601606026060360604606056060660607606086060960610606116061260613606146061560616606176061860619606206062160622606236062460625606266062760628606296063060631606326063360634606356063660637606386063960640606416064260643606446064560646606476064860649606506065160652606536065460655606566065760658606596066060661606626066360664606656066660667606686066960670606716067260673606746067560676606776067860679606806068160682606836068460685606866068760688606896069060691606926069360694606956069660697606986069960700607016070260703607046070560706607076070860709607106071160712607136071460715607166071760718607196072060721607226072360724607256072660727607286072960730607316073260733607346073560736607376073860739607406074160742607436074460745607466074760748607496075060751607526075360754607556075660757607586075960760607616076260763607646076560766607676076860769607706077160772607736077460775607766077760778607796078060781607826078360784607856078660787607886078960790607916079260793607946079560796607976079860799608006080160802608036080460805608066080760808608096081060811608126081360814608156081660817608186081960820608216082260823608246082560826608276082860829608306083160832608336083460835608366083760838608396084060841608426084360844608456084660847608486084960850608516085260853608546085560856608576085860859608606086160862608636086460865608666086760868608696087060871608726087360874608756087660877608786087960880608816088260883608846088560886608876088860889608906089160892608936089460895608966089760898608996090060901609026090360904609056090660907609086090960910609116091260913609146091560916609176091860919609206092160922609236092460925609266092760928609296093060931609326093360934609356093660937609386093960940609416094260943609446094560946609476094860949609506095160952609536095460955609566095760958609596096060961609626096360964609656096660967609686096960970609716097260973609746097560976609776097860979609806098160982609836098460985609866098760988609896099060991609926099360994609956099660997609986099961000610016100261003610046100561006610076100861009610106101161012610136101461015610166101761018610196102061021610226102361024610256102661027610286102961030610316103261033610346103561036610376103861039610406104161042610436104461045610466104761048610496105061051610526105361054610556105661057610586105961060610616106261063610646106561066610676106861069610706107161072610736107461075610766107761078610796108061081610826108361084610856108661087610886108961090610916109261093610946109561096610976109861099611006110161102611036110461105611066110761108611096111061111611126111361114611156111661117611186111961120611216112261123611246112561126611276112861129611306113161132611336113461135611366113761138611396114061141611426114361144611456114661147611486114961150611516115261153611546115561156611576115861159611606116161162611636116461165611666116761168611696117061171611726117361174611756117661177611786117961180611816118261183611846118561186611876118861189611906119161192611936119461195611966119761198611996120061201612026120361204612056120661207612086120961210612116121261213612146121561216612176121861219612206122161222612236122461225612266122761228612296123061231612326123361234612356123661237612386123961240612416124261243612446124561246612476124861249612506125161252612536125461255612566125761258612596126061261612626126361264612656126661267612686126961270612716127261273612746127561276612776127861279612806128161282612836128461285612866128761288612896129061291612926129361294612956129661297612986129961300613016130261303613046130561306613076130861309613106131161312613136131461315613166131761318613196132061321613226132361324613256132661327613286132961330613316133261333613346133561336613376133861339613406134161342613436134461345613466134761348613496135061351613526135361354613556135661357613586135961360613616136261363613646136561366613676136861369613706137161372613736137461375613766137761378613796138061381613826138361384613856138661387613886138961390613916139261393613946139561396613976139861399614006140161402614036140461405614066140761408614096141061411614126141361414614156141661417614186141961420614216142261423614246142561426614276142861429614306143161432614336143461435614366143761438614396144061441614426144361444614456144661447614486144961450614516145261453614546145561456614576145861459614606146161462614636146461465614666146761468614696147061471614726147361474614756147661477614786147961480614816148261483614846148561486614876148861489614906149161492614936149461495614966149761498614996150061501615026150361504615056150661507615086150961510615116151261513615146151561516615176151861519615206152161522615236152461525615266152761528615296153061531615326153361534615356153661537615386153961540615416154261543615446154561546615476154861549615506155161552615536155461555615566155761558615596156061561615626156361564615656156661567615686156961570615716157261573615746157561576615776157861579615806158161582615836158461585615866158761588615896159061591615926159361594615956159661597615986159961600616016160261603616046160561606616076160861609616106161161612616136161461615616166161761618616196162061621616226162361624616256162661627616286162961630616316163261633616346163561636616376163861639616406164161642616436164461645616466164761648616496165061651616526165361654616556165661657616586165961660616616166261663616646166561666616676166861669616706167161672616736167461675616766167761678616796168061681616826168361684616856168661687616886168961690616916169261693616946169561696616976169861699617006170161702617036170461705617066170761708617096171061711617126171361714617156171661717617186171961720617216172261723617246172561726617276172861729617306173161732617336173461735617366173761738617396174061741617426174361744617456174661747617486174961750617516175261753617546175561756617576175861759617606176161762617636176461765617666176761768617696177061771617726177361774617756177661777617786177961780617816178261783617846178561786617876178861789617906179161792617936179461795617966179761798617996180061801618026180361804618056180661807618086180961810618116181261813618146181561816618176181861819618206182161822618236182461825618266182761828618296183061831618326183361834618356183661837618386183961840618416184261843618446184561846618476184861849618506185161852618536185461855618566185761858618596186061861618626186361864618656186661867618686186961870618716187261873618746187561876618776187861879618806188161882618836188461885618866188761888618896189061891618926189361894618956189661897618986189961900619016190261903619046190561906619076190861909619106191161912619136191461915619166191761918619196192061921619226192361924619256192661927619286192961930619316193261933619346193561936619376193861939619406194161942619436194461945619466194761948619496195061951619526195361954619556195661957619586195961960619616196261963619646196561966619676196861969619706197161972619736197461975619766197761978619796198061981619826198361984619856198661987619886198961990619916199261993619946199561996619976199861999620006200162002620036200462005620066200762008620096201062011620126201362014620156201662017620186201962020620216202262023620246202562026620276202862029620306203162032620336203462035620366203762038620396204062041620426204362044620456204662047620486204962050620516205262053620546205562056620576205862059620606206162062620636206462065620666206762068620696207062071620726207362074620756207662077620786207962080620816208262083620846208562086620876208862089620906209162092620936209462095620966209762098620996210062101621026210362104621056210662107621086210962110621116211262113621146211562116621176211862119621206212162122621236212462125621266212762128621296213062131621326213362134621356213662137621386213962140621416214262143621446214562146621476214862149621506215162152621536215462155621566215762158621596216062161621626216362164621656216662167621686216962170621716217262173621746217562176621776217862179621806218162182621836218462185621866218762188621896219062191621926219362194621956219662197621986219962200622016220262203622046220562206622076220862209622106221162212622136221462215622166221762218622196222062221622226222362224622256222662227622286222962230622316223262233622346223562236622376223862239622406224162242622436224462245622466224762248622496225062251622526225362254622556225662257622586225962260622616226262263622646226562266622676226862269622706227162272622736227462275622766227762278622796228062281622826228362284622856228662287622886228962290622916229262293622946229562296622976229862299623006230162302623036230462305623066230762308623096231062311623126231362314623156231662317623186231962320623216232262323623246232562326623276232862329623306233162332623336233462335623366233762338623396234062341623426234362344623456234662347623486234962350623516235262353623546235562356623576235862359623606236162362623636236462365623666236762368623696237062371623726237362374623756237662377623786237962380623816238262383623846238562386623876238862389623906239162392623936239462395623966239762398623996240062401624026240362404624056240662407624086240962410624116241262413624146241562416624176241862419624206242162422624236242462425624266242762428624296243062431624326243362434624356243662437624386243962440624416244262443624446244562446624476244862449624506245162452624536245462455624566245762458624596246062461624626246362464624656246662467624686246962470624716247262473624746247562476624776247862479624806248162482624836248462485624866248762488624896249062491624926249362494624956249662497624986249962500625016250262503625046250562506625076250862509625106251162512625136251462515625166251762518625196252062521625226252362524625256252662527625286252962530625316253262533625346253562536625376253862539625406254162542625436254462545625466254762548625496255062551625526255362554625556255662557625586255962560625616256262563625646256562566625676256862569625706257162572625736257462575625766257762578625796258062581625826258362584625856258662587625886258962590625916259262593625946259562596625976259862599626006260162602626036260462605626066260762608626096261062611626126261362614626156261662617626186261962620626216262262623626246262562626626276262862629626306263162632626336263462635626366263762638626396264062641626426264362644626456264662647626486264962650626516265262653626546265562656626576265862659626606266162662626636266462665626666266762668626696267062671626726267362674626756267662677626786267962680626816268262683626846268562686626876268862689626906269162692626936269462695626966269762698626996270062701627026270362704627056270662707627086270962710627116271262713627146271562716627176271862719627206272162722627236272462725627266272762728627296273062731627326273362734627356273662737627386273962740627416274262743627446274562746627476274862749627506275162752627536275462755627566275762758627596276062761627626276362764627656276662767627686276962770627716277262773627746277562776627776277862779627806278162782627836278462785627866278762788627896279062791627926279362794627956279662797627986279962800628016280262803628046280562806628076280862809628106281162812628136281462815628166281762818628196282062821628226282362824628256282662827628286282962830628316283262833628346283562836628376283862839628406284162842628436284462845628466284762848628496285062851628526285362854628556285662857628586285962860628616286262863628646286562866628676286862869628706287162872628736287462875628766287762878628796288062881628826288362884628856288662887628886288962890628916289262893628946289562896628976289862899629006290162902629036290462905629066290762908629096291062911629126291362914629156291662917629186291962920629216292262923629246292562926629276292862929629306293162932629336293462935629366293762938629396294062941629426294362944629456294662947629486294962950629516295262953629546295562956629576295862959629606296162962629636296462965629666296762968629696297062971629726297362974629756297662977629786297962980629816298262983629846298562986629876298862989629906299162992629936299462995629966299762998629996300063001630026300363004630056300663007630086300963010630116301263013630146301563016630176301863019630206302163022630236302463025630266302763028630296303063031630326303363034630356303663037630386303963040630416304263043630446304563046630476304863049630506305163052630536305463055630566305763058630596306063061630626306363064630656306663067630686306963070630716307263073630746307563076630776307863079630806308163082630836308463085630866308763088630896309063091630926309363094630956309663097630986309963100631016310263103631046310563106631076310863109631106311163112631136311463115631166311763118631196312063121631226312363124631256312663127631286312963130631316313263133631346313563136631376313863139631406314163142631436314463145631466314763148631496315063151631526315363154631556315663157631586315963160631616316263163631646316563166631676316863169631706317163172631736317463175631766317763178631796318063181631826318363184631856318663187631886318963190631916319263193631946319563196631976319863199632006320163202632036320463205632066320763208632096321063211632126321363214632156321663217632186321963220632216322263223632246322563226632276322863229632306323163232632336323463235632366323763238632396324063241632426324363244632456324663247632486324963250632516325263253632546325563256632576325863259632606326163262632636326463265632666326763268632696327063271632726327363274632756327663277632786327963280632816328263283632846328563286632876328863289632906329163292632936329463295632966329763298632996330063301633026330363304633056330663307633086330963310633116331263313633146331563316633176331863319633206332163322633236332463325633266332763328633296333063331633326333363334633356333663337633386333963340633416334263343633446334563346633476334863349633506335163352633536335463355633566335763358633596336063361633626336363364633656336663367633686336963370633716337263373633746337563376633776337863379633806338163382633836338463385633866338763388633896339063391633926339363394633956339663397633986339963400634016340263403634046340563406634076340863409634106341163412634136341463415634166341763418634196342063421634226342363424634256342663427634286342963430634316343263433634346343563436634376343863439634406344163442634436344463445634466344763448634496345063451634526345363454634556345663457634586345963460634616346263463634646346563466634676346863469634706347163472634736347463475634766347763478634796348063481634826348363484634856348663487634886348963490634916349263493634946349563496634976349863499635006350163502635036350463505635066350763508635096351063511635126351363514635156351663517635186351963520635216352263523635246352563526635276352863529635306353163532635336353463535635366353763538635396354063541635426354363544635456354663547635486354963550635516355263553635546355563556635576355863559635606356163562635636356463565635666356763568635696357063571635726357363574635756357663577635786357963580635816358263583635846358563586635876358863589635906359163592635936359463595635966359763598635996360063601636026360363604636056360663607636086360963610636116361263613636146361563616636176361863619636206362163622636236362463625636266362763628636296363063631636326363363634636356363663637636386363963640636416364263643636446364563646636476364863649636506365163652636536365463655636566365763658636596366063661636626366363664636656366663667636686366963670636716367263673636746367563676636776367863679636806368163682636836368463685636866368763688636896369063691636926369363694636956369663697636986369963700637016370263703637046370563706637076370863709637106371163712637136371463715637166371763718637196372063721637226372363724637256372663727637286372963730637316373263733637346373563736637376373863739637406374163742637436374463745637466374763748637496375063751637526375363754637556375663757637586375963760637616376263763637646376563766637676376863769637706377163772637736377463775637766377763778637796378063781637826378363784637856378663787637886378963790637916379263793637946379563796637976379863799638006380163802638036380463805638066380763808638096381063811638126381363814638156381663817638186381963820638216382263823638246382563826638276382863829638306383163832638336383463835638366383763838638396384063841638426384363844638456384663847638486384963850638516385263853638546385563856638576385863859638606386163862638636386463865638666386763868638696387063871638726387363874638756387663877638786387963880638816388263883638846388563886638876388863889638906389163892638936389463895638966389763898638996390063901639026390363904639056390663907639086390963910639116391263913639146391563916639176391863919639206392163922639236392463925639266392763928639296393063931639326393363934639356393663937639386393963940639416394263943639446394563946639476394863949639506395163952639536395463955639566395763958639596396063961639626396363964639656396663967639686396963970639716397263973639746397563976639776397863979639806398163982639836398463985639866398763988639896399063991639926399363994639956399663997639986399964000640016400264003640046400564006640076400864009640106401164012640136401464015640166401764018640196402064021640226402364024640256402664027640286402964030640316403264033640346403564036640376403864039640406404164042640436404464045640466404764048640496405064051640526405364054640556405664057640586405964060640616406264063640646406564066640676406864069640706407164072640736407464075640766407764078640796408064081640826408364084640856408664087640886408964090640916409264093640946409564096640976409864099641006410164102641036410464105641066410764108641096411064111641126411364114641156411664117641186411964120641216412264123641246412564126641276412864129641306413164132641336413464135641366413764138641396414064141641426414364144641456414664147641486414964150641516415264153641546415564156641576415864159641606416164162641636416464165641666416764168641696417064171641726417364174641756417664177641786417964180641816418264183641846418564186641876418864189641906419164192641936419464195641966419764198641996420064201642026420364204642056420664207642086420964210642116421264213642146421564216642176421864219642206422164222642236422464225642266422764228642296423064231642326423364234642356423664237642386423964240642416424264243642446424564246642476424864249642506425164252642536425464255642566425764258642596426064261642626426364264642656426664267642686426964270642716427264273642746427564276642776427864279642806428164282642836428464285642866428764288642896429064291642926429364294642956429664297642986429964300643016430264303643046430564306643076430864309643106431164312643136431464315643166431764318643196432064321643226432364324643256432664327643286432964330643316433264333643346433564336643376433864339643406434164342643436434464345643466434764348643496435064351643526435364354643556435664357643586435964360643616436264363643646436564366643676436864369643706437164372643736437464375643766437764378643796438064381643826438364384643856438664387643886438964390643916439264393643946439564396643976439864399644006440164402644036440464405644066440764408644096441064411644126441364414644156441664417644186441964420644216442264423644246442564426644276442864429644306443164432644336443464435644366443764438644396444064441644426444364444644456444664447644486444964450644516445264453644546445564456644576445864459644606446164462644636446464465644666446764468644696447064471644726447364474644756447664477644786447964480644816448264483644846448564486644876448864489644906449164492644936449464495644966449764498644996450064501645026450364504645056450664507645086450964510645116451264513645146451564516645176451864519645206452164522645236452464525645266452764528645296453064531645326453364534645356453664537645386453964540645416454264543645446454564546645476454864549645506455164552645536455464555645566455764558645596456064561645626456364564645656456664567645686456964570645716457264573645746457564576645776457864579645806458164582645836458464585645866458764588645896459064591645926459364594645956459664597645986459964600646016460264603646046460564606646076460864609646106461164612646136461464615646166461764618646196462064621646226462364624646256462664627646286462964630646316463264633646346463564636646376463864639646406464164642646436464464645646466464764648646496465064651646526465364654646556465664657646586465964660646616466264663646646466564666646676466864669646706467164672646736467464675646766467764678646796468064681646826468364684646856468664687646886468964690646916469264693646946469564696646976469864699647006470164702647036470464705647066470764708647096471064711647126471364714647156471664717647186471964720647216472264723647246472564726647276472864729647306473164732647336473464735647366473764738647396474064741647426474364744647456474664747647486474964750647516475264753647546475564756647576475864759647606476164762647636476464765647666476764768647696477064771647726477364774647756477664777647786477964780647816478264783647846478564786647876478864789647906479164792647936479464795647966479764798647996480064801648026480364804648056480664807648086480964810648116481264813648146481564816648176481864819648206482164822648236482464825648266482764828648296483064831648326483364834648356483664837648386483964840648416484264843648446484564846648476484864849648506485164852648536485464855648566485764858648596486064861648626486364864648656486664867648686486964870648716487264873648746487564876648776487864879648806488164882648836488464885648866488764888648896489064891648926489364894648956489664897648986489964900649016490264903649046490564906649076490864909649106491164912649136491464915649166491764918649196492064921649226492364924649256492664927649286492964930649316493264933649346493564936649376493864939649406494164942649436494464945649466494764948649496495064951649526495364954649556495664957649586495964960649616496264963649646496564966649676496864969649706497164972649736497464975649766497764978649796498064981649826498364984649856498664987649886498964990649916499264993649946499564996649976499864999650006500165002650036500465005650066500765008650096501065011650126501365014650156501665017650186501965020650216502265023650246502565026650276502865029650306503165032650336503465035650366503765038650396504065041650426504365044650456504665047650486504965050650516505265053650546505565056650576505865059650606506165062650636506465065650666506765068650696507065071650726507365074650756507665077650786507965080650816508265083650846508565086650876508865089650906509165092650936509465095650966509765098650996510065101651026510365104651056510665107651086510965110651116511265113651146511565116651176511865119651206512165122651236512465125651266512765128651296513065131651326513365134651356513665137651386513965140651416514265143651446514565146651476514865149651506515165152651536515465155651566515765158651596516065161651626516365164651656516665167651686516965170651716517265173651746517565176651776517865179651806518165182651836518465185651866518765188651896519065191651926519365194651956519665197651986519965200652016520265203652046520565206652076520865209652106521165212652136521465215652166521765218652196522065221652226522365224652256522665227652286522965230652316523265233652346523565236652376523865239652406524165242652436524465245652466524765248652496525065251652526525365254652556525665257652586525965260652616526265263652646526565266652676526865269652706527165272652736527465275652766527765278652796528065281652826528365284652856528665287652886528965290652916529265293652946529565296652976529865299653006530165302653036530465305653066530765308653096531065311653126531365314653156531665317653186531965320653216532265323653246532565326653276532865329653306533165332653336533465335653366533765338653396534065341653426534365344653456534665347653486534965350653516535265353653546535565356653576535865359653606536165362653636536465365653666536765368653696537065371653726537365374653756537665377653786537965380653816538265383653846538565386653876538865389653906539165392653936539465395653966539765398653996540065401654026540365404654056540665407654086540965410654116541265413654146541565416654176541865419654206542165422654236542465425654266542765428654296543065431654326543365434654356543665437654386543965440654416544265443654446544565446654476544865449654506545165452654536545465455654566545765458654596546065461654626546365464654656546665467654686546965470654716547265473654746547565476654776547865479654806548165482654836548465485654866548765488654896549065491654926549365494654956549665497654986549965500655016550265503655046550565506655076550865509655106551165512655136551465515655166551765518655196552065521655226552365524655256552665527655286552965530655316553265533655346553565536655376553865539655406554165542655436554465545655466554765548655496555065551655526555365554655556555665557655586555965560655616556265563655646556565566655676556865569655706557165572655736557465575655766557765578655796558065581655826558365584655856558665587655886558965590655916559265593655946559565596655976559865599656006560165602656036560465605656066560765608656096561065611656126561365614656156561665617656186561965620656216562265623656246562565626656276562865629656306563165632656336563465635656366563765638656396564065641656426564365644656456564665647656486564965650656516565265653656546565565656656576565865659656606566165662656636566465665656666566765668656696567065671656726567365674656756567665677656786567965680656816568265683656846568565686656876568865689656906569165692656936569465695656966569765698656996570065701657026570365704657056570665707657086570965710657116571265713657146571565716657176571865719657206572165722657236572465725657266572765728657296573065731657326573365734657356573665737657386573965740657416574265743657446574565746657476574865749657506575165752657536575465755657566575765758657596576065761657626576365764657656576665767657686576965770657716577265773657746577565776657776577865779657806578165782657836578465785657866578765788657896579065791657926579365794657956579665797657986579965800658016580265803658046580565806658076580865809658106581165812658136581465815658166581765818658196582065821658226582365824658256582665827658286582965830658316583265833658346583565836658376583865839658406584165842658436584465845658466584765848658496585065851658526585365854658556585665857658586585965860658616586265863658646586565866658676586865869658706587165872658736587465875658766587765878658796588065881658826588365884658856588665887658886588965890658916589265893658946589565896658976589865899659006590165902659036590465905659066590765908659096591065911659126591365914659156591665917659186591965920659216592265923659246592565926659276592865929659306593165932659336593465935659366593765938659396594065941659426594365944659456594665947659486594965950659516595265953659546595565956659576595865959659606596165962659636596465965659666596765968659696597065971659726597365974659756597665977659786597965980659816598265983659846598565986659876598865989659906599165992659936599465995659966599765998659996600066001660026600366004660056600666007660086600966010660116601266013660146601566016660176601866019660206602166022660236602466025660266602766028660296603066031660326603366034660356603666037660386603966040660416604266043660446604566046660476604866049660506605166052660536605466055660566605766058660596606066061660626606366064660656606666067660686606966070660716607266073660746607566076660776607866079660806608166082660836608466085660866608766088660896609066091660926609366094660956609666097660986609966100661016610266103661046610566106661076610866109661106611166112661136611466115661166611766118661196612066121661226612366124661256612666127661286612966130661316613266133661346613566136661376613866139661406614166142661436614466145661466614766148661496615066151661526615366154661556615666157661586615966160661616616266163661646616566166661676616866169661706617166172661736617466175661766617766178661796618066181661826618366184661856618666187661886618966190661916619266193661946619566196661976619866199662006620166202662036620466205662066620766208662096621066211662126621366214662156621666217662186621966220662216622266223662246622566226662276622866229662306623166232662336623466235662366623766238662396624066241662426624366244662456624666247662486624966250662516625266253662546625566256662576625866259662606626166262662636626466265662666626766268662696627066271662726627366274662756627666277662786627966280662816628266283662846628566286662876628866289662906629166292662936629466295662966629766298662996630066301663026630366304663056630666307663086630966310663116631266313663146631566316663176631866319663206632166322663236632466325663266632766328663296633066331663326633366334663356633666337663386633966340663416634266343663446634566346663476634866349663506635166352663536635466355663566635766358663596636066361663626636366364663656636666367663686636966370663716637266373663746637566376663776637866379663806638166382663836638466385663866638766388663896639066391663926639366394663956639666397663986639966400664016640266403664046640566406664076640866409664106641166412664136641466415664166641766418664196642066421664226642366424664256642666427664286642966430664316643266433664346643566436664376643866439664406644166442664436644466445664466644766448664496645066451664526645366454664556645666457664586645966460664616646266463664646646566466664676646866469664706647166472664736647466475664766647766478664796648066481664826648366484664856648666487664886648966490664916649266493664946649566496664976649866499665006650166502665036650466505665066650766508665096651066511665126651366514665156651666517665186651966520665216652266523665246652566526665276652866529665306653166532665336653466535665366653766538665396654066541665426654366544665456654666547665486654966550665516655266553665546655566556665576655866559665606656166562665636656466565665666656766568665696657066571665726657366574665756657666577665786657966580665816658266583665846658566586665876658866589665906659166592665936659466595665966659766598665996660066601666026660366604666056660666607666086660966610666116661266613666146661566616666176661866619666206662166622666236662466625666266662766628666296663066631666326663366634666356663666637666386663966640666416664266643666446664566646666476664866649666506665166652666536665466655666566665766658666596666066661666626666366664666656666666667666686666966670666716667266673666746667566676666776667866679666806668166682666836668466685666866668766688666896669066691666926669366694666956669666697666986669966700667016670266703667046670566706667076670866709667106671166712667136671466715667166671766718667196672066721667226672366724667256672666727667286672966730667316673266733667346673566736667376673866739667406674166742667436674466745667466674766748667496675066751667526675366754667556675666757667586675966760667616676266763667646676566766667676676866769667706677166772667736677466775667766677766778667796678066781667826678366784667856678666787667886678966790667916679266793667946679566796667976679866799668006680166802668036680466805668066680766808668096681066811668126681366814668156681666817668186681966820668216682266823668246682566826668276682866829668306683166832668336683466835668366683766838668396684066841668426684366844668456684666847668486684966850668516685266853668546685566856668576685866859668606686166862668636686466865668666686766868668696687066871668726687366874668756687666877668786687966880668816688266883668846688566886668876688866889668906689166892668936689466895668966689766898668996690066901669026690366904669056690666907669086690966910669116691266913669146691566916669176691866919669206692166922669236692466925669266692766928669296693066931669326693366934669356693666937669386693966940669416694266943669446694566946669476694866949669506695166952669536695466955669566695766958669596696066961669626696366964669656696666967669686696966970669716697266973669746697566976669776697866979669806698166982669836698466985669866698766988669896699066991669926699366994669956699666997669986699967000670016700267003670046700567006670076700867009670106701167012670136701467015670166701767018670196702067021670226702367024670256702667027670286702967030670316703267033670346703567036670376703867039670406704167042670436704467045670466704767048670496705067051670526705367054670556705667057670586705967060670616706267063670646706567066670676706867069670706707167072670736707467075670766707767078670796708067081670826708367084670856708667087670886708967090670916709267093670946709567096670976709867099671006710167102671036710467105671066710767108671096711067111671126711367114671156711667117671186711967120671216712267123671246712567126671276712867129671306713167132671336713467135671366713767138671396714067141671426714367144671456714667147671486714967150671516715267153671546715567156671576715867159671606716167162671636716467165671666716767168671696717067171671726717367174671756717667177671786717967180671816718267183671846718567186671876718867189671906719167192671936719467195671966719767198671996720067201672026720367204672056720667207672086720967210672116721267213672146721567216672176721867219672206722167222672236722467225672266722767228672296723067231672326723367234672356723667237672386723967240672416724267243672446724567246672476724867249672506725167252672536725467255672566725767258672596726067261672626726367264672656726667267672686726967270672716727267273672746727567276672776727867279672806728167282672836728467285672866728767288672896729067291672926729367294672956729667297672986729967300673016730267303673046730567306673076730867309673106731167312673136731467315673166731767318673196732067321673226732367324673256732667327673286732967330673316733267333673346733567336673376733867339673406734167342673436734467345673466734767348673496735067351673526735367354673556735667357673586735967360673616736267363673646736567366673676736867369673706737167372673736737467375673766737767378673796738067381673826738367384673856738667387673886738967390673916739267393673946739567396673976739867399674006740167402674036740467405674066740767408674096741067411674126741367414674156741667417674186741967420674216742267423674246742567426674276742867429674306743167432674336743467435674366743767438674396744067441674426744367444674456744667447674486744967450674516745267453674546745567456674576745867459674606746167462674636746467465674666746767468674696747067471674726747367474674756747667477674786747967480674816748267483674846748567486674876748867489674906749167492674936749467495674966749767498674996750067501675026750367504675056750667507675086750967510675116751267513675146751567516675176751867519675206752167522675236752467525675266752767528675296753067531675326753367534675356753667537675386753967540675416754267543675446754567546675476754867549675506755167552675536755467555675566755767558675596756067561675626756367564675656756667567675686756967570675716757267573675746757567576675776757867579675806758167582675836758467585675866758767588675896759067591675926759367594675956759667597675986759967600676016760267603676046760567606676076760867609676106761167612676136761467615676166761767618676196762067621676226762367624676256762667627676286762967630676316763267633676346763567636676376763867639676406764167642676436764467645676466764767648676496765067651676526765367654676556765667657676586765967660676616766267663676646766567666676676766867669676706767167672676736767467675676766767767678676796768067681676826768367684676856768667687676886768967690676916769267693676946769567696676976769867699677006770167702677036770467705677066770767708677096771067711677126771367714677156771667717677186771967720677216772267723677246772567726677276772867729677306773167732677336773467735677366773767738677396774067741677426774367744677456774667747677486774967750677516775267753677546775567756677576775867759677606776167762677636776467765677666776767768677696777067771677726777367774677756777667777677786777967780677816778267783677846778567786677876778867789677906779167792677936779467795677966779767798677996780067801678026780367804678056780667807678086780967810678116781267813678146781567816678176781867819678206782167822678236782467825678266782767828678296783067831678326783367834678356783667837678386783967840678416784267843678446784567846678476784867849678506785167852678536785467855678566785767858678596786067861678626786367864678656786667867678686786967870678716787267873678746787567876678776787867879678806788167882678836788467885678866788767888678896789067891678926789367894678956789667897678986789967900679016790267903679046790567906679076790867909679106791167912679136791467915679166791767918679196792067921679226792367924679256792667927679286792967930679316793267933679346793567936679376793867939679406794167942679436794467945679466794767948679496795067951679526795367954679556795667957679586795967960679616796267963679646796567966679676796867969679706797167972679736797467975679766797767978679796798067981679826798367984679856798667987679886798967990679916799267993679946799567996679976799867999680006800168002680036800468005680066800768008680096801068011680126801368014680156801668017680186801968020680216802268023680246802568026680276802868029680306803168032680336803468035680366803768038680396804068041680426804368044680456804668047680486804968050680516805268053680546805568056680576805868059680606806168062680636806468065680666806768068680696807068071680726807368074680756807668077680786807968080680816808268083680846808568086680876808868089680906809168092680936809468095680966809768098680996810068101681026810368104681056810668107681086810968110681116811268113681146811568116681176811868119681206812168122681236812468125681266812768128681296813068131681326813368134681356813668137681386813968140681416814268143681446814568146681476814868149681506815168152681536815468155681566815768158681596816068161681626816368164681656816668167681686816968170681716817268173681746817568176681776817868179681806818168182681836818468185681866818768188681896819068191681926819368194681956819668197681986819968200682016820268203682046820568206682076820868209682106821168212682136821468215682166821768218682196822068221682226822368224682256822668227682286822968230682316823268233682346823568236682376823868239682406824168242682436824468245682466824768248682496825068251682526825368254682556825668257682586825968260682616826268263682646826568266682676826868269682706827168272682736827468275682766827768278682796828068281682826828368284682856828668287682886828968290682916829268293682946829568296682976829868299683006830168302683036830468305683066830768308683096831068311683126831368314683156831668317683186831968320683216832268323683246832568326683276832868329683306833168332683336833468335683366833768338683396834068341683426834368344683456834668347683486834968350683516835268353683546835568356683576835868359683606836168362683636836468365683666836768368683696837068371683726837368374683756837668377683786837968380683816838268383683846838568386683876838868389683906839168392683936839468395683966839768398683996840068401684026840368404684056840668407684086840968410684116841268413684146841568416684176841868419684206842168422684236842468425684266842768428684296843068431684326843368434684356843668437684386843968440684416844268443684446844568446684476844868449684506845168452684536845468455684566845768458684596846068461684626846368464684656846668467684686846968470684716847268473684746847568476684776847868479684806848168482684836848468485684866848768488684896849068491684926849368494684956849668497684986849968500685016850268503685046850568506685076850868509685106851168512685136851468515685166851768518685196852068521685226852368524685256852668527685286852968530685316853268533685346853568536685376853868539685406854168542685436854468545685466854768548685496855068551685526855368554685556855668557685586855968560685616856268563685646856568566685676856868569685706857168572685736857468575685766857768578685796858068581685826858368584685856858668587685886858968590685916859268593685946859568596685976859868599686006860168602686036860468605686066860768608686096861068611686126861368614686156861668617686186861968620686216862268623686246862568626686276862868629686306863168632686336863468635686366863768638686396864068641686426864368644686456864668647686486864968650686516865268653686546865568656686576865868659686606866168662686636866468665686666866768668686696867068671686726867368674686756867668677686786867968680686816868268683686846868568686686876868868689686906869168692686936869468695686966869768698686996870068701687026870368704687056870668707687086870968710687116871268713687146871568716687176871868719687206872168722687236872468725687266872768728687296873068731687326873368734687356873668737687386873968740687416874268743687446874568746687476874868749687506875168752687536875468755687566875768758687596876068761687626876368764687656876668767687686876968770687716877268773687746877568776687776877868779687806878168782687836878468785687866878768788687896879068791687926879368794687956879668797687986879968800688016880268803688046880568806688076880868809688106881168812688136881468815688166881768818688196882068821688226882368824688256882668827688286882968830688316883268833688346883568836688376883868839688406884168842688436884468845688466884768848688496885068851688526885368854688556885668857688586885968860688616886268863688646886568866688676886868869688706887168872688736887468875688766887768878688796888068881688826888368884688856888668887688886888968890688916889268893688946889568896688976889868899689006890168902689036890468905689066890768908689096891068911689126891368914689156891668917689186891968920689216892268923689246892568926689276892868929689306893168932689336893468935689366893768938689396894068941689426894368944689456894668947689486894968950689516895268953689546895568956689576895868959689606896168962689636896468965689666896768968689696897068971689726897368974689756897668977689786897968980689816898268983689846898568986689876898868989689906899168992689936899468995689966899768998689996900069001690026900369004690056900669007690086900969010690116901269013690146901569016690176901869019690206902169022690236902469025690266902769028690296903069031690326903369034690356903669037690386903969040690416904269043690446904569046690476904869049690506905169052690536905469055690566905769058690596906069061690626906369064690656906669067690686906969070690716907269073690746907569076690776907869079690806908169082690836908469085690866908769088690896909069091690926909369094690956909669097690986909969100691016910269103691046910569106691076910869109691106911169112691136911469115691166911769118691196912069121691226912369124691256912669127691286912969130691316913269133691346913569136691376913869139691406914169142691436914469145691466914769148691496915069151691526915369154691556915669157691586915969160691616916269163691646916569166691676916869169691706917169172691736917469175691766917769178691796918069181691826918369184691856918669187691886918969190691916919269193691946919569196691976919869199692006920169202692036920469205692066920769208692096921069211692126921369214692156921669217692186921969220692216922269223692246922569226692276922869229692306923169232692336923469235692366923769238692396924069241692426924369244692456924669247692486924969250692516925269253692546925569256692576925869259692606926169262692636926469265692666926769268692696927069271692726927369274692756927669277692786927969280692816928269283692846928569286692876928869289692906929169292692936929469295692966929769298692996930069301693026930369304693056930669307693086930969310693116931269313693146931569316693176931869319693206932169322693236932469325693266932769328693296933069331693326933369334693356933669337693386933969340693416934269343693446934569346693476934869349693506935169352693536935469355693566935769358693596936069361693626936369364693656936669367693686936969370693716937269373693746937569376693776937869379693806938169382693836938469385693866938769388693896939069391693926939369394693956939669397693986939969400694016940269403694046940569406694076940869409694106941169412694136941469415694166941769418694196942069421694226942369424694256942669427694286942969430694316943269433694346943569436694376943869439694406944169442694436944469445694466944769448694496945069451694526945369454694556945669457694586945969460694616946269463694646946569466694676946869469694706947169472694736947469475694766947769478694796948069481694826948369484694856948669487694886948969490694916949269493694946949569496694976949869499695006950169502695036950469505695066950769508695096951069511695126951369514695156951669517695186951969520695216952269523695246952569526695276952869529695306953169532695336953469535695366953769538695396954069541695426954369544695456954669547695486954969550695516955269553695546955569556695576955869559695606956169562695636956469565695666956769568695696957069571695726957369574695756957669577695786957969580695816958269583695846958569586695876958869589695906959169592695936959469595695966959769598695996960069601696026960369604696056960669607696086960969610696116961269613696146961569616696176961869619696206962169622696236962469625696266962769628696296963069631696326963369634696356963669637696386963969640696416964269643696446964569646696476964869649696506965169652696536965469655696566965769658696596966069661696626966369664696656966669667696686966969670696716967269673696746967569676696776967869679696806968169682696836968469685696866968769688696896969069691696926969369694696956969669697696986969969700697016970269703697046970569706697076970869709697106971169712697136971469715697166971769718697196972069721697226972369724697256972669727697286972969730697316973269733697346973569736697376973869739697406974169742697436974469745697466974769748697496975069751697526975369754697556975669757697586975969760697616976269763697646976569766697676976869769697706977169772697736977469775697766977769778697796978069781697826978369784697856978669787697886978969790697916979269793697946979569796697976979869799698006980169802698036980469805698066980769808698096981069811698126981369814698156981669817698186981969820698216982269823698246982569826698276982869829698306983169832698336983469835698366983769838698396984069841698426984369844698456984669847698486984969850698516985269853698546985569856698576985869859698606986169862698636986469865698666986769868698696987069871698726987369874698756987669877698786987969880698816988269883698846988569886698876988869889698906989169892698936989469895698966989769898698996990069901699026990369904699056990669907699086990969910699116991269913699146991569916699176991869919699206992169922699236992469925699266992769928699296993069931699326993369934699356993669937699386993969940699416994269943699446994569946699476994869949699506995169952699536995469955699566995769958699596996069961699626996369964699656996669967699686996969970699716997269973699746997569976699776997869979699806998169982699836998469985699866998769988699896999069991699926999369994699956999669997699986999970000700017000270003700047000570006700077000870009700107001170012700137001470015700167001770018700197002070021700227002370024700257002670027700287002970030700317003270033700347003570036700377003870039700407004170042700437004470045700467004770048700497005070051700527005370054700557005670057700587005970060700617006270063700647006570066700677006870069700707007170072700737007470075700767007770078700797008070081700827008370084700857008670087700887008970090700917009270093700947009570096700977009870099701007010170102701037010470105701067010770108701097011070111701127011370114701157011670117701187011970120701217012270123701247012570126701277012870129701307013170132701337013470135701367013770138701397014070141701427014370144701457014670147701487014970150701517015270153701547015570156701577015870159701607016170162701637016470165701667016770168701697017070171701727017370174701757017670177701787017970180701817018270183701847018570186701877018870189701907019170192701937019470195701967019770198701997020070201702027020370204702057020670207702087020970210702117021270213702147021570216702177021870219702207022170222702237022470225702267022770228702297023070231702327023370234702357023670237702387023970240702417024270243702447024570246702477024870249702507025170252702537025470255702567025770258702597026070261702627026370264702657026670267702687026970270702717027270273702747027570276702777027870279702807028170282702837028470285702867028770288702897029070291702927029370294702957029670297702987029970300703017030270303703047030570306703077030870309703107031170312703137031470315703167031770318703197032070321703227032370324703257032670327703287032970330703317033270333703347033570336703377033870339703407034170342703437034470345703467034770348703497035070351703527035370354703557035670357703587035970360703617036270363703647036570366703677036870369703707037170372703737037470375703767037770378703797038070381703827038370384703857038670387703887038970390703917039270393703947039570396703977039870399704007040170402704037040470405704067040770408704097041070411704127041370414704157041670417704187041970420704217042270423704247042570426704277042870429704307043170432704337043470435704367043770438704397044070441704427044370444704457044670447704487044970450704517045270453704547045570456704577045870459704607046170462704637046470465704667046770468704697047070471704727047370474704757047670477704787047970480704817048270483704847048570486704877048870489704907049170492704937049470495704967049770498704997050070501705027050370504705057050670507705087050970510705117051270513705147051570516705177051870519705207052170522705237052470525705267052770528705297053070531705327053370534705357053670537705387053970540705417054270543705447054570546705477054870549705507055170552705537055470555705567055770558705597056070561705627056370564705657056670567705687056970570705717057270573705747057570576705777057870579705807058170582705837058470585705867058770588705897059070591705927059370594705957059670597705987059970600706017060270603706047060570606706077060870609706107061170612706137061470615706167061770618706197062070621706227062370624706257062670627706287062970630706317063270633706347063570636706377063870639706407064170642706437064470645706467064770648706497065070651706527065370654706557065670657706587065970660706617066270663706647066570666706677066870669706707067170672706737067470675706767067770678706797068070681706827068370684706857068670687706887068970690706917069270693706947069570696706977069870699707007070170702707037070470705707067070770708707097071070711707127071370714707157071670717707187071970720707217072270723707247072570726707277072870729707307073170732707337073470735707367073770738707397074070741707427074370744707457074670747707487074970750707517075270753707547075570756707577075870759707607076170762707637076470765707667076770768707697077070771707727077370774707757077670777707787077970780707817078270783707847078570786707877078870789707907079170792707937079470795707967079770798707997080070801708027080370804708057080670807708087080970810708117081270813708147081570816708177081870819708207082170822708237082470825708267082770828708297083070831708327083370834708357083670837708387083970840708417084270843708447084570846708477084870849708507085170852708537085470855708567085770858708597086070861708627086370864708657086670867708687086970870708717087270873708747087570876708777087870879708807088170882708837088470885708867088770888708897089070891708927089370894708957089670897708987089970900709017090270903709047090570906709077090870909709107091170912709137091470915709167091770918709197092070921709227092370924709257092670927709287092970930709317093270933709347093570936709377093870939709407094170942709437094470945709467094770948709497095070951709527095370954709557095670957709587095970960709617096270963709647096570966709677096870969709707097170972709737097470975709767097770978709797098070981709827098370984709857098670987709887098970990709917099270993709947099570996709977099870999710007100171002710037100471005710067100771008710097101071011710127101371014710157101671017710187101971020710217102271023710247102571026710277102871029710307103171032710337103471035710367103771038710397104071041710427104371044710457104671047710487104971050710517105271053710547105571056710577105871059710607106171062710637106471065710667106771068710697107071071710727107371074710757107671077710787107971080710817108271083710847108571086710877108871089710907109171092710937109471095710967109771098710997110071101711027110371104711057110671107711087110971110711117111271113711147111571116711177111871119711207112171122711237112471125711267112771128711297113071131711327113371134711357113671137711387113971140711417114271143711447114571146711477114871149711507115171152711537115471155711567115771158711597116071161711627116371164711657116671167711687116971170711717117271173711747117571176711777117871179711807118171182711837118471185711867118771188711897119071191711927119371194711957119671197711987119971200712017120271203712047120571206712077120871209712107121171212712137121471215712167121771218712197122071221712227122371224712257122671227712287122971230712317123271233712347123571236712377123871239712407124171242712437124471245712467124771248712497125071251712527125371254712557125671257712587125971260712617126271263712647126571266712677126871269712707127171272712737127471275712767127771278712797128071281712827128371284712857128671287712887128971290712917129271293712947129571296712977129871299713007130171302713037130471305713067130771308713097131071311713127131371314713157131671317713187131971320713217132271323713247132571326713277132871329713307133171332713337133471335713367133771338713397134071341713427134371344713457134671347713487134971350713517135271353713547135571356713577135871359713607136171362713637136471365713667136771368713697137071371713727137371374713757137671377713787137971380713817138271383713847138571386713877138871389713907139171392713937139471395713967139771398713997140071401714027140371404714057140671407714087140971410714117141271413714147141571416714177141871419714207142171422714237142471425714267142771428714297143071431714327143371434714357143671437714387143971440714417144271443714447144571446714477144871449714507145171452714537145471455714567145771458714597146071461714627146371464714657146671467714687146971470714717147271473714747147571476714777147871479714807148171482714837148471485714867148771488714897149071491714927149371494714957149671497714987149971500715017150271503715047150571506715077150871509715107151171512715137151471515715167151771518715197152071521715227152371524715257152671527715287152971530715317153271533715347153571536715377153871539715407154171542715437154471545715467154771548715497155071551715527155371554715557155671557715587155971560715617156271563715647156571566715677156871569715707157171572715737157471575715767157771578715797158071581715827158371584715857158671587715887158971590715917159271593715947159571596715977159871599716007160171602716037160471605716067160771608716097161071611716127161371614716157161671617716187161971620716217162271623716247162571626716277162871629716307163171632716337163471635716367163771638716397164071641716427164371644716457164671647716487164971650716517165271653716547165571656716577165871659716607166171662716637166471665716667166771668716697167071671716727167371674716757167671677716787167971680716817168271683716847168571686716877168871689716907169171692716937169471695716967169771698716997170071701717027170371704717057170671707717087170971710717117171271713717147171571716717177171871719717207172171722717237172471725717267172771728717297173071731717327173371734717357173671737717387173971740717417174271743717447174571746717477174871749717507175171752717537175471755717567175771758717597176071761717627176371764717657176671767717687176971770717717177271773717747177571776717777177871779717807178171782717837178471785717867178771788717897179071791717927179371794717957179671797717987179971800718017180271803718047180571806718077180871809718107181171812718137181471815718167181771818718197182071821718227182371824718257182671827718287182971830718317183271833718347183571836718377183871839718407184171842718437184471845718467184771848718497185071851718527185371854718557185671857718587185971860718617186271863718647186571866718677186871869718707187171872718737187471875718767187771878718797188071881718827188371884718857188671887718887188971890718917189271893718947189571896718977189871899719007190171902719037190471905719067190771908719097191071911719127191371914719157191671917719187191971920719217192271923719247192571926719277192871929719307193171932719337193471935719367193771938719397194071941719427194371944719457194671947719487194971950719517195271953719547195571956719577195871959719607196171962719637196471965719667196771968719697197071971719727197371974719757197671977719787197971980719817198271983719847198571986719877198871989719907199171992719937199471995719967199771998719997200072001720027200372004720057200672007720087200972010720117201272013720147201572016720177201872019720207202172022720237202472025720267202772028720297203072031720327203372034720357203672037720387203972040720417204272043720447204572046720477204872049720507205172052720537205472055720567205772058720597206072061720627206372064720657206672067720687206972070720717207272073720747207572076720777207872079720807208172082720837208472085720867208772088720897209072091720927209372094720957209672097720987209972100721017210272103721047210572106721077210872109721107211172112721137211472115721167211772118721197212072121721227212372124721257212672127721287212972130721317213272133721347213572136721377213872139721407214172142721437214472145721467214772148721497215072151721527215372154721557215672157721587215972160721617216272163721647216572166721677216872169721707217172172721737217472175721767217772178721797218072181721827218372184721857218672187721887218972190721917219272193721947219572196721977219872199722007220172202722037220472205722067220772208722097221072211722127221372214722157221672217722187221972220722217222272223722247222572226722277222872229722307223172232722337223472235722367223772238722397224072241722427224372244722457224672247722487224972250722517225272253722547225572256722577225872259722607226172262722637226472265722667226772268722697227072271722727227372274722757227672277722787227972280722817228272283722847228572286722877228872289722907229172292722937229472295722967229772298722997230072301723027230372304723057230672307723087230972310723117231272313723147231572316723177231872319723207232172322723237232472325723267232772328723297233072331723327233372334723357233672337723387233972340723417234272343723447234572346723477234872349723507235172352723537235472355723567235772358723597236072361723627236372364723657236672367723687236972370723717237272373723747237572376723777237872379723807238172382723837238472385723867238772388723897239072391723927239372394723957239672397723987239972400724017240272403724047240572406724077240872409724107241172412724137241472415724167241772418724197242072421724227242372424724257242672427724287242972430724317243272433724347243572436724377243872439724407244172442724437244472445724467244772448724497245072451724527245372454724557245672457724587245972460724617246272463724647246572466724677246872469724707247172472724737247472475724767247772478724797248072481724827248372484724857248672487724887248972490724917249272493724947249572496724977249872499725007250172502725037250472505725067250772508725097251072511725127251372514725157251672517725187251972520725217252272523725247252572526725277252872529725307253172532725337253472535725367253772538725397254072541725427254372544725457254672547725487254972550725517255272553725547255572556725577255872559725607256172562725637256472565725667256772568725697257072571725727257372574725757257672577725787257972580725817258272583725847258572586725877258872589725907259172592725937259472595725967259772598725997260072601726027260372604726057260672607726087260972610726117261272613726147261572616726177261872619726207262172622726237262472625726267262772628726297263072631726327263372634726357263672637726387263972640726417264272643726447264572646726477264872649726507265172652726537265472655726567265772658726597266072661726627266372664726657266672667726687266972670726717267272673726747267572676726777267872679726807268172682726837268472685726867268772688726897269072691726927269372694726957269672697726987269972700727017270272703727047270572706727077270872709727107271172712727137271472715727167271772718727197272072721727227272372724727257272672727727287272972730727317273272733727347273572736727377273872739727407274172742727437274472745727467274772748727497275072751727527275372754727557275672757727587275972760727617276272763727647276572766727677276872769727707277172772727737277472775727767277772778727797278072781727827278372784727857278672787727887278972790727917279272793727947279572796727977279872799728007280172802728037280472805728067280772808728097281072811728127281372814728157281672817728187281972820728217282272823728247282572826728277282872829728307283172832728337283472835728367283772838728397284072841728427284372844728457284672847728487284972850728517285272853728547285572856728577285872859728607286172862728637286472865728667286772868728697287072871728727287372874728757287672877728787287972880728817288272883728847288572886728877288872889728907289172892728937289472895728967289772898728997290072901729027290372904729057290672907729087290972910729117291272913729147291572916729177291872919729207292172922729237292472925729267292772928729297293072931729327293372934729357293672937729387293972940729417294272943729447294572946729477294872949729507295172952729537295472955729567295772958729597296072961729627296372964729657296672967729687296972970729717297272973729747297572976729777297872979729807298172982729837298472985729867298772988729897299072991729927299372994729957299672997729987299973000730017300273003730047300573006730077300873009730107301173012730137301473015730167301773018730197302073021730227302373024730257302673027730287302973030730317303273033730347303573036730377303873039730407304173042730437304473045730467304773048730497305073051730527305373054730557305673057730587305973060730617306273063730647306573066730677306873069730707307173072730737307473075730767307773078730797308073081730827308373084730857308673087730887308973090730917309273093730947309573096730977309873099731007310173102731037310473105731067310773108731097311073111731127311373114731157311673117731187311973120731217312273123731247312573126731277312873129731307313173132731337313473135731367313773138731397314073141731427314373144731457314673147731487314973150731517315273153731547315573156731577315873159731607316173162731637316473165731667316773168731697317073171731727317373174731757317673177731787317973180731817318273183731847318573186731877318873189731907319173192731937319473195731967319773198731997320073201732027320373204732057320673207732087320973210732117321273213732147321573216732177321873219732207322173222732237322473225732267322773228732297323073231732327323373234732357323673237732387323973240732417324273243732447324573246732477324873249732507325173252732537325473255732567325773258732597326073261732627326373264732657326673267732687326973270732717327273273732747327573276732777327873279732807328173282732837328473285732867328773288732897329073291732927329373294732957329673297732987329973300733017330273303733047330573306733077330873309733107331173312733137331473315733167331773318733197332073321733227332373324733257332673327733287332973330733317333273333733347333573336733377333873339733407334173342733437334473345733467334773348733497335073351733527335373354733557335673357733587335973360733617336273363733647336573366733677336873369733707337173372733737337473375733767337773378733797338073381733827338373384733857338673387733887338973390733917339273393733947339573396733977339873399734007340173402734037340473405734067340773408734097341073411734127341373414734157341673417734187341973420734217342273423734247342573426734277342873429734307343173432734337343473435734367343773438734397344073441734427344373444734457344673447734487344973450734517345273453734547345573456734577345873459734607346173462734637346473465734667346773468734697347073471734727347373474734757347673477734787347973480734817348273483734847348573486734877348873489734907349173492734937349473495734967349773498734997350073501735027350373504735057350673507735087350973510735117351273513735147351573516735177351873519735207352173522735237352473525735267352773528735297353073531735327353373534735357353673537735387353973540735417354273543735447354573546735477354873549735507355173552735537355473555735567355773558735597356073561735627356373564735657356673567735687356973570735717357273573735747357573576735777357873579735807358173582735837358473585735867358773588735897359073591735927359373594735957359673597735987359973600736017360273603736047360573606736077360873609736107361173612736137361473615736167361773618736197362073621736227362373624736257362673627736287362973630736317363273633736347363573636736377363873639736407364173642736437364473645736467364773648736497365073651736527365373654736557365673657736587365973660736617366273663736647366573666736677366873669736707367173672736737367473675736767367773678736797368073681736827368373684736857368673687736887368973690736917369273693736947369573696736977369873699737007370173702737037370473705737067370773708737097371073711737127371373714737157371673717737187371973720737217372273723737247372573726737277372873729737307373173732737337373473735737367373773738737397374073741737427374373744737457374673747737487374973750737517375273753737547375573756737577375873759737607376173762737637376473765737667376773768737697377073771737727377373774737757377673777737787377973780737817378273783737847378573786737877378873789737907379173792737937379473795737967379773798737997380073801738027380373804738057380673807738087380973810738117381273813738147381573816738177381873819738207382173822738237382473825738267382773828738297383073831738327383373834738357383673837738387383973840738417384273843738447384573846738477384873849738507385173852738537385473855738567385773858738597386073861738627386373864738657386673867738687386973870738717387273873738747387573876738777387873879738807388173882738837388473885738867388773888738897389073891738927389373894738957389673897738987389973900739017390273903739047390573906739077390873909739107391173912739137391473915739167391773918739197392073921739227392373924739257392673927739287392973930739317393273933739347393573936739377393873939739407394173942739437394473945739467394773948739497395073951739527395373954739557395673957739587395973960739617396273963739647396573966739677396873969739707397173972739737397473975739767397773978739797398073981739827398373984739857398673987739887398973990739917399273993739947399573996739977399873999740007400174002740037400474005740067400774008740097401074011740127401374014740157401674017740187401974020740217402274023740247402574026740277402874029740307403174032740337403474035740367403774038740397404074041740427404374044740457404674047740487404974050740517405274053740547405574056740577405874059740607406174062740637406474065740667406774068740697407074071740727407374074740757407674077740787407974080740817408274083740847408574086740877408874089740907409174092740937409474095740967409774098740997410074101741027410374104741057410674107741087410974110741117411274113741147411574116741177411874119741207412174122741237412474125741267412774128741297413074131741327413374134741357413674137741387413974140741417414274143741447414574146741477414874149741507415174152741537415474155741567415774158741597416074161741627416374164741657416674167741687416974170741717417274173741747417574176741777417874179741807418174182741837418474185741867418774188741897419074191741927419374194741957419674197741987419974200742017420274203742047420574206742077420874209742107421174212742137421474215742167421774218742197422074221742227422374224742257422674227742287422974230742317423274233742347423574236742377423874239742407424174242742437424474245742467424774248742497425074251742527425374254742557425674257742587425974260742617426274263742647426574266742677426874269742707427174272742737427474275742767427774278742797428074281742827428374284742857428674287742887428974290742917429274293742947429574296742977429874299743007430174302743037430474305743067430774308743097431074311743127431374314743157431674317743187431974320743217432274323743247432574326743277432874329743307433174332743337433474335743367433774338743397434074341743427434374344743457434674347743487434974350743517435274353743547435574356743577435874359743607436174362743637436474365743667436774368743697437074371743727437374374743757437674377743787437974380743817438274383743847438574386743877438874389743907439174392743937439474395743967439774398743997440074401744027440374404744057440674407744087440974410744117441274413744147441574416744177441874419744207442174422744237442474425744267442774428744297443074431744327443374434744357443674437744387443974440744417444274443744447444574446744477444874449744507445174452744537445474455744567445774458744597446074461744627446374464744657446674467744687446974470744717447274473744747447574476744777447874479744807448174482744837448474485744867448774488744897449074491744927449374494744957449674497744987449974500745017450274503745047450574506745077450874509745107451174512745137451474515745167451774518745197452074521745227452374524745257452674527745287452974530745317453274533745347453574536745377453874539745407454174542745437454474545745467454774548745497455074551745527455374554745557455674557745587455974560745617456274563745647456574566745677456874569745707457174572745737457474575745767457774578745797458074581745827458374584745857458674587745887458974590745917459274593745947459574596745977459874599746007460174602746037460474605746067460774608746097461074611746127461374614746157461674617746187461974620746217462274623746247462574626746277462874629746307463174632746337463474635746367463774638746397464074641746427464374644746457464674647746487464974650746517465274653746547465574656746577465874659746607466174662746637466474665746667466774668746697467074671746727467374674746757467674677746787467974680746817468274683746847468574686746877468874689746907469174692746937469474695746967469774698746997470074701747027470374704747057470674707747087470974710747117471274713747147471574716747177471874719747207472174722747237472474725747267472774728747297473074731747327473374734747357473674737747387473974740747417474274743747447474574746747477474874749747507475174752747537475474755747567475774758747597476074761747627476374764747657476674767747687476974770747717477274773747747477574776747777477874779747807478174782747837478474785747867478774788747897479074791747927479374794747957479674797747987479974800748017480274803748047480574806748077480874809748107481174812748137481474815748167481774818748197482074821748227482374824748257482674827748287482974830748317483274833748347483574836748377483874839748407484174842748437484474845748467484774848748497485074851748527485374854748557485674857748587485974860748617486274863748647486574866748677486874869748707487174872748737487474875748767487774878748797488074881748827488374884748857488674887748887488974890748917489274893748947489574896748977489874899749007490174902749037490474905749067490774908749097491074911749127491374914749157491674917749187491974920749217492274923749247492574926749277492874929749307493174932749337493474935749367493774938749397494074941749427494374944749457494674947749487494974950749517495274953749547495574956749577495874959749607496174962749637496474965749667496774968749697497074971749727497374974749757497674977749787497974980749817498274983749847498574986749877498874989749907499174992749937499474995749967499774998749997500075001750027500375004750057500675007750087500975010750117501275013750147501575016750177501875019750207502175022750237502475025750267502775028750297503075031750327503375034750357503675037750387503975040750417504275043750447504575046750477504875049750507505175052750537505475055750567505775058750597506075061750627506375064750657506675067750687506975070750717507275073750747507575076750777507875079750807508175082750837508475085750867508775088750897509075091750927509375094750957509675097750987509975100751017510275103751047510575106751077510875109751107511175112751137511475115751167511775118751197512075121751227512375124751257512675127751287512975130751317513275133751347513575136751377513875139751407514175142751437514475145751467514775148751497515075151751527515375154751557515675157751587515975160751617516275163751647516575166751677516875169751707517175172751737517475175751767517775178751797518075181751827518375184751857518675187751887518975190751917519275193751947519575196751977519875199752007520175202752037520475205752067520775208752097521075211752127521375214752157521675217752187521975220752217522275223752247522575226752277522875229752307523175232752337523475235752367523775238752397524075241752427524375244752457524675247752487524975250752517525275253752547525575256752577525875259752607526175262752637526475265752667526775268752697527075271752727527375274752757527675277752787527975280752817528275283752847528575286752877528875289752907529175292752937529475295752967529775298752997530075301753027530375304753057530675307753087530975310753117531275313753147531575316753177531875319753207532175322753237532475325753267532775328753297533075331753327533375334753357533675337753387533975340753417534275343753447534575346753477534875349753507535175352753537535475355753567535775358753597536075361753627536375364753657536675367753687536975370753717537275373753747537575376753777537875379753807538175382753837538475385753867538775388753897539075391753927539375394753957539675397753987539975400754017540275403754047540575406754077540875409754107541175412754137541475415754167541775418754197542075421754227542375424754257542675427754287542975430754317543275433754347543575436754377543875439754407544175442754437544475445754467544775448754497545075451754527545375454754557545675457754587545975460754617546275463754647546575466754677546875469754707547175472754737547475475754767547775478754797548075481754827548375484754857548675487754887548975490754917549275493754947549575496754977549875499755007550175502755037550475505755067550775508755097551075511755127551375514755157551675517755187551975520755217552275523755247552575526755277552875529755307553175532755337553475535755367553775538755397554075541755427554375544755457554675547755487554975550755517555275553755547555575556755577555875559755607556175562755637556475565755667556775568755697557075571755727557375574755757557675577755787557975580755817558275583755847558575586755877558875589755907559175592755937559475595755967559775598755997560075601756027560375604756057560675607756087560975610756117561275613756147561575616756177561875619756207562175622756237562475625756267562775628756297563075631756327563375634756357563675637756387563975640756417564275643756447564575646756477564875649756507565175652756537565475655756567565775658756597566075661756627566375664756657566675667756687566975670756717567275673756747567575676756777567875679756807568175682756837568475685756867568775688756897569075691756927569375694756957569675697756987569975700757017570275703757047570575706757077570875709757107571175712757137571475715757167571775718757197572075721757227572375724757257572675727757287572975730757317573275733757347573575736757377573875739757407574175742757437574475745757467574775748757497575075751757527575375754757557575675757757587575975760757617576275763757647576575766757677576875769757707577175772757737577475775757767577775778757797578075781757827578375784757857578675787757887578975790757917579275793757947579575796757977579875799758007580175802758037580475805758067580775808758097581075811758127581375814758157581675817758187581975820758217582275823758247582575826758277582875829758307583175832758337583475835758367583775838758397584075841758427584375844758457584675847758487584975850758517585275853758547585575856758577585875859758607586175862758637586475865758667586775868758697587075871758727587375874758757587675877758787587975880758817588275883758847588575886758877588875889758907589175892758937589475895758967589775898758997590075901759027590375904759057590675907759087590975910759117591275913759147591575916759177591875919759207592175922759237592475925759267592775928759297593075931759327593375934759357593675937759387593975940759417594275943759447594575946759477594875949759507595175952759537595475955759567595775958759597596075961759627596375964759657596675967759687596975970759717597275973759747597575976759777597875979759807598175982759837598475985759867598775988759897599075991759927599375994759957599675997759987599976000760017600276003760047600576006760077600876009760107601176012760137601476015760167601776018760197602076021760227602376024760257602676027760287602976030760317603276033760347603576036760377603876039760407604176042760437604476045760467604776048760497605076051760527605376054760557605676057760587605976060760617606276063760647606576066760677606876069760707607176072760737607476075760767607776078760797608076081760827608376084760857608676087760887608976090760917609276093760947609576096760977609876099761007610176102761037610476105761067610776108761097611076111761127611376114761157611676117761187611976120761217612276123761247612576126761277612876129761307613176132761337613476135761367613776138761397614076141761427614376144761457614676147761487614976150761517615276153761547615576156761577615876159761607616176162761637616476165761667616776168761697617076171761727617376174761757617676177761787617976180761817618276183761847618576186761877618876189761907619176192761937619476195761967619776198761997620076201762027620376204762057620676207762087620976210762117621276213762147621576216762177621876219762207622176222762237622476225762267622776228762297623076231762327623376234762357623676237762387623976240762417624276243762447624576246762477624876249762507625176252762537625476255762567625776258762597626076261762627626376264762657626676267762687626976270762717627276273762747627576276762777627876279762807628176282762837628476285762867628776288762897629076291762927629376294762957629676297762987629976300763017630276303763047630576306763077630876309763107631176312763137631476315763167631776318763197632076321763227632376324763257632676327763287632976330763317633276333763347633576336763377633876339763407634176342763437634476345763467634776348763497635076351763527635376354763557635676357763587635976360763617636276363763647636576366763677636876369763707637176372763737637476375763767637776378763797638076381763827638376384763857638676387763887638976390763917639276393763947639576396763977639876399764007640176402764037640476405764067640776408764097641076411764127641376414764157641676417764187641976420764217642276423764247642576426764277642876429764307643176432764337643476435764367643776438764397644076441764427644376444764457644676447764487644976450764517645276453764547645576456764577645876459764607646176462764637646476465764667646776468764697647076471764727647376474764757647676477764787647976480764817648276483764847648576486764877648876489764907649176492764937649476495764967649776498764997650076501765027650376504765057650676507765087650976510765117651276513765147651576516765177651876519765207652176522765237652476525765267652776528765297653076531765327653376534765357653676537765387653976540765417654276543765447654576546765477654876549765507655176552765537655476555765567655776558765597656076561765627656376564765657656676567765687656976570765717657276573765747657576576765777657876579765807658176582765837658476585765867658776588765897659076591765927659376594765957659676597765987659976600766017660276603766047660576606766077660876609766107661176612766137661476615766167661776618766197662076621766227662376624766257662676627766287662976630766317663276633766347663576636766377663876639766407664176642766437664476645766467664776648766497665076651766527665376654766557665676657766587665976660766617666276663766647666576666766677666876669766707667176672766737667476675766767667776678766797668076681766827668376684766857668676687766887668976690766917669276693766947669576696766977669876699767007670176702767037670476705767067670776708767097671076711767127671376714767157671676717767187671976720767217672276723767247672576726767277672876729767307673176732767337673476735767367673776738767397674076741767427674376744767457674676747767487674976750767517675276753767547675576756767577675876759767607676176762767637676476765767667676776768767697677076771767727677376774767757677676777767787677976780767817678276783767847678576786767877678876789767907679176792767937679476795767967679776798767997680076801768027680376804768057680676807768087680976810768117681276813768147681576816768177681876819768207682176822768237682476825768267682776828768297683076831768327683376834768357683676837768387683976840768417684276843768447684576846768477684876849768507685176852768537685476855768567685776858768597686076861768627686376864768657686676867768687686976870768717687276873768747687576876768777687876879768807688176882768837688476885768867688776888768897689076891768927689376894768957689676897768987689976900769017690276903769047690576906769077690876909769107691176912769137691476915769167691776918769197692076921769227692376924769257692676927769287692976930769317693276933769347693576936769377693876939769407694176942769437694476945769467694776948769497695076951769527695376954769557695676957769587695976960769617696276963769647696576966769677696876969769707697176972769737697476975769767697776978769797698076981769827698376984769857698676987769887698976990769917699276993769947699576996769977699876999770007700177002770037700477005770067700777008770097701077011770127701377014770157701677017770187701977020770217702277023770247702577026770277702877029770307703177032770337703477035770367703777038770397704077041770427704377044770457704677047770487704977050770517705277053770547705577056770577705877059770607706177062770637706477065770667706777068770697707077071770727707377074770757707677077770787707977080770817708277083770847708577086770877708877089770907709177092770937709477095770967709777098770997710077101771027710377104771057710677107771087710977110771117711277113771147711577116771177711877119771207712177122771237712477125771267712777128771297713077131771327713377134771357713677137771387713977140771417714277143771447714577146771477714877149771507715177152771537715477155771567715777158771597716077161771627716377164771657716677167771687716977170771717717277173771747717577176771777717877179771807718177182771837718477185771867718777188771897719077191771927719377194771957719677197771987719977200772017720277203772047720577206772077720877209772107721177212772137721477215772167721777218772197722077221772227722377224772257722677227772287722977230772317723277233772347723577236772377723877239772407724177242772437724477245772467724777248772497725077251772527725377254772557725677257772587725977260772617726277263772647726577266772677726877269772707727177272772737727477275772767727777278772797728077281772827728377284772857728677287772887728977290772917729277293772947729577296772977729877299773007730177302773037730477305773067730777308773097731077311773127731377314773157731677317773187731977320773217732277323773247732577326773277732877329773307733177332773337733477335773367733777338773397734077341773427734377344773457734677347773487734977350773517735277353773547735577356773577735877359773607736177362773637736477365773667736777368773697737077371773727737377374773757737677377773787737977380773817738277383773847738577386773877738877389773907739177392773937739477395773967739777398773997740077401774027740377404774057740677407774087740977410774117741277413774147741577416774177741877419774207742177422774237742477425774267742777428774297743077431774327743377434774357743677437774387743977440774417744277443774447744577446774477744877449774507745177452774537745477455774567745777458774597746077461774627746377464774657746677467774687746977470774717747277473774747747577476774777747877479774807748177482774837748477485774867748777488774897749077491774927749377494774957749677497774987749977500775017750277503775047750577506775077750877509775107751177512775137751477515775167751777518775197752077521775227752377524775257752677527775287752977530775317753277533775347753577536775377753877539775407754177542775437754477545775467754777548775497755077551775527755377554775557755677557775587755977560775617756277563775647756577566775677756877569775707757177572775737757477575775767757777578775797758077581775827758377584775857758677587775887758977590775917759277593775947759577596775977759877599776007760177602776037760477605776067760777608776097761077611776127761377614776157761677617776187761977620776217762277623776247762577626776277762877629776307763177632776337763477635776367763777638776397764077641776427764377644776457764677647776487764977650776517765277653776547765577656776577765877659776607766177662776637766477665776667766777668776697767077671776727767377674776757767677677776787767977680776817768277683776847768577686776877768877689776907769177692776937769477695776967769777698776997770077701777027770377704777057770677707777087770977710777117771277713777147771577716777177771877719777207772177722777237772477725777267772777728777297773077731777327773377734777357773677737777387773977740777417774277743777447774577746777477774877749777507775177752777537775477755777567775777758777597776077761777627776377764777657776677767777687776977770777717777277773777747777577776777777777877779777807778177782777837778477785777867778777788777897779077791777927779377794777957779677797777987779977800778017780277803778047780577806778077780877809778107781177812778137781477815778167781777818778197782077821778227782377824778257782677827778287782977830778317783277833778347783577836778377783877839778407784177842778437784477845778467784777848778497785077851778527785377854778557785677857778587785977860778617786277863778647786577866778677786877869778707787177872778737787477875778767787777878778797788077881778827788377884778857788677887778887788977890778917789277893778947789577896778977789877899779007790177902779037790477905779067790777908779097791077911779127791377914779157791677917779187791977920779217792277923779247792577926779277792877929779307793177932779337793477935779367793777938779397794077941779427794377944779457794677947779487794977950779517795277953779547795577956779577795877959779607796177962779637796477965779667796777968779697797077971779727797377974779757797677977779787797977980779817798277983779847798577986779877798877989779907799177992779937799477995779967799777998779997800078001780027800378004780057800678007780087800978010780117801278013780147801578016780177801878019780207802178022780237802478025780267802778028780297803078031780327803378034780357803678037780387803978040780417804278043780447804578046780477804878049780507805178052780537805478055780567805778058780597806078061780627806378064780657806678067780687806978070780717807278073780747807578076780777807878079780807808178082780837808478085780867808778088780897809078091780927809378094780957809678097780987809978100781017810278103781047810578106781077810878109781107811178112781137811478115781167811778118781197812078121781227812378124781257812678127781287812978130781317813278133781347813578136781377813878139781407814178142781437814478145781467814778148781497815078151781527815378154781557815678157781587815978160781617816278163781647816578166781677816878169781707817178172781737817478175781767817778178781797818078181781827818378184781857818678187781887818978190781917819278193781947819578196781977819878199782007820178202782037820478205782067820778208782097821078211782127821378214782157821678217782187821978220782217822278223782247822578226782277822878229782307823178232782337823478235782367823778238782397824078241782427824378244782457824678247782487824978250782517825278253782547825578256782577825878259782607826178262782637826478265782667826778268782697827078271782727827378274782757827678277782787827978280782817828278283782847828578286782877828878289782907829178292782937829478295782967829778298782997830078301783027830378304783057830678307783087830978310783117831278313783147831578316783177831878319783207832178322783237832478325783267832778328783297833078331783327833378334783357833678337783387833978340783417834278343783447834578346783477834878349783507835178352783537835478355783567835778358783597836078361783627836378364783657836678367783687836978370783717837278373783747837578376783777837878379783807838178382783837838478385783867838778388783897839078391783927839378394783957839678397783987839978400784017840278403784047840578406784077840878409784107841178412784137841478415784167841778418784197842078421784227842378424784257842678427784287842978430784317843278433784347843578436784377843878439784407844178442784437844478445784467844778448784497845078451784527845378454784557845678457784587845978460784617846278463784647846578466784677846878469784707847178472784737847478475784767847778478784797848078481784827848378484784857848678487784887848978490784917849278493784947849578496784977849878499785007850178502785037850478505785067850778508785097851078511785127851378514785157851678517785187851978520785217852278523785247852578526785277852878529785307853178532785337853478535785367853778538785397854078541785427854378544785457854678547785487854978550785517855278553785547855578556785577855878559785607856178562785637856478565785667856778568785697857078571785727857378574785757857678577785787857978580785817858278583785847858578586785877858878589785907859178592785937859478595785967859778598785997860078601786027860378604786057860678607786087860978610786117861278613786147861578616786177861878619786207862178622786237862478625786267862778628786297863078631786327863378634786357863678637786387863978640786417864278643786447864578646786477864878649786507865178652786537865478655786567865778658786597866078661786627866378664786657866678667786687866978670786717867278673786747867578676786777867878679786807868178682786837868478685786867868778688786897869078691786927869378694786957869678697786987869978700787017870278703787047870578706787077870878709787107871178712787137871478715787167871778718787197872078721787227872378724787257872678727787287872978730787317873278733787347873578736787377873878739787407874178742787437874478745787467874778748787497875078751787527875378754787557875678757787587875978760787617876278763787647876578766787677876878769787707877178772787737877478775787767877778778787797878078781787827878378784787857878678787787887878978790787917879278793787947879578796787977879878799788007880178802788037880478805788067880778808788097881078811788127881378814788157881678817788187881978820788217882278823788247882578826788277882878829788307883178832788337883478835788367883778838788397884078841788427884378844788457884678847788487884978850788517885278853788547885578856788577885878859788607886178862788637886478865788667886778868788697887078871788727887378874788757887678877788787887978880788817888278883788847888578886788877888878889788907889178892788937889478895788967889778898788997890078901789027890378904789057890678907789087890978910789117891278913789147891578916789177891878919789207892178922789237892478925789267892778928789297893078931789327893378934789357893678937789387893978940789417894278943789447894578946789477894878949789507895178952789537895478955789567895778958789597896078961789627896378964789657896678967789687896978970789717897278973789747897578976789777897878979789807898178982789837898478985789867898778988789897899078991789927899378994789957899678997789987899979000790017900279003790047900579006790077900879009790107901179012790137901479015790167901779018790197902079021790227902379024790257902679027790287902979030790317903279033790347903579036790377903879039790407904179042790437904479045790467904779048790497905079051790527905379054790557905679057790587905979060790617906279063790647906579066790677906879069790707907179072790737907479075790767907779078790797908079081790827908379084790857908679087790887908979090790917909279093790947909579096790977909879099791007910179102791037910479105791067910779108791097911079111791127911379114791157911679117791187911979120791217912279123791247912579126791277912879129791307913179132791337913479135791367913779138791397914079141791427914379144791457914679147791487914979150791517915279153791547915579156791577915879159791607916179162791637916479165791667916779168791697917079171791727917379174791757917679177791787917979180791817918279183791847918579186791877918879189791907919179192791937919479195791967919779198791997920079201792027920379204792057920679207792087920979210792117921279213792147921579216792177921879219792207922179222792237922479225792267922779228792297923079231792327923379234792357923679237792387923979240792417924279243792447924579246792477924879249792507925179252792537925479255792567925779258792597926079261792627926379264792657926679267792687926979270792717927279273792747927579276792777927879279792807928179282792837928479285792867928779288792897929079291792927929379294792957929679297792987929979300793017930279303793047930579306793077930879309793107931179312793137931479315793167931779318793197932079321793227932379324793257932679327793287932979330793317933279333793347933579336793377933879339793407934179342793437934479345793467934779348793497935079351793527935379354793557935679357793587935979360793617936279363793647936579366793677936879369793707937179372793737937479375793767937779378793797938079381793827938379384793857938679387793887938979390793917939279393793947939579396793977939879399794007940179402794037940479405794067940779408794097941079411794127941379414794157941679417794187941979420794217942279423794247942579426794277942879429794307943179432794337943479435794367943779438794397944079441794427944379444794457944679447794487944979450794517945279453794547945579456794577945879459794607946179462794637946479465794667946779468794697947079471794727947379474794757947679477794787947979480794817948279483794847948579486794877948879489794907949179492794937949479495794967949779498794997950079501795027950379504795057950679507795087950979510795117951279513795147951579516795177951879519795207952179522795237952479525795267952779528795297953079531795327953379534795357953679537795387953979540795417954279543795447954579546795477954879549795507955179552795537955479555795567955779558795597956079561795627956379564795657956679567795687956979570795717957279573795747957579576795777957879579795807958179582795837958479585795867958779588795897959079591795927959379594795957959679597795987959979600796017960279603796047960579606796077960879609796107961179612796137961479615796167961779618796197962079621796227962379624796257962679627796287962979630796317963279633796347963579636796377963879639796407964179642796437964479645796467964779648796497965079651796527965379654796557965679657796587965979660796617966279663796647966579666796677966879669796707967179672796737967479675796767967779678796797968079681796827968379684796857968679687796887968979690796917969279693796947969579696796977969879699797007970179702797037970479705797067970779708797097971079711797127971379714797157971679717797187971979720797217972279723797247972579726797277972879729797307973179732797337973479735797367973779738797397974079741797427974379744797457974679747797487974979750797517975279753797547975579756797577975879759797607976179762797637976479765797667976779768797697977079771797727977379774797757977679777797787977979780797817978279783797847978579786797877978879789797907979179792797937979479795797967979779798797997980079801798027980379804798057980679807798087980979810798117981279813798147981579816798177981879819798207982179822798237982479825798267982779828798297983079831798327983379834798357983679837798387983979840798417984279843798447984579846798477984879849798507985179852798537985479855798567985779858798597986079861798627986379864798657986679867798687986979870798717987279873798747987579876798777987879879798807988179882798837988479885798867988779888798897989079891798927989379894798957989679897798987989979900799017990279903799047990579906799077990879909799107991179912799137991479915799167991779918799197992079921799227992379924799257992679927799287992979930799317993279933799347993579936799377993879939799407994179942799437994479945799467994779948799497995079951799527995379954799557995679957799587995979960799617996279963799647996579966799677996879969799707997179972799737997479975799767997779978799797998079981799827998379984799857998679987799887998979990799917999279993799947999579996799977999879999800008000180002800038000480005800068000780008800098001080011800128001380014800158001680017800188001980020800218002280023800248002580026800278002880029800308003180032800338003480035800368003780038800398004080041800428004380044800458004680047800488004980050800518005280053800548005580056800578005880059800608006180062800638006480065800668006780068800698007080071800728007380074800758007680077800788007980080800818008280083800848008580086800878008880089800908009180092800938009480095800968009780098800998010080101801028010380104801058010680107801088010980110801118011280113801148011580116801178011880119801208012180122801238012480125801268012780128801298013080131801328013380134801358013680137801388013980140801418014280143801448014580146801478014880149801508015180152801538015480155801568015780158801598016080161801628016380164801658016680167801688016980170801718017280173801748017580176801778017880179801808018180182801838018480185801868018780188801898019080191801928019380194801958019680197801988019980200802018020280203802048020580206802078020880209802108021180212802138021480215802168021780218802198022080221802228022380224802258022680227802288022980230802318023280233802348023580236802378023880239802408024180242802438024480245802468024780248802498025080251802528025380254802558025680257802588025980260802618026280263802648026580266802678026880269802708027180272802738027480275802768027780278802798028080281802828028380284802858028680287802888028980290802918029280293802948029580296802978029880299803008030180302803038030480305803068030780308803098031080311803128031380314803158031680317803188031980320803218032280323803248032580326803278032880329803308033180332803338033480335803368033780338803398034080341803428034380344803458034680347803488034980350803518035280353803548035580356803578035880359803608036180362803638036480365803668036780368803698037080371803728037380374803758037680377803788037980380803818038280383803848038580386803878038880389803908039180392803938039480395803968039780398803998040080401804028040380404804058040680407804088040980410804118041280413804148041580416804178041880419804208042180422804238042480425804268042780428804298043080431804328043380434804358043680437804388043980440804418044280443804448044580446804478044880449804508045180452804538045480455804568045780458804598046080461804628046380464804658046680467804688046980470804718047280473804748047580476804778047880479804808048180482804838048480485804868048780488804898049080491804928049380494804958049680497804988049980500805018050280503805048050580506805078050880509805108051180512805138051480515805168051780518805198052080521805228052380524805258052680527805288052980530805318053280533805348053580536805378053880539805408054180542805438054480545805468054780548805498055080551805528055380554805558055680557805588055980560805618056280563805648056580566805678056880569805708057180572805738057480575805768057780578805798058080581805828058380584805858058680587805888058980590805918059280593805948059580596805978059880599806008060180602806038060480605806068060780608806098061080611806128061380614806158061680617806188061980620806218062280623806248062580626806278062880629806308063180632806338063480635806368063780638806398064080641806428064380644806458064680647806488064980650806518065280653806548065580656806578065880659806608066180662806638066480665806668066780668806698067080671806728067380674806758067680677806788067980680806818068280683806848068580686806878068880689806908069180692806938069480695806968069780698806998070080701807028070380704807058070680707807088070980710807118071280713807148071580716807178071880719807208072180722807238072480725807268072780728807298073080731807328073380734807358073680737807388073980740807418074280743807448074580746807478074880749807508075180752807538075480755807568075780758807598076080761807628076380764807658076680767807688076980770807718077280773807748077580776807778077880779807808078180782807838078480785807868078780788807898079080791807928079380794807958079680797807988079980800808018080280803808048080580806808078080880809808108081180812808138081480815808168081780818808198082080821808228082380824808258082680827808288082980830808318083280833808348083580836808378083880839808408084180842808438084480845808468084780848808498085080851808528085380854808558085680857808588085980860808618086280863808648086580866808678086880869808708087180872808738087480875808768087780878808798088080881808828088380884808858088680887808888088980890808918089280893808948089580896808978089880899809008090180902809038090480905809068090780908809098091080911809128091380914809158091680917809188091980920809218092280923809248092580926809278092880929809308093180932809338093480935809368093780938809398094080941809428094380944809458094680947809488094980950809518095280953809548095580956809578095880959809608096180962809638096480965809668096780968809698097080971809728097380974809758097680977809788097980980809818098280983809848098580986809878098880989809908099180992809938099480995809968099780998809998100081001810028100381004810058100681007810088100981010810118101281013810148101581016810178101881019810208102181022810238102481025810268102781028810298103081031810328103381034810358103681037810388103981040810418104281043810448104581046810478104881049810508105181052810538105481055810568105781058810598106081061810628106381064810658106681067810688106981070810718107281073810748107581076810778107881079810808108181082810838108481085810868108781088810898109081091810928109381094810958109681097810988109981100811018110281103811048110581106811078110881109811108111181112811138111481115811168111781118811198112081121811228112381124811258112681127811288112981130811318113281133811348113581136811378113881139811408114181142811438114481145811468114781148811498115081151811528115381154811558115681157811588115981160811618116281163811648116581166811678116881169811708117181172811738117481175811768117781178811798118081181811828118381184811858118681187811888118981190811918119281193811948119581196811978119881199812008120181202812038120481205812068120781208812098121081211812128121381214812158121681217812188121981220812218122281223812248122581226812278122881229812308123181232812338123481235812368123781238812398124081241812428124381244812458124681247812488124981250812518125281253812548125581256812578125881259812608126181262812638126481265812668126781268812698127081271812728127381274812758127681277812788127981280812818128281283812848128581286812878128881289812908129181292812938129481295812968129781298812998130081301813028130381304813058130681307813088130981310813118131281313813148131581316813178131881319813208132181322813238132481325813268132781328813298133081331813328133381334813358133681337813388133981340813418134281343813448134581346813478134881349813508135181352813538135481355813568135781358813598136081361813628136381364813658136681367813688136981370813718137281373813748137581376813778137881379813808138181382813838138481385813868138781388813898139081391813928139381394813958139681397813988139981400814018140281403814048140581406814078140881409814108141181412814138141481415814168141781418814198142081421814228142381424814258142681427814288142981430814318143281433814348143581436814378143881439814408144181442814438144481445814468144781448814498145081451814528145381454814558145681457814588145981460814618146281463814648146581466814678146881469814708147181472814738147481475814768147781478814798148081481814828148381484814858148681487814888148981490814918149281493814948149581496814978149881499815008150181502815038150481505815068150781508815098151081511815128151381514815158151681517815188151981520815218152281523815248152581526815278152881529815308153181532815338153481535815368153781538815398154081541815428154381544815458154681547815488154981550815518155281553815548155581556815578155881559815608156181562815638156481565815668156781568815698157081571815728157381574815758157681577815788157981580815818158281583815848158581586815878158881589815908159181592815938159481595815968159781598815998160081601816028160381604816058160681607816088160981610816118161281613816148161581616816178161881619816208162181622816238162481625816268162781628816298163081631816328163381634816358163681637816388163981640816418164281643816448164581646816478164881649816508165181652816538165481655816568165781658816598166081661816628166381664816658166681667816688166981670816718167281673816748167581676816778167881679816808168181682816838168481685816868168781688816898169081691816928169381694816958169681697816988169981700817018170281703817048170581706817078170881709817108171181712817138171481715817168171781718817198172081721817228172381724817258172681727817288172981730817318173281733817348173581736817378173881739817408174181742817438174481745817468174781748817498175081751817528175381754817558175681757817588175981760817618176281763817648176581766817678176881769817708177181772817738177481775817768177781778817798178081781817828178381784817858178681787817888178981790817918179281793817948179581796817978179881799818008180181802818038180481805818068180781808818098181081811818128181381814818158181681817818188181981820818218182281823818248182581826818278182881829818308183181832818338183481835818368183781838818398184081841818428184381844818458184681847818488184981850818518185281853818548185581856818578185881859818608186181862818638186481865818668186781868818698187081871818728187381874818758187681877818788187981880818818188281883818848188581886818878188881889818908189181892818938189481895818968189781898818998190081901819028190381904819058190681907819088190981910819118191281913819148191581916819178191881919819208192181922819238192481925819268192781928819298193081931819328193381934819358193681937819388193981940819418194281943819448194581946819478194881949819508195181952819538195481955819568195781958819598196081961819628196381964819658196681967819688196981970819718197281973819748197581976819778197881979819808198181982819838198481985819868198781988819898199081991819928199381994819958199681997819988199982000820018200282003820048200582006820078200882009820108201182012820138201482015820168201782018820198202082021820228202382024820258202682027820288202982030820318203282033820348203582036820378203882039820408204182042820438204482045820468204782048820498205082051820528205382054820558205682057820588205982060820618206282063820648206582066820678206882069820708207182072820738207482075820768207782078820798208082081820828208382084820858208682087820888208982090820918209282093820948209582096820978209882099821008210182102821038210482105821068210782108821098211082111821128211382114821158211682117821188211982120821218212282123821248212582126821278212882129821308213182132821338213482135821368213782138821398214082141821428214382144821458214682147821488214982150821518215282153821548215582156821578215882159821608216182162821638216482165821668216782168821698217082171821728217382174821758217682177821788217982180821818218282183821848218582186821878218882189821908219182192821938219482195821968219782198821998220082201822028220382204822058220682207822088220982210822118221282213822148221582216822178221882219822208222182222822238222482225822268222782228822298223082231822328223382234822358223682237822388223982240822418224282243822448224582246822478224882249822508225182252822538225482255822568225782258822598226082261822628226382264822658226682267822688226982270822718227282273822748227582276822778227882279822808228182282822838228482285822868228782288822898229082291822928229382294822958229682297822988229982300823018230282303823048230582306823078230882309823108231182312823138231482315823168231782318823198232082321823228232382324823258232682327823288232982330823318233282333823348233582336823378233882339823408234182342823438234482345823468234782348823498235082351823528235382354823558235682357823588235982360823618236282363823648236582366823678236882369823708237182372823738237482375823768237782378823798238082381823828238382384823858238682387823888238982390823918239282393823948239582396823978239882399824008240182402824038240482405824068240782408824098241082411824128241382414824158241682417824188241982420824218242282423824248242582426824278242882429824308243182432824338243482435824368243782438824398244082441824428244382444824458244682447824488244982450824518245282453824548245582456824578245882459824608246182462824638246482465824668246782468824698247082471824728247382474824758247682477824788247982480824818248282483824848248582486824878248882489824908249182492824938249482495824968249782498824998250082501825028250382504825058250682507825088250982510825118251282513825148251582516825178251882519825208252182522825238252482525825268252782528825298253082531825328253382534825358253682537825388253982540825418254282543825448254582546825478254882549825508255182552825538255482555825568255782558825598256082561825628256382564825658256682567825688256982570825718257282573825748257582576825778257882579825808258182582825838258482585825868258782588825898259082591825928259382594825958259682597825988259982600826018260282603826048260582606826078260882609826108261182612826138261482615826168261782618826198262082621826228262382624826258262682627826288262982630826318263282633826348263582636826378263882639826408264182642826438264482645826468264782648826498265082651826528265382654826558265682657826588265982660826618266282663826648266582666826678266882669826708267182672826738267482675826768267782678826798268082681826828268382684826858268682687826888268982690826918269282693826948269582696826978269882699827008270182702827038270482705827068270782708827098271082711827128271382714827158271682717827188271982720827218272282723827248272582726827278272882729827308273182732827338273482735827368273782738827398274082741827428274382744827458274682747827488274982750827518275282753827548275582756827578275882759827608276182762827638276482765827668276782768827698277082771827728277382774827758277682777827788277982780827818278282783827848278582786827878278882789827908279182792827938279482795827968279782798827998280082801828028280382804828058280682807828088280982810828118281282813828148281582816828178281882819828208282182822828238282482825828268282782828828298283082831828328283382834828358283682837828388283982840828418284282843828448284582846828478284882849828508285182852828538285482855828568285782858828598286082861828628286382864828658286682867828688286982870828718287282873828748287582876828778287882879828808288182882828838288482885828868288782888828898289082891828928289382894828958289682897828988289982900829018290282903829048290582906829078290882909829108291182912829138291482915829168291782918829198292082921829228292382924829258292682927829288292982930829318293282933829348293582936829378293882939829408294182942829438294482945829468294782948829498295082951829528295382954829558295682957829588295982960829618296282963829648296582966829678296882969829708297182972829738297482975829768297782978829798298082981829828298382984829858298682987829888298982990829918299282993829948299582996829978299882999830008300183002830038300483005830068300783008830098301083011830128301383014830158301683017830188301983020830218302283023830248302583026830278302883029830308303183032830338303483035830368303783038830398304083041830428304383044830458304683047830488304983050830518305283053830548305583056830578305883059830608306183062830638306483065830668306783068830698307083071830728307383074830758307683077830788307983080830818308283083830848308583086830878308883089830908309183092830938309483095830968309783098830998310083101831028310383104831058310683107831088310983110831118311283113831148311583116831178311883119831208312183122831238312483125831268312783128831298313083131831328313383134831358313683137831388313983140831418314283143831448314583146831478314883149831508315183152831538315483155831568315783158831598316083161831628316383164831658316683167831688316983170831718317283173831748317583176831778317883179831808318183182831838318483185831868318783188831898319083191831928319383194831958319683197831988319983200832018320283203832048320583206832078320883209832108321183212832138321483215832168321783218832198322083221832228322383224832258322683227832288322983230832318323283233832348323583236832378323883239832408324183242832438324483245832468324783248832498325083251832528325383254832558325683257832588325983260832618326283263832648326583266832678326883269832708327183272832738327483275832768327783278832798328083281832828328383284832858328683287832888328983290832918329283293832948329583296832978329883299833008330183302833038330483305833068330783308833098331083311833128331383314833158331683317833188331983320833218332283323833248332583326833278332883329833308333183332833338333483335833368333783338833398334083341833428334383344833458334683347833488334983350833518335283353833548335583356833578335883359833608336183362833638336483365833668336783368833698337083371833728337383374833758337683377833788337983380833818338283383833848338583386833878338883389833908339183392833938339483395833968339783398833998340083401834028340383404834058340683407834088340983410834118341283413834148341583416834178341883419834208342183422834238342483425834268342783428834298343083431834328343383434834358343683437834388343983440834418344283443834448344583446834478344883449834508345183452834538345483455834568345783458834598346083461834628346383464834658346683467834688346983470834718347283473834748347583476834778347883479834808348183482834838348483485834868348783488834898349083491834928349383494834958349683497834988349983500835018350283503835048350583506835078350883509835108351183512835138351483515835168351783518835198352083521835228352383524835258352683527835288352983530835318353283533835348353583536835378353883539835408354183542835438354483545835468354783548835498355083551835528355383554835558355683557835588355983560835618356283563835648356583566835678356883569835708357183572835738357483575835768357783578835798358083581835828358383584835858358683587835888358983590835918359283593835948359583596835978359883599836008360183602836038360483605836068360783608836098361083611836128361383614836158361683617836188361983620836218362283623836248362583626836278362883629836308363183632836338363483635836368363783638836398364083641836428364383644836458364683647836488364983650836518365283653836548365583656836578365883659836608366183662836638366483665836668366783668836698367083671836728367383674836758367683677836788367983680836818368283683836848368583686836878368883689836908369183692836938369483695836968369783698836998370083701837028370383704837058370683707837088370983710837118371283713837148371583716837178371883719837208372183722837238372483725837268372783728837298373083731837328373383734837358373683737837388373983740837418374283743837448374583746837478374883749837508375183752837538375483755837568375783758837598376083761837628376383764837658376683767837688376983770837718377283773837748377583776837778377883779837808378183782837838378483785837868378783788837898379083791837928379383794837958379683797837988379983800838018380283803838048380583806838078380883809838108381183812838138381483815838168381783818838198382083821838228382383824838258382683827838288382983830838318383283833838348383583836838378383883839838408384183842838438384483845838468384783848838498385083851838528385383854838558385683857838588385983860838618386283863838648386583866838678386883869838708387183872838738387483875838768387783878838798388083881838828388383884838858388683887838888388983890838918389283893838948389583896838978389883899839008390183902839038390483905839068390783908839098391083911839128391383914839158391683917839188391983920839218392283923839248392583926839278392883929839308393183932839338393483935839368393783938839398394083941839428394383944839458394683947839488394983950839518395283953839548395583956839578395883959839608396183962839638396483965839668396783968839698397083971839728397383974839758397683977839788397983980839818398283983839848398583986839878398883989839908399183992839938399483995839968399783998839998400084001840028400384004840058400684007840088400984010840118401284013840148401584016840178401884019840208402184022840238402484025840268402784028840298403084031840328403384034840358403684037840388403984040840418404284043840448404584046840478404884049840508405184052840538405484055840568405784058840598406084061840628406384064840658406684067840688406984070840718407284073840748407584076840778407884079840808408184082840838408484085840868408784088840898409084091840928409384094840958409684097840988409984100841018410284103841048410584106841078410884109841108411184112841138411484115841168411784118841198412084121841228412384124841258412684127841288412984130841318413284133841348413584136841378413884139841408414184142841438414484145841468414784148841498415084151841528415384154841558415684157841588415984160841618416284163841648416584166841678416884169841708417184172841738417484175841768417784178841798418084181841828418384184841858418684187841888418984190841918419284193841948419584196841978419884199842008420184202842038420484205842068420784208842098421084211842128421384214842158421684217842188421984220842218422284223842248422584226842278422884229842308423184232842338423484235842368423784238842398424084241842428424384244842458424684247842488424984250842518425284253842548425584256842578425884259842608426184262842638426484265842668426784268842698427084271842728427384274842758427684277842788427984280842818428284283842848428584286842878428884289842908429184292842938429484295842968429784298842998430084301843028430384304843058430684307843088430984310843118431284313843148431584316843178431884319843208432184322843238432484325843268432784328843298433084331843328433384334843358433684337843388433984340843418434284343843448434584346843478434884349843508435184352843538435484355843568435784358843598436084361843628436384364843658436684367843688436984370843718437284373843748437584376843778437884379843808438184382843838438484385843868438784388843898439084391843928439384394843958439684397843988439984400844018440284403844048440584406844078440884409844108441184412844138441484415844168441784418844198442084421844228442384424844258442684427844288442984430844318443284433844348443584436844378443884439844408444184442844438444484445844468444784448844498445084451844528445384454844558445684457844588445984460844618446284463844648446584466844678446884469844708447184472844738447484475844768447784478844798448084481844828448384484844858448684487844888448984490844918449284493844948449584496844978449884499845008450184502845038450484505845068450784508845098451084511845128451384514845158451684517845188451984520845218452284523845248452584526845278452884529845308453184532845338453484535845368453784538845398454084541845428454384544845458454684547845488454984550845518455284553845548455584556845578455884559845608456184562845638456484565845668456784568845698457084571845728457384574845758457684577845788457984580845818458284583845848458584586845878458884589845908459184592845938459484595845968459784598845998460084601846028460384604846058460684607846088460984610846118461284613846148461584616846178461884619846208462184622846238462484625846268462784628846298463084631846328463384634846358463684637846388463984640846418464284643846448464584646846478464884649846508465184652846538465484655846568465784658846598466084661846628466384664846658466684667846688466984670846718467284673846748467584676846778467884679846808468184682846838468484685846868468784688846898469084691846928469384694846958469684697846988469984700847018470284703847048470584706847078470884709847108471184712847138471484715847168471784718847198472084721847228472384724847258472684727847288472984730847318473284733847348473584736847378473884739847408474184742847438474484745847468474784748847498475084751847528475384754847558475684757847588475984760847618476284763847648476584766847678476884769847708477184772847738477484775847768477784778847798478084781847828478384784847858478684787847888478984790847918479284793847948479584796847978479884799848008480184802848038480484805848068480784808848098481084811848128481384814848158481684817848188481984820848218482284823848248482584826848278482884829848308483184832848338483484835848368483784838848398484084841848428484384844848458484684847848488484984850848518485284853848548485584856848578485884859848608486184862848638486484865848668486784868848698487084871848728487384874848758487684877848788487984880848818488284883848848488584886848878488884889848908489184892848938489484895848968489784898848998490084901849028490384904849058490684907849088490984910849118491284913849148491584916849178491884919849208492184922849238492484925849268492784928849298493084931849328493384934849358493684937849388493984940849418494284943849448494584946849478494884949849508495184952849538495484955849568495784958849598496084961849628496384964849658496684967849688496984970849718497284973849748497584976849778497884979849808498184982849838498484985849868498784988849898499084991849928499384994849958499684997849988499985000850018500285003850048500585006850078500885009850108501185012850138501485015850168501785018850198502085021850228502385024850258502685027850288502985030850318503285033850348503585036850378503885039850408504185042850438504485045850468504785048850498505085051850528505385054850558505685057850588505985060850618506285063850648506585066850678506885069850708507185072850738507485075850768507785078850798508085081850828508385084850858508685087850888508985090850918509285093850948509585096850978509885099851008510185102851038510485105851068510785108851098511085111851128511385114851158511685117851188511985120851218512285123851248512585126851278512885129851308513185132851338513485135851368513785138851398514085141851428514385144851458514685147851488514985150851518515285153851548515585156851578515885159851608516185162851638516485165851668516785168851698517085171851728517385174851758517685177851788517985180851818518285183851848518585186851878518885189851908519185192851938519485195851968519785198851998520085201852028520385204852058520685207852088520985210852118521285213852148521585216852178521885219852208522185222852238522485225852268522785228852298523085231852328523385234852358523685237852388523985240852418524285243852448524585246852478524885249852508525185252852538525485255852568525785258852598526085261852628526385264852658526685267852688526985270852718527285273852748527585276852778527885279852808528185282852838528485285852868528785288852898529085291852928529385294852958529685297852988529985300853018530285303853048530585306853078530885309853108531185312853138531485315853168531785318853198532085321853228532385324853258532685327853288532985330853318533285333853348533585336853378533885339853408534185342853438534485345853468534785348853498535085351853528535385354853558535685357853588535985360853618536285363853648536585366853678536885369853708537185372853738537485375853768537785378853798538085381853828538385384853858538685387853888538985390853918539285393853948539585396853978539885399854008540185402854038540485405854068540785408854098541085411854128541385414854158541685417854188541985420854218542285423854248542585426854278542885429854308543185432854338543485435854368543785438854398544085441854428544385444854458544685447854488544985450854518545285453854548545585456854578545885459854608546185462854638546485465854668546785468854698547085471854728547385474854758547685477854788547985480854818548285483854848548585486854878548885489854908549185492854938549485495854968549785498854998550085501855028550385504855058550685507855088550985510855118551285513855148551585516855178551885519855208552185522855238552485525855268552785528855298553085531855328553385534855358553685537855388553985540855418554285543855448554585546855478554885549855508555185552855538555485555855568555785558855598556085561855628556385564855658556685567855688556985570855718557285573855748557585576855778557885579855808558185582855838558485585855868558785588855898559085591855928559385594855958559685597855988559985600856018560285603856048560585606856078560885609856108561185612856138561485615856168561785618856198562085621856228562385624856258562685627856288562985630856318563285633856348563585636856378563885639856408564185642856438564485645856468564785648856498565085651856528565385654856558565685657856588565985660856618566285663856648566585666856678566885669856708567185672856738567485675856768567785678856798568085681856828568385684856858568685687856888568985690856918569285693856948569585696856978569885699857008570185702857038570485705857068570785708857098571085711857128571385714857158571685717857188571985720857218572285723857248572585726857278572885729857308573185732857338573485735857368573785738857398574085741857428574385744857458574685747857488574985750857518575285753857548575585756857578575885759857608576185762857638576485765857668576785768857698577085771857728577385774857758577685777857788577985780857818578285783857848578585786857878578885789857908579185792857938579485795857968579785798857998580085801858028580385804858058580685807858088580985810858118581285813858148581585816858178581885819858208582185822858238582485825858268582785828858298583085831858328583385834858358583685837858388583985840858418584285843858448584585846858478584885849858508585185852858538585485855858568585785858858598586085861858628586385864858658586685867858688586985870858718587285873858748587585876858778587885879858808588185882858838588485885858868588785888858898589085891858928589385894858958589685897858988589985900859018590285903859048590585906859078590885909859108591185912859138591485915859168591785918859198592085921859228592385924859258592685927859288592985930859318593285933859348593585936859378593885939859408594185942859438594485945859468594785948859498595085951859528595385954859558595685957859588595985960859618596285963859648596585966859678596885969859708597185972859738597485975859768597785978859798598085981859828598385984859858598685987859888598985990859918599285993859948599585996859978599885999860008600186002860038600486005860068600786008860098601086011860128601386014860158601686017860188601986020860218602286023860248602586026860278602886029860308603186032860338603486035860368603786038860398604086041860428604386044860458604686047860488604986050860518605286053860548605586056860578605886059860608606186062860638606486065860668606786068860698607086071860728607386074860758607686077860788607986080860818608286083860848608586086860878608886089860908609186092860938609486095860968609786098860998610086101861028610386104861058610686107861088610986110861118611286113861148611586116861178611886119861208612186122861238612486125861268612786128861298613086131861328613386134861358613686137861388613986140861418614286143861448614586146861478614886149861508615186152861538615486155861568615786158861598616086161861628616386164861658616686167861688616986170861718617286173861748617586176861778617886179861808618186182861838618486185861868618786188861898619086191861928619386194861958619686197861988619986200862018620286203862048620586206862078620886209862108621186212862138621486215862168621786218862198622086221862228622386224862258622686227862288622986230862318623286233862348623586236862378623886239862408624186242862438624486245862468624786248862498625086251862528625386254862558625686257862588625986260862618626286263862648626586266862678626886269862708627186272862738627486275862768627786278862798628086281862828628386284862858628686287862888628986290862918629286293862948629586296862978629886299863008630186302863038630486305863068630786308863098631086311863128631386314863158631686317863188631986320863218632286323863248632586326863278632886329863308633186332863338633486335863368633786338863398634086341863428634386344863458634686347863488634986350863518635286353863548635586356863578635886359863608636186362863638636486365863668636786368863698637086371863728637386374863758637686377863788637986380863818638286383863848638586386863878638886389863908639186392863938639486395863968639786398863998640086401864028640386404864058640686407864088640986410864118641286413864148641586416864178641886419864208642186422864238642486425864268642786428864298643086431864328643386434864358643686437864388643986440864418644286443864448644586446864478644886449864508645186452864538645486455864568645786458864598646086461864628646386464864658646686467864688646986470864718647286473864748647586476864778647886479864808648186482864838648486485864868648786488864898649086491864928649386494864958649686497864988649986500865018650286503865048650586506865078650886509865108651186512865138651486515865168651786518865198652086521865228652386524865258652686527865288652986530865318653286533865348653586536865378653886539865408654186542865438654486545865468654786548865498655086551865528655386554865558655686557865588655986560865618656286563865648656586566865678656886569865708657186572865738657486575865768657786578865798658086581865828658386584865858658686587865888658986590865918659286593865948659586596865978659886599866008660186602866038660486605866068660786608866098661086611866128661386614866158661686617866188661986620866218662286623866248662586626866278662886629866308663186632866338663486635866368663786638866398664086641866428664386644866458664686647866488664986650866518665286653866548665586656866578665886659866608666186662866638666486665866668666786668866698667086671866728667386674866758667686677866788667986680866818668286683866848668586686866878668886689866908669186692866938669486695866968669786698866998670086701867028670386704867058670686707867088670986710867118671286713867148671586716867178671886719867208672186722867238672486725867268672786728867298673086731867328673386734867358673686737867388673986740867418674286743867448674586746867478674886749867508675186752867538675486755867568675786758867598676086761867628676386764867658676686767867688676986770867718677286773867748677586776867778677886779867808678186782867838678486785867868678786788867898679086791867928679386794867958679686797867988679986800868018680286803868048680586806868078680886809868108681186812868138681486815868168681786818868198682086821868228682386824868258682686827868288682986830868318683286833868348683586836868378683886839868408684186842868438684486845868468684786848868498685086851868528685386854868558685686857868588685986860868618686286863868648686586866868678686886869868708687186872868738687486875868768687786878868798688086881868828688386884868858688686887868888688986890868918689286893868948689586896868978689886899869008690186902869038690486905869068690786908869098691086911869128691386914869158691686917869188691986920869218692286923869248692586926869278692886929869308693186932869338693486935869368693786938869398694086941869428694386944869458694686947869488694986950869518695286953869548695586956869578695886959869608696186962869638696486965869668696786968869698697086971869728697386974869758697686977869788697986980869818698286983869848698586986869878698886989869908699186992869938699486995869968699786998869998700087001870028700387004870058700687007870088700987010870118701287013870148701587016870178701887019870208702187022870238702487025870268702787028870298703087031870328703387034870358703687037870388703987040870418704287043870448704587046870478704887049870508705187052870538705487055870568705787058870598706087061870628706387064870658706687067870688706987070870718707287073870748707587076870778707887079870808708187082870838708487085870868708787088870898709087091870928709387094870958709687097870988709987100871018710287103871048710587106871078710887109871108711187112871138711487115871168711787118871198712087121871228712387124871258712687127871288712987130871318713287133871348713587136871378713887139871408714187142871438714487145871468714787148871498715087151871528715387154871558715687157871588715987160871618716287163871648716587166871678716887169871708717187172871738717487175871768717787178871798718087181871828718387184871858718687187871888718987190871918719287193871948719587196871978719887199872008720187202872038720487205872068720787208872098721087211872128721387214872158721687217872188721987220872218722287223872248722587226872278722887229872308723187232872338723487235872368723787238872398724087241872428724387244872458724687247872488724987250872518725287253872548725587256872578725887259872608726187262872638726487265872668726787268872698727087271872728727387274872758727687277872788727987280872818728287283872848728587286872878728887289872908729187292872938729487295872968729787298872998730087301873028730387304873058730687307873088730987310873118731287313873148731587316873178731887319873208732187322873238732487325873268732787328873298733087331873328733387334873358733687337873388733987340873418734287343873448734587346873478734887349873508735187352873538735487355873568735787358873598736087361873628736387364873658736687367873688736987370873718737287373873748737587376873778737887379873808738187382873838738487385873868738787388873898739087391873928739387394873958739687397873988739987400874018740287403874048740587406874078740887409874108741187412874138741487415874168741787418874198742087421874228742387424874258742687427874288742987430874318743287433874348743587436874378743887439874408744187442874438744487445874468744787448874498745087451874528745387454874558745687457874588745987460874618746287463874648746587466874678746887469874708747187472874738747487475874768747787478874798748087481874828748387484874858748687487874888748987490874918749287493874948749587496874978749887499875008750187502875038750487505875068750787508875098751087511875128751387514875158751687517875188751987520875218752287523875248752587526875278752887529875308753187532875338753487535875368753787538875398754087541875428754387544875458754687547875488754987550875518755287553875548755587556875578755887559875608756187562875638756487565875668756787568875698757087571875728757387574875758757687577875788757987580875818758287583875848758587586875878758887589875908759187592875938759487595875968759787598875998760087601876028760387604876058760687607876088760987610876118761287613876148761587616876178761887619876208762187622876238762487625876268762787628876298763087631876328763387634876358763687637876388763987640876418764287643876448764587646876478764887649876508765187652876538765487655876568765787658876598766087661876628766387664876658766687667876688766987670876718767287673876748767587676876778767887679876808768187682876838768487685876868768787688876898769087691876928769387694876958769687697876988769987700877018770287703877048770587706877078770887709877108771187712877138771487715877168771787718877198772087721877228772387724877258772687727877288772987730877318773287733877348773587736877378773887739877408774187742877438774487745877468774787748877498775087751877528775387754877558775687757877588775987760877618776287763877648776587766877678776887769877708777187772877738777487775877768777787778877798778087781877828778387784877858778687787877888778987790877918779287793877948779587796877978779887799878008780187802878038780487805878068780787808878098781087811878128781387814878158781687817878188781987820878218782287823878248782587826878278782887829878308783187832878338783487835878368783787838878398784087841878428784387844878458784687847878488784987850878518785287853878548785587856878578785887859878608786187862878638786487865878668786787868878698787087871878728787387874878758787687877878788787987880878818788287883878848788587886878878788887889878908789187892878938789487895878968789787898878998790087901879028790387904879058790687907879088790987910879118791287913879148791587916879178791887919879208792187922879238792487925879268792787928879298793087931879328793387934879358793687937879388793987940879418794287943879448794587946879478794887949879508795187952879538795487955879568795787958879598796087961879628796387964879658796687967879688796987970879718797287973879748797587976879778797887979879808798187982879838798487985879868798787988879898799087991879928799387994879958799687997879988799988000880018800288003880048800588006880078800888009880108801188012880138801488015880168801788018880198802088021880228802388024880258802688027880288802988030880318803288033880348803588036880378803888039880408804188042880438804488045880468804788048880498805088051880528805388054880558805688057880588805988060880618806288063880648806588066880678806888069880708807188072880738807488075880768807788078880798808088081880828808388084880858808688087880888808988090880918809288093880948809588096880978809888099881008810188102881038810488105881068810788108881098811088111881128811388114881158811688117881188811988120881218812288123881248812588126881278812888129881308813188132881338813488135881368813788138881398814088141881428814388144881458814688147881488814988150881518815288153881548815588156881578815888159881608816188162881638816488165881668816788168881698817088171881728817388174881758817688177881788817988180881818818288183881848818588186881878818888189881908819188192881938819488195881968819788198881998820088201882028820388204882058820688207882088820988210882118821288213882148821588216882178821888219882208822188222882238822488225882268822788228882298823088231882328823388234882358823688237882388823988240882418824288243882448824588246882478824888249882508825188252882538825488255882568825788258882598826088261882628826388264882658826688267882688826988270882718827288273882748827588276882778827888279882808828188282882838828488285882868828788288882898829088291882928829388294882958829688297882988829988300883018830288303883048830588306883078830888309883108831188312883138831488315883168831788318883198832088321883228832388324883258832688327883288832988330883318833288333883348833588336883378833888339883408834188342883438834488345883468834788348883498835088351883528835388354883558835688357883588835988360883618836288363883648836588366883678836888369883708837188372883738837488375883768837788378883798838088381883828838388384883858838688387883888838988390883918839288393883948839588396883978839888399884008840188402884038840488405884068840788408884098841088411884128841388414884158841688417884188841988420884218842288423884248842588426884278842888429884308843188432884338843488435884368843788438884398844088441884428844388444884458844688447884488844988450884518845288453884548845588456884578845888459884608846188462884638846488465884668846788468884698847088471884728847388474884758847688477884788847988480884818848288483884848848588486884878848888489884908849188492884938849488495884968849788498884998850088501885028850388504885058850688507885088850988510885118851288513885148851588516885178851888519885208852188522885238852488525885268852788528885298853088531885328853388534885358853688537885388853988540885418854288543885448854588546885478854888549885508855188552885538855488555885568855788558885598856088561885628856388564885658856688567885688856988570885718857288573885748857588576885778857888579885808858188582885838858488585885868858788588885898859088591885928859388594885958859688597885988859988600886018860288603886048860588606886078860888609886108861188612886138861488615886168861788618886198862088621886228862388624886258862688627886288862988630886318863288633886348863588636886378863888639886408864188642886438864488645886468864788648886498865088651886528865388654886558865688657886588865988660886618866288663886648866588666886678866888669886708867188672886738867488675886768867788678886798868088681886828868388684886858868688687886888868988690886918869288693886948869588696886978869888699887008870188702887038870488705887068870788708887098871088711887128871388714887158871688717887188871988720887218872288723887248872588726887278872888729887308873188732887338873488735887368873788738887398874088741887428874388744887458874688747887488874988750887518875288753887548875588756887578875888759887608876188762887638876488765887668876788768887698877088771887728877388774887758877688777887788877988780887818878288783887848878588786887878878888789887908879188792887938879488795887968879788798887998880088801888028880388804888058880688807888088880988810888118881288813888148881588816888178881888819888208882188822888238882488825888268882788828888298883088831888328883388834888358883688837888388883988840888418884288843888448884588846888478884888849888508885188852888538885488855888568885788858888598886088861888628886388864888658886688867888688886988870888718887288873888748887588876888778887888879888808888188882888838888488885888868888788888888898889088891888928889388894888958889688897888988889988900889018890288903889048890588906889078890888909889108891188912889138891488915889168891788918889198892088921889228892388924889258892688927889288892988930889318893288933889348893588936889378893888939889408894188942889438894488945889468894788948889498895088951889528895388954889558895688957889588895988960889618896288963889648896588966889678896888969889708897188972889738897488975889768897788978889798898088981889828898388984889858898688987889888898988990889918899288993889948899588996889978899888999890008900189002890038900489005890068900789008890098901089011890128901389014890158901689017890188901989020890218902289023890248902589026890278902889029890308903189032890338903489035890368903789038890398904089041890428904389044890458904689047890488904989050890518905289053890548905589056890578905889059890608906189062890638906489065890668906789068890698907089071890728907389074890758907689077890788907989080890818908289083890848908589086890878908889089890908909189092890938909489095890968909789098890998910089101891028910389104891058910689107891088910989110891118911289113891148911589116891178911889119891208912189122891238912489125891268912789128891298913089131891328913389134891358913689137891388913989140891418914289143891448914589146891478914889149891508915189152891538915489155891568915789158891598916089161891628916389164891658916689167891688916989170891718917289173891748917589176891778917889179891808918189182891838918489185891868918789188891898919089191891928919389194891958919689197891988919989200892018920289203892048920589206892078920889209892108921189212892138921489215892168921789218892198922089221892228922389224892258922689227892288922989230892318923289233892348923589236892378923889239892408924189242892438924489245892468924789248892498925089251892528925389254892558925689257892588925989260892618926289263892648926589266892678926889269892708927189272892738927489275892768927789278892798928089281892828928389284892858928689287892888928989290892918929289293892948929589296892978929889299893008930189302893038930489305893068930789308893098931089311893128931389314893158931689317893188931989320893218932289323893248932589326893278932889329893308933189332893338933489335893368933789338893398934089341893428934389344893458934689347893488934989350893518935289353893548935589356893578935889359893608936189362893638936489365893668936789368893698937089371893728937389374893758937689377893788937989380893818938289383893848938589386893878938889389893908939189392893938939489395893968939789398893998940089401894028940389404894058940689407894088940989410894118941289413894148941589416894178941889419894208942189422894238942489425894268942789428894298943089431894328943389434894358943689437894388943989440894418944289443894448944589446894478944889449894508945189452894538945489455894568945789458894598946089461894628946389464894658946689467894688946989470894718947289473894748947589476894778947889479894808948189482894838948489485894868948789488894898949089491894928949389494894958949689497894988949989500895018950289503895048950589506895078950889509895108951189512895138951489515895168951789518895198952089521895228952389524895258952689527895288952989530895318953289533895348953589536895378953889539895408954189542895438954489545895468954789548895498955089551895528955389554895558955689557895588955989560895618956289563895648956589566895678956889569895708957189572895738957489575895768957789578895798958089581895828958389584895858958689587895888958989590895918959289593895948959589596895978959889599896008960189602896038960489605896068960789608896098961089611896128961389614896158961689617896188961989620896218962289623896248962589626896278962889629896308963189632896338963489635896368963789638896398964089641896428964389644896458964689647896488964989650896518965289653896548965589656896578965889659896608966189662896638966489665896668966789668896698967089671896728967389674896758967689677896788967989680896818968289683896848968589686896878968889689896908969189692896938969489695896968969789698896998970089701897028970389704897058970689707897088970989710897118971289713897148971589716897178971889719897208972189722897238972489725897268972789728897298973089731897328973389734897358973689737897388973989740897418974289743897448974589746897478974889749897508975189752897538975489755897568975789758897598976089761897628976389764897658976689767897688976989770897718977289773897748977589776897778977889779897808978189782897838978489785897868978789788897898979089791897928979389794897958979689797897988979989800898018980289803898048980589806898078980889809898108981189812898138981489815898168981789818898198982089821898228982389824898258982689827898288982989830898318983289833898348983589836898378983889839898408984189842898438984489845898468984789848898498985089851898528985389854898558985689857898588985989860898618986289863898648986589866898678986889869898708987189872898738987489875898768987789878898798988089881898828988389884898858988689887898888988989890898918989289893898948989589896898978989889899899008990189902899038990489905899068990789908899098991089911899128991389914899158991689917899188991989920899218992289923899248992589926899278992889929899308993189932899338993489935899368993789938899398994089941899428994389944899458994689947899488994989950899518995289953899548995589956899578995889959899608996189962899638996489965899668996789968899698997089971899728997389974899758997689977899788997989980899818998289983899848998589986899878998889989899908999189992899938999489995899968999789998899999000090001900029000390004900059000690007900089000990010900119001290013900149001590016900179001890019900209002190022900239002490025900269002790028900299003090031900329003390034900359003690037900389003990040900419004290043900449004590046900479004890049900509005190052900539005490055900569005790058900599006090061900629006390064900659006690067900689006990070900719007290073900749007590076900779007890079900809008190082900839008490085900869008790088900899009090091900929009390094900959009690097900989009990100901019010290103901049010590106901079010890109901109011190112901139011490115901169011790118901199012090121901229012390124901259012690127901289012990130901319013290133901349013590136901379013890139901409014190142901439014490145901469014790148901499015090151901529015390154901559015690157901589015990160901619016290163901649016590166901679016890169901709017190172901739017490175901769017790178901799018090181901829018390184901859018690187901889018990190901919019290193901949019590196901979019890199902009020190202902039020490205902069020790208902099021090211902129021390214902159021690217902189021990220902219022290223902249022590226902279022890229902309023190232902339023490235902369023790238902399024090241902429024390244902459024690247902489024990250902519025290253902549025590256902579025890259902609026190262902639026490265902669026790268902699027090271902729027390274902759027690277902789027990280902819028290283902849028590286902879028890289902909029190292902939029490295902969029790298902999030090301903029030390304903059030690307903089030990310903119031290313903149031590316903179031890319903209032190322903239032490325903269032790328903299033090331903329033390334903359033690337903389033990340903419034290343903449034590346903479034890349903509035190352903539035490355903569035790358903599036090361903629036390364903659036690367903689036990370903719037290373903749037590376903779037890379903809038190382903839038490385903869038790388903899039090391903929039390394903959039690397903989039990400904019040290403904049040590406904079040890409904109041190412904139041490415904169041790418904199042090421904229042390424904259042690427904289042990430904319043290433904349043590436904379043890439904409044190442904439044490445904469044790448904499045090451904529045390454904559045690457904589045990460904619046290463904649046590466904679046890469904709047190472904739047490475904769047790478904799048090481904829048390484904859048690487904889048990490904919049290493904949049590496904979049890499905009050190502905039050490505905069050790508905099051090511905129051390514905159051690517905189051990520905219052290523905249052590526905279052890529905309053190532905339053490535905369053790538905399054090541905429054390544905459054690547905489054990550905519055290553905549055590556905579055890559905609056190562905639056490565905669056790568905699057090571905729057390574905759057690577905789057990580905819058290583905849058590586905879058890589905909059190592905939059490595905969059790598905999060090601906029060390604906059060690607906089060990610906119061290613906149061590616906179061890619906209062190622906239062490625906269062790628906299063090631906329063390634906359063690637906389063990640906419064290643906449064590646906479064890649906509065190652906539065490655906569065790658906599066090661906629066390664906659066690667906689066990670906719067290673906749067590676906779067890679906809068190682906839068490685906869068790688906899069090691906929069390694906959069690697906989069990700907019070290703907049070590706907079070890709907109071190712907139071490715907169071790718907199072090721907229072390724907259072690727907289072990730907319073290733907349073590736907379073890739907409074190742907439074490745907469074790748907499075090751907529075390754907559075690757907589075990760907619076290763907649076590766907679076890769907709077190772907739077490775907769077790778907799078090781907829078390784907859078690787907889078990790907919079290793907949079590796907979079890799908009080190802908039080490805908069080790808908099081090811908129081390814908159081690817908189081990820908219082290823908249082590826908279082890829908309083190832908339083490835908369083790838908399084090841908429084390844908459084690847908489084990850908519085290853908549085590856908579085890859908609086190862908639086490865908669086790868908699087090871908729087390874908759087690877908789087990880908819088290883908849088590886908879088890889908909089190892908939089490895908969089790898908999090090901909029090390904909059090690907909089090990910909119091290913909149091590916909179091890919909209092190922909239092490925909269092790928909299093090931909329093390934909359093690937909389093990940909419094290943909449094590946909479094890949909509095190952909539095490955909569095790958909599096090961909629096390964909659096690967909689096990970909719097290973909749097590976909779097890979909809098190982909839098490985909869098790988909899099090991909929099390994909959099690997909989099991000910019100291003910049100591006910079100891009910109101191012910139101491015910169101791018910199102091021910229102391024910259102691027910289102991030910319103291033910349103591036910379103891039910409104191042910439104491045910469104791048910499105091051910529105391054910559105691057910589105991060910619106291063910649106591066910679106891069910709107191072910739107491075910769107791078910799108091081910829108391084910859108691087910889108991090910919109291093910949109591096910979109891099911009110191102911039110491105911069110791108911099111091111911129111391114911159111691117911189111991120911219112291123911249112591126911279112891129911309113191132911339113491135911369113791138911399114091141911429114391144911459114691147911489114991150911519115291153911549115591156911579115891159911609116191162911639116491165911669116791168911699117091171911729117391174911759117691177911789117991180911819118291183911849118591186911879118891189911909119191192911939119491195911969119791198911999120091201912029120391204912059120691207912089120991210912119121291213912149121591216912179121891219912209122191222912239122491225912269122791228912299123091231912329123391234912359123691237912389123991240912419124291243912449124591246912479124891249912509125191252912539125491255912569125791258912599126091261912629126391264912659126691267912689126991270912719127291273912749127591276912779127891279912809128191282912839128491285912869128791288912899129091291912929129391294912959129691297912989129991300913019130291303913049130591306913079130891309913109131191312913139131491315913169131791318913199132091321913229132391324913259132691327913289132991330913319133291333913349133591336913379133891339913409134191342913439134491345913469134791348913499135091351913529135391354913559135691357913589135991360913619136291363913649136591366913679136891369913709137191372913739137491375913769137791378913799138091381913829138391384913859138691387913889138991390913919139291393913949139591396913979139891399914009140191402914039140491405914069140791408914099141091411914129141391414914159141691417914189141991420914219142291423914249142591426914279142891429914309143191432914339143491435914369143791438914399144091441914429144391444914459144691447914489144991450914519145291453914549145591456914579145891459914609146191462914639146491465914669146791468914699147091471914729147391474914759147691477914789147991480914819148291483914849148591486914879148891489914909149191492914939149491495914969149791498914999150091501915029150391504915059150691507915089150991510915119151291513915149151591516915179151891519915209152191522915239152491525915269152791528915299153091531915329153391534915359153691537915389153991540915419154291543915449154591546915479154891549915509155191552915539155491555915569155791558915599156091561915629156391564915659156691567915689156991570915719157291573915749157591576915779157891579915809158191582915839158491585915869158791588915899159091591915929159391594915959159691597915989159991600916019160291603916049160591606916079160891609916109161191612916139161491615916169161791618916199162091621916229162391624916259162691627916289162991630916319163291633916349163591636916379163891639916409164191642916439164491645916469164791648916499165091651916529165391654916559165691657916589165991660916619166291663916649166591666916679166891669916709167191672916739167491675916769167791678916799168091681916829168391684916859168691687916889168991690916919169291693916949169591696916979169891699917009170191702917039170491705917069170791708917099171091711917129171391714917159171691717917189171991720917219172291723917249172591726917279172891729917309173191732917339173491735917369173791738917399174091741917429174391744917459174691747917489174991750917519175291753917549175591756917579175891759917609176191762917639176491765917669176791768917699177091771917729177391774917759177691777917789177991780917819178291783917849178591786917879178891789917909179191792917939179491795917969179791798917999180091801918029180391804918059180691807918089180991810918119181291813918149181591816918179181891819918209182191822918239182491825918269182791828918299183091831918329183391834918359183691837918389183991840918419184291843918449184591846918479184891849918509185191852918539185491855918569185791858918599186091861918629186391864918659186691867918689186991870918719187291873918749187591876918779187891879918809188191882918839188491885918869188791888918899189091891918929189391894918959189691897918989189991900919019190291903919049190591906919079190891909919109191191912919139191491915919169191791918919199192091921919229192391924919259192691927919289192991930919319193291933919349193591936919379193891939919409194191942919439194491945919469194791948919499195091951919529195391954919559195691957919589195991960919619196291963919649196591966919679196891969919709197191972919739197491975919769197791978919799198091981919829198391984919859198691987919889198991990919919199291993919949199591996919979199891999920009200192002920039200492005920069200792008920099201092011920129201392014920159201692017920189201992020920219202292023920249202592026920279202892029920309203192032920339203492035920369203792038920399204092041920429204392044920459204692047920489204992050920519205292053920549205592056920579205892059920609206192062920639206492065920669206792068920699207092071920729207392074920759207692077920789207992080920819208292083920849208592086920879208892089920909209192092920939209492095920969209792098920999210092101921029210392104921059210692107921089210992110921119211292113921149211592116921179211892119921209212192122921239212492125921269212792128921299213092131921329213392134921359213692137921389213992140921419214292143921449214592146921479214892149921509215192152921539215492155921569215792158921599216092161921629216392164921659216692167921689216992170921719217292173921749217592176921779217892179921809218192182921839218492185921869218792188921899219092191921929219392194921959219692197921989219992200922019220292203922049220592206922079220892209922109221192212922139221492215922169221792218922199222092221922229222392224922259222692227922289222992230922319223292233922349223592236922379223892239922409224192242922439224492245922469224792248922499225092251922529225392254922559225692257922589225992260922619226292263922649226592266922679226892269922709227192272922739227492275922769227792278922799228092281922829228392284922859228692287922889228992290922919229292293922949229592296922979229892299923009230192302923039230492305923069230792308923099231092311923129231392314923159231692317923189231992320923219232292323923249232592326923279232892329923309233192332923339233492335923369233792338923399234092341923429234392344923459234692347923489234992350923519235292353923549235592356923579235892359923609236192362923639236492365923669236792368923699237092371923729237392374923759237692377923789237992380923819238292383923849238592386923879238892389923909239192392923939239492395923969239792398923999240092401924029240392404924059240692407924089240992410924119241292413924149241592416924179241892419924209242192422924239242492425924269242792428924299243092431924329243392434924359243692437924389243992440924419244292443924449244592446924479244892449924509245192452924539245492455924569245792458924599246092461924629246392464924659246692467924689246992470924719247292473924749247592476924779247892479924809248192482924839248492485924869248792488924899249092491924929249392494924959249692497924989249992500925019250292503925049250592506925079250892509925109251192512925139251492515925169251792518925199252092521925229252392524925259252692527925289252992530925319253292533925349253592536925379253892539925409254192542925439254492545925469254792548925499255092551925529255392554925559255692557925589255992560925619256292563925649256592566925679256892569925709257192572925739257492575925769257792578925799258092581925829258392584925859258692587925889258992590925919259292593925949259592596925979259892599926009260192602926039260492605926069260792608926099261092611926129261392614926159261692617926189261992620926219262292623926249262592626926279262892629926309263192632926339263492635926369263792638926399264092641926429264392644926459264692647926489264992650926519265292653926549265592656926579265892659926609266192662926639266492665926669266792668926699267092671926729267392674926759267692677926789267992680926819268292683926849268592686926879268892689926909269192692926939269492695926969269792698926999270092701927029270392704927059270692707927089270992710927119271292713927149271592716927179271892719927209272192722927239272492725927269272792728927299273092731927329273392734927359273692737927389273992740927419274292743927449274592746927479274892749927509275192752927539275492755927569275792758927599276092761927629276392764927659276692767927689276992770927719277292773927749277592776927779277892779927809278192782927839278492785927869278792788927899279092791927929279392794927959279692797927989279992800928019280292803928049280592806928079280892809928109281192812928139281492815928169281792818928199282092821928229282392824928259282692827928289282992830928319283292833928349283592836928379283892839928409284192842928439284492845928469284792848928499285092851928529285392854928559285692857928589285992860928619286292863928649286592866928679286892869928709287192872928739287492875928769287792878928799288092881928829288392884928859288692887928889288992890928919289292893928949289592896928979289892899929009290192902929039290492905929069290792908929099291092911929129291392914929159291692917929189291992920929219292292923929249292592926929279292892929929309293192932929339293492935929369293792938929399294092941929429294392944929459294692947929489294992950929519295292953929549295592956929579295892959929609296192962929639296492965929669296792968929699297092971929729297392974929759297692977929789297992980929819298292983929849298592986929879298892989929909299192992929939299492995929969299792998929999300093001930029300393004930059300693007930089300993010930119301293013930149301593016930179301893019930209302193022930239302493025930269302793028930299303093031930329303393034930359303693037930389303993040930419304293043930449304593046930479304893049930509305193052930539305493055930569305793058930599306093061930629306393064930659306693067930689306993070930719307293073930749307593076930779307893079930809308193082930839308493085930869308793088930899309093091930929309393094930959309693097930989309993100931019310293103931049310593106931079310893109931109311193112931139311493115931169311793118931199312093121931229312393124931259312693127931289312993130931319313293133931349313593136931379313893139931409314193142931439314493145931469314793148931499315093151931529315393154931559315693157931589315993160931619316293163931649316593166931679316893169931709317193172931739317493175931769317793178931799318093181931829318393184931859318693187931889318993190931919319293193931949319593196931979319893199932009320193202932039320493205932069320793208932099321093211932129321393214932159321693217932189321993220932219322293223932249322593226932279322893229932309323193232932339323493235
  1. 2011-10-19 Adam Barth <abarth@webkit.org>
  2. Another attempted build fix. I managed to screw up every line of this file.
  3. * CodeGenerators.pri:
  4. 2011-10-19 Adam Barth <abarth@webkit.org>
  5. Attempt to fix the Qt build.
  6. * CodeGenerators.pri:
  7. 2011-10-19 Adam Barth <abarth@webkit.org>
  8. Document.cpp shouldn't need to know about every event for every feature
  9. https://bugs.webkit.org/show_bug.cgi?id=70469
  10. Reviewed by Eric Seidel.
  11. make_event_factory.pl generates the implementation of EventFactory
  12. based on a simple ".in" file.
  13. * CodeGenerators.pri:
  14. * DerivedSources.make:
  15. * GNUmakefile.am:
  16. * WebCore.gyp/WebCore.gyp:
  17. * WebCore.gyp/scripts/action_makenames.py:
  18. * WebCore.xcodeproj/project.pbxproj:
  19. * dom/Document.cpp:
  20. (WebCore::Document::createEvent):
  21. * dom/EventFactory.h: Added.
  22. * dom/EventFactory.in: Added.
  23. * dom/make_event_factory.pl: Added.
  24. (defaultEventPropertyHash):
  25. (eventHandler):
  26. (parametersHandler):
  27. (readNames):
  28. (readEvents):
  29. (interfaceForEvent):
  30. (printCppFile):
  31. (printLicenseHeader):
  32. 2011-10-19 Kentaro Hara <haraken@chromium.org>
  33. Added a ConstructorMode check to all existing custom V8 constructors.
  34. https://bugs.webkit.org/show_bug.cgi?id=70464
  35. Reviewed by Adam Barth.
  36. This patch adds the following two lines to all existing custom V8 constructors:
  37. if (ConstructorMode::current() == ConstructorMode::WrapExistingObject)
  38. return args.Holder();
  39. This checks whether a programmer is trying to allocate an object via "new X",
  40. or C++ is trying to allocate an object via the function template and wrap the
  41. object with a JS flavor. (See here for more details: bug 70015) In the latter case,
  42. a constructor callback should not be executed (i.e. should return immediately).
  43. No new tests. No change in behavior.
  44. * bindings/v8/custom/V8ArrayBufferCustom.cpp: Added the ConstructorMode check.
  45. (WebCore::V8ArrayBuffer::constructorCallback):
  46. * bindings/v8/custom/V8ArrayBufferViewCustom.h: Ditto.
  47. (WebCore::constructWebGLArray):
  48. * bindings/v8/custom/V8AudioContextCustom.cpp: Ditto.
  49. (WebCore::V8AudioContext::constructorCallback):
  50. * bindings/v8/custom/V8DOMFormDataCustom.cpp: Ditto.
  51. (WebCore::V8DOMFormData::constructorCallback):
  52. * bindings/v8/custom/V8DataViewCustom.cpp: Ditto.
  53. (WebCore::V8DataView::constructorCallback):
  54. * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: Ditto.
  55. (WebCore::v8HTMLAudioElementConstructorCallback):
  56. * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: Ditto.
  57. (WebCore::v8HTMLImageElementConstructorCallback):
  58. * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: Ditto.
  59. (WebCore::v8HTMLOptionElementConstructorCallback):
  60. * bindings/v8/custom/V8MessageChannelConstructor.cpp: Ditto.
  61. (WebCore::V8MessageChannel::constructorCallback):
  62. * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp: Ditto.
  63. (WebCore::V8WebKitMutationObserver::constructorCallback):
  64. * bindings/v8/custom/V8WebKitPointConstructor.cpp: Ditto.
  65. (WebCore::V8WebKitPoint::constructorCallback):
  66. * bindings/v8/custom/V8WebSocketCustom.cpp: Ditto.
  67. (WebCore::V8WebSocket::constructorCallback):
  68. * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: Ditto.
  69. (WebCore::V8XMLHttpRequest::constructorCallback):
  70. 2011-10-19 Carol Szabo <carol@webkit.org>
  71. CSS Counters have wrong values
  72. https://bugs.webkit.org/show_bug.cgi?id=69605
  73. Reviewed by Darin Adler.
  74. Test: fast/css/counters/after-continuation.html
  75. Added a new method for getting the renderer of the "after"
  76. pseudo-element that handles continuations.
  77. Hooked up the new method with the CSS counter code.
  78. * rendering/RenderCounter.cpp:
  79. (WebCore::rendererOfAfterPseudoElement):
  80. (WebCore::previousInPreOrder):
  81. (WebCore::nextInPreOrder):
  82. * rendering/RenderObject.h:
  83. 2011-10-19 Anna Cavender <annacc@chromium.org>
  84. Adding some IDL files for <track>.
  85. https://bugs.webkit.org/show_bug.cgi?id=62887
  86. Reviewed by Adam Barth.
  87. Tests:
  88. MutableTextTrack.idl and addTrack() in HTMLMediaElement.idl are tested by:
  89. media/track/track-mutable.html
  90. TextTrack.idl is tested by:
  91. media/track/track-text-track.html
  92. TextTrackCue.idl is tested by:
  93. media/track/track-webvtt-tc006-cue-identifiers.html
  94. media/track/track-webvtt-tc007-cue-no-id.html
  95. media/track/track-webvtt-tc008-timings-no-hours.html
  96. media/track/track-webvtt-tc009-timings-hour.html
  97. media/track/track-webvtt-tc013-settings.html
  98. media/track/track-webvtt-tc023-markup.html
  99. TextTrackCueList.idl is tested by:
  100. media/track/track-text-track-cue-list.html
  101. * CMakeLists.txt: Adding files to build systems.
  102. * CodeGenerators.pri: Adding files to build systems.
  103. * DerivedSources.cpp: Adding files to build systems.
  104. * DerivedSources.make: Adding files to build systems.
  105. * GNUmakefile.list.am: Adding files to build systems.
  106. * WebCore.gypi: Adding files to build systems.
  107. * WebCore.pro: Adding files to build systems.
  108. * WebCore.xcodeproj/project.pbxproj: Adding files to build systems.
  109. * bindings/gobject/GNUmakefile.am: Adding files to build systems.
  110. * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: Adding files to build systems.
  111. * bindings/js/JSBindingsAllInOne.cpp: Adding files to build systems.
  112. * bindings/js/JSTextTrackCustom.cpp: Added.
  113. (WebCore::toJS):
  114. * bindings/scripts/CodeGeneratorV8.pm:
  115. (HasCustomToV8Implementation): Special check for TextTrack since V8 can auto-generate
  116. it, but JS cannot yet.
  117. * html/HTMLMediaElement.cpp:
  118. (WebCore::HTMLMediaElement::addTrack): creates and returns a new MutableTextTrack.
  119. * html/HTMLMediaElement.h: Adding addTrack() function.
  120. * html/HTMLMediaElement.idl: Adding addTrack() function.
  121. * html/HTMLTrackElement.cpp:
  122. (WebCore::HTMLTrackElement::track): Adding track getter.
  123. * html/HTMLTrackElement.h: Adding track getter.
  124. * html/HTMLTrackElement.idl: Adding track getter.
  125. * html/MutableTextTrack.idl: Added.
  126. * html/TextTrack.idl: Added.
  127. * html/TextTrackCue.idl: Added.
  128. * html/TextTrackCueList.cpp:
  129. (WebCore::TextTrackCueList::length):
  130. (WebCore::TextTrackCueList::item): Used for [] operator.
  131. * html/TextTrackCueList.h: Added item() for [] operator.
  132. * html/TextTrackCueList.idl: Added.
  133. * page/DOMWindow.idl: Adding TextTrackCue new operator.
  134. 2011-10-19 Shawn Singh <shawnsingh@chromium.org>
  135. [chromium] Fix webkit style on a few files.
  136. https://bugs.webkit.org/show_bug.cgi?id=70441
  137. Reviewed by James Robinson.
  138. Tested with existing layout and unit tests.
  139. * platform/graphics/chromium/LayerChromium.cpp:
  140. * platform/graphics/chromium/LayerChromium.h:
  141. (WebCore::LayerChromium::setIsMask):
  142. * platform/graphics/chromium/LayerRendererChromium.cpp:
  143. (WebCore::LayerRendererChromium::initialize):
  144. * platform/graphics/chromium/LayerRendererChromium.h:
  145. 2011-10-19 Nat Duca <nduca@chromium.org>
  146. [chromium] Route requestAnimationFrame through CCProxy in threaded mode
  147. https://bugs.webkit.org/show_bug.cgi?id=70160
  148. Reviewed by James Robinson.
  149. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  150. (WebCore::CCLayerTreeHost::setNeedsAnimate):
  151. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  152. * platform/graphics/chromium/cc/CCProxy.h:
  153. * platform/graphics/chromium/cc/CCScheduler.cpp:
  154. (WebCore::CCScheduler::requestAnimate):
  155. * platform/graphics/chromium/cc/CCScheduler.h:
  156. * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  157. (WebCore::CCSingleThreadProxy::setNeedsAnimate):
  158. * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
  159. * platform/graphics/chromium/cc/CCThreadProxy.cpp:
  160. (WebCore::CCThreadProxy::setNeedsAnimate):
  161. (WebCore::CCThreadProxy::setNeedsAnimateOnCCThread):
  162. * platform/graphics/chromium/cc/CCThreadProxy.h:
  163. 2011-10-19 Kent Tamura <tkent@chromium.org>
  164. Reject invalid MIME type strings for a file selection dialog parameter
  165. https://bugs.webkit.org/show_bug.cgi?id=70095
  166. Reviewed by Darin Fisher and Darin Adler.
  167. No new tests. This affect only a value passed to WebKit layer.
  168. * html/HTMLInputElement.cpp:
  169. (WebCore::isRFC2616TokenCharacter): Added.
  170. (WebCore::HTMLInputElement::acceptMIMETypes):
  171. Validate a MIME type string, and don't add invalid strings to the output Vector.
  172. 2011-10-19 Darin Adler <darin@apple.com>
  173. Remove OptionElement (first half)
  174. https://bugs.webkit.org/show_bug.cgi?id=70276
  175. Reviewed by Kent Tamura.
  176. Refactoring that does not require new tests.
  177. * css/SelectorChecker.cpp:
  178. (WebCore::SelectorChecker::checkOneSelector): Use hasTagName
  179. and toHTMLOptionElement instead of toOptionElement.
  180. * dom/OptionElement.cpp: Deleted contents. Remove file later.
  181. * dom/OptionElement.h: Ditto.
  182. * html/HTMLOptionElement.cpp:
  183. (WebCore::HTMLOptionElement::HTMLOptionElement): Initialize m_isSelected.
  184. (WebCore::HTMLOptionElement::createForJSConstructor): Initialize the
  185. selected attribute rather than calling setDefaultSelected.
  186. (WebCore::HTMLOptionElement::text): Moved the code here from
  187. OptionElement::collectOptionLabelOrText.
  188. (WebCore::HTMLOptionElement::index): Moved the code here from
  189. OptionElement::optionIndex.
  190. (WebCore::HTMLOptionElement::parseMappedAttribute): Removed unneeded
  191. code to call setValue and setLabel. Changed the code that called
  192. setSelected to instead set m_isSelected and added a FIXME about why
  193. that's probably wrong, but same behavior as before.
  194. (WebCore::HTMLOptionElement::value): Moved the code here from
  195. OptionElement::collectOptionValue. Added a FIXME about incorrect
  196. whitespace stripping.
  197. (WebCore::HTMLOptionElement::selected): Use m_isSelected.
  198. (WebCore::HTMLOptionElement::setSelected): Use m_isSelected and
  199. call setSelectedState instead of OptionElement::setSelectedState.
  200. (WebCore::HTMLOptionElement::setSelectedState): Moved the code
  201. here from OptionElement::setSelectedState.
  202. (WebCore::HTMLOptionElement::label): Streamlined the code.
  203. (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
  204. Moved the code here from OptionElement::collectOptionTextRespectingGroupLabel.
  205. (WebCore::HTMLOptionElement::insertedIntoTree): Use m_isSelected
  206. and rewrote comment for clarity.
  207. (WebCore::HTMLOptionElement::collectOptionInnerText): Moved this
  208. here from OptionElement, and changed to use StringBuilder.
  209. (WebCore::toHTMLOptionElement): Added.
  210. * html/HTMLOptionElement.h: Removed OptionElement.h include.
  211. Removed OptionElement base class. Removed unneeded friend declarations.
  212. Made value and selected functions non-virtual. Removed unneeded
  213. defaultSelected and setDefaultSelected functions. Made the
  214. textIndentedToRespectGroupLabel and setSelectedState functions
  215. be non-virtual and public. Added a collectOptionInnerText function.
  216. Replaced m_data with m_value, m_label, and m_selected.
  217. * html/HTMLSelectElement.cpp:
  218. (WebCore::toOptionElement): Added. Helper to keep existing code
  219. close to the same.
  220. (WebCore::HTMLSelectElement::nextValidIndex): Use hasTagName
  221. instead of isOptionElement.
  222. (WebCore::HTMLSelectElement::saveLastSelection): Use HTMLOptionElement
  223. type instead of OptionElement.
  224. (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex): Ditto.
  225. (WebCore::HTMLSelectElement::updateListBoxSelection): Ditto.
  226. (WebCore::HTMLSelectElement::listBoxOnChange): Ditto.
  227. (WebCore::HTMLSelectElement::recalcListItems): Ditto.
  228. (WebCore::HTMLSelectElement::selectedIndex): Ditto.
  229. (WebCore::HTMLSelectElement::setSelectedIndex): Ditto.
  230. (WebCore::HTMLSelectElement::optionToListIndex): Ditto.
  231. (WebCore::HTMLSelectElement::listToOptionIndex): Ditto.
  232. (WebCore::HTMLSelectElement::deselectItemsWithoutValidation): Ditto.
  233. (WebCore::HTMLSelectElement::saveFormControlState): Ditto.
  234. (WebCore::HTMLSelectElement::restoreFormControlState): Ditto.
  235. (WebCore::HTMLSelectElement::appendFormData): Ditto.
  236. (WebCore::HTMLSelectElement::reset): Ditto.
  237. (WebCore::HTMLSelectElement::updateSelectedState): Ditto.
  238. (WebCore::HTMLSelectElement::lastSelectedListIndex): Ditto.
  239. (WebCore::HTMLSelectElement::typeAheadFind): Ditto.
  240. (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Ditto.
  241. (WebCore::HTMLSelectElement::length): Ditto.
  242. * rendering/RenderListBox.cpp:
  243. (WebCore::RenderListBox::updateFromElement): Use HTMLOptionElement,
  244. hasTagName, and toHTMLOptionElement.
  245. (WebCore::RenderListBox::addFocusRingRects): Ditto.
  246. (WebCore::RenderListBox::paintItemForeground): Ditto.
  247. (WebCore::RenderListBox::paintItemBackground): Ditto.
  248. * rendering/RenderMenuList.cpp:
  249. (WebCore::RenderMenuList::updateOptionsWidth): Ditto.
  250. (WebCore::RenderMenuList::setTextFromOption): Ditto.
  251. (WebCore::RenderMenuList::itemText): Ditto.
  252. (WebCore::RenderMenuList::itemIsSelected): Ditto.
  253. 2011-10-19 Raymond Toy <rtoy@google.com>
  254. Flush denormals to zero on Windows.
  255. https://bugs.webkit.org/show_bug.cgi?id=70140
  256. Reviewed by Kenneth Russell.
  257. * platform/audio/AudioBus.cpp:
  258. (WebCore::AudioBus::processWithGainFromMonoStereo):
  259. Flush any denormals to zero before saving the result. Change
  260. double gain to float gain to match existing float operations.
  261. * platform/audio/DenormalDisabler.h:
  262. (WebCore::DenormalDisabler::flushDenormalFloatToZero):
  263. New function to flush the given float to zero, if it is a denormal
  264. number.
  265. 2011-10-19 Raphael Kubo da Costa <kubo@profusion.mobi>
  266. [EFL] Remove the empty paint() implementation in ScrollbarEfl.
  267. https://bugs.webkit.org/show_bug.cgi?id=70428
  268. Reviewed by Antonio Gomes.
  269. Remove the empty reimplementation of Scrollbar::paint(), as this would
  270. cause ScrollView::paintScrollbars() to paint nothing at all.
  271. If we have mock scrollbars enabled, this will paint them; otherwise,
  272. the code path will end up in WidgetEfl::paint(), which also does
  273. nothing, so the behavior should not change.
  274. No new tests, this is machinery needed to run the current ones.
  275. * platform/efl/ScrollbarEfl.cpp:
  276. (ScrollbarEfl::frameRectsChanged):
  277. * platform/efl/ScrollbarEfl.h:
  278. 2011-10-19 Raphael Kubo da Costa <kubo@profusion.mobi>
  279. [EFL] Do not always consider a ScrollView will have an Evas/Evas_Object.
  280. https://bugs.webkit.org/show_bug.cgi?id=70426
  281. Reviewed by Antonio Gomes.
  282. After r95234 turned on a new code path for the port (we erroneously used
  283. ENABLE_AS_IMAGE instead of ENABLE_SVG_AS_IMAGE before), some tests, such
  284. as compositing/image/direct-svg-image.html or
  285. fast/writing-mode/block-level-images.html started writing stderr
  286. messages about the parent passed to ScrollbarEfl::setParent not having
  287. an Evas.
  288. It turns out that a FrameView can be created in places other than
  289. ewk_frame_view_create_for_view, in which case the view will not have an
  290. Evas or an Evas_Object. This is not an error condition, so we can just
  291. return earlier.
  292. No new tests, this was detected by existing ones.
  293. * platform/efl/ScrollbarEfl.cpp:
  294. (ScrollbarEfl::setParent):
  295. 2011-10-19 Julien Chaffraix <jchaffraix@webkit.org>
  296. Multiple crashes in RenderTable during layout
  297. https://bugs.webkit.org/show_bug.cgi?id=70392
  298. Reviewed by Simon Fraser.
  299. Tests: fast/table/crash-anonymous-table-computeLogicalWidth.html
  300. fast/table/crash-anonymous-table-layout.html
  301. r97555 forgot to take into account anonymous tables during layout
  302. where RenderObject::node() is NULL.
  303. * rendering/RenderTable.cpp:
  304. (WebCore::RenderTable::computeLogicalWidth):
  305. (WebCore::RenderTable::layout):
  306. Added a check for node() before calling Node::hasTagName.
  307. 2011-10-19 Adam Bergkvist <adam.bergkvist@ericsson.com>
  308. Update MediaStream to use WebCore platform interfaces
  309. https://bugs.webkit.org/show_bug.cgi?id=68464
  310. Reviewed by Adam Barth.
  311. This is one in a series of patches that update the MediaStream feature
  312. to use WebCore platform interfaces.
  313. Tests will be provided by http://webkit.org/b/56587
  314. * dom/LocalMediaStream.cpp:
  315. (WebCore::LocalMediaStream::create):
  316. (WebCore::LocalMediaStream::LocalMediaStream):
  317. (WebCore::LocalMediaStream::stop):
  318. (WebCore::LocalMediaStream::stopTimerFired):
  319. (WebCore::LocalMediaStream::~LocalMediaStream):
  320. (WebCore::LocalMediaStream::toLocalMediaStream):
  321. * dom/LocalMediaStream.h:
  322. * dom/LocalMediaStream.idl:
  323. * dom/MediaStream.cpp:
  324. (WebCore::MediaStream::create):
  325. (WebCore::MediaStream::MediaStream):
  326. (WebCore::MediaStream::~MediaStream):
  327. (WebCore::MediaStream::readyState):
  328. (WebCore::MediaStream::streamEnded):
  329. (WebCore::MediaStream::scriptExecutionContext):
  330. * dom/MediaStream.h:
  331. (WebCore::MediaStream::label):
  332. (WebCore::MediaStream::tracks):
  333. (WebCore::MediaStream::descriptor):
  334. * dom/MediaStreamTrack.cpp:
  335. (WebCore::MediaStreamTrack::create):
  336. (WebCore::MediaStreamTrack::MediaStreamTrack):
  337. (WebCore::MediaStreamTrack::kind):
  338. (WebCore::MediaStreamTrack::label):
  339. (WebCore::MediaStreamTrack::enabled):
  340. (WebCore::MediaStreamTrack::setEnabled):
  341. * dom/MediaStreamTrack.h:
  342. * dom/MediaStreamTrack.idl:
  343. * dom/MediaStreamTrackList.cpp:
  344. (WebCore::MediaStreamTrackList::create):
  345. (WebCore::MediaStreamTrackList::MediaStreamTrackList):
  346. (WebCore::MediaStreamTrackList::length):
  347. (WebCore::MediaStreamTrackList::item):
  348. * dom/MediaStreamTrackList.h:
  349. * p2p/PeerConnection.cpp:
  350. (WebCore::PeerConnection::addStream):
  351. (WebCore::PeerConnection::removeStream):
  352. (WebCore::PeerConnection::remoteStreamAdded):
  353. * page/MediaStreamClient.h:
  354. * page/MediaStreamController.cpp:
  355. (WebCore::MediaStreamController::unregisterFrameController):
  356. (WebCore::MediaStreamController::streamGenerated):
  357. * page/MediaStreamController.h:
  358. * page/MediaStreamFrameController.cpp:
  359. (WebCore::MediaStreamFrameController::enterDetachedState):
  360. (WebCore::MediaStreamFrameController::disconnectFrame):
  361. (WebCore::MediaStreamFrameController::streamGenerated):
  362. * page/MediaStreamFrameController.h:
  363. 2011-10-19 W. James MacLean <wjmaclean@chromium.org>
  364. [chromium] Shorten animation time for ZoomAnimator.
  365. https://bugs.webkit.org/show_bug.cgi?id=70419
  366. Reviewed by Kenneth Russell.
  367. Shorten animation time for ZoomAnimator.
  368. Existing test coverage sufficient.
  369. * platform/ScrollAnimatorNone.cpp:
  370. (WebCore::ScrollAnimatorNone::zoom):
  371. 2011-10-19 Zhenyao Mo <zmo@google.com>
  372. Implement WEBGL_debug_shaders and WEBGL_debug_renderer_info extensions
  373. https://bugs.webkit.org/show_bug.cgi?id=70077
  374. Reviewed by Kenneth Russell.
  375. * WebCore.gypi: added new extension class files.
  376. * WebCore.xcodeproj/project.pbxproj: ditto.
  377. * WebCore.pro: ditto.
  378. * CMakeLists.txt: ditto.
  379. * GNUmakefile.list.am: ditto.
  380. * bindings/js/JSWebGLRenderingContextCustom.cpp:
  381. (WebCore::toJS): Handles two new extensions.
  382. * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
  383. (WebCore::toV8Object): Ditto.
  384. * html/canvas/WebGLDebugRendererInfo.cpp: Added.
  385. (WebCore::WebGLDebugRendererInfo::WebGLDebugRendererInfo):
  386. (WebCore::WebGLDebugRendererInfo::~WebGLDebugRendererInfo):
  387. (WebCore::WebGLDebugRendererInfo::getName):
  388. (WebCore::WebGLDebugRendererInfo::create):
  389. * html/canvas/WebGLDebugRendererInfo.h: Added.
  390. * html/canvas/WebGLDebugRendererInfo.idl: Added.
  391. * html/canvas/WebGLDebugShaders.cpp: Added.
  392. (WebCore::WebGLDebugShaders::WebGLDebugShaders):
  393. (WebCore::WebGLDebugShaders::~WebGLDebugShaders):
  394. (WebCore::WebGLDebugShaders::getName):
  395. (WebCore::WebGLDebugShaders::create):
  396. (WebCore::WebGLDebugShaders::getTranslatedShaderSource):
  397. * html/canvas/WebGLDebugShaders.h: Added.
  398. * html/canvas/WebGLDebugShaders.idl: Added.
  399. * html/canvas/WebGLExtension.h:
  400. * html/canvas/WebGLRenderingContext.cpp:
  401. (WebCore::WebGLRenderingContext::allowPrivilegedExtensions): To be implemented - deciding whether the two extensions should be allowed or not.
  402. (WebCore::WebGLRenderingContext::getExtension): Handles two new extensions.
  403. (WebCore::WebGLRenderingContext::getParameter): Handles UNMASKED_VENDOR_WEBGL / UNMASKED_RENDERER_WEBGL
  404. (WebCore::WebGLRenderingContext::getSupportedExtensions): Handles two new extensions.
  405. * html/canvas/WebGLRenderingContext.h:
  406. * platform/graphics/Extensions3D.h: Ditto.
  407. * platform/graphics/GraphicsTypes3D.h: Add GC3Dchar.
  408. * platform/graphics/chromium/Extensions3DChromium.h: Handles two new extensions.
  409. * platform/graphics/opengl/Extensions3DOpenGL.cpp: Ditto.
  410. (WebCore::getTranslatedShaderSourceANGLE):
  411. * platform/graphics/opengl/Extensions3DOpenGL.h: Ditto.
  412. * platform/graphics/qt/Extensions3DQt.cpp: Ditto.
  413. (WebCore::Extensions3DQt::getTranslatedShaderSourceANGLE):
  414. * platform/graphics/qt/Extensions3DQt.h: Ditto.
  415. 2011-10-19 Geoffrey Garen <ggaren@apple.com>
  416. Removed StringImplBase, fusing it into StringImpl
  417. https://bugs.webkit.org/show_bug.cgi?id=70443
  418. Reviewed by Gavin Barraclough.
  419. * ForwardingHeaders/runtime/RopeImpl.h: Removed.
  420. * ForwardingHeaders/wtf/text/StringImplBase.h: Removed.
  421. 2011-10-19 Shinya Kawanaka <shinyak@google.com>
  422. ArrayBuffer should have slice method.
  423. https://bugs.webkit.org/show_bug.cgi?id=66646
  424. Reviewed by Kenneth Russell.
  425. * html/canvas/ArrayBuffer.cpp:
  426. (WebCore::clampValue):
  427. (WebCore::ArrayBuffer::slice):
  428. (WebCore::ArrayBuffer::sliceImpl):
  429. (WebCore::ArrayBuffer::clampIndex):
  430. * html/canvas/ArrayBuffer.h: Added declaration.
  431. * html/canvas/ArrayBuffer.idl: Added interface.
  432. 2011-10-19 Mark Hahnenberg <mhahnenberg@apple.com>
  433. Add getConstructData to the MethodTable
  434. https://bugs.webkit.org/show_bug.cgi?id=70163
  435. Reviewed by Geoffrey Garen.
  436. No new tests.
  437. Adding getConstructData to the MethodTable in order to be able to
  438. remove all calls to getConstructDataVirtual soon. Part of the process
  439. of de-virtualizing JSCell.
  440. * WebCore.exp.in:
  441. 2011-10-19 Dan Bernstein <mitz@apple.com>
  442. Incorrect pagination in flipped-blocks writing modes with border/padding before
  443. https://bugs.webkit.org/show_bug.cgi?id=70444
  444. Reviewed by Darin Adler.
  445. Test: fast/multicol/flipped-blocks-border-after.html
  446. * rendering/LayoutState.cpp:
  447. (WebCore::LayoutState::LayoutState): Account for flipped blocks when adjusting the page offset.
  448. 2011-10-19 Beth Dakin <bdakin@apple.com>
  449. https://bugs.webkit.org/show_bug.cgi?id=70396
  450. Focus rings are too thin in HiDPI in WebKit2
  451. -and corresponding-
  452. <rdar://problem/10086876>
  453. Reviewed by Dan Bernstein.
  454. Rename wkSetPatternBaseCTM to wkSetBaseCTM
  455. * WebCore.exp.in:
  456. * platform/mac/WebCoreSystemInterface.h:
  457. * platform/mac/WebCoreSystemInterface.mm:
  458. New CG-only function calls into wkSetBaseCTM.
  459. * platform/graphics/GraphicsContext.h:
  460. * platform/graphics/cg/GraphicsContextCG.cpp:
  461. (WebCore::GraphicsContext::setBaseCTM):
  462. Call GraphicsContext::setBaseCTM() rather than calling into WebKitSystemInterface
  463. directly.
  464. * platform/graphics/cg/ImageCG.cpp:
  465. (WebCore::Image::drawPattern):
  466. 2011-10-19 Anna Cavender <annacc@chromium.org>
  467. Update WebVTTParser to require at least one space between timestamps and arrows, e.g.:
  468. 00:04:01.000 --> 00:03:00.500 is OK
  469. 00:04:01.000-->00:03:00.500 is not OK
  470. https://bugs.webkit.org/show_bug.cgi?id=70274
  471. Reviewed by Eric Carlson.
  472. Existing tests:
  473. media/track/track-webvtt-tc008-timings-no-hours.html
  474. (see media/track/captions-webvtt/tc008-timings-no-hour-errors.vtt #6)
  475. media/track/track-webvtt-tc009-timings-hour.html
  476. (see media/track/captions-webvtt/tc009-timings-hour-error.vtt #6)
  477. * html/track/WebVTTParser.cpp:
  478. (WebCore::WebVTTParser::collectTimingsAndSettings): Check that the
  479. character before and after the '-->' is a space character
  480. 2011-10-19 Daniel Cheng <dcheng@chromium.org>
  481. Don't always select images during an image drag.
  482. https://bugs.webkit.org/show_bug.cgi?id=62998
  483. Reviewed by Tony Chang.
  484. Only select an image being dragged if it is contenteditable.
  485. Test: fast/events/drag-selects-image.html
  486. * dom/Node.cpp:
  487. (WebCore::Node::isContentRichlyEditable):
  488. * dom/Node.h:
  489. * page/DragController.cpp:
  490. (WebCore::prepareClipboardForImageDrag):
  491. 2011-10-19 Andreas Kling <kling@webkit.org>
  492. HTMLBodyElement: Simplify link/alink/vlink attribute parsing.
  493. https://bugs.webkit.org/show_bug.cgi?id=70429
  494. Reviewed by Antonio Gomes.
  495. Instead of carrying around a CSSMutableStyleDeclaration with the body element,
  496. just use CSSParser::parseColor() to parse the three link color attributes.
  497. * html/HTMLBodyElement.h:
  498. * html/HTMLBodyElement.cpp:
  499. (WebCore::HTMLBodyElement::~HTMLBodyElement):
  500. Remove HTMLBodyElement::m_linkDecl and all the voodoo that went along with it.
  501. (WebCore::HTMLBodyElement::parseMappedAttribute):
  502. Use CSSParser directly to parse the color values for {link,alink,vlink}Attr.
  503. 2011-10-18 Oliver Hunt <oliver@apple.com>
  504. Support CanvasPixelArray in the DFG
  505. https://bugs.webkit.org/show_bug.cgi?id=70384
  506. Reviewed by Filip Pizlo.
  507. Make CanvasPixelArray inherit from ByteArray's ClassInfo so
  508. can identify it more sensibly.
  509. * bindings/js/JSImageDataCustom.cpp:
  510. (WebCore::toJS):
  511. 2011-10-19 Chang Shu <cshu@webkit.org>
  512. [Qt] Disable fullscreen api on Qt by default
  513. https://bugs.webkit.org/show_bug.cgi?id=70413
  514. Reviewed by Noam Rosenthal.
  515. As the WebKit side of implementation for fullscreen api feature has not been done yet,
  516. we'd better turn off the feature on the WebCore side by default.
  517. * features.pri:
  518. 2011-10-19 Dirk Schulze <krit@webkit.org>
  519. Unreviewed, rolling out r97863.
  520. http://trac.webkit.org/changeset/97863
  521. https://bugs.webkit.org/show_bug.cgi?id=65769
  522. Rollout
  523. * CMakeLists.txt:
  524. * GNUmakefile.list.am:
  525. * WebCore.gypi:
  526. * WebCore.pro:
  527. * WebCore.vcproj/WebCore.vcproj:
  528. * platform/graphics/FloatRect.cpp:
  529. * platform/graphics/FloatRect.h:
  530. (WebCore::FloatRect::contains):
  531. * rendering/RenderObject.h:
  532. (WebCore::RenderObject::isSVGPath):
  533. * rendering/RenderTreeAsText.cpp:
  534. (WebCore::write):
  535. * rendering/svg/RenderSVGAllInOne.cpp:
  536. * rendering/svg/RenderSVGModelObject.cpp:
  537. (WebCore::isGraphicsElement):
  538. * rendering/svg/RenderSVGPath.cpp:
  539. (WebCore::BoundingRectStrokeStyleApplier::BoundingRectStrokeStyleApplier):
  540. (WebCore::BoundingRectStrokeStyleApplier::strokeStyle):
  541. (WebCore::RenderSVGPath::RenderSVGPath):
  542. (WebCore::RenderSVGPath::fillContains):
  543. (WebCore::RenderSVGPath::strokeContains):
  544. (WebCore::RenderSVGPath::layout):
  545. (WebCore::RenderSVGPath::shouldStrokeZeroLengthSubpath):
  546. (WebCore::RenderSVGPath::zeroLengthSubpathRect):
  547. (WebCore::RenderSVGPath::setupSquareCapPath):
  548. (WebCore::RenderSVGPath::setupNonScalingStrokePath):
  549. (WebCore::RenderSVGPath::fillAndStrokePath):
  550. (WebCore::RenderSVGPath::paint):
  551. (WebCore::RenderSVGPath::addFocusRingRects):
  552. (WebCore::RenderSVGPath::nodeAtFloatPoint):
  553. (WebCore::RenderSVGPath::calculateMarkerBoundsIfNeeded):
  554. (WebCore::RenderSVGPath::updateCachedBoundaries):
  555. * rendering/svg/RenderSVGPath.h:
  556. (WebCore::RenderSVGPath::path):
  557. (WebCore::RenderSVGPath::setNeedsPathUpdate):
  558. (WebCore::RenderSVGPath::setNeedsBoundariesUpdate):
  559. (WebCore::RenderSVGPath::setNeedsTransformUpdate):
  560. (WebCore::RenderSVGPath::objectBoundingBox):
  561. (WebCore::RenderSVGPath::strokeBoundingBox):
  562. (WebCore::RenderSVGPath::repaintRectInLocalCoordinates):
  563. (WebCore::RenderSVGPath::localToParentTransform):
  564. (WebCore::RenderSVGPath::localTransform):
  565. (WebCore::toRenderSVGPath):
  566. * rendering/svg/RenderSVGRect.cpp: Removed.
  567. * rendering/svg/RenderSVGRect.h: Removed.
  568. * rendering/svg/RenderSVGResource.h:
  569. (WebCore::RenderSVGResource::postApplyResource):
  570. * rendering/svg/RenderSVGResourceClipper.cpp:
  571. (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
  572. (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
  573. (WebCore::RenderSVGResourceClipper::hitTestClipContent):
  574. * rendering/svg/RenderSVGResourceContainer.cpp:
  575. (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
  576. * rendering/svg/RenderSVGResourceFilter.cpp:
  577. (WebCore::RenderSVGResourceFilter::postApplyResource):
  578. * rendering/svg/RenderSVGResourceFilter.h:
  579. * rendering/svg/RenderSVGResourceGradient.cpp:
  580. (WebCore::RenderSVGResourceGradient::applyResource):
  581. * rendering/svg/RenderSVGResourceGradient.h:
  582. * rendering/svg/RenderSVGResourcePattern.cpp:
  583. (WebCore::RenderSVGResourcePattern::postApplyResource):
  584. * rendering/svg/RenderSVGResourcePattern.h:
  585. * rendering/svg/RenderSVGResourceSolidColor.cpp:
  586. (WebCore::RenderSVGResourceSolidColor::postApplyResource):
  587. * rendering/svg/RenderSVGResourceSolidColor.h:
  588. * rendering/svg/RenderSVGRoot.cpp:
  589. (WebCore::RenderSVGRoot::paint):
  590. * rendering/svg/RenderSVGShape.cpp: Removed.
  591. * rendering/svg/RenderSVGShape.h: Removed.
  592. * rendering/svg/SVGInlineTextBox.cpp:
  593. (WebCore::SVGInlineTextBox::releasePaintingResource):
  594. * rendering/svg/SVGRenderSupport.cpp:
  595. (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
  596. (WebCore::SVGRenderSupport::finishRenderSVGContent):
  597. (WebCore::SVGRenderSupport::layoutChildren):
  598. * rendering/svg/SVGRenderTreeAsText.cpp:
  599. (WebCore::writeStyle):
  600. (WebCore::operator<<):
  601. (WebCore::write):
  602. * rendering/svg/SVGRenderTreeAsText.h:
  603. * rendering/svg/SVGTextRunRenderingContext.cpp:
  604. (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs):
  605. * svg/SVGCircleElement.cpp:
  606. (WebCore::SVGCircleElement::svgAttributeChanged):
  607. * svg/SVGEllipseElement.cpp:
  608. (WebCore::SVGEllipseElement::svgAttributeChanged):
  609. * svg/SVGLineElement.cpp:
  610. (WebCore::SVGLineElement::svgAttributeChanged):
  611. * svg/SVGPathElement.cpp:
  612. (WebCore::SVGPathElement::svgAttributeChanged):
  613. (WebCore::SVGPathElement::pathSegListChanged):
  614. * svg/SVGPathElement.h:
  615. * svg/SVGPolyElement.cpp:
  616. (WebCore::SVGPolyElement::svgAttributeChanged):
  617. * svg/SVGRectElement.cpp:
  618. (WebCore::SVGRectElement::svgAttributeChanged):
  619. * svg/SVGRectElement.h:
  620. 2011-10-19 Yury Semikhatsky <yurys@chromium.org>
  621. Web Inspector: worker inspector title should contain worker URL
  622. https://bugs.webkit.org/show_bug.cgi?id=70424
  623. Worker inspector title is now evaluated when the front-end starts.
  624. Reviewed by Pavel Feldman.
  625. * inspector/front-end/WorkerManager.js:
  626. (WebInspector.WorkerManager.loaded):
  627. (WebInspector.WorkerManager._calculateWorkerInspectorTitle):
  628. 2011-10-19 Martin Robinson <mrobinson@igalia.com>
  629. [GTK] Avoid unecessarily calling gtk_widget_size_allocate on plugin widgets
  630. https://bugs.webkit.org/show_bug.cgi?id=70190
  631. Reviewed by Xan Lopez.
  632. Instead of always calling gtk_widget_size_allocate on every single plugin
  633. widget during scrolling, only call it on widgets that are both in the view
  634. and that have moved.
  635. No new tests. It's difficult to test scrolling performance in an
  636. automated way.
  637. * plugins/gtk/PluginViewGtk.cpp:
  638. (WebCore::PluginView::setNPWindowIfNeeded): Reverse the if statement detecting a
  639. clipped out plugin. It was incorrect.
  640. (WebCore::PluginView::updateWidgetAllocationAndClip): If the current allocation of
  641. the plugin widget has not changed or if the widget remains scrolled out, do not call
  642. gtk_widget_size_allocate.
  643. 2011-10-19 Renata Hodovan <reni@webkit.org>
  644. Add new renderer for SVGRectElement.
  645. https://bugs.webkit.org/show_bug.cgi?id=65769
  646. Reviewed by Dirk Schulze.
  647. This patch introduces a new common base class called RenderSVGShape which
  648. replaces the RenderSVGPath. This new base class has the same purpose
  649. as the replaced class and has specialized descendants for common
  650. shapes (like Rectangles and Circles), which allows faster painting
  651. of these shapes when certain conditions are fulfilled. On some
  652. benchmark programs we have seen 5% speedup.
  653. The biggest motivation of this refactor is taking advantage
  654. of faster primitive drawing in the most common and frequent
  655. cases. However in some rare cases, like painting rounded
  656. rects, we need to fallback to the original code path, which
  657. is fully kept in the RenderSVGShape base class. Some other
  658. cases, like dashed strokes, can be painted but mouse pointer
  659. events cannot be handled by the descendant classes. A different
  660. fallback mechanism is used in such cases which redirects
  661. only the pointer event handling to the base class.
  662. Tests: svg/custom/pointer-events-on-rounded-rect.xhtml
  663. svg/custom/pointer-events-with-linecaps-and-miterlimits.xhtml
  664. * CMakeLists.txt:
  665. * GNUmakefile.list.am:
  666. * WebCore.gypi:
  667. * WebCore.pro:
  668. * WebCore.vcproj/WebCore.vcproj:
  669. * platform/graphics/FloatRect.cpp:
  670. (WebCore::FloatRect::contains):
  671. * platform/graphics/FloatRect.h:
  672. (WebCore::FloatRect::contains):
  673. * rendering/RenderObject.h:
  674. (WebCore::RenderObject::isSVGRect):
  675. (WebCore::RenderObject::isSVGShape):
  676. * rendering/RenderTreeAsText.cpp:
  677. (WebCore::write):
  678. * rendering/svg/RenderSVGAllInOne.cpp:
  679. * rendering/svg/RenderSVGModelObject.cpp:
  680. (WebCore::isGraphicsElement):
  681. * rendering/svg/RenderSVGPath.cpp:
  682. (WebCore::RenderSVGPath::RenderSVGPath):
  683. (WebCore::RenderSVGPath::inflateWithMarkerBounds): Unite the markerBounds with strokeBoundingBox.
  684. * rendering/svg/RenderSVGPath.h:
  685. * rendering/svg/RenderSVGRect.cpp: Added.
  686. (WebCore::RenderSVGRect::RenderSVGRect):
  687. (WebCore::RenderSVGRect::~RenderSVGRect):
  688. (WebCore::RenderSVGRect::createShape):
  689. (WebCore::RenderSVGRect::objectBoundingBox):
  690. (WebCore::RenderSVGRect::strokeBoundingBox):
  691. (WebCore::RenderSVGRect::fillShape):
  692. (WebCore::RenderSVGRect::strokeShape):
  693. (WebCore::RenderSVGRect::shapeDependentStrokeContains):
  694. (WebCore::RenderSVGRect::shapeDependentFillContains):
  695. * rendering/svg/RenderSVGRect.h: Added.
  696. (WebCore::RenderSVGRect::isSVGRect):
  697. (WebCore::RenderSVGRect::renderName):
  698. (WebCore::RenderSVGRect::isEmpty):
  699. * rendering/svg/RenderSVGResource.h:
  700. (WebCore::RenderSVGResource::postApplyResource): A new shape argument was added to allow shape specific faster painting.
  701. * rendering/svg/RenderSVGResourceClipper.cpp:
  702. (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
  703. (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
  704. (WebCore::RenderSVGResourceClipper::hitTestClipContent):
  705. * rendering/svg/RenderSVGResourceContainer.cpp:
  706. (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
  707. * rendering/svg/RenderSVGResourceFilter.cpp:
  708. (WebCore::RenderSVGResourceFilter::postApplyResource):
  709. * rendering/svg/RenderSVGResourceFilter.h:
  710. * rendering/svg/RenderSVGResourceGradient.cpp:
  711. (WebCore::RenderSVGResourceGradient::applyResource):
  712. * rendering/svg/RenderSVGResourceGradient.h:
  713. * rendering/svg/RenderSVGResourcePattern.cpp:
  714. (WebCore::RenderSVGResourcePattern::postApplyResource):
  715. * rendering/svg/RenderSVGResourcePattern.h:
  716. * rendering/svg/RenderSVGResourceSolidColor.cpp:
  717. (WebCore::RenderSVGResourceSolidColor::postApplyResource):
  718. * rendering/svg/RenderSVGResourceSolidColor.h:
  719. * rendering/svg/RenderSVGShape.cpp: Copied from Source/WebCore/rendering/svg/RenderSVGPath.cpp.
  720. (WebCore::RenderSVGShape::RenderSVGShape):
  721. (WebCore::RenderSVGShape::~RenderSVGShape):
  722. (WebCore::RenderSVGShape::createShape):
  723. (WebCore::RenderSVGShape::isEmpty):
  724. (WebCore::RenderSVGShape::fillShape):
  725. (WebCore::RenderSVGShape::objectBoundingBox):
  726. (WebCore::RenderSVGShape::strokeBoundingBox):
  727. (WebCore::RenderSVGShape::strokeShape):
  728. (WebCore::RenderSVGShape::shapeDependentStrokeContains):
  729. The purpose of this virtual function allows decendants to use their own fast checks.
  730. (WebCore::RenderSVGShape::shapeDependentFillContains):
  731. The purpose of this virtual function allows decendants to use their own fast checks.
  732. (WebCore::RenderSVGShape::fillContains):
  733. (WebCore::RenderSVGShape::strokeContains):
  734. (WebCore::RenderSVGShape::layout):
  735. (WebCore::RenderSVGShape::shouldStrokeZeroLengthSubpath):
  736. (WebCore::RenderSVGShape::zeroLengthSubpathRect):
  737. (WebCore::RenderSVGShape::setupSquareCapPath):
  738. (WebCore::RenderSVGShape::setupNonScalingStrokePath):
  739. (WebCore::RenderSVGShape::fillAndStrokePath):
  740. (WebCore::RenderSVGShape::paint):
  741. (WebCore::RenderSVGShape::addFocusRingRects):
  742. (WebCore::RenderSVGShape::nodeAtFloatPoint):
  743. (WebCore::RenderSVGShape::calculateMarkerBoundsIfNeeded):
  744. (WebCore::RenderSVGShape::updateCachedBoundaries):
  745. (WebCore::RenderSVGShape::strokeWidth):
  746. * rendering/svg/RenderSVGShape.h: Copied from Source/WebCore/rendering/svg/RenderSVGPath.h.
  747. (WebCore::BoundingRectStrokeStyleApplier::BoundingRectStrokeStyleApplier):
  748. (WebCore::BoundingRectStrokeStyleApplier::strokeStyle):
  749. (WebCore::RenderSVGShape::setNeedsShapeUpdate):
  750. (WebCore::RenderSVGShape::setNeedsBoundariesUpdate):
  751. (WebCore::RenderSVGShape::setNeedsTransformUpdate):
  752. (WebCore::RenderSVGShape::isPaintingFallback):
  753. (WebCore::RenderSVGShape::path):
  754. (WebCore::RenderSVGShape::setIsPaintingFallback):
  755. (WebCore::RenderSVGShape::setStrokeAndMarkerBoundingBox):
  756. (WebCore::RenderSVGShape::hasPath):
  757. (WebCore::RenderSVGShape::repaintRectInLocalCoordinates):
  758. (WebCore::RenderSVGShape::localToParentTransform):
  759. (WebCore::RenderSVGShape::localTransform):
  760. (WebCore::RenderSVGShape::isSVGShape):
  761. (WebCore::RenderSVGShape::renderName):
  762. (WebCore::RenderSVGShape::isRoundedRect):
  763. (WebCore::RenderSVGShape::inflateWithMarkerBounds):
  764. (WebCore::toRenderSVGShape):
  765. * rendering/svg/SVGInlineTextBox.cpp:
  766. (WebCore::SVGInlineTextBox::releasePaintingResource):
  767. * rendering/svg/SVGRenderSupport.cpp:
  768. (WebCore::SVGRenderSupport::finishRenderSVGContent):
  769. (WebCore::SVGRenderSupport::layoutChildren):
  770. * rendering/svg/SVGRenderTreeAsText.cpp:
  771. (WebCore::writeStyle):
  772. (WebCore::operator<<):
  773. (WebCore::write):
  774. * rendering/svg/SVGRenderTreeAsText.h:
  775. * rendering/svg/SVGTextRunRenderingContext.cpp:
  776. (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs):
  777. * svg/SVGCircleElement.cpp:
  778. (WebCore::SVGCircleElement::svgAttributeChanged):
  779. * svg/SVGEllipseElement.cpp:
  780. (WebCore::SVGEllipseElement::svgAttributeChanged):
  781. * svg/SVGLineElement.cpp:
  782. (WebCore::SVGLineElement::svgAttributeChanged):
  783. * svg/SVGPathElement.cpp:
  784. (WebCore::SVGPathElement::svgAttributeChanged):
  785. (WebCore::SVGPathElement::pathSegListChanged):
  786. (WebCore::SVGPathElement::createRenderer):
  787. * svg/SVGPathElement.h:
  788. * svg/SVGPolyElement.cpp:
  789. (WebCore::SVGPolyElement::svgAttributeChanged):
  790. * svg/SVGRectElement.cpp:
  791. (WebCore::SVGRectElement::svgAttributeChanged):
  792. (WebCore::SVGRectElement::createRenderer):
  793. * svg/SVGRectElement.h:
  794. 2011-10-19 Chris Fleizach <cfleizach@apple.com>
  795. AX: buttons of number type <input> controls are not fully accessible
  796. https://bugs.webkit.org/show_bug.cgi?id=70241
  797. Unreviewed. Fix missing </File> tag in Windows WebCore project file.
  798. * WebCore.vcproj/WebCore.vcproj:
  799. 2011-10-19 Ilya Tikhonovsky <loislo@chromium.org>
  800. Web Inspector: [Chromium] Add an ability to show the objects that were allocated between snapshot N-2 and snapshot N-1 and still alive in snapshot N.
  801. https://bugs.webkit.org/show_bug.cgi?id=61178
  802. This ability will help us to see only the leaked objects.
  803. Scenario:
  804. 1) do an action on inspected page which leaks javascript data;
  805. 2) make snapshot;
  806. 3) repeat first two steps three or more times;
  807. 4) select the last snapshot and select the filter 'Objects allocated between Snapshot 1 and Snapshot2' instead of 'All objects'.
  808. The view shows the object that were allocated between snapshot N-2 and snapshot N-1 and still alive in snapshot N
  809. Reviewed by Pavel Feldman.
  810. * English.lproj/localizedStrings.js:
  811. * inspector/front-end/DetailedHeapshotGridNodes.js:
  812. (WebInspector.HeapSnapshotConstructorNode):
  813. (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
  814. * inspector/front-end/DetailedHeapshotView.js:
  815. (WebInspector.HeapSnapshotConstructorsDataGrid):
  816. (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
  817. (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
  818. (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged.firstSnapshotLoaded):
  819. (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged.secondSnapshotLoaded):
  820. (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
  821. (WebInspector.HeapSnapshotDiffDataGrid.prototype._baseProfileIndexChanged):
  822. (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
  823. (WebInspector.DetailedHeapshotView.profileCallback):
  824. (WebInspector.DetailedHeapshotView):
  825. (WebInspector.DetailedHeapshotView.prototype.get statusBarItems):
  826. (WebInspector.DetailedHeapshotView.prototype._changeBase):
  827. (WebInspector.DetailedHeapshotView.prototype._changeFilter):
  828. (WebInspector.DetailedHeapshotView.prototype._loadProfileByIndex):
  829. (WebInspector.DetailedHeapshotView.prototype._changeView):
  830. (WebInspector.DetailedHeapshotView.prototype._updateFilterOptions):
  831. * inspector/front-end/HeapSnapshot.js:
  832. (WebInspector.HeapSnapshot.prototype.dispose):
  833. (WebInspector.HeapSnapshot.prototype.get maxNodeId):
  834. (WebInspector.HeapSnapshot.prototype.aggregates):
  835. (WebInspector.HeapSnapshot.prototype._buildAggregates):
  836. (WebInspector.HeapSnapshot.prototype._sortAggregateIndexes):
  837. (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
  838. (WebInspector.HeapSnapshot.prototype.updateStaticData):
  839. * inspector/front-end/HeapSnapshotProxy.js:
  840. (WebInspector.HeapSnapshotWorker):
  841. (WebInspector.HeapSnapshotProxy.prototype.aggregates):
  842. (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForClass):
  843. (WebInspector.HeapSnapshotProxy.prototype.get maxNodeId):
  844. (WebInspector.HeapSnapshotProxy.prototype.startLoading):
  845. 2011-10-19 Alexander Pavlov <apavlov@chromium.org>
  846. Strip trailing whitespace in the WebCore/css C++ code.
  847. https://bugs.webkit.org/show_bug.cgi?id=70410
  848. Reviewed by Dirk Schulze.
  849. Only affected file names retained below for brevity.
  850. Multiline boolean expression were fixed where necessary to avoid patch style violations.
  851. * css/CSSBorderImageSliceValue.cpp:
  852. * css/CSSBorderImageSliceValue.h:
  853. * css/CSSBorderImageValue.cpp:
  854. * css/CSSCanvasValue.cpp:
  855. * css/CSSCanvasValue.h:
  856. * css/CSSComputedStyleDeclaration.cpp:
  857. * css/CSSCursorImageValue.cpp:
  858. * css/CSSFontFace.cpp:
  859. * css/CSSFontFace.h:
  860. * css/CSSFontFaceSource.cpp:
  861. * css/CSSFontFaceSource.h:
  862. * css/CSSFontFaceSrcValue.cpp:
  863. * css/CSSFontFaceSrcValue.h:
  864. * css/CSSFontSelector.cpp:
  865. * css/CSSFontSelector.h:
  866. * css/CSSFunctionValue.cpp:
  867. * css/CSSFunctionValue.h:
  868. * css/CSSGradientValue.cpp:
  869. * css/CSSGradientValue.h:
  870. * css/CSSImageGeneratorValue.cpp:
  871. * css/CSSImageGeneratorValue.h:
  872. * css/CSSImageValue.cpp:
  873. * css/CSSImageValue.h:
  874. * css/CSSImportRule.cpp:
  875. * css/CSSInitialValue.cpp:
  876. * css/CSSInitialValue.h:
  877. * css/CSSMutableStyleDeclaration.cpp:
  878. * css/CSSMutableStyleDeclaration.h:
  879. * css/CSSParser.cpp:
  880. * css/CSSParser.h:
  881. * css/CSSParserValues.cpp:
  882. * css/CSSParserValues.h:
  883. * css/CSSPrimitiveValue.cpp:
  884. * css/CSSPrimitiveValue.h:
  885. * css/CSSPrimitiveValueCache.cpp:
  886. * css/CSSPrimitiveValueCache.h:
  887. * css/CSSPrimitiveValueMappings.h:
  888. * css/CSSProperty.cpp:
  889. * css/CSSProperty.h:
  890. * css/CSSPropertyLonghand.cpp:
  891. * css/CSSReflectValue.cpp:
  892. * css/CSSReflectValue.h:
  893. * css/CSSReflectionDirection.h:
  894. * css/CSSSegmentedFontFace.cpp:
  895. * css/CSSSegmentedFontFace.h:
  896. * css/CSSSelector.cpp:
  897. * css/CSSSelector.h:
  898. * css/CSSSelectorList.cpp:
  899. * css/CSSSelectorList.h:
  900. * css/CSSStyleApplyProperty.cpp:
  901. * css/CSSStyleDeclaration.h:
  902. * css/CSSStyleSelector.cpp:
  903. * css/CSSStyleSelector.h:
  904. * css/CSSStyleSheet.cpp:
  905. * css/CSSTimingFunctionValue.cpp:
  906. * css/CSSTimingFunctionValue.h:
  907. * css/CSSUnicodeRangeValue.cpp:
  908. * css/CSSUnicodeRangeValue.h:
  909. * css/CSSValueList.cpp:
  910. * css/CSSWrapShapes.cpp:
  911. * css/CSSWrapShapes.h:
  912. * css/FontValue.cpp:
  913. * css/MediaList.cpp:
  914. * css/MediaQuery.cpp:
  915. * css/MediaQuery.h:
  916. * css/MediaQueryEvaluator.h:
  917. * css/MediaQueryExp.cpp:
  918. * css/MediaQueryExp.h:
  919. * css/Pair.h:
  920. * css/SVGCSSComputedStyleDeclaration.cpp:
  921. * css/SVGCSSParser.cpp:
  922. * css/SVGCSSStyleSelector.cpp:
  923. * css/SelectorChecker.cpp:
  924. * css/SelectorChecker.h:
  925. * css/StyleBase.cpp:
  926. * css/StyleMedia.cpp:
  927. * css/StyleMedia.h:
  928. * css/StyleSheetList.cpp:
  929. * css/StyleSheetList.h:
  930. * css/WebKitCSSFilterValue.cpp:
  931. * css/WebKitCSSFilterValue.h:
  932. * css/WebKitCSSKeyframeRule.cpp:
  933. * css/WebKitCSSKeyframeRule.h:
  934. * css/WebKitCSSKeyframesRule.cpp:
  935. * css/WebKitCSSKeyframesRule.h:
  936. * css/WebKitCSSMatrix.cpp:
  937. * css/WebKitCSSMatrix.h:
  938. * css/WebKitCSSTransformValue.cpp:
  939. * css/WebKitCSSTransformValue.h:
  940. 2011-10-19 Dirk Schulze <krit@webkit.org>
  941. Make FilterEffect::apply() independent of image data management
  942. https://bugs.webkit.org/show_bug.cgi?id=70350
  943. Reviewed by Zoltan Herczeg.
  944. FilterEffect::apply() needs to be independent from the image data management in FilterEffect.
  945. This allows implementing effective hardware accelerated alternatives, like OpenGL, CI or OpenCL
  946. based filters, to the software rendering. The software rendering code will be used as fallback
  947. and moves to platformApplySoftware().
  948. The patch does not change the behavior of SVG filters. Did not add new test cases.
  949. * platform/graphics/filters/FEBlend.cpp: Renamed apply() to platformApplyGeneric()
  950. and removed validity checks that are done by FilterEffect::apply(). This is a
  951. recurring pattern for all following effects.
  952. (WebCore::FEBlend::platformApplySoftware):
  953. * platform/graphics/filters/FEBlend.h:
  954. * platform/graphics/filters/FEColorMatrix.cpp:
  955. (WebCore::FEColorMatrix::platformApplySoftware):
  956. * platform/graphics/filters/FEColorMatrix.h:
  957. * platform/graphics/filters/FEComponentTransfer.cpp:
  958. (WebCore::FEComponentTransfer::platformApplySoftware):
  959. * platform/graphics/filters/FEComponentTransfer.h:
  960. * platform/graphics/filters/FEComposite.cpp:
  961. (WebCore::FEComposite::platformApplySoftware):
  962. * platform/graphics/filters/FEComposite.h:
  963. * platform/graphics/filters/FEConvolveMatrix.cpp:
  964. (WebCore::FEConvolveMatrix::platformApplySoftware):
  965. * platform/graphics/filters/FEConvolveMatrix.h:
  966. * platform/graphics/filters/FEDisplacementMap.cpp:
  967. (WebCore::FEDisplacementMap::platformApplySoftware):
  968. * platform/graphics/filters/FEDisplacementMap.h:
  969. * platform/graphics/filters/FEDropShadow.cpp:
  970. (WebCore::FEDropShadow::platformApplySoftware):
  971. * platform/graphics/filters/FEDropShadow.h:
  972. * platform/graphics/filters/FEFlood.cpp:
  973. (WebCore::FEFlood::platformApplySoftware):
  974. * platform/graphics/filters/FEFlood.h:
  975. * platform/graphics/filters/FEGaussianBlur.cpp:
  976. (WebCore::FEGaussianBlur::platformApplySoftware):
  977. * platform/graphics/filters/FEGaussianBlur.h:
  978. * platform/graphics/filters/FELighting.cpp:
  979. (WebCore::FELighting::platformApplySoftware):
  980. * platform/graphics/filters/FELighting.h:
  981. * platform/graphics/filters/FEMerge.cpp:
  982. (WebCore::FEMerge::platformApplySoftware):
  983. * platform/graphics/filters/FEMerge.h:
  984. * platform/graphics/filters/FEMorphology.cpp:
  985. (WebCore::FEMorphology::platformApplySoftware):
  986. * platform/graphics/filters/FEMorphology.h:
  987. * platform/graphics/filters/FEOffset.cpp:
  988. (WebCore::FEOffset::platformApplySoftware):
  989. * platform/graphics/filters/FEOffset.h:
  990. * platform/graphics/filters/FETile.cpp:
  991. (WebCore::FETile::platformApplySoftware):
  992. * platform/graphics/filters/FETile.h:
  993. * platform/graphics/filters/FETurbulence.cpp:
  994. (WebCore::FETurbulence::platformApplySoftware):
  995. * platform/graphics/filters/FETurbulence.h:
  996. * platform/graphics/filters/FilterEffect.cpp: Added non-virtual apply() function. This will call the platform specific apply functions,
  997. which need to be virtual now.
  998. (WebCore::FilterEffect::hasResult): Added a comment for new implementations. This function needs to be updated for every new port.
  999. (WebCore::FilterEffect::apply):
  1000. (WebCore::FilterEffect::createImageBufferResult): Removed determineAbsolutePaintRect() call. This is done in apply() now.
  1001. (WebCore::FilterEffect::createUnmultipliedImageResult): Ditto.
  1002. (WebCore::FilterEffect::createPremultipliedImageResult): Ditto.
  1003. * platform/graphics/filters/FilterEffect.h:
  1004. * platform/graphics/filters/SourceAlpha.cpp:
  1005. (WebCore::SourceAlpha::platformApplySoftware):
  1006. * platform/graphics/filters/SourceAlpha.h:
  1007. * platform/graphics/filters/SourceGraphic.cpp:
  1008. (WebCore::SourceGraphic::platformApplySoftware):
  1009. * platform/graphics/filters/SourceGraphic.h:
  1010. * svg/graphics/filters/SVGFEImage.cpp:
  1011. (WebCore::FEImage::platformApplySoftware):
  1012. * svg/graphics/filters/SVGFEImage.h:
  1013. 2011-10-19 Vsevolod Vlasov <vsevik@chromium.org>
  1014. Web Inspector: Enable caseSensitive search / Regex support in advanced search.
  1015. https://bugs.webkit.org/show_bug.cgi?id=70335
  1016. Reviewed by Pavel Feldman.
  1017. * inspector/ContentSearchUtils.cpp:
  1018. (WebCore::ContentSearchUtils::createSearchRegex):
  1019. (WebCore::ContentSearchUtils::searchInTextByLines):
  1020. * inspector/ContentSearchUtils.h:
  1021. * inspector/Inspector.json:
  1022. * inspector/InspectorDebuggerAgent.cpp:
  1023. (WebCore::InspectorDebuggerAgent::searchInContent):
  1024. * inspector/InspectorDebuggerAgent.h:
  1025. * inspector/InspectorPageAgent.cpp:
  1026. (WebCore::InspectorPageAgent::searchInResource):
  1027. * inspector/InspectorPageAgent.h:
  1028. * inspector/front-end/AdvancedSearchController.js:
  1029. (WebInspector.SearchView):
  1030. (WebInspector.SearchView.prototype.get searchConfig):
  1031. (WebInspector.FileBasedSearchResultsPane.prototype._createSearchRegex):
  1032. (WebInspector.FileBasedSearchResultsPane.prototype.addSearchResult):
  1033. (WebInspector.FileBasedSearchResultsPane.SearchResult):
  1034. * inspector/front-end/ConsolePanel.js:
  1035. (WebInspector.ConsolePanel.prototype.performSearch):
  1036. * inspector/front-end/ContentProviders.js:
  1037. (WebInspector.ScriptContentProvider.prototype.searchInContent):
  1038. (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent.searchCallback):
  1039. (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent):
  1040. (WebInspector.ResourceContentProvider.prototype.searchInContent):
  1041. (WebInspector.CompilerSourceMappingContentProvider.prototype.searchInContent):
  1042. (WebInspector.StaticContentProvider.prototype.searchInContent):
  1043. * inspector/front-end/ElementsTreeOutline.js:
  1044. ():
  1045. * inspector/front-end/NetworkPanel.js:
  1046. (WebInspector.NetworkLogView.prototype.performSearch):
  1047. * inspector/front-end/Resource.js:
  1048. (WebInspector.Resource.prototype.searchInContent):
  1049. * inspector/front-end/Script.js:
  1050. (WebInspector.Script.prototype.searchInContent):
  1051. * inspector/front-end/ScriptsSearchScope.js:
  1052. (WebInspector.ScriptsSearchScope.prototype.performSearch.searchCallbackWrapper):
  1053. (WebInspector.ScriptsSearchScope.prototype.performSearch):
  1054. * inspector/front-end/SourceFrame.js:
  1055. (WebInspector.SourceFrame.createSearchRegex):
  1056. * inspector/front-end/UISourceCode.js:
  1057. (WebInspector.UISourceCode.prototype.searchInContent):
  1058. (WebInspector.ContentProvider.prototype.searchInContent):
  1059. * inspector/front-end/inspector.css:
  1060. (.search-view .search-panel input[type="search"].search-config-search):
  1061. (.search-view .search-panel label.search-config-label):
  1062. (.search-view .search-panel input[type="checkbox"].search-config-checkbox):
  1063. * inspector/front-end/utilities.js:
  1064. ():
  1065. 2011-10-19 Andreas Kling <kling@webkit.org>
  1066. MediaList: Remove inheritance from StyleBase.
  1067. https://bugs.webkit.org/show_bug.cgi?id=70203
  1068. Reviewed by Darin Adler.
  1069. * css/MediaList.h:
  1070. (WebCore::MediaList::parentStyleSheet):
  1071. (WebCore::MediaList::setParentStyleSheet):
  1072. * css/MediaList.cpp:
  1073. (WebCore::MediaList::MediaList):
  1074. (WebCore::MediaList::notifyChanged):
  1075. Change MediaList to no longer inherit from StyleBase. The parent()/setParent()
  1076. mechanism was replaced by explicit parentStyleSheet()/setParentStyleSheet().
  1077. * css/CSSImportRule.cpp:
  1078. (WebCore::CSSImportRule::CSSImportRule):
  1079. (WebCore::CSSImportRule::~CSSImportRule):
  1080. * css/CSSMediaRule.cpp:
  1081. (WebCore::CSSMediaRule::CSSMediaRule):
  1082. (WebCore::CSSMediaRule::~CSSMediaRule):
  1083. Change StyleBase::setParent() calls to MediaList::setParentStyleSheet().
  1084. CSSRules are never moved between stylesheets, so the parent style sheet pointer
  1085. is valid for the MediaList's lifetime.
  1086. * css/StyleSheet.cpp:
  1087. (WebCore::StyleSheet::~StyleSheet):
  1088. Change StyleBase::setParent() calls to MediaList::setParentStyleSheet().
  1089. (WebCore::StyleSheet::setMedia):
  1090. Change StyleBase::setParent() calls to MediaList::setParentStyleSheet().
  1091. Assert that the parent sheet is either null, or this, as MediaLists should never
  1092. be reparented to other sheets.
  1093. Assert that the StyleSheet is indeed a CSSStyleSheet. XSLStyleSheet inherits from
  1094. StyleSheet, but it shouldn't be using the MediaList.
  1095. * bindings/js/JSDOMBinding.h:
  1096. (WebCore::root):
  1097. Add MediaList* specific overload for root() since it can't fall back
  1098. to root(StyleBase*) anymore.
  1099. * WebCore.xcodeproj/project.pbxproj:
  1100. Add some PrivateHeaders to accomodate the JSDOMBinding.h changes.
  1101. * css/CSSMediaRule.h:
  1102. Remove unnecessary forward-declaration of MediaList.
  1103. 2011-10-19 Vsevolod Vlasov <vsevik@chromium.org>
  1104. Web Inspector: Console messages for XHR logging should show call stack if available.
  1105. https://bugs.webkit.org/show_bug.cgi?id=70324
  1106. Reviewed by Pavel Feldman.
  1107. * inspector/front-end/ConsoleMessage.js:
  1108. (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
  1109. 2011-10-13 Pavel Podivilov <podivilov@chromium.org>
  1110. Web Inspector: move JS specific popover handling to JavaScriptSourceFrame.
  1111. https://bugs.webkit.org/show_bug.cgi?id=70033
  1112. Reviewed by Pavel Feldman.
  1113. * inspector/front-end/DebuggerPresentationModel.js:
  1114. (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
  1115. (WebInspector.DebuggerPresentationModel.prototype.get paused):
  1116. * inspector/front-end/JavaScriptSourceFrame.js:
  1117. (WebInspector.JavaScriptSourceFrame):
  1118. (WebInspector.JavaScriptSourceFrame.prototype.shouldShowPopover):
  1119. (WebInspector.JavaScriptSourceFrame.prototype.onShowPopover.showObjectPopover):
  1120. (WebInspector.JavaScriptSourceFrame.prototype.onShowPopover):
  1121. (WebInspector.JavaScriptSourceFrame.prototype.onHidePopover):
  1122. (WebInspector.JavaScriptSourceFrame.prototype._highlightExpression):
  1123. * inspector/front-end/ScriptsPanel.js:
  1124. (WebInspector.ScriptsPanel.prototype._createSourceFrame):
  1125. (WebInspector.SourceFrameDelegateForScriptsPanel):
  1126. * inspector/front-end/SourceFrame.js:
  1127. (WebInspector.SourceFrame):
  1128. (WebInspector.SourceFrame.prototype.willHide):
  1129. (WebInspector.SourceFrame.prototype._initializeTextViewer):
  1130. (WebInspector.SourceFrame.prototype._getPopoverAnchor):
  1131. (WebInspector.SourceFrame.prototype.get readOnly):
  1132. (WebInspector.SourceFrame.prototype._setReadOnly):
  1133. (WebInspector.SourceFrame.prototype.contentChanged):
  1134. (WebInspector.SourceFrame.prototype.shouldShowPopover):
  1135. (WebInspector.SourceFrame.prototype.onShowPopover):
  1136. (WebInspector.SourceFrame.prototype.onHidePopover):
  1137. 2011-10-19 Tomasz Morawski <t.morawski@samsung.com>
  1138. [EFL][WK2] Added missing files to build WebKit2 EFL
  1139. https://bugs.webkit.org/show_bug.cgi?id=70312
  1140. Reviewed by Ryosuke Niwa.
  1141. Added missing files to WebCore/CMakeListEfl.txt script:
  1142. - platform/network/soup/CredentialStorageSoup.cpp
  1143. - platform/network/soup/ProxyServerSoup.cpp
  1144. Fixes few linking time errors.
  1145. * CMakeListsEfl.txt:
  1146. 2011-10-19 Kentaro Hara <haraken@chromium.org>
  1147. Rename AllowAllocation to ConstructorMode
  1148. https://bugs.webkit.org/show_bug.cgi?id=70397
  1149. Reviewed by Adam Barth.
  1150. The name 'AllowAllocation' is confusing (See discussion here: bug 70015).
  1151. This patch renames 'AllowAllocation' to 'ConstructorMode' to clarify that
  1152. this class is for distinguishing the following two situations:
  1153. 1. A programmer allocates an object via "new X"; X is a function with a C++ constructCallback.
  1154. 2. C++ allocates an object via the function template and tries to wrap the object with a JS flavor.
  1155. Tests: fast/events/constructors/*
  1156. * bindings/scripts/CodeGeneratorV8.pm: Renamed AllowAllocation to ConstructorMode.
  1157. (GenerateConstructorCallback):
  1158. * bindings/scripts/test/V8/V8TestInterface.cpp: Updated a run-binding-tests result.
  1159. (WebCore::V8TestInterface::constructorCallback):
  1160. * bindings/v8/V8Binding.cpp: Renamed AllowAllocation to ConstructorMode.
  1161. (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
  1162. * bindings/v8/V8Binding.h: Ditto.
  1163. (WebCore::ConstructorMode::ConstructorMode):
  1164. (WebCore::ConstructorMode::~ConstructorMode):
  1165. (WebCore::ConstructorMode::current):
  1166. (WebCore::SafeAllocation::newInstance):
  1167. * bindings/v8/V8Proxy.cpp: Ditto.
  1168. (WebCore::V8Proxy::checkNewLegal):
  1169. * bindings/v8/custom/V8EventConstructors.cpp: Ditto.
  1170. (WebCore::constructV8Event):
  1171. 2011-10-19 Tomasz Morawski <t.morawski@samsung.com>
  1172. [EFL] Added missing dummy platformDescription function
  1173. https://bugs.webkit.org/show_bug.cgi?id=70310
  1174. Reviewed by Ryosuke Niwa.
  1175. Added dummy platformDescription function needed to compile WK2.
  1176. * platform/efl/ContextMenuEfl.cpp:
  1177. (WebCore::ContextMenu::platformDescription):
  1178. 2011-10-18 Kentaro Hara <haraken@chromium.org>
  1179. Generate a SharedWorker constructor of V8 using [Constructor] IDL
  1180. https://bugs.webkit.org/show_bug.cgi?id=67879
  1181. Reviewed by Hajime Morita.
  1182. Spec: http://dev.w3.org/html5/workers/#shared-workers-and-the-sharedworker-interface
  1183. This patch changed SharedWorker::create(..., context, ec) to
  1184. SharedWorker::create(context, ..., ec), since a parameter specified by [CallWith]
  1185. should come at the beginning (c.f. bug 69799).
  1186. Test: ui_tests:WorkerTest.FLAKY_SharedWorkerFastConstructor
  1187. ui_tests:WorkerTest.FLAKY_SharedWorkerFastName
  1188. * WebCore.gypi: Removed bindings/v8/custom/V8SharedWorkerCustom.cpp
  1189. * WebCore.pro: Ditto.
  1190. * bindings/js/JSSharedWorkerCustom.cpp: Moved ScriptExecutionContext parameter to the beginning.
  1191. (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
  1192. * bindings/v8/custom/V8SharedWorkerCustom.cpp: Removed.
  1193. * workers/SharedWorker.cpp: Moved ScriptExecutionContext parameter to the beginning.
  1194. (WebCore::SharedWorker::create): Ditto.
  1195. * workers/SharedWorker.h: Ditto.
  1196. * workers/SharedWorker.idl: Added [Constructor] IDL.
  1197. 2011-10-18 Johnny Ding <jnd@chromium.org>
  1198. Implement NSProcessInfo::systemUptime on Mac Leopard.
  1199. https://bugs.webkit.org/show_bug.cgi?id=66577
  1200. Reviewed by Tony Chang.
  1201. * WebCore.gyp/WebCore.gyp:
  1202. * platform/chromium/ScrollAnimatorChromiumMac.mm:
  1203. (-[NSProcessInfo systemUptime]):
  1204. 2011-10-18 Sam Weinig <sam@webkit.org>
  1205. Try to jostle the windows build back to life.
  1206. * rendering/HitTestResult.h:
  1207. 2011-10-18 Anders Carlsson <andersca@apple.com>
  1208. Assertion failure when going back in page with navigated subframes
  1209. https://bugs.webkit.org/show_bug.cgi?id=70389
  1210. <rdar://problem/8988444>
  1211. Reviewed by Darin Adler.
  1212. Test: fast/history/history-back-twice-with-subframes-assert.html
  1213. If a single navigation ends up loading multiple frame, the first committed frame will
  1214. end up calling recursiveUpdateForCommit on the main frame which will null out the provisional item
  1215. for all frames on the page. This means that it can null out the provisional item for any frames
  1216. that are still yet to be committed which causes the aforementioned assertion failure.
  1217. Fix this by only nulling out the provisional history item (and saving/restoring the scroll position and
  1218. some other things) for frames that already contain the URL that the item requested. If a frame is being loaded,
  1219. it will null out its provisional history item when it's committed.
  1220. * loader/HistoryController.cpp:
  1221. (WebCore::HistoryController::recursiveUpdateForCommit):
  1222. 2011-10-18 Sheriff Bot <webkit.review.bot@gmail.com>
  1223. Unreviewed, rolling out r97765.
  1224. http://trac.webkit.org/changeset/97765
  1225. https://bugs.webkit.org/show_bug.cgi?id=70388
  1226. "broke webkit_unit_tests, http/tests/xmlhttprequest
  1227. /xmlhttprequest-test-send-flag.html on linux debug" (Requested
  1228. by dpranke on #webkit).
  1229. * WebCore.gypi:
  1230. * loader/DocumentThreadableLoader.cpp:
  1231. (WebCore::DocumentThreadableLoader::create):
  1232. (WebCore::DocumentThreadableLoader::~DocumentThreadableLoader):
  1233. (WebCore::DocumentThreadableLoader::cancel):
  1234. (WebCore::DocumentThreadableLoader::setDefersLoading):
  1235. (WebCore::DocumentThreadableLoader::willSendRequest):
  1236. (WebCore::DocumentThreadableLoader::didSendData):
  1237. (WebCore::DocumentThreadableLoader::didReceiveResponse):
  1238. (WebCore::DocumentThreadableLoader::didReceiveData):
  1239. (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata):
  1240. (WebCore::DocumentThreadableLoader::didFinishLoading):
  1241. (WebCore::DocumentThreadableLoader::didFail):
  1242. (WebCore::DocumentThreadableLoader::preflightSuccess):
  1243. (WebCore::DocumentThreadableLoader::loadRequest):
  1244. * loader/DocumentThreadableLoader.h:
  1245. * loader/cache/CachedRawResource.cpp:
  1246. (WebCore::CachedRawResource::CachedRawResource):
  1247. (WebCore::CachedRawResource::data):
  1248. * loader/cache/CachedRawResource.h:
  1249. * loader/cache/CachedResource.cpp:
  1250. (WebCore::CachedResource::CachedResource):
  1251. * loader/cache/CachedResource.h:
  1252. (WebCore::CachedResource::setRequestedFromNetworkingLayer):
  1253. * loader/cache/CachedResourceClient.h:
  1254. * loader/cache/CachedResourceRequest.cpp:
  1255. (WebCore::CachedResourceRequest::~CachedResourceRequest):
  1256. (WebCore::CachedResourceRequest::willSendRequest):
  1257. (WebCore::CachedResourceRequest::didFinishLoading):
  1258. (WebCore::CachedResourceRequest::didReceiveResponse):
  1259. (WebCore::CachedResourceRequest::didReceiveData):
  1260. * loader/cache/CachedResourceRequest.h:
  1261. * loader/chromium/CachedRawResourceChromium.cpp: Removed.
  1262. * loader/chromium/CachedResourceRequestChromium.cpp: Removed.
  1263. * loader/chromium/DocumentThreadableLoaderChromium.cpp:
  1264. (WebCore::DocumentThreadableLoader::didDownloadData):
  1265. * loader/icon/IconLoader.h:
  1266. * platform/network/BlobResourceHandle.cpp:
  1267. (WebCore::BlobResourceHandle::notifyResponse):
  1268. 2011-10-18 Mark Hahnenberg <mhahnenberg@apple.com>
  1269. Rename static put to putByIndex
  1270. https://bugs.webkit.org/show_bug.cgi?id=70281
  1271. Reviewed by Geoffrey Garen.
  1272. No new tests.
  1273. Renaming versions of deleteProperty that use an unsigned as the property
  1274. name to "deletePropertyByIndex" in preparation for adding them to the
  1275. MethodTable, which requires unique names for each method.
  1276. * bindings/scripts/CodeGeneratorJS.pm:
  1277. (GenerateHeader):
  1278. (GenerateImplementation):
  1279. * bridge/runtime_array.cpp:
  1280. (JSC::RuntimeArray::putVirtual):
  1281. (JSC::RuntimeArray::putByIndex):
  1282. * bridge/runtime_array.h:
  1283. 2011-10-18 Sam Weinig <sam@webkit.org>
  1284. Fix the build.
  1285. * rendering/HitTestResult.cpp:
  1286. (WebCore::HitTestResult::absolutePDFURL):
  1287. Fix typo.
  1288. 2011-10-18 Alexis Menard <alexis.menard@openbossa.org>
  1289. Unreviewed warning fix after https://bugs.webkit.org/show_bug.cgi?id=70269
  1290. * WebCore.pro:
  1291. 2011-10-18 Alexey Proskuryakov <ap@apple.com>
  1292. Expose PDF information in hit test result
  1293. https://bugs.webkit.org/show_bug.cgi?id=70353
  1294. Reviewed by Sam Weinig.
  1295. * WebCore.exp.in:
  1296. * rendering/HitTestResult.cpp:
  1297. (WebCore::HitTestResult::absolutePDFURL):
  1298. * rendering/HitTestResult.h:
  1299. Added HitTestResult::absolutePDFURL(). It will contain a URL when over a PDF object or embed;
  1300. not sure if we want this for PDFImageDocuments.
  1301. 2011-10-18 Adrienne Walker <enne@google.com>
  1302. [chromium] Preserve offscreen tiles instead of immediately recycling them
  1303. https://bugs.webkit.org/show_bug.cgi?id=70352
  1304. Reviewed by James Robinson.
  1305. Tested by existing layout tests.
  1306. Prior to having a TextureManager class, tiled layers recycled their
  1307. textures internally to avoid reallocation. Unfortunately, it recycled
  1308. these tiles as soon as they went offscreen, even if they were still
  1309. valid. Instead, keep tiles around forever, letting the TextureManager
  1310. decide (via LRU) when to reclaim the underlying textures. This will
  1311. improve scrolling performance due to not needing to repaint tiles.
  1312. This change does lead to more texture reallocation for any textures
  1313. that get reclaimed, but the command buffer implementation already
  1314. pools and reuses texture ids, so it should not introduce additional
  1315. flush syncs. If there's any performance penalty, it'll be at the
  1316. driver level, but I'd prefer to measure that there's a problem before
  1317. prematurely optimizing and adding complexity to the TextureManager.
  1318. * platform/graphics/chromium/TiledLayerChromium.cpp:
  1319. (WebCore::TiledLayerChromium::cleanupResources):
  1320. (WebCore::TiledLayerChromium::createTile):
  1321. (WebCore::TiledLayerChromium::prepareToUpdate):
  1322. * platform/graphics/chromium/TiledLayerChromium.h:
  1323. 2011-10-18 Adam Klein <adamk@chromium.org>
  1324. [MutationObservers] Implement WebKitMutationObserver.observe for characterData changes
  1325. https://bugs.webkit.org/show_bug.cgi?id=68957
  1326. Reviewed by Ryosuke Niwa.
  1327. Test: fast/mutation/observe-characterdata.html
  1328. * dom/CharacterData.cpp:
  1329. (WebCore::CharacterData::dispatchModifiedEvent):
  1330. 2011-10-18 Scott Byer <scottbyer@chromium.org>
  1331. Scroll animator tracing
  1332. https://bugs.webkit.org/show_bug.cgi?id=70280
  1333. Reviewed by James Robinson.
  1334. No functional difference, no test needed.
  1335. * platform/ScrollAnimatorNone.cpp:
  1336. (WebCore::ScrollAnimatorNone::scroll):
  1337. (WebCore::ScrollAnimatorNone::animationTimerFired):
  1338. 2011-10-18 James Robinson <jamesr@chromium.org>
  1339. [chromium] Remove USE(THREADED_COMPOSITING) from the tree, this is controlled by a runtime setting
  1340. https://bugs.webkit.org/show_bug.cgi?id=70356
  1341. Reviewed by Kenneth Russell.
  1342. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  1343. 2011-10-18 Ojan Vafai <ojan@chromium.org>
  1344. cleanup some FIXMEs in RenderFlexibleBox
  1345. https://bugs.webkit.org/show_bug.cgi?id=70374
  1346. Reviewed by Darin Adler.
  1347. No new tests. Existing tests cover all changes.
  1348. * rendering/RenderFlexibleBox.cpp:
  1349. (WebCore::RenderFlexibleBox::layoutBlock):
  1350. (WebCore::RenderFlexibleBox::flowAwareBorderAndPaddingLogicalHeight):
  1351. (WebCore::RenderFlexibleBox::flowAwareMarginLogicalHeightForChild):
  1352. * rendering/RenderFlexibleBox.h:
  1353. Removed the FIXME to implement computePreferredLogicalWidths. It doesn't
  1354. seem to be necessary, at least not with the current test cases.
  1355. 2011-10-18 Joseph Pecoraro <joepeck@webkit.org>
  1356. Web Inspector: Some localizedStrings.js Updates
  1357. https://bugs.webkit.org/show_bug.cgi?id=70365
  1358. Reviewed by Darin Adler.
  1359. Fixed syntax issue, added missing strings, and removed a duplicate.
  1360. * English.lproj/localizedStrings.js:
  1361. 2011-10-18 Tony Chang <tony@chromium.org>
  1362. fix unused-but-set-variable warnings in WebCore
  1363. https://bugs.webkit.org/show_bug.cgi?id=70344
  1364. Reviewed by Adam Barth.
  1365. This is a new compiler warning in gcc 4.6.
  1366. * bindings/v8/V8DOMWrapper.cpp:
  1367. (WebCore::V8DOMWrapper::isWrapperOfType):
  1368. * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
  1369. (WebCore::ComplexTextController::normalizeSpacesAndMirrorChars):
  1370. 2011-10-18 Dan Bernstein <mitz@apple.com>
  1371. Certain column-rule styles render incorrectly in vertical writing modes
  1372. https://bugs.webkit.org/show_bug.cgi?id=70362
  1373. Reviewed by Darin Adler.
  1374. Test: fast/multicol/vertical-rl/rule-style.html
  1375. * rendering/RenderBlock.cpp:
  1376. (WebCore::RenderBlock::paintColumnRules): Use the correct border sides for vertical writing modes.
  1377. 2011-10-18 Anna Cavender <annacc@chromium.org>
  1378. Fix broken binding tests by changing G_MAXUSHORT to G_MAXUINT in WebKitDOMTestObj.cpp.
  1379. https://bugs.webkit.org/show_bug.cgi?id=70267
  1380. Reviewed by Daniel Bates.
  1381. Tests: fixing WebKitDOMTestObj.cpp
  1382. * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
  1383. (webkit_dom_test_obj_class_init): Change G_MAXUSHORT to G_MAXUINT
  1384. 2011-10-18 Julien Chaffraix <jchaffraix@webkit.org>
  1385. Crash in RenderDeprecatedFlexibleBox::layoutHorizontalBox
  1386. https://bugs.webkit.org/show_bug.cgi?id=70183
  1387. Reviewed by David Hyatt.
  1388. Test: fast/flexbox/layoutHorizontal-crash.html
  1389. The deferred scroll information update logic was not updated when an object was destroy'ed.
  1390. The fix is very simple. As the deferred logic was only used with deprecated flexbox, it is a
  1391. pretty uncommon cases so let's optimize the new code for the common case.
  1392. * rendering/RenderBlock.cpp:
  1393. (WebCore::RenderBlock::willBeDestroyed):
  1394. 2011-10-18 Adam Klein <adamk@chromium.org>
  1395. [MutationObservers] Clean up MutationObserver code in Node
  1396. https://bugs.webkit.org/show_bug.cgi?id=70349
  1397. Reviewed by Ryosuke Niwa.
  1398. Three small cleanups.
  1399. No new tests, no behavior change.
  1400. * dom/Node.cpp:
  1401. (WebCore::Node::clearRareData): Use indices instead of iterator in for loop; fix typo.
  1402. (WebCore::Node::registerMutationObserver): Inline single call to Node::ensureMutationObserverEntries.
  1403. * dom/Node.h: Make mutationObserverEntries private.
  1404. 2011-10-18 James Robinson <jamesr@chromium.org>
  1405. [chromium] Fix shutdown race when posting main thread task to CCThreadProxy and enable tests
  1406. https://bugs.webkit.org/show_bug.cgi?id=70161
  1407. Reviewed by David Levin.
  1408. Adds a weak pointer mechanism to cancel main thread tasks posted to CCThreadProxy instances from the compositor
  1409. thread. Previously there was a race condition where main thread tasks could run even after the CCThreadProxy was
  1410. destroyed.
  1411. This race does not exist in the other direction because when tearing down a CCThreadProxy we first post a quit
  1412. task to the compositor thread and then suspend execution of the main thread until all compositor tasks for the
  1413. CCThreadProxy have been drained.
  1414. Covered by the now-enabled CCLayerTreeHostTest* unit tests.
  1415. * WebCore.gypi:
  1416. * platform/graphics/chromium/cc/CCScopedMainThreadProxy.h: Added.
  1417. (WebCore::CCScopedMainThreadProxy::create):
  1418. (WebCore::CCScopedMainThreadProxy::postTask):
  1419. (WebCore::CCScopedMainThreadProxy::shutdown):
  1420. (WebCore::CCScopedMainThreadProxy::CCScopedMainThreadProxy):
  1421. (WebCore::CCScopedMainThreadProxy::runTaskIfNotShutdown):
  1422. * platform/graphics/chromium/cc/CCThreadProxy.cpp:
  1423. (WebCore::CCThreadProxy::CCThreadProxy):
  1424. (WebCore::CCThreadProxy::~CCThreadProxy):
  1425. (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
  1426. * platform/graphics/chromium/cc/CCThreadProxy.h:
  1427. 2011-10-13 Ojan Vafai <ojan@chromium.org>
  1428. implement flex-flow:column
  1429. https://bugs.webkit.org/show_bug.cgi?id=70082
  1430. Reviewed by David Hyatt.
  1431. There's still a bug with a FIXME where we don't compute the right
  1432. size for the container of the flexbox in the presence of
  1433. orthogonal flows. That's the cause of all the failing cases
  1434. in the tests.
  1435. Tests: css3/flexbox/flex-flow-border.html
  1436. css3/flexbox/flex-flow-margins.html
  1437. css3/flexbox/flex-flow-orientations.html
  1438. css3/flexbox/flex-flow-overflow.html
  1439. css3/flexbox/flex-flow-padding.html
  1440. css3/flexbox/flex-flow.html
  1441. * rendering/RenderFlexibleBox.cpp:
  1442. (WebCore::RenderFlexibleBox::layoutBlock):
  1443. (WebCore::RenderFlexibleBox::hasOrthogonalFlow):
  1444. (WebCore::RenderFlexibleBox::isColumnFlow):
  1445. (WebCore::RenderFlexibleBox::isHorizontalFlow):
  1446. (WebCore::RenderFlexibleBox::isLeftToRightFlow):
  1447. Use isHorizontalFlow and isLeftToRightFlow so that methods like
  1448. flowAwareBorderStart look exactly like borderStart with
  1449. isHorizontalWritingMode and isLeftToRightDirection replaced.
  1450. (WebCore::RenderFlexibleBox::setFlowAwareLogicalHeight):
  1451. (WebCore::RenderFlexibleBox::flowAwareLogicalHeightForChild):
  1452. (WebCore::RenderFlexibleBox::flowAwareLogicalWidthForChild):
  1453. (WebCore::RenderFlexibleBox::flowAwareLogicalHeight):
  1454. (WebCore::RenderFlexibleBox::flowAwareLogicalWidth):
  1455. (WebCore::RenderFlexibleBox::flowAwareContentLogicalHeight):
  1456. (WebCore::RenderFlexibleBox::flowAwareContentLogicalWidth):
  1457. (WebCore::RenderFlexibleBox::transformedWritingMode):
  1458. Transform the writing-mode based of the flex-flow and direction
  1459. values. That methods like flowAwareBorderBefore look exactly like
  1460. borderBefore, except it switches over a different value.
  1461. (WebCore::RenderFlexibleBox::flowAwareBorderStart):
  1462. (WebCore::RenderFlexibleBox::flowAwareBorderBefore):
  1463. (WebCore::RenderFlexibleBox::flowAwareBorderAfter):
  1464. (WebCore::RenderFlexibleBox::flowAwarePaddingStart):
  1465. (WebCore::RenderFlexibleBox::flowAwarePaddingBefore):
  1466. (WebCore::RenderFlexibleBox::flowAwarePaddingAfter):
  1467. (WebCore::RenderFlexibleBox::flowAwareMarginStartForChild):
  1468. (WebCore::RenderFlexibleBox::flowAwareMarginEndForChild):
  1469. (WebCore::RenderFlexibleBox::flowAwareMarginBeforeForChild):
  1470. (WebCore::RenderFlexibleBox::flowAwareMarginAfterForChild):
  1471. (WebCore::RenderFlexibleBox::setFlowAwareMarginStartForChild):
  1472. (WebCore::RenderFlexibleBox::setFlowAwareMarginEndForChild):
  1473. (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
  1474. (WebCore::RenderFlexibleBox::alignChildrenBlockDirection):
  1475. * rendering/RenderFlexibleBox.h:
  1476. 2011-10-18 Shawn Singh <shawnsingh@chromium.org>
  1477. [chromium] Tracking update rects in LayerChromium and CCLayerImpl.
  1478. https://bugs.webkit.org/show_bug.cgi?id=69441
  1479. Reviewed by James Robinson.
  1480. This patch does not do much on its own, but is just part 1 of a
  1481. string of other patches which will use these rects for
  1482. visualization and scissoring. The appropriate testing will be
  1483. associated with those patches.
  1484. * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
  1485. (WebCore::Canvas2DLayerChromium::updateCompositorResources):
  1486. * platform/graphics/chromium/LayerChromium.cpp:
  1487. (WebCore::LayerChromium::pushPropertiesTo):
  1488. * platform/graphics/chromium/LayerChromium.h:
  1489. * platform/graphics/chromium/TiledLayerChromium.cpp:
  1490. (WebCore::TiledLayerChromium::cleanupResources):
  1491. (WebCore::TiledLayerChromium::updateCompositorResources):
  1492. (WebCore::TiledLayerChromium::pushPropertiesTo):
  1493. (WebCore::TiledLayerChromium::prepareToUpdate):
  1494. * platform/graphics/chromium/TiledLayerChromium.h:
  1495. * platform/graphics/chromium/VideoLayerChromium.cpp:
  1496. (WebCore::VideoLayerChromium::updateCompositorResources):
  1497. * platform/graphics/chromium/WebGLLayerChromium.cpp:
  1498. (WebCore::WebGLLayerChromium::updateCompositorResources):
  1499. * platform/graphics/chromium/cc/CCLayerImpl.h:
  1500. (WebCore::CCLayerImpl::updateRect):
  1501. (WebCore::CCLayerImpl::setUpdateRect):
  1502. 2011-10-18 Anna Cavender <annacc@chromium.org>
  1503. Change CodeGeneratorGObject.pm to use g_value_get_uint() instead of g_value_get_ushort()
  1504. for IDL attributes of type unsigned short.
  1505. https://bugs.webkit.org/show_bug.cgi?id=70267
  1506. Reviewed by Xan Lopez.
  1507. Tests: small change to WebKitDOMTestObj.cpp
  1508. * bindings/scripts/CodeGeneratorGObject.pm:
  1509. (GetGValueTypeName): convert unsigned short to uint instead of ushort
  1510. * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
  1511. (webkit_dom_test_obj_set_property): expect g_value_get_uint instead of g_value_get_ushort
  1512. (webkit_dom_test_obj_class_init): expect G_MAXUSHORT instead of G_MAXUINT16
  1513. 2011-10-18 Vsevolod Vlasov <vsevik@chromium.org>
  1514. Web Inspector: ScriptsPanel's should use similar logic to decide whether it could show an anchor location and actually showing it.
  1515. https://bugs.webkit.org/show_bug.cgi?id=70322
  1516. Reviewed by Pavel Feldman.
  1517. * inspector/front-end/ScriptsPanel.js:
  1518. (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
  1519. (WebInspector.ScriptsPanel.prototype._showSourceLine):
  1520. 2011-10-18 Eric Carlson <eric.carlson@apple.com>
  1521. Use the new cached cue loader
  1522. https://bugs.webkit.org/show_bug.cgi?id=70269
  1523. Reviewed by Antti Koivisto.
  1524. No new tests, no functionality changed.
  1525. * CMakeLists.txt: Remove CueParser.cpp/h and CueParserPrivate.h.
  1526. * GNUmakefile.list.am: Ditto.
  1527. * WebCore.gypi: Ditto.
  1528. * WebCore.xcodeproj/project.pbxproj: Ditto.
  1529. * html/HTMLMediaElement.cpp:
  1530. (WebCore::HTMLMediaElement::loadTextTracks):
  1531. (WebCore::HTMLMediaElement::textTrackReadyStateChanged): New, not implemented yet.
  1532. (WebCore::HTMLMediaElement::textTrackModeChanged): Ditto.
  1533. (WebCore::HTMLMediaElement::textTrackCreated): Ditto.
  1534. (WebCore::HTMLMediaElement::textTrackAddCues): Ditto.
  1535. (WebCore::HTMLMediaElement::textTrackRemoveCues): Ditto.
  1536. (WebCore::HTMLMediaElement::textTrackAddCue): Ditto.
  1537. (WebCore::HTMLMediaElement::textTrackRemoveCue): Ditto.
  1538. * html/HTMLMediaElement.h:
  1539. * html/HTMLTrackElement.cpp:
  1540. (WebCore::HTMLTrackElement::load): Update for interface change
  1541. (WebCore::HTMLTrackElement::textTrackLoadingCompleted): New, dispatch 'load' or 'error' event.
  1542. * html/HTMLTrackElement.h:
  1543. * html/LoadableTextTrack.cpp:
  1544. (WebCore::LoadableTextTrack::LoadableTextTrack): Add TextTrackClient and TextTrackLoadingClient
  1545. parameters.
  1546. (WebCore::LoadableTextTrack::load): Make url parameter KURL instead of String. Create the
  1547. cue loader, trigger the load.
  1548. (WebCore::LoadableTextTrack::newCuesAvailable): New callback from the loader. Not implemented yet.
  1549. (WebCore::LoadableTextTrack::cueLoadingStarted): Ditto.
  1550. (WebCore::LoadableTextTrack::cueLoadingCompleted): Ditto.
  1551. * html/LoadableTextTrack.h:
  1552. * html/MutableTextTrack.cpp:
  1553. (WebCore::MutableTextTrack::MutableTextTrack): Add TextTrackClient parameter.
  1554. * html/MutableTextTrack.h:
  1555. (WebCore::MutableTextTrack::create):
  1556. * html/TextTrack.cpp:
  1557. (WebCore::TextTrack::TextTrack): Add TextTrackClient parameter.
  1558. (WebCore::TextTrack::~TextTrack): Tell the client to remove all cues, forget the client.
  1559. (WebCore::TextTrack::setReadyState): Tell client about ready state change.
  1560. (WebCore::TextTrack::setMode): Tell client about mode change.
  1561. * html/TextTrack.h:
  1562. (WebCore::TextTrackClient::textTrackAddCues): New client interface.
  1563. (WebCore::TextTrackClient::textTrackRemoveCues): Ditto.
  1564. (WebCore::TextTrackClient::textTrackAddCue): Ditto.
  1565. (WebCore::TextTrackClient::textTrackRemoveCue): Ditto.
  1566. (WebCore::TextTrack::create):
  1567. (WebCore::TextTrack::trackType): New.
  1568. (WebCore::TextTrack::client): Ditto.
  1569. (WebCore::TextTrack::setClient): Ditto.
  1570. * html/track/CueParser.cpp: Removed.
  1571. * html/track/CueParser.h: Removed.
  1572. * html/track/CueParserPrivate.h: Removed.
  1573. * html/track/WebVTTParser.cpp:
  1574. (WebCore::WebVTTParser::fileIdentifierMaximumLength): New, return length of WebVTT file
  1575. magic number.
  1576. (WebCore::WebVTTParser::hasRequiredFileIdentifier): Update to use constants instead of hard
  1577. coded lengths.
  1578. (WebCore::WebVTTParser::WebVTTParser): Initialize "m_client" in the initilization list
  1579. instead of setting it in the constructor.
  1580. (WebCore::WebVTTParser::getNewCues): Renamed from fetchParsedCues.
  1581. * html/track/WebVTTParser.h:
  1582. (WebCore::WebVTTParser::create): Take a WebVTTParserClient* instead of a CueParserPrivateClient*.
  1583. * loader/CueLoader.cpp:
  1584. (WebCore::CueLoader::CueLoader):
  1585. (WebCore::CueLoader::~CueLoader): Remove client.
  1586. (WebCore::CueLoader::cueLoadTimerFired): Tell client about new clues and/or that the load
  1587. has finished.
  1588. (WebCore::CueLoader::processNewCueData): Process newly loaded data.
  1589. (WebCore::CueLoader::didReceiveData): Ditto.
  1590. (WebCore::CueLoader::notifyFinished): Do final processing as necessary, prime the timer
  1591. to call client.
  1592. (WebCore::CueLoader::load): Create resource loader, initiate loading.
  1593. (WebCore::CueLoader::newCuesParsed): Prime timer to tell client about newly parsed cues.
  1594. (WebCore::CueLoader::getNewCues): Get new cues from parser.
  1595. * loader/CueLoader.h:
  1596. (WebCore::CueLoader::create):
  1597. 2011-10-18 Adam Barth <abarth@webkit.org>
  1598. Always enable ENABLE(XPATH)
  1599. https://bugs.webkit.org/show_bug.cgi?id=70217
  1600. Reviewed by Eric Seidel.
  1601. As discussed on webkit-dev, we're reducing the complexity of WebKit by
  1602. removing unneeded configuration options. ENABLE(XPATH) is enabled on
  1603. every port, so we are removing the ability to disable the feature.
  1604. * CMakeLists.txt:
  1605. * Configurations/FeatureDefines.xcconfig:
  1606. * GNUmakefile.am:
  1607. * GNUmakefile.list.am:
  1608. * UseJSC.cmake:
  1609. * WebCore.pro:
  1610. * bindings/js/JSCustomXPathNSResolver.cpp:
  1611. * bindings/js/JSCustomXPathNSResolver.h:
  1612. * bindings/js/JSDOMBinding.cpp:
  1613. (WebCore::setDOMException):
  1614. * bindings/js/JSExceptionBase.cpp:
  1615. (WebCore::toExceptionBase):
  1616. * bindings/js/JSXPathResultCustom.cpp:
  1617. * bindings/objc/DOMCustomXPathNSResolver.h:
  1618. * bindings/objc/DOMCustomXPathNSResolver.mm:
  1619. * bindings/objc/DOMInternal.h:
  1620. * bindings/objc/DOMUtility.mm:
  1621. (JSC::createDOMWrapper):
  1622. * bindings/objc/DOMXPath.mm:
  1623. (kit):
  1624. * bindings/objc/PublicDOMInterfaces.h:
  1625. * bindings/v8/V8DOMWrapper.cpp:
  1626. (WebCore::V8DOMWrapper::getXPathNSResolver):
  1627. * bindings/v8/V8DOMWrapper.h:
  1628. * bindings/v8/V8Proxy.cpp:
  1629. (WebCore::V8Proxy::setDOMException):
  1630. * bindings/v8/V8Proxy.h:
  1631. * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
  1632. * bindings/v8/custom/V8CustomXPathNSResolver.h:
  1633. * bindings/v8/custom/V8DocumentCustom.cpp:
  1634. (WebCore::V8Document::evaluateCallback):
  1635. * dom/Document.cpp:
  1636. * dom/Document.h:
  1637. * dom/Document.idl:
  1638. * dom/ExceptionCode.cpp:
  1639. (WebCore::getExceptionCodeDescription):
  1640. * dom/ExceptionCode.h:
  1641. * features.pri:
  1642. * inspector/InspectorDOMAgent.cpp:
  1643. * page/DOMWindow.idl:
  1644. * xml/NativeXPathNSResolver.cpp:
  1645. * xml/NativeXPathNSResolver.h:
  1646. * xml/XPathEvaluator.cpp:
  1647. * xml/XPathEvaluator.h:
  1648. * xml/XPathEvaluator.idl:
  1649. * xml/XPathException.h:
  1650. * xml/XPathException.idl:
  1651. * xml/XPathExpression.cpp:
  1652. * xml/XPathExpression.h:
  1653. * xml/XPathExpression.idl:
  1654. * xml/XPathExpressionNode.cpp:
  1655. * xml/XPathExpressionNode.h:
  1656. * xml/XPathFunctions.cpp:
  1657. * xml/XPathFunctions.h:
  1658. * xml/XPathGrammar.y:
  1659. * xml/XPathNSResolver.cpp:
  1660. * xml/XPathNSResolver.h:
  1661. * xml/XPathNSResolver.idl:
  1662. * xml/XPathNodeSet.cpp:
  1663. * xml/XPathNodeSet.h:
  1664. * xml/XPathParser.cpp:
  1665. * xml/XPathParser.h:
  1666. * xml/XPathPath.cpp:
  1667. * xml/XPathPath.h:
  1668. * xml/XPathPredicate.cpp:
  1669. * xml/XPathPredicate.h:
  1670. * xml/XPathResult.cpp:
  1671. * xml/XPathResult.h:
  1672. * xml/XPathResult.idl:
  1673. * xml/XPathStep.cpp:
  1674. * xml/XPathStep.h:
  1675. * xml/XPathUtil.cpp:
  1676. * xml/XPathUtil.h:
  1677. * xml/XPathValue.cpp:
  1678. * xml/XPathValue.h:
  1679. * xml/XPathVariableReference.cpp:
  1680. * xml/XPathVariableReference.h:
  1681. 2011-10-18 Chris Fleizach <cfleizach@apple.com>
  1682. AX: buttons of number type <input> controls are not fully accessible
  1683. https://bugs.webkit.org/show_bug.cgi?id=70241
  1684. Staged commit, part 6.
  1685. Reviewed by Darin Adler.
  1686. Test: platform/mac/accessibility/html5-input-number.html
  1687. * accessibility/AccessibilityRenderObject.cpp:
  1688. (WebCore::AccessibilityRenderObject::addImageMapChildren):
  1689. (WebCore::AccessibilityRenderObject::addTextFieldChildren):
  1690. (WebCore::AccessibilityRenderObject::addChildren):
  1691. * accessibility/AccessibilityRenderObject.h:
  1692. 2011-10-18 Nate Chapin <japhet@chromium.org>
  1693. Make DocumentThreadableLoader a CachedResourceClient.
  1694. This will allow us to cache ThreadableLoaderClients as
  1695. appropriate in a later patch.
  1696. https://bugs.webkit.org/show_bug.cgi?id=61225
  1697. Reviewed by Antti Koivisto.
  1698. No new tests, no functionality change intended.
  1699. * WebCore.gypi:
  1700. * loader/DocumentThreadableLoader.cpp:
  1701. (WebCore::DocumentThreadableLoader::notifyFinished): CachedResourceClients don't send separate callbacks
  1702. for didFail() and didFinishLoading(), so we need to differentiate here.
  1703. (WebCore::DocumentThreadableLoader::loadRequest): Call CachedResourceLoader::requestRawResource()
  1704. instead of ResourceLoadScheduler::scheduleSubresourceLoad().
  1705. * loader/DocumentThreadableLoader.h:
  1706. * loader/cache/CachedRawResource.cpp:
  1707. (WebCore::CachedRawResource::data): Handle the complexity of some ThreadableLoaderClients setting
  1708. DoNotBufferData in ResoureLoaderOptions. If the DataBufferingPolicy is BufferData, then the
  1709. 'data' input parameter will contain all data received so far, and we need to determine the
  1710. incremental data to forward to the clients. If the policy is DoNotBufferData, 'data' is just
  1711. the incremental data.
  1712. * loader/cache/CachedRawResource.h:
  1713. * loader/cache/CachedResource.cpp:
  1714. * loader/cache/CachedResource.h:
  1715. (WebCore::CachedResource::preloadResult):
  1716. (WebCore::CachedResource::didSendData):
  1717. (WebCore::CachedResource::didDownloadData):
  1718. (WebCore::CachedResource::setLoadFinishTime):
  1719. (WebCore::CachedResource::loadFinishTime):
  1720. * loader/cache/CachedResourceClient.h: Add several new callbacks needed by DocumentThreadableLoader.
  1721. * loader/cache/CachedResourceRequest.cpp:
  1722. (WebCore::CachedResourceRequest::didReceiveResponse): CachedResource::setResponse() can now cancel
  1723. the request, so protect appropriately.
  1724. * loader/cache/CachedResourceRequest.h:
  1725. * loader/chromium/CachedRawResourceChromium.cpp: Added (plumb didDownloadData() to DocumentThreadableLoader).
  1726. * loader/chromium/CachedResourceRequestChromium.cpp: Added (plumb didDownloadData() to DocumentThreadableLoader).
  1727. * loader/chromium/DocumentThreadableLoaderChromium.cpp:
  1728. * platform/network/BlobResourceHandle.cpp:
  1729. (WebCore::BlobResourceHandle::notifyResponse): Protect before setting response, since it might kill us.
  1730. 2011-10-18 Sheriff Bot <webkit.review.bot@gmail.com>
  1731. Unreviewed, rolling out r97752.
  1732. http://trac.webkit.org/changeset/97752
  1733. https://bugs.webkit.org/show_bug.cgi?id=70332
  1734. Caused assertion failures in MediaList::setParentStyleSheet()
  1735. on the apple bots. (Requested by kling on #webkit).
  1736. * WebCore.xcodeproj/project.pbxproj:
  1737. * bindings/js/JSDOMBinding.h:
  1738. * css/CSSImportRule.cpp:
  1739. (WebCore::CSSImportRule::CSSImportRule):
  1740. (WebCore::CSSImportRule::~CSSImportRule):
  1741. * css/CSSMediaRule.cpp:
  1742. (WebCore::CSSMediaRule::CSSMediaRule):
  1743. (WebCore::CSSMediaRule::~CSSMediaRule):
  1744. * css/CSSMediaRule.h:
  1745. * css/MediaList.cpp:
  1746. (WebCore::MediaList::MediaList):
  1747. (WebCore::MediaList::notifyChanged):
  1748. * css/MediaList.h:
  1749. * css/StyleSheet.cpp:
  1750. (WebCore::StyleSheet::~StyleSheet):
  1751. (WebCore::StyleSheet::setMedia):
  1752. 2011-10-18 Anna Cavender <annacc@chromium.org>
  1753. Change TextTrack to use the word DISABLED instead of OFF for mode
  1754. https://bugs.webkit.org/show_bug.cgi?id=70268
  1755. Reviewed by Daniel Bates.
  1756. No new tests. No new functionality.
  1757. * html/TextTrack.cpp:
  1758. (WebCore::TextTrack::setMode): use Disabled instead of Off
  1759. * html/TextTrack.h: update Mode enum to use Disabled instead of Off
  1760. 2011-10-18 Chris Fleizach <cfleizach@apple.com>
  1761. AX: buttons of number type <input> controls are not fully accessible
  1762. https://bugs.webkit.org/show_bug.cgi?id=70241
  1763. Staged commit, part 5.
  1764. Reviewed by Darin Adler.
  1765. * accessibility/AXObjectCache.cpp:
  1766. (WebCore::AXObjectCache::getOrCreate):
  1767. * accessibility/AccessibilityRenderObject.cpp:
  1768. (WebCore::AccessibilityRenderObject::boundingBoxRect):
  1769. 2011-10-18 Antti Koivisto <antti@apple.com>
  1770. Move default stylesheet loading to a separate function
  1771. https://bugs.webkit.org/show_bug.cgi?id=70331
  1772. Reviewed by Andreas Kling.
  1773. - Move default stylesheet loading out from CSSStyleSelector::styleForElement()
  1774. - Rename e -> element
  1775. - Remove pointless reffing of the placeholder style.
  1776. * css/CSSStyleSelector.cpp:
  1777. (WebCore::ensureDefaultStyleSheetsForElement):
  1778. (WebCore::isAtShadowBoundary):
  1779. (WebCore::CSSStyleSelector::styleForElement):
  1780. 2011-10-18 Chris Fleizach <cfleizach@apple.com>
  1781. AX: buttons of number type <input> controls are not fully accessible
  1782. https://bugs.webkit.org/show_bug.cgi?id=70241
  1783. Staged commit part 4.
  1784. Reviewed by Darin Adler.
  1785. * accessibility/AccessibilityMockObject.h:
  1786. (WebCore::AccessibilityMockObject::isMockObject):
  1787. (WebCore::AccessibilityMockObject::detachFromParent):
  1788. * accessibility/AccessibilityObject.cpp:
  1789. (WebCore::AccessibilityObject::elementAccessibilityHitTest):
  1790. * accessibility/mac/WebAccessibilityObjectWrapper.mm:
  1791. (-[WebAccessibilityObjectWrapper accessibilityActionNames]):
  1792. (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
  1793. (-[WebAccessibilityObjectWrapper subrole]):
  1794. (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
  1795. 2011-10-18 Chris Fleizach <cfleizach@apple.com>
  1796. AX: buttons of number type <input> controls are not fully accessible
  1797. https://bugs.webkit.org/show_bug.cgi?id=70241
  1798. Staged commit part 3. Committing the new spin button classes.
  1799. Reviewed by Darin Adler.
  1800. * CMakeLists.txt:
  1801. * GNUmakefile.list.am:
  1802. * WebCore.gypi:
  1803. * WebCore.pro:
  1804. * WebCore.vcproj/WebCore.vcproj:
  1805. * WebCore.xcodeproj/project.pbxproj:
  1806. * accessibility/AccessibilitySpinButton.cpp: Added.
  1807. (WebCore::AccessibilitySpinButton::create):
  1808. (WebCore::AccessibilitySpinButton::AccessibilitySpinButton):
  1809. (WebCore::AccessibilitySpinButton::~AccessibilitySpinButton):
  1810. (WebCore::AccessibilitySpinButton::incrementButton):
  1811. (WebCore::AccessibilitySpinButton::decrementButton):
  1812. (WebCore::AccessibilitySpinButton::elementRect):
  1813. (WebCore::AccessibilitySpinButton::addChildren):
  1814. (WebCore::AccessibilitySpinButton::step):
  1815. (WebCore::AccessibilitySpinButtonPart::AccessibilitySpinButtonPart):
  1816. (WebCore::AccessibilitySpinButtonPart::create):
  1817. (WebCore::AccessibilitySpinButtonPart::elementRect):
  1818. (WebCore::AccessibilitySpinButtonPart::press):
  1819. * accessibility/AccessibilitySpinButton.h: Added.
  1820. (WebCore::AccessibilitySpinButton::setSpinButtonElement):
  1821. (WebCore::AccessibilitySpinButton::roleValue):
  1822. (WebCore::AccessibilitySpinButton::accessibilityIsIgnored):
  1823. (WebCore::AccessibilitySpinButton::isSpinButton):
  1824. (WebCore::AccessibilitySpinButtonPart::~AccessibilitySpinButtonPart):
  1825. (WebCore::AccessibilitySpinButtonPart::isIncrementor):
  1826. (WebCore::AccessibilitySpinButtonPart::setIsIncrementor):
  1827. (WebCore::AccessibilitySpinButtonPart::roleValue):
  1828. (WebCore::AccessibilitySpinButtonPart::isSpinButtonPart):
  1829. (WebCore::AccessibilitySpinButtonPart::accessibilityIsIgnored):
  1830. (WebCore::toAccessibilitySpinButton):
  1831. (WebCore::toAccessibilitySpinButtonPart):
  1832. 2011-10-18 Chris Fleizach <cfleizach@apple.com>
  1833. AX: buttons of number type <input> controls are not fully accessible
  1834. https://bugs.webkit.org/show_bug.cgi?id=70241
  1835. Phase 2 of the staged commit.
  1836. Reviewed by Darin Adler.
  1837. * accessibility/AccessibilityObject.cpp:
  1838. (WebCore::AccessibilityObject::boundingBoxForQuads):
  1839. * accessibility/AccessibilityObject.h:
  1840. (WebCore::AccessibilityObject::isSpinButton):
  1841. (WebCore::AccessibilityObject::isSpinButtonPart):
  1842. (WebCore::AccessibilityObject::isMockObject):
  1843. 2011-10-18 Chris Fleizach <cfleizach@apple.com>
  1844. AX: buttons of number type <input> controls are not fully accessible
  1845. https://bugs.webkit.org/show_bug.cgi?id=70241
  1846. Expose the spin button object to the AX hierarchy. Since there is no distinct
  1847. render object that backs this object, a mock object needs to be created for the entire
  1848. spin button and the actual increment and decrement buttons inside.
  1849. This will be a staged commit since the first time around Windows layout tests started crashing for an undeterminable reason.
  1850. Reviewed by Darin Adler.
  1851. * html/shadow/TextControlInnerElements.cpp:
  1852. (WebCore::SpinButtonElement::step):
  1853. (WebCore::SpinButtonElement::repeatingTimerFired):
  1854. * html/shadow/TextControlInnerElements.h:
  1855. 2011-10-18 Andreas Kling <kling@webkit.org>
  1856. MediaList: Remove inheritance from StyleBase.
  1857. https://bugs.webkit.org/show_bug.cgi?id=70203
  1858. Reviewed by Darin Adler.
  1859. * css/MediaList.h:
  1860. (WebCore::MediaList::parentStyleSheet):
  1861. (WebCore::MediaList::setParentStyleSheet):
  1862. * css/MediaList.cpp:
  1863. (WebCore::MediaList::MediaList):
  1864. (WebCore::MediaList::notifyChanged):
  1865. Change MediaList to no longer inherit from StyleBase. The parent()/setParent()
  1866. mechanism was replaced by explicit parentStyleSheet()/setParentStyleSheet().
  1867. * css/CSSImportRule.cpp:
  1868. (WebCore::CSSImportRule::CSSImportRule):
  1869. (WebCore::CSSImportRule::~CSSImportRule):
  1870. * css/CSSMediaRule.cpp:
  1871. (WebCore::CSSMediaRule::CSSMediaRule):
  1872. (WebCore::CSSMediaRule::~CSSMediaRule):
  1873. Change StyleBase::setParent() calls to MediaList::setParentStyleSheet().
  1874. CSSRules are never moved between stylesheets, so the parent style sheet pointer
  1875. is valid for the MediaList's lifetime.
  1876. * css/StyleSheet.cpp:
  1877. (WebCore::StyleSheet::~StyleSheet):
  1878. Change StyleBase::setParent() calls to MediaList::setParentStyleSheet().
  1879. (WebCore::StyleSheet::setMedia):
  1880. Change StyleBase::setParent() calls to MediaList::setParentStyleSheet().
  1881. Assert that the parent sheet is either null, or this, as MediaLists should never
  1882. be reparented to other sheets.
  1883. Assert that the StyleSheet is indeed a CSSStyleSheet. XSLStyleSheet inherits from
  1884. StyleSheet, but it shouldn't be using the MediaList.
  1885. * bindings/js/JSDOMBinding.h:
  1886. (WebCore::root):
  1887. Add MediaList* specific overload for root() since it can't fall back
  1888. to root(StyleBase*) anymore.
  1889. * WebCore.xcodeproj/project.pbxproj:
  1890. Add some PrivateHeaders to accomodate the JSDOMBinding.h changes.
  1891. * css/CSSMediaRule.h:
  1892. Remove unnecessary forward-declaration of MediaList.
  1893. 2011-10-18 Andreas Kling <kling@webkit.org>
  1894. XSLStyleSheet only needs to manage XSLImportRule children.
  1895. https://bugs.webkit.org/show_bug.cgi?id=70326
  1896. Reviewed by Antti Koivisto.
  1897. * css/StyleBase.h:
  1898. * xml/XSLImportRule.h:
  1899. * css/CSSRule.h:
  1900. (WebCore::CSSRule::isImportRule):
  1901. Move StyleBase::isImportRule() down to CSSRule. Since XSLImportRule no longer
  1902. implements it, it's now specific to CSSImportRule.
  1903. * xml/XSLStyleSheet.h:
  1904. Change m_children to be a vector of XSLImportRules. Also remove length(),
  1905. item() and append() since they were only used internally to modify m_children.
  1906. * xml/XSLStyleSheetQt.cpp:
  1907. (WebCore::XSLStyleSheet::~XSLStyleSheet):
  1908. * xml/XSLStyleSheetLibxslt.cpp:
  1909. (WebCore::XSLStyleSheet::~XSLStyleSheet):
  1910. (WebCore::XSLStyleSheet::isLoading):
  1911. (WebCore::XSLStyleSheet::clearDocuments):
  1912. (WebCore::XSLStyleSheet::loadChildSheet):
  1913. (WebCore::XSLStyleSheet::locateStylesheetSubResource):
  1914. Remove now-unnecessary isImportRule() checks and tidy up the code a bit.
  1915. 2011-10-18 Zan Dobersek <zandobersek@gmail.com>
  1916. [Gtk] Support for client-based geolocation
  1917. https://bugs.webkit.org/show_bug.cgi?id=64970
  1918. Reviewed by Martin Robinson.
  1919. Add feature defines for client-based geolocation when geolocation is enabled,
  1920. since this is the providing method that is now used by default. Remove
  1921. service-based providing method completely as it is not needed anymore.
  1922. * GNUmakefile.am: Add feature defines for client-based geolocation.
  1923. * GNUmakefile.list.am: Remove GeolocationServiceGtk.* files from compilation.
  1924. * platform/gtk/GeolocationServiceGtk.cpp: Removed.
  1925. * platform/gtk/GeolocationServiceGtk.h: Removed.
  1926. 2011-10-18 Antti Koivisto <antti@apple.com>
  1927. REGRESSION(r97248): :visited as descendant selector broken
  1928. https://bugs.webkit.org/show_bug.cgi?id=70122
  1929. Reviewed by Nikolas Zimmerman.
  1930. Make ":visited foo" and similar selectors work correctly again. They can affect
  1931. the visited style of an element inside a visited link.
  1932. Test: fast/selectors/visited-descendant.html
  1933. * css/CSSStyleSelector.cpp:
  1934. (WebCore::CSSStyleSelector::applyDeclarations):
  1935. Apply visited style to children of visited links too.
  1936. * css/SelectorChecker.cpp:
  1937. (WebCore::SelectorChecker::checkSelector):
  1938. Don't disable visited matching until we run into first ancestor link or use combinator other than child/descendant.
  1939. (WebCore::SelectorChecker::determineLinkMatchType):
  1940. Look into child/descendant component selectors too to determine the link match type.
  1941. 2011-10-18 Andreas Kling <kling@webkit.org>
  1942. Move CSSRule specific virtuals from StyleBase down into CSSRule.
  1943. https://bugs.webkit.org/show_bug.cgi?id=70240
  1944. Reviewed by Darin Adler.
  1945. Move all the isFooRule() virtuals except isImportRule() to CSSRule
  1946. since they only make sense for its subclasses. isRule() remains in
  1947. StyleBase since we still need it for the parent chain traversal.
  1948. isImportRule() remains because XSLImportRule implements it.
  1949. Also moved insertedIntoParent() and removed its usage in
  1950. XSLStyleSheet since it is only reimplemented by CSSImportRule.
  1951. * css/CSSRule.h:
  1952. (WebCore::CSSRule::isCharsetRule):
  1953. (WebCore::CSSRule::isFontFaceRule):
  1954. (WebCore::CSSRule::isKeyframeRule):
  1955. (WebCore::CSSRule::isKeyframesRule):
  1956. (WebCore::CSSRule::isMediaRule):
  1957. (WebCore::CSSRule::isPageRule):
  1958. (WebCore::CSSRule::isStyleRule):
  1959. (WebCore::CSSRule::isRegionStyleRule):
  1960. (WebCore::CSSRule::insertedIntoParent):
  1961. * css/StyleBase.h:
  1962. (WebCore::StyleBase::isImportRule):
  1963. (WebCore::StyleBase::isCSSStyleSheet):
  1964. * xml/XSLStyleSheet.h:
  1965. (WebCore::XSLStyleSheet::append):
  1966. 2011-10-18 Sachin Puranik <jcqt43@motorola.com>
  1967. Option.value should trim extra internal html spaces
  1968. https://bugs.webkit.org/show_bug.cgi?id=69455
  1969. Reviewed by Kent Tamura.
  1970. Currently option.value does not trim the internal white space as suggested by spec. This patch implements the same.
  1971. Test: fast/forms/option-value-trim-html-spaces.html
  1972. * dom/OptionElement.cpp: Removed a function as this implementation is moved to the HTMLOptionElement.cpp file.
  1973. * html/HTMLOptionElement.cpp:
  1974. (WebCore::HTMLOptionElement::value): Implementation of .value function which will now trim the html white spaces.
  1975. 2011-10-18 Mihnea Ovidenie <mihnea@adobe.com>
  1976. [CSS Regions]Parse @-webkit-region rule
  1977. https://bugs.webkit.org/show_bug.cgi?id=70021
  1978. Reviewed by David Hyatt.
  1979. Test: fast/regions/parsing-region-style-rule.html
  1980. * CMakeLists.txt:
  1981. * GNUmakefile.list.am:
  1982. * WebCore.gypi:
  1983. * WebCore.pro:
  1984. * WebCore.vcproj/WebCore.vcproj:
  1985. * WebCore.xcodeproj/project.pbxproj:
  1986. * bindings/objc/DOMCSS.mm:
  1987. (kitClass):
  1988. * bindings/v8/custom/V8CSSRuleCustom.cpp:
  1989. (WebCore::toV8):
  1990. * css/CSSGrammar.y:
  1991. * css/CSSMediaRule.cpp:
  1992. (WebCore::CSSMediaRule::cssText):
  1993. * css/CSSParser.cpp:
  1994. (WebCore::CSSParser::setReusableRegionSelectorVector):
  1995. (WebCore::CSSParser::createRegionStylingRule):
  1996. * css/CSSParser.h:
  1997. (WebCore::CSSParser::reusableRegionSelectorVector):
  1998. * css/CSSRegionStyleRule.cpp: Added.
  1999. (WebCore::CSSRegionStyleRule::CSSRegionStyleRule):
  2000. (WebCore::CSSRegionStyleRule::~CSSRegionStyleRule):
  2001. (WebCore::CSSRegionStyleRule::cssText):
  2002. * css/CSSRegionStyleRule.h: Added.
  2003. * css/CSSRule.h:
  2004. * css/CSSRule.idl:
  2005. * css/CSSRuleList.cpp:
  2006. (WebCore::CSSRuleList::item):
  2007. (WebCore::CSSRuleList::rulesText):
  2008. * css/CSSRuleList.h:
  2009. * css/CSSSelectorList.cpp:
  2010. (WebCore::CSSSelectorList::selectorsText):
  2011. * css/CSSSelectorList.h:
  2012. * css/CSSStyleSelector.cpp:
  2013. (WebCore::CSSStyleSelector::addRegionStyleRule):
  2014. (WebCore::RuleSet::addRulesFromSheet):
  2015. * css/CSSStyleSelector.h:
  2016. * css/StyleBase.h:
  2017. (WebCore::StyleBase::isRegionStyleRule):
  2018. * css/tokenizer.flex:
  2019. 2011-10-11 Pavel Podivilov <podivilov@chromium.org>
  2020. Web Inspector: support displaying multiple sources per single script in ScriptsPanel.
  2021. https://bugs.webkit.org/show_bug.cgi?id=69847
  2022. Reviewed by Pavel Feldman.
  2023. * inspector/front-end/ScriptsPanel.js:
  2024. (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
  2025. (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
  2026. 2011-10-18 Nikolas Zimmermann <nzimmermann@rim.com>
  2027. Prepare SVGImage intrinsic size negotiation: Add intrinsic size & ratio calculation functionality to Image
  2028. https://bugs.webkit.org/show_bug.cgi?id=70314
  2029. Reviewed by Antti Koivisto.
  2030. Add a "void computeIntrinsicDimension(Length& intrinsicWidth, Lengt& intrinsicHeight, FloatSize& intrinsicRatio)" helper method
  2031. to Image/GeneratedImage/SVGImage and make it accessible through StyleImage.
  2032. For a regular Image the intrinsicWidth/Height contains just a Length(size().width(), Fixed). In contrary SVGImages pass on the
  2033. style()->width()/height() values from the render style of the RenderSVGRoot renderer. These information are needed to implement
  2034. the size negotiation between embedded SVG images and the embedder.
  2035. No new tests, as this new functionality is not yet used.
  2036. * loader/cache/CachedImage.cpp:
  2037. (WebCore::CachedImage::computeIntrinsicDimensions):
  2038. * loader/cache/CachedImage.h:
  2039. * platform/graphics/GeneratedImage.cpp:
  2040. (WebCore::GeneratedImage::computeIntrinsicDimensions):
  2041. * platform/graphics/GeneratedImage.h:
  2042. * platform/graphics/Image.cpp:
  2043. (WebCore::Image::computeIntrinsicDimensions):
  2044. * platform/graphics/Image.h:
  2045. * platform/graphics/cg/PDFDocumentImage.cpp:
  2046. (WebCore::PDFDocumentImage::computeIntrinsicDimensions):
  2047. * platform/graphics/cg/PDFDocumentImage.h:
  2048. * rendering/style/StyleCachedImage.cpp:
  2049. (WebCore::StyleCachedImage::computeIntrinsicDimensions):
  2050. * rendering/style/StyleCachedImage.h:
  2051. * rendering/style/StyleGeneratedImage.cpp:
  2052. (WebCore::StyleGeneratedImage::computeIntrinsicDimensions):
  2053. * rendering/style/StyleGeneratedImage.h:
  2054. * rendering/style/StyleImage.h:
  2055. * rendering/style/StylePendingImage.h:
  2056. (WebCore::StylePendingImage::computeIntrinsicDimensions):
  2057. * svg/graphics/SVGImage.cpp:
  2058. (WebCore::SVGImage::computeIntrinsicDimensions):
  2059. * svg/graphics/SVGImage.h:
  2060. 2011-10-17 Alexander Pavlov <apavlov@chromium.org>
  2061. Web Inspector: [Chromium] Different dimensions are reported for elements onscreen and in the Metrics pane
  2062. https://bugs.webkit.org/show_bug.cgi?id=70242
  2063. Reviewed by Pavel Feldman.
  2064. * inspector/DOMNodeHighlighter.cpp:
  2065. 2011-10-18 Kentaro Hara <haraken@chromium.org>
  2066. Unreviewed, rolling out r97697.
  2067. http://trac.webkit.org/changeset/97697
  2068. https://bugs.webkit.org/show_bug.cgi?id=68978
  2069. some tests are broken
  2070. * bindings/js/JSMessageEventCustom.cpp:
  2071. (WebCore::JSMessageEvent::data):
  2072. * bindings/v8/custom/V8MessageEventCustom.cpp:
  2073. (WebCore::V8MessageEvent::dataAccessorGetter):
  2074. (WebCore::V8MessageEvent::portsAccessorGetter):
  2075. (WebCore::V8MessageEvent::initMessageEventCallback):
  2076. * dom/MessageEvent.cpp:
  2077. (WebCore::MessageEventInit::MessageEventInit):
  2078. (WebCore::MessageEvent::MessageEvent):
  2079. (WebCore::MessageEvent::isMessageEvent):
  2080. * dom/MessageEvent.h:
  2081. (WebCore::MessageEvent::create):
  2082. (WebCore::MessageEvent::dataAsSerializedScriptValue):
  2083. (WebCore::MessageEvent::dataAsString):
  2084. (WebCore::MessageEvent::dataAsBlob):
  2085. (WebCore::MessageEvent::dataAsArrayBuffer):
  2086. * dom/MessageEvent.idl:
  2087. 2011-10-17 Antti Koivisto <antti@apple.com>
  2088. r97638 caused 3 printing crashes
  2089. https://bugs.webkit.org/show_bug.cgi?id=70284
  2090. Reviewed by Kent Tamura.
  2091. Null check element.
  2092. * css/CSSStyleSelector.cpp:
  2093. (WebCore::CSSStyleSelector::applyDeclarations):
  2094. 2011-10-17 Sheriff Bot <webkit.review.bot@gmail.com>
  2095. Unreviewed, rolling out r97669.
  2096. http://trac.webkit.org/changeset/97669
  2097. https://bugs.webkit.org/show_bug.cgi?id=70305
  2098. Broke accessibility tests on Windows (Requested by rniwa on
  2099. #webkit).
  2100. * CMakeLists.txt:
  2101. * GNUmakefile.list.am:
  2102. * WebCore.gypi:
  2103. * WebCore.pro:
  2104. * WebCore.vcproj/WebCore.vcproj:
  2105. * WebCore.xcodeproj/project.pbxproj:
  2106. * accessibility/AXObjectCache.cpp:
  2107. (WebCore::AXObjectCache::getOrCreate):
  2108. * accessibility/AccessibilityMockObject.h:
  2109. * accessibility/AccessibilityObject.cpp:
  2110. (WebCore::AccessibilityObject::elementAccessibilityHitTest):
  2111. * accessibility/AccessibilityObject.h:
  2112. * accessibility/AccessibilityRenderObject.cpp:
  2113. (WebCore::AccessibilityRenderObject::boundingBoxRect):
  2114. (WebCore::AccessibilityRenderObject::clearChildren):
  2115. (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary):
  2116. (WebCore::AccessibilityRenderObject::addChildren):
  2117. * accessibility/AccessibilityRenderObject.h:
  2118. * accessibility/AccessibilitySpinButton.cpp: Removed.
  2119. * accessibility/AccessibilitySpinButton.h: Removed.
  2120. * accessibility/mac/WebAccessibilityObjectWrapper.mm:
  2121. (-[WebAccessibilityObjectWrapper accessibilityActionNames]):
  2122. (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
  2123. (-[WebAccessibilityObjectWrapper subrole]):
  2124. (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
  2125. * html/shadow/TextControlInnerElements.cpp:
  2126. (WebCore::SpinButtonElement::repeatingTimerFired):
  2127. * html/shadow/TextControlInnerElements.h:
  2128. 2011-10-17 Kent Tamura <tkent@chromium.org>
  2129. Remove OptionGroupElement
  2130. https://bugs.webkit.org/show_bug.cgi?id=70220
  2131. Reviewed by Darin Adler.
  2132. No new tests, just a refactoring.
  2133. * CMakeLists.txt: Remove OptionGroupElement.cpp and/or OptionGroupElement.h.
  2134. * GNUMakefile.am.list: ditto.
  2135. * WebCore.gypi: ditto.
  2136. * WebCore.pro: ditto.
  2137. * WebCore.vcproj/WebCore.vcproj: ditto.
  2138. * WebCore.xcodeproj/project.pbxproj: ditto.
  2139. * dom/DOMAllInOne.cpp: ditto.
  2140. * dom/OptionElement.cpp:
  2141. (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
  2142. Use hasTagName(optgroupTag) and static_cast<> instead of toOptionGroupElement().
  2143. * dom/OptionGroupElement.cpp: Removed.
  2144. * dom/OptionGroupElement.h: Removed.
  2145. * html/HTMLOptGroupElement.cpp:
  2146. (WebCore::isHTMLOptGroupElement): Added.
  2147. * html/HTMLOptGroupElement.h:
  2148. - Don't inherit OptionGroupElement.
  2149. - Make groupLabelText() non-virtual.
  2150. * html/HTMLSelectElement.cpp:
  2151. (WebCore::HTMLSelectElement::recalcListItems):
  2152. Use Use hasTagName(optgroupTag) instead of isOptionGroupElement().
  2153. * rendering/RenderListBox.cpp:
  2154. (WebCore::RenderListBox::updateFromElement):
  2155. Use hasTagName(optgroupTag) and static_cast<> instead of toOptionGroupElement().
  2156. (WebCore::RenderListBox::paintItemForeground):
  2157. Use hasTagName(optgroupTag) instead of isOptionGroupElement().
  2158. * rendering/RenderMenuList.cpp:
  2159. (WebCore::RenderMenuList::itemText):
  2160. Use hasTagName(optgroupTag) and static_cast<> instead of toOptionGroupElement().
  2161. (WebCore::RenderMenuList::itemIsEnabled):
  2162. Use Use hasTagName(optgroupTag) instead of isOptionGroupElement().
  2163. (WebCore::RenderMenuList::itemIsLabel): ditto.
  2164. 2011-10-17 Huang Dongsung <luxtella@company100.net>
  2165. [TexMap][QT] TexMapGL renders a strange one-pixel border of BitmapTexture.
  2166. https://bugs.webkit.org/show_bug.cgi?id=70293
  2167. TextureMapperGL renders the strange border in
  2168. http://www.webkit.org/blog-files/leaves/index.html
  2169. Bug occurs because BitmapTexture is larger than the content due to rounding to
  2170. NPOT, and its pixel data is never initialized.
  2171. Reviewed by Noam Rosenthal.
  2172. * platform/graphics/opengl/TextureMapperGL.cpp:
  2173. (WebCore::texImage2DResourceSafe):
  2174. (WebCore::BitmapTextureGL::reset):
  2175. 2011-10-17 Jochen Eisinger <jochen@chromium.org>
  2176. Make NavigationAction wrap a ResourceRequest instead of a KURL.
  2177. https://bugs.webkit.org/show_bug.cgi?id=68803
  2178. With this, FrameLoaderClient::dispatchCreatePage knows about the
  2179. request that will be used for the initial navigaion of the to be
  2180. created page.
  2181. Reviewed by Nate Chapin.
  2182. Test: platform/chromium/fast/loader/create-view-target-blank.html
  2183. * loader/FrameLoader.cpp:
  2184. (WebCore::FrameLoader::loadURL):
  2185. (WebCore::FrameLoader::load):
  2186. (WebCore::FrameLoader::loadWithDocumentLoader):
  2187. (WebCore::FrameLoader::reload):
  2188. (WebCore::FrameLoader::loadPostRequest):
  2189. (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
  2190. (WebCore::FrameLoader::loadDifferentDocumentItem):
  2191. (WebCore::createWindow):
  2192. * loader/NavigationAction.cpp:
  2193. (WebCore::NavigationAction::NavigationAction):
  2194. * loader/NavigationAction.h:
  2195. (WebCore::NavigationAction::isEmpty):
  2196. (WebCore::NavigationAction::url):
  2197. (WebCore::NavigationAction::resourceRequest):
  2198. * loader/PolicyChecker.cpp:
  2199. (WebCore::PolicyChecker::checkNavigationPolicy):
  2200. * page/ContextMenuController.cpp:
  2201. (WebCore::openNewWindow):
  2202. * WebCore.exp: updated
  2203. 2011-10-17 Tom Sepez <tsepez@chromium.org>
  2204. XSSAuditor bypass with remote script ending in ? character
  2205. https://bugs.webkit.org/show_bug.cgi?id=70255
  2206. Reviewed by Daniel Bates.
  2207. Fix XSSAuditor bypass where unterminated src="" attribute could pick up
  2208. text from page causing failed XSS detection. Constrain match to domain
  2209. portions of src attribute only.
  2210. Test: http/tests/security/xssAuditor/script-tag-with-source-unterminated.html
  2211. * html/parser/XSSAuditor.cpp:
  2212. (WebCore::XSSAuditor::filterScriptToken):
  2213. (WebCore::XSSAuditor::filterObjectToken):
  2214. (WebCore::XSSAuditor::filterParamToken):
  2215. (WebCore::XSSAuditor::filterEmbedToken):
  2216. (WebCore::XSSAuditor::filterAppletToken):
  2217. (WebCore::XSSAuditor::filterIframeToken):
  2218. (WebCore::XSSAuditor::eraseAttributeIfInjected):
  2219. (WebCore::XSSAuditor::decodedSnippetForAttribute):
  2220. * html/parser/XSSAuditor.h:
  2221. 2011-10-17 Adam Klein <adamk@chromium.org>
  2222. Parse MutationObserverOptions directly into a bitfield
  2223. https://bugs.webkit.org/show_bug.cgi?id=70287
  2224. Reviewed by Ryosuke Niwa.
  2225. Replaces the MutationObserverOptions class with a typedef,
  2226. used to pass a bitfield composed of enums defined in
  2227. WebKitMutationObserver.h.
  2228. No new tests because no behavior should change.
  2229. * GNUmakefile.list.am:
  2230. * WebCore.gypi:
  2231. * WebCore.pro:
  2232. * WebCore.xcodeproj/project.pbxproj:
  2233. * bindings/js/JSDictionary.h: Removed now-unused method.
  2234. * bindings/js/JSWebKitMutationObserverCustom.cpp:
  2235. (WebCore::JSWebKitMutationObserver::observe):
  2236. * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
  2237. (WebCore::V8WebKitMutationObserver::observeCallback):
  2238. * dom/MutationObserverOptions.h: Removed.
  2239. * dom/Node.cpp:
  2240. (WebCore::Node::registerMutationObserver):
  2241. * dom/Node.h:
  2242. * dom/NodeRareData.h:
  2243. (WebCore::MutationObserverEntry::MutationObserverEntry):
  2244. (WebCore::MutationObserverEntry::matches):
  2245. * dom/WebKitMutationObserver.cpp:
  2246. (WebCore::WebKitMutationObserver::observe):
  2247. * dom/WebKitMutationObserver.h:
  2248. 2011-10-17 Luke Macpherson <macpherson@chromium.org>
  2249. Add compile-time asserts for RenderStyle::(Non)InheritedFlags size.
  2250. https://bugs.webkit.org/show_bug.cgi?id=69803
  2251. Reviewed by Darin Adler.
  2252. No new tests.
  2253. Adds COMPILE_ASSERTs for the size of RenderStyle::InheritedFlags and
  2254. RenderStyle::NonInheritedFlags to ensure that they are not accidentally
  2255. grown in future changes.
  2256. Change types of unsigned bitfields to unsigned char to ensure that the
  2257. above assertions remain true when building on windows.
  2258. * rendering/style/RenderStyle.cpp:
  2259. (WebCore::RenderStyle):
  2260. Adds assertions to ensure struct sizes do not change.
  2261. * rendering/style/RenderStyle.h:
  2262. Changes unsigned to unsigned char as outlined above.
  2263. 2011-10-17 Ojan Vafai <ojan@chromium.org>
  2264. Unreviewed, rolling out r97662.
  2265. http://trac.webkit.org/changeset/97662
  2266. https://bugs.webkit.org/show_bug.cgi?id=68497
  2267. Was not the cause of the test failures.
  2268. * rendering/RenderBox.cpp:
  2269. (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
  2270. 2011-10-17 Ryosuke Niwa <rniwa@webkit.org>
  2271. Rename deregister* to unregister*
  2272. https://bugs.webkit.org/show_bug.cgi?id=70272
  2273. Reviewed by Darin Adler.
  2274. Renamed deregisterHandler to unregisterHandler.
  2275. * inspector/front-end/ExtensionAPI.js:
  2276. (injectedExtensionAPI.ExtensionServerClient.prototype.unregisterHandler):
  2277. * inspector/front-end/ExtensionServer.js:
  2278. (WebInspector.ExtensionServer.prototype._onSetOpenResourceHandler):
  2279. * inspector/front-end/HandlerRegistry.js:
  2280. (get WebInspector.HandlerRegistry.prototype.unregisterHandler):
  2281. 2011-10-17 Huang Dongsung <luxtella@company100.net>
  2282. [TexMap][QT] The BGRA32PremultimpliedBuffer should not inherit the RefCounted class.
  2283. https://bugs.webkit.org/show_bug.cgi?id=70098
  2284. The BitmapTexture has a BGRA32PremultimpliedBuffer object using OwnPtr, not RefPtr.
  2285. It causes following assertion fail, RefCountedBase::m_deletionHasBegun.
  2286. It is better that the BGRA32PremultimpliedBuffer does not inherit the RefCounted
  2287. because the BitmapTexture only has and uses a BGRA32PremultimpliedBuffer object.
  2288. Reviewed by Noam Rosenthal.
  2289. * platform/graphics/opengl/TextureMapperGL.h:
  2290. 2011-10-17 Vsevolod Vlasov <vsevik@chromium.org>
  2291. Web Inspector: Search in resource crashes when there is no resource with given url.
  2292. https://bugs.webkit.org/show_bug.cgi?id=69767
  2293. Reviewed by Pavel Feldman.
  2294. Test: http/tests/inspector/search/search-in-non-existing-resource.html
  2295. * inspector/InspectorPageAgent.cpp:
  2296. (WebCore::InspectorPageAgent::searchInResource):
  2297. 2011-10-17 Mihnea Ovidenie <mihnea@adobe.com>
  2298. [CSS Regions]Change content:-webkit-from-flow to -webkit-flow-from
  2299. https://bugs.webkit.org/show_bug.cgi?id=70104
  2300. Reviewed by David Hyatt.
  2301. 1. -webkit-flow-from is now a property instead of being an addition to content property.
  2302. 2. -webkit-flow-from takes an identifier instead of string.
  2303. * css/CSSComputedStyleDeclaration.cpp:
  2304. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  2305. * css/CSSParser.cpp:
  2306. (WebCore::CSSParser::parseValue):
  2307. (WebCore::CSSParser::parseContent):
  2308. (WebCore::CSSParser::parseRegionThread):
  2309. * css/CSSParser.h:
  2310. * css/CSSPrimitiveValue.cpp:
  2311. (WebCore::isValidCSSUnitTypeForDoubleConversion):
  2312. (WebCore::CSSPrimitiveValue::cleanup):
  2313. (WebCore::CSSPrimitiveValue::getStringValue):
  2314. (WebCore::CSSPrimitiveValue::cssText):
  2315. * css/CSSPrimitiveValue.h:
  2316. * css/CSSPropertyNames.in:
  2317. * css/CSSStyleSelector.cpp:
  2318. (WebCore::CSSStyleSelector::applyProperty):
  2319. 2011-10-17 Kentaro Hara <haraken@chromium.org>
  2320. MessageEvent.data can be stored as ScriptValue.
  2321. https://bugs.webkit.org/show_bug.cgi?id=68978
  2322. Reviewed by Hajime Morita.
  2323. Currently, the following test cases fail or crash:
  2324. - shouldBe("new MessageEvent('eventType', { data: test_object }).data", "test_object") -> FAIL
  2325. - new MessageEvent('eventType', { data: document }).data -> CRASH
  2326. This is because MessageEvent.data is implemented just as SerializedScriptValue
  2327. and it cannot keep ScriptValue passed by JavaScript. This patch makes the following changes:
  2328. - If MessageEvent is constructed with ScriptValue, it is stored as ScriptValue internally.
  2329. When MessageEvent.data is called, the ScriptValue is returned.
  2330. - If MessageEvent is constructed with SerializedScriptValue, it is stored as
  2331. SerializedScriptValue internally (since we cannot deserialize it into ScriptValue
  2332. at this point because of lack of ExecState). When MessageEvent.data is called,
  2333. the SerializedScriptValue is deserialized into the corresponding ScriptValue,
  2334. and the ScriptValue is returned.
  2335. This patch does not make a fix for ObjC bindings code, since we need to first fix
  2336. the bug 28774, as commented in dom/MessageEvent.h and dom/MessageEvent.cpp.
  2337. Test: fast/events/constructors/message-event-constructor.html
  2338. * bindings/js/JSMessageEventCustom.cpp:
  2339. (WebCore::JSMessageEvent::data): Custom getter for MessageEvent.data. Supported ScriptValue.
  2340. (WebCore::JSMessageEvent::initMessageEvent): Changed SerializedScriptValue to ScriptValue.
  2341. * bindings/v8/custom/V8MessageEventCustom.cpp:
  2342. (WebCore::V8MessageEvent::dataAccessorGetter): Custom getter for MessageEvent.data. Supported ScriptValue.
  2343. (WebCore::V8MessageEvent::portsAccessorGetter): Removed extra spaces.
  2344. (WebCore::V8MessageEvent::initMessageEventCallback): Changed SerializedScriptValue to ScriptValue.
  2345. * dom/MessageEvent.cpp:
  2346. (WebCore::MessageEvent::MessageEvent): Supported ScriptValue.
  2347. (WebCore::MessageEvent::initMessageEvent): Supported ScriptValue.
  2348. (WebCore::MessageEvent::isMessageEvent): Removed extra spaces.
  2349. * dom/MessageEvent.h: Added DataType::DataTypeScriptValue.
  2350. (WebCore::MessageEvent::create): Supported ScriptValue.
  2351. (WebCore::MessageEvent::dataAsScriptValue): Getter for data. Insert ASSERT() to guarantee that this accessor is not called for unintended type of data.
  2352. (WebCore::MessageEvent::dataAsSerializedScriptValue): Ditto.
  2353. (WebCore::MessageEvent::dataAsString): Ditto.
  2354. (WebCore::MessageEvent::dataAsBlob): Ditto.
  2355. (WebCore::MessageEvent::dataAsArrayBuffer): Ditto.
  2356. * dom/MessageEvent.idl: Changed SerializedScriptValue to DOMObject (i.e. ScriptValue). This patch does not touch an ObjC part.
  2357. 2011-10-17 Shinya Kawanaka <shinyak@google.com>
  2358. Unified spell-checking and legacy spell checking should be easy to switch
  2359. https://bugs.webkit.org/show_bug.cgi?id=69242
  2360. Reviewed by Hajime Morita.
  2361. WebCore has two different code paths for spell-checking:
  2362. 1) checkTextOfParagraph() for Snow Leopard or later
  2363. 2) checkSpellingOfString() for checkGrammarOfString() for other platforms.
  2364. This patch introduces a flag to change code paths dynamically.
  2365. This patch also includes build fix for QT, GTK, and Windows platforms.
  2366. No new tests because this patch does not change a behavior.
  2367. * CMakeLists.txt:
  2368. * GNUmakefile.list.am:
  2369. * WebCore.pro:
  2370. * WebCore.vcproj/WebCore.vcproj:
  2371. * accessibility/AccessibilityObject.cpp:
  2372. (WebCore::AccessibilityObject::hasMisspelling):
  2373. Changed static if-USE(UNIFIED_TEXT_CHECKING) statement to dynamic
  2374. condition branch to achieve easy code path change.
  2375. * accessibility/mac/WebAccessibilityObjectWrapper.mm: ditto.
  2376. (AXAttributeStringSetSpelling):
  2377. * editing/EditingAllInOne.cpp:
  2378. * editing/Editor.cpp:
  2379. (WebCore::Editor::advanceToNextMisspelling): ditto.
  2380. (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection): ditto.
  2381. (WebCore::Editor::markMisspellingsAfterTypingToWord): ditto.
  2382. (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): ditto.
  2383. (WebCore::Editor::changeBackToReplacedString): ditto.
  2384. (WebCore::Editor::markMisspellingsAndBadGrammar): ditto.
  2385. (WebCore::Editor::unifiedTextCheckerEnabled):
  2386. Utility method to check using unified text checking or not.
  2387. * editing/Editor.h:
  2388. * editing/TextCheckingHelper.cpp:
  2389. (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
  2390. Same as WebCore::AccessibilityObject::hasMisspelling.
  2391. (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): ditto.
  2392. (WebCore::TextCheckingHelper::unifiedTextCheckerEnabled):
  2393. Utility method to check using unified text checking or not.
  2394. (WebCore::unifiedTextCheckerEnabled): ditto.
  2395. * editing/TextCheckingHelper.h:
  2396. * page/Settings.cpp:
  2397. (WebCore::Settings::Settings):
  2398. Includes a flag to change the code path.
  2399. * page/Settings.h:
  2400. (WebCore::Settings::setUnifiedTextCheckerEnabled):
  2401. Sets a flag to change the code path.
  2402. (WebCore::Settings::unifiedTextCheckerEnabled):
  2403. A flag to change the code path.
  2404. 2011-10-17 Julien Chaffraix <jchaffraix@webkit.org>
  2405. Unreviewed build fix after 97691.
  2406. * html/HTMLTableCellElement.h:
  2407. (WebCore::toHTMLTableCellElement): Avoid declaring the same function twice.
  2408. 2011-10-12 Ojan Vafai <ojan@chromium.org>
  2409. Unreviewed, rolling out r97661.
  2410. http://trac.webkit.org/changeset/97661
  2411. Confirmed this patch was not the cause of the test failures.
  2412. display:inline-block elements don't correctly handle orthogonal writing-modes
  2413. https://bugs.webkit.org/show_bug.cgi?id=69957
  2414. Reading min/maxPreferredLogicalWidth from a child uses the child's writing-mode.
  2415. Instead, we need to grab the result based on the parent's writing-mode.
  2416. In the case of orthogonal writing-modes, we need the child's logical height.
  2417. Tests: fast/writing-mode/borders-expected.html
  2418. fast/writing-mode/borders.html
  2419. * rendering/RenderBlock.cpp:
  2420. (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
  2421. 2011-10-17 James Robinson <jamesr@chromium.org>
  2422. Unreviewed, rolling out r97690.
  2423. http://trac.webkit.org/changeset/97690
  2424. https://bugs.webkit.org/show_bug.cgi?id=70161
  2425. Hits assertion in CCLayerTreeHostTests
  2426. * WebCore.gypi:
  2427. * platform/graphics/chromium/cc/CCMainThread.h:
  2428. * platform/graphics/chromium/cc/CCMainThreadTask.h:
  2429. (WebCore::createMainThreadTask):
  2430. * platform/graphics/chromium/cc/CCScopedMainThreadProxy.h: Removed.
  2431. * platform/graphics/chromium/cc/CCThreadProxy.cpp:
  2432. (WebCore::CCThreadProxySchedulerClient::scheduleBeginFrameAndCommit):
  2433. (WebCore::CCThreadProxy::CCThreadProxy):
  2434. (WebCore::CCThreadProxy::stop):
  2435. * platform/graphics/chromium/cc/CCThreadProxy.h:
  2436. 2011-10-17 Julien Chaffraix <jchaffraix@webkit.org>
  2437. Remove colSpan / rowSpan caching from RenderTableCell
  2438. https://bugs.webkit.org/show_bug.cgi?id=69569
  2439. Reviewed by Darin Adler.
  2440. Memory optimization, no change in behavior expected.
  2441. This change removes m_colSpan & m_rowSpan from RenderTableCell (inspired by
  2442. kling's memory shaving effort).
  2443. This makes us save 8 bytes per RenderTableCell on my machine (x86-64). No slowdown
  2444. on PageCycler Alexa-US.
  2445. This change refactored the way we handle updates from the DOM side to simplify
  2446. the code using the following: colspan / rowspan updates always go through
  2447. parseMappedAttribute where we already check for the renderer type. Thus removed the
  2448. generic updateFromElement and replaced it with colSpanOrRowSpanChanged. This removes
  2449. a virtual dispatch.
  2450. As there is no way to know if an attribute has changed in the parseMappedAttribute code,
  2451. we now unconditionally call colSpanOrRowSpanChanged. Looking at Chromium's page data,
  2452. colSpan and rowSpan are never changed outside the HTML markup thus such a change should
  2453. have a limited impact.
  2454. * html/HTMLTableCellElement.cpp:
  2455. (WebCore::HTMLTableCellElement::parseMappedAttribute): Updated after updateFromElement
  2456. removal.
  2457. * html/HTMLTableCellElement.h:
  2458. (WebCore::toHTMLTableCellElement): Added the usual conversion functions.
  2459. * rendering/RenderTableCell.cpp:
  2460. (WebCore::RenderTableCell::RenderTableCell): Added a boolean to know if we have
  2461. the right type of associated DOM node to avoid the cost of checking that every
  2462. time.
  2463. (WebCore::RenderTableCell::colSpan):
  2464. (WebCore::RenderTableCell::rowSpan):
  2465. Forwarded the calls to our object if we have the right type (normal case).
  2466. (WebCore::RenderTableCell::colSpanOrRowSpanChanged): Handles the
  2467. updateFromElement calls but in a more streamlined way.
  2468. * rendering/RenderTableCell.h:
  2469. 2011-10-17 James Robinson <jamesr@chromium.org>
  2470. [chromium] Fix shutdown race when posting main thread task to CCThreadProxy and enable tests
  2471. https://bugs.webkit.org/show_bug.cgi?id=70161
  2472. Reviewed by David Levin.
  2473. Adds a weak pointer mechanism to cancel main thread tasks posted to CCThreadProxy instances from the compositor
  2474. thread. Previously there was a race condition where main thread tasks could run even after the CCThreadProxy was
  2475. destroyed.
  2476. This race does not exist in the other direction because when tearing down a CCThreadProxy we first post a quit
  2477. task to the compositor thread and then suspend execution of the main thread until all compositor tasks for the
  2478. CCThreadProxy have been drained.
  2479. Covered by the now-enabled CCLayerTreeHostTest* unit tests.
  2480. * WebCore.gypi:
  2481. * platform/graphics/chromium/cc/CCScopedMainThreadProxy.h: Added.
  2482. (WebCore::CCScopedMainThreadProxy::create):
  2483. (WebCore::CCScopedMainThreadProxy::postTask):
  2484. (WebCore::CCScopedMainThreadProxy::shutdown):
  2485. (WebCore::CCScopedMainThreadProxy::CCScopedMainThreadProxy):
  2486. (WebCore::CCScopedMainThreadProxy::runTaskIfNotShutdown):
  2487. * platform/graphics/chromium/cc/CCThreadProxy.cpp:
  2488. (WebCore::CCThreadProxy::CCThreadProxy):
  2489. (WebCore::CCThreadProxy::~CCThreadProxy):
  2490. (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
  2491. * platform/graphics/chromium/cc/CCThreadProxy.h:
  2492. 2011-10-17 Sheriff Bot <webkit.review.bot@gmail.com>
  2493. Unreviewed, rolling out r97641.
  2494. http://trac.webkit.org/changeset/97641
  2495. https://bugs.webkit.org/show_bug.cgi?id=70288
  2496. "This change may have broken mouse/hit-test coordinate tests."
  2497. (Requested by jeffm7 on #webkit).
  2498. * platform/Widget.cpp:
  2499. (WebCore::Widget::convertFromContainingWindow):
  2500. (WebCore::Widget::convertToContainingWindow):
  2501. 2011-10-17 Andreas Kling <kling@webkit.org>
  2502. CSSParser: Remove unused variable 'propertyComponents'
  2503. https://bugs.webkit.org/show_bug.cgi?id=70230
  2504. Reviewed by Darin Adler.
  2505. (WebCore::CSSParser::markPropertyEnd):
  2506. 2011-10-17 Shawn Singh <shawnsingh@chromium.org>
  2507. [chromium] Update comments about transform hierarchy in CCLayerTreeHostCommon
  2508. https://bugs.webkit.org/show_bug.cgi?id=69765
  2509. Reviewed by James Robinson.
  2510. Only comments changed, no tests needed.
  2511. * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
  2512. (WebCore::calculateDrawTransformsAndVisibilityInternal):
  2513. 2011-10-17 Dan Bernstein <mitz@apple.com>
  2514. Remove unnecessary calls to columnRectAt()
  2515. https://bugs.webkit.org/show_bug.cgi?id=70283
  2516. Reviewed by Darin Adler.
  2517. These call sites only needed one of the column dimensions, which are independent of the column
  2518. index, and can be retrieved directly from the ColumnInfo.
  2519. * rendering/RenderBlock.cpp:
  2520. (WebCore::RenderBlock::paintColumnRules):
  2521. (WebCore::RenderBlock::hitTestColumns):
  2522. 2011-10-17 Andreas Kling <kling@webkit.org>
  2523. Protect against incorrect Element::fast*Attribute() usage.
  2524. https://bugs.webkit.org/show_bug.cgi?id=67612
  2525. Reviewed by Darin Adler.
  2526. Add debug-only checks in Element's fastHasAttribute() and fastGetAttribute() to verify
  2527. that we aren't looking up the "style" attribute or any of the SVG animatable attributes.
  2528. No new tests, erroneous behavior is covered by assertions.
  2529. * WebCore.exp.in: Export Element::fastAttributeLookupAllowed() for debug builds
  2530. since it's used by the inline fast*Attribute() calls.
  2531. * css/CSSStyleSelector.cpp:
  2532. (WebCore::CSSStyleSelector::canShareStyleWithElement): Use getAttribute() for class.
  2533. * css/SelectorChecker.cpp:
  2534. (WebCore::linkAttribute): Use getAttribute() for xlink:href.
  2535. * dom/Element.cpp:
  2536. (WebCore::Element::getAttribute): Manually inline fastGetAttribute() in ideal case.
  2537. (WebCore::Element::fastAttributeLookupAllowed): Checks if an attribute can be used
  2538. with the fast lookup functions.
  2539. * dom/Element.h:
  2540. (WebCore::Element::fastHasAttribute): Add assertion.
  2541. (WebCore::Element::fastGetAttribute): Ditto.
  2542. * editing/ApplyStyleCommand.cpp:
  2543. (WebCore::hasNoAttributeOrOnlyStyleAttribute): Use getAttribute() for class.
  2544. * editing/ReplaceSelectionCommand.cpp:
  2545. (WebCore::isInlineNodeWithStyle): Ditto.
  2546. * html/ClassList.cpp:
  2547. (WebCore::ClassList::ClassList): Ditto.
  2548. (WebCore::ClassList::addInternal): Ditto.
  2549. (WebCore::ClassList::removeInternal): Ditto.
  2550. (WebCore::ClassList::toString): Ditto.
  2551. * svg/SVGAltGlyphElement.cpp:
  2552. (WebCore::SVGAltGlyphElement::hasValidGlyphElements): Use getAttribute() for xlink:href.
  2553. * svg/SVGAnimateMotionElement.cpp:
  2554. (WebCore::SVGAnimateMotionElement::rotateMode): Use getAttribute() for rotate.
  2555. * svg/SVGAnimationElement.cpp:
  2556. (WebCore::SVGAnimationElement::animationMode): Use getAttribute() for values.
  2557. * svg/SVGElement.cpp:
  2558. (WebCore::SVGElement::isAnimatableAttribute): Added, returns true if the given
  2559. QualifiedName represents an animatable attribute.
  2560. * svg/SVGElement.h:
  2561. * svg/SVGFontFaceUriElement.cpp:
  2562. (WebCore::SVGFontFaceUriElement::srcValue): Use getAttribute() for xlink:href.
  2563. (WebCore::SVGFontFaceUriElement::loadFont): Ditto.
  2564. * svg/animation/SVGSMILElement.cpp:
  2565. (WebCore::SVGSMILElement::xlinkHref): Ditto.
  2566. * svg/SVGGlyphRefElement.cpp:
  2567. (WebCore::SVGGlyphRefElement::hasValidGlyphElement): Ditto.
  2568. * svg/SVGStyleElement.cpp:
  2569. (WebCore::SVGStyleElement::type): Use getAttribute() for type.
  2570. 2011-10-17 Chris Fleizach <cfleizach@apple.com>
  2571. AX: buttons of number type <input> controls are not fully accessible
  2572. https://bugs.webkit.org/show_bug.cgi?id=70241
  2573. Expose the spin button object to the AX hierarchy. Since there is no distinct
  2574. render object that backs this object, a mock object needs to be created for the entire
  2575. spin button and the actual increment and decrement buttons inside.
  2576. Reviewed by Darin Adler.
  2577. Test: platform/mac/accessibility/html5-input-number.html
  2578. * CMakeLists.txt:
  2579. * GNUmakefile.list.am:
  2580. * WebCore.gypi:
  2581. * WebCore.pro:
  2582. * WebCore.vcproj/WebCore.vcproj:
  2583. * WebCore.xcodeproj/project.pbxproj:
  2584. * accessibility/AXObjectCache.cpp:
  2585. (WebCore::AXObjectCache::getOrCreate):
  2586. * accessibility/AccessibilityMockObject.cpp:
  2587. (WebCore::AccessibilityMockObject::AccessibilityMockObject):
  2588. * accessibility/AccessibilityMockObject.h:
  2589. (WebCore::AccessibilityMockObject::isMockObject):
  2590. * accessibility/AccessibilityObject.cpp:
  2591. (WebCore::AccessibilityObject::boundingBoxForQuads):
  2592. (WebCore::AccessibilityObject::elementAccessibilityHitTest):
  2593. * accessibility/AccessibilityObject.h:
  2594. (WebCore::AccessibilityObject::isSpinButton):
  2595. (WebCore::AccessibilityObject::isSpinButtonPart):
  2596. (WebCore::AccessibilityObject::isMockObject):
  2597. * accessibility/AccessibilityRenderObject.cpp:
  2598. (WebCore::AccessibilityRenderObject::boundingBoxRect):
  2599. (WebCore::AccessibilityRenderObject::addImageMapChildren):
  2600. (WebCore::AccessibilityRenderObject::addTextFieldChildren):
  2601. (WebCore::AccessibilityRenderObject::addChildren):
  2602. * accessibility/AccessibilityRenderObject.h:
  2603. * accessibility/AccessibilitySpinButton.cpp: Added.
  2604. (WebCore::AccessibilitySpinButton::create):
  2605. (WebCore::AccessibilitySpinButton::AccessibilitySpinButton):
  2606. (WebCore::AccessibilitySpinButton::~AccessibilitySpinButton):
  2607. (WebCore::AccessibilitySpinButton::incrementButton):
  2608. (WebCore::AccessibilitySpinButton::decrementButton):
  2609. (WebCore::AccessibilitySpinButton::elementRect):
  2610. (WebCore::AccessibilitySpinButton::addChildren):
  2611. (WebCore::AccessibilitySpinButton::step):
  2612. (WebCore::AccessibilitySpinButtonPart::AccessibilitySpinButtonPart):
  2613. (WebCore::AccessibilitySpinButtonPart::create):
  2614. (WebCore::AccessibilitySpinButtonPart::elementRect):
  2615. (WebCore::AccessibilitySpinButtonPart::press):
  2616. * accessibility/AccessibilitySpinButton.h: Added.
  2617. (WebCore::AccessibilitySpinButton::setSpinButtonElement):
  2618. (WebCore::AccessibilitySpinButton::roleValue):
  2619. (WebCore::AccessibilitySpinButton::accessibilityIsIgnored):
  2620. (WebCore::AccessibilitySpinButton::isSpinButton):
  2621. (WebCore::AccessibilitySpinButtonPart::~AccessibilitySpinButtonPart):
  2622. (WebCore::AccessibilitySpinButtonPart::isIncrementor):
  2623. (WebCore::AccessibilitySpinButtonPart::setIsIncrementor):
  2624. (WebCore::AccessibilitySpinButtonPart::roleValue):
  2625. (WebCore::AccessibilitySpinButtonPart::isSpinButtonPart):
  2626. (WebCore::AccessibilitySpinButtonPart::accessibilityIsIgnored):
  2627. (WebCore::toAccessibilitySpinButton):
  2628. (WebCore::toAccessibilitySpinButtonPart):
  2629. * accessibility/mac/WebAccessibilityObjectWrapper.mm:
  2630. (-[WebAccessibilityObjectWrapper accessibilityActionNames]):
  2631. (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
  2632. (-[WebAccessibilityObjectWrapper subrole]):
  2633. (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
  2634. * html/shadow/TextControlInnerElements.cpp:
  2635. (WebCore::SpinButtonElement::step):
  2636. (WebCore::SpinButtonElement::repeatingTimerFired):
  2637. * html/shadow/TextControlInnerElements.h:
  2638. 2011-10-17 Dmitry Titov <dimich@chromium.org>
  2639. Re-landing: window.webkitNotifications uses deallocated NotificationPresenter after live Iframe transfer.
  2640. https://bugs.webkit.org/show_bug.cgi?id=70147
  2641. Reviewed by David Levin.
  2642. I only found a way to test this manually, since Chromium TestShell uses static instance
  2643. of NotificationPresenter instead of per-page one so the issue does not reproduce.
  2644. Adding manual test that works in full build of Chromium.
  2645. * manual-tests/iframe_notifications/iframe-reparenting-close-window-child.html: Added.
  2646. * manual-tests/iframe_notifications/iframe-reparenting-close-window-iframe.html: Added.
  2647. * manual-tests/iframe_notifications/iframe-reparenting-close-window.html: Added.
  2648. * notifications/NotificationCenter.cpp:
  2649. (WebCore::NotificationCenter::disconnectFrame):
  2650. * page/DOMWindow.cpp:
  2651. (WebCore::DOMWindow::resetNotifications):
  2652. * page/DOMWindow.h:
  2653. * page/Frame.cpp:
  2654. (WebCore::Frame::transferChildFrameToNewDocument): reset webkitNotifications object.
  2655. 2011-10-17 Arno Renevier <arno@renevier.net>
  2656. quote "attributes" keyword in CodeGeneratorGObject.pm
  2657. https://bugs.webkit.org/show_bug.cgi?id=64348
  2658. Reviewed by Darin Adler.
  2659. No change of functionality. No new tests.
  2660. * bindings/scripts/CodeGeneratorGObject.pm:
  2661. 2011-10-17 Ojan Vafai <ojan@chromium.org>
  2662. Unreviewed, rolling out r97654.
  2663. http://trac.webkit.org/changeset/97654
  2664. https://bugs.webkit.org/show_bug.cgi?id=68497
  2665. Caused a number of Chromium failures.
  2666. * rendering/RenderBox.cpp:
  2667. (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
  2668. 2011-10-17 Ojan Vafai <ojan@chromium.org>
  2669. Unreviewed, rolling out r97653.
  2670. http://trac.webkit.org/changeset/97653
  2671. https://bugs.webkit.org/show_bug.cgi?id=69957
  2672. Caused a number of Chromium failures.
  2673. * rendering/RenderBlock.cpp:
  2674. (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
  2675. 2011-10-17 Rafael Weinstein <rafaelw@chromium.org>
  2676. [MutationObservers] Implement WebKitMutationObserver.observe for attributes
  2677. https://bugs.webkit.org/show_bug.cgi?id=68956
  2678. Reviewed by Ryosuke Niwa.
  2679. Test: fast/mutation/observe-attributes.html
  2680. This adds an initial implementation for registering mutation observers on nodes,
  2681. delivering mutation records at the end of the outer-most script invokation and
  2682. observing mutations to element attributes.
  2683. Note that the outer-most script invokation only works in V8.
  2684. Note also that support for observing changes to the style attribute when updated
  2685. via the style property is not implemented here.
  2686. * bindings/v8/V8Proxy.cpp:
  2687. (WebCore::V8Proxy::didLeaveScriptContext):
  2688. * dom/Element.cpp:
  2689. (WebCore::enqueueAttributesMutationRecord):
  2690. (WebCore::Element::setAttribute):
  2691. * dom/MutationRecord.cpp:
  2692. (WebCore::MutationRecord::createAttributes):
  2693. * dom/MutationRecord.h:
  2694. * dom/MutationRecord.idl:
  2695. * dom/Node.cpp:
  2696. (WebCore::Node::clearRareData):
  2697. (WebCore::Node::mutationObserverData):
  2698. (WebCore::Node::ensureMutationObserverData):
  2699. (WebCore::Node::registeredMutationObserversOfType):
  2700. (WebCore::Node::registerMutationObserver):
  2701. (WebCore::Node::deregisterMutationObserver):
  2702. * dom/Node.h:
  2703. * dom/NodeRareData.h:
  2704. (WebCore::MutationObserverRegistration::MutationObserverRegistration):
  2705. (WebCore::MutationObserverRegistration::operator==):
  2706. (WebCore::MutationObserverData::MutationObserverData):
  2707. (WebCore::MutationObserverData::~MutationObserverData):
  2708. (WebCore::NodeRareData::mutationObserverData):
  2709. (WebCore::NodeRareData::ensureMutationObserverData):
  2710. * dom/WebKitMutationObserver.cpp:
  2711. (WebCore::WebKitMutationObserver::observe):
  2712. (WebCore::WebKitMutationObserver::disconnect):
  2713. (WebCore::WebKitMutationObserver::wasDeregistered):
  2714. (WebCore::activeMutationObservers):
  2715. (WebCore::WebKitMutationObserver::enqueueMutationRecord):
  2716. (WebCore::WebKitMutationObserver::deliverAllMutations):
  2717. (WebCore::WebKitMutationObserver::deliver):
  2718. * dom/WebKitMutationObserver.h:
  2719. 2011-10-17 Andreas Kling <kling@webkit.org>
  2720. HTMLKeygenElement: Don't cache keytype and challenge attributes.
  2721. https://bugs.webkit.org/show_bug.cgi?id=68365
  2722. Reviewed by Darin Adler.
  2723. * html/HTMLKeygenElement.cpp:
  2724. (WebCore::HTMLKeygenElement::parseMappedAttribute):
  2725. (WebCore::HTMLKeygenElement::appendFormData):
  2726. * html/HTMLKeygenElement.h:
  2727. 2011-09-22 Ojan Vafai <ojan@chromium.org>
  2728. incorrect height with height:auto and writing-mode:vertical-rl
  2729. https://bugs.webkit.org/show_bug.cgi?id=68497
  2730. Reviewed by David Hyatt.
  2731. * rendering/RenderBox.cpp:
  2732. (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
  2733. 2011-10-12 Ojan Vafai <ojan@chromium.org>
  2734. display:inline-block elements don't correctly handle orthogonal writing-modes
  2735. https://bugs.webkit.org/show_bug.cgi?id=69957
  2736. Reviewed by David Hyatt.
  2737. Reading min/maxPreferredLogicalWidth from a child uses the child's writing-mode.
  2738. Instead, we need to grab the result based on the parent's writing-mode.
  2739. In the case of orthogonal writing-modes, we need the child's logical height.
  2740. Tests: fast/writing-mode/borders-expected.html
  2741. fast/writing-mode/borders.html
  2742. * rendering/RenderBlock.cpp:
  2743. (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
  2744. 2011-10-17 Sheriff Bot <webkit.review.bot@gmail.com>
  2745. Unreviewed, rolling out r97643.
  2746. http://trac.webkit.org/changeset/97643
  2747. https://bugs.webkit.org/show_bug.cgi?id=70270
  2748. Broke iframe reparenting tests (Requested by dimich on
  2749. #webkit).
  2750. * manual-tests/iframe_notifications/iframe-reparenting-close-window-child.html: Removed.
  2751. * manual-tests/iframe_notifications/iframe-reparenting-close-window-iframe.html: Removed.
  2752. * manual-tests/iframe_notifications/iframe-reparenting-close-window.html: Removed.
  2753. * notifications/NotificationCenter.cpp:
  2754. (WebCore::NotificationCenter::disconnectFrame):
  2755. * page/DOMWindow.cpp:
  2756. (WebCore::DOMWindow::webkitNotifications):
  2757. * page/DOMWindow.h:
  2758. * page/Frame.cpp:
  2759. (WebCore::Frame::transferChildFrameToNewDocument):
  2760. 2011-10-17 Dmitry Titov <dimich@chromium.org>
  2761. window.webkitNotifications uses deallocated NotificationPresenter after live Iframe transfer.
  2762. https://bugs.webkit.org/show_bug.cgi?id=70147
  2763. Reviewed by David Levin.
  2764. I only found a way to test this manually, since Chromium TestShell uses static instance
  2765. of NotificationPresenter instead of per-page one so the issue does not reproduce.
  2766. Adding manual test that works in full build of Chromium.
  2767. * manual-tests/iframe_notifications/iframe-reparenting-close-window-child.html: Added.
  2768. * manual-tests/iframe_notifications/iframe-reparenting-close-window-iframe.html: Added.
  2769. * manual-tests/iframe_notifications/iframe-reparenting-close-window.html: Added.
  2770. * notifications/NotificationCenter.cpp:
  2771. (WebCore::NotificationCenter::disconnectFrame):
  2772. * page/DOMWindow.cpp:
  2773. (WebCore::DOMWindow::resetNotifications):
  2774. * page/DOMWindow.h:
  2775. * page/Frame.cpp:
  2776. (WebCore::Frame::transferChildFrameToNewDocument): reset webkitNotifications object.
  2777. 2011-10-17 Jeff Miller <jeffm@apple.com>
  2778. Widget window coordinate functions should use root view coordinate functions
  2779. https://bugs.webkit.org/show_bug.cgi?id=70152
  2780. Reviewed by Darin Adler.
  2781. No new tests, no changes to functionality.
  2782. * platform/Widget.cpp:
  2783. (WebCore::Widget::convertFromContainingWindow): Use convertFromRootView().
  2784. (WebCore::Widget::convertToContainingWindow): Use convertToRootView().
  2785. 2011-10-14 Chris Marrin <cmarrin@apple.com>
  2786. Throttle rate of requestAnimationFrame when page is not visible
  2787. https://bugs.webkit.org/show_bug.cgi?id=67873
  2788. Reviewed by Anders Carlsson.
  2789. Add logic to suspend and resume scripted animations when page is hidden,
  2790. minimized or the tab is not visible. The hide/minimize notification comes
  2791. in from WebKit/WebKit2 to a new set of functions.
  2792. * WebCore.exp.in:
  2793. * page/Page.cpp:
  2794. (WebCore::Page::didMoveOnscreen):
  2795. (WebCore::Page::willMoveOffscreen):
  2796. (WebCore::Page::suspendScriptedAnimations):
  2797. (WebCore::Page::resumeScriptedAnimations):
  2798. * page/Page.h:
  2799. 2011-10-17 Antti Koivisto <antti@apple.com>
  2800. https://bugs.webkit.org/show_bug.cgi?id=69966
  2801. Eliminate separate RenderStyle for visited link style
  2802. Reviewed by Dave Hyatt and Nikolas Zimmermann.
  2803. There are only a few properties that can apply to visited links and they can
  2804. be part of the regular style. Many things will get simpler when the separate
  2805. RenderStyle for visited links is eliminated.
  2806. - Add valid visited link properties as separate fields to RenderStyle. The
  2807. visitedLinkColor goes to inherited, everything else goes to rare data structures.
  2808. - Make RenderStyle::visitedDependentColor() get the visited style from the new fields.
  2809. - As VISITED_LINK pseudo style doesn't exists anymore, remove all code dealing with it.
  2810. - Make CSSStyleSelector and ApplyPropertyColor apply the visited link style to the
  2811. newly added fields instead of a separate RenderStyle.
  2812. - Same thing with SVGRenderStyle, SVGCSSStyleSelector.
  2813. - Fixup the SVG visited link style code to use the new fields.
  2814. This is ~15% progression in styleForElement performance over the HTML5 spec load.
  2815. * css/CSSStyleApplyProperty.cpp:
  2816. (WebCore::ApplyPropertyColor::ApplyPropertyColor):
  2817. (WebCore::ApplyPropertyColor::applyInheritValue):
  2818. (WebCore::ApplyPropertyColor::applyInitialValue):
  2819. (WebCore::ApplyPropertyColor::applyValue):
  2820. (WebCore::ApplyPropertyColor::applyColorValue):
  2821. (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
  2822. * css/CSSStyleSelector.cpp:
  2823. (WebCore::CSSStyleSelector::CSSStyleSelector):
  2824. (WebCore::CSSStyleSelector::styleForElement):
  2825. (WebCore::CSSStyleSelector::pseudoStyleForElement):
  2826. (WebCore::CSSStyleSelector::updateFont):
  2827. (WebCore::CSSStyleSelector::applyDeclaration):
  2828. (WebCore::CSSStyleSelector::applyDeclarations):
  2829. (WebCore::CSSStyleSelector::applyProperty):
  2830. (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
  2831. * css/CSSStyleSelector.h:
  2832. (WebCore::CSSStyleSelector::applyPropertyToRegularStyle):
  2833. (WebCore::CSSStyleSelector::applyPropertyToVisitedLinkStyle):
  2834. * css/SVGCSSStyleSelector.cpp:
  2835. (WebCore::CSSStyleSelector::applySVGProperty):
  2836. * dom/Element.cpp:
  2837. (WebCore::Element::pseudoStyleCacheIsInvalid):
  2838. * rendering/style/RenderStyle.cpp:
  2839. (WebCore::RenderStyle::getCachedPseudoStyle):
  2840. (WebCore::RenderStyle::colorIncludingFallback):
  2841. (WebCore::RenderStyle::visitedDependentColor):
  2842. * rendering/style/RenderStyle.h:
  2843. (WebCore::InheritedFlags::setVisitedLinkColor):
  2844. (WebCore::InheritedFlags::setVisitedLinkBackgroundColor):
  2845. (WebCore::InheritedFlags::setVisitedLinkBorderLeftColor):
  2846. (WebCore::InheritedFlags::setVisitedLinkBorderRightColor):
  2847. (WebCore::InheritedFlags::setVisitedLinkBorderBottomColor):
  2848. (WebCore::InheritedFlags::setVisitedLinkBorderTopColor):
  2849. (WebCore::InheritedFlags::setVisitedLinkOutlineColor):
  2850. (WebCore::InheritedFlags::setVisitedLinkColumnRuleColor):
  2851. (WebCore::InheritedFlags::setVisitedLinkTextEmphasisColor):
  2852. (WebCore::InheritedFlags::setVisitedLinkTextFillColor):
  2853. (WebCore::InheritedFlags::setVisitedLinkTextStrokeColor):
  2854. * rendering/style/RenderStyleConstants.h:
  2855. * rendering/style/SVGRenderStyle.h:
  2856. (WebCore::SVGRenderStyle::setVisitedLinkFillPaint):
  2857. (WebCore::SVGRenderStyle::setVisitedLinkStrokePaint):
  2858. (WebCore::SVGRenderStyle::visitedLinkFillPaintType):
  2859. (WebCore::SVGRenderStyle::visitedLinkFillPaintColor):
  2860. (WebCore::SVGRenderStyle::visitedLinkStrokePaintType):
  2861. (WebCore::SVGRenderStyle::visitedLinkStrokePaintColor):
  2862. * rendering/style/SVGRenderStyleDefs.cpp:
  2863. (WebCore::StyleFillData::StyleFillData):
  2864. (WebCore::StyleFillData::operator==):
  2865. (WebCore::StyleStrokeData::StyleStrokeData):
  2866. (WebCore::StyleStrokeData::operator==):
  2867. * rendering/style/SVGRenderStyleDefs.h:
  2868. * rendering/style/StyleInheritedData.cpp:
  2869. (WebCore::StyleInheritedData::StyleInheritedData):
  2870. (WebCore::StyleInheritedData::operator==):
  2871. * rendering/style/StyleInheritedData.h:
  2872. * rendering/style/StyleMultiColData.cpp:
  2873. (WebCore::StyleMultiColData::StyleMultiColData):
  2874. (WebCore::StyleMultiColData::operator==):
  2875. * rendering/style/StyleMultiColData.h:
  2876. * rendering/style/StyleRareInheritedData.cpp:
  2877. (WebCore::StyleRareInheritedData::StyleRareInheritedData):
  2878. (WebCore::StyleRareInheritedData::operator==):
  2879. * rendering/style/StyleRareInheritedData.h:
  2880. * rendering/style/StyleRareNonInheritedData.cpp:
  2881. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  2882. (WebCore::StyleRareNonInheritedData::operator==):
  2883. * rendering/style/StyleRareNonInheritedData.h:
  2884. * rendering/svg/RenderSVGResource.cpp:
  2885. (WebCore::requestPaintingResource):
  2886. 2011-10-17 Eric Carlson <eric.carlson@apple.com>
  2887. Cues should be loaded by the cached resource loader
  2888. https://bugs.webkit.org/show_bug.cgi?id=70134
  2889. Reviewed by Darin Adler.
  2890. No new tests, changes covered by existing tests.
  2891. * CMakeLists.txt: Add CachedCues.cpp/h.
  2892. * GNUmakefile.list.am: Ditto.
  2893. * WebCore.gypi: Ditto.
  2894. * WebCore.xcodeproj/project.pbxproj: Ditto.
  2895. * loader/cache/CachedCues.cpp: Added.
  2896. (WebCore::CachedCues::CachedCues):
  2897. (WebCore::CachedCues::~CachedCues):
  2898. (WebCore::CachedCues::data): Called when new data has been loaded, pass it to all registered
  2899. clients.
  2900. * loader/cache/CachedCues.h: Added.
  2901. * loader/cache/CachedResource.cpp:
  2902. (WebCore::defaultPriorityForResourceType): Cues have low loader priority.
  2903. * loader/cache/CachedResource.h:
  2904. * loader/cache/CachedResourceClient.h:
  2905. (WebCore::CachedResourceClient::didReceiveData): New client interface.
  2906. * loader/cache/CachedResourceLoader.cpp:
  2907. (WebCore::createResource): Create and return a new cue loader.
  2908. (WebCore::CachedResourceLoader::requestCues):
  2909. (WebCore::CachedResourceLoader::checkInsecureContent): Cues aren't mentioned in the CPS spec
  2910. yet, but they only work with a media element so use the mdia policy.
  2911. (WebCore::CachedResourceLoader::canRequest): Allow cues to be loaded from any origin like media.
  2912. * loader/cache/CachedResourceLoader.h:
  2913. * loader/cache/CachedResourceRequest.cpp:
  2914. (WebCore::cachedResourceTypeToTargetType):
  2915. * platform/network/chromium/ResourceRequest.h:
  2916. 2011-10-17 Dan Bernstein <mitz@apple.com>
  2917. <rdar://problem/10293929> REGRESSION (r97525): iChat transcript has horizontal scroll bar when the conversation includes a wide image
  2918. https://bugs.webkit.org/show_bug.cgi?id=70204
  2919. Reviewed by Darin Adler.
  2920. Reverted r97525, which was supposed to fix <http://webkit.org/b/29447>.
  2921. * rendering/RenderBox.cpp:
  2922. (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
  2923. (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
  2924. * rendering/RenderBox.h:
  2925. 2011-10-17 Ada Chan <adachan@apple.com>
  2926. Export KURL::baseAsString() so it can be called in WebProcessProxy::assumeReadAccessToBaseURL() in WebKit2.
  2927. https://bugs.webkit.org/show_bug.cgi?id=70168
  2928. Reviewed by Alexey Proskuryakov.
  2929. No new tests. There is no change in functionality.
  2930. * WebCore.exp.in: Export KURL::baseAsString().
  2931. 2011-10-17 Ryosuke Niwa <rniwa@webkit.org>
  2932. Touch Internals.cpp to make 64-bit GTK+ build happy.
  2933. * testing/Internals.cpp:
  2934. 2011-10-17 Chris Fleizach <cfleizach@apple.com>
  2935. AX: children() method should be consolidated in AccessibilityObject
  2936. https://bugs.webkit.org/show_bug.cgi?id=70243
  2937. Code cleanup, no new tests.
  2938. Reviewed by Darin Adler.
  2939. * accessibility/AccessibilityObject.cpp:
  2940. (WebCore::AccessibilityObject::children):
  2941. * accessibility/AccessibilityObject.h:
  2942. * accessibility/AccessibilityRenderObject.cpp:
  2943. (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary):
  2944. * accessibility/AccessibilityRenderObject.h:
  2945. * accessibility/AccessibilityScrollView.cpp:
  2946. (WebCore::AccessibilityScrollView::updateChildrenIfNecessary):
  2947. (WebCore::AccessibilityScrollView::updateScrollbars):
  2948. (WebCore::AccessibilityScrollView::addChildren):
  2949. * accessibility/AccessibilityScrollView.h:
  2950. * accessibility/AccessibilitySlider.cpp:
  2951. * accessibility/AccessibilitySlider.h:
  2952. * accessibility/AccessibilityTableColumn.cpp:
  2953. * accessibility/AccessibilityTableColumn.h:
  2954. * accessibility/AccessibilityTableHeaderContainer.cpp:
  2955. * accessibility/AccessibilityTableHeaderContainer.h:
  2956. 2011-10-17 Vsevolod Vlasov <vsevik@chromium.org>
  2957. Web Inspector: Search matches highlighting in text does not work correctly.
  2958. https://bugs.webkit.org/show_bug.cgi?id=70244
  2959. Reviewed by Pavel Feldman.
  2960. Test: inspector/utilities-highlight-results.html
  2961. * inspector/front-end/utilities.js:
  2962. ():
  2963. 2011-10-17 Chris Fleizach <cfleizach@apple.com>
  2964. AX: webkit won't always send live region notifications
  2965. https://bugs.webkit.org/show_bug.cgi?id=70030
  2966. Webkit purposefully does not send live region notifications if some AT client has not accessed the AX tree in between
  2967. the last live region update (ostensibly to improve performance).
  2968. However, this is problematic if a screen reader misses one notification... it has no idea what happened and the only
  2969. recourse is to rescan the page for changes. The correct thing to do is to always send notifications.
  2970. Reviewed by Darin Adler.
  2971. Test: platform/mac/accessibility/aria-liveregions-notifications-always-sent.html
  2972. * accessibility/AccessibilityRenderObject.cpp:
  2973. (WebCore::AccessibilityRenderObject::childrenChanged):
  2974. 2011-10-12 Pavel Podivilov <podivilov@chromium.org>
  2975. Web Inspector: fix handling of source mapping entries with no mapping.
  2976. https://bugs.webkit.org/show_bug.cgi?id=69941
  2977. Reviewed by Pavel Feldman.
  2978. * inspector/front-end/CompilerSourceMapping.js:
  2979. (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappings):
  2980. 2011-10-17 Mikhail Naganov <mnaganov@chromium.org>
  2981. Web Inspector: [Chromium] Add an ability to look up and explore an object from a heap profile.
  2982. https://bugs.webkit.org/show_bug.cgi?id=61179
  2983. This is exteremely helpful when dealing with DOM wrappers, as
  2984. their properties are mostly implemented with getters and thus not
  2985. stored in heap snapshots.
  2986. Reviewed by Pavel Feldman.
  2987. * English.lproj/localizedStrings.js:
  2988. * bindings/js/ScriptProfiler.cpp:
  2989. (WebCore::ScriptProfiler::objectByHeapObjectId):
  2990. * bindings/js/ScriptProfiler.h:
  2991. * bindings/v8/ScriptProfiler.cpp:
  2992. (WebCore::ScriptProfiler::objectByHeapObjectId):
  2993. * bindings/v8/ScriptProfiler.h:
  2994. * inspector/Inspector.json:
  2995. * inspector/InspectorController.cpp:
  2996. (WebCore::InspectorController::InspectorController):
  2997. * inspector/InspectorProfilerAgent.cpp:
  2998. (WebCore::InspectorProfilerAgent::create):
  2999. (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
  3000. (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
  3001. * inspector/InspectorProfilerAgent.h:
  3002. * inspector/front-end/DetailedHeapshotGridNodes.js:
  3003. (WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.queryObjectContent):
  3004. (WebInspector.HeapSnapshotGenericObjectNode):
  3005. (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
  3006. (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent.else.formatResult):
  3007. (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
  3008. (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
  3009. * inspector/front-end/DetailedHeapshotView.js:
  3010. (WebInspector.DetailedHeapshotView.prototype._showObjectPopover):
  3011. * inspector/front-end/HeapSnapshot.js:
  3012. (WebInspector.HeapSnapshotNode.prototype.get canBeQueried):
  3013. (WebInspector.HeapSnapshotNode.prototype.get flags):
  3014. (WebInspector.HeapSnapshotNode.prototype.get isDOMWindow):
  3015. (WebInspector.HeapSnapshot.prototype._init):
  3016. (WebInspector.HeapSnapshot.prototype.dispose):
  3017. (WebInspector.HeapSnapshot.prototype._flagsOfNode):
  3018. (WebInspector.HeapSnapshot.prototype._calculateFlags):
  3019. (WebInspector.HeapSnapshot.prototype.updateStaticData):
  3020. (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
  3021. * inspector/front-end/HeapSnapshotProxy.js:
  3022. (WebInspector.HeapSnapshotProxy.prototype.get nodeFlags):
  3023. * inspector/front-end/RemoteObject.js:
  3024. (WebInspector.RemoteObject.fromError):
  3025. * inspector/front-end/heapProfiler.css:
  3026. (.detailed-heapshot-view tr:not(.selected) td.object-column span.highlight):
  3027. 2011-10-17 Alexander Pavlov <apavlov@chromium.org>
  3028. Web Inspector: Editing CSS selector doesn't fire onResourceContentCommitted
  3029. https://bugs.webkit.org/show_bug.cgi?id=70018
  3030. Reviewed by Yury Semikhatsky.
  3031. Test: inspector/styles/commit-selector.html
  3032. * inspector/front-end/CSSStyleModel.js:
  3033. (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
  3034. (WebInspector.CSSStyleModel.prototype.setRuleSelector):
  3035. 2011-10-17 Andreas Kling <kling@webkit.org>
  3036. CSS/XSLStyleSheet: Remove insert() and remove().
  3037. https://bugs.webkit.org/show_bug.cgi?id=70226
  3038. Reviewed by Antti Koivisto.
  3039. Remove insert() and remove() from XSLStyleSheet. CSSStyleSheet retains remove()
  3040. since it's used by InspectorStyleSheet as well as SVGFontFaceElement.
  3041. * css/CSSStyleSheet.cpp:
  3042. (WebCore::CSSStyleSheet::remove):
  3043. Remove range check. This method is internal to WebKit and the call sites
  3044. already take care of it.
  3045. (WebCore::CSSStyleSheet::insertRule):
  3046. (WebCore::CSSStyleSheet::deleteRule):
  3047. * css/CSSStyleSheet.h:
  3048. * xml/XSLStyleSheet.h:
  3049. 2011-10-17 Rosen Dash <rosen.dash@motorola.com>
  3050. when CSS pseudo selectors are applied (:before and :after) the *-of-line keyboard navigation does not work
  3051. https://bugs.webkit.org/show_bug.cgi?id=10123
  3052. Reviewed by Ryosuke Niwa.
  3053. This patch addresses folllowing two issues:
  3054. 1. When CSS pseudo elements are before or after is used with content attribute containing single character
  3055. at the start/end of text and we try to move cursor by right navigation key, the page freezes falling
  3056. into an infinite loop.
  3057. 2. When these elements try to insert some text between a text line, navigation by right/left arrow key is prohibited.
  3058. Tests: editing/selection/css-pseudo-element-hang.html
  3059. editing/selection/css-pseudo-element.html
  3060. * editing/VisiblePosition.cpp:
  3061. (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
  3062. (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
  3063. 2011-10-15 Antti Koivisto <antti@apple.com>
  3064. Test :visited pseudo class
  3065. https://bugs.webkit.org/show_bug.cgi?id=70219
  3066. Reviewed by Andreas Kling.
  3067. Currently DRT doesn't support :visited. All tests where it should match have wrong checked in results.
  3068. - Make <a href=""> to match :visited in DRT. It already does on browsers. A number of existing tests
  3069. for :visited use it already, the rest can be modified to use it.
  3070. - Make render tree dumps correctly dump the visited state dependent color.
  3071. * css/SelectorChecker.cpp:
  3072. (WebCore::SelectorChecker::determineLinkStateSlowCase):
  3073. * rendering/RenderTreeAsText.cpp:
  3074. (WebCore::RenderTreeAsText::writeRenderObject):
  3075. 2011-10-17 Satish Sampath <satish@chromium.org>
  3076. Avoid leaking document when leaving google.com due to geolocation
  3077. permission request.
  3078. https://bugs.webkit.org/show_bug.cgi?id=58027
  3079. Reviewed by Kenneth Rohde Christiansen.
  3080. * page/Geolocation.cpp:
  3081. (WebCore::Geolocation::Watchers::find): added
  3082. (WebCore::Geolocation::reset): cleared all pending notifiers.
  3083. (WebCore::Geolocation::clearWatch): removed from pending notifier set.
  3084. * page/Geolocation.h:
  3085. (WebCore::Geolocation::Watchers::find): added
  3086. 2011-10-17 Andrei Lavreniyuk <andy.lavr@gmail.com>
  3087. Fix clang WebKitGTK+ build.
  3088. Reviewed by Martin Robinson.
  3089. * plugins/gtk/PluginViewGtk.cpp:
  3090. 2011-10-16 Adam Barth <abarth@webkit.org>
  3091. Always disable ENABLE(ON_FIRST_TEXTAREA_FOCUS_SELECT_ALL) and delete associated code
  3092. https://bugs.webkit.org/show_bug.cgi?id=70216
  3093. Reviewed by Eric Seidel.
  3094. No port enables this feature. It was added for the previous Android
  3095. port (and should have been an editing behavior in any case).
  3096. * html/HTMLTextAreaElement.cpp:
  3097. (WebCore::HTMLTextAreaElement::updateFocusAppearance):
  3098. 2011-10-16 Ryosuke Niwa <rniwa@webkit.org>
  3099. Expose rangeFromLocationAndLength and locationAndLengthFromRange via internals object
  3100. https://bugs.webkit.org/show_bug.cgi?id=68330
  3101. Reviewed by Hajime Morita.
  3102. Add rangeFromLocationAndLength, locationFromRange, and lengthFromRange to window.internals.
  3103. Test: editing/text-iterator/range-to-from-location-and-length.html
  3104. * WebCore.exp.in:
  3105. * testing/Internals.cpp:
  3106. (WebCore::Internals::scrollElementToRect):
  3107. (WebCore::Internals::rangeFromLocationAndLength):
  3108. (WebCore::Internals::locationFromRange):
  3109. (WebCore::Internals::lengthFromRange):
  3110. * testing/Internals.h:
  3111. * testing/Internals.idl:
  3112. 2011-10-16 Kentaro Hara <haraken@chromium.org>
  3113. Generate MessageChannel constructor by [Constructor] IDL
  3114. https://bugs.webkit.org/show_bug.cgi?id=70214
  3115. Reviewed by Adam Barth.
  3116. This patch generates an MessageChannel constructor for JSC by [Constructor] IDL,
  3117. but V8 is still using a custom constructor since the V8 constructor requires special logic.
  3118. Tests: fast/dom/global-constructors.html
  3119. fast/events/message-port.html
  3120. fast/events/message-port-no-wrapper.html
  3121. fast/dom/Window/window-postmessage-args.html
  3122. * bindings/js/JSMessageChannelCustom.cpp: Removed the MessageChannel constructor.
  3123. * dom/MessageChannel.idl: Generates the MessageChannel constructor for JSC.
  3124. 2011-10-16 Ryosuke Niwa <rniwa@webkit.org>
  3125. [Mac] fontForSelection and styleForSelectionStart should be moved to EditorMac
  3126. https://bugs.webkit.org/show_bug.cgi?id=70114
  3127. Reviewed by Hajime Morita.
  3128. Moved fontForSelection and styleForSelectionStart from Editor to EditorMac
  3129. and made styleForSelectionStart static local.
  3130. * editing/Editor.cpp:
  3131. * editing/Editor.h:
  3132. * editing/mac/EditorMac.mm:
  3133. (WebCore::styleForSelectionStart):
  3134. (WebCore::Editor::fontForSelection):
  3135. (WebCore::Editor::fontAttributesForSelectionStart):
  3136. 2011-10-16 Kentaro Hara <haraken@chromium.org>
  3137. Generate EventSource constructor for JSC by [Constructor] IDL
  3138. https://bugs.webkit.org/show_bug.cgi?id=70212
  3139. Reviewed by Adam Barth.
  3140. Removed JSEventSourceCustom.cpp.
  3141. Tests: fast/dom/global-constructors.html
  3142. fast/eventsource/eventsource-constructor.html
  3143. fast/eventsource/eventsource-attribute-listeners.html
  3144. * GNUmakefile.list.am: Removed JSEventSourceCustom.cpp.
  3145. * UseJSC.cmake: Ditto.
  3146. * WebCore.gypi: Ditto.
  3147. * WebCore.pro: Ditto.
  3148. * WebCore.xcodeproj/project.pbxproj: Ditto.
  3149. * bindings/js/JSBindingsAllInOne.cpp: Ditto.
  3150. * bindings/js/JSEventSourceCustom.cpp: Removed this file.
  3151. * page/EventSource.idl: Removed 'JSCustomConstructor' IDL.
  3152. 2011-10-16 David Barr <davidbarr@chromium.org>
  3153. Inline CSSPrimitiveValue::isQuirkValue() as non-virtual function
  3154. https://bugs.webkit.org/show_bug.cgi?id=64865
  3155. Reviewed by Darin Adler.
  3156. Based on profiling and patch from:
  3157. Tamas Czene <Czene.Tamas@stud.u-szeged.hu>
  3158. This is expected to produce a small performance progression.
  3159. Additional memory overhead is avoided by using spare bits.
  3160. CSSQuirkPrimitiveValue is removed as it becomes just a factory.
  3161. * GNUmakefile.list.am:
  3162. * WebCore.gypi:
  3163. * WebCore.order:
  3164. * WebCore.vcproj/WebCore.vcproj:
  3165. * WebCore.xcodeproj/project.pbxproj:
  3166. * css/CSSParser.cpp:
  3167. (WebCore::CSSParser::parseValidPrimitive):
  3168. * css/CSSParserValues.cpp:
  3169. (WebCore::CSSParserValue::createCSSValue):
  3170. * css/CSSPrimitiveValue.cpp:
  3171. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  3172. * css/CSSPrimitiveValue.h:
  3173. (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk):
  3174. Moved from CSSQuirkPrimitiveValue::create.
  3175. (WebCore::CSSPrimitiveValue::isQuirkValue):
  3176. * css/CSSQuirkPrimitiveValue.h: Removed.
  3177. * css/SVGCSSParser.cpp:
  3178. (WebCore::CSSParser::parseSVGValue):
  3179. 2011-10-16 Kentaro Hara <haraken@chromium.org>
  3180. Generate XMLHttpRequest constructor for JSC by [Constructor] IDL
  3181. https://bugs.webkit.org/show_bug.cgi?id=70208
  3182. Reviewed by Adam Barth.
  3183. This patch generates an XMLHttpRequest constructor for JSC by [Constructor] IDL,
  3184. but V8 is still using a custom constructor since the V8 constructor requires a special logic.
  3185. Tests: fast/dom/global-constructors.html
  3186. fast/dom/XMLHttpRequest-constants.html
  3187. fast/dom/xmlhttprequest-constructor-in-detached-document.html
  3188. http/tests/security/cookies/xmlhttprequest.html
  3189. * bindings/js/JSXMLHttpRequestCustom.cpp: Removed an XMLHttpRequest custom constructor.
  3190. * bindings/scripts/CodeGeneratorV8.pm: Currently, CodeGeneratorV8.pm generates constructor code whenever [Constructor] is specified, even if [V8CustomConstructor] is specified. This is wrong. This patch fixes the condition where the constructor code is generated.
  3191. * bindings/scripts/test/V8/V8TestObj.cpp: Updated a run-binding-tests result.
  3192. * xml/XMLHttpRequest.h: Added a necessary header.
  3193. * xml/XMLHttpRequest.idl: V8 is still using a custom constructor.
  3194. 2011-10-16 Kentaro Hara <haraken@chromium.org>
  3195. Generate XSLTProcessor constructor for JSC by [Constructor] IDL.
  3196. https://bugs.webkit.org/show_bug.cgi?id=70206
  3197. Reviewed by Adam Barth.
  3198. Tests: fast/xsl/xslt-processor.html
  3199. fast/xsl/default-html.html
  3200. fast/dom/global-constructors.html
  3201. * bindings/js/JSXSLTProcessorCustom.cpp: Removed a custom constructor.
  3202. * xml/XSLTProcessor.idl: Removed 'JSCustomConstructor'.
  3203. 2011-10-16 Kentaro Hara <haraken@chromium.org>
  3204. Support [Constructor] IDL for JSC.
  3205. https://bugs.webkit.org/show_bug.cgi?id=70101
  3206. Reviewed by Adam Barth.
  3207. The spec for [Constructor] IDL is here: http://www.w3.org/TR/WebIDL/#Constructor
  3208. This patch introduced [Constructor] IDL for JSC. This patch also added
  3209. [ConstructorRaisesException] for JSC. If [ConstructorRaisesException] is specified,
  3210. a placeholder for ExceptionCode is passed to XXX::create(), like XXX::create(..., ec).
  3211. Notes:
  3212. - We do not yet support constructor overloading.
  3213. - We do not yet support [Optional] without CallWithDefaultValue for constructor arguments.
  3214. Tests: Source/WebCore/bindings/scripts/test/TestInterface.idl
  3215. Source/WebCore/bindings/scripts/test/TestObj.idl
  3216. * bindings/scripts/CodeGeneratorJS.pm:
  3217. (GenerateHeader): Generates constructor declaration code to a header file, if a given DOM object has constructor.
  3218. (GenerateImplementation): Uses GenerateArgumentsCountCheck() and GenerateParametersCheck().
  3219. (GenerateArgumentsCountCheck): Splits out of GenerateImplementation() for reuse.
  3220. (GenerateParametersCheck): Splits out of GenerateImplementation() for reuse.
  3221. (GenerateConstructorDefinition): Generates constructor definition code.
  3222. * bindings/scripts/test/JS/JSTestInterface.cpp: Updated the run-binding-tests results.
  3223. (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
  3224. * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
  3225. (WebCore::JSTestInterfaceConstructor::create):
  3226. (WebCore::JSTestInterfaceConstructor::createStructure):
  3227. * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
  3228. (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
  3229. * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: Ditto.
  3230. (WebCore::JSTestMediaQueryListListenerConstructor::create):
  3231. (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
  3232. * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
  3233. (WebCore::jsTestObjPrototypeFunctionVoidMethod):
  3234. (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
  3235. (WebCore::jsTestObjPrototypeFunctionIntMethod):
  3236. (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
  3237. (WebCore::jsTestObjPrototypeFunctionObjMethod):
  3238. (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
  3239. (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
  3240. (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
  3241. (WebCore::jsTestObjPrototypeFunctionSerializedValue):
  3242. (WebCore::jsTestObjPrototypeFunctionIdbKey):
  3243. (WebCore::jsTestObjPrototypeFunctionOptionsObject):
  3244. (WebCore::jsTestObjPrototypeFunctionMethodWithException):
  3245. (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
  3246. (WebCore::jsTestObjPrototypeFunctionAddEventListener):
  3247. (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
  3248. (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
  3249. (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
  3250. (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
  3251. (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
  3252. (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
  3253. (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
  3254. (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
  3255. (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
  3256. (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
  3257. (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
  3258. (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
  3259. (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
  3260. (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
  3261. (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
  3262. (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
  3263. (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
  3264. (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
  3265. (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
  3266. (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
  3267. (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
  3268. (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
  3269. (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
  3270. (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
  3271. (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
  3272. (WebCore::jsTestObjPrototypeFunctionClassMethod):
  3273. (WebCore::jsTestObjPrototypeFunctionClassMethodWithOptional):
  3274. * bindings/scripts/test/JS/JSTestObj.h: Ditto.
  3275. (WebCore::JSTestObjConstructor::create):
  3276. (WebCore::JSTestObjConstructor::createStructure):
  3277. * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
  3278. * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: Ditto.
  3279. (WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
  3280. (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
  3281. 2011-10-16 Dmitry Lomov <dslomov@google.com>
  3282. https://bugs.webkit.org/show_bug.cgi?id=70186
  3283. Pass MessagePortArray to JSC's SerializedScriptValue::serialize/deserialize.
  3284. Reviewed by Oliver Hunt.
  3285. * bindings/js/JSDOMWindowCustom.cpp:
  3286. (WebCore::handlePostMessage):
  3287. (WebCore::JSDOMWindow::postMessage):
  3288. (WebCore::JSDOMWindow::webkitPostMessage):
  3289. * bindings/js/JSDictionary.cpp:
  3290. (WebCore::JSDictionary::convertValue):
  3291. * bindings/js/JSHistoryCustom.cpp:
  3292. (WebCore::JSHistory::pushState):
  3293. (WebCore::JSHistory::replaceState):
  3294. * bindings/js/JSMessageEventCustom.cpp:
  3295. (WebCore::JSMessageEvent::data):
  3296. (WebCore::handleInitMessageEvent):
  3297. (WebCore::JSMessageEvent::initMessageEvent):
  3298. (WebCore::JSMessageEvent::webkitInitMessageEvent):
  3299. * bindings/js/JSMessagePortCustom.h:
  3300. (WebCore::handlePostMessage):
  3301. * bindings/js/JSPopStateEventCustom.cpp:
  3302. (WebCore::JSPopStateEvent::state):
  3303. * bindings/js/ScriptValue.cpp:
  3304. (WebCore::ScriptValue::serialize):
  3305. (WebCore::ScriptValue::deserialize):
  3306. * bindings/js/SerializedScriptValue.cpp:
  3307. (WebCore::SerializedScriptValue::create):
  3308. (WebCore::SerializedScriptValue::deserialize):
  3309. * bindings/js/SerializedScriptValue.h:
  3310. 2011-10-16 Dan Bernstein <mitz@apple.com>
  3311. REGRESSION (r96620): Float-avoiding block positioned incorrectly in right-to-left block
  3312. https://bugs.webkit.org/show_bug.cgi?id=70197
  3313. Reviewed by Dave Kilzer.
  3314. Test: fast/block/float/avoidance-rtl.html
  3315. * rendering/RenderBlock.cpp:
  3316. (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats): Changed
  3317. logicalLeftOffsetForContent() to startOffsetForContent() to get the right value in the
  3318. right-to-left case.
  3319. 2011-10-16 Adam Barth <abarth@webkit.org>
  3320. Always enable ENABLE(DOM_STORAGE)
  3321. https://bugs.webkit.org/show_bug.cgi?id=70189
  3322. Reviewed by Eric Seidel.
  3323. As discussed on webkit-dev, we are reducing the complexity of WebKit by
  3324. removing unnecessary configuration options. DOMStorage is not a core
  3325. part of the web platform. It should always be enabled.
  3326. * CMakeLists.txt:
  3327. * Configurations/FeatureDefines.xcconfig:
  3328. * GNUmakefile.am:
  3329. * GNUmakefile.list.am:
  3330. * UseJSC.cmake:
  3331. * WebCore.exp.in:
  3332. * WebCore.pro:
  3333. * bindings/js/JSEventCustom.cpp:
  3334. * bindings/js/JSInjectedScriptHostCustom.cpp:
  3335. * bindings/js/JSStorageCustom.cpp:
  3336. * bindings/v8/custom/V8EventCustom.cpp:
  3337. (WebCore::toV8):
  3338. * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
  3339. (WebCore::V8InjectedScriptHost::storageIdCallback):
  3340. * bindings/v8/custom/V8StorageCustom.cpp:
  3341. * dom/Document.cpp:
  3342. (WebCore::Document::createEvent):
  3343. * dom/Event.cpp:
  3344. (WebCore::Event::isStorageEvent):
  3345. * dom/Event.h:
  3346. * dom/Node.cpp:
  3347. * features.pri:
  3348. * inspector/InjectedScriptHost.cpp:
  3349. (WebCore::InjectedScriptHost::InjectedScriptHost):
  3350. (WebCore::InjectedScriptHost::disconnect):
  3351. (WebCore::InjectedScriptHost::storageIdImpl):
  3352. * inspector/InjectedScriptHost.h:
  3353. (WebCore::InjectedScriptHost::init):
  3354. * inspector/InspectorController.cpp:
  3355. (WebCore::InspectorController::InspectorController):
  3356. (WebCore::InspectorController::connectFrontend):
  3357. (WebCore::InspectorController::disconnectFrontend):
  3358. (WebCore::InspectorController::restoreInspectorStateFromCookie):
  3359. * inspector/InspectorController.h:
  3360. * inspector/InspectorDOMStorageAgent.cpp:
  3361. * inspector/InspectorDOMStorageResource.cpp:
  3362. * inspector/InspectorDOMStorageResource.h:
  3363. * inspector/InspectorInstrumentation.cpp:
  3364. (WebCore::InspectorInstrumentation::didCommitLoadImpl):
  3365. (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
  3366. * inspector/InspectorInstrumentation.h:
  3367. (WebCore::InspectorInstrumentation::didUseDOMStorage):
  3368. * inspector/InstrumentingAgents.h:
  3369. (WebCore::InstrumentingAgents::InstrumentingAgents):
  3370. * inspector/WorkerInspectorController.cpp:
  3371. (WebCore::WorkerInspectorController::WorkerInspectorController):
  3372. (WebCore::WorkerInspectorController::connectFrontend):
  3373. * inspector/generate-inspector-idl:
  3374. * page/Chrome.cpp:
  3375. * page/DOMWindow.cpp:
  3376. (WebCore::DOMWindow::~DOMWindow):
  3377. (WebCore::DOMWindow::clear):
  3378. (WebCore::DOMWindow::localStorage):
  3379. * page/DOMWindow.h:
  3380. * page/DOMWindow.idl:
  3381. * page/Navigator.cpp:
  3382. (WebCore::Navigator::getStorageUpdates):
  3383. * page/Navigator.h:
  3384. * page/Navigator.idl:
  3385. * page/Page.cpp:
  3386. * page/Page.h:
  3387. * page/PageGroup.cpp:
  3388. (WebCore::PageGroup::closeLocalStorage):
  3389. * page/PageGroup.h:
  3390. * page/Settings.cpp:
  3391. (WebCore::Settings::Settings):
  3392. (WebCore::Settings::setSessionStorageQuota):
  3393. * page/Settings.h:
  3394. (WebCore::Settings::sessionStorageQuota):
  3395. * storage/LocalStorageTask.cpp:
  3396. * storage/LocalStorageTask.h:
  3397. * storage/LocalStorageThread.cpp:
  3398. * storage/LocalStorageThread.h:
  3399. * storage/Storage.cpp:
  3400. * storage/Storage.h:
  3401. * storage/Storage.idl:
  3402. * storage/StorageArea.h:
  3403. * storage/StorageAreaImpl.cpp:
  3404. * storage/StorageAreaImpl.h:
  3405. * storage/StorageAreaSync.cpp:
  3406. (WebCore::StorageAreaSync::scheduleSync):
  3407. * storage/StorageAreaSync.h:
  3408. * storage/StorageEvent.cpp:
  3409. * storage/StorageEvent.h:
  3410. * storage/StorageEvent.idl:
  3411. * storage/StorageEventDispatcher.cpp:
  3412. * storage/StorageEventDispatcher.h:
  3413. * storage/StorageMap.cpp:
  3414. * storage/StorageMap.h:
  3415. * storage/StorageNamespace.cpp:
  3416. * storage/StorageNamespace.h:
  3417. * storage/StorageNamespaceImpl.cpp:
  3418. * storage/StorageNamespaceImpl.h:
  3419. * storage/StorageSyncManager.cpp:
  3420. (WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase):
  3421. * storage/StorageSyncManager.h:
  3422. * storage/StorageTracker.cpp:
  3423. * storage/StorageTracker.h:
  3424. 2011-10-15 Adam Barth <abarth@webkit.org>
  3425. Rename ENABLE(SKIA_TEXT) to USE(SKIA_TEXT)
  3426. https://bugs.webkit.org/show_bug.cgi?id=70191
  3427. Reviewed by Daniel Bates.
  3428. SKIA_TEXT is not a WebKit feature. It's a macro that determines
  3429. whether we use a feature of the underly library (Skia).
  3430. * platform/graphics/chromium/FontChromiumWin.cpp:
  3431. (WebCore::Font::drawComplexText):
  3432. * platform/graphics/chromium/UniscribeHelper.cpp:
  3433. (WebCore::UniscribeHelper::draw):
  3434. * platform/graphics/skia/PlatformContextSkia.cpp:
  3435. (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
  3436. * platform/graphics/skia/PlatformContextSkia.h:
  3437. * platform/graphics/skia/SkiaFontWin.cpp:
  3438. * platform/graphics/skia/SkiaFontWin.h:
  3439. 2011-10-15 Eric Carlson <eric.carlson@apple.com>
  3440. Make VIDEO_TRACK compile with warnings as errors enabled
  3441. https://bugs.webkit.org/show_bug.cgi?id=70188
  3442. Reviewed by Filip Pizlo.
  3443. No new tests, no functionality changed.
  3444. * html/TextTrackCueList.h: Fix an include.
  3445. * html/track/CueParser.cpp:
  3446. (WebCore::CueParser::supportsType): Remove unused param.
  3447. * html/track/CueParser.h:
  3448. (WebCore::CueParserClient::~CueParserClient): Add virtual destructor.
  3449. * html/track/CueParserPrivate.h:
  3450. (WebCore::CueParserPrivateClient::~CueParserPrivateClient): Ditto.
  3451. * loader/CueLoader.h:
  3452. (WebCore::CueLoaderClient::~CueLoaderClient): Ditto.
  3453. (WebCore::CueLoader::~CueLoader): Ditto.
  3454. 2011-10-15 Adam Barth <abarth@webkit.org>
  3455. Rename ENABLE(TILED_BACKING_STORE) to USE(TILED_BACKING_STORE)
  3456. https://bugs.webkit.org/show_bug.cgi?id=70194
  3457. Reviewed by Daniel Bates.
  3458. TILED_BACKING_STORE isn't a web platform feature. It's an
  3459. implementation strategy for WebKit that's used by some ports
  3460. and not by others.
  3461. * features.pri:
  3462. * loader/EmptyClients.h:
  3463. * page/Chrome.cpp:
  3464. * page/Chrome.h:
  3465. * page/ChromeClient.h:
  3466. * page/Frame.cpp:
  3467. (WebCore::Frame::Frame):
  3468. (WebCore::Frame::setView):
  3469. * page/Frame.h:
  3470. * page/FrameView.cpp:
  3471. (WebCore::FrameView::repaintContentRectangle):
  3472. (WebCore::FrameView::doDeferredRepaints):
  3473. * page/Settings.cpp:
  3474. (WebCore::Settings::setTiledBackingStoreEnabled):
  3475. * platform/HostWindow.h:
  3476. * platform/ScrollView.cpp:
  3477. (WebCore::ScrollView::setScrollPosition):
  3478. * platform/graphics/Tile.h:
  3479. * platform/graphics/TiledBackingStore.cpp:
  3480. * platform/graphics/TiledBackingStore.h:
  3481. * platform/graphics/TiledBackingStoreBackend.h:
  3482. * platform/graphics/TiledBackingStoreClient.h:
  3483. * platform/graphics/qt/GraphicsLayerQt.cpp:
  3484. (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
  3485. (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
  3486. (WebCore::GraphicsLayerQtImpl::recache):
  3487. (WebCore::GraphicsLayerQtImpl::paint):
  3488. * platform/graphics/qt/TileQt.cpp:
  3489. * platform/graphics/qt/TileQt.h:
  3490. * platform/graphics/texmap/TextureMapperNode.cpp:
  3491. (WebCore::TextureMapperNode::computeTiles):
  3492. (WebCore::TextureMapperNode::renderContent):
  3493. (WebCore::TextureMapperNode::paintSelf):
  3494. (WebCore::TextureMapperNode::syncCompositingStateSelf):
  3495. * platform/graphics/texmap/TextureMapperNode.h:
  3496. (WebCore::TextureMapperNode::State::State):
  3497. 2011-10-15 Adam Barth <abarth@webkit.org>
  3498. Remove the last remnant of WBXML
  3499. https://bugs.webkit.org/show_bug.cgi?id=70187
  3500. Reviewed by Daniel Bates.
  3501. The bulk of the WBXML code was removed in 2009, but we missed one block.
  3502. * platform/wince/MIMETypeRegistryWinCE.cpp:
  3503. (WebCore::initMIMETypeEntensionMap):
  3504. 2011-10-15 Darin Adler <darin@apple.com>
  3505. REGRESSION(r97533): fast/forms/select-script-onchange.html failed after
  3506. https://bugs.webkit.org/show_bug.cgi?id=70173
  3507. Reviewed by Ryosuke Niwa.
  3508. * html/HTMLSelectElement.cpp:
  3509. (WebCore::HTMLSelectElement::setValue): Removed unneeded boolean argument
  3510. [true for deselect].
  3511. (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Added explicit
  3512. boolean arguments for all calls to setSelectedIndex to restore pre-r97533
  3513. behavior.
  3514. (WebCore::HTMLSelectElement::typeAheadFind): Ditto.
  3515. (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Ditto.
  3516. * html/HTMLSelectElement.h:
  3517. Removed default of true for userDrivenChange. Each caller should pass it
  3518. explicitly. Longer term we should use an enum instead of a boolean or find
  3519. some other way of avoiding the argument.
  3520. (WebCore::HTMLSelectElement::setSelectedIndex):
  3521. Pass false for userDrivenChange as the old code did pre-r97533.
  3522. 2011-10-15 Laszlo Gombos <laszlo.1.gombos@nokia.com>
  3523. [Qt] [Symbian] Remove support for the Symbian platform for the QtWebKit port
  3524. https://bugs.webkit.org/show_bug.cgi?id=69920
  3525. Reviewed by Kenneth Rohde Christiansen.
  3526. No new tests as there is no new functionality.
  3527. * WebCore.gypi:
  3528. * WebCore.pri:
  3529. * WebCore.pro:
  3530. * bindings/v8/V8GCController.cpp:
  3531. (WebCore::V8GCController::checkMemoryUsage):
  3532. * config.h:
  3533. * css/CSSPrimitiveValueMappings.h:
  3534. (WebCore::CSSPrimitiveValue::operator int):
  3535. * features.pri:
  3536. * page/NavigatorBase.cpp:
  3537. * platform/graphics/qt/GraphicsContextQt.cpp:
  3538. (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
  3539. * platform/network/qt/ResourceRequestQt.cpp:
  3540. (WebCore::initializeMaximumHTTPConnectionCountPerHost):
  3541. * platform/text/qt/TextCodecQt.cpp:
  3542. (WebCore::TextCodecQt::decode):
  3543. * plugins/PluginDatabase.cpp:
  3544. * plugins/PluginPackage.cpp:
  3545. (WebCore::PluginPackage::unload):
  3546. * plugins/PluginPackage.h:
  3547. (WebCore::PluginPackage::version):
  3548. * plugins/PluginView.cpp:
  3549. (WebCore::PluginView::setFrameRect):
  3550. * plugins/PluginView.h:
  3551. * plugins/npapi.h:
  3552. * plugins/symbian: Removed.
  3553. * plugins/symbian/PluginContainerSymbian.cpp: Removed.
  3554. * plugins/symbian/PluginContainerSymbian.h: Removed.
  3555. * plugins/symbian/PluginDatabaseSymbian.cpp: Removed.
  3556. * plugins/symbian/PluginPackageSymbian.cpp: Removed.
  3557. * plugins/symbian/PluginViewSymbian.cpp: Removed.
  3558. * plugins/symbian/npinterface.h: Removed.
  3559. 2011-10-08 Robert Hogan <robert@webkit.org>
  3560. CSS 2.1 failure: height-width-table-001.htm
  3561. https://bugs.webkit.org/show_bug.cgi?id=69709
  3562. Reviewed by Simon Fraser.
  3563. CSS 2.1 expects CSS table elements to treat fixed height/width as
  3564. excluding table borders, but HTML table elements to treat fixed height/width as
  3565. including them.
  3566. See http://lists.w3.org/Archives/Public/www-style/2011Jan/0178.html
  3567. http://lists.w3.org/Archives/Public/public-css-testsuite/2011Oct/0005.html
  3568. It looks like some clarification is pending in the specs, but the new behaviour
  3569. lets WebKit pass the following tests in the suite CSS and also match FF:
  3570. height-width-table-001.htm
  3571. height-width-inline-table-001.htm
  3572. abspos-containing-block-initial-004d.htm
  3573. * rendering/RenderTable.cpp:
  3574. (WebCore::RenderTable::computeLogicalWidth):
  3575. (WebCore::RenderTable::layout):
  3576. 2011-10-15 Darin Adler <darin@apple.com>
  3577. Make toHTMLElement fail to compile if you try to use it on an HTMLElement*
  3578. https://bugs.webkit.org/show_bug.cgi?id=70164
  3579. Reviewed by Adam Barth.
  3580. Refactoring covered by existing tests.
  3581. * bindings/js/JSHTMLFrameSetElementCustom.cpp:
  3582. (WebCore::JSHTMLFrameSetElement::nameGetter): Removed unneeded casts and
  3583. some unneeded local variables as well. Changed the name of the local variable
  3584. for the HTMLFrameElement to frameElement to avoid confusion with the Frame.
  3585. * dom/Document.cpp:
  3586. (WebCore::Document::openSearchDescriptionURL): Removed unneeded HTMLElement
  3587. check; we can call hasTagName directly on a Node and that takes care of
  3588. checking both that it's an HTMLElement and checking the tag name.
  3589. * dom/MicroDataItemList.cpp:
  3590. (WebCore::MicroDataItemList::nodeMatches): Use toHTMLElement instead of
  3591. a cast. Also changed hasAttribute calls to fastHasAttribute and getAttribute
  3592. calls to fastGetAttribute since these are neither style attributes nor SVG
  3593. animatables.
  3594. * editing/ApplyStyleCommand.cpp:
  3595. (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Use toHTMLElement.
  3596. (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Ditto.
  3597. * editing/DeleteButtonController.cpp:
  3598. (WebCore::DeleteButtonController::show): Removed unneeded toHTMLElement call.
  3599. * html/HTMLElement.cpp:
  3600. (WebCore::HTMLElement::setOuterHTML): Use toHTMLElement.
  3601. * html/HTMLElement.h: Added toHTMLElement overload to catch calls when the
  3602. pointer is already HTMLElement* or a pointer to a class derived from it.
  3603. * html/HTMLSelectElement.cpp:
  3604. (WebCore::HTMLSelectElement::recalcListItems): Use toHTMLElement.
  3605. * html/HTMLTextAreaElement.cpp:
  3606. (WebCore::HTMLTextAreaElement::innerTextElement): Use toHTMLElement.
  3607. 2011-10-15 Antoine Labour <piman@chromium.org>
  3608. Add WebAcceleratedContentLayer backed by a texture to support accelerated content hosting
  3609. https://bugs.webkit.org/show_bug.cgi?id=70084
  3610. Reviewed by James Robinson.
  3611. Covered by existing compositing/ tests
  3612. * platform/graphics/chromium/LayerChromium.h:
  3613. * platform/graphics/chromium/LayerRendererChromium.cpp:
  3614. (WebCore::LayerRendererChromium::pluginLayerProgramFlip):
  3615. (WebCore::LayerRendererChromium::cleanupSharedObjects):
  3616. * platform/graphics/chromium/LayerRendererChromium.h:
  3617. * platform/graphics/chromium/PluginLayerChromium.cpp:
  3618. (WebCore::PluginLayerChromium::PluginLayerChromium):
  3619. (WebCore::PluginLayerChromium::setTextureId):
  3620. (WebCore::PluginLayerChromium::setFlipped):
  3621. (WebCore::PluginLayerChromium::pushPropertiesTo):
  3622. * platform/graphics/chromium/PluginLayerChromium.h:
  3623. (WebCore::PluginLayerChromium::flipped):
  3624. * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
  3625. (WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
  3626. (WebCore::CCPluginLayerImpl::draw):
  3627. * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
  3628. (WebCore::CCPluginLayerImpl::setFlipped):
  3629. 2011-10-15 Michael Nordman <michaeln@google.com>
  3630. [Chromium] Some WebSQLDatabase in worker bug fixes.
  3631. https://bugs.webkit.org/show_bug.cgi?id=70071
  3632. - Test for a NULL webView WebWorkerClientImpl.
  3633. - Avoid altering Database instance lifetimes during WorkerThread::stop().
  3634. Existing tests coverage applies.
  3635. Reviewed by David Levin.
  3636. * storage/chromium/DatabaseTrackerChromium.cpp:
  3637. (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
  3638. 2011-10-14 Adam Barth <abarth@webkit.org>
  3639. Update expected results.
  3640. * bindings/scripts/test/V8/V8TestObj.cpp:
  3641. (WebCore::TestObjInternal::serializedValueCallback):
  3642. 2011-10-14 Ryosuke Niwa <rniwa@webkit.org>
  3643. GTK build fix after r97533.
  3644. * accessibility/gtk/AXObjectCacheAtk.cpp:
  3645. (WebCore::notifyChildrenSelectionChange):
  3646. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
  3647. (optionFromSelection):
  3648. (webkit_accessible_selection_get_selection_count):
  3649. 2011-10-14 David Kilzer <ddkilzer@apple.com>
  3650. <http://webkit.org/b/70158> Fix clang compiler warnings
  3651. Reviewed by Darin Adler.
  3652. * dom/ViewportArguments.cpp:
  3653. (WebCore::computeViewportAttributes): Use std::max<float>()
  3654. instead of std::max().
  3655. 2011-10-14 Mark Hahnenberg <mhahnenberg@apple.com>
  3656. Rename getOwnPropertySlot to getOwnPropertySlotVirtual
  3657. https://bugs.webkit.org/show_bug.cgi?id=69810
  3658. Reviewed by Geoffrey Garen.
  3659. No new tests.
  3660. Renamed the virtual version of getOwnPropertySlot to getOwnPropertySlotVirtual
  3661. in preparation for when we add the static getOwnPropertySlot to the MethodTable
  3662. in ClassInfo.
  3663. Also added a few static getOwnPropertySlot functions where they had been overlooked
  3664. before (especially in CodeGeneratorJS.pm).
  3665. * WebCore.exp.in:
  3666. * bindings/js/JSDOMWindowCustom.cpp:
  3667. (WebCore::JSDOMWindow::getOwnPropertySlotVirtual):
  3668. (WebCore::JSDOMWindow::getOwnPropertySlot):
  3669. (WebCore::DialogHandler::returnValue):
  3670. * bindings/js/JSDOMWindowShell.cpp:
  3671. (WebCore::JSDOMWindowShell::getOwnPropertySlotVirtual):
  3672. (WebCore::JSDOMWindowShell::getOwnPropertySlot):
  3673. * bindings/js/JSDOMWindowShell.h:
  3674. * bindings/js/JSWorkerContextCustom.cpp:
  3675. (WebCore::JSWorkerContext::getOwnPropertySlotDelegate):
  3676. * bindings/js/SerializedScriptValue.cpp:
  3677. (WebCore::CloneSerializer::getSparseIndex):
  3678. (WebCore::CloneSerializer::getProperty):
  3679. * bindings/scripts/CodeGeneratorJS.pm:
  3680. (GenerateGetOwnPropertySlotBody):
  3681. (GenerateHeader):
  3682. (GenerateImplementation):
  3683. (GenerateConstructorDeclaration):
  3684. (GenerateConstructorDefinition):
  3685. * bindings/scripts/test/JS/JSTestInterface.cpp:
  3686. (WebCore::JSTestInterfaceConstructor::getOwnPropertySlotVirtual):
  3687. (WebCore::JSTestInterfaceConstructor::getOwnPropertySlot):
  3688. (WebCore::JSTestInterface::getOwnPropertySlotVirtual):
  3689. (WebCore::JSTestInterface::getOwnPropertySlot):
  3690. * bindings/scripts/test/JS/JSTestInterface.h:
  3691. * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  3692. (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertySlotVirtual):
  3693. (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertySlot):
  3694. (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlotVirtual):
  3695. (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot):
  3696. (WebCore::JSTestMediaQueryListListener::getOwnPropertySlotVirtual):
  3697. (WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
  3698. * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
  3699. * bindings/scripts/test/JS/JSTestObj.cpp:
  3700. (WebCore::JSTestObjConstructor::getOwnPropertySlotVirtual):
  3701. (WebCore::JSTestObjConstructor::getOwnPropertySlot):
  3702. (WebCore::JSTestObjPrototype::getOwnPropertySlotVirtual):
  3703. (WebCore::JSTestObjPrototype::getOwnPropertySlot):
  3704. (WebCore::JSTestObj::getOwnPropertySlotVirtual):
  3705. (WebCore::JSTestObj::getOwnPropertySlot):
  3706. * bindings/scripts/test/JS/JSTestObj.h:
  3707. * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  3708. (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlotVirtual):
  3709. (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlot):
  3710. (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlotVirtual):
  3711. (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
  3712. * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
  3713. * bridge/objc/objc_runtime.h:
  3714. * bridge/objc/objc_runtime.mm:
  3715. (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlotVirtual):
  3716. * bridge/qt/qt_instance.cpp:
  3717. (JSC::Bindings::QtInstance::getOwnPropertySlot):
  3718. * bridge/qt/qt_runtime.cpp:
  3719. (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertySlotVirtual):
  3720. (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertySlotVirtual):
  3721. * bridge/qt/qt_runtime.h:
  3722. * bridge/runtime_array.cpp:
  3723. (JSC::RuntimeArray::getOwnPropertySlotVirtual):
  3724. * bridge/runtime_array.h:
  3725. * bridge/runtime_method.cpp:
  3726. (JSC::RuntimeMethod::getOwnPropertySlotVirtual):
  3727. * bridge/runtime_method.h:
  3728. * bridge/runtime_object.cpp:
  3729. (JSC::Bindings::RuntimeObject::getOwnPropertySlotVirtual):
  3730. * bridge/runtime_object.h:
  3731. 2011-10-14 Ryosuke Niwa <rniwa@webkit.org>
  3732. Windows build fix attempt after r97533.
  3733. * html/HTMLSelectElementWin.cpp:
  3734. (WebCore::HTMLSelectElement::platformHandleKeydownEvent):
  3735. 2011-10-14 Darin Adler <darin@apple.com>
  3736. Follow up the recent HTMLSelectElement improvements with a little bit more
  3737. https://bugs.webkit.org/show_bug.cgi?id=70139
  3738. Reviewed by Ryosuke Niwa.
  3739. Refactoring, covered by existing tests.
  3740. Mostly, this adds a toHTMLSelectElement and uses it wherever possible.
  3741. * accessibility/AccessibilityListBox.cpp:
  3742. (WebCore::AccessibilityListBox::canSetSelectedChildrenAttribute): Use toHTMLSelectElement.
  3743. (WebCore::AccessibilityListBox::addChildren): Ditto. Also removed unneeded toHTMLElement.
  3744. * accessibility/AccessibilityMenuListPopup.cpp:
  3745. (WebCore::AccessibilityMenuListPopup::addChildren): Ditto.
  3746. * accessibility/AccessibilityRenderObject.cpp:
  3747. (WebCore::AccessibilityRenderObject::isMultiSelectable): Ditto.
  3748. (WebCore::AccessibilityRenderObject::stringValue): Removed checks on the type of the
  3749. underlying node, since other code already assumes that a menu list renderer is only
  3750. created for a select element. Streamlined the code a bit and removed some unneeded
  3751. local variables.
  3752. * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
  3753. (WebCore::JSHTMLOptionsCollection::indexSetter): Use toHTMLSelectElement.
  3754. * bindings/js/JSHTMLSelectElementCustom.cpp:
  3755. (WebCore::JSHTMLSelectElement::remove): Ditto.
  3756. (WebCore::JSHTMLSelectElement::indexSetter): Ditto.
  3757. * editing/FrameSelection.cpp:
  3758. (WebCore::FrameSelection::selectAll): Ditto.
  3759. * html/HTMLKeygenElement.cpp:
  3760. (WebCore::HTMLKeygenElement::shadowSelect): Ditto.
  3761. * html/HTMLOptGroupElement.cpp:
  3762. (WebCore::HTMLOptGroupElement::recalcSelectOptions): Ditto.
  3763. (WebCore::HTMLOptGroupElement::ownerSelectElement): Ditto.
  3764. * html/HTMLOptionElement.cpp:
  3765. (WebCore::HTMLOptionElement::selected): Changed code to call renamed
  3766. updateListItemSelectedStates rather than the confusing old name
  3767. recalcListItemsIfNeeded.
  3768. (WebCore::HTMLOptionElement::childrenChanged): Changed to call
  3769. optionElementChildrenChanged rather than calling childrenChanged,
  3770. because the children of the select element did not change!
  3771. (WebCore::HTMLOptionElement::ownerSelectElement): Use toHTMLSelectElement.
  3772. * html/HTMLOptionsCollection.cpp:
  3773. (WebCore::HTMLOptionsCollection::add): Use toHTMLSelectElement.
  3774. (WebCore::HTMLOptionsCollection::remove): Use toHTMLSelectElement.
  3775. (WebCore::HTMLOptionsCollection::selectedIndex): Use toHTMLSelectElement.
  3776. (WebCore::HTMLOptionsCollection::setSelectedIndex): Use toHTMLSelectElement.
  3777. (WebCore::HTMLOptionsCollection::setLength): Use toHTMLSelectElement.
  3778. * html/HTMLSelectElement.cpp:
  3779. (WebCore::HTMLSelectElement::setSelectedIndexByUser): Call setSelectedIndex
  3780. without the now-unneeded internal suffix.
  3781. (WebCore::HTMLSelectElement::parseMappedAttribute): When the code says that
  3782. we should "determine selectedness of the items", call updateListItemSelectedStates
  3783. rather than the confusingly named recalcListItemsIfNeeded.
  3784. (WebCore::HTMLSelectElement::updateListItemSelectedStates): Renamed
  3785. recalcListItemsIfNeeded to this, since that's what this function is for.
  3786. (WebCore::HTMLSelectElement::optionElementChildrenChanged): Added. Does
  3787. the same work as childrenChanged, although it does not call up to the
  3788. base class childrenChanged function. Later we might find we can remove
  3789. some of the work here, for example it's not clear we should call the
  3790. accessibility childrenChanged function.
  3791. (WebCore::HTMLSelectElement::nextValidIndex): Changed this to a member function
  3792. and made it get the list items itself rather than requiring they be passed in.
  3793. (WebCore::HTMLSelectElement::nextSelectableListIndex): Updated for change to
  3794. nextValidIndex.
  3795. (WebCore::HTMLSelectElement::previousSelectableListIndex): Ditto.
  3796. (WebCore::HTMLSelectElement::firstSelectableListIndex): Ditto.
  3797. (WebCore::HTMLSelectElement::lastSelectableListIndex): Ditto.
  3798. (WebCore::HTMLSelectElement::nextSelectableListIndexPageAway): Ditto.
  3799. (WebCore::HTMLSelectElement::listItems): Removed unneeded const_cast, since
  3800. recalcListItems is now a const member function. Call recalcListItems by that
  3801. name instead of recalcListItemsInternal.
  3802. (WebCore::HTMLSelectElement::recalcListItems): Renamed from recalcListItemsInternal
  3803. and made this a const member function. The data members that this needs to modify
  3804. are now mutable.
  3805. (WebCore::HTMLSelectElement::setSelectedIndex): Renamed from setSelectedIndexInternal.
  3806. Changed call to updateValidity to instead call setNeedsValidityCheck, since both
  3807. do the same thing.
  3808. (WebCore::HTMLSelectElement::parseMultipleAttribute): Ditto.
  3809. (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Updated for change to
  3810. nextValidIndex, removed unneeded comparison with zero that's already handled by
  3811. casting to an unsigned type, and use setSelectedIndex instead of using
  3812. setSelectedIndexInternal since they are both the same thing.
  3813. (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Removed another unneeded
  3814. comparision with zero that's handled by casting to an unsigned type.
  3815. (WebCore::HTMLSelectElement::lastSelectedListIndex): Use size_t instead of unsigned
  3816. for a vector index.
  3817. (WebCore::HTMLSelectElement::typeAheadFind): Use setSelectedIndex instead of
  3818. setSelectedIndexInternal.
  3819. (WebCore::HTMLSelectElement::insertedIntoTree): Removed unneeded explicit boolean
  3820. when calling a function that already has a default value of true.
  3821. (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Use setSelectedIndex
  3822. instead of setSelectedIndexInternal.
  3823. * html/HTMLSelectElement.h: Made childrenChanged private. Added
  3824. optionElementChildrenChanged. Renamed recalcListItemsIfNeeded to the clearer
  3825. updateListItemSelectedStates. Removed unused listBoxSelectItem. Removed
  3826. updateValidity after changing all callers to instead call setNeedsValidityCheck.
  3827. Made canSelectAll and selectAll non-virtual. Removed recalcListItemsInternal
  3828. since it's the same thing as recalcListItems now. Renamed setSelectedIndexInternal
  3829. to setSelectedIndex since it's the same function, just with a few arguments we
  3830. don't want to allow outside callers to pass. Changed nextValidIndex into a
  3831. non-static member function. Made m_listItems and m_shouldRecalcListItems mutable.
  3832. Added a toHTMLSelectElement function, modeled on the toElement function.
  3833. * html/ValidityState.cpp:
  3834. (WebCore::ValidityState::valueMissing): Use toHTMLSelectElement.
  3835. * rendering/RenderListBox.cpp:
  3836. (WebCore::RenderListBox::updateFromElement): Ditto.
  3837. (WebCore::RenderListBox::scrollToRevealSelection): Ditto.
  3838. (WebCore::RenderListBox::size): Ditto.
  3839. (WebCore::RenderListBox::numItems): Ditto.
  3840. (WebCore::RenderListBox::addFocusRingRects): Ditto.
  3841. (WebCore::RenderListBox::paintItemForeground): Ditto.
  3842. (WebCore::RenderListBox::paintItemBackground): Ditto.
  3843. (WebCore::RenderListBox::panScroll): Ditto.
  3844. (WebCore::RenderListBox::autoscroll): Ditto.
  3845. (WebCore::RenderListBox::stopAutoscroll): Ditto.
  3846. (WebCore::RenderListBox::valueChanged): Ditto.
  3847. (WebCore::RenderListBox::nodeAtPoint): Ditto.
  3848. * rendering/RenderMenuList.cpp:
  3849. (WebCore::RenderMenuList::updateOptionsWidth): Ditto.
  3850. (WebCore::RenderMenuList::updateFromElement): Ditto.
  3851. (WebCore::RenderMenuList::setTextFromOption): Ditto.
  3852. (WebCore::RenderMenuList::showPopup): Ditto.
  3853. (WebCore::RenderMenuList::valueChanged): Ditto.
  3854. (WebCore::RenderMenuList::listBoxSelectItem): Ditto.
  3855. (WebCore::RenderMenuList::multiple): Ditto.
  3856. (WebCore::RenderMenuList::didSetSelectedIndex): Ditto.
  3857. (WebCore::RenderMenuList::didUpdateActiveOption): Ditto.
  3858. (WebCore::RenderMenuList::itemText): Ditto.
  3859. (WebCore::RenderMenuList::itemAccessibilityText): Ditto.
  3860. (WebCore::RenderMenuList::itemToolTip): Ditto.
  3861. (WebCore::RenderMenuList::itemIsEnabled): Ditto. Also use the
  3862. disabled function instead of the virtual isEnabledFormControl
  3863. function to check if the optgroup is enabled.
  3864. (WebCore::RenderMenuList::itemStyle): Ditto.
  3865. (WebCore::RenderMenuList::itemBackgroundColor): Ditto.
  3866. (WebCore::RenderMenuList::listSize): Ditto.
  3867. (WebCore::RenderMenuList::selectedIndex): Ditto.
  3868. (WebCore::RenderMenuList::itemIsSeparator): Ditto.
  3869. (WebCore::RenderMenuList::itemIsLabel): Ditto.
  3870. (WebCore::RenderMenuList::itemIsSelected): Ditto.
  3871. (WebCore::RenderMenuList::setTextFromItem): Ditto.
  3872. 2011-10-14 Mark Hahnenberg <mhahnenberg@apple.com>
  3873. Rename virtual put to putVirtual
  3874. https://bugs.webkit.org/show_bug.cgi?id=69851
  3875. Reviewed by Darin Adler.
  3876. No new tests.
  3877. Renamed virtual versions of put to putVirtual in prepration for
  3878. adding the static put to the MethodTable in ClassInfo since the
  3879. compiler gets mad if the virtual and static versions have the same
  3880. name.
  3881. * WebCore.exp.in:
  3882. * bindings/js/JSDOMWindowCustom.cpp:
  3883. (WebCore::JSDOMWindow::putVirtual):
  3884. * bindings/js/JSDOMWindowShell.cpp:
  3885. (WebCore::JSDOMWindowShell::putVirtual):
  3886. * bindings/js/JSDOMWindowShell.h:
  3887. * bindings/js/JSLocationCustom.cpp:
  3888. (WebCore::JSLocation::putDelegate):
  3889. * bindings/js/JSPluginElementFunctions.cpp:
  3890. (WebCore::runtimeObjectCustomPut):
  3891. * bindings/js/SerializedScriptValue.cpp:
  3892. (WebCore::CloneDeserializer::putProperty):
  3893. * bindings/objc/WebScriptObject.mm:
  3894. (-[WebScriptObject setValue:forKey:]):
  3895. (-[WebScriptObject setWebScriptValueAtIndex:value:]):
  3896. * bindings/scripts/CodeGeneratorJS.pm:
  3897. (GenerateHeader):
  3898. (GenerateImplementation):
  3899. * bindings/scripts/test/JS/JSTestObj.cpp:
  3900. (WebCore::JSTestObj::putVirtual):
  3901. * bindings/scripts/test/JS/JSTestObj.h:
  3902. * bridge/NP_jsobject.cpp:
  3903. (_NPN_SetProperty):
  3904. * bridge/jni/jni_jsobject.mm:
  3905. (JavaJSObject::setMember):
  3906. (JavaJSObject::setSlot):
  3907. * bridge/objc/objc_runtime.h:
  3908. * bridge/objc/objc_runtime.mm:
  3909. (JSC::Bindings::ObjcFallbackObjectImp::putVirtual):
  3910. * bridge/qt/qt_instance.cpp:
  3911. (JSC::Bindings::QtInstance::put):
  3912. * bridge/qt/qt_runtime.cpp:
  3913. (JSC::Bindings::convertQVariantToValue):
  3914. * bridge/runtime_array.cpp:
  3915. (JSC::RuntimeArray::putVirtual):
  3916. * bridge/runtime_array.h:
  3917. * bridge/runtime_object.cpp:
  3918. (JSC::Bindings::RuntimeObject::putVirtual):
  3919. * bridge/runtime_object.h:
  3920. * bridge/testqtbindings.cpp:
  3921. (main):
  3922. 2011-10-14 Sheriff Bot <webkit.review.bot@gmail.com>
  3923. Unreviewed, rolling out r97519.
  3924. http://trac.webkit.org/changeset/97519
  3925. https://bugs.webkit.org/show_bug.cgi?id=70156
  3926. Broke 79+ tests on bots (Requested by dglazkov on #webkit).
  3927. * platform/graphics/skia/GraphicsContextSkia.cpp:
  3928. (WebCore::getFocusRingOutset):
  3929. (WebCore::GraphicsContext::drawFocusRing):
  3930. 2011-09-28 Robert Hogan <robert@webkit.org>
  3931. Replaced elements squeezed when width is specified as percentage inside a table with Auto layout
  3932. https://bugs.webkit.org/show_bug.cgi?id=29447
  3933. If inserting a 'replaced' element (e.g. image, plugin) in a table cell that is not descendant from
  3934. a block with fixed layout then do not squeeze the element, let it use its intrinsic width and height.
  3935. Reviewed by David Hyatt.
  3936. Test: fast/replaced/table-percent-width.html
  3937. * rendering/RenderBox.cpp:
  3938. (WebCore::shouldExpandToIntrinsicDimension):
  3939. (WebCore::RenderBox::containingBlockReplacedLogicalWidthForContent):
  3940. (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
  3941. (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
  3942. * rendering/RenderBox.h:
  3943. 2011-10-14 Cary Clark <caryclark@google.com>
  3944. [Chromium Skia on Mac] Improve focus ring
  3945. https://bugs.webkit.org/show_bug.cgi?id=70124
  3946. Reviewed by Eric Seidel.
  3947. The focus ring code formerly outset the bounds of
  3948. the component rectangles by fractional amounts. Because
  3949. the rectangles are SkIRect (integer based), the fractional
  3950. outset had no effect.
  3951. The equivalent code in GraphicsContextMac.mm computes
  3952. the curve radius and rectangle outset with integers, so
  3953. the use of floats in Skia's case, besides not working,
  3954. is unnecessary.
  3955. The Skia code also failed to take the offset into account.
  3956. In LayoutTests, the focus rings either have an offset of
  3957. 0 or 2. The CoreGraphics code increases the ring's rectangles
  3958. by the offset, then passes the result to wkDrawFocusRing.
  3959. I did not find any documentation about how wkDrawFocusRing
  3960. further inflates the focus ring, but empirically I determined
  3961. that adding 2 to the offset generated rings with identical
  3962. outer diameters.
  3963. With these adjustments, the layout tests generate focus rings
  3964. in the Skia on Mac case that match the coverage of the
  3965. Chromium CG-based platform, in particular, matching:
  3966. editing/inserting/editable-inline-element.html
  3967. editing/selection/3690703-2.html
  3968. * platform/graphics/skia/GraphicsContextSkia.cpp:
  3969. (WebCore::getFocusRingOutset):
  3970. (WebCore::GraphicsContext::drawFocusRing):
  3971. 2011-10-14 Chang Shu <cshu@webkit.org>
  3972. [Qt] Enable fullscreen api on Qt
  3973. https://bugs.webkit.org/show_bug.cgi?id=70131
  3974. As a result, we have 3 passed tests.
  3975. Reviewed by Noam Rosenthal.
  3976. * features.pri:
  3977. 2011-10-14 Beth Dakin <bdakin@apple.com>
  3978. https://bugs.webkit.org/show_bug.cgi?id=70148
  3979. Should switch to CoreUI version of CorrectionDot, GrammarDot, and SpellingDot
  3980. -and corresponding-
  3981. <rdar://problem/10208281>
  3982. Reviewed by Anders Carlsson.
  3983. Use NS*Dot whenever it's available, and fallback to *Dot only when it is not.
  3984. * platform/graphics/mac/GraphicsContextMac.mm:
  3985. (WebCore::createPatternColor):
  3986. (WebCore::GraphicsContext::drawLineForTextChecking):
  3987. 2011-10-14 Dmitry Lomov <dslomov@google.com>
  3988. https://bugs.webkit.org/show_bug.cgi?id=70120
  3989. [Chromium] Pass MessagePortArray to SerializedScriptValue::serialize/deserialize.
  3990. This patch augments SerializedScriptValue with MessagePortArray* parameter to implement MessagePort
  3991. transfer within the message in the future.
  3992. Reviewed by David Levin.
  3993. * bindings/scripts/CodeGeneratorV8.pm:
  3994. (GenerateParametersCheck):
  3995. * bindings/v8/SerializedScriptValue.cpp:
  3996. (WebCore::SerializedScriptValue::create):
  3997. (WebCore::SerializedScriptValue::SerializedScriptValue):
  3998. (WebCore::SerializedScriptValue::deserialize):
  3999. * bindings/v8/SerializedScriptValue.h:
  4000. * bindings/v8/custom/V8DOMWindowCustom.cpp:
  4001. (WebCore::handlePostMessageCallback):
  4002. (WebCore::V8DOMWindow::postMessageCallback):
  4003. (WebCore::V8DOMWindow::webkitPostMessageCallback):
  4004. * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
  4005. (WebCore::handlePostMessageCallback):
  4006. (WebCore::V8DedicatedWorkerContext::postMessageCallback):
  4007. (WebCore::V8DedicatedWorkerContext::webkitPostMessageCallback):
  4008. * bindings/v8/custom/V8HistoryCustom.cpp:
  4009. (WebCore::V8History::pushStateCallback):
  4010. (WebCore::V8History::replaceStateCallback):
  4011. * bindings/v8/custom/V8MessageEventCustom.cpp:
  4012. (WebCore::V8MessageEvent::dataAccessorGetter):
  4013. * bindings/v8/custom/V8MessagePortCustom.cpp:
  4014. (WebCore::handlePostMessageCallback):
  4015. (WebCore::V8MessagePort::postMessageCallback):
  4016. (WebCore::V8MessagePort::webkitPostMessageCallback):
  4017. * bindings/v8/custom/V8WorkerCustom.cpp:
  4018. (WebCore::handlePostMessageCallback):
  4019. (WebCore::V8Worker::postMessageCallback):
  4020. (WebCore::V8Worker::webkitPostMessageCallback):
  4021. * workers/Worker.idl:
  4022. 2011-10-14 Jeff Miller <jeffm@apple.com>
  4023. InjectedBundleHitTestResult::imageRect() should return rect in WKView coordinates
  4024. https://bugs.webkit.org/show_bug.cgi?id=69963
  4025. Add infrastructure to convert from any frame view's coordinate system to the
  4026. root view's coordinate system.
  4027. Reviewed by Simon Fraser.
  4028. No new tests (yet), this is covered by <https://bugs.webkit.org/show_bug.cgi?id=70136>.
  4029. * WebCore.exp.in: Exported WebCore::ScrollView::contentsToRootView(), used by InjectedBundleHitTestResult.cpp.
  4030. * platform/ScrollView.cpp:
  4031. (WebCore::ScrollView::rootViewToContents): Added (both point and rect versions).
  4032. (WebCore::ScrollView::contentsToRootView): Ditto.
  4033. * platform/ScrollView.h: Added member functions to convert to/from root view coordinates.
  4034. * platform/Widget.cpp:
  4035. (WebCore::Widget::convertFromRootView): Added (both point and rect versions).
  4036. (WebCore::Widget::convertToRootView): Ditto.
  4037. * platform/Widget.h: Added member functions to convert to/from root view coordinates.
  4038. 2011-10-14 Andreas Kling <kling@webkit.org>
  4039. CSSParser: Remove StyleBase usage.
  4040. https://bugs.webkit.org/show_bug.cgi?id=70150
  4041. Reviewed by Darin Adler.
  4042. Split CSSParser::m_parsedStyleObjects into two vectors of
  4043. CSSRules and MediaLists.
  4044. * css/CSSParser.cpp:
  4045. (WebCore::CSSParser::createMediaList):
  4046. (WebCore::CSSParser::createCharsetRule):
  4047. (WebCore::CSSParser::createImportRule):
  4048. (WebCore::CSSParser::createMediaRule):
  4049. (WebCore::CSSParser::createKeyframesRule):
  4050. (WebCore::CSSParser::createStyleRule):
  4051. (WebCore::CSSParser::createFontFaceRule):
  4052. (WebCore::CSSParser::createPageRule):
  4053. (WebCore::CSSParser::createKeyframeRule):
  4054. * css/CSSParser.h:
  4055. 2011-10-14 Adam Barth <abarth@webkit.org>
  4056. canvas getImageData should explain why it throws SECURITY_ERR
  4057. https://bugs.webkit.org/show_bug.cgi?id=70088
  4058. Reviewed by Darin Adler.
  4059. Log as message to the console when getImageData fails because the
  4060. canvas is tainted.
  4061. * html/canvas/CanvasRenderingContext2D.cpp:
  4062. (WebCore::CanvasRenderingContext2D::getImageData):
  4063. 2011-10-14 Andreas Kling <kling@webkit.org>
  4064. Inspector: Remove StyleBase usage.
  4065. https://bugs.webkit.org/show_bug.cgi?id=70138
  4066. Reviewed by Antti Koivisto.
  4067. Be fully specific about whether we're operating on a CSSRule or
  4068. a CSSStyleSheet.
  4069. No behavior change expected, this merely is a cleanup.
  4070. * inspector/InspectorCSSAgent.cpp:
  4071. (WebCore::InspectorCSSAgent::parentStyleSheet):
  4072. (WebCore::InspectorCSSAgent::asCSSStyleRule):
  4073. * inspector/InspectorCSSAgent.h:
  4074. * inspector/InspectorStyleSheet.cpp:
  4075. (WebCore::asCSSRuleList):
  4076. 2011-10-14 Mark Hahnenberg <mhahnenberg@apple.com>
  4077. Rename virtual deleteProperty to deletePropertyVirtual
  4078. https://bugs.webkit.org/show_bug.cgi?id=69884
  4079. Reviewed by Darin Adler.
  4080. No new tests.
  4081. Renamed virtual versions of deleteProperty to deletePropertyVirtual in prepration for
  4082. adding the static deleteProperty to the MethodTable in ClassInfo since the
  4083. compiler gets mad if the virtual and static versions have the same name.
  4084. * WebCore.exp.in:
  4085. * bindings/js/JSDOMStringMapCustom.cpp:
  4086. (WebCore::JSDOMStringMap::deletePropertyVirtual):
  4087. * bindings/js/JSDOMWindowCustom.cpp:
  4088. (WebCore::JSDOMWindow::deletePropertyVirtual):
  4089. * bindings/js/JSDOMWindowShell.cpp:
  4090. (WebCore::JSDOMWindowShell::deletePropertyVirtual):
  4091. * bindings/js/JSDOMWindowShell.h:
  4092. * bindings/js/JSHistoryCustom.cpp:
  4093. (WebCore::JSHistory::deletePropertyVirtual):
  4094. * bindings/js/JSLocationCustom.cpp:
  4095. (WebCore::JSLocation::deletePropertyVirtual):
  4096. * bindings/js/JSStorageCustom.cpp:
  4097. (WebCore::JSStorage::deletePropertyVirtual):
  4098. * bindings/js/ScriptObject.cpp:
  4099. (WebCore::ScriptGlobalObject::remove):
  4100. * bindings/objc/WebScriptObject.mm:
  4101. (-[WebScriptObject removeWebScriptKey:]):
  4102. * bindings/scripts/CodeGeneratorJS.pm:
  4103. (GenerateHeader):
  4104. * bridge/NP_jsobject.cpp:
  4105. (_NPN_RemoveProperty):
  4106. * bridge/jni/jni_jsobject.mm:
  4107. (JavaJSObject::removeMember):
  4108. * bridge/objc/objc_runtime.h:
  4109. * bridge/objc/objc_runtime.mm:
  4110. (JSC::Bindings::ObjcFallbackObjectImp::deletePropertyVirtual):
  4111. * bridge/runtime_array.cpp:
  4112. (JSC::RuntimeArray::deletePropertyVirtual):
  4113. * bridge/runtime_array.h:
  4114. * bridge/runtime_object.cpp:
  4115. (JSC::Bindings::RuntimeObject::deletePropertyVirtual):
  4116. * bridge/runtime_object.h:
  4117. 2011-10-14 Simon Fraser <simon.fraser@apple.com>
  4118. Web Inspector: WebProcess crashes hard when inspecting elements with border-images applied
  4119. https://bugs.webkit.org/show_bug.cgi?id=70105
  4120. Reviewed by Dave Hyatt.
  4121. Fix three different crashes related to getting computed style for border-image.
  4122. In both valueForNinePieceImageSlice() and valueForNinePieceImageQuad(),
  4123. assign 'right' to 'left' because we've computed a value for 'right' already.
  4124. Otherwise this would leave 'right' as null, causing later crashes in cssText().
  4125. In mapNinePieceImage(), borderImage->imageValue() can be null for a border-image
  4126. shorthand that is missing the image value.
  4127. Test: fast/css/getComputedStyle/computed-style-border-image.html
  4128. * css/CSSComputedStyleDeclaration.cpp:
  4129. (WebCore::valueForNinePieceImageSlice):
  4130. (WebCore::valueForNinePieceImageQuad):
  4131. * css/CSSStyleSelector.cpp:
  4132. (WebCore::CSSStyleSelector::mapNinePieceImage):
  4133. 2011-10-14 Ryosuke Niwa <rniwa@webkit.org>
  4134. Mac build fix after r97497.
  4135. * editing/markup.cpp:
  4136. (WebCore::isNonTableCellHTMLBlockElement):
  4137. 2011-10-14 Daniel Cheng <dcheng@chromium.org>
  4138. Context-aware HTML paste for Chromium
  4139. https://bugs.webkit.org/show_bug.cgi?id=62112
  4140. Reviewed by Ryosuke Niwa.
  4141. Add createFragmentFromMarkupWithContext which understands enough about DOM structure to
  4142. retain necessary elements to preserve structure and appearance when extracting a subset of
  4143. a DOM tree.
  4144. Covered by existing layout tests.
  4145. * editing/MarkupAccumulator.h:
  4146. * editing/markup.cpp:
  4147. (WebCore::isNonTableCellHTMLBlockElement):
  4148. (WebCore::isHTMLBlockElement):
  4149. (WebCore::ancestorToRetainStructureAndAppearanceForBlock):
  4150. (WebCore::ancestorToRetainStructureAndAppearance):
  4151. (WebCore::ancestorToRetainStructureAndAppearanceWithNoRenderer):
  4152. (WebCore::findNodesSurroundingContext):
  4153. (WebCore::trimFragment):
  4154. (WebCore::createFragmentFromMarkupWithContext):
  4155. * editing/markup.h:
  4156. * platform/chromium/ChromiumDataObject.cpp:
  4157. (WebCore::ChromiumDataObject::getData):
  4158. * platform/chromium/DataTransferItemChromium.cpp:
  4159. (WebCore::DataTransferItemChromium::getAsString):
  4160. * platform/chromium/PasteboardChromium.cpp:
  4161. (WebCore::Pasteboard::documentFragment):
  4162. * platform/chromium/PlatformSupport.h:
  4163. 2011-10-14 Peter Beverloo <peter@chromium.org>
  4164. [Chromium] Inherit settings from Chromium's envsetup.sh, address a NDK todo
  4165. https://bugs.webkit.org/show_bug.cgi?id=70028
  4166. Reviewed by Adam Barth.
  4167. * WebCore.gyp/WebCore.gyp:
  4168. 2011-10-14 Nate Chapin <japhet@chromium.org>
  4169. Check CachedResourceClient types with ASSERTs rather
  4170. than if statements.
  4171. https://bugs.webkit.org/show_bug.cgi?id=70113
  4172. Reviewed by Adam Barth.
  4173. No new tests, no functionality change.
  4174. * loader/cache/CachedCSSStyleSheet.cpp:
  4175. * loader/cache/CachedFont.cpp:
  4176. * loader/cache/CachedImage.cpp:
  4177. * loader/cache/CachedResourceClientWalker.h:
  4178. * loader/cache/CachedXSLStyleSheet.cpp:
  4179. 2011-10-14 Andreas Kling <kling@webkit.org>
  4180. Don't assert that CSSRules are CSSRules.
  4181. Rubber-stamped by Antti Koivisto.
  4182. * css/CSSRule.h:
  4183. (WebCore::CSSRule::isRule):
  4184. * css/CSSStyleSheet.cpp:
  4185. (WebCore::CSSStyleSheet::append):
  4186. (WebCore::CSSStyleSheet::insert):
  4187. 2011-10-14 Beth Dakin <bdakin@apple.com>
  4188. Attempted Leopard build fix.
  4189. * platform/graphics/GraphicsContext.cpp:
  4190. (WebCore::GraphicsContext::createCompatibleBuffer):
  4191. 2011-10-14 Andreas Kling <kling@webkit.org>
  4192. CSSStyleSheet should only ever contain CSSRules.
  4193. https://bugs.webkit.org/show_bug.cgi?id=70116
  4194. Reviewed by Antti Koivisto.
  4195. Move child management from the StyleSheet class down into
  4196. CSSStyleSheet and XSLStyleSheet. XSLStyleSheet continues to
  4197. manage StyleBase objects, while CSSStyleSheet now only contains
  4198. CSSRule.
  4199. This is enforced at both compile time and runtime with explicit
  4200. types and assertions.
  4201. * css/CSSRule.h:
  4202. (WebCore::CSSRule::isRule):
  4203. Promoted to a public method so we can use it in assertions.
  4204. * css/CSSRuleList.h:
  4205. (WebCore::CSSRuleList::create):
  4206. (WebCore::CSSRuleList::styleSheet):
  4207. * css/CSSRuleList.cpp:
  4208. (WebCore::CSSRuleList::CSSRuleList):
  4209. * bindings/js/JSCSSRuleListCustom.cpp:
  4210. (WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
  4211. Change backing to a CSSStyleSheet instead of a StyleSheet.
  4212. * css/CSSRuleList.cpp:
  4213. (WebCore::CSSRuleList::item):
  4214. Remove redundant assertions.
  4215. * css/CSSStyleSheet.cpp:
  4216. (WebCore::CSSStyleSheet::isLoading):
  4217. (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
  4218. * css/CSSStyleSelector.cpp:
  4219. (WebCore::RuleSet::addRulesFromSheet):
  4220. * inspector/InspectorCSSAgent.cpp:
  4221. (WebCore::InspectorCSSAgent::collectStyleSheets):
  4222. * page/PageSerializer.cpp:
  4223. (WebCore::PageSerializer::serializeCSSStyleSheet):
  4224. Use more specific CSSRule* since that's what we get from
  4225. CSSStyleSheet::item() now.
  4226. * css/StyleSheet.cpp:
  4227. (WebCore::StyleSheet::~StyleSheet):
  4228. * css/CSSStyleSheet.cpp:
  4229. (WebCore::CSSStyleSheet::~CSSStyleSheet):
  4230. * xml/XSLStyleSheetLibxslt.cpp:
  4231. (WebCore::XSLStyleSheet::~XSLStyleSheet):
  4232. * xml/XSLStyleSheetQt.cpp:
  4233. (WebCore::XSLStyleSheet::~XSLStyleSheet):
  4234. Orphaning logic from ~StyleSheet() moved to subclass dtors.
  4235. * css/StyleSheet.h:
  4236. * css/CSSStyleSheet.h:
  4237. (WebCore::CSSStyleSheet::length):
  4238. (WebCore::CSSStyleSheet::item):
  4239. * css/CSSStyleSheet.cpp:
  4240. (WebCore::CSSStyleSheet::append):
  4241. (WebCore::CSSStyleSheet::insert):
  4242. (WebCore::CSSStyleSheet::remove):
  4243. Moved from StyleSheet and changed to only accept CSSRules.
  4244. * css/StyleSheet.h:
  4245. * xml/XSLStyleSheet.h:
  4246. (WebCore::XSLStyleSheet::length):
  4247. (WebCore::XSLStyleSheet::item):
  4248. (WebCore::XSLStyleSheet::append):
  4249. (WebCore::XSLStyleSheet::insert):
  4250. (WebCore::XSLStyleSheet::remove):
  4251. Moved from StyleSheet though still uses StyleBase.
  4252. 2011-10-14 Yuji Sanachan <sanachan.y@gmail.com>
  4253. Include dom/ExceptionCode.h instead of Filesystem APIs headers
  4254. to fix compile error when ENABLE_WORKERS=1 and ENABLE_FILE_SYSTEM=0
  4255. https://bugs.webkit.org/show_bug.cgi?id=70036
  4256. Reviewed by Darin Adler.
  4257. * workers/WorkerContext.cpp:
  4258. (WebCore::WorkerContext::importScript):
  4259. 2011-10-14 Darin Adler <darin@apple.com>
  4260. Text drawn via -webkit-background-clip:text should be non-blurry with all scaling
  4261. techniques
  4262. https://bugs.webkit.org/show_bug.cgi?id=68641
  4263. Reviewed by Simon Fraser. Committed by Beth Dakin.
  4264. * platform/graphics/GraphicsContext.cpp:
  4265. (WebCore::GraphicsContext::createCompatibleBuffer): Allocate a buffer based on the
  4266. scale
  4267. factor of the context.
  4268. * platform/graphics/GraphicsContext.h: Added createCompatibleBuffer.
  4269. * rendering/RenderBoxModelObject.cpp:
  4270. (WebCore::RenderBoxModelObject::paintFillLayerExtended): Use
  4271. createCompatibleBuffer.
  4272. 2011-10-14 Ryosuke Niwa <rniwa@webkit.org>
  4273. Move selectionStartStyle and selectionHasStyle to EditingStyle
  4274. https://bugs.webkit.org/show_bug.cgi?id=69882
  4275. Reviewed by Enrica Casucci.
  4276. Moved selectionHasStyle and selectionStartStyle from Editor to EditingStyle.
  4277. Also moved much of code in Editor::selectionStartCSSPropertyValue to method of EditingStyle.
  4278. In addition, moved Range::editingStartPosition to htmlediting where it belongs
  4279. and renamed it to adjustedSelectionStartForStyleComputation.
  4280. * dom/Range.cpp:
  4281. * dom/Range.h:
  4282. * editing/EditingStyle.cpp:
  4283. (WebCore::EditingStyle::triStateOfStyle): Extracted from selectionHasStyle.
  4284. (WebCore::EditingStyle::legacyFontSize): Extracted from selectionStartCSSPropertyValue.
  4285. (WebCore::EditingStyle::styleAtSelectionStart): Moved from Editor::selectionStartStyle.
  4286. * editing/EditingStyle.h:
  4287. * editing/Editor.cpp:
  4288. (WebCore::Editor::fontForSelection):
  4289. (WebCore::Editor::selectionStartHasStyle):
  4290. (WebCore::Editor::selectionHasStyle):
  4291. (WebCore::Editor::selectionStartCSSPropertyValue):
  4292. * editing/Editor.h:
  4293. * editing/EditorCommand.cpp:
  4294. (WebCore::executeToggleStyleInList):
  4295. * editing/htmlediting.cpp:
  4296. (WebCore::adjustedSelectionStartForStyleComputation): Moved from Range::editingStartPosition.
  4297. * editing/htmlediting.h:
  4298. 2011-10-14 Ryosuke Niwa <rniwa@webkit.org>
  4299. Redundant comparison in AccessibilityObject.cpp updateAXLineStartForVisiblePosition
  4300. https://bugs.webkit.org/show_bug.cgi?id=70074
  4301. Reviewed by Chris Fleizach.
  4302. Removed redundant code.
  4303. * accessibility/AccessibilityObject.cpp:
  4304. (WebCore::updateAXLineStartForVisiblePosition):
  4305. 2011-10-12 Ryosuke Niwa <rniwa@webkit.org>
  4306. Make the interface of locationAndLengthFromRange and rangeFromLocationAndLength consistent
  4307. https://bugs.webkit.org/show_bug.cgi?id=69964
  4308. Reviewed by Enrica Casucci.
  4309. Extracted the logic to determine the scope element as FrameSelection::rootEditableElementOrDocumentElement
  4310. and deployed it in WebKit layer. Made locationAndLengthFromRange take a scope element and renamed it to
  4311. getLocationAndLengthFromRange.
  4312. * WebCore.exp.in:
  4313. * editing/FrameSelection.cpp:
  4314. (WebCore::FrameSelection::rootEditableElementOrDocumentElement):
  4315. * editing/FrameSelection.h:
  4316. * editing/TextIterator.cpp:
  4317. (WebCore::TextIterator::getLocationAndLengthFromRange):
  4318. * editing/TextIterator.h:
  4319. 2011-10-13 Arko Saha <arko@motorola.com>
  4320. Microdata: Basic implementation of document.getItems() method.
  4321. https://bugs.webkit.org/show_bug.cgi?id=68610
  4322. Reviewed by Ryosuke Niwa.
  4323. Added ENABLE(MICRODATA) feature flag. Implement document.getItems() DOM API.
  4324. Spec: http://www.whatwg.org/specs/web-apps/current-work/complete/microdata.html
  4325. Tests: fast/dom/MicroData/001.html
  4326. fast/dom/MicroData/002.html
  4327. fast/dom/MicroData/003.html
  4328. fast/dom/MicroData/004.html
  4329. fast/dom/MicroData/005.html
  4330. fast/dom/MicroData/006.html
  4331. fast/dom/MicroData/007.html
  4332. fast/dom/MicroData/008.html
  4333. fast/dom/MicroData/009.html
  4334. * CMakeLists.txt:
  4335. * DerivedSources.make:
  4336. * GNUmakefile.am:
  4337. * GNUmakefile.list.am:
  4338. * WebCore.gypi:
  4339. * WebCore.pro:
  4340. * WebCore.vcproj/WebCore.vcproj:
  4341. * dom/Document.cpp:
  4342. (WebCore::Document::getItems): Returns NodeList of the element in the Document that
  4343. create items, that are not part of other items, and that are of one of the types
  4344. given in the argument. If no tokens specified/undefined in the argument, then
  4345. return a NodeList containing all top level microdata items.
  4346. (WebCore::Document::removeCachedMicroDataItemList): Remove Microdata item node list
  4347. from cache.
  4348. * dom/Document.h:
  4349. * dom/Document.idl: Added getItems() microdata DOM API.
  4350. * dom/MicroDataItemList.cpp: Added.
  4351. (WebCore::MicroDataItemList::MicroDataItemList):
  4352. (WebCore::MicroDataItemList::~MicroDataItemList):
  4353. (WebCore::MicroDataItemList::nodeMatches):
  4354. * dom/MicroDataItemList.h: Added.
  4355. (WebCore::MicroDataItemList::create):
  4356. * dom/Node.cpp:
  4357. (WebCore::Node::itemTypeAttributeChanged): It is responsible to invalidate the Microdata
  4358. item node cache when itemType attribute changes.
  4359. (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
  4360. (WebCore::NodeListsNodeData::invalidateMicrodataItemListCaches): Invalidate Microdata item
  4361. list cache.
  4362. (WebCore::NodeListsNodeData::isEmpty):
  4363. * dom/Node.h:
  4364. * dom/NodeRareData.h:
  4365. * features.pri:
  4366. * html/HTMLAttributeNames.in: Added itemid, itemprop, itemscope, itemtype attributes.
  4367. * html/HTMLElement.cpp:
  4368. (WebCore::HTMLElement::parseMappedAttribute): Handle itemtype attribute change.
  4369. * html/HTMLElement.idl: Added itemid, itemprop, itemscope, itemtypes microdata attributes.
  4370. 2011-10-14 Andreas Kling <kling@webkit.org>
  4371. Stricter management of WebKitCSSKeyframeRules.
  4372. https://bugs.webkit.org/show_bug.cgi?id=70109
  4373. Reviewed by Antti Koivisto.
  4374. Covered by existing tests.
  4375. * css/CSSParser.h:
  4376. * css/CSSParser.cpp:
  4377. (WebCore::CSSParser::parseKeyframeRule):
  4378. Return a WebKitCSSKeyframeRule instead of a CSSRule.
  4379. * css/CSSRuleList.cpp:
  4380. (WebCore::CSSRuleList::deleteRule):
  4381. * css/WebKitCSSKeyframesRule.cpp:
  4382. (WebCore::WebKitCSSKeyframesRule::deleteRule):
  4383. Moved style sheet orphaning logic for @-webkit-keyframe
  4384. from CSSRuleList into WebKitCSSKeyframesRule::deleteRule()
  4385. since that's the only caller operating on those rules.
  4386. * css/WebKitCSSKeyframesRule.cpp:
  4387. (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
  4388. (WebCore::WebKitCSSKeyframesRule::length):
  4389. (WebCore::WebKitCSSKeyframesRule::item):
  4390. (WebCore::WebKitCSSKeyframesRule::insertRule):
  4391. Change isKeyframeRule() checks to assertions since we know
  4392. our rules are always WebKitCSSKeyframeRules. Also tidied up.
  4393. 2011-10-14 Andreas Kling <kling@webkit.org>
  4394. Unreviewed, actually remove StyleList.* after r97640.
  4395. * css/StyleList.cpp: Removed.
  4396. * css/StyleList.h: Removed.
  4397. 2011-10-14 Andreas Kling <kling@webkit.org>
  4398. Merge StyleList into StyleSheet.
  4399. https://bugs.webkit.org/show_bug.cgi?id=70100
  4400. Reviewed by Antti "printf" Koivisto.
  4401. Merge all functionality from StyleList into StyleSheet,
  4402. since StyleSheet was the only subclass of StyleList anyway.
  4403. Also removed FIXME's about throwing exceptions in CSSRuleList
  4404. since they were incorrect. The call sites already handle the
  4405. relevant cases.
  4406. * CMakeLists.txt:
  4407. * GNUmakefile.list.am:
  4408. * WebCore.gypi:
  4409. * WebCore.pro:
  4410. * WebCore.vcproj/WebCore.vcproj:
  4411. * WebCore.xcodeproj/project.pbxproj:
  4412. * bindings/js/JSCSSRuleListCustom.cpp:
  4413. (WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
  4414. * css/CSSRuleList.cpp:
  4415. (WebCore::CSSRuleList::CSSRuleList):
  4416. (WebCore::CSSRuleList::length):
  4417. (WebCore::CSSRuleList::item):
  4418. (WebCore::CSSRuleList::deleteRule):
  4419. (WebCore::CSSRuleList::append):
  4420. (WebCore::CSSRuleList::insertRule):
  4421. * css/CSSRuleList.h:
  4422. (WebCore::CSSRuleList::create):
  4423. (WebCore::CSSRuleList::styleSheet):
  4424. * css/StyleList.cpp: Removed.
  4425. * css/StyleList.h: Removed.
  4426. * css/StyleSheet.cpp:
  4427. (WebCore::StyleSheet::StyleSheet):
  4428. (WebCore::StyleSheet::append):
  4429. (WebCore::StyleSheet::insert):
  4430. (WebCore::StyleSheet::remove):
  4431. * css/StyleSheet.h:
  4432. (WebCore::StyleSheet::length):
  4433. (WebCore::StyleSheet::item):
  4434. 2011-10-14 Mihnea Ovidenie <mihnea@adobe.com>
  4435. [CSS Regions] Change -webkit-flow to -webkit-flow-into
  4436. https://bugs.webkit.org/show_bug.cgi?id=70014
  4437. Reviewed by David Hyatt.
  4438. 1. -webkit-flow is renamed to -webkit-flow-into
  4439. 2. -webkit-flow-into takes <ident> instead of strings
  4440. * css/CSSComputedStyleDeclaration.cpp:
  4441. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  4442. * css/CSSParser.cpp:
  4443. (WebCore::CSSParser::parseValue):
  4444. (WebCore::validFlowName):
  4445. (WebCore::CSSParser::parseFlowThread):
  4446. * css/CSSPropertyNames.in:
  4447. * css/CSSStyleSelector.cpp:
  4448. (WebCore::CSSStyleSelector::applyProperty):
  4449. 2011-10-12 Hans Wennborg <hans@chromium.org>
  4450. IndexedDB: Remove SQLite backing store
  4451. https://bugs.webkit.org/show_bug.cgi?id=69620
  4452. Reviewed by Darin Fisher.
  4453. Remove the SQLite backing store implementation; it is not used anymore.
  4454. Also remove the maximumSize parameter, it is not used either.
  4455. No new functionality, so no new tests.
  4456. * GNUmakefile.list.am:
  4457. * WebCore.gypi:
  4458. * storage/IDBBackingStore.h:
  4459. * storage/IDBFactory.cpp:
  4460. (WebCore::IDBFactory::getDatabaseNames):
  4461. (WebCore::IDBFactory::open):
  4462. * storage/IDBFactoryBackendImpl.cpp:
  4463. (WebCore::computeFileIdentifier):
  4464. (WebCore::computeUniqueIdentifier):
  4465. (WebCore::IDBFactoryBackendImpl::getDatabaseNames):
  4466. (WebCore::IDBFactoryBackendImpl::open):
  4467. (WebCore::IDBFactoryBackendImpl::openBackingStore):
  4468. * storage/IDBFactoryBackendImpl.h:
  4469. * storage/IDBFactoryBackendInterface.h:
  4470. * storage/IDBLevelDBBackingStore.cpp:
  4471. (WebCore::IDBLevelDBBackingStore::open):
  4472. * storage/IDBLevelDBBackingStore.h:
  4473. * storage/IDBSQLiteBackingStore.cpp: Removed.
  4474. * storage/IDBSQLiteBackingStore.h: Removed.
  4475. 2011-10-14 Nikolas Zimmermann <nzimmermann@rim.com>
  4476. Not reviewed. Fix mac builds. r97448 broke them.
  4477. * WebCore.xcodeproj/project.pbxproj: Set ImageBySizeCache.h role to private.
  4478. 2011-10-14 Justin Schuh <jschuh@chromium.org>
  4479. Clear WebMediaPlayerClientImpl back pointer on destruction
  4480. https://bugs.webkit.org/show_bug.cgi?id=69973
  4481. Reviewed by James Robinson.
  4482. Clear the backpointer and remove the unused m_currentFrame
  4483. * platform/graphics/chromium/VideoLayerChromium.cpp:
  4484. (WebCore::VideoLayerChromium::VideoLayerChromium):
  4485. (WebCore::VideoLayerChromium::cleanupResources):
  4486. (WebCore::VideoLayerChromium::updateCompositorResources):
  4487. (WebCore::VideoLayerChromium::releaseProvider):
  4488. * platform/graphics/chromium/VideoLayerChromium.h:
  4489. 2011-10-13 Hans Wennborg <hans@chromium.org>
  4490. IndexedDB: Make IDBCursor.value() return an IDBAny object
  4491. https://bugs.webkit.org/show_bug.cgi?id=70024
  4492. Reviewed by Tony Chang.
  4493. This is to work around the fact that the V8 bindings mechanism does
  4494. eager deserialization of SerializedScriptValue attributes. This means
  4495. that the value is fetched from the back-end only once, when the
  4496. IDBCursor is first wrapped. When the cursor's value changes, this is
  4497. not reflected.
  4498. We work around this by making IDBCursor.value() return the
  4499. SerializedScriptValue wrapped in an IDBAny object.
  4500. * storage/IDBCursor.cpp:
  4501. (WebCore::IDBCursor::value):
  4502. * storage/IDBCursor.h:
  4503. * storage/IDBCursorWithValue.idl:
  4504. 2011-10-14 Rémi Duraffort <remi.duraffort@st.com>
  4505. Fix compilation when the JS Debugger is disabled.
  4506. https://bugs.webkit.org/show_bug.cgi?id=70007
  4507. Reviewed by Antti Koivisto.
  4508. * inspector/InspectorInstrumentation.cpp:
  4509. (WebCore::InspectorInstrumentation::willEvaluateWorkerScript):
  4510. * inspector/InspectorRuntimeAgent.cpp:
  4511. * inspector/InspectorRuntimeAgent.h:
  4512. * inspector/WorkerInspectorController.cpp:
  4513. * inspector/WorkerInspectorController.h:
  4514. * workers/WorkerMessagingProxy.cpp:
  4515. (WebCore::WorkerMessagingProxy::disconnectFromInspector):
  4516. (WebCore::WorkerMessagingProxy::sendMessageToInspector):
  4517. 2011-10-13 Nikolas Zimmermann <nzimmermann@rim.com>
  4518. Prepare SVGImage intrinsic size negotiation: Introduce an IntSize <-> SVGImage cache in CachedImage
  4519. https://bugs.webkit.org/show_bug.cgi?id=69416
  4520. Reviewed by Antti Koivisto.
  4521. Refactor ImageBySizeCache out of CSSImageGeneratorValue as CachedImage wants to use the same type of cache for its purposes.
  4522. When introducing the SVGImage intrinsic size negotiation the container size of an SVGImage is dependant on the place where
  4523. it gets embedded (eg width/height attributes of host documents <img> force a certain size).
  4524. Currently CachedImage only contains a single RefPtr<Image>, which it constructs out of the decoded data.
  4525. Multiple RenderObjects share the same CachedImages, when embedding eg. a SVG document in a <html:img> or using it in a background-image for a <div>.
  4526. Consider the case where two RenderObjects use the same CachedImage, each with a different container size (200x100 vs 100x200) and the embedded
  4527. document contains a viewBox and some arbitary preserveAspectRatio settings. To honour these we have to relayout the document with the desired
  4528. size (percentual unit resolving etc, all depend on the RenderSVGRoots size).
  4529. With the current design this is hard to realize, w/o requring to relayout the embedded document for each embedder that uses an SVGImage.
  4530. This patch introduces a cache right within CachedImage, which manages a map of images to certain sizes, by utilizing the new ImageBySizeCache.
  4531. CachedImage::imageForRenderer() takes a RenderObject* parameter, which it uses to look up the last set image container size for a renderer.
  4532. Using that size it queries the cache whether it already has an SVGImage for that size, if not it gets created, by creating a whole
  4533. new instance of SVGImage, filling it with the already decoded data, and passing on a fixed image container size, which overrides the
  4534. size that RenderSVGRoot reports, when computeReplacedLogicalWidth/Height is called and thus laying out the document at the desired size.
  4535. This image is then put in the cache for further reusability.
  4536. Likewise CachedImage::setContainerSizeForRenderer() now takes a RenderObject* parameter and stores that in the cache with an associated container size.
  4537. It requires to touch several files which use CachedImage throughout WebCore/WebKit/WebKit2.
  4538. The actual cache is not yet turned on yet, so this is not a functional change so far, as it needs some other changes to SVGImage,
  4539. which will come with the master patch in bug 47156.
  4540. No new tests yet, as the new cache isn't turned on yet.
  4541. * CMakeLists.txt: Add rendering/ImageBySizeCache.* to build.
  4542. * GNUmakefile.list.am: Ditto.
  4543. * WebCore.gypi: Ditto.
  4544. * WebCore.pro: Ditto.
  4545. * WebCore.vcproj/WebCore.vcproj: Ditto.
  4546. * WebCore.xcodeproj/project.pbxproj: Ditto.
  4547. * accessibility/AccessibilityRenderObject.cpp:
  4548. (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): Use new CachedImage::imageSizeForRenderer(RenderObject*) method.
  4549. * bindings/objc/DOM.mm: Ditto (for CachedImage::image()).
  4550. (-[DOMElement image]):
  4551. (-[DOMElement _imageTIFFRepresentation]):
  4552. * bridge/qt/qt_pixmapruntime.cpp:
  4553. (JSC::Bindings::QtPixmapInstance::variantFromObject): Ditto (for CachedImage::image()).
  4554. * css/CSSCanvasValue.cpp: s/m_clients/clients()/, which now live in the ImageBySizeCache instead of CSSImageGeneratorValue.
  4555. (WebCore::CSSCanvasValue::canvasChanged):
  4556. (WebCore::CSSCanvasValue::canvasResized):
  4557. (WebCore::CSSCanvasValue::image):
  4558. * css/CSSGradientValue.cpp: Ditto.
  4559. (WebCore::CSSGradientValue::image):
  4560. * css/CSSImageGeneratorValue.cpp: Move the sizes/clients/images cache into a new ImageBySizeCache class, to make it usable for CachedImage as well.
  4561. (WebCore::CSSImageGeneratorValue::addClient): Adapt to move.
  4562. (WebCore::CSSImageGeneratorValue::removeClient): Ditto.
  4563. (WebCore::CSSImageGeneratorValue::getImage): Ditto.
  4564. (WebCore::CSSImageGeneratorValue::putImage): Ditto.
  4565. * css/CSSImageGeneratorValue.h:
  4566. (WebCore::CSSImageGeneratorValue::clients): Forwarded to the ImageBySizeCache.
  4567. * editing/DeleteButtonController.cpp:
  4568. (WebCore::isDeletableElement): CachedImage::canRender() now takes a RenderObject* parameter.
  4569. * html/HTMLImageElement.cpp:
  4570. (WebCore::HTMLImageElement::width): Use new CachedImage::imageSizeForRenderer(RenderObject*) method.
  4571. (WebCore::HTMLImageElement::height): Ditto.
  4572. (WebCore::HTMLImageElement::naturalWidth): Ditto.
  4573. (WebCore::HTMLImageElement::naturalHeight): Ditto.
  4574. * html/ImageDocument.cpp:
  4575. (WebCore::ImageDocumentParser::finish): Ditto.
  4576. (WebCore::ImageDocument::scale): Ditto.
  4577. (WebCore::ImageDocument::resizeImageToFit): Ditto.
  4578. (WebCore::ImageDocument::imageUpdated): Ditto.
  4579. (WebCore::ImageDocument::restoreImageSize): Ditto.
  4580. (WebCore::ImageDocument::imageFitsInWindow): Ditto.
  4581. * html/canvas/CanvasRenderingContext.cpp:
  4582. (WebCore::CanvasRenderingContext::wouldTaintOrigin): Use new CachedImage::imageForRenderer(RenderObject*) method.
  4583. * html/canvas/CanvasRenderingContext2D.cpp:
  4584. (WebCore::isOriginClean): Ditto.
  4585. (WebCore::size): Ditto (for CachedImage::imageSizeForRenderer()).
  4586. (WebCore::CanvasRenderingContext2D::drawImage): Ditto.
  4587. (WebCore::CanvasRenderingContext2D::createPattern): Ditto.
  4588. * html/canvas/WebGLRenderingContext.cpp:
  4589. (WebCore::WebGLRenderingContext::texImage2D): Ditto.
  4590. (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
  4591. * loader/cache/CachedImage.cpp: Add currently _disabled_ cache for SVGImages. The intrinsic size negotiation will need to use multiple SVGImages
  4592. for each requested size (equal to the size of the embedding place for the image) - make it possible to cache these SVGImages, and maintain a cache
  4593. for them. The hash code is a 1:1 refactoring from the already present code in CSSImageGeneratorValue, now named 'ImageBySizeCache'.
  4594. (WebCore::CachedImage::lookupImageForSize): Looks up an Image from the cache for a given IntSize. Currently turned off.
  4595. (WebCore::CachedImage::lookupImageForRenderer): Looks up an Image from the cache for a given renderer. Currently turned off.
  4596. (WebCore::CachedImage::lookupOrCreateImageForRenderer): Looks up an Image from the cache or creates a new SVGImage for a given size and caches it, if possible. Currently turned off.
  4597. All following changes share this: Don't operate on m_image directly, instead always look up one from the cache for a given size or renderer - if that's not present fallback to m_image.
  4598. When an SVGImage is first created by CachedImage::createImage() and stored in m_image, the cache remains empty.
  4599. If eg. <img width="30" height="70" src="foo.svg"> is used which implies a container size of 30x70 a new SVGImage is created with the additional information of a 30x70 container size
  4600. which is immediately passed to the SVGImage after its creation. This SVGImage is put in the ImageBySizeCache associated with a container size of 30x70.
  4601. We now have two SVGImage objects present, one living in CachedImage::m_image, created by createImage() during data decoding, and one living in the ImageBySizeCache
  4602. created by lookupOrCreateImageForRenderer() associated with the 30x70 container. The first SVGImage::size() will return a value as defined in the referenced foo.svg,
  4603. whereas the SVGImage::size() call of the new SVGImage living in the cache reports 30x70 and renders according to that.
  4604. Whenever any method of CachedImage is called with a RenderObject* or IntSize, we can't just operate on m_image anymore but instead have to lookup the right
  4605. images for a certain renderer/size from the cache and operate on these. When calling eg. CachedImage::image() with a null renderer, m_image is returned.
  4606. When passing with a valid renderer only cache lookups are done if the m_image is actually a SVGImage, otherwhise lookupImageForSize/Renderer will just return the m_image.
  4607. There is no logical change induced for non-SVGImage derived images.
  4608. CachedImage::image() of course needs a RenderObject* parameter now, to identify which of the images from the cache to use, if the underlying image is a SVGImage.
  4609. Luckily these information are already present in StyleCachedImage/StyleImage & friends and only need to be added for some additional methods.
  4610. (WebCore::CachedImage::image): FIXME
  4611. (WebCore::CachedImage::imageForRenderer): Call lookupOrCreateImageForRenderer() instead of returning m_image, if it's not null. Its a no-op for non SVGImage derived objects.
  4612. (WebCore::CachedImage::setContainerSizeForRenderer): For non-SVGImages, just pass on the size to the m_image. For SVGImages, associate the passed in renderer with the IntSize in the cache.
  4613. This does NOT create the SVGImage yet, this is delayed until imageForRenderer() is called for a given renderer that wants this size.
  4614. (WebCore::CachedImage::imageSize): Don't operate on m_image, ask lookupImageForRenderer() with the incoming renderer.
  4615. (WebCore::CachedImage::imageRect): Ditto.
  4616. (WebCore::CachedImage::clear): Force clearing the m_svgImageCache.
  4617. (WebCore::CachedImage::data): Call m_image->size() instead of imageSize(), to avoid having to pass a null renderer to imageSize() as here no renderer is available yet.
  4618. (WebCore::CachedImage::destroyDecodedData): Don't destroy decoded data for SVG images, as m_data needs to be accessable at any time to construct a cloned SVGImage.
  4619. In future we don't need this anymore if we make sure multiple SVGImages share the same trees, but that's for a follow-up patch.
  4620. (WebCore::CachedImage::decodedSizeChanged): Don't operate on m_image, ask lookupImageForRenderer() with the incoming renderer.
  4621. (WebCore::CachedImage::didDraw): Ditto.
  4622. (WebCore::CachedImage::shouldPauseAnimation): Ditto.
  4623. (WebCore::CachedImage::animationAdvanced): Ditto.
  4624. (WebCore::CachedImage::changedInRect): Ditto. (eg. when leaving out this change animated SVG images wouldn't update anymore, as the animation didn't happen on m_image!)
  4625. * loader/cache/CachedImage.h: imageForRenderer/canRender/setContainerSizeForRenderer/imageSizeForRenderer now all take a RenderObject* parameter to identifiy the current user of the image.
  4626. (WebCore::CachedImage::canRender): Pass on the incoming renderer to imageSizeForRenderer().
  4627. * page/DragController.cpp:
  4628. (WebCore::getImage): Use new CachedImage::imageForRenderer(RenderObject*) method.
  4629. * page/EventHandler.cpp:
  4630. (WebCore::EventHandler::selectCursor): Ditto.
  4631. * page/PageSerializer.cpp:
  4632. (WebCore::PageSerializer::serializeFrame): Ditto.
  4633. (WebCore::PageSerializer::addImageToResources): Ditto.
  4634. (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration): Ditto.
  4635. * page/PageSerializer.h:
  4636. * platform/chromium/ClipboardChromium.cpp:
  4637. (WebCore::writeImageToDataObject): Ditto.
  4638. * platform/chromium/PasteboardChromium.cpp:
  4639. (WebCore::Pasteboard::writeImage): Ditto.
  4640. * platform/graphics/Image.h:
  4641. (WebCore::Image::isSVGImage): Add boolean helper to identify SVGImages, just like isBitmapImage().
  4642. * platform/gtk/ClipboardGtk.cpp:
  4643. (WebCore::ClipboardGtk::declareAndWriteDragImage): Use new CachedImage::imageForRenderer(RenderObject*) method.
  4644. * platform/gtk/PasteboardGtk.cpp:
  4645. (WebCore::Pasteboard::writeImage): Ditto.
  4646. * platform/mac/HTMLConverter.mm:
  4647. (fileWrapperForElement): Ditto.
  4648. * platform/mac/PasteboardMac.mm:
  4649. (WebCore::Pasteboard::writeImage): Ditto.
  4650. * platform/qt/ClipboardQt.cpp:
  4651. (WebCore::ClipboardQt::declareAndWriteDragImage): Ditto.
  4652. * platform/qt/PasteboardQt.cpp:
  4653. (WebCore::Pasteboard::writeImage): Ditto.
  4654. * platform/win/ClipboardWin.cpp:
  4655. (WebCore::writeImageToDataObject): Ditto.
  4656. * platform/win/PasteboardWin.cpp:
  4657. (WebCore::Pasteboard::writeImage): Ditto.
  4658. * platform/wince/PasteboardWinCE.cpp:
  4659. (WebCore::Pasteboard::writeImage): Ditto.
  4660. * rendering/HitTestResult.cpp:
  4661. (WebCore::HitTestResult::image): Ditto.
  4662. * rendering/ImageBySizeCache.cpp: Copied from WebCore/css/CSSImageGeneratorValue.cpp, to preserve history for the original cache code.
  4663. (WebCore::ImageBySizeCache::ImageBySizeCache): Straight copy from CSSImageGeneratorValue, renamed to ImageBySizeCache, removing all but the cache relevant code.
  4664. (WebCore::ImageBySizeCache::addClient): Ditto.
  4665. (WebCore::ImageBySizeCache::removeClient): Ditto.
  4666. (WebCore::ImageBySizeCache::getImage): Ditto.
  4667. (WebCore::ImageBySizeCache::putImage): Ditto.
  4668. (WebCore::ImageBySizeCache::clear): New function, that clears the cache, introduced for the needs of CachedImage.
  4669. (WebCore::ImageBySizeCache::imageForSize): New function to query an Image* for a given IntSize, introduced for the needs of CachedImage.
  4670. (WebCore::ImageBySizeCache::sizeForClient): New function to query an IntSize for a given renderer.
  4671. * rendering/ImageBySizeCache.h: Copied from WebCore/css/CSSImageGeneratorValue.h.
  4672. (WebCore::ImageBySizeCache::clients):
  4673. * rendering/InlineFlowBox.cpp:
  4674. (WebCore::InlineFlowBox::paintFillLayer): CachedImage::canRender() now takes a RenderObject* parameter.
  4675. (WebCore::InlineFlowBox::paintBoxDecorations): Ditto.
  4676. (WebCore::InlineFlowBox::paintMask): Ditto.
  4677. * rendering/RenderBox.cpp:
  4678. (WebCore::RenderBox::paintMaskImages): Ditto.
  4679. (WebCore::RenderBox::repaintLayerRectsForImage): Ditto.
  4680. * rendering/RenderBoxModelObject.cpp:
  4681. (WebCore::RenderBoxModelObject::paintFillLayerExtended): Ditto.
  4682. (WebCore::RenderBoxModelObject::calculateFillTileSize): Ditto (for CachedImage::setContainerSizeForRenderer()).
  4683. (WebCore::RenderBoxModelObject::paintNinePieceImage): Ditto.
  4684. * rendering/RenderImage.cpp:
  4685. (WebCore::RenderImage::imageSizeForError): Use new CachedImage::imageForRenderer(RenderObject*) method.
  4686. (WebCore::RenderImage::setImageSizeForAltText): Ditto.
  4687. (WebCore::RenderImage::computeReplacedLogicalWidth): FIXME
  4688. * rendering/RenderImageResource.cpp:
  4689. (WebCore::RenderImageResource::setContainerSizeForRenderer): Pass on m_renderer to CachedImage::setContainerSizeForRenderer().
  4690. * rendering/RenderImageResource.h: Remove constness from setContainerSizeForRenderer.
  4691. (WebCore::RenderImageResource::image): Pass on m_renderer to CachedImage::image().
  4692. (WebCore::RenderImageResource::imageSize): Pass on m_renderer to CachedImage::imageSizeForRenderer().
  4693. * rendering/RenderImageResourceStyleImage.h:
  4694. (WebCore::RenderImageResourceStyleImage::setContainerSizeForRenderer): Remove constness, pass on m_renderer to StyleImage::setContainerSizeForRenderer().
  4695. * rendering/RenderLayerBacking.cpp:
  4696. (WebCore::RenderLayerBacking::isDirectlyCompositedImage): Use new CachedImage::imageForRenderer(RenderObject*) method.
  4697. (WebCore::RenderLayerBacking::updateImageContents): Ditto.
  4698. * rendering/RenderListMarker.cpp:
  4699. (WebCore::RenderListMarker::computePreferredLogicalWidths): CachedImage::setContainerSizeForRenderer() now takes a RenderObject* parameter.
  4700. * rendering/RenderObject.cpp:
  4701. (WebCore::mustRepaintFillLayers): CachedImage::canRender() now takes a RenderObject* parameter.
  4702. (WebCore::RenderObject::borderImageIsLoadedAndCanBeRendered): Ditto.
  4703. * rendering/style/StyleCachedImage.cpp:
  4704. (WebCore::StyleCachedImage::canRender): Pass on incoming renderer to CachedImage::canRender().
  4705. (WebCore::StyleCachedImage::imageSize): Pass on incoming renderer to CachedImage::imageSizeForRenderer().
  4706. (WebCore::StyleCachedImage::setContainerSizeForRenderer): Pass on incoming renderer to CachedImage::setContainerSizeForRenderer().
  4707. (WebCore::StyleCachedImage::addClient): Remove unneeded return statment in void method.
  4708. (WebCore::StyleCachedImage::removeClient): Ditto.
  4709. (WebCore::StyleCachedImage::image): Pass on incoming renderer to CachedImage::image().
  4710. * rendering/style/StyleCachedImage.h: Add RenderObject* parameter to canRender()/setContainerSizeForRenderer(). image() already has one, that was unused so far.
  4711. * rendering/style/StyleGeneratedImage.cpp: Inlined setContainerSizeForRenderer.
  4712. * rendering/style/StyleGeneratedImage.h:
  4713. (WebCore::StyleGeneratedImage::setContainerSizeForRenderer): Add RenderObject* parameter.
  4714. * rendering/style/StyleImage.h:
  4715. (WebCore::StyleImage::canRender): Ditto.
  4716. * rendering/style/StylePendingImage.h:
  4717. (WebCore::StylePendingImage::setContainerSizeForRenderer): Ditto.
  4718. * svg/SVGFEImageElement.cpp:
  4719. (WebCore::SVGFEImageElement::build): Use new CachedImage::imageForRenderer(RenderObject*) method.
  4720. * svg/graphics/SVGImage.cpp: Cleanup file, the include hack seems not needed anymore.
  4721. (WebCore::SVGImage::setContainerSize): s/LayoutSize/IntSize/ to match the code in platform/.
  4722. * svg/graphics/SVGImage.h: Ditto.
  4723. (WebCore::SVGImage::isSVGImage): Return true.
  4724. 2011-10-13 Kenichi Ishibashi <bashi@chromium.org>
  4725. [Chromium] Uninitialized read in WebCore::*Font* / HB_GSUB_Select_Feature
  4726. https://bugs.webkit.org/show_bug.cgi?id=70087
  4727. Reviewed by Kent Tamura.
  4728. Initialize local variables in ComplexTextControllerLinux::setupfontFeatures.
  4729. No new tests because there is no behavior change. Manually tested with valgrind.
  4730. * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
  4731. (WebCore::setupFontFeatures):
  4732. 2011-10-13 Csaba Osztrogonác <ossy@webkit.org>
  4733. [Qt][Win] Unreviewed buildfix after r97433.
  4734. * platform/MemoryPressureHandler.h: Add a missing include.
  4735. 2011-10-13 Adam Barth <abarth@webkit.org>
  4736. Spelling error in v8WebSocket::constructorCallback error
  4737. https://bugs.webkit.org/show_bug.cgi?id=63943
  4738. Reviewed by Kent Tamura.
  4739. Fix typo.
  4740. * bindings/v8/custom/V8WebSocketCustom.cpp:
  4741. (WebCore::V8WebSocket::constructorCallback):
  4742. 2011-10-13 Mark Hahnenberg <mhahnenberg@apple.com>
  4743. Rename virtual getConstructData to getConstructDataVirtual
  4744. https://bugs.webkit.org/show_bug.cgi?id=69872
  4745. Reviewed by Geoffrey Garen.
  4746. No new tests.
  4747. Renamed virtual getConstructData functions to getConstructDataVirtual to
  4748. avoid conflicts when we add static getConstructData to the MethodTable.
  4749. * WebCore.exp.in:
  4750. * bindings/js/JSAudioConstructor.cpp:
  4751. (WebCore::JSAudioConstructor::getConstructDataVirtual):
  4752. * bindings/js/JSAudioConstructor.h:
  4753. * bindings/js/JSImageConstructor.cpp:
  4754. (WebCore::JSImageConstructor::getConstructDataVirtual):
  4755. * bindings/js/JSImageConstructor.h:
  4756. * bindings/js/JSOptionConstructor.cpp:
  4757. (WebCore::JSOptionConstructor::getConstructDataVirtual):
  4758. * bindings/js/JSOptionConstructor.h:
  4759. * bindings/js/ScriptFunctionCall.cpp:
  4760. (WebCore::ScriptFunctionCall::construct):
  4761. * bindings/scripts/CodeGeneratorJS.pm:
  4762. (GenerateConstructorDeclaration):
  4763. (GenerateConstructorDefinition):
  4764. * bindings/scripts/test/JS/JSTestInterface.cpp:
  4765. (WebCore::JSTestInterfaceConstructor::getConstructDataVirtual):
  4766. * bridge/runtime_object.cpp:
  4767. (JSC::Bindings::RuntimeObject::getConstructDataVirtual):
  4768. * bridge/runtime_object.h:
  4769. 2011-10-13 Simon Fraser <simon.fraser@apple.com>
  4770. Remove #include of <QuartzCore/QuartzCore.h> in a widely-used header.
  4771. Reviewed by Sam Weinig.
  4772. * platform/PlatformScreen.h: Typedef PlatformDisplayID to a uint32_t.
  4773. * platform/graphics/DisplayRefreshMonitor.h: Typedef CVDisplayLinkRef as
  4774. an opaque type to avoid bringing in QuartzCore.h, and move displayLinkCallback
  4775. to the .cpp file since it uses Core Video types.
  4776. * platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
  4777. (WebCore::displayLinkCallback): Make this a local static function, that
  4778. calls a member fuction on the object.
  4779. (WebCore::DisplayRefreshMonitor::requestRefreshCallback):
  4780. (WebCore::DisplayRefreshMonitor::displayLinkFired):
  4781. 2011-10-13 Michael Saboff <msaboff@apple.com>
  4782. REGRESSION: High frequency memory warnings cause Safari to hog the CPU doing useless garbage collection
  4783. https://bugs.webkit.org/show_bug.cgi?id=69774
  4784. Throttle the processing of memory pressure events to no more often than once every 5 seconds.
  4785. Reviewed by Geoffrey Garen.
  4786. No new tests.
  4787. * platform/MemoryPressureHandler.cpp:
  4788. (WebCore::MemoryPressureHandler::MemoryPressureHandler):
  4789. * platform/MemoryPressureHandler.h:
  4790. * platform/mac/MemoryPressureHandlerMac.mm:
  4791. (WebCore::MemoryPressureHandler::respondToMemoryPressure):
  4792. 2011-10-13 Kentaro Hara <haraken@chromium.org>
  4793. Implement an OverflowEvent constructor for V8
  4794. https://bugs.webkit.org/show_bug.cgi?id=70017
  4795. Reviewed by Adam Barth.
  4796. Test: fast/events/constructors/overflow-event-constructor.html
  4797. * bindings/v8/custom/V8EventConstructors.cpp: Added an OverflowEvent constructor.
  4798. * dom/OverflowEvent.idl: Replaced 'JSCustomConstructor' with 'CustomConstructor'.
  4799. 2011-10-13 Anantanarayanan G Iyengar <ananta@chromium.org>
  4800. https://bugs.webkit.org/show_bug.cgi?id=70064
  4801. The NPObjectWrapper class used by V8 bindings in Chromium to wrap the window
  4802. script object was allocating an instance of itself in the NPAllocate
  4803. implementation and returning this pointer. It should be returning a pointer
  4804. to the wrapped NPObject structure (NPProxyObject). The member function
  4805. getUnderlyingNPObject should return 0 if we fail to find the underlying NPObject
  4806. for the call. It was incorrectly returning a pointer to the same NPObject in
  4807. this case which could cause recursion.
  4808. Reviewed by Nate Chapin.
  4809. No new tests as there is no change in functionality.
  4810. * bindings/v8/NPObjectWrapper.cpp:
  4811. (WebCore::NPObjectWrapper::getObjectForCall):
  4812. (WebCore::NPObjectWrapper::NPAllocate):
  4813. * bindings/v8/NPObjectWrapper.h:
  4814. 2011-10-13 Arthur Hsu <arthurhsu@chromium.org>
  4815. Ensure font loaded before calling Skia to drawPosText in Chrome sandbox
  4816. https://bugs.webkit.org/show_bug.cgi?id=69370
  4817. Reviewed by James Robinson.
  4818. * platform/graphics/chromium/FontChromiumWin.cpp:
  4819. (WebCore::Font::drawGlyphs):
  4820. 2011-10-13 Kentaro Hara <haraken@chromium.org>
  4821. Regarding constructor, replace [ConstructorWith=...] IDL with [CallWith=...] IDL
  4822. https://bugs.webkit.org/show_bug.cgi?id=69801
  4823. As for constructors, [ConstructorWith=...] has the same meaning as [CallWith=...].
  4824. We should deprecate [ConstructorWith=...]. This is a clean-up bug for the bug 65839.
  4825. Reviewed by Adam Barth.
  4826. No new tests, since no change in behavior.
  4827. * bindings/scripts/CodeGeneratorV8.pm: Replaced [ConstructorWith=...] IDL with [CallWith=...] IDL.
  4828. (GenerateConstructorCallback):
  4829. * bindings/scripts/test/TestInterface.idl: Ditto.
  4830. * fileapi/FileReader.idl: Ditto.
  4831. * p2p/PeerConnection.idl: Ditto.
  4832. * page/EventSource.idl: Ditto.
  4833. * workers/Worker.idl: Ditto.
  4834. 2011-10-13 Kentaro Hara <haraken@chromium.org>
  4835. Constructor should not be called if the object is being constructed inside WebCore
  4836. https://bugs.webkit.org/show_bug.cgi?id=70015
  4837. Reviewed by Adam Barth.
  4838. Summary: A DOM object can be created from the JS context and from the WebCore context.
  4839. Constructor should be called if the object is created from the JS context,
  4840. but should not be called if the object is created from the WebCore context.
  4841. Details:
  4842. - Expected behavior when the object is created from the JS context (e.g. "new Event()"):
  4843. (1) V8XXXX::constructorCallback() is called.
  4844. (2) V8XXXX::constructorCallback() calls XXXX::create().
  4845. (3) XXXX::create() creates a C++ object.
  4846. (4) V8XXXX::constructorCallback() calls toV8() for the C++ object.
  4847. (5) toV8() wraps the C++ object and returns the wrapped JS object.
  4848. - Actual behavior when the object is created from the JS context (e.g. "new Event()"):
  4849. As described above (1) - (5). That's fine!!
  4850. - Expected behavior when the object is created from the WebCore context.
  4851. (e.g. "window.addEventListener("load", function (event) { ... });". In this case,
  4852. the Event object is created inside the WebCore context):
  4853. (1) WebCore calls XXXX::create().
  4854. (2) XXXX::create() creates a C++ object.
  4855. (3) WebCore calls toV8() for the C++ object.
  4856. (4) toV8() wraps the C++ object and returns the wrapped JS object.
  4857. - Actual behavior when the object is created from the WebCore context.
  4858. (e.g. "window.addEventListener("load", function (event) { ... });"):
  4859. (1) WebCore calls XXXX::create().
  4860. (2) XXXX::create() creates a C++ object.
  4861. (3) WebCore calls toV8() for the C++ object.
  4862. (4) toV8() can call XXXX::constructorCallback(). (Whether or not toV8() calls
  4863. XXXX::constructorCallback() depends on the implementation of toV8().)
  4864. (5) V8XXXX::constructorCallback() calls XXXX::create().
  4865. (6) XXXX::create() creates __another__ C++ object.
  4866. (7) V8XXXX::constructorCallback() calls toV8() for the C++ object.
  4867. (8) toV8() wraps the C++ object and returns the wrapped JS object.
  4868. This actual behavior definitely causes the following problems:
  4869. - Problem1: The object returned to JS is not the object created in (2)
  4870. but the object created in (6). However, I do not yet know a test case that causes
  4871. some visible bug because of this problem.
  4872. - Problem2: In (4), XXXX::constructorCallback() can be called with no argument.
  4873. If XXXX::constructorCallback() expects at least one argument, XXXX::constructorCallback()
  4874. throws TypeError, resulting in crash. For example, Event caused this problem
  4875. when I implemented constructor for Event. Based on the discussion with Dominicc,
  4876. we solved this problem by adding the following two lines of code to Event::constructorCallback()
  4877. (See here: http://codesearch.google.com/codesearch#OAMlx_jo-ck/src/third_party/WebKit/Source/WebCore/bindings/v8/custom/V8EventConstructors.cpp&exact_package=chromium&q=allowallocation&type=cs):
  4878. XXXX::constructorCallback(...) {
  4879. ...;
  4880. if (AllowAllocation::current())
  4881. return args.Holder();
  4882. ...;
  4883. }
  4884. This if check means "XXXX::constructorCallback() returns immediately if it is called
  4885. from the WebCore context".
  4886. With these observations, we think that all constructorCallback() should have the above
  4887. if check. This patch adds the if check to CodeGeneratorV8.pm. After this patch is landed,
  4888. I would like to add the if check to all existing custom V8 constructors.
  4889. No new tests, since we could not find a test case that causes some visible bug without the if check.
  4890. * bindings/scripts/CodeGeneratorV8.pm:
  4891. (GenerateConstructorCallback): Generates a constructor so that it returns immediately without doing anything if the constructor is called from the WebCore context.
  4892. * bindings/scripts/test/V8/V8TestInterface.cpp: Updated the result.
  4893. (WebCore::V8TestInterface::constructorCallback):
  4894. * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
  4895. (WebCore::V8TestObj::constructorCallback):
  4896. 2011-10-13 Kentaro Hara <haraken@chromium.org>
  4897. Implement a BeforeLoadEvent constructor for V8
  4898. https://bugs.webkit.org/show_bug.cgi?id=69980
  4899. Reviewed by Adam Barth.
  4900. Test: fast/events/constructors/before-load-event-constructor.html
  4901. * bindings/v8/custom/V8EventConstructors.cpp: Added a BeforeLoadEvent constructor.
  4902. * dom/BeforeLoadEvent.idl: Replaced 'JSCustomConstructor' with 'CustomConstructor'.
  4903. 2011-10-13 Joshua Bell <jsbell@chromium.org>
  4904. make IDBFactory.open wait for pending setVersion transactions to complete
  4905. https://bugs.webkit.org/show_bug.cgi?id=69307
  4906. Reviewed by Tony Chang.
  4907. Added a queue of pending open calls, similar to the queue of pending
  4908. setVersion calls. Ensure pending calls are processed in the correct
  4909. order when transactions complete.
  4910. Tests: storage/indexeddb/open-close-version.html
  4911. storage/indexeddb/two-version-changes.html
  4912. storage/indexeddb/version-change-exclusive.html
  4913. * storage/IDBDatabaseBackendImpl.cpp:
  4914. (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::create):
  4915. (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::callbacks):
  4916. (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::PendingOpenCall):
  4917. (WebCore::IDBDatabaseBackendImpl::setVersion):
  4918. (WebCore::IDBDatabaseBackendImpl::transactionStarted):
  4919. (WebCore::IDBDatabaseBackendImpl::transactionFinished):
  4920. (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
  4921. (WebCore::IDBDatabaseBackendImpl::openConnection):
  4922. (WebCore::IDBDatabaseBackendImpl::close):
  4923. * storage/IDBDatabaseBackendImpl.h:
  4924. * storage/IDBFactoryBackendImpl.cpp:
  4925. (WebCore::IDBFactoryBackendImpl::open):
  4926. * storage/IDBTransactionBackendImpl.cpp:
  4927. (WebCore::IDBTransactionBackendImpl::abort):
  4928. (WebCore::IDBTransactionBackendImpl::start):
  4929. (WebCore::IDBTransactionBackendImpl::commit):
  4930. 2011-10-13 Chris Marrin <cmarrin@apple.com>
  4931. Fix Leopard build
  4932. Unreviewed.
  4933. * platform/graphics/DisplayRefreshMonitor.h: Added.
  4934. 2011-10-12 Chris Marrin <cmarrin@apple.com>
  4935. Sync requestAnimationFrame callback to CVDisplayLink on Mac
  4936. https://bugs.webkit.org/show_bug.cgi?id=68911
  4937. Reviewed by Simon Fraser.
  4938. Test: fast/animation/request-animation-frame-iframe.html
  4939. Implement CVDisplayLink which checks to see if any scheduleAnimation requests
  4940. have come in. If so, remember the timestamp and do a callOnMainThread to fire
  4941. the callbacks. A DisplayRefreshMonitorManager is a singleton which has a list
  4942. of DisplayRefreshMonitors, one for each display. Each monitor has one or more
  4943. DisplayRefreshMonitorClients, which is a abstract virtual class implemented
  4944. by ScriptAnimationController. When an animation is scheduled, the
  4945. displayRefreshFired method is called on the client, which in turn calls the
  4946. requestAnimationFrame callbacks.
  4947. DisplayRefreshMonitor and therefore the CVDisplayLink it owns is discarded
  4948. when it no longer has any clients. This minimizes the number of concurrent
  4949. CVDisplayLink threads.
  4950. * WebCore.exp.in:
  4951. * WebCore.xcodeproj/project.pbxproj:
  4952. * dom/Document.cpp:
  4953. (WebCore::Document::windowScreenDidChange):
  4954. (WebCore::Document::webkitRequestAnimationFrame):
  4955. * dom/Document.h:
  4956. * dom/ScriptedAnimationController.cpp:
  4957. (WebCore::ScriptedAnimationController::ScriptedAnimationController):
  4958. (WebCore::ScriptedAnimationController::windowScreenDidChange):
  4959. (WebCore::ScriptedAnimationController::scheduleAnimation):
  4960. * dom/ScriptedAnimationController.h:
  4961. (WebCore::ScriptedAnimationController::displayRefreshFired):
  4962. * page/Page.cpp:
  4963. (WebCore::Page::Page):
  4964. (WebCore::Page::windowScreenDidChange):
  4965. * page/Page.h:
  4966. (WebCore::Page::displayID):
  4967. * platform/PlatformScreen.h:
  4968. * platform/graphics/DisplayRefreshMonitor.cpp: Added.
  4969. (WebCore::DisplayRefreshMonitorClient::DisplayRefreshMonitorClient):
  4970. (WebCore::DisplayRefreshMonitorClient::~DisplayRefreshMonitorClient):
  4971. (WebCore::DisplayRefreshMonitorClient::fireDisplayRefreshIfNeeded):
  4972. (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
  4973. (WebCore::DisplayRefreshMonitor::refreshDisplayOnMainThread):
  4974. (WebCore::DisplayRefreshMonitorManager::sharedManager):
  4975. (WebCore::DisplayRefreshMonitorManager::findMonitor):
  4976. (WebCore::DisplayRefreshMonitorManager::registerClient):
  4977. (WebCore::DisplayRefreshMonitorManager::unregisterClient):
  4978. (WebCore::DisplayRefreshMonitorManager::scheduleAnimation):
  4979. (WebCore::DisplayRefreshMonitorManager::windowScreenDidChange):
  4980. * platform/graphics/DisplayRefreshMonitor.h: Added.
  4981. (WebCore::DisplayRefreshMonitorClient::scheduleAnimation):
  4982. (WebCore::DisplayRefreshMonitor::hasClients):
  4983. (WebCore::DisplayRefreshMonitor::addClient):
  4984. (WebCore::DisplayRefreshMonitor::removeClient):
  4985. (WebCore::DisplayRefreshMonitor::displayID):
  4986. (WebCore::DisplayRefreshMonitorManager::DisplayRefreshMonitorManager):
  4987. * platform/graphics/mac/DisplayRefreshMonitorMac.cpp: Added.
  4988. (WebCore::DisplayRefreshMonitor::displayLinkCallback):
  4989. (WebCore::DisplayRefreshMonitor::~DisplayRefreshMonitor):
  4990. (WebCore::DisplayRefreshMonitor::scheduleAnimation):
  4991. 2011-10-13 Abhishek Arya <inferno@chromium.org>
  4992. Unreviewed. Qt compile fix.
  4993. * css/CSSFontFaceSource.cpp: include Document.h.
  4994. 2011-10-12 Abhishek Arya <inferno@chromium.org>
  4995. Register custom fonts at their creation time,
  4996. rather than at retirement time.
  4997. https://bugs.webkit.org/show_bug.cgi?id=68929
  4998. Reviewed by Dan Bernstein.
  4999. Test: fast/text/custom-font-data-crash2.html
  5000. * css/CSSFontFace.cpp:
  5001. * css/CSSFontFace.h: remove function added in r94508,
  5002. which is no longer needed. We now register custom fonts
  5003. at creation time.
  5004. * css/CSSFontFaceSource.cpp:
  5005. (WebCore::CSSFontFaceSource::pruneTable): no longer need
  5006. to delete/retire font data here, it will be handled in ~Document.
  5007. (WebCore::CSSFontFaceSource::getFontData): register custom
  5008. font to document's m_customFonts.
  5009. * css/CSSFontSelector.cpp:
  5010. * css/CSSFontSelector.h: remove function added in r94508,
  5011. which is no longer needed. We now register custom fonts
  5012. at creation time.
  5013. * css/CSSSegmentedFontFace.cpp:
  5014. (WebCore::CSSSegmentedFontFace::pruneTable): no longer need
  5015. to delete/retire font data here, it will be handled in ~Document.
  5016. (WebCore::CSSSegmentedFontFace::getFontData): register custom
  5017. font to document's m_customFonts.
  5018. * dom/Document.cpp: Change function names to registerCustomFont
  5019. , deleteCustomFonts and local to m_customFont.
  5020. (WebCore::Document::~Document):
  5021. (WebCore::Document::recalcStyle): yanking out the comment. We
  5022. no longer keep retired custom fonts. We clear all custom fonts
  5023. on Document destruction.
  5024. (WebCore::Document::registerCustomFont):
  5025. (WebCore::Document::deleteCustomFonts):
  5026. * dom/Document.h:
  5027. 2011-10-13 Ryosuke Niwa <rniwa@webkit.org>
  5028. Crash in DeleteSelectionCommand::handleGeneralDelete
  5029. https://bugs.webkit.org/show_bug.cgi?id=70045
  5030. Reviewed by Darin Adler.
  5031. Exit early when m_upstreamStart is null.
  5032. No new tests because we don't have a reduction.
  5033. * editing/DeleteSelectionCommand.cpp:
  5034. (WebCore::DeleteSelectionCommand::handleGeneralDelete):
  5035. 2011-10-13 David Hyatt <hyatt@apple.com>
  5036. https://bugs.webkit.org/show_bug.cgi?id=70049
  5037. [CSS Regions] Add a test of a float being pushed down because it can't fit
  5038. next to another float and make sure it re-evaluates its position when it changes
  5039. regions as a result of the push.
  5040. Reviewed by Sam Weinig.
  5041. Added new test in fast/regions.
  5042. * rendering/RenderBlock.cpp:
  5043. (WebCore::RenderBlock::computeLogicalLocationForFloat):
  5044. 2011-10-13 Adam Barth <abarth@webkit.org>
  5045. Move XSTL to script-src in Content-Security-Policy
  5046. https://bugs.webkit.org/show_bug.cgi?id=63637
  5047. Reviewed by Eric Seidel.
  5048. The spec was unclear about how to treat XSLT. My reading was that they
  5049. should fall under style-src, but further discussion on the mailing list
  5050. settled on using script-src because an XSLT can inject arbitrary DOM
  5051. and script into a page, which is more risky than including style.
  5052. Tests: http/tests/security/contentSecurityPolicy/xsl-unaffected-by-style-src-1.php
  5053. http/tests/security/contentSecurityPolicy/xsl-unaffected-by-style-src-2.php
  5054. * loader/cache/CachedResourceLoader.cpp:
  5055. (WebCore::CachedResourceLoader::canRequest):
  5056. 2011-10-13 Zeno Albisser <zeno.albisser@nokia.com>
  5057. [Qt] QtWebKit build error for Mac 32bit
  5058. https://bugs.webkit.org/show_bug.cgi?id=69914
  5059. In WebCore.pro and QtWebKit.pro we define NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES
  5060. when compiling with ENABLE_VIDEO and with WTF_USE_QTKIT.
  5061. But this is meant to be defined in NSGeometry.h under certain preconditions.
  5062. Without setting NS_BUILD_32_LIKE_64 none of these preconditions is
  5063. met and therefore NSGeometry.h will create several conflicting type definitions.
  5064. With this patch we create consistent definitions again.
  5065. Due to the order of include files we cannot remove
  5066. NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES from WebCore.pro.
  5067. Reviewed by Andreas Kling.
  5068. * WebCore.pro:
  5069. 2011-10-13 Tom Hudson <tomhudson@google.com>
  5070. Revert border radius clips (r95239) for Chromium due to performance issues. Update test expectations to skip border radius clip layout tests.
  5071. https://bugs.webkit.org/show_bug.cgi?id=69844
  5072. Reviewed by Simon Fraser.
  5073. * rendering/RenderLayer.cpp:
  5074. (WebCore::RenderLayer::clipToRect): Only process border radius clips #if !PLATFORM(CHROMIUM)
  5075. 2011-10-13 Julien Chaffraix <jchaffraix@webkit.org>
  5076. Deprecate event.layerX and event.layerY in WebKit
  5077. https://bugs.webkit.org/show_bug.cgi?id=69951
  5078. Reviewed by Darin Adler.
  5079. layerX and layerY were concepts of the old Netscape code that stayed
  5080. in WebKit for a long time without changes. Now the code is completely
  5081. wrong and Mozilla has expressed some interest in removing it from their
  5082. API too.
  5083. This is a first step in the removal as layerX and layerY are exposed
  5084. in some APIs. Chromium and Win are fine with removing the property
  5085. directly, but ObjC needs to deprecate them first.
  5086. * bindings/objc/PublicDOMInterfaces.h: Mark the API as deprecated.
  5087. * dom/MouseRelatedEvent.cpp:
  5088. (WebCore::MouseRelatedEvent::layerX):
  5089. (WebCore::MouseRelatedEvent::layerY):
  5090. * dom/UIEvent.cpp:
  5091. (WebCore::UIEvent::layerX):
  5092. (WebCore::UIEvent::layerY):
  5093. Added a call to warnDeprecatedLayerXYUsage in the previous functions.
  5094. (WebCore::UIEvent::warnDeprecatedLayerXYUsage): Print a warning in the
  5095. console about the removal of event.layerX and event.layerY in the near future.
  5096. * dom/UIEvent.h: Added warnDeprecatedLayerXYUsage.
  5097. 2011-10-03 Robert Hogan <robert@webkit.org>
  5098. CSS 2.1 failure: inline-replaced-height-008.htm
  5099. https://bugs.webkit.org/show_bug.cgi?id=69273
  5100. Reviewed by Simon Fraser.
  5101. Test: css2.1/20110323/inline-block-replaced-height-008.html
  5102. Per http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height, if 'height' has computed value of
  5103. 'auto', the replaced element has an intrinsic ratio and its used width is known or resolved, then
  5104. the used value of 'height' is determined by the equation (used width) / (intrinsic ratio).
  5105. * rendering/RenderImage.cpp:
  5106. (WebCore::RenderImage::computeReplacedLogicalHeight):
  5107. * rendering/RenderReplaced.h:
  5108. 2011-10-13 Sheriff Bot <webkit.review.bot@gmail.com>
  5109. Unreviewed, rolling out r97362.
  5110. http://trac.webkit.org/changeset/97362
  5111. https://bugs.webkit.org/show_bug.cgi?id=70039
  5112. Relies on V8 APIs that have been reverted upstream. (Requested
  5113. by dglazkov on #webkit).
  5114. * English.lproj/localizedStrings.js:
  5115. * bindings/js/ScriptProfiler.cpp:
  5116. * bindings/js/ScriptProfiler.h:
  5117. * bindings/v8/ScriptProfiler.cpp:
  5118. * bindings/v8/ScriptProfiler.h:
  5119. * inspector/Inspector.json:
  5120. * inspector/InspectorController.cpp:
  5121. (WebCore::InspectorController::InspectorController):
  5122. * inspector/InspectorProfilerAgent.cpp:
  5123. (WebCore::InspectorProfilerAgent::create):
  5124. (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
  5125. * inspector/InspectorProfilerAgent.h:
  5126. * inspector/front-end/DetailedHeapshotGridNodes.js:
  5127. (WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.hoverMessage):
  5128. (WebInspector.HeapSnapshotGenericObjectNode):
  5129. (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
  5130. (WebInspector.HeapSnapshotGenericObjectNode.prototype.hoverMessage):
  5131. (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
  5132. * inspector/front-end/DetailedHeapshotView.js:
  5133. (WebInspector.DetailedHeapshotView.prototype._showStringContentPopover):
  5134. * inspector/front-end/HeapSnapshot.js:
  5135. (WebInspector.HeapSnapshot.prototype._init):
  5136. (WebInspector.HeapSnapshot.prototype.dispose):
  5137. (WebInspector.HeapSnapshot.prototype.updateStaticData):
  5138. (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
  5139. * inspector/front-end/HeapSnapshotProxy.js:
  5140. * inspector/front-end/RemoteObject.js:
  5141. * inspector/front-end/heapProfiler.css:
  5142. 2011-10-13 David Hyatt <hyatt@apple.com>
  5143. https://bugs.webkit.org/show_bug.cgi?id=69932
  5144. Layout repainting messed up for objects in regions. There were two bugs here.
  5145. The first is that the regionOverflowRect needs to at least be the size of the
  5146. region's rect. When you're in the middle of layout, you haven't computed the
  5147. overflow rect for the flow thread yet (the flow thread's height could even be 0),
  5148. and so you just need to enforce a minimum size. Also removed the region-overflow:break
  5149. clipping behavior, since it was established that was wrong.
  5150. The second bug is that when you tell a region to repaint, you need to disable layout state,
  5151. since applying layout deltas from the flow thread makes no sense. The region is in a totally
  5152. different place in the render tree, so the current flow thread layout state can't be used
  5153. to determine your coordinate offset.
  5154. Reviewed by Dan Bernstein.
  5155. Added fast/repaint test.
  5156. * rendering/RenderFlowThread.cpp:
  5157. (WebCore::RenderFlowThread::repaintRectangleInRegions):
  5158. * rendering/RenderRegion.cpp:
  5159. (WebCore::RenderRegion::regionOverflowRect):
  5160. 2011-10-13 Renata Hodovan <reni@webkit.org>
  5161. FEComponentTransfer element doesn't support dynamic invalidation
  5162. https://bugs.webkit.org/show_bug.cgi?id=69747
  5163. The dynamic changes are captured by the svgAttributeChange() function, and
  5164. invalidate the filter primitive if necessary.
  5165. invalidateFilterPrimitiveParent() is a new free function in
  5166. SVGFilterPrimitiveStanardAttributes what makes the invalidation possible
  5167. by objects not inherited from SVGFilterPrimitiveStanardAttributes too.
  5168. This solution was used in SVGFEMergeNodeElement::svgAttributeChanged()
  5169. previously and now it can use this new function too.
  5170. Reviewed by Nikolas Zimmermann.
  5171. Tests: svg/dynamic-updates/SVGFEComponentTransferElement-dom-amplitude-attr.html
  5172. svg/dynamic-updates/SVGFEComponentTransferElement-dom-exponent-attr.html
  5173. svg/dynamic-updates/SVGFEComponentTransferElement-dom-intercept-attr.html
  5174. svg/dynamic-updates/SVGFEComponentTransferElement-dom-offset-attr.html
  5175. svg/dynamic-updates/SVGFEComponentTransferElement-dom-slope-attr.html
  5176. svg/dynamic-updates/SVGFEComponentTransferElement-dom-tableValues-attr.html
  5177. svg/dynamic-updates/SVGFEComponentTransferElement-dom-type-attr.html
  5178. svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-amplitude-prop.html
  5179. svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-exponent-prop.html
  5180. svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-intercept-prop.html
  5181. svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-offset-prop.html
  5182. svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-slope-prop.html
  5183. svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-tableValues-prop.html
  5184. svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-type-prop.html
  5185. * svg/SVGComponentTransferFunctionElement.cpp:
  5186. (WebCore::SVGComponentTransferFunctionElement::svgAttributeChanged):
  5187. * svg/SVGComponentTransferFunctionElement.h:
  5188. * svg/SVGFEComponentTransferElement.cpp:
  5189. (WebCore::SVGFEComponentTransferElement::build):
  5190. * svg/SVGFEMergeNodeElement.cpp:
  5191. (WebCore::SVGFEMergeNodeElement::svgAttributeChanged):
  5192. * svg/SVGFilterPrimitiveStandardAttributes.cpp:
  5193. (WebCore::invalidateFilterPrimitiveParent):
  5194. * svg/SVGFilterPrimitiveStandardAttributes.h:
  5195. 2011-10-13 Deepak Sherveghar <bpwv64@motorola.com>
  5196. REGRESSION (r95381): Standalone video can be focused and draws a focus ring.
  5197. https://bugs.webkit.org/show_bug.cgi?id=69097
  5198. Reviewed by Eric Carlson.
  5199. We don't want to focus a media element in a standalone document.
  5200. Test: fast/events/media-focus-in-standalone-media-document.html
  5201. * html/HTMLMediaElement.cpp:
  5202. (WebCore::HTMLMediaElement::supportsFocus): return false if media element is in a standalone media document.
  5203. 2011-10-13 Mikhail Naganov <mnaganov@chromium.org>
  5204. Web Inspector: [Chromium] Add an ability to look up and explore an object from a heap profile.
  5205. https://bugs.webkit.org/show_bug.cgi?id=61179
  5206. This is exteremely helpful when dealing with DOM wrappers, as
  5207. their properties are mostly implemented with getters and thus not
  5208. stored in heap snapshots.
  5209. Reviewed by Pavel Feldman.
  5210. * English.lproj/localizedStrings.js:
  5211. * bindings/js/ScriptProfiler.cpp:
  5212. (WebCore::ScriptProfiler::objectByHeapObjectId):
  5213. * bindings/js/ScriptProfiler.h:
  5214. * bindings/v8/ScriptProfiler.cpp:
  5215. (WebCore::ScriptProfiler::objectByHeapObjectId):
  5216. * bindings/v8/ScriptProfiler.h:
  5217. * inspector/Inspector.json:
  5218. * inspector/InspectorController.cpp:
  5219. (WebCore::InspectorController::InspectorController):
  5220. * inspector/InspectorProfilerAgent.cpp:
  5221. (WebCore::InspectorProfilerAgent::create):
  5222. (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
  5223. (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
  5224. * inspector/InspectorProfilerAgent.h:
  5225. * inspector/front-end/DetailedHeapshotGridNodes.js:
  5226. (WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.queryObjectContent):
  5227. (WebInspector.HeapSnapshotGenericObjectNode):
  5228. (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
  5229. (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent.else.formatResult):
  5230. (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
  5231. (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
  5232. * inspector/front-end/DetailedHeapshotView.js:
  5233. (WebInspector.DetailedHeapshotView.prototype._showObjectPopover):
  5234. * inspector/front-end/HeapSnapshot.js:
  5235. (WebInspector.HeapSnapshotNode.prototype.get canBeQueried):
  5236. (WebInspector.HeapSnapshotNode.prototype.get flags):
  5237. (WebInspector.HeapSnapshotNode.prototype.get isDOMWindow):
  5238. (WebInspector.HeapSnapshot.prototype._init):
  5239. (WebInspector.HeapSnapshot.prototype.dispose):
  5240. (WebInspector.HeapSnapshot.prototype._flagsOfNode):
  5241. (WebInspector.HeapSnapshot.prototype._calculateFlags):
  5242. (WebInspector.HeapSnapshot.prototype.updateStaticData):
  5243. (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
  5244. * inspector/front-end/HeapSnapshotProxy.js:
  5245. (WebInspector.HeapSnapshotProxy.prototype.get nodeFlags):
  5246. * inspector/front-end/RemoteObject.js:
  5247. (WebInspector.RemoteObject.fromError):
  5248. * inspector/front-end/heapProfiler.css:
  5249. (.detailed-heapshot-view tr:not(.selected) td.object-column span.highlight):
  5250. 2011-10-13 Adam Barth <abarth@webkit.org>
  5251. script-src * should allow all URLs
  5252. https://bugs.webkit.org/show_bug.cgi?id=70011
  5253. Reviewed by Eric Seidel.
  5254. This patch gets us slightly ahead of the spec. Technically, script-src
  5255. means "any host" and inherits the current scheme. However, that's not
  5256. what developers expect and it's even contradicted by examples in the
  5257. spec itself. After this patch, * matches all URLs.
  5258. Test: http/tests/security/contentSecurityPolicy/script-src-star-cross-scheme.html
  5259. * page/ContentSecurityPolicy.cpp:
  5260. (WebCore::CSPSourceList::CSPSourceList):
  5261. (WebCore::CSPSourceList::matches):
  5262. (WebCore::CSPSourceList::parseSource):
  5263. (WebCore::CSPSourceList::addSourceStar):
  5264. 2011-10-13 Kentaro Hara <haraken@chromium.org>
  5265. Implement an OverflowEvent constructor for JSC
  5266. https://bugs.webkit.org/show_bug.cgi?id=69907
  5267. Reviewed by Adam Barth.
  5268. There is no spec for the OverflowEvent constructor
  5269. since it is WebKit-specific. However, judging from the current
  5270. IDL of initOverflowEvent(), the constructor IDL should be as follows.
  5271. [Constructor(DOMString type, optional OverflowEventInit eventInitDict)]
  5272. interface OverflowEvent : Event {
  5273. ...;
  5274. }
  5275. dictionary OverflowEventInit : EventInit {
  5276. unsigned short orient;
  5277. boolean horizontalOverflow;
  5278. boolean verticalOverflow;
  5279. }
  5280. Note: In initOverflowEvent(), we cannot specify |bubbles| and |cancelable|.
  5281. I do not know why, but we can find a comment in fast/events/script-tests/init-events.js
  5282. that says "initOverflowEvent has an interface that has a design that's
  5283. inconsistent with the init functions from other events".
  5284. On the other hand, the above constructor enables to specify |bubbles| and |cancelable|,
  5285. which is consistent with other constructors.
  5286. Test: fast/events/constructors/overflow-event-constructor.html
  5287. * bindings/generic/EventConstructors.h: Added a definition for the OverflowEvent constructor.
  5288. * bindings/js/JSEventConstructors.cpp: Added #includes for OverflowEvent.
  5289. * dom/OverflowEvent.cpp:
  5290. (WebCore::OverflowEventInit::OverflowEventInit):
  5291. (WebCore::OverflowEvent::OverflowEvent):
  5292. (WebCore::OverflowEvent::initOverflowEvent):
  5293. * dom/OverflowEvent.h: Added a definition for OverflowEventInit.
  5294. (WebCore::OverflowEvent::create):
  5295. (WebCore::OverflowEvent::orient):
  5296. (WebCore::OverflowEvent::horizontalOverflow):
  5297. (WebCore::OverflowEvent::verticalOverflow):
  5298. * dom/OverflowEvent.idl: Makes OverflowEvent constructible.
  5299. 2011-10-13 Kent Tamura <tkent@chromium.org>
  5300. Cleanup of HTMLSelectElement
  5301. https://bugs.webkit.org/show_bug.cgi?id=69908
  5302. Reviewed by Darin Adler.
  5303. - Change the m_listItems type: Vector<Element*> -> Vector<HTMLElement*>
  5304. - Rename a member: m_recalcListItems -> m_shouldRecalcListItems
  5305. - Fold checkListItems() into listItems()
  5306. - Style fixes
  5307. No new tests, just a cleanup.
  5308. * accessibility/AccessibilityListBox.cpp:
  5309. (WebCore::AccessibilityListBox::addChildren):
  5310. * accessibility/AccessibilityListBoxOption.cpp:
  5311. (WebCore::AccessibilityListBoxOption::listBoxOptionIndex):
  5312. * accessibility/AccessibilityMenuListPopup.cpp:
  5313. (WebCore::AccessibilityMenuListPopup::addChildren):
  5314. * accessibility/AccessibilityRenderObject.cpp:
  5315. (WebCore::AccessibilityRenderObject::stringValue):
  5316. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
  5317. (optionFromSelection):
  5318. (webkit_accessible_selection_get_selection_count):
  5319. * dom/OptionElement.cpp:
  5320. (WebCore::OptionElement::optionIndex):
  5321. * html/HTMLSelectElement.cpp:
  5322. (WebCore::HTMLSelectElement::HTMLSelectElement):
  5323. (WebCore::HTMLSelectElement::add):
  5324. (WebCore::HTMLSelectElement::value):
  5325. (WebCore::HTMLSelectElement::setValue):
  5326. (WebCore::HTMLSelectElement::parseMappedAttribute):
  5327. (WebCore::HTMLSelectElement::recalcListItemsIfNeeded):
  5328. (WebCore::HTMLSelectElement::setOption):
  5329. (WebCore::HTMLSelectElement::setLength):
  5330. (WebCore::HTMLSelectElement::nextValidIndex):
  5331. (WebCore::HTMLSelectElement::firstSelectableListIndex):
  5332. (WebCore::HTMLSelectElement::nextSelectableListIndexPageAway):
  5333. (WebCore::HTMLSelectElement::selectAll):
  5334. (WebCore::HTMLSelectElement::saveLastSelection):
  5335. (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
  5336. (WebCore::HTMLSelectElement::updateListBoxSelection):
  5337. (WebCore::HTMLSelectElement::listBoxOnChange):
  5338. (WebCore::HTMLSelectElement::listItems):
  5339. (WebCore::HTMLSelectElement::setRecalcListItems):
  5340. (WebCore::HTMLSelectElement::recalcListItemsInternal):
  5341. (WebCore::HTMLSelectElement::selectedIndex):
  5342. (WebCore::HTMLSelectElement::setSelectedIndexInternal):
  5343. (WebCore::HTMLSelectElement::optionToListIndex):
  5344. (WebCore::HTMLSelectElement::listToOptionIndex):
  5345. (WebCore::HTMLSelectElement::dispatchFocusEvent):
  5346. (WebCore::HTMLSelectElement::deselectItemsWithoutValidation):
  5347. (WebCore::HTMLSelectElement::saveFormControlState): Use StringBuilder.
  5348. (WebCore::HTMLSelectElement::restoreFormControlState):
  5349. (WebCore::HTMLSelectElement::appendFormData):
  5350. (WebCore::HTMLSelectElement::reset):
  5351. (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
  5352. (WebCore::HTMLSelectElement::updateSelectedState):
  5353. (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
  5354. (WebCore::HTMLSelectElement::lastSelectedListIndex):
  5355. Optimize the code by iterating in the reverse order.
  5356. (WebCore::HTMLSelectElement::typeAheadFind):
  5357. (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
  5358. (WebCore::HTMLSelectElement::length):
  5359. (WebCore::toSelectElement):
  5360. * html/HTMLSelectElement.h:
  5361. * rendering/RenderListBox.cpp:
  5362. (WebCore::RenderListBox::updateFromElement):
  5363. (WebCore::RenderListBox::addFocusRingRects):
  5364. (WebCore::RenderListBox::paintItemForeground):
  5365. (WebCore::RenderListBox::paintItemBackground):
  5366. (WebCore::RenderListBox::nodeAtPoint):
  5367. * rendering/RenderMenuList.cpp:
  5368. (WebCore::RenderMenuList::updateOptionsWidth):
  5369. (WebCore::RenderMenuList::setTextFromOption):
  5370. (WebCore::RenderMenuList::itemText):
  5371. (WebCore::RenderMenuList::itemAccessibilityText):
  5372. (WebCore::RenderMenuList::itemToolTip):
  5373. (WebCore::RenderMenuList::itemIsEnabled):
  5374. (WebCore::RenderMenuList::itemStyle):
  5375. (WebCore::RenderMenuList::itemBackgroundColor):
  5376. (WebCore::RenderMenuList::itemIsSeparator):
  5377. (WebCore::RenderMenuList::itemIsLabel):
  5378. (WebCore::RenderMenuList::itemIsSelected):
  5379. 2011-10-13 Adam Barth <abarth@webkit.org>
  5380. DOMWindow subobjects can be re-created after navigation
  5381. https://bugs.webkit.org/show_bug.cgi?id=68849
  5382. Reviewed by Sam Weinig.
  5383. Test: http/tests/security/xss-DENIED-getSelection-from-inactive-domwindow.html
  5384. * page/DOMWindow.cpp:
  5385. (WebCore::DOMWindow::~DOMWindow):
  5386. - Add ASSERTs to show that we're not recreating these objects.
  5387. - Add a call to clear() as defense in depth in case we have any of
  5388. these objects hanging around.
  5389. (WebCore::DOMWindow::clear):
  5390. - Clear out a couple of objects that weren't getting cleared.
  5391. These are actually not likely to cause problems, but clearing
  5392. them out is the safe thing to do.
  5393. (WebCore::DOMWindow::isActive):
  5394. - Add a concept of whether the DOMWindow is "active" in its frame.
  5395. We had this concept in a couple places already, but centralizing
  5396. it into a helper function make it easier to use and talk about.
  5397. (WebCore::DOMWindow::orientation):
  5398. - Whitespace nit.
  5399. (WebCore::DOMWindow::screen):
  5400. (WebCore::DOMWindow::history):
  5401. (WebCore::DOMWindow::crypto):
  5402. (WebCore::DOMWindow::locationbar):
  5403. (WebCore::DOMWindow::menubar):
  5404. (WebCore::DOMWindow::personalbar):
  5405. (WebCore::DOMWindow::scrollbars):
  5406. (WebCore::DOMWindow::statusbar):
  5407. (WebCore::DOMWindow::toolbar):
  5408. (WebCore::DOMWindow::console):
  5409. (WebCore::DOMWindow::applicationCache):
  5410. (WebCore::DOMWindow::navigator):
  5411. (WebCore::DOMWindow::performance):
  5412. (WebCore::DOMWindow::location):
  5413. (WebCore::DOMWindow::sessionStorage):
  5414. (WebCore::DOMWindow::localStorage):
  5415. (WebCore::DOMWindow::webkitNotifications):
  5416. (WebCore::DOMWindow::webkitIndexedDB):
  5417. (WebCore::DOMWindow::getSelection):
  5418. (WebCore::DOMWindow::styleMedia):
  5419. (WebCore::DOMWindow::webkitURL):
  5420. (WebCore::DOMWindow::webkitStorageInfo):
  5421. - Avoid creating these objects when we're not active. That can
  5422. only lead to sadness.
  5423. (WebCore::DOMWindow::webkitRequestFileSystem):
  5424. (WebCore::DOMWindow::webkitResolveLocalFileSystemURL):
  5425. (WebCore::DOMWindow::openDatabase):
  5426. (WebCore::DOMWindow::postMessage):
  5427. - While not techincally creating subobjects, these functions also
  5428. seem unwise when the DOMWindow is inactive.
  5429. (WebCore::DOMWindow::find):
  5430. (WebCore::DOMWindow::length):
  5431. (WebCore::DOMWindow::getMatchedCSSRules):
  5432. - These functions operate on the active Document. When we're not
  5433. active, that's not us!
  5434. (WebCore::DOMWindow::document):
  5435. - Update to use the new concept of being active rather than having
  5436. this function roll its own implementation.
  5437. (WebCore::DOMWindow::webkitConvertPointFromNodeToPage):
  5438. (WebCore::DOMWindow::webkitConvertPointFromPageToNode):
  5439. (WebCore::DOMWindow::scrollBy):
  5440. (WebCore::DOMWindow::scrollTo):
  5441. - These functions also look unwise to run when inactive because
  5442. they're reading information from the active document.
  5443. - I added a RefPtr for node because the call to
  5444. updateLayoutIgnorePendingStylesheets() seems likely to be able to
  5445. run script somehow.
  5446. (WebCore::DOMWindow::addEventListener):
  5447. (WebCore::DOMWindow::removeEventListener):
  5448. (WebCore::DOMWindow::dispatchLoadEvent):
  5449. (WebCore::DOMWindow::dispatchEvent):
  5450. - I don't think these functions worked when inactive anyway, but
  5451. explicitly blocking them seems wise.
  5452. (WebCore::DOMWindow::setLocation):
  5453. (WebCore::DOMWindow::isInsecureScriptAccess):
  5454. (WebCore::DOMWindow::open):
  5455. (WebCore::DOMWindow::showModalDialog):
  5456. - These already have checks for being active, but it can't hurt to
  5457. be explicit at the top of the function.
  5458. * page/DOMWindow.h:
  5459. 2011-10-13 Kent Tamura <tkent@chromium.org>
  5460. REGRESSION(r89915): <input type=email multiple> don't show the default value
  5461. https://bugs.webkit.org/show_bug.cgi?id=69895
  5462. Reviewed by Hajime Morita.
  5463. m_valueIfDirty became unexpectedly empty because
  5464. EmailInputType::sanitizeValue() returned an empty string for a
  5465. null input string.
  5466. To solve this issue, HTMLInputElement::sanitizeValue() checks
  5467. nullness, and remove the null check of sanitizeValue() of
  5468. InputType subclasses.
  5469. Also, we make InputType::sanitizeValue() const.
  5470. * html/ColorInputType.cpp:
  5471. (WebCore::ColorInputType::sanitizeValue):
  5472. - Make this const.
  5473. - Remove null check.
  5474. * html/ColorInputType.h: Make sanitizeValue() const.
  5475. * html/EmailInputType.cpp:
  5476. (WebCore::EmailInputType::sanitizeValue): Make this const.
  5477. * html/EmailInputType.h: Make sanitizeValue() const.
  5478. * html/HTMLInputElement.cpp:
  5479. (WebCore::HTMLInputElement::sanitizeValue):
  5480. (WebCore::HTMLInputElement::updateValueIfNeeded):
  5481. * html/InputType.cpp:
  5482. (WebCore::InputType::sanitizeValue):
  5483. Returns a null string if the input string is null, and
  5484. don't call InputType::sanitizeValue() in this case.
  5485. * html/InputType.h: Make sanitizeValue() const.
  5486. * html/NumberInputType.cpp:
  5487. (WebCore::NumberInputType::sanitizeValue): Make this const.
  5488. * html/NumberInputType.h: Make sanitizeValue() const.
  5489. * html/RangeInputType.cpp:
  5490. (WebCore::RangeInputType::sanitizeValue):
  5491. - Make this const.
  5492. - Remove null check.
  5493. * html/RangeInputType.h: Make sanitizeValue() const.
  5494. * html/TextFieldInputType.cpp:
  5495. (WebCore::TextFieldInputType::sanitizeValue): Make this const.
  5496. * html/TextFieldInputType.h: Make sanitizeValue() const.
  5497. 2011-10-12 Joseph Pecoraro <joepeck@webkit.org>
  5498. Pass Parsed Accept Attribute MIME Types to WebKit Clients
  5499. https://bugs.webkit.org/show_bug.cgi?id=69598
  5500. Reviewed by David Kilzer.
  5501. No new tests. No new functionality in WebCore, just
  5502. exposing more information to the WebKit port.
  5503. * html/FileInputType.cpp:
  5504. (WebCore::FileInputType::handleDOMActivateEvent):
  5505. (WebCore::FileInputType::receiveDropForDirectoryUpload):
  5506. Set the MIME type list on the FileChooser settings.
  5507. * html/HTMLInputElement.h:
  5508. * html/HTMLInputElement.cpp:
  5509. (WebCore::HTMLInputElement::acceptMIMETypes):
  5510. Accessor for a parsed list of MIME types from the accept attribute.
  5511. * platform/FileChooser.h:
  5512. Add a slot for a MIME type list on the chooser settings.
  5513. 2011-10-12 Joseph Pecoraro <joepeck@webkit.org>
  5514. Pass Parsed Accept Attribute MIME Types to WebKit Clients
  5515. https://bugs.webkit.org/show_bug.cgi?id=69598
  5516. Reviewed by Kent Tamura.
  5517. Deprecate the old String version of getting the "accept"
  5518. mime type values. Instead we will change to include a
  5519. list of MIME types.
  5520. * html/FileInputType.cpp:
  5521. (WebCore::FileInputType::handleDOMActivateEvent):
  5522. (WebCore::FileInputType::receiveDropForDirectoryUpload):
  5523. * platform/FileChooser.h:
  5524. 2011-10-12 Adam Barth <abarth@webkit.org>
  5525. Remove ENABLE(XHTMLMP) and associated code
  5526. https://bugs.webkit.org/show_bug.cgi?id=69729
  5527. Reviewed by David Levin.
  5528. As discussed on webkit-dev, we are removing this feature as part of our
  5529. cleanup of unmaintained code in WebKit.
  5530. * Configurations/FeatureDefines.xcconfig:
  5531. * GNUmakefile.am:
  5532. * GNUmakefile.list.am:
  5533. * WebCore.gypi:
  5534. * WebCore.pro:
  5535. * WebCore.vcproj/WebCore.vcproj:
  5536. * WebCore.xcodeproj/project.pbxproj:
  5537. * dom/DOMImplementation.cpp:
  5538. (WebCore::DOMImplementation::createDocument):
  5539. * dom/Document.cpp:
  5540. (WebCore::Document::Document):
  5541. * dom/Document.h:
  5542. (WebCore::Document::isMediaDocument):
  5543. * dom/Node.cpp:
  5544. * dom/make_names.pl:
  5545. (usesDefaultJSWrapper):
  5546. * features.pri:
  5547. * html/HTMLElement.cpp:
  5548. (WebCore::HTMLElement::rendererIsNeeded):
  5549. * html/HTMLElementsAllInOne.cpp:
  5550. * html/HTMLNoScriptElement.cpp: Removed.
  5551. * html/HTMLNoScriptElement.h: Removed.
  5552. * html/HTMLTagNames.in:
  5553. * html/HTMLViewSourceDocument.cpp:
  5554. (WebCore::HTMLViewSourceDocument::createParser):
  5555. * loader/FrameLoader.cpp:
  5556. * platform/wince/MIMETypeRegistryWinCE.cpp:
  5557. (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
  5558. * xml/parser/XMLDocumentParser.h:
  5559. (WebCore::XMLDocumentParser::isXHTMLDocument):
  5560. * xml/parser/XMLDocumentParserLibxml2.cpp:
  5561. (WebCore::XMLDocumentParser::XMLDocumentParser):
  5562. (WebCore::XMLDocumentParser::startElementNs):
  5563. (WebCore::XMLDocumentParser::endElementNs):
  5564. (WebCore::XMLDocumentParser::endDocument):
  5565. (WebCore::XMLDocumentParser::internalSubset):
  5566. (WebCore::getEntityHandler):
  5567. (WebCore::externalSubsetHandler):
  5568. * xml/parser/XMLDocumentParserQt.cpp:
  5569. (WebCore::XMLDocumentParser::XMLDocumentParser):
  5570. (WebCore::XMLDocumentParser::parse):
  5571. (WebCore::XMLDocumentParser::parseStartElement):
  5572. (WebCore::XMLDocumentParser::parseEndElement):
  5573. (WebCore::XMLDocumentParser::endDocument):
  5574. (WebCore::XMLDocumentParser::parseDtd):
  5575. 2011-10-12 Kentaro Hara <haraken@chromium.org>
  5576. Implement a WebKitTransitionEvent constructor for V8
  5577. https://bugs.webkit.org/show_bug.cgi?id=69911
  5578. Reviewed by Adam Barth.
  5579. Test: fast/events/constructors/webkit-transition-event-constructor.html
  5580. * bindings/v8/custom/V8EventConstructors.cpp: Added a WebKitTransitionEvent constructor.
  5581. * dom/WebKitTransitionEvent.idl: Replaced 'JSCustomConstructor' with 'CustomConstructor'.
  5582. 2011-10-12 Kentaro Hara <haraken@chromium.org>
  5583. Implement a BeforeLoadEvent constructor for JSC
  5584. https://bugs.webkit.org/show_bug.cgi?id=69893
  5585. Reviewed by Adam Barth.
  5586. There is no spec for the BeforeLoadEvent constructor
  5587. since it is WebKit-specific. However, judging from the current
  5588. IDL of initBeforeLoadEvent(), the constructor IDL
  5589. should be as follows.
  5590. [Constructor(DOMString type, optional BeforeLoadEventInit eventInitDict)]
  5591. interface BeforeLoadEvent : Event {
  5592. ...;
  5593. }
  5594. dictionary BeforeLoadEventInit : EventInit {
  5595. DOMString url;
  5596. }
  5597. Test: fast/events/constructors/before-load-event-constructor.html
  5598. * bindings/generic/EventConstructors.h: Added a definition for the BeforeLoadEvent constructor.
  5599. * bindings/js/JSEventConstructors.cpp: Added #includes for BeforeLoadEvent.
  5600. * dom/BeforeLoadEvent.h: Added a definition for BeforeLoadEventInit.
  5601. (WebCore::BeforeLoadEventInit::BeforeLoadEventInit):
  5602. (WebCore::BeforeLoadEvent::create):
  5603. (WebCore::BeforeLoadEvent::initBeforeLoadEvent):
  5604. (WebCore::BeforeLoadEvent::BeforeLoadEvent):
  5605. * dom/BeforeLoadEvent.idl: Makes BeforeLoadEvent constructible.
  5606. 2011-10-12 Ben Wells <benwells@chromium.org>
  5607. [skia] Implement Path.currentPoint for skia
  5608. https://bugs.webkit.org/show_bug.cgi?id=69817
  5609. Replace FIXME with implementation.
  5610. Reviewed by Kenneth Russell.
  5611. * platform/graphics/skia/PathSkia.cpp:
  5612. (WebCore::Path::currentPoint):
  5613. 2011-10-12 Ben Wells <benwells@chromium.org>
  5614. Incorrect rendering with one-sided thick border and border-radius
  5615. https://bugs.webkit.org/show_bug.cgi?id=38787
  5616. Reviewed by Simon Fraser.
  5617. Incorrect rendering resulted when the inner border could not be properly represented as a rounded
  5618. rectangle. When this happens, and the inner border is clipped out, the clipping code clips out the
  5619. enclosing rectangle instead.
  5620. This change addresses this by clipping in a different way in this case only. The inside is clipped
  5621. out one side at a time with a rounded rect created by adjusting the unrenderable inner border
  5622. rounded rectangle. The side polygon which is clipped to is also increased in this case to include
  5623. the inside of the border so that no areas are missing.
  5624. Test: fast/borders/border-radius-complex-inner.html
  5625. * rendering/RenderBoxModelObject.cpp:
  5626. (WebCore::RenderBoxModelObject::paintOneBorderSide):
  5627. (WebCore::RenderBoxModelObject::paintBorder):
  5628. (WebCore::calculateSideRectIncludingInner):
  5629. (WebCore::calculateAdjustedInnerBorder):
  5630. (WebCore::RenderBoxModelObject::clipBorderSideForComplexInnerPath):
  5631. * rendering/RenderBoxModelObject.h:
  5632. 2011-10-12 Luke Macpherson <macpherson@chromium.org>
  5633. Clean up CSSPropertyTextDecoration implementation and ETextDecoration usage.
  5634. https://bugs.webkit.org/show_bug.cgi?id=67625
  5635. Reviewed by Eric Seidel.
  5636. No new tests - no functionality changed.
  5637. The implementation of CSSPropertyTextDecoration is simlified because
  5638. 1) CSSValueListIterator produces a valid iterator when no results available.
  5639. 2) CSSParser only allows CSSValueNone or a list of appropriate idents.
  5640. 3) CSSParser will treat a zero-length list as invalid at parse time.
  5641. * css/CSSPrimitiveValueMappings.h:
  5642. (WebCore::CSSPrimitiveValue::operator ETextDecoration):
  5643. Implement cast from CSSPrimitiveValue to ETextDecoration.
  5644. * css/CSSStyleSelector.cpp:
  5645. (WebCore::CSSStyleSelector::applyProperty):
  5646. * rendering/style/RenderStyle.h:
  5647. Use ETextDecoration enum instead of int throughout.
  5648. (WebCore::InheritedFlags::textDecorationsInEffect):
  5649. (WebCore::InheritedFlags::textDecoration):
  5650. (WebCore::InheritedFlags::addToTextDecorationsInEffect):
  5651. (WebCore::InheritedFlags::setTextDecorationsInEffect):
  5652. (WebCore::InheritedFlags::setTextDecoration):
  5653. * rendering/style/RenderStyleConstants.h:
  5654. Introduce constant for number of bits required to represent enum.
  5655. (WebCore::operator|):
  5656. Implement | operator for bitfield enum.
  5657. (WebCore::operator|=):
  5658. Implement |= operator for bitfield enum.
  5659. * rendering/style/StyleVisualData.h:
  5660. Use ETextDecoration instead of int.
  5661. 2011-10-12 Tony Chang <tony@chromium.org>
  5662. Implement -webkit-flex-align for cross axis alignment in flex-flow: row
  5663. https://bugs.webkit.org/show_bug.cgi?id=69808
  5664. Reviewed by David Hyatt.
  5665. Tests: css3/flexbox/flex-align-percent-height.html
  5666. css3/flexbox/flex-align-vertical-writing-mode.html
  5667. css3/flexbox/flex-align.html
  5668. * rendering/RenderFlexibleBox.cpp:
  5669. (WebCore::RenderFlexibleBox::isFlowAwareLogicalHeightAuto):
  5670. (WebCore::RenderFlexibleBox::flowAwareContentLogicalHeight):
  5671. (WebCore::RenderFlexibleBox::flowAwareBorderAndPaddingLogicalHeight):
  5672. (WebCore::RenderFlexibleBox::flowAwareMarginLogicalHeightForChild):
  5673. (WebCore::RenderFlexibleBox::flowAwareLogicalLocationForChild):
  5674. (WebCore::RenderFlexibleBox::layoutInlineDirection):
  5675. (WebCore::RenderFlexibleBox::availableLogicalHeightForChild):
  5676. (WebCore::RenderFlexibleBox::marginBoxAscent):
  5677. (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
  5678. (WebCore::RenderFlexibleBox::adjustLocationLogicalTopForChild):
  5679. (WebCore::RenderFlexibleBox::alignChildrenBlockDirection):
  5680. * rendering/RenderFlexibleBox.h:
  5681. 2011-10-12 Mihnea Ovidenie <mihnea@adobe.com>
  5682. [CSS Regions]Remove -webkit-content-order property
  5683. https://bugs.webkit.org/show_bug.cgi?id=69848
  5684. Reviewed by Tony Chang.
  5685. -webkit-content-order property is removed from latest CSS Regions spec.
  5686. * css/CSSComputedStyleDeclaration.cpp:
  5687. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  5688. * css/CSSParser.cpp:
  5689. (WebCore::CSSParser::parseValue):
  5690. * css/CSSPropertyNames.in:
  5691. * css/CSSStyleSelector.cpp:
  5692. (WebCore::CSSStyleSelector::applyProperty):
  5693. * dom/Node.cpp:
  5694. (WebCore::Node::diff):
  5695. * rendering/RenderFlowThread.cpp:
  5696. (WebCore::compareRenderRegions):
  5697. * rendering/RenderTreeAsText.cpp:
  5698. (WebCore::writeRenderFlowThreads):
  5699. * rendering/style/RenderStyle.h:
  5700. * rendering/style/StyleRareNonInheritedData.cpp:
  5701. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  5702. (WebCore::StyleRareNonInheritedData::operator==):
  5703. * rendering/style/StyleRareNonInheritedData.h:
  5704. 2011-10-12 Adam Bergkvist <adam.bergkvist@ericsson.com>
  5705. Update PeerConnection to use WebCore platform interfaces
  5706. https://bugs.webkit.org/show_bug.cgi?id=68462
  5707. Reviewed by Adam Barth.
  5708. Currently not testable.
  5709. * WebCore.gypi:
  5710. * WebCore.pro:
  5711. * bindings/js/JSPeerConnectionCustom.cpp:
  5712. (WebCore::JSPeerConnectionConstructor::constructJSPeerConnection):
  5713. * bindings/v8/custom/V8PeerConnectionCustom.cpp: Removed.
  5714. * dom/MediaStreamList.cpp:
  5715. (WebCore::MediaStreamList::item):
  5716. (WebCore::MediaStreamList::append):
  5717. (WebCore::MediaStreamList::remove):
  5718. (WebCore::MediaStreamList::contains):
  5719. * dom/MediaStreamList.h:
  5720. * p2p/PeerConnection.cpp:
  5721. (WebCore::PeerConnection::create):
  5722. (WebCore::PeerConnection::PeerConnection):
  5723. (WebCore::PeerConnection::processSignalingMessage):
  5724. (WebCore::PeerConnection::readyState):
  5725. (WebCore::PeerConnection::send):
  5726. (WebCore::PeerConnection::addStream):
  5727. (WebCore::PeerConnection::removeStream):
  5728. (WebCore::PeerConnection::localStreams):
  5729. (WebCore::PeerConnection::remoteStreams):
  5730. (WebCore::PeerConnection::close):
  5731. (WebCore::PeerConnection::iceProcessingCompleted):
  5732. (WebCore::PeerConnection::sdpGenerated):
  5733. (WebCore::PeerConnection::dataStreamMessageReceived):
  5734. (WebCore::PeerConnection::remoteStreamAdded):
  5735. (WebCore::PeerConnection::remoteStreamRemoved):
  5736. (WebCore::PeerConnection::scriptExecutionContext):
  5737. (WebCore::PeerConnection::stop):
  5738. (WebCore::PeerConnection::scheduleInitialNegotiation):
  5739. (WebCore::PeerConnection::initialNegotiationTimerFired):
  5740. (WebCore::PeerConnection::ensureStreamChangeScheduled):
  5741. (WebCore::PeerConnection::streamChangeTimerFired):
  5742. (WebCore::PeerConnection::scheduleReadyStateChange):
  5743. (WebCore::PeerConnection::readyStateChangeTimerFired):
  5744. (WebCore::PeerConnection::changeReadyState):
  5745. * p2p/PeerConnection.h:
  5746. (WebCore::PeerConnection::refEventTarget):
  5747. (WebCore::PeerConnection::derefEventTarget):
  5748. * p2p/PeerConnection.idl:
  5749. * page/MediaStreamClient.h:
  5750. * page/MediaStreamController.cpp:
  5751. (WebCore::MediaStreamController::MediaStreamController):
  5752. * page/MediaStreamController.h:
  5753. * page/MediaStreamFrameController.cpp:
  5754. * page/MediaStreamFrameController.h:
  5755. 2011-10-12 Chris Fleizach <cfleizach@apple.com>
  5756. AX: CrashTracer: [USER] 296 crashes in WebProcess at com.apple.WebCore: WebCore::AccessibilityScrollbar::document const + 29
  5757. https://bugs.webkit.org/show_bug.cgi?id=69936
  5758. AX Scrollbars have a weak pointer to their parent. They need to become AccessibilityMockObjects, so that they can
  5759. participate in the detachFromParent() methods that happens when those parents go away.
  5760. Could not reproduce the crash, but the backtrace is unequivocal.
  5761. Reviewed by Darin Adler.
  5762. * accessibility/AccessibilityScrollView.cpp:
  5763. (WebCore::AccessibilityScrollView::removeChildScrollbar):
  5764. * accessibility/AccessibilityScrollbar.cpp:
  5765. (WebCore::AccessibilityScrollbar::AccessibilityScrollbar):
  5766. * accessibility/AccessibilityScrollbar.h:
  5767. (WebCore::AccessibilityScrollbar::scrollbar):
  5768. (WebCore::AccessibilityScrollbar::isAccessibilityScrollbar):
  5769. 2011-10-12 David Hyatt <hyatt@apple.com>
  5770. https://bugs.webkit.org/show_bug.cgi?id=69950
  5771. REGRESSION: Printing broken because of the isWritingModeRoot addition for unsplittable
  5772. paginated content. Make sure not to include the RenderView when checking for writing mode
  5773. roots. We only care about children that differ from their parents.
  5774. Reviewed by Dimitri Glazkov.
  5775. * rendering/LayoutState.cpp:
  5776. (WebCore::LayoutState::LayoutState):
  5777. * rendering/RenderBlock.cpp:
  5778. (WebCore::RenderBlock::adjustForUnsplittableChild):
  5779. * rendering/RenderBox.cpp:
  5780. (WebCore::RenderBox::isUnsplittableForPagination):
  5781. * rendering/RenderBox.h:
  5782. 2011-10-12 Anna Cavender <annacc@chromium.org>
  5783. Moving ScriptExecutionContext to the front of the argument list for
  5784. IDL constructors that use ConstructorWith=ScriptExecutionContext.
  5785. https://bugs.webkit.org/show_bug.cgi?id=69799
  5786. Reviewed by Adam Barth.
  5787. Tests:
  5788. - http/tests/eventsource/* (for EventSource)
  5789. - fast/filesystem/* (for Worker)
  5790. * bindings/js/JSEventSourceCustom.cpp:
  5791. (WebCore::JSEventSourceConstructor::constructJSEventSource):
  5792. * bindings/js/JSWorkerCustom.cpp:
  5793. (WebCore::JSWorkerConstructor::constructJSWorker):
  5794. * bindings/scripts/CodeGeneratorV8.pm:
  5795. (GenerateConstructorCallback):
  5796. * bindings/scripts/test/V8/V8TestInterface.cpp:
  5797. (WebCore::V8TestInterface::constructorCallback):
  5798. * page/EventSource.cpp:
  5799. (WebCore::EventSource::create):
  5800. * page/EventSource.h:
  5801. * workers/Worker.cpp:
  5802. (WebCore::Worker::create):
  5803. * workers/Worker.h:
  5804. 2011-10-11 David Hyatt <hyatt@apple.com>
  5805. https://bugs.webkit.org/show_bug.cgi?id=69896
  5806. [CSS Regions] Make positioned blocks work with variable width regions.
  5807. Make positioned objects able to position and size independently in each region. This involves
  5808. lifting the restriction in renderBoxRegionInfo for positioned objects and passing in region
  5809. information to computeLogicalWidthForPositioned so that it can compute answers for a given
  5810. region.
  5811. In order to make mixed writing modes work with positioned objects, this patch also takes some
  5812. baby steps towards fixing differing writing modes in paginated environments.
  5813. Reviewed by Sam Weinig.
  5814. Added many new tests in fast/regions.
  5815. * rendering/LayoutState.cpp:
  5816. (WebCore::LayoutState::LayoutState):
  5817. Disable pagination whenever differing writing modes are encountered. The block effectively becomes
  5818. unsplittable (as though it was an image).
  5819. * rendering/RenderBlock.cpp:
  5820. (WebCore::RenderBlock::layoutBlock):
  5821. Remove a FIXME that looks incorrect now.
  5822. (WebCore::RenderBlock::adjustPositionedBlock):
  5823. Patch static inline position caching to call a new method that unshifts the position to put it back
  5824. in the overall block's space rather than having it be per-region.
  5825. (WebCore::RenderBlock::layoutPositionedObjects):
  5826. Make sure to attempt to set a logicalTop for positioned objects before they lay out so that they
  5827. have a chance of paginating correctly the first time around. If for some reason the top estimate proves
  5828. to be incorrect, we lay out again. Technically this bug exists for multi-column and printing as well, but
  5829. for now just fixing it for regions.
  5830. (WebCore::RenderBlock::adjustForUnsplittableChild):
  5831. Add writing mode roots to the set of objects we consider to be unsplittable.
  5832. (WebCore::RenderBlock::setStaticInlinePositionForChild):
  5833. New helper function that handles shifting the inline static position back into the overall block's space
  5834. rather than leaving it in a translated region-specific space.
  5835. * rendering/RenderBlock.h:
  5836. (WebCore::RenderBlock::startOffsetForContent):
  5837. New helper function for computing the start offset when no regions are involved.
  5838. * rendering/RenderBlockLineLayout.cpp:
  5839. (WebCore::setStaticPositions):
  5840. (WebCore::RenderBlock::LineBreaker::nextLineBreak):
  5841. Patched to call the new helper function, setStaticInlinePositionForChild.
  5842. * rendering/RenderBox.cpp:
  5843. (WebCore::RenderBox::positionLineBox):
  5844. Patched to call the new helper function, setStaticInlinePositionForChild.
  5845. (WebCore::RenderBox::computeLogicalWidthInRegion):
  5846. Pass region information into the positioning logical width computation function.
  5847. (WebCore::RenderBox::renderBoxRegionInfo):
  5848. Remove the positioning restriction and properly compute shifting and left/right offsets for positioned
  5849. objects.
  5850. (WebCore::RenderBox::computeLogicalHeight):
  5851. Add code for perpendicular flows that just positions the object within the first region it is encountered
  5852. in. Since the object is unsplittable, this will work out. Should the object be so tall that it can't fit
  5853. in any region, then the resulting rendering will potentially be terrible, but the expectation is that authors should
  5854. avoid having perpendicular flows break across pages.
  5855. (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
  5856. (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
  5857. Patched to handle regions when they are passed in. Also makes sure that the pagination direction axis computation uses
  5858. the flow thread's first region when the flow thread is the positioned object's containing block.
  5859. (WebCore::computeInlineStaticDistance):
  5860. Patched to examine regions and to modify the static distance computation accordingly so that it is per-region.
  5861. (WebCore::RenderBox::computePositionedLogicalWidth):
  5862. Pass along the region information when computing the positioned logical width.
  5863. (WebCore::computeLogicalLeftPositionedOffset):
  5864. Handle the adjustment of the logical left offset for differing writing modes (in this case when the writing mode
  5865. is flipped relative to us).
  5866. (WebCore::RenderBox::computePositionedLogicalHeight):
  5867. Deal with perpendicular writing modes and make sure the object is placed properly using the first region it
  5868. occurs in.
  5869. (WebCore::computeLogicalTopPositionedOffset):
  5870. Remove code that is no longer needed.
  5871. (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
  5872. Patched to pass in 0 instead of a region since replaced elements aren't handled yet.
  5873. * rendering/RenderBox.h:
  5874. Changing the computePositionedLogicalWidth method to take region information.
  5875. * rendering/RenderDeprecatedFlexibleBox.cpp:
  5876. (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
  5877. (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
  5878. Didn't bother fixing deprecated flexible box, and the new flexbox still can't handle positioned objects. When it does,
  5879. it will use the new method. Put in some FIXMEs to help the flexbox coders see the issue when they port the code over
  5880. to the new flexbox.
  5881. * rendering/RenderLayer.h:
  5882. (WebCore::RenderLayer::staticInlinePosition):
  5883. (WebCore::RenderLayer::staticBlockPosition):
  5884. (WebCore::RenderLayer::setStaticInlinePosition):
  5885. (WebCore::RenderLayer::setStaticBlockPosition):
  5886. Patched to take LayoutUnits instead of ints.
  5887. 2011-10-12 Nate Chapin <japhet@chromium.org>
  5888. Remove logging to determine how null v8::Contexts are happening,
  5889. and check the return value of V8DOMWindowShell::initContextIfNeeded()
  5890. before using the context it initialized.
  5891. https://bugs.webkit.org/show_bug.cgi?id=68099
  5892. Reviewed by Adam Barth.
  5893. No new tests, the only symptom is a crash without a known repro.
  5894. * bindings/v8/ScriptController.cpp:
  5895. * bindings/v8/V8DOMWindowShell.cpp:
  5896. (WebCore::V8DOMWindowShell::initContextIfNeeded): Return true
  5897. if a context already existed.
  5898. (WebCore::V8DOMWindowShell::namedItemAdded): Remove logging.
  5899. * bindings/v8/V8Proxy.cpp:
  5900. 2011-10-06 Robert Hogan <robert@webkit.org>
  5901. CSS 2.1 failure: border-conflict-style-079
  5902. https://bugs.webkit.org/show_bug.cgi?id=69551
  5903. Reviewed by Antonio Gomes.
  5904. * css/CSSValueKeywords.in: ridge and outset were the wrong way round
  5905. * rendering/style/RenderStyleConstants.h: ditto
  5906. 2011-10-12 Jian Li <jianli@chromium.org>
  5907. Support passing optional filename when FormData.append() is used to
  5908. append a blob
  5909. https://bugs.webkit.org/show_bug.cgi?id=69885
  5910. Reviewed by David Levin.
  5911. Covered by existing test with new test case added:
  5912. http/tests/local/formdata/send-form-data-with-sliced-file.html
  5913. * bindings/js/JSDOMFormDataCustom.cpp:
  5914. (WebCore::JSDOMFormData::append):
  5915. * bindings/v8/custom/V8DOMFormDataCustom.cpp:
  5916. (WebCore::V8DOMFormData::appendCallback):
  5917. * html/DOMFormData.cpp:
  5918. (WebCore::DOMFormData::append):
  5919. * html/DOMFormData.h:
  5920. * html/DOMFormData.idl:
  5921. * html/FormDataList.cpp:
  5922. (WebCore::FormDataList::appendBlob):
  5923. * html/FormDataList.h:
  5924. (WebCore::FormDataList::Item::Item):
  5925. (WebCore::FormDataList::Item::filename):
  5926. (WebCore::FormDataList::appendBlob):
  5927. * platform/network/FormData.cpp:
  5928. (WebCore::FormData::appendKeyValuePairItems):
  5929. 2011-10-12 Sergey Glazunov <serg.glazunov@gmail.com>
  5930. ScriptController::executeIfJavaScriptURL gets confused by synchronous frame loads
  5931. https://bugs.webkit.org/show_bug.cgi?id=69777
  5932. Reviewed by Adam Barth.
  5933. Test: http/tests/security/xss-DENIED-synchronous-frame-load-in-javascript-url.html
  5934. * bindings/ScriptControllerBase.cpp:
  5935. (WebCore::ScriptController::executeIfJavaScriptURL):
  5936. * loader/DocumentWriter.cpp:
  5937. (WebCore::DocumentWriter::replaceDocument):
  5938. (WebCore::DocumentWriter::begin):
  5939. * loader/DocumentWriter.h:
  5940. 2011-10-12 Vsevolod Vlasov <vsevik@chromium.org>
  5941. Web Inspector: Searching in multiple scripts in the scripts tab
  5942. https://bugs.webkit.org/show_bug.cgi?id=38807
  5943. Reviewed by Pavel Feldman.
  5944. Added support for advanced search capabilities in inspector by means
  5945. of showing the new SearchView in Drawer. Advanced search is activated
  5946. with Ctrl+Shift+F (Cmd+Shift+F) shortcut.
  5947. * English.lproj/localizedStrings.js:
  5948. * WebCore.gypi:
  5949. * WebCore.vcproj/WebCore.vcproj:
  5950. * inspector/compile-front-end.sh:
  5951. * inspector/front-end/AdvancedSearchController.js: Added.
  5952. * inspector/front-end/DebuggerPresentationModel.js:
  5953. (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
  5954. * inspector/front-end/ScriptsPanel.js:
  5955. * inspector/front-end/ScriptsSearchScope.js: Added.
  5956. * inspector/front-end/UISourceCode.js:
  5957. (WebInspector.UISourceCode.prototype.searchInContent):
  5958. * inspector/front-end/WebKit.qrc:
  5959. * inspector/front-end/externs.js:
  5960. (WebInspector.showViewInDrawer):
  5961. * inspector/front-end/inspector.css:
  5962. (.search-view):
  5963. (.search-view .search-panel):
  5964. (.search-view .search-results):
  5965. (#search-results-pane-file-based .search-result):
  5966. (#search-results-pane-file-based .search-result:first-child):
  5967. (#search-results-pane-file-based .search-result .search-result-file-name):
  5968. (#search-results-pane-file-based .search-result .search-result-matches-count):
  5969. (#search-results-pane-file-based .search-match):
  5970. (#search-results-pane-file-based .search-match .webkit-line-number.search-match-line-number):
  5971. (#search-results-pane-file-based .search-match:not(:hover) .webkit-line-number.search-match-line-number):
  5972. (#search-results-pane-file-based .search-match:hover):
  5973. (#search-results-pane-file-based .search-match .highlighted-match):
  5974. (#search-results-pane-file-based a):
  5975. (#search-results-pane-file-based .search-match .search-match-content):
  5976. * inspector/front-end/inspector.html:
  5977. * inspector/front-end/inspector.js:
  5978. (WebInspector.documentKeyDown):
  5979. * inspector/front-end/utilities.js:
  5980. ():
  5981. 2011-10-12 Vsevolod Vlasov <vsevik@chromium.org>
  5982. Web Inspector: Fix Drawer to make it possible to show views other than Console.
  5983. https://bugs.webkit.org/show_bug.cgi?id=69831
  5984. Reviewed by Pavel Feldman.
  5985. Animation type extracted to distinguish between slow and normal
  5986. animation and immediate show/hide.
  5987. Implemented correct console toggle button behavior on showing views
  5988. other than console in Drawer.
  5989. View shown in Drawer is now shown in drawer-contents div with common
  5990. styles moved there.
  5991. Removed unused "_safelyRemoveChildren" method from Drawer.
  5992. * inspector/front-end/ConsolePanel.js:
  5993. (WebInspector.ConsolePanel.prototype.show):
  5994. (WebInspector.ConsolePanel.prototype.hide):
  5995. * inspector/front-end/Drawer.js:
  5996. (WebInspector.Drawer):
  5997. (WebInspector.Drawer.prototype.show):
  5998. (WebInspector.Drawer.prototype.hide):
  5999. (WebInspector.Drawer.prototype._animationDuration):
  6000. * inspector/front-end/inspector.css:
  6001. (body.drawer-visible #drawer-contents):
  6002. * inspector/front-end/inspector.js:
  6003. (WebInspector._toggleConsoleButtonClicked):
  6004. (WebInspector._escPressed):
  6005. (WebInspector.showViewInDrawer):
  6006. (WebInspector.documentKeyDown):
  6007. 2011-10-12 Yury Semikhatsky <yurys@chromium.org>
  6008. [v8] Use V8DOMWrapper::isWrapperOfType for determining global object type
  6009. https://bugs.webkit.org/show_bug.cgi?id=69923
  6010. Get rid of globalObjectPrototypeIsDOMWindow, use V8DOMWrapper::isWrapperOfType instead.
  6011. Reviewed by Pavel Feldman.
  6012. * bindings/v8/V8DOMWrapper.cpp:
  6013. (WebCore::V8DOMWrapper::instantiateV8Object):
  6014. (WebCore::V8DOMWrapper::getEventListener):
  6015. 2011-10-12 Yury Semikhatsky <yurys@chromium.org>
  6016. [Chromium] Web Inspector: assertion failure when evaluating expression in worker inspector console
  6017. https://bugs.webkit.org/show_bug.cgi?id=69922
  6018. Check that the global object is a DOMWindow wrapper befor casting it to V8DOMWindow.
  6019. Reviewed by Pavel Feldman.
  6020. * bindings/v8/ScriptState.cpp:
  6021. (WebCore::ScriptState::domWindow):
  6022. 2011-10-12 Yuta Kitamura <yutak@chromium.org>
  6023. WebSocket: Update WebSocket protocol to hybi-17
  6024. https://bugs.webkit.org/show_bug.cgi?id=69910
  6025. Reviewed by Kent Tamura.
  6026. Essential changes between hybi-10 and hybi-17 are:
  6027. - Sec-WebSocket-Origin header has been renamed to "Origin".
  6028. - Sec-WebSocket-Version header value has been bumped to 13.
  6029. No new tests are necessary. pywebsocket has already been updated to the latest version
  6030. which understands the new protocol. Tests under http/tests/websocket/ should keep
  6031. passing.
  6032. * websockets/WebSocketHandshake.cpp:
  6033. (WebCore::WebSocketHandshake::clientHandshakeMessage):
  6034. (WebCore::WebSocketHandshake::clientHandshakeRequest):
  6035. 2011-10-11 Antti Koivisto <antti@apple.com>
  6036. Resolve regular and visited link style in a single pass
  6037. https://bugs.webkit.org/show_bug.cgi?id=69838
  6038. Reviewed by Darin Adler
  6039. We can simplify and speed up selector matching by removing the recursive matching done
  6040. to generate the style for the :visited pseudo selector. Both regular and visited link style
  6041. can be generated in a single pass through the style selector.
  6042. - Make SelectorChecker::checkSelector to return both :visited and :link matches for all links.
  6043. - For each selector statically determine and cache the link states it may match.
  6044. - When applying the matched style declarations, apply them to the right RenderStyle
  6045. (regular, visited, or both).
  6046. Statically determining which link state will be matched works since we only support :visited matching
  6047. based on the current element state (not ancestors or siblings).
  6048. A later patch will eliminate the separate RenderStyle for visited style completely and include the
  6049. few allowed properties to the regular RenderStyle.
  6050. * css/CSSStyleSelector.cpp:
  6051. (WebCore::RuleData::linkMatchType):
  6052. (WebCore::RuleSet::linkPseudoClassRules):
  6053. (WebCore::CSSStyleSelector::addMatchedDeclaration):
  6054. (WebCore::CSSStyleSelector::matchRules):
  6055. (WebCore::CSSStyleSelector::styleForElement):
  6056. (WebCore::CSSStyleSelector::pseudoStyleForElement):
  6057. (WebCore::CSSStyleSelector::updateFont):
  6058. (WebCore::CSSStyleSelector::checkSelector):
  6059. (WebCore::RuleData::RuleData):
  6060. (WebCore::RuleSet::addRule):
  6061. (WebCore::RuleSet::collectFeatures):
  6062. (WebCore::RuleSet::shrinkToFit):
  6063. (WebCore::CSSStyleSelector::applyDeclaration):
  6064. (WebCore::CSSStyleSelector::applyDeclarations):
  6065. (WebCore::CSSStyleSelector::applyProperty):
  6066. (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
  6067. * css/CSSStyleSelector.h:
  6068. (WebCore::CSSStyleSelector::MatchedStyleDeclaration::MatchedStyleDeclaration):
  6069. * css/SelectorChecker.cpp:
  6070. (WebCore::SelectorChecker::SelectorChecker):
  6071. (WebCore::SelectorChecker::checkSelector):
  6072. (WebCore::SelectorChecker::fastCheckRightmostSelector):
  6073. (WebCore::SelectorChecker::fastCheckSelector):
  6074. (WebCore::SelectorChecker::checkOneSelector):
  6075. (WebCore::SelectorChecker::commonPseudoClassSelectorMatches):
  6076. (WebCore::SelectorChecker::determineLinkMatchType):
  6077. * css/SelectorChecker.h:
  6078. * rendering/style/RenderStyle.cpp:
  6079. (WebCore::RenderStyle::addCachedPseudoStyle):
  6080. 2011-10-12 Kent Tamura <tkent@chromium.org>
  6081. REGRESSION(r94836): An assertion fails in HTMLFormControlElement::isValidFormControlElement
  6082. when HTMLInputElement::setValue() is called while the element is focused.
  6083. https://bugs.webkit.org/show_bug.cgi?id=69909
  6084. Reviewed by Ryosuke Niwa.
  6085. setNeedsValidityCheck() should be called after the value update
  6086. and before any style recalculation. r94836 moved
  6087. setSelectionRange() call, and it recalculates the element style.
  6088. * html/HTMLInputElement.cpp:
  6089. (WebCore::HTMLInputElement::setValue): Move setNeedsValidityCheck() to setValueInternal().
  6090. (WebCore::HTMLInputElement::setValueInternal): Move setNeedsValidityCheck() from setValue().
  6091. 2011-10-12 Kent Tamura <tkent@chromium.org>
  6092. Build fixes for r97238.
  6093. https://bugs.webkit.org/show_bug.cgi?id=69828
  6094. * GNUmakefile.list.am: Remove SelectElement.{cpp,h}.
  6095. * dom/DOMAllInOne.cpp: Remove SelectElement.cpp.
  6096. 2011-10-12 Kent Tamura <tkent@chromium.org>
  6097. Move the content of SelectElementData into HTMLSelectElement, and remove SelectElement.{cpp,h}
  6098. https://bugs.webkit.org/show_bug.cgi?id=69828
  6099. Reviewed by Darin Adler.
  6100. - Move all of the data members of SelectElementData to
  6101. HTMLSelectElement, and their accessor functions are not needed
  6102. anymore.
  6103. - Move SelectElementData::useMenuList() to HTMLSelectElement.
  6104. No new tests, just a refactoring.
  6105. * CMakeLists.txt: Remove SelectElement.cpp.
  6106. * WebCore.gypi: Remove SelectElement.{cpp,h}.
  6107. * WebCore.pro: ditto.
  6108. * WebCore.vcproj/WebCore.vcproj: ditto.
  6109. * WebCore.xcodeproj/project.pbxproj: ditto.
  6110. * dom/OptionElement.cpp: Remove a reference to SelectElement.h.
  6111. * dom/SelectElement.cpp: Removed.
  6112. * dom/SelectElement.h: Removed.
  6113. * html/HTMLSelectElement.cpp:
  6114. (WebCore::HTMLSelectElement::HTMLSelectElement):
  6115. Initializes the moved data members.
  6116. (WebCore::HTMLSelectElement::formControlType):
  6117. (WebCore::HTMLSelectElement::setSelectedIndexByUser):
  6118. (WebCore::HTMLSelectElement::activeSelectionStartListIndex):
  6119. (WebCore::HTMLSelectElement::activeSelectionEndListIndex):
  6120. (WebCore::HTMLSelectElement::parseMappedAttribute):
  6121. (WebCore::HTMLSelectElement::canSelectAll):
  6122. (WebCore::HTMLSelectElement::createRenderer):
  6123. (WebCore::HTMLSelectElement::setOption):
  6124. (WebCore::HTMLSelectElement::selectAll):
  6125. (WebCore::HTMLSelectElement::saveLastSelection):
  6126. (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
  6127. (WebCore::HTMLSelectElement::setActiveSelectionEndIndex):
  6128. (WebCore::HTMLSelectElement::updateListBoxSelection):
  6129. (WebCore::HTMLSelectElement::listBoxOnChange):
  6130. (WebCore::HTMLSelectElement::menuListOnChange):
  6131. (WebCore::HTMLSelectElement::scrollToSelection):
  6132. (WebCore::HTMLSelectElement::setOptionsChangedOnRenderer):
  6133. (WebCore::HTMLSelectElement::setRecalcListItems):
  6134. (WebCore::HTMLSelectElement::recalcListItemsInternal):
  6135. (WebCore::HTMLSelectElement::setSelectedIndexInternal):
  6136. (WebCore::HTMLSelectElement::dispatchFocusEvent):
  6137. (WebCore::HTMLSelectElement::dispatchBlurEvent):
  6138. (WebCore::HTMLSelectElement::parseMultipleAttribute):
  6139. (WebCore::HTMLSelectElement::reset):
  6140. (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
  6141. (WebCore::HTMLSelectElement::updateSelectedState):
  6142. (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
  6143. (WebCore::HTMLSelectElement::defaultEventHandler):
  6144. (WebCore::HTMLSelectElement::typeAheadFind):
  6145. (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
  6146. * html/HTMLSelectElement.h:
  6147. (WebCore::HTMLSelectElement::size):
  6148. (WebCore::HTMLSelectElement::multiple):
  6149. (WebCore::HTMLSelectElement::usesMenuList):
  6150. 2011-10-12 Ryosuke Niwa <rniwa@webkit.org>
  6151. Chromium Mac build fix after r97227.
  6152. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  6153. (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
  6154. 2011-10-11 Antoine Labour <piman@chromium.org>
  6155. Separate compositor client thread from webkit's main thread.
  6156. https://bugs.webkit.org/show_bug.cgi?id=69048
  6157. Reviewed by Darin Fisher.
  6158. Covered by compositing tests.
  6159. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  6160. (WebCore::CCLayerTreeHost::CCLayerTreeHost):
  6161. * platform/graphics/chromium/cc/CCMainThread.cpp:
  6162. * platform/graphics/chromium/cc/CCMainThread.h:
  6163. * platform/graphics/chromium/cc/CCProxy.cpp:
  6164. (WebCore::CCProxy::isMainThread):
  6165. (WebCore::CCProxy::setMainThread):
  6166. (WebCore::CCProxy::CCProxy):
  6167. * platform/graphics/chromium/cc/CCProxy.h:
  6168. 2011-10-11 Simon Fraser <simon.fraser@apple.com>
  6169. Fix Leopard and Snow Leopard builds, which don't use the scrollbar painter.
  6170. * platform/mac/ScrollAnimatorMac.mm:
  6171. 2011-10-11 Simon Fraser <simon.fraser@apple.com>
  6172. Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms
  6173. https://bugs.webkit.org/show_bug.cgi?id=68134
  6174. Reviewed by Darin Adler.
  6175. Use ScrollbarThemeMock when the setting to use mock scrollbars is enabled.
  6176. Make ScrollbarTheme::nativeTheme() private, and add a new static theme() method
  6177. that reads the setting, and returns the mock theme if set. All callers now use
  6178. theme() rther than nativeTheme(). Add the new ScrollbarTheme.cpp file to the build.
  6179. Fix scroll animator code for Mac and Chromium that was casting the ScrollbarTheme
  6180. without type-checking it to test whether it's the mock theme.
  6181. * CMakeLists.txt:
  6182. * GNUmakefile.list.am:
  6183. * WebCore.exp.in:
  6184. * WebCore.gypi:
  6185. * WebCore.pro:
  6186. * WebCore.vcproj/WebCore.vcproj:
  6187. * WebCore.xcodeproj/project.pbxproj:
  6188. * html/shadow/TextControlInnerElements.cpp:
  6189. (WebCore::SpinButtonElement::startRepeatingTimer):
  6190. * platform/ScrollAnimatorWin.cpp:
  6191. (WebCore::ScrollAnimatorWin::scroll):
  6192. (WebCore::ScrollAnimatorWin::accelerationTime):
  6193. (WebCore::ScrollAnimatorWin::animateScroll):
  6194. * platform/ScrollView.cpp:
  6195. (WebCore::ScrollView::wheelEvent):
  6196. * platform/ScrollableArea.cpp:
  6197. (WebCore::ScrollableArea::setScrollbarOverlayStyle):
  6198. * platform/Scrollbar.cpp:
  6199. (WebCore::Scrollbar::maxOverlapBetweenPages):
  6200. (WebCore::Scrollbar::Scrollbar):
  6201. * platform/ScrollbarTheme.cpp: Copied from Source/WebCore/platform/mock/ScrollbarThemeMock.h.
  6202. (WebCore::ScrollbarTheme::theme):
  6203. * platform/ScrollbarTheme.h:
  6204. (WebCore::ScrollbarTheme::isMockTheme):
  6205. * platform/chromium/PopupListBox.cpp:
  6206. (WebCore::PopupListBox::layout):
  6207. * platform/chromium/ScrollAnimatorChromiumMac.mm:
  6208. (WebCore::chromiumScrollbarTheme):
  6209. (WebCore::ScrollAnimatorChromiumMac::didAddVerticalScrollbar):
  6210. (WebCore::ScrollAnimatorChromiumMac::willRemoveVerticalScrollbar):
  6211. (WebCore::ScrollAnimatorChromiumMac::didAddHorizontalScrollbar):
  6212. (WebCore::ScrollAnimatorChromiumMac::willRemoveHorizontalScrollbar):
  6213. (WebCore::ScrollAnimatorChromiumMac::updateScrollerStyle):
  6214. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  6215. (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
  6216. (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
  6217. * platform/mac/ScrollAnimatorMac.mm:
  6218. (WebCore::macScrollbarTheme):
  6219. (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
  6220. (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
  6221. (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
  6222. (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
  6223. (WebCore::ScrollAnimatorMac::updateScrollerStyle):
  6224. * platform/mac/ScrollbarThemeMac.mm:
  6225. (+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
  6226. (+[WebScrollbarPrefsObserver behaviorPrefsChanged:]):
  6227. * platform/mock/ScrollbarThemeMock.h:
  6228. (WebCore::ScrollbarThemeMock::isMockTheme):
  6229. * platform/qt/RenderThemeQt.cpp:
  6230. (WebCore::RenderThemeQt::adjustInnerSpinButtonStyle):
  6231. * platform/win/PopupMenuWin.cpp:
  6232. (WebCore::PopupMenuWin::calculatePositionAndSize):
  6233. * rendering/RenderLayer.cpp:
  6234. (WebCore::cornerRect):
  6235. * rendering/RenderScrollbarPart.cpp:
  6236. (WebCore::calcScrollbarThicknessUsing):
  6237. * rendering/RenderScrollbarTheme.h:
  6238. (WebCore::RenderScrollbarTheme::scrollbarThickness):
  6239. (WebCore::RenderScrollbarTheme::buttonsPlacement):
  6240. (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
  6241. (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay):
  6242. (WebCore::RenderScrollbarTheme::autoscrollTimerDelay):
  6243. (WebCore::RenderScrollbarTheme::registerScrollbar):
  6244. (WebCore::RenderScrollbarTheme::unregisterScrollbar):
  6245. * rendering/RenderTextControl.cpp:
  6246. (WebCore::RenderTextControl::scrollbarThickness):
  6247. * rendering/RenderThemeChromiumSkia.cpp:
  6248. (WebCore::RenderThemeChromiumSkia::menuListInternalPadding):
  6249. * rendering/RenderThemeChromiumWin.cpp:
  6250. (WebCore::RenderThemeChromiumWin::adjustInnerSpinButtonStyle):
  6251. 2011-10-11 Kentaro Hara <haraken@chromium.org>
  6252. Implement a WebKitTransitionEvent constructor for JSC
  6253. https://bugs.webkit.org/show_bug.cgi?id=69829
  6254. Reviewed by Adam Barth.
  6255. There is no spec for the WebKitTransitionEvent constructor
  6256. since it is WebKit-specific. However, judging from the current
  6257. IDL of initWebKitTransitionEvent(), the constructor IDL
  6258. should be as follows.
  6259. [Constructor(DOMString type, optional WebKitTransitionEventInit eventInitDict)]
  6260. interface WebKitTransitionEvent : Event {
  6261. ...;
  6262. }
  6263. dictionary WebKitTransitionEventInit : EventInit {
  6264. DOMString propertyName;
  6265. double elapsedTime;
  6266. }
  6267. Test: fast/events/constructors/webkit-transition-event-constructor.html
  6268. * bindings/generic/EventConstructors.h: Added a definition for the WebKitTransitionEvent constructor.
  6269. * bindings/js/JSEventConstructors.cpp: Added #includes for WebKitTransitionEvent.
  6270. * dom/WebKitTransitionEvent.cpp:
  6271. (WebCore::WebKitTransitionEventInit::WebKitTransitionEventInit):
  6272. (WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
  6273. (WebCore::WebKitTransitionEvent::initWebKitTransitionEvent):
  6274. * dom/WebKitTransitionEvent.h: Added a definition for WebKitTransitionEventInit.
  6275. (WebCore::WebKitTransitionEvent::create):
  6276. (WebCore::WebKitTransitionEvent::isWebKitTransitionEvent):
  6277. * dom/WebKitTransitionEvent.idl: Makes WebKitTransitionEvent constructible.
  6278. 2011-10-11 Sameer Patil <mkrp87@motorola.com>
  6279. :checked pseudo selector not matching selected option
  6280. https://bugs.webkit.org/show_bug.cgi?id=63192
  6281. Reviewed by Kent Tamura.
  6282. Test: fast/css/checked-pseudo-selector.html
  6283. Option element selected state need to be checked in checkOneSelector,
  6284. so that it can be considered as checked on querySelectorAll(':checked').
  6285. * css/SelectorChecker.cpp:
  6286. (WebCore::SelectorChecker::checkOneSelector):
  6287. 2011-10-11 Ryuan Choi <ryuan.choi@samsung.com>
  6288. StorageAreaSync::sync needs a transaction for better performance.
  6289. https://bugs.webkit.org/show_bug.cgi?id=57694
  6290. Reviewed by Darin Adler.
  6291. For now, StorageAreaSync::sync execute SQLite operations for all items outside
  6292. a transaction.
  6293. However, SQLite operations outside a transaction are all atomic and thus
  6294. writes will block on I/O, which makes the process slow during heavy I/O.
  6295. This wrapped them with BEGIN TRANSACTION and END TRANSACTION for the better
  6296. performance.
  6297. No new tests required.
  6298. No functional changes if transaction doesn't fail.
  6299. And also, it is difficult to test the case of transaction fails.
  6300. * storage/StorageAreaSync.cpp:
  6301. (WebCore::StorageAreaSync::sync):
  6302. 2011-10-11 Ojan Vafai <ojan@chromium.org>
  6303. margin-right is ignored with vertical writing mode
  6304. https://bugs.webkit.org/show_bug.cgi?id=69686
  6305. Reviewed by Darin Adler.
  6306. We need to use the parent's writing mode when grabbing
  6307. the margin start/end for the purposes of computing the parent's
  6308. preferred widths.
  6309. Test: fast/writing-mode/margins.html
  6310. * rendering/RenderBlock.cpp:
  6311. (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
  6312. * rendering/RenderBlock.h:
  6313. 2011-10-11 Sheriff Bot <webkit.review.bot@gmail.com>
  6314. Unreviewed, rolling out r97202, r97207, and r97215.
  6315. http://trac.webkit.org/changeset/97202
  6316. http://trac.webkit.org/changeset/97207
  6317. http://trac.webkit.org/changeset/97215
  6318. https://bugs.webkit.org/show_bug.cgi?id=69894
  6319. Broke builds (Requested by rniwa on #webkit).
  6320. * platform/PopupMenuClient.h:
  6321. * rendering/RenderMenuList.cpp:
  6322. (WebCore::RenderMenuList::showPopup):
  6323. * rendering/RenderMenuList.h:
  6324. * rendering/RenderObject.h:
  6325. * rendering/RenderTextControlSingleLine.cpp:
  6326. (WebCore::RenderTextControlSingleLine::showPopup):
  6327. * rendering/RenderTextControlSingleLine.h:
  6328. * testing/Internals.cpp:
  6329. * testing/Internals.h:
  6330. * testing/Internals.idl:
  6331. 2011-10-11 Martin Robinson <mrobinson@igalia.com>
  6332. [Soup] ResourceHandleSoup does not handle encodedBlobData
  6333. https://bugs.webkit.org/show_bug.cgi?id=52092
  6334. Reviewed by Gustavo Noronha Silva.
  6335. Add support for sending encoded blob data during requests.
  6336. * platform/network/soup/ResourceHandleSoup.cpp:
  6337. (WebCore::addFileToSoupMessageBody): Added this helper.
  6338. (WebCore::blobIsOutOfDate): Ditto.
  6339. (WebCore::addEncodedBlobItemToSoupMessageBody): Ditto.
  6340. (WebCore::addEncodedBlobToSoupMessageBody): Ditto.
  6341. (WebCore::addFormElementsToSoupMessage): No longer flatten form data, as we
  6342. cannot do this in the case where the form data contains blobs. Now handle
  6343. the blob case.
  6344. (WebCore::loadResourceSynchronously): Add blob support for synchronous loading.
  6345. 2011-10-11 Chris Rogers <crogers@google.com>
  6346. Heap buffer overflow in Webaudio FFTFrame::doFFT
  6347. https://bugs.webkit.org/show_bug.cgi?id=69447
  6348. Reviewed by Kenneth Russell.
  6349. No new tests. This only changes internal implementation details.
  6350. * platform/audio/HRTFKernel.cpp:
  6351. (WebCore::extractAverageGroupDelay):
  6352. * platform/audio/HRTFPanner.cpp:
  6353. (WebCore::HRTFPanner::fftSizeForSampleRate):
  6354. 2011-10-11 Ryosuke Niwa <rniwa@webkit.org>
  6355. Second Qt minimum release build fix attempt after r97163.
  6356. * platform/graphics/texmap/TextureMapperNode.cpp:
  6357. (WebCore::TextureMapperNode::syncCompositingStateSelf):
  6358. 2011-10-11 Ryosuke Niwa <rniwa@webkit.org>
  6359. Qt minimum release build fix attempt after r97163.
  6360. * platform/graphics/texmap/TextureMapperNode.cpp:
  6361. (WebCore::TextureMapperNode::syncCompositingStateSelf):
  6362. 2011-10-11 Oliver Hunt <oliver@apple.com>
  6363. Clang build broken
  6364. https://bugs.webkit.org/show_bug.cgi?id=69891
  6365. Reviewed by Darin Adler.
  6366. Rename CachedResourceClient::type to CachedResourceClient::resourceClientType
  6367. to avoid conflict in CSSImportRule.
  6368. * loader/cache/CachedCSSStyleSheet.cpp:
  6369. (WebCore::CachedCSSStyleSheet::didAddClient):
  6370. * loader/cache/CachedFont.cpp:
  6371. (WebCore::CachedFont::didAddClient):
  6372. * loader/cache/CachedFont.h:
  6373. (WebCore::CachedFontClient::resourceClientType):
  6374. * loader/cache/CachedImage.cpp:
  6375. (WebCore::CachedImage::didAddClient):
  6376. * loader/cache/CachedImage.h:
  6377. (WebCore::CachedImageClient::resourceClientType):
  6378. * loader/cache/CachedResourceClient.h:
  6379. (WebCore::CachedResourceClient::resourceClientType):
  6380. * loader/cache/CachedResourceClientWalker.h:
  6381. (WebCore::CachedResourceClientWalker::next):
  6382. * loader/cache/CachedStyleSheetClient.h:
  6383. (WebCore::CachedStyleSheetClient::resourceClientType):
  6384. * loader/cache/CachedXSLStyleSheet.cpp:
  6385. (WebCore::CachedXSLStyleSheet::didAddClient):
  6386. 2011-10-11 Ryosuke Niwa <rniwa@webkit.org>
  6387. Dir attribute is converted into direction property when merging paragraphs
  6388. https://bugs.webkit.org/show_bug.cgi?id=69680
  6389. Reviewed by Enrica Casucci.
  6390. Don't include direction and unicode-bidi properties in the wrapping style.
  6391. Tests: editing/deleting/merge-paragraph-into-h1-with-dir-2.html
  6392. editing/deleting/merge-paragraph-into-h1-with-dir.html
  6393. * editing/EditingStyle.cpp:
  6394. (WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement): Skip unicode-bidi and direction properties.
  6395. (WebCore::EditingStyle::wrappingStyleForSerialization): Extracted from StyledMarkupAccumulator::serializeNodes.
  6396. * editing/EditingStyle.h:
  6397. * editing/markup.cpp:
  6398. (WebCore::StyledMarkupAccumulator::serializeNodes): Calls wrappingStyleForSerialization.
  6399. 2011-10-11 Nico Weber <thakis@chromium.org>
  6400. [chromium] Let rule_binding use os.execvp() instead of subprocess.call() to spawn fewer processes.
  6401. https://bugs.webkit.org/show_bug.cgi?id=69589
  6402. Reviewed by Dirk Pranke.
  6403. When building with `make -j40`, all the binding rules are built en bloc. Since this script currently
  6404. uses subprocess.call(), that actually spawns 80 processes at once. OS X has a max process limit of
  6405. 255 by default, so the build used to fail with
  6406. "open2: fork failed: Resource temporarily unavailable at ../bindings/scripts/preprocessor.pm line 60"
  6407. As a fix, use execvp() instead, which replaces the current process instead of spawning a new one.
  6408. * WebCore.gyp/scripts/rule_binding.py:
  6409. 2011-10-11 Fady Samuel <fsamuel@chromium.org>
  6410. Towards making PopupMenuClient more testable
  6411. https://bugs.webkit.org/show_bug.cgi?id=69631
  6412. Reviewed by Simon Fraser.
  6413. Added some functions to window.internals to allow testing of parts of PopupMenuClient.
  6414. Test: fast/dom/popup-menu-client-test.html
  6415. * platform/PopupMenuClient.h:
  6416. * rendering/RenderMenuList.cpp:
  6417. (WebCore::RenderMenuList::showPopup):
  6418. (WebCore::RenderMenuList::boundingBoxRect):
  6419. * rendering/RenderMenuList.h:
  6420. (WebCore::RenderMenuList::RenderMenuList::isPopupMenuClient):
  6421. * rendering/RenderObject.h:
  6422. (WebCore::RenderObject::isPopupMenuClient):
  6423. * rendering/RenderTextControlSingleLine.cpp:
  6424. (WebCore::RenderTextControlSingleLine::showPopup):
  6425. (WebCore::RenderTextControlSingleLine::boundingBoxRect):
  6426. * rendering/RenderTextControlSingleLine.h:
  6427. (WebCore::RenderTextControlSingleLine::isPopupMenuClient):
  6428. * testing/Internals.cpp:
  6429. (WebCore::Internals::toPopupMenuClient):
  6430. (WebCore::Internals::popupClientPaddingLeft):
  6431. (WebCore::Internals::popupClientPaddingRight):
  6432. (WebCore::Internals::popupClientBoundingBoxRect):
  6433. * testing/Internals.h:
  6434. * testing/Internals.idl:
  6435. 2011-10-11 Nate Chapin <japhet@chromium.org>
  6436. Make CachedResourceClientWalker templates, and
  6437. have it check and filter out bad casts when iterating
  6438. (currently we rely on CachedResourceClients being careful
  6439. to inherit from the right subclass for the type of resource
  6440. they want to load).
  6441. https://bugs.webkit.org/show_bug.cgi?id=69877
  6442. Reviewed by Adam Barth.
  6443. No new tests, no functionality change.
  6444. * CMakeLists.txt:
  6445. * GNUmakefile.list.am:
  6446. * WebCore.gypi:
  6447. * WebCore.pro:
  6448. * WebCore.vcproj/WebCore.vcproj:
  6449. * WebCore.xcodeproj/project.pbxproj:
  6450. * loader/cache/CachedCSSStyleSheet.cpp:
  6451. * loader/cache/CachedFont.cpp:
  6452. * loader/cache/CachedFont.h:
  6453. * loader/cache/CachedImage.cpp:
  6454. * loader/cache/CachedImage.h:
  6455. * loader/cache/CachedResource.cpp:
  6456. * loader/cache/CachedResourceClient.h:
  6457. * loader/cache/CachedResourceClientWalker.cpp: Removed.
  6458. * loader/cache/CachedResourceClientWalker.h:
  6459. * loader/cache/CachedStyleSheetClient.h:
  6460. * loader/cache/CachedXSLStyleSheet.cpp:
  6461. 2011-10-11 W. James MacLean <wjmaclean@chromium.org>
  6462. [chromium] Fix compilation guards in ScrollAnimatorNone (GESTURE_EVENTS).
  6463. https://bugs.webkit.org/show_bug.cgi?id=69853
  6464. Reviewed by Kenneth Russell.
  6465. Adding missing guards ENABLE(GESTURE_EVENTS) in ScrollAnimatorNone. So
  6466. far this hasn't been a problem since GESTURE_EVENTS are usually turned on
  6467. whenever SMOOTH_SCROLLING is, but it could be a problem if this changes.
  6468. No new tests (compilation without errors is the test).
  6469. * platform/ScrollAnimatorNone.cpp:
  6470. * platform/ScrollAnimatorNone.h:
  6471. 2011-10-11 Kenneth Russell <kbr@google.com>
  6472. [chromium] Check for lost context at beginning of compositor's execution
  6473. https://bugs.webkit.org/show_bug.cgi?id=69776
  6474. Reviewed by James Robinson.
  6475. Test: platform/chromium/compositing/webgl-loses-compositor-context.html
  6476. * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  6477. (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
  6478. 2011-10-11 W. James MacLean <wjmaclean@chromium.org>
  6479. Loss of precision when converting from double to int and double to float in FrameView::zoomAnimatorTransformChanged()
  6480. https://bugs.webkit.org/show_bug.cgi?id=69739
  6481. Reviewed by Simon Fraser.
  6482. Change 'double' parameters in FrameView:: & ScrollableArea::zoomAnimatorTransformChanged()
  6483. to 'float' to avoid loss of precision warnings when invoking setPageScalefactor.
  6484. Test coverage provided by existing zoom-animator tests.
  6485. * page/FrameView.cpp:
  6486. (WebCore::FrameView::zoomAnimatorTransformChanged):
  6487. * page/FrameView.h:
  6488. * platform/ScrollableArea.cpp:
  6489. (WebCore::ScrollableArea::zoomAnimatorTransformChanged):
  6490. * platform/ScrollableArea.h:
  6491. 2011-10-11 No'am Rosenthal <noam.rosenthal@nokia.com>
  6492. Unreviewed build fix, unbreaking the Qt minimal bot.
  6493. Some #ifdef ENABLED(TILED_BACKING_STORE) clauses were missing.
  6494. * platform/graphics/texmap/TextureMapperNode.cpp:
  6495. (WebCore::TextureMapperNode::computeTiles):
  6496. (WebCore::TextureMapperNode::renderContent):
  6497. (WebCore::TextureMapperNode::paintSelf):
  6498. 2011-10-11 Abhishek Arya <inferno@chromium.org>
  6499. Generalize r95461 change to include table-cell and
  6500. allow splitting between :before, :after content.
  6501. https://bugs.webkit.org/show_bug.cgi?id=69854
  6502. Reviewed by Eric Seidel.
  6503. Test: fast/table/table-row-before-after-content-around-table-cell.html
  6504. * rendering/RenderObject.cpp:
  6505. (WebCore::RenderObject::addChild):
  6506. 2011-10-11 Dominic Mazzoni <dmazzoni@google.com>
  6507. AccessibilityMenuList should fire change notification when popup is not open.
  6508. https://bugs.webkit.org/show_bug.cgi?id=69440
  6509. Reviewed by Chris Fleizach.
  6510. Test: accessibility/menu-list-sends-change-notification.html
  6511. * accessibility/AccessibilityMenuList.cpp:
  6512. (WebCore::AccessibilityMenuList::didUpdateActiveOption):
  6513. 2011-10-11 Joshua Bell <jsbell@chromium.org>
  6514. IndexedDB: implement IDBFactory.cmp method
  6515. https://bugs.webkit.org/show_bug.cgi?id=62293
  6516. Reviewed by Tony Chang.
  6517. * storage/IDBFactory.cpp:
  6518. (WebCore::IDBFactory::cmp):
  6519. * storage/IDBFactory.h:
  6520. * storage/IDBFactory.idl:
  6521. * storage/IDBKey.cpp:
  6522. (WebCore::IDBKey::compare):
  6523. (WebCore::IDBKey::isLessThan):
  6524. (WebCore::IDBKey::isEqual):
  6525. * storage/IDBKey.h:
  6526. 2011-10-11 No'am Rosenthal <noam.rosenthal@nokia.com>
  6527. [Texmap] TextureMapperGL leaves GL in a modified state.
  6528. https://bugs.webkit.org/show_bug.cgi?id=68983
  6529. Reviewed by Andreas Kling.
  6530. Disable the vertexAttribArray after clipping.
  6531. No new functionality so no new tests.
  6532. * platform/graphics/opengl/TextureMapperGL.cpp:
  6533. (WebCore::TextureMapperGL::beginClip):
  6534. 2011-10-11 No'am Rosenthal <noam.rosenthal@nokia.com>
  6535. [Qt][WK2] Synchronize tiling with accelerated compositing
  6536. https://bugs.webkit.org/show_bug.cgi?id=69151
  6537. Reviewed by Kenneth Rohde Christiansen.
  6538. Enable "externally managed" tiles in TextureMapperNodes.
  6539. Currently, TextureMapperNodes manage tiles themselves, the tiles being there only to
  6540. overcome the 2k texture size limitation. For WebKit2, we want those tiles to be managed
  6541. externally, namely through the web process via the remote tile backend for
  6542. TiledBackingStore.
  6543. This patch adds a store for those externally managed tiles, and adds the necessary code to
  6544. paint them instead of the owned tiles when appropriate.
  6545. In addition, in order to support externally managed remote tiles, we have to calculate per-
  6546. layer visible rects and pass them to the web process. The new collectVisibleContentRects
  6547. does this - and is directly tied to the externally-managed tile approach.
  6548. Code is disabled for now, but covered by existing compositing tests.
  6549. * platform/graphics/texmap/TextureMapperNode.cpp:
  6550. (WebCore::TextureMapperNode::computeTiles):
  6551. (WebCore::clampRect):
  6552. (WebCore::TextureMapperNode::collectVisibleContentRects):
  6553. (WebCore::TextureMapperNode::renderContent):
  6554. (WebCore::TextureMapperNode::targetRectForTileRect):
  6555. (WebCore::TextureMapperNode::paintSelf):
  6556. (WebCore::TextureMapperNode::createContentsTile):
  6557. (WebCore::TextureMapperNode::removeContentsTile):
  6558. (WebCore::TextureMapperNode::setTileBackBufferTextureForDirectlyCompositedImage):
  6559. (WebCore::TextureMapperNode::clearAllDirectlyCompositedImageTiles):
  6560. (WebCore::TextureMapperNode::setContentsTileBackBuffer):
  6561. (WebCore::TextureMapperNode::swapContentsBuffers):
  6562. (WebCore::TextureMapperNode::syncCompositingStateSelf):
  6563. (WebCore::TextureMapperNode::syncCompositingState):
  6564. * platform/graphics/texmap/TextureMapperNode.h:
  6565. (WebCore::TextureMapperNode::size):
  6566. (WebCore::TextureMapperNode::setTileOwnership):
  6567. (WebCore::TextureMapperNode::setID):
  6568. (WebCore::TextureMapperNode::id):
  6569. (WebCore::TextureMapperNode::texture):
  6570. (WebCore::TextureMapperNode::ExternallyManagedTile::ExternallyManagedTile):
  6571. (WebCore::TextureMapperNode::State::State):
  6572. 2011-10-11 Claudio Saavedra <csaavedra@igalia.com>
  6573. [GTK] GtkAuthenticationDialog: use GtkGrid instead of GtkTable
  6574. https://bugs.webkit.org/show_bug.cgi?id=69749
  6575. Reviewed by Martin Robinson.
  6576. * platform/gtk/GtkAuthenticationDialog.cpp:
  6577. (WebCore::addEntryToGrid): Migrate to GtkGrid when using GTK+ 3
  6578. (WebCore::GtkAuthenticationDialog::GtkAuthenticationDialog):
  6579. Ditto.
  6580. 2011-10-11 Alexey Proskuryakov <ap@apple.com>
  6581. Build fix.
  6582. * WebCore.exp.in: Export GraphicsContext::clearShadow().
  6583. 2011-10-10 Adam Klein <adamk@chromium.org>
  6584. [MutationObservers] Add stub implementation of WebKitMutationObserver
  6585. https://bugs.webkit.org/show_bug.cgi?id=68949
  6586. Reviewed by Ryosuke Niwa, Oliver Hunt, and Dimitri Glazkov.
  6587. See https://bugs.webkit.org/show_bug.cgi?id=68729 for the metabug.
  6588. This patch adds a stub WebKitMutationObserver and its supporting classes
  6589. MutationCallback and MutationObserverOptions.
  6590. No implementation is provided for the all-important observe() and
  6591. disconnect() methods.
  6592. Note that WebKitMutationObserver is vendor-prefixed since it has a
  6593. constructor exposed on DOMWindow. None of the rest of the API needs
  6594. prefixing, as it's only available via a call through a MutationObserver
  6595. callback (created by instantiating WebKitMutationObserver).
  6596. Given the number of files required to get just the stub up and running,
  6597. it seems reasonable to leave the actual implementation for the next
  6598. patch (or more likely several patches). I've left FIXMEs in all the places
  6599. that'll need augmentation.
  6600. Tests: fast/mutation/mutation-observer-constructor.html
  6601. fast/mutation/observe-exceptions.html
  6602. * CMakeLists.txt:
  6603. * DerivedSources.cpp:
  6604. * DerivedSources.make:
  6605. * GNUmakefile.list.am:
  6606. * UseJSC.cmake:
  6607. * WebCore.gypi:
  6608. * WebCore.pro:
  6609. * WebCore.vcproj/WebCore.vcproj:
  6610. * WebCore.xcodeproj/project.pbxproj:
  6611. * bindings/js/JSDictionary.h:
  6612. (WebCore::JSDictionary::tryGetProperty):
  6613. * bindings/js/JSMutationCallbackCustom.cpp: Added.
  6614. (WebCore::JSMutationCallback::handleEvent):
  6615. * bindings/js/JSWebKitMutationObserverCustom.cpp: Added.
  6616. (WebCore::JSWebKitMutationObserverConstructor::constructJSWebKitMutationObserver):
  6617. (WebCore::JSWebKitMutationObserver::observe):
  6618. * bindings/v8/custom/V8MutationCallbackCustom.cpp: Added.
  6619. (WebCore::V8MutationCallback::handleEvent):
  6620. * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp: Added.
  6621. (WebCore::V8WebKitMutationObserver::constructorCallback):
  6622. (WebCore::V8WebKitMutationObserver::observeCallback):
  6623. * dom/MutationCallback.h: Added.
  6624. (WebCore::MutationCallback::~MutationCallback):
  6625. * dom/MutationCallback.idl: Added.
  6626. * dom/MutationObserverOptions.h: Added.
  6627. (WebCore::MutationObserverOptions::create):
  6628. (WebCore::MutationObserverOptions::childList):
  6629. (WebCore::MutationObserverOptions::setChildList):
  6630. (WebCore::MutationObserverOptions::attributes):
  6631. (WebCore::MutationObserverOptions::setAttributes):
  6632. (WebCore::MutationObserverOptions::characterData):
  6633. (WebCore::MutationObserverOptions::setCharacterData):
  6634. (WebCore::MutationObserverOptions::subtree):
  6635. (WebCore::MutationObserverOptions::setSubtree):
  6636. (WebCore::MutationObserverOptions::attributeOldValue):
  6637. (WebCore::MutationObserverOptions::setAttributeOldValue):
  6638. (WebCore::MutationObserverOptions::characterDataOldValue):
  6639. (WebCore::MutationObserverOptions::setCharacterDataOldValue):
  6640. (WebCore::MutationObserverOptions::MutationObserverOptions):
  6641. * dom/WebKitMutationObserver.cpp: Added.
  6642. (WebCore::WebKitMutationObserver::create):
  6643. (WebCore::WebKitMutationObserver::WebKitMutationObserver):
  6644. (WebCore::WebKitMutationObserver::~WebKitMutationObserver):
  6645. (WebCore::WebKitMutationObserver::observe):
  6646. (WebCore::WebKitMutationObserver::disconnect):
  6647. * dom/WebKitMutationObserver.h: Added.
  6648. * dom/WebKitMutationObserver.idl: Added.
  6649. * page/DOMWindow.idl:
  6650. 2011-10-11 Arun Patole <BMF834@motorola.com>
  6651. Need more efficient ways to set inline CSS styles
  6652. https://bugs.webkit.org/show_bug.cgi?id=58157
  6653. Reviewed by Dimitri Glazkov.
  6654. No new tests added as this is just a code optimization.
  6655. Code optimization:
  6656. -Used CSSPropertyNames, CSSValues and CSSPrimitiveValues instead of Strings.
  6657. -Removed displayString(), webkitTransitionString(), opacityString() functions as they will no longer be needed after this change.
  6658. -Moved makeOpaque and makeTransparent functionality to MediaControlPanelElement from MediaControlRootElement.
  6659. * html/HTMLMediaElement.cpp:
  6660. (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
  6661. * html/shadow/MediaControlElements.cpp:
  6662. (WebCore::MediaControlElement::show):
  6663. (WebCore::MediaControlElement::hide):
  6664. (WebCore::MediaControlPanelElement::MediaControlPanelElement):
  6665. (WebCore::MediaControlPanelElement::makeOpaque):
  6666. (WebCore::MediaControlPanelElement::makeTransparent):
  6667. (WebCore::MediaControlInputElement::show):
  6668. (WebCore::MediaControlInputElement::hide):
  6669. * html/shadow/MediaControlElements.h:
  6670. * html/shadow/MediaControlRootElement.cpp:
  6671. (WebCore::MediaControlRootElement::MediaControlRootElement):
  6672. (WebCore::MediaControlRootElement::makeOpaque):
  6673. (WebCore::MediaControlRootElement::makeTransparent):
  6674. * html/shadow/MediaControlRootElement.h:
  6675. * html/shadow/MediaControlRootElementChromium.cpp:
  6676. (WebCore::MediaControlRootElementChromium::makeOpaque):
  6677. (WebCore::MediaControlRootElementChromium::makeTransparent):
  6678. 2011-10-11 Pavel Feldman <pfeldman@google.com>
  6679. Web Inspector: make Extensions component compile.
  6680. https://bugs.webkit.org/show_bug.cgi?id=69833
  6681. Reviewed by Yury Semikhatsky.
  6682. * inspector/compile-front-end.sh:
  6683. * inspector/front-end/BinarySearch.js:
  6684. * inspector/front-end/ConsoleModel.js:
  6685. * inspector/front-end/ExtensionAPI.js:
  6686. (injectedExtensionAPI.Network.prototype.addRequestHeaders):
  6687. (injectedExtensionAPI.AuditResultImpl.prototype.addResult):
  6688. (injectedExtensionAPI.AuditResultNode.prototype.addChild):
  6689. * inspector/front-end/ExtensionAuditCategory.js:
  6690. * inspector/front-end/ExtensionPanel.js:
  6691. (WebInspector.ExtensionSidebarPane.prototype.setExpression):
  6692. * inspector/front-end/ExtensionRegistryStub.js:
  6693. * inspector/front-end/ExtensionServer.js:
  6694. (WebInspector.ExtensionServer.prototype._postNotification):
  6695. (WebInspector.ExtensionServer.prototype._onAddRequestHeaders):
  6696. (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
  6697. (WebInspector.ExtensionServer.prototype._registerExtension):
  6698. (WebInspector.ExtensionStatus):
  6699. * inspector/front-end/NetworkLog.js:
  6700. (WebInspector.NetworkLog.prototype._onResourceStarted):
  6701. * inspector/front-end/Object.js:
  6702. (WebInspector.Object.prototype.dispatchEventToListeners):
  6703. * inspector/front-end/externs.js:
  6704. (console.warn):
  6705. (console.assert):
  6706. (console.error):
  6707. ():
  6708. (AuditResult):
  6709. (EventSink):
  6710. (ExtensionSidebarPane):
  6711. (Panel):
  6712. (PanelWithSidebar):
  6713. (Request):
  6714. (Resource):
  6715. (Timeline):
  6716. 2011-10-05 Pavel Podivilov <podivilov@chromium.org>
  6717. Web Inspector: implement CompilerSourceMappingProvider.
  6718. https://bugs.webkit.org/show_bug.cgi?id=69423
  6719. Reviewed by Pavel Feldman.
  6720. CompilerSourceMappingProvider implements a cross-domain communication channel for loading source mappings and source files.
  6721. Front-end page can't send XHRs to source mapping server directly due to SOP restrictions. Instead, we inject an invisible
  6722. iframe that is loaded from source mapping server and use window.postMessage to communicate with it. iframe has a different
  6723. origin and thus doesn't have access to front-end window.
  6724. Test: http/tests/inspector/compiler-source-mapping-provider.html
  6725. * inspector/front-end/CompilerSourceMappingProvider.js:
  6726. (WebInspector.CompilerSourceMappingProvider):
  6727. (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceMapping.frameLoaded.didLoadData):
  6728. (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceMapping.frameLoaded):
  6729. (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceMapping):
  6730. (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceCode):
  6731. (WebInspector.CompilerSourceMappingProvider.prototype._sendRequest):
  6732. (WebInspector.CompilerSourceMappingProvider.prototype._onMessage):
  6733. (WebInspector.CompilerSourceMappingProvider.prototype._cancelRequest):
  6734. * inspector/front-end/inspector.js:
  6735. (WebInspector.installSourceMappingForTest):
  6736. 2011-10-11 Mike Reed <reed@google.com>
  6737. re-add support for GDI text behind a compile flag
  6738. https://bugs.webkit.org/show_bug.cgi?id=69530
  6739. Reviewed by James Robinson.
  6740. Reverts back to using GDI for text (when possible)
  6741. but keeps skia-text version behind a compile-flag. If/when we can
  6742. resolve the outstanding soft-clip and intl-performance bugs with the
  6743. skia version, we may change the compile-flag to reenable skia.
  6744. Previous change http://trac.webkit.org/changeset/94589 removed the GDI code.
  6745. * platform/graphics/chromium/FontChromiumWin.cpp:
  6746. (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
  6747. (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init):
  6748. (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
  6749. (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
  6750. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
  6751. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
  6752. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::estimateTextBounds):
  6753. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
  6754. (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc):
  6755. (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
  6756. (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter):
  6757. (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds):
  6758. (WebCore::drawGlyphsWin):
  6759. (WebCore::Font::drawGlyphs):
  6760. (WebCore::Font::drawComplexText):
  6761. * platform/graphics/chromium/UniscribeHelper.cpp:
  6762. (WebCore::UniscribeHelper::draw):
  6763. * platform/graphics/skia/PlatformContextSkia.cpp:
  6764. (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
  6765. * platform/graphics/skia/PlatformContextSkia.h:
  6766. * platform/graphics/skia/SkiaFontWin.cpp:
  6767. (WebCore::windowsCanHandleDrawTextShadow):
  6768. (WebCore::windowsCanHandleTextDrawing):
  6769. (WebCore::windowsCanHandleTextDrawingWithoutShadow):
  6770. * platform/graphics/skia/SkiaFontWin.h:
  6771. 2011-10-11 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
  6772. [Qt] Remove all references to QTDIR_build and standalone_package
  6773. Qt is now modularized, which means we no longer import WebKit into
  6774. the Qt source tree. Instead we use git submodules, and building
  6775. QtWebKit as "part of Qt" is really building QtWebKit as from trunk.
  6776. To decrease the number of buildsystem configurations we also remove
  6777. the standalone_package code-path used when we were providing tarballs
  6778. with the derived sources pre-generated.
  6779. Reviewed by Simon Hausmann.
  6780. * CodeGenerators.pri:
  6781. * WebCore.pri:
  6782. * features.pri:
  6783. 2011-10-10 Andreas Kling <kling@webkit.org>
  6784. Shrink WebCore::Node on 64-bit.
  6785. https://bugs.webkit.org/show_bug.cgi?id=69768
  6786. Reviewed by Antti Koivisto.
  6787. Rearrange TreeShared and Node members so that the node flags fall
  6788. into the padding at the end of TreeShared on 64-bit, reducing the
  6789. size of Node (and all subclasses) by 8 bytes.
  6790. * dom/Document.h:
  6791. (WebCore::Node::Node):
  6792. * dom/Node.h:
  6793. * platform/TreeShared.h:
  6794. (WebCore::TreeShared::TreeShared):
  6795. 2011-10-11 Kent Tamura <tkent@chromium.org>
  6796. Move m_listItems and m_recalcListItems from SelectElementData to HTMLSelectElement
  6797. https://bugs.webkit.org/show_bug.cgi?id=69812
  6798. Reviewed by Ryosuke Niwa.
  6799. Move SelectElementData::m_recalcListItems,
  6800. SelectElementData::m_listItems, and related functions of
  6801. SelectElementData class to HTMLSelectElement.
  6802. Non-const listItems() was removed because it is used only in
  6803. recalcListItemsInternal() and it can access m_listItems diretly.
  6804. Static recalcListItems() is changed to non-static, and renamed to
  6805. recalcListItemsInternal() in order to avoid confusion with the
  6806. existing recalcListItems().
  6807. No new tests, just a refactoring.
  6808. * dom/SelectElement.cpp:
  6809. Move checkListItems() and listItems() to HTMLSelectElement.
  6810. (WebCore::SelectElementData::SelectElementData):
  6811. Remove Initialization of m_recalcListItems.
  6812. * dom/SelectElement.h:
  6813. Move m_recalcListItems, m_listItems, and related functions to HTMLSelectElement.
  6814. * html/HTMLSelectElement.cpp:
  6815. (WebCore::HTMLSelectElement::HTMLSelectElement):
  6816. Initializes m_recalcListItems.
  6817. (WebCore::HTMLSelectElement::recalcListItems):
  6818. Rename the static recalcListItems() to recalcListItemsInternal().
  6819. (WebCore::HTMLSelectElement::recalcListItemsIfNeeded):
  6820. Use m_recalcListItems directly.
  6821. (WebCore::HTMLSelectElement::nextSelectableListIndex):
  6822. Update a listItems() callsite.
  6823. (WebCore::HTMLSelectElement::previousSelectableListIndex): ditto.
  6824. (WebCore::HTMLSelectElement::firstSelectableListIndex): ditto.
  6825. (WebCore::HTMLSelectElement::lastSelectableListIndex): ditto.
  6826. (WebCore::HTMLSelectElement::nextSelectableListIndexPageAway): ditto.
  6827. (WebCore::HTMLSelectElement::saveLastSelection): ditto.
  6828. (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex): ditto.
  6829. (WebCore::HTMLSelectElement::updateListBoxSelection): ditto.
  6830. (WebCore::HTMLSelectElement::listBoxOnChange): ditto.
  6831. (WebCore::HTMLSelectElement::checkListItems):
  6832. Moved from SelectElementData.
  6833. (WebCore::HTMLSelectElement::listItems): ditto.
  6834. (WebCore::HTMLSelectElement::setRecalcListItems):
  6835. Use m_recalcListItems directly.
  6836. (WebCore::HTMLSelectElement::recalcListItemsInternal):
  6837. - Make this non-static.
  6838. - Renamed from recalcListItems() to avoid confilct with another recalcListItems().
  6839. - Use m_recalcListItems and m_listItems directly.
  6840. (WebCore::HTMLSelectElement::selectedIndex):
  6841. Update a listItems() callsite.
  6842. (WebCore::HTMLSelectElement::setSelectedIndexInternal): ditto.
  6843. (WebCore::HTMLSelectElement::optionToListIndex): ditto.
  6844. (WebCore::HTMLSelectElement::listToOptionIndex): ditto.
  6845. (WebCore::HTMLSelectElement::deselectItemsWithoutValidation): ditto.
  6846. (WebCore::HTMLSelectElement::saveFormControlState):
  6847. Update callsites of listItems() and recalcListItems().
  6848. (WebCore::HTMLSelectElement::restoreFormControlState):
  6849. Update a listItems() callsite.
  6850. (WebCore::HTMLSelectElement::appendFormData): ditto.
  6851. (WebCore::HTMLSelectElement::reset): ditto.
  6852. (WebCore::HTMLSelectElement::menuListDefaultEventHandler): ditto.
  6853. (WebCore::HTMLSelectElement::updateSelectedState): ditto.
  6854. (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): ditto.
  6855. (WebCore::HTMLSelectElement::lastSelectedListIndex): ditto.
  6856. (WebCore::HTMLSelectElement::typeAheadFind): ditto.
  6857. (WebCore::HTMLSelectElement::insertedIntoTree):
  6858. Update a recalcListItems() callsite.
  6859. (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
  6860. Update a listItems() callsite.
  6861. (WebCore::HTMLSelectElement::length): ditto.
  6862. * html/HTMLSelectElement.h:
  6863. Move m_recalcListItems, m_listItems, and related functions from SelectElementData.
  6864. * html/HTMLSelectElementWin.cpp:
  6865. (WebCore::HTMLSelectElement::platformHandleKeydownEvent):
  6866. Update a listItems() callsite.
  6867. 2011-10-11 Kenichi Ishibashi <bashi@chromium.org>
  6868. [Chromium] Complex script code path breaks on Windows XP when a CFF font is used
  6869. https://bugs.webkit.org/show_bug.cgi?id=69497
  6870. Reviewed by Kent Tamura.
  6871. Don't use CFF webfonts when ScriptShape() can't handle it.
  6872. ScriptShape() indicates us the case by setting fNoGlyphIndex to TRUE.
  6873. If it's TRUE, we don't use the font. This could happen with early
  6874. version of Uniscribe on WinXP.
  6875. No new tests because the version of Uniscribe depends on environment.
  6876. One can install newer version of Uniscribe on WinXP.
  6877. * platform/graphics/chromium/UniscribeHelper.cpp:
  6878. (WebCore::canUseGlyphIndex): Added.
  6879. (WebCore::UniscribeHelper::shape): Don't use the shape result when canUseGlyphIndex() returns false.
  6880. 2011-10-11 John Bauman <jbauman@chromium.org>
  6881. Fix crash with toDataURL to JPEG
  6882. https://bugs.webkit.org/show_bug.cgi?id=69681
  6883. Reviewed by Kenneth Russell.
  6884. Move RefPtr declaration outside if to make sure image data still
  6885. exists through CGImageToDataURL.
  6886. * platform/graphics/cg/ImageBufferCG.cpp:
  6887. (WebCore::ImageBuffer::toDataURL):
  6888. 2011-10-10 Adam Barth <abarth@webkit.org>
  6889. Update test results.
  6890. * bindings/scripts/test/V8/V8TestInterface.h:
  6891. (WebCore::V8TestInterface::existingWrapper):
  6892. (WebCore::V8TestInterface::wrap):
  6893. * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
  6894. (WebCore::V8TestMediaQueryListListener::existingWrapper):
  6895. (WebCore::V8TestMediaQueryListListener::wrap):
  6896. * bindings/scripts/test/V8/V8TestObj.cpp:
  6897. (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter):
  6898. (WebCore::TestObjInternal::cachedAttribute1AttrGetter):
  6899. (WebCore::TestObjInternal::cachedAttribute2AttrGetter):
  6900. * bindings/scripts/test/V8/V8TestObj.h:
  6901. (WebCore::V8TestObj::existingWrapper):
  6902. (WebCore::V8TestObj::wrap):
  6903. * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
  6904. (WebCore::V8TestSerializedScriptValueInterface::existingWrapper):
  6905. (WebCore::V8TestSerializedScriptValueInterface::wrap):
  6906. 2011-10-10 Abhishek Arya <inferno@chromium.org>
  6907. Style not updated on text fragment in :first-letter
  6908. nested in :before table.
  6909. https://bugs.webkit.org/show_bug.cgi?id=69540
  6910. Reviewed by Dan Bernstein.
  6911. Test: fast/css-generated-content/first-letter-in-nested-before-table.html
  6912. * rendering/RenderObjectChildList.cpp:
  6913. (WebCore::RenderObjectChildList::updateBeforeAfterContent):
  6914. 2011-10-10 Sheriff Bot <webkit.review.bot@gmail.com>
  6915. Unreviewed, rolling out r97121.
  6916. http://trac.webkit.org/changeset/97121
  6917. https://bugs.webkit.org/show_bug.cgi?id=69815
  6918. Many layout tests failed (Requested by tkent on #webkit).
  6919. * dom/SelectElement.cpp:
  6920. (WebCore::SelectElementData::SelectElementData):
  6921. (WebCore::SelectElementData::checkListItems):
  6922. (WebCore::SelectElementData::listItems):
  6923. * dom/SelectElement.h:
  6924. (WebCore::SelectElementData::shouldRecalcListItems):
  6925. (WebCore::SelectElementData::setShouldRecalcListItems):
  6926. (WebCore::SelectElementData::rawListItems):
  6927. * html/HTMLSelectElement.cpp:
  6928. (WebCore::HTMLSelectElement::HTMLSelectElement):
  6929. (WebCore::HTMLSelectElement::recalcListItems):
  6930. (WebCore::HTMLSelectElement::recalcListItemsIfNeeded):
  6931. (WebCore::HTMLSelectElement::nextSelectableListIndex):
  6932. (WebCore::HTMLSelectElement::previousSelectableListIndex):
  6933. (WebCore::HTMLSelectElement::firstSelectableListIndex):
  6934. (WebCore::HTMLSelectElement::lastSelectableListIndex):
  6935. (WebCore::HTMLSelectElement::nextSelectableListIndexPageAway):
  6936. (WebCore::HTMLSelectElement::saveLastSelection):
  6937. (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
  6938. (WebCore::HTMLSelectElement::updateListBoxSelection):
  6939. (WebCore::HTMLSelectElement::listBoxOnChange):
  6940. (WebCore::HTMLSelectElement::setRecalcListItems):
  6941. (WebCore::HTMLSelectElement::selectedIndex):
  6942. (WebCore::HTMLSelectElement::setSelectedIndexInternal):
  6943. (WebCore::HTMLSelectElement::optionToListIndex):
  6944. (WebCore::HTMLSelectElement::listToOptionIndex):
  6945. (WebCore::HTMLSelectElement::deselectItemsWithoutValidation):
  6946. (WebCore::HTMLSelectElement::saveFormControlState):
  6947. (WebCore::HTMLSelectElement::restoreFormControlState):
  6948. (WebCore::HTMLSelectElement::appendFormData):
  6949. (WebCore::HTMLSelectElement::reset):
  6950. (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
  6951. (WebCore::HTMLSelectElement::updateSelectedState):
  6952. (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
  6953. (WebCore::HTMLSelectElement::lastSelectedListIndex):
  6954. (WebCore::HTMLSelectElement::typeAheadFind):
  6955. (WebCore::HTMLSelectElement::insertedIntoTree):
  6956. (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
  6957. (WebCore::HTMLSelectElement::length):
  6958. * html/HTMLSelectElement.h:
  6959. (WebCore::HTMLSelectElement::listItems):
  6960. * html/HTMLSelectElementWin.cpp:
  6961. (WebCore::HTMLSelectElement::platformHandleKeydownEvent):
  6962. 2011-10-10 Kent Tamura <tkent@chromium.org>
  6963. Move m_listItems and m_recalcListItems from SelectElementData to HTMLSelectElement
  6964. https://bugs.webkit.org/show_bug.cgi?id=69812
  6965. Reviewed by Ryosuke Niwa.
  6966. Move SelectElementData::m_recalcListItems,
  6967. SelectElementData::m_listItems, and related functions of
  6968. SelectElementData class to HTMLSelectElement.
  6969. Non-const listItems() was removed because it is used only in
  6970. recalcListItemsInternal() and it can access m_listItems diretly.
  6971. Static recalcListItems() is changed to non-static, and renamed to
  6972. recalcListItemsInternal() in order to avoid confusion with the
  6973. existing recalcListItems().
  6974. No new tests, just a refactoring.
  6975. * dom/SelectElement.cpp:
  6976. Move checkListItems() and listItems() to HTMLSelectElement.
  6977. (WebCore::SelectElementData::SelectElementData):
  6978. Remove Initialization of m_recalcListItems.
  6979. * dom/SelectElement.h:
  6980. Move m_recalcListItems, m_listItems, and related functions to HTMLSelectElement.
  6981. * html/HTMLSelectElement.cpp:
  6982. (WebCore::HTMLSelectElement::HTMLSelectElement):
  6983. Initializes m_recalcListItems.
  6984. (WebCore::HTMLSelectElement::recalcListItems):
  6985. Rename the static recalcListItems() to recalcListItemsInternal().
  6986. (WebCore::HTMLSelectElement::recalcListItemsIfNeeded):
  6987. Use m_recalcListItems directly.
  6988. (WebCore::HTMLSelectElement::nextSelectableListIndex):
  6989. Update a listItems() callsite.
  6990. (WebCore::HTMLSelectElement::previousSelectableListIndex): ditto.
  6991. (WebCore::HTMLSelectElement::firstSelectableListIndex): ditto.
  6992. (WebCore::HTMLSelectElement::lastSelectableListIndex): ditto.
  6993. (WebCore::HTMLSelectElement::nextSelectableListIndexPageAway): ditto.
  6994. (WebCore::HTMLSelectElement::saveLastSelection): ditto.
  6995. (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex): ditto.
  6996. (WebCore::HTMLSelectElement::updateListBoxSelection): ditto.
  6997. (WebCore::HTMLSelectElement::listBoxOnChange): ditto.
  6998. (WebCore::HTMLSelectElement::checkListItems):
  6999. Moved from SelectElementData.
  7000. (WebCore::HTMLSelectElement::listItems): ditto.
  7001. (WebCore::HTMLSelectElement::setRecalcListItems):
  7002. Use m_recalcListItems directly.
  7003. (WebCore::HTMLSelectElement::recalcListItemsInternal):
  7004. - Make this non-static.
  7005. - Renamed from recalcListItems() to avoid confilct with another recalcListItems().
  7006. - Use m_recalcListItems and m_listItems directly.
  7007. (WebCore::HTMLSelectElement::selectedIndex):
  7008. Update a listItems() callsite.
  7009. (WebCore::HTMLSelectElement::setSelectedIndexInternal): ditto.
  7010. (WebCore::HTMLSelectElement::optionToListIndex): ditto.
  7011. (WebCore::HTMLSelectElement::listToOptionIndex): ditto.
  7012. (WebCore::HTMLSelectElement::deselectItemsWithoutValidation): ditto.
  7013. (WebCore::HTMLSelectElement::saveFormControlState):
  7014. Update callsites of listItems() and recalcListItems().
  7015. (WebCore::HTMLSelectElement::restoreFormControlState):
  7016. Update a listItems() callsite.
  7017. (WebCore::HTMLSelectElement::appendFormData): ditto.
  7018. (WebCore::HTMLSelectElement::reset): ditto.
  7019. (WebCore::HTMLSelectElement::menuListDefaultEventHandler): ditto.
  7020. (WebCore::HTMLSelectElement::updateSelectedState): ditto.
  7021. (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): ditto.
  7022. (WebCore::HTMLSelectElement::lastSelectedListIndex): ditto.
  7023. (WebCore::HTMLSelectElement::typeAheadFind): ditto.
  7024. (WebCore::HTMLSelectElement::insertedIntoTree):
  7025. Update a recalcListItems() callsite.
  7026. (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
  7027. Update a listItems() callsite.
  7028. (WebCore::HTMLSelectElement::length): ditto.
  7029. * html/HTMLSelectElement.h:
  7030. Move m_recalcListItems, m_listItems, and related functions from SelectElementData.
  7031. * html/HTMLSelectElementWin.cpp:
  7032. (WebCore::HTMLSelectElement::platformHandleKeydownEvent):
  7033. Update a listItems() callsite.
  7034. 2011-10-10 Dan Bernstein <mitz@apple.com>
  7035. <rdar://problem/10246137> Duplicate ::after content when both ::before and ::after are styled as table parts
  7036. Reviewed by Sam Weinig.
  7037. Test: fast/css-generated-content/table-parts-before-and-after.html
  7038. * rendering/RenderObject.cpp:
  7039. (WebCore::RenderObject::addChild): Prevented table part childern after a ::before table from being merged
  7040. into it.
  7041. * rendering/RenderTable.cpp:
  7042. (WebCore::RenderTable::addChild): Prevented children after a ::before table section from being merged
  7043. into it.
  7044. 2011-10-10 Nate Chapin <japhet@chromium.org>
  7045. Most of the functions in CachedResourceClient are specific
  7046. to a single type of CachedResource. Move these callbacks into
  7047. separate subclasses of CachedResourceClient, and leave only
  7048. the common callback (notifyFinished) in the base class.
  7049. https://bugs.webkit.org/show_bug.cgi?id=69790
  7050. Reviewed by Adam Barth.
  7051. No new tests, no functionality changed intended.
  7052. * css/CSSFontFaceSource.h:
  7053. * css/CSSImageValue.h:
  7054. * css/CSSImportRule.h:
  7055. * dom/ProcessingInstruction.cpp:
  7056. * dom/ProcessingInstruction.h:
  7057. * html/HTMLLinkElement.h:
  7058. * html/ImageDocument.h:
  7059. * loader/ImageLoader.h:
  7060. * loader/cache/CachedCSSStyleSheet.cpp:
  7061. * loader/cache/CachedCSSStyleSheet.h:
  7062. * loader/cache/CachedFont.cpp:
  7063. * loader/cache/CachedFont.h:
  7064. * loader/cache/CachedImage.cpp:
  7065. * loader/cache/CachedImage.h:
  7066. * loader/cache/CachedResourceClient.h:
  7067. * loader/cache/CachedXSLStyleSheet.cpp:
  7068. * loader/cache/CachedXSLStyleSheet.h:
  7069. * platform/chromium/ClipboardChromium.h:
  7070. * platform/gtk/ClipboardGtk.h:
  7071. * platform/mac/ClipboardMac.h:
  7072. * platform/qt/ClipboardQt.h:
  7073. * platform/win/ClipboardWin.h:
  7074. * rendering/RenderObject.cpp:
  7075. * rendering/RenderObject.h:
  7076. * svg/SVGFEImageElement.h:
  7077. * svg/SVGFontFaceUriElement.h:
  7078. * xml/XSLImportRule.h:
  7079. 2011-10-10 Sheriff Bot <webkit.review.bot@gmail.com>
  7080. Unreviewed, rolling out r97087.
  7081. http://trac.webkit.org/changeset/97087
  7082. https://bugs.webkit.org/show_bug.cgi?id=69805
  7083. failing assert on debug builds (Requested by simonjam on
  7084. #webkit).
  7085. * bindings/ScriptControllerBase.cpp:
  7086. (WebCore::ScriptController::executeIfJavaScriptURL):
  7087. * loader/DocumentWriter.cpp:
  7088. (WebCore::DocumentWriter::replaceDocument):
  7089. (WebCore::DocumentWriter::begin):
  7090. * loader/DocumentWriter.h:
  7091. 2011-10-10 Adam Barth <abarth@webkit.org>
  7092. [V8] CodeGeneratorV8 shouldn't hardcode the list of ActiveDOMObjects
  7093. https://bugs.webkit.org/show_bug.cgi?id=69792
  7094. Reviewed by Nate Chapin.
  7095. We used to hard code the list of active DOM objects in the code
  7096. generator, but now we have an IDL attribute. This patch switches the
  7097. code generator over to using the IDL attribute.
  7098. * bindings/scripts/CodeGeneratorV8.pm:
  7099. (GenerateHeader):
  7100. (GenerateNormalAttrGetter):
  7101. (GenerateImplementation):
  7102. (GetDomMapFunction):
  7103. 2011-10-10 Nico Weber <thakis@chromium.org>
  7104. PluginDocumentParser uses incorrect syntax for background color
  7105. https://bugs.webkit.org/show_bug.cgi?id=69694
  7106. Reviewed by Adam Barth.
  7107. * html/PluginDocument.cpp:
  7108. (WebCore::PluginDocumentParser::createDocumentStructure):
  7109. 2011-10-10 Ryosuke Niwa <rniwa@webkit.org>
  7110. REGRESSION(r96870): editing/pasteboard/smart-paste-008.html fails on non-Mac
  7111. https://bugs.webkit.org/show_bug.cgi?id=69587
  7112. Reviewed by Enrica Casucci.
  7113. Insert a space at the correct offset when startNode is a text node.
  7114. * editing/ReplaceSelectionCommand.cpp:
  7115. (WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace):
  7116. 2011-09-20 Jer Noble <jer.noble@apple.com>
  7117. MediaControlSeekButtonElement should support seeking by changing the playback rate.
  7118. https://bugs.webkit.org/show_bug.cgi?id=63595
  7119. Reviewed by Eric Carlson.
  7120. Test: media/video-controls-scanning.html
  7121. Add a new property to HTMLMediaElement, supportsScanning(), which returns whether the
  7122. element is capable of playing its media at a rate greater than 1x. HTMLMediaElement passes
  7123. this call through to MediaPlayer and MediaPlayerPrivate. If this property returns true, the
  7124. built-in scanning controls can prefer to scan by changing the playbackRate, rather than by
  7125. repeatedly seeking small amounts of time. Unless overridden by specific media engines, this
  7126. property defaults to "false".
  7127. * html/HTMLMediaElement.h:
  7128. * html/HTMLMediaElement.cpp:
  7129. (WebCore::HTMLMediaElement::supportsScanning): Added. Calls through to MediaPlayer.
  7130. * platform/graphics/MediaPlayer.h:
  7131. * platform/graphics/MediaPlayer.cpp:
  7132. (WebCore::MediaPlayer::supportsScanning): Added. Calls through to MediaPlayerPrivate.
  7133. * platform/graphics/MediaPlayerPrivate.h:
  7134. (WebCore::MediaPlayerPrivateInterface::supportsScanning): Added. Defaults to "false".
  7135. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  7136. (WebCore::MediaPlayerPrivateAVFoundation::supportsScanning): Added.
  7137. * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  7138. (WebCore::MediaPlayerPrivateQTKit::supportsScanning): Added.
  7139. MediaControlSeekButtonElement now queries HTMLMediaElement::supportsScanning() to see if the
  7140. media element can implement its seeking behavior by scanning the media at greater than 1x
  7141. rate. Note whether the media was playing or paused when the seek begins, so that the playing
  7142. state can be restored when seeking ends. Instead of capturing the mouse after mouseDown,
  7143. the seek button now responds to setActive() and begins seeking when the button is active
  7144. and stops when it becomes inactive.
  7145. Some behaviors have changed: clicking on the seek button no longer causes the media element
  7146. to pause; the media will end in the same state it began after the click. cStepTime has been
  7147. eliminated; Clicking the seek button will always skip by at least cSeekTime, or 0.2s.
  7148. * html/shadow/MediaControlElements.cpp:
  7149. (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Initialize new
  7150. ivars.
  7151. (WebCore::MediaControlSeekButtonElement::defaultEventHandler): Mark mouseDown and mouseUp
  7152. as defaultHandled, so as not to trigger drag start and drag end actions.
  7153. (WebCore::MediaControlSeekButtonElement::setActive): Call startTimer or stopTimer based
  7154. on whether the button is active or not.
  7155. (WebCore::MediaControlSeekButtonElement::startTimer): Determine whether to scan or skip
  7156. and start the seekTimer.
  7157. (WebCore::MediaControlSeekButtonElement::stopTimer): Restore the playing state and
  7158. stop the timer.
  7159. (WebCore::MediaControlSeekButtonElement::seekTimerFired): Depending on whether we're
  7160. scanning or skipping, jump ahead or change the playback rate.
  7161. * html/shadow/MediaControlElements.h:
  7162. 2011-10-10 Mark Hahnenberg <mhahnenberg@apple.com>
  7163. Remove getCallDataVirtual methods
  7164. https://bugs.webkit.org/show_bug.cgi?id=69186
  7165. Reviewed by Geoffrey Garen.
  7166. No new tests.
  7167. Removed all getCallDataVirtual methods and replaced their call sites
  7168. with an explicit lookup in the MethodTable.
  7169. * WebCore.exp.in:
  7170. * bindings/js/JSCallbackData.cpp:
  7171. (WebCore::JSCallbackData::invokeCallback):
  7172. * bindings/js/JSCustomXPathNSResolver.cpp:
  7173. (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
  7174. * bindings/js/JSErrorHandler.cpp:
  7175. (WebCore::JSErrorHandler::handleEvent):
  7176. * bindings/js/JSEventListener.cpp:
  7177. (WebCore::JSEventListener::handleEvent):
  7178. * bindings/js/JSHTMLAllCollectionCustom.cpp:
  7179. * bindings/js/JSHTMLAppletElementCustom.cpp:
  7180. * bindings/js/JSHTMLEmbedElementCustom.cpp:
  7181. * bindings/js/JSHTMLObjectElementCustom.cpp:
  7182. * bindings/js/JSInjectedScriptHostCustom.cpp:
  7183. (WebCore::JSInjectedScriptHost::evaluate):
  7184. * bindings/js/JSPluginElementFunctions.cpp:
  7185. (WebCore::runtimeObjectGetCallData):
  7186. * bindings/scripts/CodeGeneratorJS.pm:
  7187. (GenerateHeader):
  7188. * bridge/objc/objc_runtime.h:
  7189. * bridge/objc/objc_runtime.mm:
  7190. * bridge/qt/qt_runtime.cpp:
  7191. (JSC::Bindings::QtRuntimeConnectionMethod::call):
  7192. (JSC::Bindings::isJavaScriptFunction):
  7193. * bridge/qt/qt_runtime.h:
  7194. (JSC::Bindings::QtRuntimeMetaMethod::create):
  7195. (JSC::Bindings::QtRuntimeMetaMethod::createStructure):
  7196. (JSC::Bindings::QtRuntimeConnectionMethod::create):
  7197. (JSC::Bindings::QtRuntimeConnectionMethod::createStructure):
  7198. * bridge/runtime_method.cpp:
  7199. * bridge/runtime_method.h:
  7200. * bridge/runtime_object.cpp:
  7201. * bridge/runtime_object.h:
  7202. 2011-10-06 Jer Noble <jer.noble@apple.com>
  7203. media/video-loop.html is failing on Lion because of negative currentTime()
  7204. https://bugs.webkit.org/show_bug.cgi?id=69468
  7205. Reviewed by Darin Adler.
  7206. No new tests. Covered by media/video-loop.html test.
  7207. AVFoundation will occasionally return small, negative current times during loop operations.
  7208. Clean up these negative times before returning the currentTime.
  7209. * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
  7210. (WebCore::MediaPlayerPrivateAVFoundationObjC::currentTime):
  7211. 2011-10-10 Jeremy Apthorp <jeremya@chromium.org>
  7212. Exiting fullscreen shouldn't crash if the element that was fullscreened
  7213. had associated anonymous blocks.
  7214. https://bugs.webkit.org/show_bug.cgi?id=68503
  7215. Reviewed by Simon Fraser.
  7216. Test: fullscreen/full-screen-render-inline.html
  7217. Test: fullscreen/parent-flow-inline-with-block-child.html
  7218. * rendering/RenderBlock.cpp:
  7219. (WebCore::RenderBlock::moveChildTo):
  7220. (WebCore::RenderBlock::moveChildrenTo):
  7221. * rendering/RenderBlock.h:
  7222. (WebCore::RenderBlock::moveChildTo):
  7223. (WebCore::RenderBlock::moveAllChildrenTo):
  7224. (WebCore::RenderBlock::moveChildrenTo):
  7225. * rendering/RenderFullScreen.cpp:
  7226. (RenderFullScreen::unwrapRenderer):
  7227. Move all children back to the parent, not just the firstChild.
  7228. 2011-10-10 Sergey Glazunov <serg.glazunov@gmail.com>
  7229. ScriptController::executeIfJavaScriptURL gets confused by synchronous frame loads
  7230. https://bugs.webkit.org/show_bug.cgi?id=69777
  7231. Reviewed by Adam Barth.
  7232. Test: http/tests/security/xss-DENIED-synchronous-frame-load-in-javascript-url.html
  7233. * bindings/ScriptControllerBase.cpp:
  7234. (WebCore::ScriptController::executeIfJavaScriptURL):
  7235. * loader/DocumentWriter.cpp:
  7236. (WebCore::DocumentWriter::replaceDocument):
  7237. (WebCore::DocumentWriter::begin):
  7238. * loader/DocumentWriter.h:
  7239. 2011-10-10 Nayan Kumar K <nayankk@motorola.com>
  7240. Add missing ifdef for JAVASCRIPT_DEBUGGER feature.
  7241. https://bugs.webkit.org/show_bug.cgi?id=69758
  7242. Reviewed by Adam Barth.
  7243. No new tests added since this is a build failure fix.
  7244. * bindings/v8/custom/V8ScriptProfileCustom.cpp:
  7245. * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
  7246. 2011-10-10 Simon Fraser <simon.fraser@apple.com>
  7247. REGRESSION(96070) 25% intl1 PLT regression from scrollbar invalidation
  7248. https://bugs.webkit.org/show_bug.cgi?id=69238
  7249. Reviewed by Darin Adler.
  7250. Fix PLT regression from additional scrollbars invalidations.
  7251. Don't invalidate the scrollbar rect from setHasHorizontalScrollbar()
  7252. and setHasVerticalScrollbar(), because this is called during FrameView
  7253. teardown, at which point the invalidation is redundant.
  7254. Instead, invalidate from ScrollView::updateScrollbars(), which is
  7255. called only when scrollbars change because of size or layout
  7256. changes.
  7257. * platform/ScrollView.cpp:
  7258. (WebCore::ScrollView::setHasHorizontalScrollbar):
  7259. (WebCore::ScrollView::setHasVerticalScrollbar):
  7260. (WebCore::ScrollView::updateScrollbars):
  7261. 2011-10-10 Abhishek Arya <inferno@chromium.org>
  7262. Style for updated due to inability to locate
  7263. :before content in presence of listmarkers and runins.
  7264. https://bugs.webkit.org/show_bug.cgi?id=68624
  7265. Reviewed by Dan Bernstein.
  7266. Tests: fast/lists/inline-before-content-after-list-marker.html
  7267. fast/runin/runin-between-list-marker-and-before-content.html
  7268. fast/runin/runin-into-div-with-float-child.html
  7269. fast/runin/runin-not-go-into-float.html
  7270. * rendering/RenderBlock.cpp:
  7271. (WebCore::RenderBlock::handleRunInChild): Fix as per spec that
  7272. we should not be skipping over floating/positioned renderers to
  7273. push runins into neighbouring block. This matches Opera renderings.
  7274. * rendering/RenderObject.cpp: Add const to parameter variable
  7275. to make call from beforePseudoElementRenderer easier. Also matches
  7276. CounterNode.h definition.
  7277. (WebCore::RenderObject::nextInPreOrder):
  7278. (WebCore::RenderObject::nextInPreOrderAfterChildren):
  7279. * rendering/RenderObject.h: Same const addition.
  7280. * rendering/RenderObjectChildList.cpp:
  7281. (WebCore::RenderObjectChildList::beforePseudoElementRenderer):
  7282. Remove skipping of floating/positioned renderers, similar to
  7283. handleRunIn. Revert code change in r94857 and add better next
  7284. sibling iterator. This addresses the layouttest in r94857 where
  7285. :before content is in its own anonymous rendertable.
  7286. 2011-10-10 Abhishek Arya <inferno@chromium.org>
  7287. Handle insertion into an anonymous table part that
  7288. is followed by a non-anonymous block correctly.
  7289. https://bugs.webkit.org/show_bug.cgi?id=69536
  7290. Reviewed by Dan Bernstein.
  7291. Tests: fast/table/table-insert-before-non-anonymous-block.html
  7292. * rendering/RenderTable.cpp:
  7293. (WebCore::RenderTable::addChild):
  7294. * rendering/RenderTableRow.cpp:
  7295. (WebCore::RenderTableRow::addChild):
  7296. * rendering/RenderTableSection.cpp:
  7297. (WebCore::RenderTableSection::addChild):
  7298. (WebCore::RenderTableSection::splitColumn):
  7299. 2011-10-10 Kent Tamura <tkent@chromium.org>
  7300. Make static functions in HTMLSelectElement.cpp member functions of HTMLSelectElement class
  7301. https://bugs.webkit.org/show_bug.cgi?id=69755
  7302. Reviewed by Ryosuke Niwa.
  7303. No new tests, just a refactoring.
  7304. * html/HTMLSelectElement.cpp:
  7305. (WebCore::HTMLSelectElement::nextValidIndex):
  7306. Make this a static member function of HTMLSelectElement.
  7307. (WebCore::HTMLSelectElement::nextSelectableListIndex):
  7308. Make this a member function of HTMLSelectElement.
  7309. (WebCore::HTMLSelectElement::previousSelectableListIndex): ditto.
  7310. (WebCore::HTMLSelectElement::firstSelectableListIndex): ditto.
  7311. (WebCore::HTMLSelectElement::lastSelectableListIndex): ditto.
  7312. (WebCore::HTMLSelectElement::nextSelectableListIndexPageAway): ditto.
  7313. (WebCore::HTMLSelectElement::selectAll): Update callsite of the above functions.
  7314. (WebCore::HTMLSelectElement::setSelectedIndexInternal): ditto.
  7315. (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): ditto.
  7316. * html/HTMLSelectElement.h:
  7317. - Add the above function declarations.
  7318. - Move SkipDirection definition from HTMLSelectElement.cpp.
  7319. 2011-10-10 Pavel Feldman <pfeldman@google.com>
  7320. Web Inspector: annotate DOMAgent, Debugger(Presentation)Model with types.
  7321. https://bugs.webkit.org/show_bug.cgi?id=69726
  7322. Reviewed by Yury Semikhatsky.
  7323. * inspector/compile-front-end.sh:
  7324. * inspector/front-end/ApplicationCacheItemsView.js:
  7325. (WebInspector.ApplicationCacheItemsView):
  7326. * inspector/front-end/AuditsPanel.js:
  7327. (WebInspector.AuditsPanel):
  7328. * inspector/front-end/BreakpointManager.js:
  7329. (WebInspector.BreakpointManager.prototype._breakpointResolved):
  7330. * inspector/front-end/CSSStyleModel.js:
  7331. * inspector/front-end/CompilerSourceMapping.js:
  7332. (WebInspector.CompilerSourceMapping.prototype.compiledLocationToSourceLocation):
  7333. (WebInspector.CompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
  7334. (WebInspector.CompilerSourceMapping.prototype.sources):
  7335. * inspector/front-end/ConsoleView.js:
  7336. (WebInspector.ConsoleView.prototype._completions.evaluated):
  7337. (WebInspector.ConsoleView.prototype._completions.receivedPropertyNamesFromEval):
  7338. (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
  7339. * inspector/front-end/CookieItemsView.js:
  7340. (WebInspector.CookieItemsView):
  7341. * inspector/front-end/DOMAgent.js:
  7342. (WebInspector.DOMNode.prototype.isXMLNode):
  7343. (WebInspector.DOMDocument):
  7344. (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable.onDocumentAvailable):
  7345. (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable):
  7346. (WebInspector.DOMDispatcher.prototype.characterDataModified):
  7347. (WebInspector.DOMDispatcher.prototype.childNodeCountUpdated):
  7348. (WebInspector.DOMDispatcher.prototype.childNodeInserted):
  7349. (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
  7350. * inspector/front-end/DOMStorageItemsView.js:
  7351. (WebInspector.DOMStorageItemsView):
  7352. * inspector/front-end/DatabaseTableView.js:
  7353. (WebInspector.DatabaseTableView):
  7354. * inspector/front-end/DebuggerModel.js:
  7355. (WebInspector.DebuggerModel):
  7356. (WebInspector.DebuggerPausedDetails):
  7357. (WebInspector.DebuggerModel.prototype.reset):
  7358. (WebInspector.DebuggerModel.prototype.get callFrames):
  7359. (WebInspector.DebuggerModel.prototype._pausedScript):
  7360. (WebInspector.DebuggerModel.prototype._resumedScript):
  7361. (WebInspector.DebuggerModel.prototype._parsedScriptSource):
  7362. (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
  7363. (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
  7364. (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
  7365. * inspector/front-end/DebuggerPresentationModel.js:
  7366. (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
  7367. (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
  7368. (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
  7369. (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
  7370. (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
  7371. (WebInspector.DebuggerPresentationModel.prototype._createPresentationMessage):
  7372. (WebInspector.PresentationConsoleMessage):
  7373. (WebInspector.PresentationCallFrame.prototype.evaluate):
  7374. (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateSourceAnchors):
  7375. * inspector/front-end/ElementsPanel.js:
  7376. (WebInspector.ElementsPanel):
  7377. (WebInspector.ElementsPanel.prototype._documentUpdated.selectLastSelectedNode):
  7378. (WebInspector.ElementsPanel.prototype._documentUpdated):
  7379. * inspector/front-end/NetworkPanel.js:
  7380. * inspector/front-end/Object.js:
  7381. (WebInspector.Object.prototype.dispatchEventToListeners):
  7382. (WebInspector.Event):
  7383. (WebInspector.Event.prototype.stopPropagation):
  7384. (WebInspector.Event.prototype.preventDefault):
  7385. * inspector/front-end/RawSourceCode.js:
  7386. (WebInspector.RawSourceCode.SourceMapping):
  7387. (WebInspector.RawSourceCode.SourceMapping.prototype.rawLocationToUILocation):
  7388. (WebInspector.RawSourceCode.SourceMapping.prototype.uiLocationToRawLocation):
  7389. (WebInspector.RawSourceCode.PlainSourceMapping.prototype.rawLocationToUILocation):
  7390. (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
  7391. (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
  7392. (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.rawLocationToUILocation):
  7393. (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.uiLocationToRawLocation):
  7394. * inspector/front-end/Script.js:
  7395. (WebInspector.Script):
  7396. (WebInspector.Script.prototype.requestSource):
  7397. (WebInspector.Script.prototype.searchInContent):
  7398. (WebInspector.Script.prototype.editSource):
  7399. * inspector/front-end/ScriptsPanel.js:
  7400. (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
  7401. * inspector/front-end/TimelinePanel.js:
  7402. (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
  7403. * inspector/front-end/UISourceCode.js:
  7404. (WebInspector.UISourceCode):
  7405. (WebInspector.ContentProvider.SearchMatch):
  7406. * inspector/front-end/WatchExpressionsSidebarPane.js:
  7407. (WebInspector.WatchExpressionsSection.prototype.update):
  7408. * inspector/front-end/externs.js:
  7409. * inspector/generate-protocol-externs:
  7410. 2011-10-10 Ilya Tikhonovsky <loislo@chromium.org>
  7411. Web Inspector: Linkifier.reset throw an exception if it is called after reset of debuggerPresentationModel.
  7412. https://bugs.webkit.org/show_bug.cgi?id=69756
  7413. Reviewed by Yury Semikhatsky.
  7414. * inspector/front-end/DebuggerPresentationModel.js:
  7415. (WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
  7416. 2011-09-28 Pavel Podivilov <podivilov@chromium.org>
  7417. Web Inspector: RawSourceCode could be mapped to multiple sources.
  7418. https://bugs.webkit.org/show_bug.cgi?id=68526
  7419. Replace SourceMapping.uiSourceCode with SourceMapping.uiSourceCodeList as there could be more
  7420. then one UISourceCode associated with a RawSourceCode.
  7421. Reviewed by Pavel Feldman.
  7422. * inspector/front-end/DebuggerPresentationModel.js:
  7423. (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
  7424. (WebInspector.DebuggerPresentationModel.prototype._updateSourceMapping):
  7425. (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
  7426. (WebInspector.PresentationCallFrame.prototype.get url):
  7427. (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
  7428. (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
  7429. * inspector/front-end/ScriptsPanel.js:
  7430. (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
  7431. * inspector/front-end/SourceFile.js:
  7432. (WebInspector.RawSourceCode.prototype._saveSourceMapping):
  7433. (WebInspector.RawSourceCode.PlainSourceMapping):
  7434. (WebInspector.RawSourceCode.PlainSourceMapping.prototype.rawLocationToUILocation):
  7435. (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiSourceCodeList):
  7436. (WebInspector.RawSourceCode.FormattedSourceMapping):
  7437. (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
  7438. (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiSourceCodeList):
  7439. 2011-10-10 Andreas Kling <kling@webkit.org>
  7440. Shrink RenderLayer and ScrollableArea.
  7441. https://bugs.webkit.org/show_bug.cgi?id=69759
  7442. Reviewed by Antti Koivisto.
  7443. Rearrange the members of RenderLayer and its base class ScrollableArea
  7444. to maximize struct packing, shrinking RenderLayer by one CPU word on
  7445. 32-bit (and two on 64-bit.)
  7446. This reduces memory consumption by 134 kB (on 64-bit) when loading the
  7447. full HTML5 spec.
  7448. * platform/ScrollableArea.h:
  7449. (WebCore::ScrollableArea::verticalScrollElasticity):
  7450. (WebCore::ScrollableArea::horizontalScrollElasticity):
  7451. (WebCore::ScrollableArea::scrollbarOverlayStyle):
  7452. Cast the now-bitfield members to the appropriate enum types.
  7453. * rendering/RenderLayer.h:
  7454. * rendering/RenderLayer.cpp:
  7455. (WebCore::RenderLayer::RenderLayer):
  7456. Move shouldBeNormalFlowOnly() call out of initializer list since it
  7457. depends on m_renderer being initialized.
  7458. 2011-10-10 Cary Clark <caryclark@google.com>
  7459. [Skia on Chromium Mac] Set canExpandAroundIdeographsInComplexText to true
  7460. https://bugs.webkit.org/show_bug.cgi?id=69656
  7461. https://bugs.webkit.org/show_bug.cgi?id=62987
  7462. https://bugs.webkit.org/show_bug.cgi?id=62889
  7463. Reviewed by Stephen White.
  7464. Skia on Linux and Windows uses different font engines from
  7465. Skia on Mac. After determining that the underlying CoreText
  7466. can handle it, enabling this allows justification to work
  7467. correctly.
  7468. Tests: fast/text/justify-ideograph-complex.html
  7469. * platform/graphics/skia/FontSkia.cpp:
  7470. (WebCore::Font::canExpandAroundIdeographsInComplexText):
  7471. 2011-10-10 Ilya Tikhonovsky <loislo@chromium.org>
  7472. Web Inspector: memory leak in Resource panel.
  7473. https://bugs.webkit.org/show_bug.cgi?id=69754
  7474. Reviewed by Yury Semikhatsky.
  7475. * inspector/front-end/ResourcesPanel.js:
  7476. (WebInspector.ResourcesPanel.prototype.reset):
  7477. * inspector/front-end/View.js:
  7478. (WebInspector.View.prototype.childViews):
  7479. 2011-10-06 Pavel Podivilov <podivilov@chromium.org>
  7480. Web Inspector: saving JavaScript after live edit resets scroller position.
  7481. https://bugs.webkit.org/show_bug.cgi?id=69340
  7482. Do not recreate SourceFrame when content is changed. Instead, update text model in existing SourceFrame.
  7483. Reviewed by Yury Semikhatsky.
  7484. * inspector/front-end/DebuggerPresentationModel.js:
  7485. (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didEditScriptSource):
  7486. (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
  7487. * inspector/front-end/JavaScriptSourceFrame.js:
  7488. (WebInspector.JavaScriptSourceFrame):
  7489. * inspector/front-end/RawSourceCode.js:
  7490. (WebInspector.RawSourceCode.prototype.setCompilerSourceMappingProvider):
  7491. * inspector/front-end/SourceFrame.js:
  7492. (WebInspector.SourceFrame.prototype._setReadOnly):
  7493. (WebInspector.SourceFrame.prototype.contentChanged):
  7494. * inspector/front-end/UISourceCode.js:
  7495. (WebInspector.UISourceCode.prototype.contentChanged):
  7496. 2011-10-10 Ilya Tikhonovsky <loislo@chromium.org>
  7497. Unreviewed test fix for r97050.
  7498. * inspector/front-end/DebuggerPresentationModel.js:
  7499. (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
  7500. 2011-10-10 Andreas Kling <kling@webkit.org>
  7501. Shrink RenderListItem on 64-bit.
  7502. https://bugs.webkit.org/show_bug.cgi?id=69751
  7503. Reviewed by Kenneth Rohde Christiansen.
  7504. Rearrange members to utilize the padding at the end of RenderBlock.
  7505. This shrinks RenderListItem by 8 bytes on 64-bit, reducing memory consumption
  7506. by 60 kB when loading the full HTML5 spec.
  7507. * rendering/RenderListItem.h:
  7508. 2011-10-10 Andreas Kling <kling@webkit.org>
  7509. Shrink RootInlineBox.
  7510. https://bugs.webkit.org/show_bug.cgi?id=69707
  7511. Reviewed by Antti Koivisto.
  7512. Move the bitfields from RootInlineBox up into its base class (InlineFlowBox.)
  7513. This shrinks RootInlineBox by one CPU word without growing InlineFlowBox.
  7514. Enum bitfields were changed to "unsigned" for the MSVC signedness quirk.
  7515. Also move one 32-bit member to the head of RootInlineBox so it falls into the
  7516. padding at the end of InlineFlowBox on 64-bit.
  7517. This reduces memory consumption by 780 kB (on 64-bit) when loading the full
  7518. HTML5 spec.
  7519. * rendering/InlineFlowBox.h:
  7520. (WebCore::InlineFlowBox::InlineFlowBox):
  7521. * rendering/RootInlineBox.cpp:
  7522. (WebCore::RootInlineBox::RootInlineBox):
  7523. (WebCore::RootInlineBox::lineBreakBidiStatus):
  7524. * rendering/RootInlineBox.h:
  7525. 2011-10-10 Pavel Podivilov <podivilov@chromium.org>
  7526. Unreviewed, attempt to fix chromium mac build after r97034.
  7527. * platform/ScrollAnimatorNone.h:
  7528. 2011-10-10 Ilya Tikhonovsky <loislo@chromium.org>
  7529. Web Inspector: small memory leak in scripts panel.
  7530. https://bugs.webkit.org/show_bug.cgi?id=69744
  7531. Scripts panel doesn't clean the list of child views.
  7532. Reviewed by Yury Semikhatsky.
  7533. * inspector/front-end/DebuggerPresentationModel.js:
  7534. (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
  7535. * inspector/front-end/ScriptsPanel.js:
  7536. (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
  7537. 2011-10-07 Yury Semikhatsky <yurys@chromium.org>
  7538. Web Inspector: allow to start WorkerContext paused
  7539. https://bugs.webkit.org/show_bug.cgi?id=69635
  7540. Allow to pause WorkerContext on start.
  7541. Reviewed by Pavel Feldman.
  7542. * bindings/v8/ScriptDebugServer.cpp:
  7543. (WebCore::ScriptDebugServer::setPauseOnNextStatement):
  7544. * bindings/v8/WorkerScriptDebugServer.cpp:
  7545. (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
  7546. * bindings/v8/WorkerScriptDebugServer.h:
  7547. * inspector/InspectorController.cpp:
  7548. (WebCore::InspectorController::InspectorController):
  7549. * inspector/InspectorInstrumentation.cpp:
  7550. (WebCore::InspectorInstrumentation::willEvaluateWorkerScript):
  7551. * inspector/InspectorInstrumentation.h:
  7552. * inspector/InspectorRuntimeAgent.cpp:
  7553. (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
  7554. (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
  7555. (WebCore::InspectorRuntimeAgent::pauseWorkerContext): this method will start
  7556. running worker message loop in "debug" mode, i.e. it will process only inspector
  7557. tasks until method InspectorRuntimeAgent::resume is called.
  7558. (WebCore::InspectorRuntimeAgent::resume):
  7559. * inspector/InspectorRuntimeAgent.h:
  7560. * inspector/WorkerDebuggerAgent.cpp:
  7561. * inspector/WorkerDebuggerAgent.h:
  7562. * inspector/WorkerInspectorController.cpp:
  7563. (WebCore::WorkerInspectorController::WorkerInspectorController):
  7564. (WebCore::WorkerInspectorController::resume): method which is called from WebKit layer
  7565. when it is known that inspector state was restored and it is OK to resume worker execution.
  7566. * inspector/WorkerInspectorController.h:
  7567. * workers/DedicatedWorkerThread.cpp:
  7568. (WebCore::DedicatedWorkerThread::create):
  7569. (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
  7570. * workers/DedicatedWorkerThread.h:
  7571. * workers/SharedWorkerThread.cpp:
  7572. (WebCore::SharedWorkerThread::create):
  7573. (WebCore::SharedWorkerThread::SharedWorkerThread):
  7574. * workers/SharedWorkerThread.h:
  7575. * workers/WorkerMessagingProxy.cpp:
  7576. (WebCore::WorkerMessagingProxy::startWorkerContext):
  7577. (WebCore::WorkerMessagingProxy::disconnectFromInspector):
  7578. (WebCore::WorkerMessagingProxy::sendMessageToInspector):
  7579. * workers/WorkerThread.cpp:
  7580. (WebCore::WorkerThreadStartupData::create):
  7581. (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
  7582. (WebCore::WorkerThread::WorkerThread): WorkerThread is passed a booleand flag indicating
  7583. whether the context should be paused and wait for explicit resume command before it
  7584. starts running its script.
  7585. (WebCore::WorkerThread::workerThread):
  7586. * workers/WorkerThread.h:
  7587. 2011-10-10 Sheriff Bot <webkit.review.bot@gmail.com>
  7588. Unreviewed, rolling out r97045.
  7589. http://trac.webkit.org/changeset/97045
  7590. https://bugs.webkit.org/show_bug.cgi?id=69746
  7591. makes apple bots very crashy :( (Requested by kling on
  7592. #webkit).
  7593. * css/CSSStyleApplyProperty.cpp:
  7594. (WebCore::ApplyPropertyColor::applyInheritValue):
  7595. * page/animation/AnimationBase.cpp:
  7596. (WebCore::PropertyWrapperMaybeInvalidColor::PropertyWrapperMaybeInvalidColor):
  7597. (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
  7598. (WebCore::AnimationBase::ensurePropertyMap):
  7599. * platform/graphics/Color.h:
  7600. (WebCore::Color::Color):
  7601. * rendering/style/BorderValue.h:
  7602. (WebCore::BorderValue::BorderValue):
  7603. (WebCore::BorderValue::isTransparent):
  7604. (WebCore::BorderValue::operator==):
  7605. (WebCore::BorderValue::color):
  7606. * rendering/style/OutlineValue.h:
  7607. (WebCore::OutlineValue::operator==):
  7608. * rendering/style/RenderStyle.h:
  7609. (WebCore::InheritedFlags::setBorderLeftColor):
  7610. (WebCore::InheritedFlags::setBorderRightColor):
  7611. (WebCore::InheritedFlags::setBorderTopColor):
  7612. (WebCore::InheritedFlags::setBorderBottomColor):
  7613. (WebCore::InheritedFlags::setOutlineColor):
  7614. (WebCore::InheritedFlags::setColumnRuleColor):
  7615. (WebCore::InheritedFlags::fillPaintColor):
  7616. (WebCore::InheritedFlags::strokePaintColor):
  7617. (WebCore::InheritedFlags::borderLeftColor):
  7618. (WebCore::InheritedFlags::borderRightColor):
  7619. (WebCore::InheritedFlags::borderTopColor):
  7620. (WebCore::InheritedFlags::borderBottomColor):
  7621. (WebCore::InheritedFlags::backgroundColor):
  7622. (WebCore::InheritedFlags::color):
  7623. (WebCore::InheritedFlags::columnRuleColor):
  7624. (WebCore::InheritedFlags::outlineColor):
  7625. (WebCore::InheritedFlags::textEmphasisColor):
  7626. (WebCore::InheritedFlags::textFillColor):
  7627. (WebCore::InheritedFlags::textStrokeColor):
  7628. (WebCore::InheritedFlags::stopColor):
  7629. (WebCore::InheritedFlags::floodColor):
  7630. (WebCore::InheritedFlags::lightingColor):
  7631. 2011-10-06 Andreas Kling <kling@webkit.org>
  7632. Shrink BorderValue.
  7633. https://bugs.webkit.org/show_bug.cgi?id=69521
  7634. Reviewed by Antti Koivisto.
  7635. Unroll BorderValue's Color member so we can pack the color's validity flag
  7636. in BorderValue's bitfield.
  7637. This shrinks BorderValue by 32 bit, which in turn shrinks BorderData by
  7638. 16 bytes. This reduces memory consumption by 760 kB when loading the full
  7639. HTML5 spec.
  7640. * platform/graphics/Color.h:
  7641. (WebCore::Color::Color):
  7642. Allow construction of Color objects with specific validity.
  7643. * rendering/style/BorderValue.h:
  7644. (WebCore::BorderValue::BorderValue):
  7645. (WebCore::BorderValue::isTransparent):
  7646. (WebCore::BorderValue::operator==):
  7647. (WebCore::BorderValue::setColor):
  7648. (WebCore::BorderValue::color):
  7649. * rendering/style/OutlineValue.h:
  7650. (WebCore::OutlineValue::operator==):
  7651. Unroll m_color into BorderValue by splitting it into an RGBA32 and a bool.
  7652. Made those variables private and added color(), setColor() accessors.
  7653. * rendering/style/RenderStyle.h:
  7654. (WebCore::InheritedFlags::setBorderLeftColor):
  7655. (WebCore::InheritedFlags::setBorderRightColor):
  7656. (WebCore::InheritedFlags::setBorderTopColor):
  7657. (WebCore::InheritedFlags::setBorderBottomColor):
  7658. (WebCore::InheritedFlags::setOutlineColor):
  7659. (WebCore::InheritedFlags::setColumnRuleColor):
  7660. Added a SET_BORDERVALUE_COLOR macro and use that instead of SET_VAR
  7661. when setting BorderValue colors.
  7662. (WebCore::InheritedFlags::fillPaintColor):
  7663. (WebCore::InheritedFlags::strokePaintColor):
  7664. (WebCore::InheritedFlags::borderLeftColor):
  7665. (WebCore::InheritedFlags::borderRightColor):
  7666. (WebCore::InheritedFlags::borderTopColor):
  7667. (WebCore::InheritedFlags::borderBottomColor):
  7668. (WebCore::InheritedFlags::backgroundColor):
  7669. (WebCore::InheritedFlags::color):
  7670. (WebCore::InheritedFlags::columnRuleColor):
  7671. (WebCore::InheritedFlags::outlineColor):
  7672. (WebCore::InheritedFlags::textEmphasisColor):
  7673. (WebCore::InheritedFlags::textFillColor):
  7674. (WebCore::InheritedFlags::textStrokeColor):
  7675. (WebCore::InheritedFlags::stopColor):
  7676. (WebCore::InheritedFlags::floodColor):
  7677. (WebCore::InheritedFlags::lightingColor):
  7678. Made color getters return "Color" instead of "const Color&" since
  7679. BorderValue no longer has an actual object to return the reference to.
  7680. * css/CSSStyleApplyProperty.cpp:
  7681. (WebCore::ApplyPropertyColor::applyInheritValue):
  7682. * page/animation/AnimationBase.cpp:
  7683. (WebCore::PropertyWrapperColor::PropertyWrapperColor):
  7684. (WebCore::PropertyWrapperColor::blend):
  7685. (WebCore::PropertyWrapperMaybeInvalidColor::PropertyWrapperMaybeInvalidColor):
  7686. (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
  7687. (WebCore::AnimationBase::ensurePropertyMap):
  7688. Adapt to RenderStyle color getters now returning "Color" instead of
  7689. "const Color&".
  7690. 2011-10-09 Yury Semikhatsky <yurys@chromium.org>
  7691. Missing m_notificationPresenter initialization in WorkerThread constructor
  7692. https://bugs.webkit.org/show_bug.cgi?id=69741
  7693. Added missing m_notificationPresenter(0)
  7694. Reviewed by Pavel Feldman.
  7695. * workers/WorkerThread.cpp:
  7696. (WebCore::WorkerThread::WorkerThread):
  7697. 2011-10-09 Daniel Bates <dbates@webkit.org>
  7698. Another attempt to fix the Leopard Intel Debug build after changeset 97034 <http://trac.webkit.org/changeset/97034>
  7699. (https://bugs.webkit.org/show_bug.cgi?id=68035)
  7700. * page/FrameView.cpp:
  7701. (WebCore::FrameView::zoomAnimatorTransformChanged): Explicitly convert a double precision result
  7702. to a single precision result. I am unsure if this fix is correct. We need to look into this some
  7703. more. See <https://bugs.webkit.org/show_bug.cgi?id=69739> for more details.
  7704. 2011-10-09 Daniel Bates <dbates@webkit.org>
  7705. Attempt to fix the Leopard Intel Debug build after changeset 97034 <http://trac.webkit.org/changeset/97034>
  7706. (https://bugs.webkit.org/show_bug.cgi?id=68035)
  7707. * page/FrameView.cpp:
  7708. (WebCore::FrameView::zoomAnimatorTransformChanged): Explicitly convert double precision result to
  7709. an integer. I am unsure if this fix is correct. We need to look into this some more. See
  7710. <https://bugs.webkit.org/show_bug.cgi?id=69739> for more details.
  7711. 2011-10-09 Luke Macpherson <macpherson@chromium.org>
  7712. Fix Lion, Leopard and Snow Leopard builds after changeset 97034 <http://trac.webkit.org/changeset/97034>
  7713. (https://bugs.webkit.org/show_bug.cgi?id=68035)
  7714. https://bugs.webkit.org/show_bug.cgi?id=69735
  7715. Reviewed by Daniel Bates.
  7716. * testing/Internals.cpp:
  7717. Mark unused parameters to prevent compile errors when GESTURE_EVENTS and SMOOTH_SCROLLING are disabled.
  7718. (WebCore::Internals::setEnableScrollAnimator):
  7719. (WebCore::Internals::setZoomAnimatorTransform):
  7720. (WebCore::Internals::setZoomParameters):
  7721. 2011-10-09 Kent Tamura <tkent@chromium.org>
  7722. Remove redundant code of HTMLSelectElement.
  7723. https://bugs.webkit.org/show_bug.cgi?id=69701
  7724. Reviewed by Darin Adler.
  7725. No new tests, just a refactoring.
  7726. * html/HTMLSelectElement.cpp:
  7727. (WebCore::HTMLSelectElement::deselectItems):
  7728. Rename inner deselectItems() to deselectItemsWithoutValidation().
  7729. (WebCore::HTMLSelectElement::setSelectedIndex):
  7730. Rename a callsite of another setSelectedIndex() to setSelectedIndexInternal().
  7731. (WebCore::HTMLSelectElement::setSelectedIndexByUser):
  7732. ditto, and update a callsite of updateSelectedState().
  7733. (WebCore::HTMLSelectElement::listBoxSelectItem):
  7734. Update a callsite of updateSelectedState().
  7735. (WebCore::HTMLSelectElement::activeSelectionEndListIndex):
  7736. Update a callsite of lastSelectedListIndex().
  7737. (WebCore::HTMLSelectElement::selectAll):
  7738. Update callsites of functions which are changed to non-static.
  7739. (WebCore::HTMLSelectElement::saveLastSelection):
  7740. Merge a static function and a non-static function.
  7741. (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex): ditto.
  7742. (WebCore::HTMLSelectElement::setActiveSelectionEndIndex): ditto.
  7743. (WebCore::HTMLSelectElement::updateListBoxSelection): ditto.
  7744. (WebCore::HTMLSelectElement::listBoxOnChange): ditto.
  7745. (WebCore::HTMLSelectElement::menuListOnChange): ditto.
  7746. (WebCore::HTMLSelectElement::scrollToSelection): ditto.
  7747. (WebCore::HTMLSelectElement::setOptionsChangedOnRenderer): Made this non-static.
  7748. (WebCore::HTMLSelectElement::setRecalcListItems):
  7749. Merge a static function and a non-static function.
  7750. (WebCore::HTMLSelectElement::selectedIndex): ditto.
  7751. (WebCore::HTMLSelectElement::setSelectedIndexInternal):
  7752. Made this non-static, and renamed from setSelectedIndex() because
  7753. of conflict with an existing function.
  7754. (WebCore::HTMLSelectElement::optionToListIndex):
  7755. Merge a static function and a non-static function.
  7756. (WebCore::HTMLSelectElement::listToOptionIndex): ditto.
  7757. (WebCore::HTMLSelectElement::dispatchFocusEvent):
  7758. Update a callsite of function which is changed to no-staic.
  7759. (WebCore::HTMLSelectElement::dispatchBlurEvent): ditto.
  7760. (WebCore::HTMLSelectElement::deselectItemsWithoutValidation):
  7761. Made this non-static, and renamed from deselectItems() to avoid conflict.
  7762. (WebCore::HTMLSelectElement::restoreFormControlState):
  7763. Update a callsite of function which is changed to no-staic.
  7764. (WebCore::HTMLSelectElement::reset): ditto.
  7765. (WebCore::HTMLSelectElement::platformHandleKeydownEvent): Made this non-static.
  7766. (WebCore::HTMLSelectElement::menuListDefaultEventHandler): ditto.
  7767. (WebCore::HTMLSelectElement::updateSelectedState): ditto.
  7768. (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): ditto.
  7769. (WebCore::HTMLSelectElement::defaultEventHandler):
  7770. Merged a static function and a non-static function.
  7771. (WebCore::HTMLSelectElement::lastSelectedListIndex): Made this non-static.
  7772. (WebCore::HTMLSelectElement::typeAheadFind): ditto.
  7773. (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): ditto.
  7774. * html/HTMLSelectElement.h:
  7775. * html/HTMLSelectElementWin.cpp:
  7776. (WebCore::HTMLSelectElement::platformHandleKeydownEvent): Made this non-static.
  7777. 2011-10-09 Adam Barth <abarth@webkit.org>
  7778. CSP should log unrecognized directives to the console
  7779. https://bugs.webkit.org/show_bug.cgi?id=69728
  7780. Reviewed by Sam Weinig.
  7781. Several of the web developers who have been experimenting with CSP have
  7782. run into trouble with directives we don't support. For example, one
  7783. developer was confused for a while why image-src didn't do what he
  7784. expected. Logging a message to the console will help these folks
  7785. figure out what's going on.
  7786. * page/ContentSecurityPolicy.cpp:
  7787. (WebCore::ContentSecurityPolicy::reportUnrecognizedDirective):
  7788. (WebCore::ContentSecurityPolicy::addDirective):
  7789. * page/ContentSecurityPolicy.h:
  7790. 2011-10-09 W. James MacLean <wjmaclean@chromium.org>
  7791. [chromium] Zoom animator front-end
  7792. https://bugs.webkit.org/show_bug.cgi?id=68035
  7793. Adds necessary components to ScrollAnimatorNone to support a zoom animation
  7794. feature. Includes test infrastructure via testing/Internals to capture
  7795. in-progress texture scaling (zoom-animator-scale-test.html) as well as a
  7796. final view --- after pageScaleFactor has been applied --- in zoom-animator-scale-test2.html.
  7797. Removes temporary test fields from Settings.
  7798. Reviewed by Kenneth Russell.
  7799. Test: platform/chromium/compositing/zoom-animator-scale-test2.html
  7800. * page/EventHandler.cpp:
  7801. (WebCore::EventHandler::handleGestureEvent):
  7802. * page/FrameView.cpp:
  7803. (WebCore::FrameView::zoomAnimatorTransformChanged):
  7804. * page/FrameView.h:
  7805. * page/Settings.cpp:
  7806. (WebCore::Settings::Settings):
  7807. * page/Settings.h:
  7808. * platform/ScrollAnimator.cpp:
  7809. (WebCore::ScrollAnimator::ScrollAnimator):
  7810. (WebCore::ScrollAnimator::notifyZoomChanged):
  7811. (WebCore::ScrollAnimator::zoomTranslation):
  7812. (WebCore::ScrollAnimator::resetZoom):
  7813. (WebCore::ScrollAnimator::setZoomParametersForTest):
  7814. * platform/ScrollAnimator.h:
  7815. (WebCore::ScrollAnimator::zoomScale):
  7816. * platform/ScrollAnimatorNone.cpp:
  7817. (WebCore::ScrollAnimatorNone::ZoomData::ZoomData):
  7818. (WebCore::ScrollAnimatorNone::ZoomData::animateZoom):
  7819. (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
  7820. (WebCore::ScrollAnimatorNone::zoom):
  7821. (WebCore::ScrollAnimatorNone::handleGestureEvent):
  7822. (WebCore::ScrollAnimatorNone::animationTimerFired):
  7823. * platform/ScrollAnimatorNone.h:
  7824. * platform/ScrollableArea.cpp:
  7825. (WebCore::ScrollableArea::zoomAnimatorTransformChanged):
  7826. * platform/ScrollableArea.h:
  7827. * testing/Internals.cpp:
  7828. (WebCore::Internals::setEnableScrollAnimator):
  7829. (WebCore::Internals::setZoomAnimatorTransform):
  7830. (WebCore::Internals::getPageScaleFactor):
  7831. (WebCore::Internals::setZoomParameters):
  7832. * testing/Internals.h:
  7833. * testing/Internals.idl:
  7834. 2011-10-09 Dan Bernstein <mitz@apple.com>
  7835. <rdar://problem/9484496> REGRESSION (WebKit2): Checkboxes and radio buttons are drawn 1 pixel too high, not repainted properly
  7836. https://bugs.webkit.org/show_bug.cgi?id=69727
  7837. Reviewed by Anders Carlsson.
  7838. * platform/mac/ThemeMac.mm: Made WebCoreFlippedView an NSControl subclass so that the NSButtonCell
  7839. used to draw checkboxes and radio buttons can make it its controlView, and consequently check and
  7840. obey its flippedness.
  7841. 2011-10-09 Benjamin Poulain <benjamin@webkit.org>
  7842. Do not compare the first glyph to itself in Font::drawGlyphBuffer()
  7843. https://bugs.webkit.org/show_bug.cgi?id=69715
  7844. Reviewed by Andreas Kling.
  7845. When looking for glyphs with similar properties, we should
  7846. skip the first one since the comparison of fontData
  7847. and offset will always fail.
  7848. This is covered by the existing tests.
  7849. * platform/graphics/FontFastPath.cpp:
  7850. (WebCore::Font::drawGlyphBuffer):
  7851. 2011-10-08 Justin Schuh <jschuh@chromium.org>
  7852. Make ThreadGlobalData members use OwnPtr
  7853. https://bugs.webkit.org/show_bug.cgi?id=69710
  7854. Reviewed by Adam Barth.
  7855. No functional changes. No new tests required.
  7856. * platform/ThreadGlobalData.cpp:
  7857. (WebCore::ThreadGlobalData::ThreadGlobalData):
  7858. (WebCore::ThreadGlobalData::~ThreadGlobalData):
  7859. (WebCore::ThreadGlobalData::destroy):
  7860. * platform/ThreadGlobalData.h:
  7861. 2011-10-08 Mark Hahnenberg <mhahnenberg@apple.com>
  7862. Add static version of JSCell::getConstructData
  7863. https://bugs.webkit.org/show_bug.cgi?id=69673
  7864. Reviewed by Geoffrey Garen.
  7865. No new tests.
  7866. Added static version of getConstructData to all classes that
  7867. override it and changed the virtual versions to call the static
  7868. versions. This is the first step in de-virtualizing JSCell::getConstructData.
  7869. * bindings/js/JSAudioConstructor.cpp:
  7870. (WebCore::JSAudioConstructor::getConstructData):
  7871. * bindings/js/JSAudioConstructor.h:
  7872. * bindings/js/JSImageConstructor.cpp:
  7873. (WebCore::JSImageConstructor::getConstructData):
  7874. * bindings/js/JSImageConstructor.h:
  7875. * bindings/js/JSOptionConstructor.cpp:
  7876. (WebCore::JSOptionConstructor::getConstructData):
  7877. * bindings/js/JSOptionConstructor.h:
  7878. * bindings/scripts/CodeGeneratorJS.pm:
  7879. (GenerateConstructorDeclaration):
  7880. (GenerateConstructorDefinition):
  7881. * bindings/scripts/test/JS/JSTestInterface.cpp:
  7882. (WebCore::JSTestInterfaceConstructor::getConstructData):
  7883. * bridge/runtime_object.cpp:
  7884. (JSC::Bindings::RuntimeObject::getConstructData):
  7885. * bridge/runtime_object.h:
  7886. 2011-10-08 Mark Hahnenberg <mhahnenberg@apple.com>
  7887. Add static version of JSCell::getOwnPropertySlot
  7888. https://bugs.webkit.org/show_bug.cgi?id=69593
  7889. Reviewed by Geoffrey Garen.
  7890. No new tests.
  7891. Added static version of getOwnPropertySlot to every class that overrides
  7892. JSCell::getOwnPropertySlot. The virtual versions now call the static versions.
  7893. This is the first step in de-virtualizing JSCell::getOwnPropertySlot.
  7894. * bindings/js/JSDOMWindowShell.cpp:
  7895. (WebCore::JSDOMWindowShell::getOwnPropertySlot):
  7896. * bindings/js/JSDOMWindowShell.h:
  7897. * bridge/objc/objc_runtime.h:
  7898. * bridge/objc/objc_runtime.mm:
  7899. (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot):
  7900. * bridge/qt/qt_runtime.cpp:
  7901. (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertySlot):
  7902. (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertySlot):
  7903. * bridge/qt/qt_runtime.h:
  7904. * bridge/runtime_array.cpp:
  7905. (JSC::RuntimeArray::getOwnPropertySlot):
  7906. * bridge/runtime_array.h:
  7907. * bridge/runtime_method.cpp:
  7908. (JSC::RuntimeMethod::getOwnPropertySlot):
  7909. * bridge/runtime_method.h:
  7910. * bridge/runtime_object.cpp:
  7911. (JSC::Bindings::RuntimeObject::getOwnPropertySlot):
  7912. * bridge/runtime_object.h:
  7913. 2011-10-03 Carlos Garcia Campos <cgarcia@igalia.com> and Martin Robinson <mrobinson@igalia.com>
  7914. [GTK] Implement drag and drop support in WebKit2
  7915. https://bugs.webkit.org/show_bug.cgi?id=63706
  7916. Reviewed by Philippe Normand.
  7917. * platform/DragData.h:
  7918. * platform/gtk/DataObjectGtk.cpp:
  7919. (WebCore::DataObjectGtk::text): Mark as const.
  7920. (WebCore::DataObjectGtk::markup): Ditto.
  7921. (WebCore::DataObjectGtk::urlLabel): Ditto.
  7922. * platform/gtk/DataObjectGtk.h: Remove unused member
  7923. m_dragContext.
  7924. (WebCore::DataObjectGtk::url): Mark as const.
  7925. (WebCore::DataObjectGtk::uriList): Ditto.
  7926. (WebCore::DataObjectGtk::filenames): Ditto.
  7927. (WebCore::DataObjectGtk::image): Ditto.
  7928. (WebCore::DataObjectGtk::hasText): Ditto.
  7929. (WebCore::DataObjectGtk::hasMarkup): Ditto.
  7930. (WebCore::DataObjectGtk::hasURIList): Ditto.
  7931. (WebCore::DataObjectGtk::hasURL): Ditto.
  7932. (WebCore::DataObjectGtk::hasFilenames): Ditto.
  7933. (WebCore::DataObjectGtk::hasImage): Ditto.
  7934. * platform/gtk/DragIcon.cpp: Added. A helper which takes care of
  7935. creating a transparent drag window for drags.
  7936. * platform/gtk/DragIcon.h: Added.
  7937. 2011-10-08 Abhishek Arya <inferno@chromium.org>
  7938. Add support for ADDRESS_SANITIZER in RenderArena
  7939. allocate, free calls.
  7940. https://bugs.webkit.org/show_bug.cgi?id=69636
  7941. Reviewed by Darin Adler.
  7942. Use malloc, free directly without using the debug header. Otherwise,
  7943. we won't be able to detect out of bounds access in debug header.
  7944. * rendering/RenderArena.cpp:
  7945. (WebCore::RenderArena::allocate):
  7946. (WebCore::RenderArena::free):
  7947. 2011-10-08 Kent Tamura <tkent@chromium.org>
  7948. Remove some static functions of HTMLSelectElement
  7949. https://bugs.webkit.org/show_bug.cgi?id=69621
  7950. Reviewed by Darin Adler.
  7951. Merge a static function and the corresponding non-static member function
  7952. into one function if there are no other callers of the static function.
  7953. No new tests, just a refactoring.
  7954. * html/HTMLFormControlElement.h:
  7955. Make formControlName() protected because it is called from
  7956. HTMLSelectElement.
  7957. * html/HTMLSelectElement.cpp:
  7958. (WebCore::HTMLSelectElement::parseMappedAttribute):
  7959. Remove two argument of parseMultipleAttribute().
  7960. (WebCore::HTMLSelectElement::selectAll):
  7961. Merged the static function and the member function.
  7962. (WebCore::HTMLSelectElement::dispatchFocusEvent): ditto.
  7963. (WebCore::HTMLSelectElement::dispatchBlurEvent): ditto.
  7964. (WebCore::HTMLSelectElement::saveFormControlState): ditto.
  7965. (WebCore::HTMLSelectElement::restoreFormControlState):
  7966. (WebCore::HTMLSelectElement::parseMultipleAttribute):
  7967. - Make this non-static member function.
  7968. - Use reattachIfAttached().
  7969. (WebCore::HTMLSelectElement::appendFormData): Merged.
  7970. (WebCore::HTMLSelectElement::reset): ditto.
  7971. (WebCore::HTMLSelectElement::insertedIntoTree): ditto.
  7972. (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): ditto.
  7973. (WebCore::HTMLSelectElement::length): Merged with optionCount().
  7974. * html/HTMLSelectElement.h:
  7975. 2011-10-08 Sheriff Bot <webkit.review.bot@gmail.com>
  7976. Unreviewed, rolling out r96996.
  7977. http://trac.webkit.org/changeset/96996
  7978. https://bugs.webkit.org/show_bug.cgi?id=69697
  7979. It broke all tests on the Qt bot (Requested by Ossy_night on
  7980. #webkit).
  7981. * WebCore.exp.in:
  7982. * bindings/js/JSCallbackData.cpp:
  7983. (WebCore::JSCallbackData::invokeCallback):
  7984. * bindings/js/JSCustomXPathNSResolver.cpp:
  7985. (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
  7986. * bindings/js/JSErrorHandler.cpp:
  7987. (WebCore::JSErrorHandler::handleEvent):
  7988. * bindings/js/JSEventListener.cpp:
  7989. (WebCore::JSEventListener::handleEvent):
  7990. * bindings/js/JSHTMLAllCollectionCustom.cpp:
  7991. (WebCore::JSHTMLAllCollection::getCallDataVirtual):
  7992. * bindings/js/JSHTMLAppletElementCustom.cpp:
  7993. (WebCore::JSHTMLAppletElement::getCallDataVirtual):
  7994. * bindings/js/JSHTMLEmbedElementCustom.cpp:
  7995. (WebCore::JSHTMLEmbedElement::getCallDataVirtual):
  7996. * bindings/js/JSHTMLObjectElementCustom.cpp:
  7997. (WebCore::JSHTMLObjectElement::getCallDataVirtual):
  7998. * bindings/js/JSInjectedScriptHostCustom.cpp:
  7999. (WebCore::JSInjectedScriptHost::evaluate):
  8000. * bindings/js/JSPluginElementFunctions.cpp:
  8001. (WebCore::runtimeObjectGetCallData):
  8002. * bindings/scripts/CodeGeneratorJS.pm:
  8003. (GenerateHeader):
  8004. * bridge/objc/objc_runtime.h:
  8005. * bridge/objc/objc_runtime.mm:
  8006. (JSC::Bindings::ObjcFallbackObjectImp::getCallDataVirtual):
  8007. * bridge/qt/qt_runtime.cpp:
  8008. (JSC::Bindings::QtRuntimeMetaMethod::getCallDataVirtual):
  8009. (JSC::Bindings::QtRuntimeConnectionMethod::call):
  8010. (JSC::Bindings::QtRuntimeConnectionMethod::getCallDataVirtual):
  8011. (JSC::Bindings::isJavaScriptFunction):
  8012. * bridge/qt/qt_runtime.h:
  8013. * bridge/runtime_method.cpp:
  8014. (JSC::RuntimeMethod::getCallDataVirtual):
  8015. * bridge/runtime_method.h:
  8016. * bridge/runtime_object.cpp:
  8017. (JSC::Bindings::RuntimeObject::getCallDataVirtual):
  8018. * bridge/runtime_object.h:
  8019. 2011-10-08 Ryosuke Niwa <rniwa@webkit.org>
  8020. Snow Leopard build fix after r96976. Apparently we just need a full rebuild.
  8021. * config.h:
  8022. 2011-10-07 Mark Hahnenberg <mhahnenberg@apple.com>
  8023. Add static version of JSCell::deleteProperty
  8024. https://bugs.webkit.org/show_bug.cgi?id=69659
  8025. Reviewed by Geoffrey Garen.
  8026. No new tests.
  8027. Added static version of both versions of put to all classes that
  8028. override them and changed the virtual versions to call the static
  8029. versions. This is the first step in de-virtualizing JSCell::deleteProperty.
  8030. * bridge/objc/objc_runtime.h:
  8031. * bridge/objc/objc_runtime.mm:
  8032. (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty):
  8033. * bridge/runtime_array.cpp:
  8034. (JSC::RuntimeArray::deleteProperty):
  8035. * bridge/runtime_array.h:
  8036. * bridge/runtime_object.cpp:
  8037. (JSC::Bindings::RuntimeObject::deleteProperty):
  8038. * bridge/runtime_object.h:
  8039. 2011-10-07 Justin Schuh <jschuh@chromium.org>
  8040. Make isXMLMIMEType regex use TLS
  8041. https://bugs.webkit.org/show_bug.cgi?id=69665
  8042. Reviewed by Adam Barth.
  8043. Test: fast/workers/worker-multi-startup.html
  8044. * dom/DOMImplementation.cpp:
  8045. (WebCore::XMLMIMETypeRegExp::XMLMIMETypeRegExp):
  8046. (WebCore::XMLMIMETypeRegExp::~XMLMIMETypeRegExp):
  8047. (WebCore::XMLMIMETypeRegExp::isXMLMIMEType):
  8048. (WebCore::DOMImplementation::isXMLMIMEType):
  8049. * dom/DOMImplementation.h:
  8050. * platform/ThreadGlobalData.cpp:
  8051. (WebCore::ThreadGlobalData::ThreadGlobalData):
  8052. (WebCore::ThreadGlobalData::destroy):
  8053. * platform/ThreadGlobalData.h:
  8054. (WebCore::ThreadGlobalData::xmlTypeRegExp):
  8055. 2011-10-07 Sheriff Bot <webkit.review.bot@gmail.com>
  8056. Unreviewed, rolling out r96847.
  8057. http://trac.webkit.org/changeset/96847
  8058. https://bugs.webkit.org/show_bug.cgi?id=69684
  8059. may have caused memory regression on win chromium (Requested
  8060. by simonjam on #webkit).
  8061. * platform/graphics/chromium/FontChromiumWin.cpp:
  8062. (WebCore::Font::drawGlyphs):
  8063. 2011-10-07 Mark Hahnenberg <mhahnenberg@apple.com>
  8064. Remove getCallDataVirtual methods
  8065. https://bugs.webkit.org/show_bug.cgi?id=69186
  8066. Reviewed by Geoffrey Garen.
  8067. No new tests.
  8068. Removed all getCallDataVirtual methods and replaced their call sites
  8069. with an explicit lookup in the MethodTable.
  8070. * WebCore.exp.in:
  8071. * bindings/js/JSCallbackData.cpp:
  8072. (WebCore::JSCallbackData::invokeCallback):
  8073. * bindings/js/JSCustomXPathNSResolver.cpp:
  8074. (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
  8075. * bindings/js/JSErrorHandler.cpp:
  8076. (WebCore::JSErrorHandler::handleEvent):
  8077. * bindings/js/JSEventListener.cpp:
  8078. (WebCore::JSEventListener::handleEvent):
  8079. * bindings/js/JSHTMLAllCollectionCustom.cpp:
  8080. * bindings/js/JSHTMLAppletElementCustom.cpp:
  8081. * bindings/js/JSHTMLEmbedElementCustom.cpp:
  8082. * bindings/js/JSHTMLObjectElementCustom.cpp:
  8083. * bindings/js/JSInjectedScriptHostCustom.cpp:
  8084. (WebCore::JSInjectedScriptHost::evaluate):
  8085. * bindings/js/JSPluginElementFunctions.cpp:
  8086. (WebCore::runtimeObjectGetCallData):
  8087. * bindings/scripts/CodeGeneratorJS.pm:
  8088. (GenerateHeader):
  8089. * bridge/objc/objc_runtime.h:
  8090. * bridge/objc/objc_runtime.mm:
  8091. * bridge/qt/qt_runtime.cpp:
  8092. (JSC::Bindings::QtRuntimeConnectionMethod::call):
  8093. (JSC::Bindings::isJavaScriptFunction):
  8094. * bridge/qt/qt_runtime.h:
  8095. (JSC::Bindings::QtRuntimeMetaMethod::createStructure):
  8096. (JSC::Bindings::QtRuntimeConnectionMethod::createStructure):
  8097. * bridge/runtime_method.cpp:
  8098. * bridge/runtime_method.h:
  8099. * bridge/runtime_object.cpp:
  8100. * bridge/runtime_object.h:
  8101. 2011-10-07 Mark Hahnenberg <mhahnenberg@apple.com>
  8102. Add static version of JSCell::put
  8103. https://bugs.webkit.org/show_bug.cgi?id=69382
  8104. Reviewed by Geoffrey Garen.
  8105. No new tests.
  8106. Added static version of both versions of put to all classes that
  8107. override them and changed the virtual versions to call the static
  8108. versions.
  8109. * bindings/scripts/CodeGeneratorJS.pm:
  8110. (GenerateHeader):
  8111. (GenerateImplementation):
  8112. * bindings/scripts/test/JS/JSTestObj.cpp:
  8113. (WebCore::JSTestObj::put):
  8114. * bindings/scripts/test/JS/JSTestObj.h:
  8115. * bridge/objc/objc_runtime.h:
  8116. * bridge/objc/objc_runtime.mm:
  8117. (JSC::Bindings::ObjcFallbackObjectImp::put):
  8118. * bridge/runtime_array.cpp:
  8119. (JSC::RuntimeArray::put):
  8120. * bridge/runtime_array.h:
  8121. * bridge/runtime_object.cpp:
  8122. (JSC::Bindings::RuntimeObject::put):
  8123. * bridge/runtime_object.h:
  8124. 2011-10-07 Anantanarayanan G Iyengar <ananta@chromium.org>
  8125. https://bugs.webkit.org/show_bug.cgi?id=69471
  8126. We now wrap the window script NPObject which is requested by NPAPI plugins for
  8127. scripting. The wrapped NPObject pointer maintains a weak reference to the
  8128. window script NPObject and is cleared out when the window script object is destroyed.
  8129. The NPObject wrapper is destroyed when the last outstanding reference is released.
  8130. Reviewed by Nate Chapin.
  8131. No tests added as there is no change in functionality.
  8132. * WebCore.gypi:
  8133. * bindings/v8/NPObjectWrapper.cpp: Added.
  8134. (WebCore::NPObjectWrapper::NPObjectWrapper):
  8135. (WebCore::NPObjectWrapper::create):
  8136. (WebCore::NPObjectWrapper::clear):
  8137. (WebCore::NPObjectWrapper::getWrapper):
  8138. (WebCore::NPObjectWrapper::getUnderlyingNPObject):
  8139. (WebCore::NPObjectWrapper::getObjectForCall):
  8140. (WebCore::NPObjectWrapper::NPAllocate):
  8141. (WebCore::NPObjectWrapper::NPDeallocate):
  8142. (WebCore::NPObjectWrapper::NPPInvalidate):
  8143. (WebCore::NPObjectWrapper::NPHasMethod):
  8144. (WebCore::NPObjectWrapper::NPInvoke):
  8145. (WebCore::NPObjectWrapper::NPInvokeDefault):
  8146. (WebCore::NPObjectWrapper::NPHasProperty):
  8147. (WebCore::NPObjectWrapper::NPGetProperty):
  8148. (WebCore::NPObjectWrapper::NPSetProperty):
  8149. (WebCore::NPObjectWrapper::NPRemoveProperty):
  8150. (WebCore::NPObjectWrapper::NPNEnumerate):
  8151. (WebCore::NPObjectWrapper::NPNConstruct):
  8152. (WebCore::NPObjectWrapper::NPInvokePrivate):
  8153. * bindings/v8/NPObjectWrapper.h: Added.
  8154. * bindings/v8/NPV8Object.cpp:
  8155. (_NPN_EvaluateHelper):
  8156. * bindings/v8/ScriptController.cpp:
  8157. (WebCore::ScriptController::ScriptController):
  8158. (WebCore::ScriptController::clearScriptObjects):
  8159. (WebCore::ScriptController::windowScriptNPObject):
  8160. * bindings/v8/ScriptController.h:
  8161. 2011-10-07 Antoine Labour <piman@chromium.org>
  8162. Webkit API for compositor
  8163. https://bugs.webkit.org/show_bug.cgi?id=69107
  8164. Reviewed by Darin Fisher.
  8165. Covered by existing compositing tests.
  8166. * platform/graphics/chromium/ContentLayerChromium.h:
  8167. 2011-10-07 Ben Wells <benwells@chromium.org>
  8168. CSS text-transform should apply to select elements
  8169. https://bugs.webkit.org/show_bug.cgi?id=69503
  8170. Reviewed by Ojan Vafai.
  8171. Select elements are drawn in two ways depending on whether they are multiple and what their size is.
  8172. Neither method previously handled text-transforms. Both of these rendering styles are now updated to transform
  8173. their text correctly.
  8174. Test: fast/css/text-transform-select.html
  8175. * rendering/RenderListBox.cpp:
  8176. (WebCore::RenderListBox::updateFromElement):
  8177. (WebCore::RenderListBox::paintItemForeground):
  8178. * rendering/RenderMenuList.cpp:
  8179. (WebCore::RenderMenuList::updateOptionsWidth):
  8180. (WebCore::RenderMenuList::setText):
  8181. (WebCore::RenderMenuList::itemText):
  8182. * rendering/RenderText.cpp:
  8183. (WebCore::makeCapitalized):
  8184. (WebCore::applyTextTransform):
  8185. (WebCore::RenderText::setTextInternal):
  8186. (WebCore::RenderText::textWithoutTranscoding):
  8187. * rendering/RenderText.h:
  8188. 2011-10-07 Tony Chang <tony@chromium.org>
  8189. fix a crash when loading non-html multipart data
  8190. https://bugs.webkit.org/show_bug.cgi?id=69675
  8191. Reviewed by Adam Barth.
  8192. setupForReplaceByMIMEType calls DocumentWriter::end(). This leads to
  8193. a crash on Mac because WebHTMLRepresentation() calls commitLoad(nil),
  8194. which tries to write to the DocumentWriter. By just inlining the code
  8195. to load the last page, we avoid this crash (and makes the non-html
  8196. multipart code more like the html multipart code).
  8197. * loader/DocumentLoader.cpp:
  8198. (WebCore::DocumentLoader::maybeFinishLoadingMultipartContent):
  8199. 2011-10-07 Sergey Glazunov <serg.glazunov@gmail.com>
  8200. XSLT-generated document should inherit its SecurityOrigin from the source document
  8201. https://bugs.webkit.org/show_bug.cgi?id=69661
  8202. Reviewed by Adam Barth.
  8203. Test: http/tests/security/xss-DENIED-xsl-document-securityOrigin.xml
  8204. * xml/XSLTProcessor.cpp:
  8205. (WebCore::XSLTProcessor::createDocumentFromSource):
  8206. 2011-10-07 Sheriff Bot <webkit.review.bot@gmail.com>
  8207. Unreviewed, rolling out r96944.
  8208. http://trac.webkit.org/changeset/96944
  8209. https://bugs.webkit.org/show_bug.cgi?id=69662
  8210. Caused many tests to crash on Snow Leopard (Requested by rniwa
  8211. on #webkit).
  8212. * css/CSSStyleApplyProperty.cpp:
  8213. (WebCore::ApplyPropertyColor::applyInheritValue):
  8214. * page/animation/AnimationBase.cpp:
  8215. (WebCore::PropertyWrapperMaybeInvalidColor::PropertyWrapperMaybeInvalidColor):
  8216. (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
  8217. (WebCore::AnimationBase::ensurePropertyMap):
  8218. * platform/graphics/Color.h:
  8219. (WebCore::Color::Color):
  8220. * rendering/style/BorderValue.h:
  8221. (WebCore::BorderValue::BorderValue):
  8222. (WebCore::BorderValue::isTransparent):
  8223. (WebCore::BorderValue::operator==):
  8224. (WebCore::BorderValue::color):
  8225. * rendering/style/OutlineValue.h:
  8226. (WebCore::OutlineValue::operator==):
  8227. * rendering/style/RenderStyle.h:
  8228. (WebCore::InheritedFlags::setBorderLeftColor):
  8229. (WebCore::InheritedFlags::setBorderRightColor):
  8230. (WebCore::InheritedFlags::setBorderTopColor):
  8231. (WebCore::InheritedFlags::setBorderBottomColor):
  8232. (WebCore::InheritedFlags::setOutlineColor):
  8233. (WebCore::InheritedFlags::setColumnRuleColor):
  8234. (WebCore::InheritedFlags::fillPaintColor):
  8235. (WebCore::InheritedFlags::strokePaintColor):
  8236. (WebCore::InheritedFlags::borderLeftColor):
  8237. (WebCore::InheritedFlags::borderRightColor):
  8238. (WebCore::InheritedFlags::borderTopColor):
  8239. (WebCore::InheritedFlags::borderBottomColor):
  8240. (WebCore::InheritedFlags::backgroundColor):
  8241. (WebCore::InheritedFlags::color):
  8242. (WebCore::InheritedFlags::columnRuleColor):
  8243. (WebCore::InheritedFlags::outlineColor):
  8244. (WebCore::InheritedFlags::textEmphasisColor):
  8245. (WebCore::InheritedFlags::textFillColor):
  8246. (WebCore::InheritedFlags::textStrokeColor):
  8247. (WebCore::InheritedFlags::stopColor):
  8248. (WebCore::InheritedFlags::floodColor):
  8249. (WebCore::InheritedFlags::lightingColor):
  8250. 2011-10-07 David Hyatt <hyatt@apple.com>
  8251. https://bugs.webkit.org/show_bug.cgi?id=69658
  8252. [CSS3 Regions] Box painting of overflow into regions is incorrect because children were being
  8253. incorrectly clamped to their containing block region ranges. Change the clamping model so that
  8254. renderRegionForLine no longer does it. A block will now truly have an accurate range across
  8255. all the regions that paint it. Instead, do the clamping at the time a child box asks the containing
  8256. block for its information. At that time clamp to the start and end regions, so that we never ask
  8257. a containing block for info about a region that it doesn't exist in.
  8258. Reviewed by Anders Carlsson.
  8259. Added new test in fast/regions and updated an old result to be correct.
  8260. * rendering/RenderBlock.cpp:
  8261. (WebCore::RenderBlock::pageLogicalHeightForOffset):
  8262. (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
  8263. (WebCore::RenderBlock::regionAtBlockOffset):
  8264. (WebCore::RenderBlock::clampToStartAndEndRegions):
  8265. * rendering/RenderBlock.h:
  8266. * rendering/RenderBox.cpp:
  8267. (WebCore::RenderBox::borderBoxRectInRegion):
  8268. (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
  8269. (WebCore::RenderBox::renderBoxRegionInfo):
  8270. * rendering/RenderFlowThread.cpp:
  8271. (WebCore::RenderFlowThread::renderRegionForLine):
  8272. (WebCore::RenderFlowThread::regionLogicalWidthForLine):
  8273. (WebCore::RenderFlowThread::regionLogicalHeightForLine):
  8274. (WebCore::RenderFlowThread::regionRemainingLogicalHeightForLine):
  8275. (WebCore::RenderFlowThread::mapFromFlowToRegion):
  8276. (WebCore::RenderFlowThread::setRegionRangeForBox):
  8277. * rendering/RenderFlowThread.h:
  8278. 2011-10-07 Chang Shu <cshu@webkit.org>
  8279. Remove compile time flag ENABLE_PASSWORD_ECHO
  8280. https://bugs.webkit.org/show_bug.cgi?id=69647
  8281. As we have runtime flag in the page/Settings, we should remove this redundant compile time flag.
  8282. Reviewed by Andreas Kling.
  8283. * config.h:
  8284. * page/Settings.cpp:
  8285. (WebCore::Settings::Settings):
  8286. 2011-10-07 Chris Fleizach <cfleizach@apple.com>
  8287. Bug 69562 - AccessibilityImageMapLink holds onto it's parent even after it's been freed
  8288. https://bugs.webkit.org/show_bug.cgi?id=69562
  8289. Some fake objects, like AXImageMapLink, have weak references to their parent's (since they are fake objects and
  8290. need some connection to the parent). However, if the parent disappears before the child, then we're left with a
  8291. out of date reference to that parent.
  8292. The fix is to allow these elements to clear their parentage when the parent goes away.
  8293. Reviewed by Darin Adler.
  8294. Test: accessibility/image-map-update-parent-crash.html
  8295. * accessibility/AccessibilityMenuListOption.cpp:
  8296. (WebCore::AccessibilityMenuListOption::isVisible):
  8297. * accessibility/AccessibilityMenuListPopup.cpp:
  8298. (WebCore::AccessibilityMenuListPopup::isOffScreen):
  8299. (WebCore::AccessibilityMenuListPopup::isEnabled):
  8300. (WebCore::AccessibilityMenuListPopup::press):
  8301. (WebCore::AccessibilityMenuListPopup::addChildren):
  8302. (WebCore::AccessibilityMenuListPopup::childrenChanged):
  8303. * accessibility/AccessibilityMockObject.h:
  8304. (WebCore::AccessibilityMockObject::detachFromParent):
  8305. * accessibility/AccessibilityObject.cpp:
  8306. (WebCore::AccessibilityObject::clearChildren):
  8307. * accessibility/AccessibilityObject.h:
  8308. (WebCore::AccessibilityObject::detachFromParent):
  8309. * accessibility/AccessibilitySlider.cpp:
  8310. (WebCore::AccessibilitySliderThumb::elementRect):
  8311. * accessibility/AccessibilityTableColumn.cpp:
  8312. (WebCore::AccessibilityTableColumn::headerObjectForSection):
  8313. 2011-10-07 Andreas Kling <kling@webkit.org>
  8314. Pack StyleRareNonInheritedData even harder on 64-bit.
  8315. https://bugs.webkit.org/show_bug.cgi?id=69648
  8316. Reviewed by Benjamin Poulain.
  8317. Rearrange the members of StyleRareNonInheritedData to fold as much
  8318. as possible into the padding at the end of RefCounted.
  8319. This shrinks StyleRareNonInheritedData by 16 bytes on 64-bit,
  8320. reducing memory consumption by another 140 kB when loading the
  8321. full HTML5 spec.
  8322. * rendering/style/StyleRareNonInheritedData.cpp:
  8323. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  8324. * rendering/style/StyleRareNonInheritedData.h:
  8325. 2011-10-07 Cary Clark <caryclark@google.com>
  8326. Enable color profiles, unless profile is grayscale
  8327. https://bugs.webkit.org/show_bug.cgi?id=69622
  8328. https://bugs.webkit.org/show_bug.cgi?id=49950
  8329. http://code.google.com/p/chromium/issues/detail?id=80844
  8330. Further specialize the earlier fix described in 49950 to
  8331. allow color profiles in YCbCr images, but disallow color
  8332. profiles marked as grayData.
  8333. (see http://www.color.org/ICC1v42_2006-05.pdf 7.2.6 )
  8334. Reviewed by Adam Barth.
  8335. Test: fast/images/gray-scale-jpeg-with-color-profile.html
  8336. fast/images/color-jpeg-with-color-profile.html
  8337. * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
  8338. (WebCore::readColorProfile):
  8339. (WebCore::JPEGImageReader::decode):
  8340. 2011-10-07 Chris Fleizach <cfleizach@apple.com>
  8341. AX: re-organize fake elements to use new AccessibilityMockObject
  8342. https://bugs.webkit.org/show_bug.cgi?id=69588
  8343. This adds an AccessibilityMockObject for "fake" elements to descend from.
  8344. Its benefit is to consolidate the various ways that these fake elements are setting
  8345. and returning their parent objects.
  8346. No functional change, hence no new tests.
  8347. Reviewed by Jon Honeycutt.
  8348. * CMakeLists.txt:
  8349. * GNUmakefile.list.am:
  8350. * WebCore.gypi:
  8351. * WebCore.pro:
  8352. * WebCore.vcproj/WebCore.vcproj:
  8353. * WebCore.xcodeproj/project.pbxproj:
  8354. * accessibility/AccessibilityARIAGrid.cpp:
  8355. (WebCore::AccessibilityARIAGrid::addChildren):
  8356. * accessibility/AccessibilityImageMapLink.cpp:
  8357. (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
  8358. * accessibility/AccessibilityImageMapLink.h:
  8359. (WebCore::AccessibilityImageMapLink::node):
  8360. * accessibility/AccessibilityMenuList.cpp:
  8361. (WebCore::AccessibilityMenuList::addChildren):
  8362. * accessibility/AccessibilityMenuList.h:
  8363. (WebCore::toAccessibilityMenuList):
  8364. * accessibility/AccessibilityMenuListOption.cpp:
  8365. (WebCore::AccessibilityMenuListOption::AccessibilityMenuListOption):
  8366. (WebCore::AccessibilityMenuListOption::isVisible):
  8367. * accessibility/AccessibilityMenuListOption.h:
  8368. * accessibility/AccessibilityMenuListPopup.cpp:
  8369. (WebCore::AccessibilityMenuListPopup::AccessibilityMenuListPopup):
  8370. (WebCore::AccessibilityMenuListPopup::isOffScreen):
  8371. (WebCore::AccessibilityMenuListPopup::isEnabled):
  8372. (WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):
  8373. (WebCore::AccessibilityMenuListPopup::press):
  8374. (WebCore::AccessibilityMenuListPopup::addChildren):
  8375. (WebCore::AccessibilityMenuListPopup::childrenChanged):
  8376. (WebCore::AccessibilityMenuListPopup::didUpdateActiveOption):
  8377. * accessibility/AccessibilityMenuListPopup.h:
  8378. * accessibility/AccessibilityMockObject.cpp: Added.
  8379. (WebCore::AccessibilityMockObject::AccessibilityMockObject):
  8380. (WebCore::AccessibilityMockObject::~AccessibilityMockObject):
  8381. * accessibility/AccessibilityMockObject.h: Added.
  8382. (WebCore::AccessibilityMockObject::parentObject):
  8383. (WebCore::AccessibilityMockObject::setParent):
  8384. (WebCore::AccessibilityMockObject::detachFromParent):
  8385. * accessibility/AccessibilitySlider.cpp:
  8386. (WebCore::AccessibilitySlider::addChildren):
  8387. (WebCore::AccessibilitySliderThumb::AccessibilitySliderThumb):
  8388. (WebCore::AccessibilitySliderThumb::elementRect):
  8389. * accessibility/AccessibilitySlider.h:
  8390. * accessibility/AccessibilityTable.cpp:
  8391. (WebCore::AccessibilityTable::addChildren):
  8392. (WebCore::AccessibilityTable::headerContainer):
  8393. * accessibility/AccessibilityTable.h:
  8394. (WebCore::toAccessibilityTable):
  8395. * accessibility/AccessibilityTableColumn.cpp:
  8396. (WebCore::AccessibilityTableColumn::AccessibilityTableColumn):
  8397. (WebCore::AccessibilityTableColumn::setParent):
  8398. (WebCore::AccessibilityTableColumn::headerObject):
  8399. (WebCore::AccessibilityTableColumn::headerObjectForSection):
  8400. (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
  8401. (WebCore::AccessibilityTableColumn::addChildren):
  8402. * accessibility/AccessibilityTableColumn.h:
  8403. * accessibility/AccessibilityTableHeaderContainer.cpp:
  8404. (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer):
  8405. (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
  8406. (WebCore::AccessibilityTableHeaderContainer::addChildren):
  8407. * accessibility/AccessibilityTableHeaderContainer.h:
  8408. 2011-10-07 Nate Chapin <japhet@chromium.org>
  8409. Make IconLoader a CachedResourceClient instead of a SubresourceLoaderClient.
  8410. This is one of the steps required to remove the SubresourceLoaderClient interface,
  8411. which will simplify the layering in the loader.
  8412. https://bugs.webkit.org/show_bug.cgi?id=69567
  8413. Reviewed by Adam Barth.
  8414. No new tests, no functionality change intended.
  8415. * CMakeLists.txt:
  8416. * GNUmakefile.list.am:
  8417. * WebCore.gypi:
  8418. * WebCore.pro:
  8419. * WebCore.vcproj/WebCore.vcproj:
  8420. * WebCore.xcodeproj/project.pbxproj:
  8421. * loader/cache/CachedRawResource.cpp: Added.
  8422. * loader/cache/CachedRawResource.h: Added.
  8423. * loader/cache/CachedResource.cpp:
  8424. * loader/cache/CachedResource.h:
  8425. (WebCore::CachedResource::ignoreForRequestCount): Renamed and generalized from isLinkResource(),
  8426. which was only used to decided whether the CachedResource should count toward
  8427. CachedResourceLoader::requestCount().
  8428. * loader/cache/CachedResourceLoader.cpp:
  8429. * loader/cache/CachedResourceLoader.h:
  8430. * loader/cache/CachedResourceRequest.cpp:
  8431. * loader/cache/CachedResourceRequest.h:
  8432. * loader/icon/IconLoader.cpp: Get a CachedResource instead of a SubresourceLoader.
  8433. (WebCore::IconLoader::notifyFinished): Merge in the status code check that was in didReceiveResponse(),
  8434. since we won't be checking any callbacks before the load completes.
  8435. * loader/icon/IconLoader.h:
  8436. 2011-10-07 Adam Bergkvist <adam.bergkvist@ericsson.com>
  8437. Add WebCore platform interfaces needed by updated PeerConnection design
  8438. https://bugs.webkit.org/show_bug.cgi?id=68460
  8439. Reviewed by Adam Barth.
  8440. Added the PeerConnection platform files to WebCore/platform/mediastream
  8441. Currently not testable.
  8442. * GNUmakefile.am:
  8443. * GNUmakefile.list.am:
  8444. * WebCore.gyp/WebCore.gyp:
  8445. * WebCore.gypi:
  8446. * platform/mediastream/MediaStreamComponent.h: Added.
  8447. (WebCore::MediaStreamComponent::create):
  8448. (WebCore::MediaStreamComponent::source):
  8449. (WebCore::MediaStreamComponent::enabled):
  8450. (WebCore::MediaStreamComponent::setEnabled):
  8451. (WebCore::MediaStreamComponent::MediaStreamComponent):
  8452. * platform/mediastream/MediaStreamDescriptor.h: Added.
  8453. (WebCore::MediaStreamDescriptor::create):
  8454. (WebCore::MediaStreamDescriptor::owner):
  8455. (WebCore::MediaStreamDescriptor::setOwner):
  8456. (WebCore::MediaStreamDescriptor::label):
  8457. (WebCore::MediaStreamDescriptor::component):
  8458. (WebCore::MediaStreamDescriptor::numberOfComponents):
  8459. (WebCore::MediaStreamDescriptor::ended):
  8460. (WebCore::MediaStreamDescriptor::setEnded):
  8461. (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
  8462. * platform/mediastream/MediaStreamSource.h: Added.
  8463. (WebCore::MediaStreamSource::create):
  8464. (WebCore::MediaStreamSource::id):
  8465. (WebCore::MediaStreamSource::type):
  8466. (WebCore::MediaStreamSource::name):
  8467. (WebCore::MediaStreamSource::muted):
  8468. (WebCore::MediaStreamSource::setMuted):
  8469. (WebCore::MediaStreamSource::MediaStreamSource):
  8470. * platform/mediastream/PeerHandler.cpp: Added.
  8471. (WebCore::PeerHandler::PeerHandler):
  8472. (WebCore::PeerHandler::~PeerHandler):
  8473. (WebCore::PeerHandler::produceInitialOffer):
  8474. (WebCore::PeerHandler::handleInitialOffer):
  8475. (WebCore::PeerHandler::processSDP):
  8476. (WebCore::PeerHandler::processPendingStreams):
  8477. (WebCore::PeerHandler::sendDataStreamMessage):
  8478. (WebCore::PeerHandler::stop):
  8479. * platform/mediastream/PeerHandler.h: Added.
  8480. (WebCore::PeerHandlerClient::~PeerHandlerClient):
  8481. (WebCore::PeerHandler::create):
  8482. 2011-10-07 Vineet Chaudary <vineet.chaudhary@motorola.com>
  8483. background-color affects the font color in disabled textarea.
  8484. https://bugs.webkit.org/show_bug.cgi?id=65361
  8485. Reviewed by Darin Adler.
  8486. For the transparent/translucent background colors use lightening fortext color.
  8487. * rendering/RenderTextControl.cpp:
  8488. (WebCore::disabledTextColor):
  8489. 2011-10-07 David Barr <davidbarr@chromium.org>
  8490. Implement currentColor support for box-shadow and text-shadow
  8491. https://bugs.webkit.org/show_bug.cgi?id=68218
  8492. Reviewed by Simon Fraser.
  8493. Test: fast/box-shadow/box-shadow-currentcolor.html
  8494. * css/CSSParser.cpp:
  8495. (WebCore::CSSParser::parseShadow): Add CSSValueCurrentcolor to supported keywords.
  8496. 2011-10-07 Pavel Feldman <pfeldman@google.com>
  8497. Web Inspector: add Audits panel to the compilation.
  8498. https://bugs.webkit.org/show_bug.cgi?id=69633
  8499. Reviewed by Yury Semikhatsky.
  8500. * inspector/compile-front-end.sh:
  8501. * inspector/front-end/AuditCategories.js:
  8502. * inspector/front-end/AuditLauncherView.js:
  8503. * inspector/front-end/AuditResultView.js:
  8504. * inspector/front-end/AuditRules.js:
  8505. (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
  8506. (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
  8507. (WebInspector.AuditRules.CacheControlRule.prototype.handleNonCacheableResources):
  8508. * inspector/front-end/AuditsPanel.js:
  8509. (WebInspector.AuditsPanel):
  8510. * inspector/front-end/NetworkLog.js:
  8511. * inspector/front-end/treeoutline.js:
  8512. 2011-10-07 Andreas Kling <kling@webkit.org>
  8513. Functions that return "const Color" should simply return "Color".
  8514. Rubber-stamped by Antti Koivisto.
  8515. * rendering/RenderLayerBacking.cpp:
  8516. (WebCore::RenderLayerBacking::rendererBackgroundColor):
  8517. * rendering/RenderLayerBacking.h:
  8518. * rendering/RenderTable.h:
  8519. (WebCore::RenderTable::bgColor):
  8520. * rendering/style/RenderStyle.cpp:
  8521. (WebCore::RenderStyle::colorIncludingFallback):
  8522. (WebCore::RenderStyle::visitedDependentColor):
  8523. * rendering/style/RenderStyle.h:
  8524. 2011-10-07 Pavel Feldman <pfeldman@google.com>
  8525. Web Inspector: TypeError: Cannot read property 'styleSheetId' of undefined in tests.
  8526. https://bugs.webkit.org/show_bug.cgi?id=69634
  8527. Reviewed by Yury Semikhatsky.
  8528. * inspector/front-end/CSSStyleModel.js:
  8529. (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
  8530. 2011-10-06 Andreas Kling <kling@webkit.org>
  8531. Shrink BorderValue.
  8532. https://bugs.webkit.org/show_bug.cgi?id=69521
  8533. Reviewed by Antti Koivisto.
  8534. Unroll BorderValue's Color member so we can pack the color's validity flag
  8535. in BorderValue's bitfield.
  8536. This shrinks BorderValue by 32 bit, which in turn shrinks BorderData by
  8537. 16 bytes. This reduces memory consumption by 760 kB when loading the full
  8538. HTML5 spec.
  8539. * platform/graphics/Color.h:
  8540. (WebCore::Color::Color):
  8541. Allow construction of Color objects with specific validity.
  8542. * rendering/style/BorderValue.h:
  8543. (WebCore::BorderValue::BorderValue):
  8544. (WebCore::BorderValue::isTransparent):
  8545. (WebCore::BorderValue::operator==):
  8546. (WebCore::BorderValue::setColor):
  8547. (WebCore::BorderValue::color):
  8548. * rendering/style/OutlineValue.h:
  8549. (WebCore::OutlineValue::operator==):
  8550. Unroll m_color into BorderValue by splitting it into an RGBA32 and a bool.
  8551. Made those variables private and added color(), setColor() accessors.
  8552. * rendering/style/RenderStyle.h:
  8553. (WebCore::InheritedFlags::setBorderLeftColor):
  8554. (WebCore::InheritedFlags::setBorderRightColor):
  8555. (WebCore::InheritedFlags::setBorderTopColor):
  8556. (WebCore::InheritedFlags::setBorderBottomColor):
  8557. (WebCore::InheritedFlags::setOutlineColor):
  8558. (WebCore::InheritedFlags::setColumnRuleColor):
  8559. Added a SET_BORDERVALUE_COLOR macro and use that instead of SET_VAR
  8560. when setting BorderValue colors.
  8561. (WebCore::InheritedFlags::fillPaintColor):
  8562. (WebCore::InheritedFlags::strokePaintColor):
  8563. (WebCore::InheritedFlags::borderLeftColor):
  8564. (WebCore::InheritedFlags::borderRightColor):
  8565. (WebCore::InheritedFlags::borderTopColor):
  8566. (WebCore::InheritedFlags::borderBottomColor):
  8567. (WebCore::InheritedFlags::backgroundColor):
  8568. (WebCore::InheritedFlags::color):
  8569. (WebCore::InheritedFlags::columnRuleColor):
  8570. (WebCore::InheritedFlags::outlineColor):
  8571. (WebCore::InheritedFlags::textEmphasisColor):
  8572. (WebCore::InheritedFlags::textFillColor):
  8573. (WebCore::InheritedFlags::textStrokeColor):
  8574. (WebCore::InheritedFlags::stopColor):
  8575. (WebCore::InheritedFlags::floodColor):
  8576. (WebCore::InheritedFlags::lightingColor):
  8577. Made color getters return "Color" instead of "const Color&" since
  8578. BorderValue no longer has an actual object to return the reference to.
  8579. * css/CSSStyleApplyProperty.cpp:
  8580. (WebCore::ApplyPropertyColor::applyInheritValue):
  8581. * page/animation/AnimationBase.cpp:
  8582. (WebCore::PropertyWrapperColor::PropertyWrapperColor):
  8583. (WebCore::PropertyWrapperColor::blend):
  8584. (WebCore::PropertyWrapperMaybeInvalidColor::PropertyWrapperMaybeInvalidColor):
  8585. (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
  8586. (WebCore::AnimationBase::ensurePropertyMap):
  8587. Adapt to RenderStyle color getters now returning "Color" instead of
  8588. "const Color&".
  8589. 2011-10-07 Philippe Normand <pnormand@igalia.com>
  8590. [GStreamer] webkitwebsrc: avoid GST_BOILERPLATE_FULL
  8591. https://bugs.webkit.org/show_bug.cgi?id=69630
  8592. Reviewed by Martin Robinson.
  8593. Use G_DEFINE_TYPE_WITH_CODE instead of GST_BOILERPLATE_FULL and
  8594. replace use of gst_ghost_pad_new_no_target_from_template() and
  8595. gst_ghost_pad_set_target() with a single call to
  8596. gst_ghost_pad_new_from_template(). These changes keep the element
  8597. compatible with GStreamer 0.10 while preparing the port to 0.11.
  8598. * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
  8599. (webkit_web_src_class_init):
  8600. (webkit_web_src_init):
  8601. 2011-10-07 Martin Robinson <mrobinson@igalia.com>
  8602. [Freetype] Pseudo-italics do not work
  8603. https://bugs.webkit.org/show_bug.cgi?id=40856
  8604. Reviewed by Philippe Normand.
  8605. * platform/graphics/freetype/FontPlatformData.h: Add the font description as an argument initializeWithFontFace.
  8606. * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
  8607. (WebCore::FontPlatformData::FontPlatformData): Pass the font description to initializeWithFontFace.
  8608. (WebCore::FontPlatformData::initializeWithFontFace): If we were asked for an italic font and we were
  8609. given one that wasn't oblique or italic, activate the synthetic oblique bit.
  8610. 2011-10-07 Philippe Normand <pnormand@igalia.com>
  8611. [GStreamer] avoid direct access to GstMessage structure field
  8612. https://bugs.webkit.org/show_bug.cgi?id=69629
  8613. Reviewed by Martin Robinson.
  8614. Use gst_message_get_structure() instead of direct access to the
  8615. structure field. No direct benefit apart from compatibility with
  8616. GStreamer 0.11.
  8617. * platform/graphics/gstreamer/GStreamerGWorld.cpp:
  8618. (WebCore::gstGWorldSyncMessageCallback):
  8619. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  8620. (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
  8621. (WebCore::MediaPlayerPrivateGStreamer::mediaLocationChanged):
  8622. 2011-10-07 Pavel Feldman <pfeldman@google.com>
  8623. Web Inspector: add timeline panel to the compilation.
  8624. https://bugs.webkit.org/show_bug.cgi?id=69628
  8625. Reviewed by Yury Semikhatsky.
  8626. * inspector/compile-front-end.sh:
  8627. * inspector/front-end/SidebarTreeElement.js:
  8628. (WebInspector.SidebarTreeElement):
  8629. * inspector/front-end/SourceCSSTokenizer.js:
  8630. (WebInspector.SourceCSSTokenizer.prototype.nextToken):
  8631. * inspector/front-end/SourceCSSTokenizer.re2js:
  8632. * inspector/front-end/SourceHTMLTokenizer.js:
  8633. (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
  8634. * inspector/front-end/SourceHTMLTokenizer.re2js:
  8635. * inspector/front-end/SourceJavaScriptTokenizer.js:
  8636. (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
  8637. * inspector/front-end/SourceJavaScriptTokenizer.re2js:
  8638. * inspector/front-end/TimelineGrid.js:
  8639. * inspector/front-end/TimelineOverviewPane.js:
  8640. (WebInspector.TimelineOverviewPane.prototype._createTimelineCategoryStatusBarCheckbox):
  8641. * inspector/front-end/TimelinePanel.js:
  8642. (WebInspector.TimelinePanel.prototype._createEventDivider):
  8643. (WebInspector.TimelinePanel.prototype._addRecordToTimeline):
  8644. (WebInspector.TimelinePanel.prototype._findParentRecord):
  8645. (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
  8646. (WebInspector.TimelinePanel.prototype.updateMainViewWidth):
  8647. (WebInspector.TimelinePanel.prototype.onResize):
  8648. (WebInspector.TimelinePanel.prototype._windowChanged):
  8649. (WebInspector.TimelinePanel.prototype._refreshRecords):
  8650. (WebInspector.TimelineRecordGraphRow.prototype._onClick):
  8651. (WebInspector.TimelinePanel.FormattedRecord):
  8652. (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
  8653. (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
  8654. 2011-10-07 Sheriff Bot <webkit.review.bot@gmail.com>
  8655. Unreviewed, rolling out r96892.
  8656. http://trac.webkit.org/changeset/96892
  8657. https://bugs.webkit.org/show_bug.cgi?id=69626
  8658. it broke windows canary bots (Requested by podivilov on
  8659. #webkit).
  8660. * WebCore.gyp/scripts/rule_binding.py:
  8661. 2011-10-07 Andreas Kling <kling@webkit.org>
  8662. Shrink StyleInheritedData.
  8663. https://bugs.webkit.org/show_bug.cgi?id=69625
  8664. Reviewed by Antti Koivisto.
  8665. Rearrange the members of StyleInheritedData to fold as much
  8666. as possible into the padding at the end of RefCounted.
  8667. This shrinks StyleInheritedData by 8 bytes on 64-bit, reducing
  8668. memory consumption by 500 kB when loading the full HTML5 spec.
  8669. * rendering/style/StyleInheritedData.cpp:
  8670. (WebCore::StyleInheritedData::StyleInheritedData):
  8671. * rendering/style/StyleInheritedData.h:
  8672. 2011-10-07 Pavel Feldman <pfeldman@google.com>
  8673. Web Inspector: make ScriptsPanel compile
  8674. https://bugs.webkit.org/show_bug.cgi?id=69623
  8675. Reviewed by Yury Semikhatsky.
  8676. * inspector/compile-front-end.sh:
  8677. * inspector/front-end/CallStackSidebarPane.js:
  8678. (WebInspector.CallStackSidebarPane.prototype.update):
  8679. (WebInspector.CallStackSidebarPane.prototype._placardSelected):
  8680. * inspector/front-end/DebuggerModel.js:
  8681. * inspector/front-end/JavaScriptSourceFrame.js:
  8682. (WebInspector.JavaScriptSourceFrame):
  8683. * inspector/front-end/KeyboardShortcut.js:
  8684. * inspector/front-end/Object.js:
  8685. * inspector/front-end/ObjectPropertiesSection.js:
  8686. * inspector/front-end/ScopeChainSidebarPane.js:
  8687. (WebInspector.ScopeChainSidebarPane.prototype.update):
  8688. * inspector/front-end/ScriptsPanel.js:
  8689. (WebInspector.ScriptsPanel.prototype._setScriptSourceIsBeingEdited):
  8690. (WebInspector.ScriptsPanel.prototype._createSourceFrame):
  8691. (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
  8692. (WebInspector.SourceFrameDelegateForScriptsPanel):
  8693. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
  8694. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.debuggingSupported):
  8695. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setBreakpoint):
  8696. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.updateBreakpoint):
  8697. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.removeBreakpoint):
  8698. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.findBreakpoint):
  8699. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.continueToLine):
  8700. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.canEditScriptSource):
  8701. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSource):
  8702. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSourceIsBeingEdited):
  8703. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.debuggerPaused):
  8704. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.evaluateInSelectedCallFrame):
  8705. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.releaseEvaluationResult):
  8706. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
  8707. * inspector/front-end/StatusBarButton.js:
  8708. * inspector/front-end/WatchExpressionsSidebarPane.js:
  8709. (WebInspector.WatchExpressionsSection.prototype.update.appendResult):
  8710. (WebInspector.WatchExpressionsSection.prototype.update):
  8711. (WebInspector.WatchExpressionTreeElement.prototype.startEditing):
  8712. * inspector/front-end/WorkerManager.js:
  8713. (WebInspector.WorkerManager.prototype._openInspectorWindow):
  8714. (WebInspector.WorkerManager.prototype._pageInspectorClosing):
  8715. (WebInspector.DedicatedWorkerMessageForwarder.prototype._receiveMessage):
  8716. * inspector/front-end/WorkersSidebarPane.js:
  8717. (WebInspector.WorkersSidebarPane.prototype.removeWorker):
  8718. * inspector/front-end/externs.js:
  8719. (WebInspector.linkifyURL):
  8720. (InjectedFakeWorker):
  8721. * inspector/front-end/inspector.js:
  8722. 2011-10-07 Sheriff Bot <webkit.review.bot@gmail.com>
  8723. Unreviewed, rolling out r96879.
  8724. http://trac.webkit.org/changeset/96879
  8725. https://bugs.webkit.org/show_bug.cgi?id=69618
  8726. Broke CCLayerTreeHostTestShortlived1 on chromium mac.
  8727. (Requested by podivilov on #webkit).
  8728. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  8729. 2011-10-07 Pavel Feldman <pfeldman@google.com>
  8730. Web Inspector: add ResourcesPanel to the compilation.
  8731. https://bugs.webkit.org/show_bug.cgi?id=69612
  8732. Reviewed by Yury Semikhatsky.
  8733. * inspector/compile-front-end.sh:
  8734. * inspector/front-end/ApplicationCacheItemsView.js:
  8735. (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
  8736. * inspector/front-end/NetworkPanel.js:
  8737. * inspector/front-end/ResourceView.js:
  8738. * inspector/front-end/ResourcesPanel.js:
  8739. (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
  8740. (WebInspector.ResourcesPanel.prototype.showResource):
  8741. (WebInspector.BaseStorageTreeElement.prototype.isEventWithinDisclosureTriangle):
  8742. (WebInspector.FrameTreeElement.prototype.frameNavigated):
  8743. (WebInspector.StorageCategoryView):
  8744. (WebInspector.SearchResultsTreeElementsTraverser.prototype.last):
  8745. * inspector/front-end/externs.js:
  8746. (WebInspector.openRequestInNetworkPanel):
  8747. 2011-10-07 Sheriff Bot <webkit.review.bot@gmail.com>
  8748. Unreviewed, rolling out r96909.
  8749. http://trac.webkit.org/changeset/96909
  8750. https://bugs.webkit.org/show_bug.cgi?id=69616
  8751. Broke chromium mac compilation (Requested by podivilov on
  8752. #webkit).
  8753. * platform/graphics/chromium/ContentLayerChromium.h:
  8754. 2011-10-07 Vsevolod Vlasov <vsevik@chromium.org>
  8755. Web Inspector: Element highlighting does not highlight padding/border/margin for inline elements.
  8756. https://bugs.webkit.org/show_bug.cgi?id=69558
  8757. Reviewed by Pavel Feldman.
  8758. * inspector/DOMNodeHighlighter.cpp:
  8759. 2011-10-07 Mario Sanchez Prada <msanchez@igalia.com>
  8760. [GTK] Don't expose objects with unknown role on GTK
  8761. https://bugs.webkit.org/show_bug.cgi?id=69561
  8762. Reviewed by Chris Fleizach.
  8763. Ignore accessibility objects in accessibilityPlatformIncludesObject.
  8764. Test: platform/gtk/accessibility/unknown-roles-not-exposed.html
  8765. * accessibility/gtk/AccessibilityObjectAtk.cpp:
  8766. (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
  8767. For unknown accessibility objects, return IgnoreObject.
  8768. 2011-10-07 Pavel Feldman <pfeldman@chromium.org>
  8769. Web Inspector: add Elements and Network panels to the compilation
  8770. https://bugs.webkit.org/show_bug.cgi?id=69604
  8771. Reviewed by Yury Semikhatsky.
  8772. * inspector/compile-front-end.sh:
  8773. * inspector/front-end/BreakpointsSidebarPane.js:
  8774. (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked):
  8775. (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked):
  8776. * inspector/front-end/DOMAgent.js:
  8777. * inspector/front-end/DOMBreakpointsSidebarPane.js:
  8778. * inspector/front-end/DataGrid.js:
  8779. (WebInspector.DataGrid.prototype._startEditingConfig):
  8780. * inspector/front-end/Drawer.js:
  8781. * inspector/front-end/ElementsPanel.js:
  8782. (WebInspector.ElementsPanel.prototype._hideSearchHighlights):
  8783. (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
  8784. (WebInspector.ElementsPanel.prototype.updateBreadcrumbSizes.collapseDimmed):
  8785. (WebInspector.ElementsPanel.prototype.updateBreadcrumbSizes):
  8786. (WebInspector.ElementsPanel.prototype._registerShortcuts):
  8787. * inspector/front-end/ElementsTreeOutline.js:
  8788. (WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
  8789. (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
  8790. (WebInspector.ElementsTreeElement.prototype._startEditingTagName):
  8791. (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
  8792. * inspector/front-end/GoToLineDialog.js:
  8793. (WebInspector.GoToLineDialog._show):
  8794. * inspector/front-end/MetricsSidebarPane.js:
  8795. (WebInspector.MetricsSidebarPane.prototype.startEditing):
  8796. * inspector/front-end/NetworkPanel.js:
  8797. (WebInspector.NetworkLogView.prototype._onLoadEventFired):
  8798. (WebInspector.NetworkLogView.prototype._domContentLoadedEventFired):
  8799. (WebInspector.NetworkLogView.prototype._updateOffscreenRows):
  8800. (WebInspector.NetworkLogView.prototype._removeAllNodeHighlights):
  8801. (WebInspector.NetworkPanel.prototype._resourceByAnchor):
  8802. (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
  8803. * inspector/front-end/ObjectPropertiesSection.js:
  8804. (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
  8805. * inspector/front-end/Panel.js:
  8806. * inspector/front-end/Popover.js:
  8807. * inspector/front-end/SourceFrame.js:
  8808. (WebInspector.SourceFrame.prototype._editBreakpointCondition):
  8809. * inspector/front-end/StylesSidebarPane.js:
  8810. (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
  8811. (WebInspector.StylePropertyTreeElement.prototype):
  8812. * inspector/front-end/TimelineGrid.js:
  8813. * inspector/front-end/UIUtils.js:
  8814. (WebInspector.EditingConfig):
  8815. (WebInspector.startEditing.editingCancelled):
  8816. (WebInspector.startEditing.editingCommitted):
  8817. (WebInspector.formatLocalized):
  8818. (WebInspector.openLinkExternallyLabel):
  8819. (WebInspector.openInNetworkPanelLabel):
  8820. (WebInspector.copyLinkAddressLabel):
  8821. * inspector/front-end/externs.js:
  8822. (WebInspector.extensionServer.notifyObjectSelected):
  8823. (WebInspector.openResource):
  8824. * inspector/front-end/inspector.js:
  8825. (WebInspector.resourceForURL):
  8826. 2011-10-07 Anna Cavender <annacc@chromium.org>
  8827. Change enum value names for TextTrack::readyState and TextTrack::mode
  8828. https://bugs.webkit.org/show_bug.cgi?id=69603
  8829. Reviewed by David Levin.
  8830. No new tests. No new functionality.
  8831. * html/LoadableTextTrack.cpp:
  8832. (WebCore::LoadableTextTrack::trackLoadStarted):
  8833. (WebCore::LoadableTextTrack::trackLoadError):
  8834. (WebCore::LoadableTextTrack::trackLoadCompleted):
  8835. * html/TextTrack.cpp:
  8836. (WebCore::TextTrack::TextTrack):
  8837. (WebCore::TextTrack::setMode):
  8838. * html/TextTrack.h:
  8839. 2011-10-07 Anna Cavender <annacc@chromium.org>
  8840. Adding parens in WebVTTParser.cpp to appease compiler preferences.
  8841. https://bugs.webkit.org/show_bug.cgi?id=69602
  8842. Reviewed by David Levin.
  8843. No new tests. No new functionality.
  8844. * html/track/WebVTTParser.cpp:
  8845. (WebCore::WebVTTParser::constructTreeFromToken):
  8846. 2011-10-06 Antoine Labour <piman@chromium.org>
  8847. Webkit API for compositor
  8848. https://bugs.webkit.org/show_bug.cgi?id=69107
  8849. Reviewed by Darin Fisher.
  8850. Covered by existing compositing tests.
  8851. * platform/graphics/chromium/ContentLayerChromium.h:
  8852. 2011-10-06 Kent Tamura <tkent@chromium.org>
  8853. Remove SelectElement class
  8854. https://bugs.webkit.org/show_bug.cgi?id=69518
  8855. Reviewed by Ryosuke Niwa.
  8856. SelectElement used to be an abstract class for HTMLSelectElement
  8857. and WMLSelectElement. SelectElement is not needed anymore because
  8858. WML was removed.
  8859. This patch just removes SelectElement by moving SelectElement
  8860. functions to HTMLSelectElement.
  8861. No new tests. Just a refactoring.
  8862. * WebCore.vcproj/WebCore.vcproj:
  8863. Rename dom\SelectElementWin.cpp to html\HTMLSelectElementWin.cpp.
  8864. * accessibility/AccessibilityListBoxOption.cpp:
  8865. (WebCore::AccessibilityListBoxOption::setSelected):
  8866. Remove unnecessary cast.
  8867. * accessibility/AccessibilityRenderObject.cpp:
  8868. (WebCore::AccessibilityRenderObject::stringValue):
  8869. Use HTMLSelectElement instead of SelectElement.
  8870. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
  8871. (optionFromSelection): ditto.
  8872. (webkit_accessible_selection_get_selection_count): ditto.
  8873. * accessibility/gtk/AXObjectCacheAtk.cpp:
  8874. (notifyChildrenSelectionChange): ditto.
  8875. * dom/OptionElement.cpp:
  8876. (WebCore::OptionElement::optionIndex): ditto.
  8877. * dom/OptionElement.h: ditto.
  8878. * dom/SelectElement.cpp:
  8879. (WebCore::SelectElementData::checkListItems): ditto.
  8880. (WebCore::SelectElementData::listItems): ditto.
  8881. * dom/SelectElementWin.cpp: Removed.
  8882. * dom/SelectElement.h: Removed SelectElement class declaration.
  8883. * html/HTMLSelectElement.cpp: Move functions from SelectElement.cpp.
  8884. (WebCore::HTMLSelectElement::selectedIndex):
  8885. Removed 'SelectElement::' because the function is moved to HTMLSelectElement.
  8886. (WebCore::HTMLSelectElement::deselectItems): dito.
  8887. (WebCore::HTMLSelectElement::setSelectedIndex): dito.
  8888. (WebCore::HTMLSelectElement::setSelectedIndexByUser): ditto.
  8889. (WebCore::HTMLSelectElement::activeSelectionEndListIndex): ditto.
  8890. (WebCore::HTMLSelectElement::length): ditto.
  8891. (WebCore::HTMLSelectElement::saveFormControlState): ditto.
  8892. (WebCore::HTMLSelectElement::restoreFormControlState): ditto.
  8893. (WebCore::HTMLSelectElement::parseMappedAttribute): ditto.
  8894. (WebCore::HTMLSelectElement::selectAll): ditto.
  8895. (WebCore::HTMLSelectElement::appendFormData): ditto.
  8896. (WebCore::HTMLSelectElement::optionToListIndex): ditto.
  8897. (WebCore::HTMLSelectElement::listToOptionIndex): ditto.
  8898. (WebCore::HTMLSelectElement::recalcListItems): ditto.
  8899. (WebCore::HTMLSelectElement::setRecalcListItems): ditto.
  8900. (WebCore::HTMLSelectElement::reset): ditto.
  8901. (WebCore::HTMLSelectElement::dispatchFocusEvent): ditto.
  8902. (WebCore::HTMLSelectElement::dispatchBlurEvent): ditto.
  8903. (WebCore::HTMLSelectElement::defaultEventHandler): ditto.
  8904. (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex): ditto.
  8905. (WebCore::HTMLSelectElement::setActiveSelectionEndIndex): ditto.
  8906. (WebCore::HTMLSelectElement::updateListBoxSelection): ditto.
  8907. (WebCore::HTMLSelectElement::menuListOnChange): ditto.
  8908. (WebCore::HTMLSelectElement::listBoxOnChange): ditto.
  8909. (WebCore::HTMLSelectElement::saveLastSelection): ditto.
  8910. (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): ditto.
  8911. (WebCore::HTMLSelectElement::scrollToSelection): ditto.
  8912. (WebCore::HTMLSelectElement::insertedIntoTree): ditto.
  8913. (WebCore::nextValidIndex): Moved from SelectElement.cpp.
  8914. (WebCore::nextSelectableListIndex): ditto.
  8915. (WebCore::previousSelectableListIndex): ditto.
  8916. (WebCore::firstSelectableListIndex): ditto.
  8917. (WebCore::lastSelectableListIndex): ditto.
  8918. (WebCore::nextSelectableListIndexPageAway): ditto.
  8919. (WebCore::HTMLSelectElement::setOptionsChangedOnRenderer): ditto.
  8920. (WebCore::HTMLSelectElement::parseMultipleAttribute): ditto.
  8921. (WebCore::HTMLSelectElement::platformHandleKeydownEvent): ditto.
  8922. (WebCore::HTMLSelectElement::menuListDefaultEventHandler): ditto.
  8923. (WebCore::HTMLSelectElement::updateSelectedState): ditto.
  8924. (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): ditto.
  8925. (WebCore::HTMLSelectElement::lastSelectedListIndex): ditto.
  8926. (WebCore::stripLeadingWhiteSpace): ditto.
  8927. (WebCore::HTMLSelectElement::typeAheadFind): ditto.
  8928. (WebCore::HTMLSelectElement::optionCount): ditto.
  8929. (WebCore::toSelectElement): ditto.
  8930. * html/HTMLSelectElementWin.cpp: Copied from Source/WebCore/dom/SelectElementWin.cpp.
  8931. (WebCore::HTMLSelectElement::platformHandleKeydownEvent):
  8932. * html/HTMLSelectElement.h: Removed 'virtual' of SelectElement functions.
  8933. (WebCore::HTMLSelectElement::size):
  8934. (WebCore::HTMLSelectElement::multiple):
  8935. (WebCore::HTMLSelectElement::listItems):
  8936. (WebCore::HTMLSelectElement::updateValidity):
  8937. * rendering/RenderListBox.cpp: Replace SelectElement with HTMLSelectElement
  8938. (WebCore::RenderListBox::RenderListBox):
  8939. (WebCore::RenderListBox::scrollToRevealSelection):
  8940. (WebCore::RenderListBox::addFocusRingRects):
  8941. (WebCore::RenderListBox::paintItemForeground):
  8942. (WebCore::RenderListBox::paintItemBackground):
  8943. (WebCore::RenderListBox::panScroll):
  8944. (WebCore::RenderListBox::autoscroll):
  8945. (WebCore::RenderListBox::valueChanged):
  8946. * rendering/RenderMenuList.cpp: Replace SelectElement with HTMLSelectElement
  8947. (WebCore::RenderMenuList::RenderMenuList):
  8948. (WebCore::RenderMenuList::setTextFromOption):
  8949. (WebCore::RenderMenuList::showPopup):
  8950. (WebCore::RenderMenuList::valueChanged):
  8951. (WebCore::RenderMenuList::listBoxSelectItem):
  8952. (WebCore::RenderMenuList::multiple):
  8953. (WebCore::RenderMenuList::didSetSelectedIndex):
  8954. (WebCore::RenderMenuList::didUpdateActiveOption):
  8955. (WebCore::RenderMenuList::itemText):
  8956. (WebCore::RenderMenuList::itemAccessibilityText):
  8957. (WebCore::RenderMenuList::itemToolTip):
  8958. (WebCore::RenderMenuList::itemIsEnabled):
  8959. (WebCore::RenderMenuList::itemStyle):
  8960. (WebCore::RenderMenuList::itemBackgroundColor):
  8961. (WebCore::RenderMenuList::listSize):
  8962. (WebCore::RenderMenuList::selectedIndex):
  8963. (WebCore::RenderMenuList::itemIsSeparator):
  8964. (WebCore::RenderMenuList::itemIsLabel):
  8965. (WebCore::RenderMenuList::itemIsSelected):
  8966. (WebCore::RenderMenuList::setTextFromItem):
  8967. 2011-10-06 Sheriff Bot <webkit.review.bot@gmail.com>
  8968. Unreviewed, rolling out r96896.
  8969. http://trac.webkit.org/changeset/96896
  8970. https://bugs.webkit.org/show_bug.cgi?id=69601
  8971. broke windows and mac chromium builds (Requested by simonjam
  8972. on #webkit).
  8973. * platform/graphics/chromium/ContentLayerChromium.h:
  8974. 2011-10-06 Antoine Labour <piman@chromium.org>
  8975. Webkit API for compositor
  8976. https://bugs.webkit.org/show_bug.cgi?id=69107
  8977. Reviewed by Darin Fisher.
  8978. Covered by existing compositing tests.
  8979. * platform/graphics/chromium/ContentLayerChromium.h:
  8980. 2011-10-06 Joseph Pecoraro <joepeck@webkit.org>
  8981. Reviewed by Kent Tamura.
  8982. Pass "accept" mime type information into FileChooser at all call sites
  8983. https://bugs.webkit.org/show_bug.cgi?id=69592
  8984. No new tests. This only exposes some more information to
  8985. WebKit ports, no functionality change in WebCore.
  8986. * html/FileInputType.cpp:
  8987. (WebCore::FileInputType::receiveDropForDirectoryUpload):
  8988. 2011-10-06 Kent Tamura <tkent@chromium.org>
  8989. [JSC binding] Fix inconsistent behavior of DOMStringMap
  8990. https://bugs.webkit.org/show_bug.cgi?id=53752
  8991. Reviewed by Darin Adler.
  8992. The dataset behavior was inconsistent. The get operation handled
  8993. data-* attributes first, and the put and delete operations handled
  8994. JavaScript properties first.
  8995. Like Firefox and Opera, the put and delete operations should
  8996. handle data-* attribute first.
  8997. * bindings/js/JSDOMStringMapCustom.cpp:
  8998. (WebCore::JSDOMStringMap::deleteProperty):
  8999. Handles DOMStringMap first, then returns false if the DOMStringMap makes an error.
  9000. (WebCore::JSDOMStringMap::putDelegate): ditto.
  9001. 2011-10-06 Nico Weber <thakis@chromium.org>
  9002. [chromium] Let rule_binding use os.execvp() instead of subprocess.call() to spawn fewer processes.
  9003. https://bugs.webkit.org/show_bug.cgi?id=69589
  9004. Reviewed by Adam Barth.
  9005. When building with `make -j40`, all the binding rules are built en bloc. Since this script currently
  9006. uses subprocess.call(), that actually spawns 80 processes at once. OS X has a max process limit of
  9007. 255 by default, so the build used to fail with
  9008. "open2: fork failed: Resource temporarily unavailable at ../bindings/scripts/preprocessor.pm line 60"
  9009. As a fix, use execvp() instead, which replaces the current process instead of spawning a new one.
  9010. * WebCore.gyp/scripts/rule_binding.py:
  9011. 2011-10-06 Anders Carlsson <andersca@apple.com>
  9012. When building with clang, enable -Wglobal-constructors and -Wexit-time-destructors
  9013. https://bugs.webkit.org/show_bug.cgi?id=69586
  9014. Reviewed by Darin Adler.
  9015. * Configurations/Base.xcconfig:
  9016. Add -Wglobal-constructors and -Wexit-time-destructors when building with clang.
  9017. * WebCore.xcodeproj/project.pbxproj:
  9018. When building with clang, we don't need to run the check-for-global-initializers and
  9019. check-for-exit-time-destructors anymore.
  9020. * platform/graphics/filters/FEGaussianBlur.cpp:
  9021. (gaussianKernelFactor):
  9022. (WebCore::FEGaussianBlur::calculateKernelSize):
  9023. (WebCore::FEGaussianBlur::calculateStdDeviation):
  9024. Change the gaussian kernel factor global to be an inline function instead.
  9025. 2011-10-06 Anders Carlsson <andersca@apple.com>
  9026. Add DEFINE_DEBUG_ONLY_GLOBAL for globals that should be defined in debug builds
  9027. https://bugs.webkit.org/show_bug.cgi?id=69584
  9028. Reviewed by Darin Adler.
  9029. Adopt the DEFINE_DEBUG_ONLY_GLOBAL macro.
  9030. * bindings/js/JSLazyEventListener.cpp:
  9031. * dom/Node.cpp:
  9032. * dom/Range.cpp:
  9033. * history/CachedPage.cpp:
  9034. * loader/SubresourceLoader.cpp:
  9035. * loader/cache/CachedResource.cpp:
  9036. * page/Frame.cpp:
  9037. * page/Page.cpp:
  9038. * rendering/BidiRun.cpp:
  9039. * rendering/RenderObject.cpp:
  9040. * svg/SVGElementInstance.cpp:
  9041. * xml/XMLHttpRequest.cpp:
  9042. 2011-10-06 James Robinson <jamesr@chromium.org>
  9043. [chromium] Remove USE(THREADED_COMPOSITING) from the tree
  9044. https://bugs.webkit.org/show_bug.cgi?id=69489
  9045. Reviewed by Darin Fisher.
  9046. This macro isn't needed any more since the logic it guarded is guarded by a runtime switch.
  9047. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  9048. 2011-10-06 David Grogan <dgrogan@chromium.org>
  9049. Return null for the value of IDB key cursors instead of ASSERTing
  9050. https://bugs.webkit.org/show_bug.cgi?id=69131
  9051. This is in support of the IndexedDB performance improvement here:
  9052. http://codereview.chromium.org/7834006/
  9053. Reviewed by Tony Chang.
  9054. * storage/IDBCursorBackendImpl.cpp:
  9055. (WebCore::IDBCursorBackendImpl::value):
  9056. 2011-10-06 Alexey Proskuryakov <ap@apple.com>
  9057. [Mac] Should be able to scroll embedded PDFs using mouse
  9058. https://bugs.webkit.org/show_bug.cgi?id=69579
  9059. Reviewed by Darin Adler.
  9060. Hit testing doesn't find scrollbars installed by a plug-in, so mouse events don't work.
  9061. As we want to use WebKit scrollbars with PDF plug-in, a cleaner long-term solution would be
  9062. to have a base class under PluginViewBase that can handle scrolling instead of doing that
  9063. in PluginView and Plugin.
  9064. * plugins/PluginViewBase.h:
  9065. (WebCore::PluginViewBase::horizontalScrollbar):
  9066. (WebCore::PluginViewBase::verticalScrollbar):
  9067. Added accessors for scrollbars installed by plug-in.
  9068. * rendering/nodeAtPoint.cpp: (WebCore::RenderEmbeddedObject::nodeAtPoint):
  9069. Like RenderLayer, add scrollbars to hit result after normal hit testing.
  9070. * rendering/RenderEmbeddedObject.h: Added a nodeAtPoint override.
  9071. * rendering/RenderWidget.h: Made nodeAtPoint() protected instead of private, so that
  9072. RenderEmbeddedObject could call it.
  9073. 2011-10-06 Dan Bernstein <mitz@apple.com>
  9074. <rdar://problem/9717490> Flash of white when navigating daringfireball.net
  9075. https://bugs.webkit.org/show_bug.cgi?id=69581
  9076. Reviewed by Darin Adler.
  9077. * platform/ScrollView.cpp:
  9078. (WebCore::ScrollView::updateScrollbars): Moved the calls to Scrollbar::setEnabled() into the code
  9079. section where invalidation is suppressed if necessary, so that they do not trigger premature invalidation.
  9080. 2011-10-06 Dan Bernstein <mitz@apple.com>
  9081. Added a comment explaining code added in r96834.
  9082. Suggested by Darin Adler.
  9083. * editing/FrameSelection.cpp:
  9084. (WebCore::FrameSelection::updateAppearance):
  9085. 2011-10-05 Ryosuke Niwa <rniwa@webkit.org>
  9086. Deleting line break before h1 converts h1 to span
  9087. https://bugs.webkit.org/show_bug.cgi?id=45784
  9088. Reviewed by Enrica Casucci.
  9089. This patch fundamentally alters the kind of styles we preserve while merging or moving paragraphs.
  9090. StylizedMarkupAccumulator no longer wraps nodes by computed style when it's not annotating for interchange.
  9091. Instead, it accumulates implicit and inline styles of ancestors of the serialized contents.
  9092. The most significant code change is in StyledMarkupAccumulator::serializeNodes where we setup m_wrappingStyle
  9093. by merging implicit and inline style of ancestors with mergeInlineAndImplicitStyleOfElement. Because it walks up
  9094. the DOM tree upwards, it should not be overriding any CSS properties. Consequently, mergeStyle,
  9095. mergeInlineStyleOfElement, and mergeInlineAndImplicitStyleOfElement are modified to take CSSPropertyOverrideMode.
  9096. New behavior matches that of Internet Explorer and Firefox when merging paragraphs.
  9097. Tests: editing/deleting/merge-paragraph-from-address.html
  9098. editing/deleting/merge-paragraph-from-h6-with-style-2.html
  9099. editing/deleting/merge-paragraph-from-h6-with-style.html
  9100. editing/deleting/merge-paragraph-from-h6.html
  9101. editing/deleting/merge-paragraph-from-listing.html
  9102. editing/deleting/merge-paragraph-from-p-with-style-2.html
  9103. editing/deleting/merge-paragraph-from-p-with-style-3.html
  9104. editing/deleting/merge-paragraph-from-p-with-style.html
  9105. editing/deleting/merge-paragraph-into-h1-with-style.html
  9106. editing/deleting/merge-paragraph-into-h1.html
  9107. editing/deleting/merge-paragraph-into-pre.html
  9108. * css/CSSValueList.cpp:
  9109. (WebCore::CSSValueList::hasValue): Made const.
  9110. * css/CSSValueList.h:
  9111. * editing/ApplyStyleCommand.cpp:
  9112. (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Calls mergeInlineStyleOfElement.
  9113. (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Ditto.
  9114. * editing/EditingStyle.cpp:
  9115. (WebCore::copyEditingProperties): Takes a boolean includeBackgroundColor.
  9116. (WebCore::isEditingProperty): Extracted from elementIsStyledSpanOrHTMLEquivalent.
  9117. (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent): Calls isEditingProperty.
  9118. (WebCore::EditingStyle::mergeTypingStyle): Calls mergeStyle.
  9119. (WebCore::EditingStyle::mergeInlineStyleOfElement): Takes CSSPropertyOverrideMode.
  9120. (WebCore::elementMatchesAndPropertyIsNotInInlineStyleDecl): Added.
  9121. (WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement): Added.
  9122. (WebCore::mergeTextDecorationValues): Extracted from mergeStyle.
  9123. (WebCore::EditingStyle::mergeStyle): Takes CSSPropertyOverrideMode.
  9124. * editing/EditingStyle.h:
  9125. * editing/ReplaceSelectionCommand.cpp:
  9126. (WebCore::nodeToSplitToAvoidPastingIntoInlineNodesWithStyle): Extracted from doApply.
  9127. (WebCore::ReplaceSelectionCommand::doApply): Calls nodeToSplitToAvoidPastingIntoInlineNodesWithStyle.
  9128. (WebCore::ReplaceSelectionCommand::performTrivialReplace): Exit early when we need to split the tree to avoid
  9129. pasting into inline nodes with style. Also remove a collapsed or spurious br.
  9130. * editing/markup.cpp:
  9131. (WebCore::StyledMarkupAccumulator::serializeNodes):
  9132. 2011-10-06 Abhishek Arya <inferno@chromium.org>
  9133. Crash in VisiblePosition::canonicalPosition.
  9134. https://bugs.webkit.org/show_bug.cgi?id=69568
  9135. Reviewed by Ryosuke Niwa.
  9136. Move the position's containerNode calculation after layout is
  9137. complete(in updateLayoutIgnorePendingStylesheets).
  9138. Test: editing/selection/selection-plugin-clear-crash.html
  9139. * editing/VisiblePosition.cpp:
  9140. (WebCore::VisiblePosition::canonicalPosition):
  9141. 2011-10-06 Sheriff Bot <webkit.review.bot@gmail.com>
  9142. Unreviewed, rolling out r96861.
  9143. http://trac.webkit.org/changeset/96861
  9144. https://bugs.webkit.org/show_bug.cgi?id=69573
  9145. This patch didn't compile on windows (Requested by annacc on
  9146. #webkit).
  9147. * html/track/WebVTTParser.cpp:
  9148. (WebCore::WebVTTParser::constructTreeFromToken):
  9149. 2011-10-06 Anna Cavender <annacc@chromium.org>
  9150. Adding parens in WebVTTParser.cpp to appease compiler preferences.
  9151. https://bugs.webkit.org/show_bug.cgi?id=69460
  9152. Reviewed by David Levin.
  9153. No new tests. No new functionality.
  9154. * html/track/WebVTTParser.cpp:
  9155. (WebCore::WebVTTParser::constructTreeFromToken):
  9156. 2011-10-06 Fady Samuel <fsamuel@chromium.org>
  9157. Code clean-up: Make RenderObject::absoluteBoundingBoxRect and associated methods const and make its parameter useTransforms no longer default to false
  9158. https://bugs.webkit.org/show_bug.cgi?id=69009
  9159. Reviewed by Simon Fraser.
  9160. Upcoming patches may make use of absoluteBoundingBoxRect on a const RenderObject, so this needed to be fixed.
  9161. Making useTransforms default to true instead of false and replacing instances of absoluteBoundingBoxRect() to
  9162. absoluteBoundingBoxRectIgnoringTransforms() partially addreses // FIXME: useTransforms should go away eventually.
  9163. * WebCore.exp.in:
  9164. * dom/Element.cpp:
  9165. (WebCore::Element::screenRect):
  9166. * dom/Node.cpp:
  9167. (WebCore::Node::getRect):
  9168. (WebCore::Node::renderRect):
  9169. * html/shadow/SliderThumbElement.cpp:
  9170. (WebCore::SliderThumbElement::setPositionFromPoint):
  9171. * html/shadow/TextControlInnerElements.cpp:
  9172. (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
  9173. * inspector/DOMNodeHighlighter.cpp:
  9174. * plugins/IFrameShimSupport.cpp:
  9175. (WebCore::getPluginOcclusions):
  9176. * rendering/RenderBlock.cpp:
  9177. (WebCore::RenderBlock::absoluteRects):
  9178. (WebCore::RenderBlock::absoluteQuads):
  9179. * rendering/RenderBlock.h:
  9180. * rendering/RenderBox.cpp:
  9181. (WebCore::RenderBox::absoluteRects):
  9182. (WebCore::RenderBox::absoluteQuads):
  9183. * rendering/RenderBox.h:
  9184. * rendering/RenderFileUploadControl.cpp:
  9185. (WebCore::RenderFileUploadControl::paintObject):
  9186. * rendering/RenderIFrame.cpp:
  9187. (WebCore::RenderIFrame::flattenFrame):
  9188. * rendering/RenderInline.cpp:
  9189. (WebCore::RenderInline::absoluteRects):
  9190. (WebCore::RenderInline::culledInlineAbsoluteRects):
  9191. (WebCore::RenderInline::absoluteQuads):
  9192. (WebCore::RenderInline::culledInlineAbsoluteQuads):
  9193. * rendering/RenderInline.h:
  9194. * rendering/RenderMenuList.cpp:
  9195. (WebCore::RenderMenuList::showPopup):
  9196. * rendering/RenderObject.cpp:
  9197. (WebCore::RenderObject::absoluteBoundingBoxRect):
  9198. (WebCore::RenderObject::addAbsoluteRectForLayer):
  9199. (WebCore::RenderObject::paintingRootRect):
  9200. * rendering/RenderObject.h:
  9201. (WebCore::RenderObject::absoluteRects):
  9202. (WebCore::RenderObject::absoluteBoundingBoxRectIgnoringTransforms):
  9203. (WebCore::RenderObject::absoluteQuads):
  9204. * rendering/RenderText.cpp:
  9205. (WebCore::RenderText::absoluteRects):
  9206. (WebCore::RenderText::absoluteQuads):
  9207. * rendering/RenderText.h:
  9208. * rendering/RenderTextControlSingleLine.cpp:
  9209. (WebCore::RenderTextControlSingleLine::showPopup):
  9210. * rendering/RenderThemeSafari.cpp:
  9211. (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
  9212. (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
  9213. (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
  9214. * rendering/RenderView.cpp:
  9215. (WebCore::RenderView::absoluteRects):
  9216. (WebCore::RenderView::absoluteQuads):
  9217. * rendering/RenderView.h:
  9218. * rendering/svg/RenderSVGBlock.cpp:
  9219. (WebCore::RenderSVGBlock::absoluteRects):
  9220. * rendering/svg/RenderSVGBlock.h:
  9221. * rendering/svg/RenderSVGHiddenContainer.cpp:
  9222. (WebCore::RenderSVGHiddenContainer::absoluteQuads):
  9223. * rendering/svg/RenderSVGHiddenContainer.h:
  9224. * rendering/svg/RenderSVGInline.cpp:
  9225. (WebCore::RenderSVGInline::absoluteQuads):
  9226. * rendering/svg/RenderSVGInline.h:
  9227. * rendering/svg/RenderSVGModelObject.cpp:
  9228. (WebCore::RenderSVGModelObject::absoluteRects):
  9229. (WebCore::RenderSVGModelObject::absoluteQuads):
  9230. * rendering/svg/RenderSVGModelObject.h:
  9231. * rendering/svg/RenderSVGText.cpp:
  9232. (WebCore::RenderSVGText::absoluteQuads):
  9233. * rendering/svg/RenderSVGText.h:
  9234. * testing/Internals.cpp:
  9235. (WebCore::Internals::boundingBox):
  9236. 2011-10-06 Simon Hausmann <simon.hausmann@nokia.com>
  9237. [Qt][Wk2] Fix build with Qt 5 when QtScript is built as standalone module
  9238. https://bugs.webkit.org/show_bug.cgi?id=69520
  9239. Reviewed by Csaba Osztrogonác.
  9240. * WebCore.pri: Use qt5 scope.
  9241. * WebCore.pro: Use qt5 scope and pull in QtScript for the time being.
  9242. 2011-10-06 Tony Chang <tony@chromium.org>
  9243. last frame of a multipart response is not displayed
  9244. https://bugs.webkit.org/show_bug.cgi?id=69449
  9245. Reviewed by Adam Barth.
  9246. Test: http/tests/multipart/load-last-non-html-frame.php
  9247. * loader/DocumentLoader.cpp:
  9248. (WebCore::DocumentLoader::maybeFinishLoadingMultipartContent): for non-progressive load pages, commit the load so the
  9249. last frame will be displayed.
  9250. * loader/DocumentLoader.h:
  9251. * loader/MainResourceLoader.cpp:
  9252. (WebCore::MainResourceLoader::didFinishLoading):
  9253. 2011-10-06 Gavin Peters <gavinp@chromium.org>
  9254. conditionalize m_cachedScript stacks to just Chromium port
  9255. https://bugs.webkit.org/show_bug.cgi?id=69537
  9256. New stack saving telemetry code in ScriptElement shouldn't have
  9257. been put in all ports; just narrowing it to the chromium port will
  9258. save other ports the memory hit of this diagnostic code.
  9259. Reviewed by Nate Chapin.
  9260. No new tests.
  9261. * dom/ScriptElement.cpp:
  9262. (WebCore::ScriptElement::ScriptElement):
  9263. (WebCore::ScriptElement::requestScript):
  9264. (WebCore::ScriptElement::stopLoadRequest):
  9265. (WebCore::ScriptElement::notifyFinished):
  9266. * dom/ScriptElement.h:
  9267. 2011-10-06 Arthur Hsu <arthurhsu@chromium.org>
  9268. Ensure font loaded before calling Skia to drawPosText in Chrome sandbox
  9269. https://bugs.webkit.org/show_bug.cgi?id=69370
  9270. Reviewed by James Robinson.
  9271. * platform/graphics/chromium/FontChromiumWin.cpp:
  9272. (WebCore::Font::drawGlyphs):
  9273. 2011-10-06 Chris Rogers <crogers@google.com>
  9274. BiquadFilterNode must not reset filter state if type attribute is set to the same type
  9275. https://bugs.webkit.org/show_bug.cgi?id=69485
  9276. Reviewed by Kenneth Russell.
  9277. No new tests. This particular case is difficult to test with a layout test using OfflineAudioContext.
  9278. * webaudio/BiquadProcessor.cpp:
  9279. (WebCore::BiquadProcessor::setType):
  9280. * webaudio/BiquadProcessor.h:
  9281. 2011-10-06 Raphael Kubo da Costa <kubo@profusion.mobi>
  9282. [EFL] Do not create cairo surfaces with the wrong size for form elements
  9283. https://bugs.webkit.org/show_bug.cgi?id=69533
  9284. Reviewed by Ryosuke Niwa.
  9285. RenderThemeEfl::cacheThemePartResizeAndReset resizes the Ecore_Evas
  9286. associated with an entry, but did not reset the `size` attribute of the
  9287. struct -- in practice, this meant the subsequent call to
  9288. themePartCacheEntrySurfaceCreate would create a cairo surface with the
  9289. previous size, thus rendering an element with the wrong size.
  9290. No new tests, this is triggered by running running pixel tests for
  9291. running, in this order, fast/forms/button-sizes.html,
  9292. fast/forms/input-appearance-preventDefault.html,
  9293. fast/forms/input-appearance-spinbutton-disabled-readonly.html,
  9294. fast/forms/input-appearance-width.html,
  9295. fast/forms/input-button-sizes.html,
  9296. fast/forms/input-placeholder-text-indent.html and
  9297. fast/forms/input-text-click-inside.html (!).
  9298. * platform/efl/RenderThemeEfl.cpp:
  9299. (WebCore::RenderThemeEfl::cacheThemePartResizeAndReset): Reset the
  9300. size attribute when resizing the canvas.
  9301. 2011-10-06 Chris Rogers <crogers@google.com>
  9302. Make sure OfflineAudioContext can not be created with a sample-rate less than 44.1KHz
  9303. https://bugs.webkit.org/show_bug.cgi?id=69483
  9304. Reviewed by Kenneth Russell.
  9305. No new tests.
  9306. * webaudio/AudioBuffer.cpp:
  9307. (WebCore::AudioBuffer::create):
  9308. * webaudio/AudioContext.cpp:
  9309. (WebCore::AudioContext::createBuffer):
  9310. 2011-10-06 David Hyatt <hyatt@apple.com>
  9311. https://bugs.webkit.org/show_bug.cgi?id=69544
  9312. [CSS3 Regions] Compute the starting and ending regions of a block, so that we can clamp
  9313. descendants to those regions. This is preparation for having true overflow in the boxes
  9314. in each region, and it's also a performance optimization to reduce the amount of
  9315. region walking that the RenderFlowThread is doing.
  9316. Add a range map to RenderFlowThread to cache the start/end regions for each box.
  9317. Amend everyone who calls renderRegionForLine to pass in the box that is making the query.
  9318. This box is then used to clamp to start and end regions so that any regions outside of that
  9319. range will never be examined.
  9320. Reviewed by Dan Bernstein.
  9321. Test: fast/regions/top-overflow-out-of-second-region.html
  9322. * rendering/RenderBlock.cpp:
  9323. (WebCore::RenderBlock::layoutBlock):
  9324. (WebCore::RenderBlock::hasNextPage):
  9325. (WebCore::RenderBlock::pageLogicalHeightForOffset):
  9326. (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
  9327. (WebCore::RenderBlock::regionAtBlockOffset):
  9328. * rendering/RenderFlowThread.cpp:
  9329. (WebCore::RenderFlowThread::~RenderFlowThread):
  9330. (WebCore::RenderFlowThread::layout):
  9331. (WebCore::RenderFlowThread::renderRegionForLine):
  9332. (WebCore::RenderFlowThread::regionLogicalWidthForLine):
  9333. (WebCore::RenderFlowThread::regionLogicalHeightForLine):
  9334. (WebCore::RenderFlowThread::regionRemainingLogicalHeightForLine):
  9335. (WebCore::RenderFlowThread::mapFromFlowToRegion):
  9336. (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
  9337. (WebCore::RenderFlowThread::logicalWidthChangedInRegions):
  9338. (WebCore::RenderFlowThread::setRegionRangeForBox):
  9339. (WebCore::RenderFlowThread::getRegionRangeForBox):
  9340. * rendering/RenderFlowThread.h:
  9341. * rendering/RenderRegion.cpp:
  9342. (WebCore::RenderRegion::takeRenderBoxRegionInfo):
  9343. (WebCore::RenderRegion::removeRenderBoxRegionInfo):
  9344. * rendering/RenderRegion.h:
  9345. 2011-10-05 Gavin Barraclough <barraclough@apple.com>
  9346. Add explicit JSGlobalThis type.
  9347. https://bugs.webkit.org/show_bug.cgi?id=69478
  9348. Reviewed by Darin Adler.
  9349. JSC supports a split global object, as used by WebCore for the Window. As a stage
  9350. of making this visible to JSC, make it so that if the global this value is not the
  9351. global object itself, it must be a subclass of JSGlobalThis.
  9352. * ForwardingHeaders/runtime/JSGlobalThis.h: Added.
  9353. - Added forwarding header.
  9354. * bindings/js/JSDOMGlobalObject.cpp:
  9355. (WebCore::JSDOMGlobalObject::finishCreation):
  9356. * bindings/js/JSDOMGlobalObject.h:
  9357. - finishCreation takes a JSGlobalThis, or thisValue is implicit.
  9358. * bindings/js/JSDOMWindowShell.h:
  9359. - Make the window shell a subclass of JSGlobalThis.
  9360. * bindings/js/JSWorkerContextBase.cpp:
  9361. (WebCore::JSWorkerContextBase::finishCreation):
  9362. - Don't pass the thisValue to JSGlobalObject::finishCreation.
  9363. * bindings/js/JSWorkerContextBase.h:
  9364. * bindings/scripts/CodeGeneratorJS.pm:
  9365. (GenerateHeader):
  9366. - Don't pass the thisValue to JSGlobalObject::finishCreation,
  9367. for worker contexts.
  9368. 2011-10-06 Anna Cavender <annacc@chromium.org>
  9369. Fix CodeGeneratorV8 for EnabledAtRuntime when class has no parent class.
  9370. https://bugs.webkit.org/show_bug.cgi?id=69480
  9371. Reviewed by Adam Barth.
  9372. No new tests. No new functionality, yet.
  9373. * bindings/scripts/CodeGeneratorV8.pm:
  9374. 2011-10-06 Dan Bernstein <mitz@apple.com>
  9375. <rdar://problem/10232866> Assertion failure beneath blockSelectionGaps() when a selected node is removed
  9376. Reviewed by Ryosuke Niwa.
  9377. Test: editing/selection/invalid-in-RenderView.html
  9378. * editing/FrameSelection.cpp:
  9379. (WebCore::FrameSelection::updateAppearance): Ensure that the VisibleSelection used to set the selection
  9380. in the RenderView is valid, by reconstructing it from the current selection.
  9381. 2011-10-06 Andreas Kling <kling@webkit.org>
  9382. InlineBox's virtualLogicalHeight() partially limited to builds with SVG.
  9383. https://bugs.webkit.org/show_bug.cgi?id=69538
  9384. Reviewed by Dan Bernstein.
  9385. Remove erroneous ENABLE(SVG) guards around the initialization and use
  9386. of InlineBox::hasVirtualLogicalHeight.
  9387. This variable is used by TrailingFloatsRootInlineBox and should always
  9388. be respected regardless of SVG support.
  9389. * rendering/InlineBox.cpp:
  9390. (WebCore::InlineBox::logicalHeight):
  9391. * rendering/InlineBox.h:
  9392. (WebCore::InlineBox::InlineBox):
  9393. 2011-10-06 Carlos Garcia Campos <cgarcia@igalia.com>
  9394. [GTK] Implement cache model for WebKit2
  9395. https://bugs.webkit.org/show_bug.cgi?id=68434
  9396. Reviewed by Martin Robinson.
  9397. Add a function to FileSystem to get the free space of the file
  9398. system where the given path is on.
  9399. * platform/FileSystem.h:
  9400. * platform/gtk/FileSystemGtk.cpp:
  9401. (WebCore::getVolumeFreeSizeForPath):
  9402. 2011-10-06 Sergey Glazunov <serg.glazunov@gmail.com>
  9403. Add check for JavaScript URLs in HTMLPlugInImageElement::allowedToLoadFrameURL
  9404. https://bugs.webkit.org/show_bug.cgi?id=68813
  9405. Reviewed by Adam Barth.
  9406. Test: http/tests/security/xss-DENIED-object-element.html
  9407. * html/HTMLPlugInImageElement.cpp:
  9408. (WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL):
  9409. 2011-10-06 Yury Semikhatsky <yurys@chromium.org>
  9410. Web Inspector: avoid assertion failure in ~InspectorDebuggerAgent in case of workers
  9411. https://bugs.webkit.org/show_bug.cgi?id=69534
  9412. Make sure frontend is disconnected before WorkerInspectorController is destroyed.
  9413. Reviewed by Pavel Feldman.
  9414. * inspector/WorkerInspectorController.cpp:
  9415. (WebCore::WorkerInspectorController::~WorkerInspectorController):
  9416. 2011-10-05 Alexey Proskuryakov <ap@apple.com>
  9417. https://bugs.webkit.org/show_bug.cgi?id=69492
  9418. [Mac] Should be able to scroll embedded PDFs from keyboard
  9419. Reviewed by Darin Adler.
  9420. * WebCore.exp.in: Export ScrollableArea::scroll.
  9421. * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::defaultEventHandler): Call base
  9422. class default event handler, so that events on focused plug-in elements would fall through
  9423. to EventHandler::defaultKeyboardEventHandler.
  9424. * plugins/PluginViewBase.h: (WebCore::PluginViewBase::scroll): Added a method that's called
  9425. on a plug-in when WebCore asks it to scroll. Plug-in cannot really know what key events
  9426. result in scroll actions.
  9427. * rendering/RenderEmbeddedObject.cpp:
  9428. (WebCore::RenderEmbeddedObject::scroll):
  9429. (WebCore::RenderEmbeddedObject::logicalScroll):
  9430. * rendering/RenderEmbeddedObject.h:
  9431. Ask plug-in to scroll when EventHandler::scrollOverflow() is called.
  9432. 2011-10-06 Konstantin Scheglov <scheglov@google.com>
  9433. REGRESSION (r95852?): Disappearing Border on bugs.webkit.org attachments <table>
  9434. https://bugs.webkit.org/show_bug.cgi?id=69296
  9435. Reviewed by David Hyatt.
  9436. Test: fast/table/border-collapsing/cached-69296.html
  9437. Remember BorderValue in CollapsedBorderValue by value.
  9438. See https://bugs.webkit.org/show_bug.cgi?id=69296#c7 for motivation.
  9439. * rendering/style/CollapsedBorderValue.h:
  9440. (WebCore::CollapsedBorderValue::CollapsedBorderValue):
  9441. (WebCore::CollapsedBorderValue::width):
  9442. (WebCore::CollapsedBorderValue::style):
  9443. (WebCore::CollapsedBorderValue::exists):
  9444. (WebCore::CollapsedBorderValue::isTransparent):
  9445. (WebCore::CollapsedBorderValue::operator==):
  9446. * rendering/RenderTableCell.cpp:
  9447. (WebCore::RenderTableCell::collapsedStartBorder):
  9448. (WebCore::RenderTableCell::collapsedEndBorder):
  9449. (WebCore::RenderTableCell::collapsedBeforeBorder):
  9450. (WebCore::RenderTableCell::collapsedAfterBorder):
  9451. 2011-10-06 Gavin Peters <gavinp@chromium.org>
  9452. save resource zeroing stacks in ScriptElement for debugging
  9453. https://bugs.webkit.org/show_bug.cgi?id=69453
  9454. The state machine tracking how m_cachedScript gets zeroed shows that sometimes we get
  9455. two notifyFinished() events in a ScriptElement, which can crash chrome (see chrome bug
  9456. 75604). This patch will save a stack in the ScriptElement when this happens, so that if
  9457. we do later crash, we can see how we did the first zeroing.
  9458. See http://code.google.com/p/chromium/issues/detail?id=75604 for the chromium bug that
  9459. this change will help track down.
  9460. Reviewed by Nate Chapin.
  9461. No new tests, this shouldn't affect output at all, and isn't particularly testable.
  9462. * dom/ScriptElement.cpp:
  9463. (WebCore::ScriptElement::ScriptElement):
  9464. (WebCore::ScriptElement::stopLoadRequest):
  9465. (WebCore::ScriptElement::notifyFinished):
  9466. * dom/ScriptElement.h:
  9467. 2011-10-06 Rémi Duraffort <remi.duraffort@st.com>
  9468. Fix compilation by adding some missing ENABLE(VIDEO|XSLT)
  9469. https://bugs.webkit.org/show_bug.cgi?id=69522
  9470. Unreviewed build fix
  9471. * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
  9472. * bindings/v8/custom/V8HTMLAudioElementConstructor.h:
  9473. * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
  9474. 2011-10-06 Pavel Feldman <pfeldman@google.com>
  9475. Web Inspector: add Styles and Metrics sidebars to the compilation.
  9476. https://bugs.webkit.org/show_bug.cgi?id=69529
  9477. Reviewed by Yury Semikhatsky.
  9478. * inspector/compile-front-end.sh:
  9479. * inspector/front-end/CSSCompletions.js:
  9480. (WebInspector.CSSCompletions.requestCSSNameCompletions):
  9481. * inspector/front-end/CSSKeywordCompletions.js:
  9482. (WebInspector.CSSKeywordCompletions.forProperty):
  9483. (WebInspector.CSSKeywordCompletions.isColorAwareProperty):
  9484. * inspector/front-end/Checkbox.js:
  9485. * inspector/front-end/ElementsPanel.js:
  9486. * inspector/front-end/MetricsSidebarPane.js:
  9487. (WebInspector.MetricsSidebarPane.prototype._updateMetrics):
  9488. (WebInspector.MetricsSidebarPane.prototype.startEditing):
  9489. (WebInspector.MetricsSidebarPane.prototype._handleKeyDown):
  9490. * inspector/front-end/SourceCSSTokenizer.js:
  9491. (WebInspector.SourceCSSTokenizer):
  9492. * inspector/front-end/SourceCSSTokenizer.re2js:
  9493. * inspector/front-end/StylesSidebarPane.js:
  9494. (WebInspector.StylesSidebarPane.prototype.update):
  9495. (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
  9496. (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
  9497. (WebInspector.StylePropertiesSection.prototype.onpopulate):
  9498. (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
  9499. (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
  9500. (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
  9501. (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
  9502. (WebInspector.BlankStylePropertiesSection.prototype.makeNormal):
  9503. (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
  9504. (WebInspector.StylePropertyTreeElement.prototype):
  9505. * inspector/front-end/externs.js:
  9506. (WebInspector.linkifyResourceAsNode):
  9507. (Element.prototype.scrollIntoViewIfNeeded):
  9508. (Element.prototype.selectionLeftOffset):
  9509. * inspector/front-end/inspector.js:
  9510. * inspector/front-end/utilities.js:
  9511. 2011-10-06 Pavel Feldman <pfeldman@google.com>
  9512. Web Inspector: extract DOMPresentation, make EventListenersSidebar compile
  9513. https://bugs.webkit.org/show_bug.cgi?id=69527
  9514. Reviewed by Yury Semikhatsky.
  9515. * WebCore.gypi:
  9516. * WebCore.vcproj/WebCore.vcproj:
  9517. * inspector/compile-front-end.sh:
  9518. * inspector/front-end/DOMAgent.js:
  9519. (WebInspector.DOMNode.prototype.nodeNameInCorrectCase):
  9520. (WebInspector.DOMNode.prototype.moveTo):
  9521. (WebInspector.DOMNode.prototype.isXMLNode):
  9522. * inspector/front-end/DOMBreakpointsSidebarPane.js:
  9523. (WebInspector.DOMBreakpointsSidebarPane.prototype._setBreakpoint):
  9524. * inspector/front-end/DOMPresentation.js: Added.
  9525. (WebInspector.DOMPresentation.decorateNodeLabel):
  9526. (WebInspector.DOMPresentation.linkifyNodeReference):
  9527. (WebInspector.DOMPresentation.linkifyNodeById):
  9528. * inspector/front-end/ElementsPanel.js:
  9529. (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
  9530. * inspector/front-end/ElementsTreeOutline.js:
  9531. (WebInspector.ElementsTreeOutline.prototype.set rootDOMNode):
  9532. * inspector/front-end/EventListenersSidebarPane.js:
  9533. * inspector/front-end/ObjectPropertiesSection.js:
  9534. * inspector/front-end/PropertiesSection.js:
  9535. * inspector/front-end/Section.js:
  9536. * inspector/front-end/StylesSidebarPane.js:
  9537. (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
  9538. (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
  9539. * inspector/front-end/WebKit.qrc:
  9540. * inspector/front-end/inspector.html:
  9541. 2011-10-06 Pavel Feldman <pfeldman@google.com>
  9542. Web Inspector: add all Resource panel views to the compilation.
  9543. https://bugs.webkit.org/show_bug.cgi?id=69526
  9544. Reviewed by Yury Semikhatsky.
  9545. * inspector/compile-front-end.sh:
  9546. * inspector/front-end/CookieItemsView.js:
  9547. (WebInspector.CookieItemsView.prototype._contextMenu):
  9548. (WebInspector.Cookies.cookieMatchesResourceURL):
  9549. * inspector/front-end/CookiesTable.js:
  9550. (WebInspector.CookiesTable):
  9551. (WebInspector.CookiesTable.prototype._onDeleteFromGrid):
  9552. * inspector/front-end/DOMStorageItemsView.js:
  9553. (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
  9554. * inspector/front-end/DataGrid.js:
  9555. (WebInspector.DataGrid.createSortableDataGrid.sortDataGrid.comparator):
  9556. (WebInspector.DataGrid.createSortableDataGrid.sortDataGrid):
  9557. (WebInspector.DataGrid.createSortableDataGrid):
  9558. * inspector/front-end/DatabaseQueryView.js:
  9559. (WebInspector.DatabaseQueryView.prototype._queryFinished):
  9560. * inspector/front-end/DatabaseTableView.js:
  9561. (WebInspector.DatabaseTableView.prototype._queryFinished):
  9562. * inspector/front-end/ResourcesPanel.js:
  9563. (WebInspector.ResourcesPanel.prototype.reset):
  9564. (WebInspector.ResourcesPanel.prototype.showDatabase):
  9565. * inspector/front-end/TextPrompt.js:
  9566. 2011-10-06 Pavel Feldman <pfeldman@google.com>
  9567. Web Inspector: add all Resource panel views to the compilation.
  9568. https://bugs.webkit.org/show_bug.cgi?id=69526
  9569. Reviewed by Yury Semikhatsky.
  9570. * inspector/compile-front-end.sh:
  9571. * inspector/front-end/CookieItemsView.js:
  9572. (WebInspector.CookieItemsView.prototype._contextMenu):
  9573. (WebInspector.Cookies.cookieMatchesResourceURL):
  9574. * inspector/front-end/CookiesTable.js:
  9575. (WebInspector.CookiesTable):
  9576. (WebInspector.CookiesTable.prototype._onDeleteFromGrid):
  9577. * inspector/front-end/DOMStorageItemsView.js:
  9578. (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
  9579. * inspector/front-end/DataGrid.js:
  9580. (WebInspector.DataGrid.createSortableDataGrid.sortDataGrid.comparator):
  9581. (WebInspector.DataGrid.createSortableDataGrid.sortDataGrid):
  9582. (WebInspector.DataGrid.createSortableDataGrid):
  9583. * inspector/front-end/DatabaseQueryView.js:
  9584. (WebInspector.DatabaseQueryView.prototype._queryFinished):
  9585. * inspector/front-end/DatabaseTableView.js:
  9586. (WebInspector.DatabaseTableView.prototype._queryFinished):
  9587. * inspector/front-end/ResourcesPanel.js:
  9588. (WebInspector.ResourcesPanel.prototype.reset):
  9589. (WebInspector.ResourcesPanel.prototype.showDatabase):
  9590. * inspector/front-end/TextPrompt.js:
  9591. 2011-10-06 Sheriff Bot <webkit.review.bot@gmail.com>
  9592. Unreviewed, rolling out r96791.
  9593. http://trac.webkit.org/changeset/96791
  9594. https://bugs.webkit.org/show_bug.cgi?id=69528
  9595. webkit_unit_tests broken on Mac and Win (Requested by
  9596. hwennborg on #webkit).
  9597. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  9598. 2011-10-05 Mikhail Naganov <mnaganov@chromium.org>
  9599. Web Inspector: [Chromium] Heap Snapshot colors legend help popup is not shown.
  9600. https://bugs.webkit.org/show_bug.cgi?id=69482
  9601. Reviewed by Yury Semikhatsky.
  9602. * inspector/front-end/DetailedHeapshotView.js:
  9603. (WebInspector.DetailedHeapshotView.prototype._helpClicked):
  9604. 2011-10-05 Pavel Feldman <pfeldman@google.com>
  9605. Web Inspector: add 10 more front-end classes to the compilation process.
  9606. https://bugs.webkit.org/show_bug.cgi?id=69445
  9607. Reviewed by Yury Semikhatsky.
  9608. * inspector/compile-front-end.sh:
  9609. * inspector/front-end/HAREntry.js:
  9610. * inspector/front-end/HandlerRegistry.js:
  9611. * inspector/front-end/IFrameView.js:
  9612. * inspector/front-end/JavaScriptSourceFrame.js:
  9613. * inspector/front-end/PanelEnablerView.js:
  9614. (WebInspector.PanelEnablerView):
  9615. * inspector/front-end/PartialQuickSort.js:
  9616. * inspector/front-end/PropertiesSidebarPane.js:
  9617. (WebInspector.PropertiesSidebarPane.prototype.update.fillSection):
  9618. (WebInspector.PropertiesSidebarPane.prototype.update):
  9619. * inspector/front-end/ShowMoreDataGridNode.js:
  9620. * inspector/front-end/SidebarTreeElement.js:
  9621. * inspector/front-end/TimelineAgent.js:
  9622. * inspector/front-end/WelcomeView.js:
  9623. * inspector/front-end/externs.js:
  9624. (WebInspector.addMainEventListeners):
  9625. 2011-10-05 Pavel Feldman <pfeldman@google.com>
  9626. Web Inspector: make ElementsTreeOutline compile
  9627. https://bugs.webkit.org/show_bug.cgi?id=69439
  9628. Reviewed by Yury Semikhatsky.
  9629. * inspector/compile-front-end.sh:
  9630. * inspector/front-end/DOMAgent.js:
  9631. * inspector/front-end/DOMSyntaxHighlighter.js:
  9632. * inspector/front-end/ElementsPanel.js:
  9633. (WebInspector.ElementsPanel.get this):
  9634. (WebInspector.ElementsPanel):
  9635. (WebInspector.ElementsPanel.prototype._populateContextMenu):
  9636. (WebInspector.ElementsPanel.prototype._inspectElementRequested):
  9637. * inspector/front-end/ElementsTreeOutline.js:
  9638. (WebInspector.ElementsTreeOutline):
  9639. (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
  9640. (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
  9641. (WebInspector.ElementsTreeOutline.prototype._updateModifiedNodes):
  9642. (WebInspector.ElementsTreeOutline.prototype._populateContextMenu):
  9643. (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
  9644. (WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
  9645. (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
  9646. (WebInspector.ElementsTreeElement.prototype._startEditingTagName):
  9647. (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
  9648. (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
  9649. (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
  9650. ():
  9651. * inspector/front-end/externs.js:
  9652. (WebInspector.highlightDOMNode):
  9653. (WebInspector.resourceURLForRelatedNode):
  9654. 2011-10-06 Pavel Feldman <pfeldman@google.com>
  9655. Web Inspector: Inspector fails to start if there was at least one watch expression.
  9656. https://bugs.webkit.org/show_bug.cgi?id=69516
  9657. Reviewed by Yury Semikhatsky.
  9658. * inspector/front-end/ConsoleView.js:
  9659. * inspector/front-end/WatchExpressionsSidebarPane.js:
  9660. (WebInspector.WatchExpressionsSidebarPane):
  9661. 2011-10-06 Dominic Cooney <dominicc@chromium.org>
  9662. Don't make virtual calls in Node::parentNode.
  9663. https://bugs.webkit.org/show_bug.cgi?id=69266
  9664. Reviewed by Antti Koivisto.
  9665. ShadowRoot and SVGShadowRoot remain semantically separate (eg
  9666. isShadowRoot/isSVGShadowRoot) but share a flag
  9667. (IsShadowRootOrSVGShadowRootFlag, hitherto IsShadowRootFlag just
  9668. for ShadowRoot). In combination with IsSVGFlag ShadowRoot (false)
  9669. can be distinguished from SVGShadowRoot (true). This lets us make
  9670. isSVGShadowRoot non-virtual.
  9671. No change in behavior => No new tests.
  9672. * dom/Node.cpp:
  9673. (WebCore::Node::shadowHost):
  9674. * dom/Node.h:
  9675. (WebCore::Node::isSVGShadowRoot):
  9676. (WebCore::Node::isShadowRoot):
  9677. (WebCore::Node::parentNode):
  9678. (WebCore::Node::parentNodeGuaranteedHostFree):
  9679. * rendering/svg/SVGShadowTreeElements.cpp:
  9680. (WebCore::SVGShadowTreeContainerElement::SVGShadowTreeContainerElement):
  9681. (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement):
  9682. * rendering/svg/SVGShadowTreeElements.h:
  9683. * svg/SVGElement.cpp:
  9684. (WebCore::SVGElement::SVGElement):
  9685. * svg/SVGElement.h:
  9686. * svg/SVGGElement.cpp:
  9687. (WebCore::SVGGElement::SVGGElement):
  9688. * svg/SVGGElement.h:
  9689. * svg/SVGStyledElement.cpp:
  9690. (WebCore::SVGStyledElement::SVGStyledElement):
  9691. * svg/SVGStyledElement.h:
  9692. * svg/SVGStyledLocatableElement.cpp:
  9693. (WebCore::SVGStyledLocatableElement::SVGStyledLocatableElement):
  9694. * svg/SVGStyledLocatableElement.h:
  9695. * svg/SVGStyledTransformableElement.cpp:
  9696. (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
  9697. * svg/SVGStyledTransformableElement.h:
  9698. 2011-10-06 John Knottenbelt <jknotten@chromium.org>
  9699. Take pageScaleFactor into account for MouseRelatedEvents.
  9700. https://bugs.webkit.org/show_bug.cgi?id=67592
  9701. Reviewed by Tony Gentilcore.
  9702. Tests: fast/events/page-scaled-mouse-click-iframe.html
  9703. fast/events/page-scaled-mouse-click.html
  9704. * dom/MouseRelatedEvent.cpp:
  9705. (WebCore::contentsScrollOffset):
  9706. (WebCore::MouseRelatedEvent::MouseRelatedEvent):
  9707. (WebCore::frameScaleFactor):
  9708. (WebCore::MouseRelatedEvent::computePageLocation):
  9709. (WebCore::MouseRelatedEvent::computeRelativePosition):
  9710. 2011-10-03 Hans Wennborg <hans@chromium.org>
  9711. IndexedDB: Remove SQLite-LevelDB migration code
  9712. https://bugs.webkit.org/show_bug.cgi?id=69264
  9713. Reviewed by Tony Chang.
  9714. Remove migration functionality.
  9715. Just removing code, so no new tests.
  9716. * storage/IDBFactoryBackendImpl.cpp:
  9717. (WebCore::IDBFactoryBackendImpl::open):
  9718. * storage/IDBFactoryBackendImpl.h:
  9719. 2011-10-06 James Robinson <jamesr@chromium.org>
  9720. [chromium] Remove USE(THREADED_COMPOSITING) from the tree
  9721. https://bugs.webkit.org/show_bug.cgi?id=69489
  9722. Reviewed by Darin Fisher.
  9723. This macro isn't needed any more since the logic it guarded is guarded by a runtime switch.
  9724. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  9725. 2011-10-05 Kentaro Hara <haraken@chromium.org>
  9726. Refactor IDL attributes about constructor
  9727. https://bugs.webkit.org/show_bug.cgi?id=69074
  9728. Reviewed by Adam Barth.
  9729. Currently, IDL attributes about constructor are confusing:
  9730. - [CustomConstructFunction] means that there is a custom constructor for JSC.
  9731. - [V8CustomConstructor] means that there is a custom constructor for V8.
  9732. - [CustomConstructor] exists in CodeGenerator*.pm but is not used in any IDL files.
  9733. - For almost all IDL files, [CustomConstructFunction] and [V8CustomConstructor] are used at the same time.
  9734. - ObjC, CPP and GObject bindings do not support custom constructors.
  9735. This patch makes the following changes:
  9736. - Rename [CustomConstructFunction] to [JSCustomConstructor].
  9737. - [JSCustomConstructor] means that there is a custom constructor for JSC.
  9738. - [V8CustomConstructor] means that there is a custom constructor for V8.
  9739. - [CustomConstructor] means that there is a custom constructor for both JSC and V8.
  9740. No new tests. No change in behavior. Confirm that build succeeds.
  9741. * bindings/scripts/CodeGeneratorJS.pm: Removed [CustomConstructFunction] and added [JSCustomConstructor]
  9742. (GenerateHeader):
  9743. (GenerateAttributesHashTable):
  9744. (GenerateImplementation):
  9745. (GenerateConstructorDefinition):
  9746. * css/WebKitCSSMatrix.idl: Renamed [CustomConstructFunction] to [JSCustomConstructor]. If both [JSCustomConstructor] and [V8CustomConstructor] are specified, then we replaced them with [CustomConstructor].
  9747. * dom/CustomEvent.idl: Ditto.
  9748. * dom/ErrorEvent.idl: Ditto.
  9749. * dom/Event.idl: Ditto.
  9750. * dom/HashChangeEvent.idl: Ditto.
  9751. * dom/MessageChannel.idl: Ditto.
  9752. * dom/MessageEvent.idl: Ditto.
  9753. * dom/PageTransitionEvent.idl: Ditto.
  9754. * dom/PopStateEvent.idl: Ditto.
  9755. * dom/ProgressEvent.idl: Ditto.
  9756. * dom/WebKitAnimationEvent.idl: Ditto.
  9757. * html/DOMFormData.idl: Ditto.
  9758. * html/canvas/ArrayBuffer.idl: Ditto.
  9759. * html/canvas/DataView.idl: Ditto.
  9760. * html/canvas/Float32Array.idl: Ditto.
  9761. * html/canvas/Float64Array.idl: Ditto.
  9762. * html/canvas/Int16Array.idl: Ditto.
  9763. * html/canvas/Int32Array.idl: Ditto.
  9764. * html/canvas/Int8Array.idl: Ditto.
  9765. * html/canvas/Uint16Array.idl: Ditto.
  9766. * html/canvas/Uint32Array.idl: Ditto.
  9767. * html/canvas/Uint8Array.idl: Ditto.
  9768. * p2p/PeerConnection.idl: Ditto.
  9769. * page/EventSource.idl: Ditto.
  9770. * page/WebKitPoint.idl: Ditto.
  9771. * webaudio/AudioContext.idl: Ditto.
  9772. * websockets/CloseEvent.idl: Ditto.
  9773. * websockets/WebSocket.idl: Ditto.
  9774. * workers/SharedWorker.idl: Ditto.
  9775. * workers/Worker.idl: Ditto.
  9776. * xml/XMLHttpRequest.idl: Ditto.
  9777. * xml/XSLTProcessor.idl: Ditto.
  9778. 2011-10-03 Andy Estes <aestes@apple.com>
  9779. Add the option to suppress rendering until the document's load event fires.
  9780. https://bugs.webkit.org/show_bug.cgi?id=69298
  9781. Reviewed by Simon Fraser.
  9782. Add a WebCore setting that suppresses painting and compositing layer
  9783. updates until the document's load event fires. This masks the effects
  9784. of incremental rendering (for clients that opt in) by ensuring that all
  9785. sub-resources have loaded and a full layout has taken place before
  9786. painting the document for the first time.
  9787. No tests currently possible. Testing this would require the ability for
  9788. DRT to dump state while resources are loading, which it doesn't
  9789. currently do.
  9790. * dom/Document.cpp:
  9791. (WebCore::Document::implicitClose): If rendering was previously
  9792. suppressed, force a repaint and compositing layer update.
  9793. (WebCore::Document::visualUpdatesAllowed): Add a helper method to
  9794. determine if the document is in a state where rendering is allowed.
  9795. * dom/Document.h:
  9796. * page/Settings.cpp:
  9797. (WebCore::Settings::Settings):
  9798. * page/Settings.h:
  9799. (WebCore::Settings::setSuppressIncrementalRendering):
  9800. (WebCore::Settings::suppressIncrementalRendering):
  9801. * rendering/RenderLayer.cpp:
  9802. (WebCore::shouldSuppressPaintingLayer): Encapsulate the FOUC and
  9803. painting suppression checks into a single helper function for
  9804. readability's sake.
  9805. (WebCore::RenderLayer::paintLayer):
  9806. * rendering/RenderLayerCompositor.cpp:
  9807. (WebCore::RenderLayerCompositor::updateCompositingLayers): If we should
  9808. suppress compositing layer updates and the load event has yet to fire,
  9809. return early.
  9810. 2011-10-05 Yuta Kitamura <yutak@chromium.org>
  9811. WebSocket: Add extensions attribute
  9812. https://bugs.webkit.org/show_bug.cgi?id=69408
  9813. Reviewed by Kent Tamura.
  9814. Add WebSocket's "extensions" attribute as specified in the WebSocket API
  9815. <http://dev.w3.org/html5/websockets/#the-websocket-interface>.
  9816. WebSocket protocol extension is not implemented at all, thus this attribute
  9817. always returns an empty string.
  9818. Test: http/tests/websocket/tests/hybi/extensions.html
  9819. http/tests/websocket/tests/hixie76/undefined-attributes.html (updated)
  9820. * websockets/WebSocket.cpp:
  9821. (WebCore::WebSocket::extensions):
  9822. If the hixie-76 protocol is chosen, we need to return "undefined" in order to
  9823. keep behavior of the ports which have not used the newer hybi protocol yet.
  9824. * websockets/WebSocket.h:
  9825. * websockets/WebSocket.idl:
  9826. 2011-10-05 Dominic Cooney <dominicc@chromium.org>
  9827. IsShadowRootFlag should not depend on whether a ShadowRoot is attached to a host.
  9828. https://bugs.webkit.org/show_bug.cgi?id=69406
  9829. Reviewed by Hajime Morita.
  9830. No change in behavior => No new tests.
  9831. * dom/Node.cpp:
  9832. (WebCore::Node::setShadowHost): Don't twiddle the flag.
  9833. * dom/Node.h:
  9834. * dom/ShadowRoot.cpp:
  9835. (WebCore::ShadowRoot::ShadowRoot): Set the IsShadowRootFlag on creation.
  9836. * dom/TreeScope.cpp:
  9837. (WebCore::TreeScope::TreeScope): Let ShadowRoot set creation flags.
  9838. * dom/TreeScope.h:
  9839. 2011-10-05 Chris Rogers <crogers@google.com>
  9840. Define a log2f() function for Windows in wtf/MathExtras.h
  9841. https://bugs.webkit.org/show_bug.cgi?id=69491
  9842. Reviewed by Darin Adler.
  9843. No new tests. This change is tested in existing layout tests.
  9844. * webaudio/AudioParamTimeline.cpp:
  9845. (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
  9846. 2011-10-05 Erik Arvidsson <arv@chromium.org>
  9847. window.location.href and others needlessly decodes URI-encoded characters
  9848. https://bugs.webkit.org/show_bug.cgi?id=30225
  9849. Reviewed by Darin Adler.
  9850. Don't decode KURL::path() and stop using KURL::deprecatedString() in Location methods.
  9851. This slightly changes how we parse data and javascript URLs (non hierarchical URLs) to
  9852. not encode so aggressively.
  9853. * fileapi/DOMFileSystemBase.cpp:
  9854. (WebCore::DOMFileSystemBase::crackFileSystemURL): Manually decode path()
  9855. * loader/FrameLoader.cpp:
  9856. (WebCore::FrameLoader::defaultObjectContentType): Manually decode path()
  9857. * page/Location.cpp:
  9858. (WebCore::Location::href): Use string() instead of deprecatedString()
  9859. * page/Location.h:
  9860. (WebCore::Location::toString): Inline call to href()
  9861. * platform/KURL.cpp:
  9862. (WebCore::KURL::path): Don't decode.
  9863. (WebCore::escapeAndAppendNonHierarchicalPart): Rename escapeAndAppendFragment to escapeAndAppendNonHierarchicalPart
  9864. since this is now used for more than just fragments.
  9865. (WebCore::KURL::parse): Don't decode
  9866. * platform/KURLGoogle.cpp:
  9867. (WebCore::KURL::path): Remove out of date comment
  9868. * platform/qt/KURLQt.cpp:
  9869. (WebCore::KURL::fileSystemPath): Manually decode path()
  9870. * platform/win/ClipboardWin.cpp:
  9871. (WebCore::createGlobalHDropContent): Manually decode path()
  9872. * workers/WorkerLocation.cpp:
  9873. (WebCore::WorkerLocation::href): Use string() instead of deprecatedString()
  9874. * workers/WorkerLocation.h:
  9875. (WebCore::WorkerLocation::toString): Inline call to href()
  9876. 2011-10-05 Darin Adler <darin@apple.com>
  9877. [Mac] Use four more named cursors if present
  9878. https://bugs.webkit.org/show_bug.cgi?id=69488
  9879. Reviewed by Dan Bernstein.
  9880. * platform/mac/CursorMac.mm:
  9881. (WebCore::Cursor::ensurePlatformCursor): Use the names "Help", "Cell",
  9882. "ZoomIn", and "ZoomOut" to get those cursors. Structure the code so it
  9883. falls back if the cursors are not present.
  9884. 2011-10-05 Tony Chang <tony@chromium.org>
  9885. force margin:auto to 0 in flex items
  9886. https://bugs.webkit.org/show_bug.cgi?id=69475
  9887. Reviewed by Ojan Vafai.
  9888. The spec used to say the margin had a value of flex(1 0 0), but changed to just be 0.
  9889. * rendering/RenderFlexibleBox.cpp:
  9890. (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
  9891. (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
  9892. 2011-10-05 Dean Jackson <dino@apple.com>
  9893. Computed style for filter property
  9894. https://bugs.webkit.org/show_bug.cgi?id=68477
  9895. Reviewed by Simon Fraser.
  9896. Reports the computed style for the new -webkit-filter
  9897. property value.
  9898. Test: css3/filters/filter-property-computed-style.html
  9899. * css/CSSComputedStyleDeclaration.cpp:
  9900. (WebCore::computedFilter):
  9901. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  9902. 2011-10-05 Jer Noble <jer.noble@apple.com>
  9903. Enable WEB_AUDIO by default in the WebKit/mac port.
  9904. https://bugs.webkit.org/show_bug.cgi?id=68587
  9905. Reviewed by Simon Fraser.
  9906. No new tests; existing webaudio/ layout tests cover this.
  9907. * Configurations/FeatureDefines.xcconfig:
  9908. * WebCore.xcodeproj/project.pbxproj: Add a build step which copies audio resources to
  9909. the WebCore.framework bundle.
  9910. 2011-10-03 Ojan Vafai <ojan@chromium.org>
  9911. [flexbox] take marginBeforeForChild into account when positioning children
  9912. https://bugs.webkit.org/show_bug.cgi?id=69313
  9913. Reviewed by Tony Chang.
  9914. * rendering/RenderFlexibleBox.cpp:
  9915. (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
  9916. 2011-10-05 Vangelis Kokkevis <vangelis@chromium.org>
  9917. Switching threaded compositor from a compile time option to a
  9918. run time one.
  9919. https://bugs.webkit.org/show_bug.cgi?id=69391
  9920. Reviewed by Darin Fisher.
  9921. Mostly converted #if USE(THREADED_COMPOSITING) to a regular if statements.
  9922. In addition, CCLayerTreeHost::scheduleComposite() is removed as it wasn't being
  9923. called from anywhere,
  9924. No new tests as it doesn't add new functionality.
  9925. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  9926. (WebCore::CCLayerTreeHost::setNeedsCommitThenRedraw):
  9927. (WebCore::CCLayerTreeHost::setNeedsRedraw):
  9928. (WebCore::CCLayerTreeHost::composite):
  9929. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  9930. * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  9931. (WebCore::CCSingleThreadProxy::setNeedsCommitThenRedraw):
  9932. (WebCore::CCSingleThreadProxy::compositeImmediately):
  9933. * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
  9934. 2011-10-05 Dean Jackson <dino@apple.com>
  9935. Parse '-webkit-filter' property syntax
  9936. https://bugs.webkit.org/show_bug.cgi?id=68473
  9937. Reviewed by Nikolas Zimmermann.
  9938. Parse the new -webkit-filter property, looking for shorthand
  9939. functions then testing number, type and value of parameters.
  9940. Note that support for drop-shadow() was omitted from this
  9941. patch because parsing CSS shadow syntax was going to require some
  9942. refactoring of the box and text shadow code. The followup
  9943. bug is https://bugs.webkit.org/show_bug.cgi?id=69108.
  9944. Also, computed style will return null for filters at the moment.
  9945. That's https://bugs.webkit.org/show_bug.cgi?id=68477.
  9946. Tests: css3/filters/filter-property-parsing-invalid.html
  9947. css3/filters/filter-property-parsing.html
  9948. * CMakeLists.txt:
  9949. * CodeGenerators.pri:
  9950. * DerivedSources.cpp:
  9951. * DerivedSources.make:
  9952. * GNUmakefile.list.am:
  9953. * WebCore.gypi:
  9954. * WebCore.pro:
  9955. * WebCore.vcproj/WebCore.vcproj:
  9956. * WebCore.xcodeproj/project.pbxproj:
  9957. Build files updated for new WebKitCSSFilterValue classes.
  9958. * bindings/js/JSCSSValueCustom.cpp:
  9959. (WebCore::toJS):
  9960. * bindings/objc/DOMCSS.mm:
  9961. Test if value is WebKitCSSFilterValue.
  9962. * css/CSSParser.cpp:
  9963. (WebCore::filterInfoForName):
  9964. (WebCore::CSSParser::isValidFilterArgument):
  9965. (WebCore::CSSParser::parseFilter):
  9966. * css/CSSParser.h:
  9967. * css/CSSStyleSelector.cpp:
  9968. (WebCore::CSSStyleSelector::applyProperty):
  9969. (WebCore::filterOperationForType):
  9970. (WebCore::CSSStyleSelector::createFilterOperations):
  9971. * css/CSSStyleSelector.h:
  9972. Handle the new shorthand functions in -webkit-filter.
  9973. * css/CSSValue.h:
  9974. (WebCore::CSSValue::isWebKitCSSFilterValue):
  9975. Add virtual function that returns false here.
  9976. * css/WebKitCSSFilterValue.cpp: Added.
  9977. (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
  9978. (WebCore::WebKitCSSFilterValue::~WebKitCSSFilterValue):
  9979. (WebCore::WebKitCSSFilterValue::cssText):
  9980. * css/WebKitCSSFilterValue.h: Added.
  9981. (WebCore::WebKitCSSFilterValue::create):
  9982. (WebCore::WebKitCSSFilterValue::operationType):
  9983. (WebCore::WebKitCSSFilterValue::isWebKitCSSFilterValue):
  9984. * css/WebKitCSSFilterValue.idl: Added.
  9985. WebKitCSSFilterValue modelled closely on WebKitCSSTransformValue,
  9986. basically identifying the type of operation in a CSSValueList.
  9987. * page/DOMWindow.idl:
  9988. New WebKitCSSFilterValue constructor.
  9989. * platform/graphics/filters/FilterOperation.h:
  9990. (WebCore::BlurFilterOperation::create):
  9991. (WebCore::BlurFilterOperation::stdDeviationX):
  9992. (WebCore::BlurFilterOperation::stdDeviationY):
  9993. (WebCore::BlurFilterOperation::BlurFilterOperation):
  9994. (WebCore::SharpenFilterOperation::create):
  9995. (WebCore::SharpenFilterOperation::radius):
  9996. (WebCore::SharpenFilterOperation::threshold):
  9997. (WebCore::SharpenFilterOperation::SharpenFilterOperation):
  9998. Use Length rather than double for parameters that are CSS lengths.
  9999. 2011-10-05 Chris Rogers <crogers@google.com>
  10000. Fix Windows build - it doesn't have a log2f() function...
  10001. https://bugs.webkit.org/show_bug.cgi?id=69473
  10002. Unreviewed build fix.
  10003. * webaudio/AudioParamTimeline.cpp:
  10004. (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
  10005. 2011-10-05 James Robinson <jamesr@chromium.org>
  10006. [chromium] ASSERT triggered when gpu process lost in single-threaded compositing path
  10007. https://bugs.webkit.org/show_bug.cgi?id=69467
  10008. Reviewed by Kenneth Russell.
  10009. Shuffles debug-only bookkeeping around to more closely match what we do in the threaded path and not trip a
  10010. false-positive ASSERT().
  10011. * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  10012. (WebCore::CCSingleThreadProxy::doComposite):
  10013. 2011-10-05 Sheriff Bot <webkit.review.bot@gmail.com>
  10014. Unreviewed, rolling out r96756.
  10015. http://trac.webkit.org/changeset/96756
  10016. https://bugs.webkit.org/show_bug.cgi?id=69472
  10017. Many builds broken due to WTFGetBacktrace not being exported
  10018. from JavaScriptCore (Requested by aroben on #webkit).
  10019. * dom/ScriptElement.cpp:
  10020. (WebCore::ScriptElement::ScriptElement):
  10021. (WebCore::ScriptElement::stopLoadRequest):
  10022. (WebCore::ScriptElement::notifyFinished):
  10023. * dom/ScriptElement.h:
  10024. 2011-10-05 Gavin Peters <gavinp@chromium.org>
  10025. save resource zeroing stacks in ScriptElement for debugging
  10026. https://bugs.webkit.org/show_bug.cgi?id=69453
  10027. The state machine tracking how m_cachedScript gets zeroed shows that sometimes we get
  10028. two notifyFinished() events in a ScriptElement, which can crash chrome (see chrome bug
  10029. 75604). This patch will save a stack in the ScriptElement when this happens, so that if
  10030. we do later crash, we can see how we did the first zeroing.
  10031. See http://code.google.com/p/chromium/issues/detail?id=75604 for the chromium bug that
  10032. this change will help track down.
  10033. Reviewed by Nate Chapin.
  10034. No new tests, this shouldn't affect output at all, and isn't particularly testable.
  10035. * dom/ScriptElement.cpp:
  10036. (WebCore::ScriptElement::ScriptElement):
  10037. (WebCore::ScriptElement::stopLoadRequest):
  10038. (WebCore::ScriptElement::notifyFinished):
  10039. * dom/ScriptElement.h:
  10040. 2011-10-05 Alexey Proskuryakov <ap@apple.com>
  10041. More build fix.
  10042. * WebCore.exp.in: Made a typo in a last minute change for my 32-bit build fix.
  10043. 2011-10-05 Anna Cavender <annacc@chromium.org>
  10044. Fix CueParser::didFinishLoading to match changes in ThreadableLoaderClient
  10045. https://bugs.webkit.org/show_bug.cgi?id=69456
  10046. Reviewed by David Levin.
  10047. No new tests. No new functionality.
  10048. * html/track/CueParser.cpp:
  10049. (WebCore::CueParser::didFinishLoading):
  10050. * html/track/CueParser.h:
  10051. 2011-10-05 Alexey Proskuryakov <ap@apple.com>
  10052. 32-bit build fix.
  10053. * WebCore.exp.in: In 32-bit, WebCore needs to export both NSSize and CGSize constructors.
  10054. In 64-bit, NSSize is just a typedef for CGSize. Also fixed conversion operators, for good measure.
  10055. 2011-10-05 Jer Noble <jer.noble@apple.com>
  10056. WEB_AUDIO does not compile on Leopard 32-bit.
  10057. https://bugs.webkit.org/show_bug.cgi?id=69292
  10058. Reviewed by Simon Fraser.
  10059. No new tests; covered by all existing audio tests.
  10060. Use of float and double within the WEB_AUDIO implementation have been harmonized, with most
  10061. calculations done using floats, with narrowPrecisionToFloat() added when necessary to
  10062. narrow double results down to floats, and with float constants initialized with float values:
  10063. * platform/audio/AudioBus.cpp:
  10064. (WebCore::AudioBus::AudioBus):
  10065. (WebCore::AudioBus::createByMixingToMono):
  10066. * platform/audio/AudioBus.h:
  10067. (WebCore::AudioBus::sampleRate):
  10068. (WebCore::AudioBus::setSampleRate):
  10069. * platform/audio/AudioDSPKernel.h:
  10070. (WebCore::AudioDSPKernel::AudioDSPKernel):
  10071. (WebCore::AudioDSPKernel::sampleRate):
  10072. * platform/audio/AudioDSPKernelProcessor.cpp:
  10073. (WebCore::AudioDSPKernelProcessor::AudioDSPKernelProcessor):
  10074. * platform/audio/AudioDSPKernelProcessor.h:
  10075. * platform/audio/AudioDestination.h:
  10076. * platform/audio/AudioFileReader.h:
  10077. * platform/audio/AudioProcessor.h:
  10078. (WebCore::AudioProcessor::AudioProcessor):
  10079. (WebCore::AudioProcessor::sampleRate):
  10080. * platform/audio/AudioUtilities.cpp:
  10081. (WebCore::AudioUtilities::decibelsToLinear):
  10082. (WebCore::AudioUtilities::linearToDecibels):
  10083. (WebCore::AudioUtilities::discreteTimeConstantForSampleRate):
  10084. * platform/audio/AudioUtilities.h:
  10085. * platform/audio/DynamicsCompressor.cpp:
  10086. (WebCore::DynamicsCompressor::DynamicsCompressor):
  10087. (WebCore::DynamicsCompressor::initializeParameters):
  10088. (WebCore::DynamicsCompressor::parameterValue):
  10089. (WebCore::DynamicsCompressor::setEmphasisStageParameters):
  10090. (WebCore::DynamicsCompressor::process):
  10091. * platform/audio/DynamicsCompressor.h:
  10092. (WebCore::DynamicsCompressor::sampleRate):
  10093. (WebCore::DynamicsCompressor::nyquist):
  10094. * platform/audio/DynamicsCompressorKernel.cpp:
  10095. (WebCore::saturate):
  10096. (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
  10097. (WebCore::DynamicsCompressorKernel::process):
  10098. * platform/audio/DynamicsCompressorKernel.h:
  10099. * platform/audio/EqualPowerPanner.cpp:
  10100. (WebCore::EqualPowerPanner::EqualPowerPanner):
  10101. * platform/audio/EqualPowerPanner.h:
  10102. * platform/audio/HRTFDatabase.cpp:
  10103. (WebCore::HRTFDatabase::create):
  10104. (WebCore::HRTFDatabase::HRTFDatabase):
  10105. * platform/audio/HRTFDatabase.h:
  10106. (WebCore::HRTFDatabase::sampleRate):
  10107. * platform/audio/HRTFDatabaseLoader.cpp:
  10108. (WebCore::HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary):
  10109. (WebCore::HRTFDatabaseLoader::HRTFDatabaseLoader):
  10110. * platform/audio/HRTFDatabaseLoader.h:
  10111. (WebCore::HRTFDatabaseLoader::databaseSampleRate):
  10112. * platform/audio/HRTFElevation.cpp:
  10113. (WebCore::HRTFElevation::calculateSymmetricKernelsForAzimuthElevation):
  10114. (WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
  10115. (WebCore::HRTFElevation::createForSubject):
  10116. (WebCore::HRTFElevation::createByInterpolatingSlices):
  10117. * platform/audio/HRTFElevation.h:
  10118. (WebCore::HRTFElevation::sampleRate):
  10119. (WebCore::HRTFElevation::HRTFElevation):
  10120. * platform/audio/HRTFKernel.cpp:
  10121. (WebCore::extractAverageGroupDelay):
  10122. (WebCore::HRTFKernel::HRTFKernel):
  10123. (WebCore::HRTFKernel::createInterpolatedKernel):
  10124. * platform/audio/HRTFKernel.h:
  10125. (WebCore::HRTFKernel::create):
  10126. (WebCore::HRTFKernel::frameDelay):
  10127. (WebCore::HRTFKernel::sampleRate):
  10128. (WebCore::HRTFKernel::HRTFKernel):
  10129. * platform/audio/HRTFPanner.cpp:
  10130. (WebCore::HRTFPanner::HRTFPanner):
  10131. (WebCore::HRTFPanner::fftSizeForSampleRate):
  10132. * platform/audio/HRTFPanner.h:
  10133. (WebCore::HRTFPanner::sampleRate):
  10134. * platform/audio/Panner.cpp:
  10135. (WebCore::Panner::create):
  10136. * platform/audio/Panner.h:
  10137. * platform/audio/chromium/AudioBusChromium.cpp:
  10138. (WebCore::AudioBus::loadPlatformResource):
  10139. * platform/audio/mac/AudioBusMac.mm:
  10140. (WebCore::AudioBus::loadPlatformResource):
  10141. * platform/audio/mac/AudioDestinationMac.cpp:
  10142. (WebCore::AudioDestination::create):
  10143. (WebCore::AudioDestination::hardwareSampleRate):
  10144. (WebCore::AudioDestinationMac::AudioDestinationMac):
  10145. * platform/audio/mac/AudioDestinationMac.h:
  10146. (WebCore::AudioDestinationMac::sampleRate):
  10147. * platform/audio/mac/AudioFileReaderMac.cpp:
  10148. (WebCore::AudioFileReader::createBus):
  10149. (WebCore::createBusFromAudioFile):
  10150. (WebCore::createBusFromInMemoryAudioFile):
  10151. * platform/audio/mac/AudioFileReaderMac.h:
  10152. * webaudio/AsyncAudioDecoder.cpp:
  10153. (WebCore::AsyncAudioDecoder::decodeAsync):
  10154. (WebCore::AsyncAudioDecoder::DecodingTask::create):
  10155. (WebCore::AsyncAudioDecoder::DecodingTask::DecodingTask):
  10156. * webaudio/AsyncAudioDecoder.h:
  10157. (WebCore::AsyncAudioDecoder::DecodingTask::sampleRate):
  10158. * webaudio/AudioBasicProcessorNode.cpp:
  10159. (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
  10160. * webaudio/AudioBasicProcessorNode.h:
  10161. * webaudio/AudioBuffer.cpp:
  10162. (WebCore::AudioBuffer::create):
  10163. (WebCore::AudioBuffer::createFromAudioFileData):
  10164. (WebCore::AudioBuffer::AudioBuffer):
  10165. * webaudio/AudioBuffer.h:
  10166. (WebCore::AudioBuffer::sampleRate):
  10167. * webaudio/AudioBufferSourceNode.cpp:
  10168. (WebCore::AudioBufferSourceNode::create):
  10169. (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
  10170. (WebCore::AudioBufferSourceNode::process):
  10171. (WebCore::AudioBufferSourceNode::renderFromBuffer):
  10172. * webaudio/AudioBufferSourceNode.h:
  10173. * webaudio/AudioChannelMerger.cpp:
  10174. (WebCore::AudioChannelMerger::AudioChannelMerger):
  10175. * webaudio/AudioChannelMerger.h:
  10176. (WebCore::AudioChannelMerger::create):
  10177. * webaudio/AudioChannelSplitter.cpp:
  10178. (WebCore::AudioChannelSplitter::AudioChannelSplitter):
  10179. * webaudio/AudioChannelSplitter.h:
  10180. (WebCore::AudioChannelSplitter::create):
  10181. * webaudio/AudioContext.cpp:
  10182. (WebCore::AudioContext::createOfflineContext):
  10183. (WebCore::AudioContext::AudioContext):
  10184. (WebCore::AudioContext::createBuffer):
  10185. * webaudio/AudioContext.h:
  10186. (WebCore::AudioContext::sampleRate):
  10187. * webaudio/AudioDestinationNode.cpp:
  10188. (WebCore::AudioDestinationNode::AudioDestinationNode):
  10189. * webaudio/AudioDestinationNode.h:
  10190. * webaudio/AudioGainNode.cpp:
  10191. (WebCore::AudioGainNode::AudioGainNode):
  10192. * webaudio/AudioGainNode.h:
  10193. (WebCore::AudioGainNode::create):
  10194. * webaudio/AudioListener.cpp:
  10195. (WebCore::AudioListener::AudioListener):
  10196. * webaudio/AudioListener.h:
  10197. (WebCore::AudioListener::setPosition):
  10198. (WebCore::AudioListener::setOrientation):
  10199. (WebCore::AudioListener::setVelocity):
  10200. * webaudio/AudioNode.cpp:
  10201. (WebCore::AudioNode::AudioNode):
  10202. * webaudio/AudioNode.h:
  10203. (WebCore::AudioNode::sampleRate):
  10204. * webaudio/AudioPannerNode.cpp:
  10205. (WebCore::AudioPannerNode::AudioPannerNode):
  10206. (WebCore::AudioPannerNode::getAzimuthElevation):
  10207. * webaudio/AudioPannerNode.h:
  10208. (WebCore::AudioPannerNode::create):
  10209. * webaudio/AudioParam.cpp:
  10210. (WebCore::AudioParam::value):
  10211. (WebCore::AudioParam::smoothedValue):
  10212. (WebCore::AudioParam::smooth):
  10213. (WebCore::AudioParam::calculateSampleAccurateValues):
  10214. * webaudio/AudioParamTimeline.cpp:
  10215. (WebCore::AudioParamTimeline::valueForContextTime):
  10216. (WebCore::timeToSampleFrame):
  10217. (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
  10218. * webaudio/AudioSourceNode.h:
  10219. (WebCore::AudioSourceNode::AudioSourceNode):
  10220. * webaudio/BiquadFilterNode.cpp:
  10221. (WebCore::BiquadFilterNode::BiquadFilterNode):
  10222. * webaudio/BiquadFilterNode.h:
  10223. (WebCore::BiquadFilterNode::create):
  10224. * webaudio/BiquadProcessor.cpp:
  10225. (WebCore::BiquadProcessor::BiquadProcessor):
  10226. * webaudio/BiquadProcessor.h:
  10227. * webaudio/ConvolverNode.cpp:
  10228. (WebCore::ConvolverNode::ConvolverNode):
  10229. * webaudio/ConvolverNode.h:
  10230. (WebCore::ConvolverNode::create):
  10231. * webaudio/DefaultAudioDestinationNode.cpp:
  10232. (WebCore::DefaultAudioDestinationNode::initialize):
  10233. * webaudio/DefaultAudioDestinationNode.h:
  10234. (WebCore::DefaultAudioDestinationNode::sampleRate):
  10235. * webaudio/DelayDSPKernel.cpp:
  10236. (WebCore::DelayDSPKernel::DelayDSPKernel):
  10237. (WebCore::DelayDSPKernel::process):
  10238. * webaudio/DelayDSPKernel.h:
  10239. * webaudio/DelayNode.cpp:
  10240. (WebCore::DelayNode::DelayNode):
  10241. * webaudio/DelayNode.h:
  10242. (WebCore::DelayNode::create):
  10243. * webaudio/DelayProcessor.cpp:
  10244. (WebCore::DelayProcessor::DelayProcessor):
  10245. * webaudio/DelayProcessor.h:
  10246. * webaudio/DynamicsCompressorNode.cpp:
  10247. (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
  10248. * webaudio/DynamicsCompressorNode.h:
  10249. (WebCore::DynamicsCompressorNode::create):
  10250. * webaudio/HighPass2FilterNode.cpp:
  10251. (WebCore::HighPass2FilterNode::HighPass2FilterNode):
  10252. * webaudio/HighPass2FilterNode.h:
  10253. (WebCore::HighPass2FilterNode::create):
  10254. * webaudio/JavaScriptAudioNode.cpp:
  10255. (WebCore::JavaScriptAudioNode::create):
  10256. (WebCore::JavaScriptAudioNode::JavaScriptAudioNode):
  10257. (WebCore::JavaScriptAudioNode::initialize):
  10258. * webaudio/JavaScriptAudioNode.h:
  10259. * webaudio/LowPass2FilterNode.cpp:
  10260. (WebCore::LowPass2FilterNode::LowPass2FilterNode):
  10261. * webaudio/LowPass2FilterNode.h:
  10262. (WebCore::LowPass2FilterNode::create):
  10263. * webaudio/OfflineAudioDestinationNode.h:
  10264. (WebCore::OfflineAudioDestinationNode::sampleRate):
  10265. * webaudio/RealtimeAnalyserNode.cpp:
  10266. (WebCore::RealtimeAnalyserNode::RealtimeAnalyserNode):
  10267. * webaudio/RealtimeAnalyserNode.h:
  10268. (WebCore::RealtimeAnalyserNode::create):
  10269. * webaudio/WaveShaperDSPKernel.cpp:
  10270. (WebCore::WaveShaperDSPKernel::process):
  10271. * webaudio/WaveShaperProcessor.cpp:
  10272. (WebCore::WaveShaperProcessor::WaveShaperProcessor):
  10273. * webaudio/WaveShaperProcessor.h:
  10274. 2011-10-05 Alexey Proskuryakov <ap@apple.com>
  10275. [Mac] Make built-in PDF description localizable
  10276. https://bugs.webkit.org/show_bug.cgi?id=69442
  10277. Reviewed by Dan Bernstein.
  10278. Added strings for plug-in's name and for its supported MIME type.
  10279. * English.lproj/Localizable.strings:
  10280. * WebCore.exp.in:
  10281. * platform/DefaultLocalizationStrategy.cpp:
  10282. (WebCore::DefaultLocalizationStrategy::builtInPDFPluginName):
  10283. (WebCore::DefaultLocalizationStrategy::pdfDocumentTypeDescription):
  10284. * platform/DefaultLocalizationStrategy.h:
  10285. * platform/LocalizationStrategy.h:
  10286. * platform/LocalizedStrings.cpp:
  10287. (WebCore::builtInPDFPluginName):
  10288. (WebCore::pdfDocumentTypeDescription):
  10289. * platform/LocalizedStrings.h:
  10290. 2011-10-05 David Levin <levin@chromium.org>
  10291. Attempt to fix the bindings test (broken by r96727).
  10292. Reviewed by Adam Barth.
  10293. * bindings/scripts/test/V8/V8TestInterface.cpp:
  10294. (WebCore::ConfigureV8TestInterfaceTemplate):
  10295. * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
  10296. (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
  10297. * bindings/scripts/test/V8/V8TestObj.cpp:
  10298. (WebCore::ConfigureV8TestObjTemplate):
  10299. * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
  10300. (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
  10301. 2011-10-05 James Robinson <jamesr@chromium.org>
  10302. [chromium] Hook WebCompositor interface for input events up to the compositor proper
  10303. https://bugs.webkit.org/show_bug.cgi?id=69394
  10304. Reviewed by Darin Fisher.
  10305. This wires up WebCompositorImpl to the compositor itself so we can handle input events as scrolls on the
  10306. compositor thread, although it doesn't actually wire up any input events to actual scrolling. The way this
  10307. works:
  10308. - CCThreadProxy owns an adapter that implements the CCScrollController interface
  10309. - CCThreadProxy owns a CCInputHandler, which is implemented by WebKit::WebCompositorImpl, that has a pointer to
  10310. the adapter
  10311. - CCLayerTreeHost has an identifier (an int) for its WebKit::WebCompositorImpl that's initialized in
  10312. initializeLayerRenderer. This identifier is exposed to its owner (WebKit::WebViewImpl) so the embedder can wire
  10313. up the threading logic behind the scenes.
  10314. This is just plumbing, no change in behavior.
  10315. * WebCore.gypi:
  10316. * platform/graphics/chromium/cc/CCInputHandler.h: Added.
  10317. (WebCore::CCInputHandler::~CCInputHandler):
  10318. (WebCore::CCInputHandler::CCInputHandler):
  10319. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  10320. (WebCore::CCLayerTreeHost::CCLayerTreeHost):
  10321. (WebCore::CCLayerTreeHost::initialize):
  10322. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  10323. (WebCore::CCLayerTreeHost::compositorIdentifier):
  10324. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
  10325. (WebCore::CCLayerTreeHostImpl::scrollRootLayer):
  10326. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
  10327. * platform/graphics/chromium/cc/CCProxy.h:
  10328. * platform/graphics/chromium/cc/CCScrollController.h: Added.
  10329. (WebCore::CCScrollController::CCScrollController):
  10330. (WebCore::CCScrollController::~CCScrollController):
  10331. * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  10332. (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
  10333. * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
  10334. (WebCore::CCSingleThreadProxy::compositorIdentifier):
  10335. * platform/graphics/chromium/cc/CCThreadProxy.cpp:
  10336. (WebCore::CCThreadProxyScrollControllerAdapter::create):
  10337. (WebCore::CCThreadProxyScrollControllerAdapter::~CCThreadProxyScrollControllerAdapter):
  10338. (WebCore::CCThreadProxyScrollControllerAdapter::scrollRootLayer):
  10339. (WebCore::CCThreadProxyScrollControllerAdapter::CCThreadProxyScrollControllerAdapter):
  10340. (WebCore::CCThreadProxy::CCThreadProxy):
  10341. (WebCore::CCThreadProxy::initializeLayerRenderer):
  10342. (WebCore::CCThreadProxy::compositorIdentifier):
  10343. (WebCore::CCThreadProxy::beginFrameAndCommit):
  10344. (WebCore::CCThreadProxy::initializeLayerRendererOnCCThread):
  10345. (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
  10346. * platform/graphics/chromium/cc/CCThreadProxy.h:
  10347. 2011-10-05 Andreas Kling <kling@webkit.org>
  10348. Shrink OutlineValue.
  10349. https://bugs.webkit.org/show_bug.cgi?id=69436
  10350. Reviewed by Darin Adler.
  10351. Move OutlineValue::m_isAuto up into the base class (BorderValue.)
  10352. This shrinks OutlineValue by 32 bit, which in turn shrinks
  10353. StyleBackgroundData by one CPU word.
  10354. This reduces memory consumption by 250 kB (on 64-bit) when loading
  10355. the full HTML5 spec.
  10356. * rendering/style/BorderValue.h:
  10357. (WebCore::BorderValue::BorderValue):
  10358. * rendering/style/OutlineValue.h:
  10359. (WebCore::OutlineValue::OutlineValue):
  10360. (WebCore::OutlineValue::isAuto):
  10361. 2011-10-05 Chang Shu <cshu@webkit.org>
  10362. [WK2] WebKitTestRunner needs LayoutTestController.dumpConfigurationForViewport
  10363. https://bugs.webkit.org/show_bug.cgi?id=69365
  10364. Reviewed by Darin Adler.
  10365. Expose computeViewportAttributes for mac build.
  10366. * WebCore.exp.in:
  10367. 2011-10-05 Anna Cavender <annacc@chromium.org>
  10368. Functions to make <track> enabled at runtime, including changes to
  10369. CodeGeneratorvV8 to allow entire interfaces (not just attributes) to
  10370. be runtime-enabled.
  10371. https://bugs.webkit.org/show_bug.cgi?id=69352
  10372. Reviewed by Adam Barth.
  10373. No new tests. No new functionality.
  10374. * bindings/generic/RuntimeEnabledFeatures.cpp:
  10375. * bindings/generic/RuntimeEnabledFeatures.h:
  10376. (WebCore::RuntimeEnabledFeatures::webkitVideoTrackEnabled):
  10377. (WebCore::RuntimeEnabledFeatures::setWebkitVideoTrackEnabled):
  10378. * bindings/scripts/CodeGeneratorV8.pm:
  10379. * html/HTMLMediaElement.cpp:
  10380. (WebCore::HTMLMediaElement::loadTextTracks):
  10381. * html/HTMLTrackElement.idl:
  10382. 2011-10-05 Kenneth Russell <kbr@google.com>
  10383. Mask underlying RENDERER and VENDOR strings
  10384. https://bugs.webkit.org/show_bug.cgi?id=69389
  10385. Reviewed by Sam Weinig.
  10386. Test: fast/canvas/webgl/renderer-and-vendor-strings.html
  10387. * html/canvas/WebGLGetInfo.h:
  10388. * html/canvas/WebGLRenderingContext.cpp:
  10389. (WebCore::WebGLRenderingContext::getParameter):
  10390. 2011-10-05 Sachin Puranik <jcqt43@motorola.com>
  10391. Spec change - option.label should be reflected like option.value
  10392. https://bugs.webkit.org/show_bug.cgi?id=68684
  10393. Reviewed by Darin Adler.
  10394. Incorporating the recent change in spec for label attribute of
  10395. option element. While retrieving the "Label" IDL attribute return
  10396. the "Label" content attribute if present , else return the
  10397. value of textContent attribute.
  10398. Tests: fast/forms/option-label-trim-html-spaces.html
  10399. fast/forms/option-value-and-label-changed-by-js.html
  10400. * dom/OptionElement.cpp:
  10401. (WebCore::OptionElement::normalizeText):style fixes
  10402. * dom/OptionElement.h: make collectOptionInnerText() protected.
  10403. * html/HTMLOptionElement.cpp:
  10404. (WebCore::HTMLOptionElement::label): return innerText if label attribute un-available.
  10405. (WebCore::HTMLOptionElement::setLabel):setLabel() implementation.
  10406. * html/HTMLOptionElement.h: add setLabel declaration.
  10407. * html/HTMLOptionElement.idl: Change reflect to ConvertNullToNullString in idl
  10408. 2011-10-05 Rémi Duraffort <remi.duraffort@st.com>
  10409. [GTK] Fix compilation with gtk v2.20.1
  10410. https://bugs.webkit.org/show_bug.cgi?id=69418
  10411. Unreviewed build fix
  10412. * platform/gtk/GtkDragAndDropHelper.cpp:
  10413. 2011-10-05 David Hyatt <hyatt@apple.com>
  10414. https://bugs.webkit.org/show_bug.cgi?id=68731
  10415. Outline sides not painted for region. Fix the painting and hit testing code for regions to add in
  10416. the maximalOutlineSize on unclipped sides. Also fix some math errors with the computation of the
  10417. translation offset and clip rects when overflow or outlines spill out.
  10418. Reviewed by Darin Adler.
  10419. Added new test in fast/regions.
  10420. * rendering/RenderFlowThread.cpp:
  10421. (WebCore::RenderFlowThread::paintIntoRegion):
  10422. (WebCore::RenderFlowThread::hitTestRegion):
  10423. * rendering/RenderRegion.cpp:
  10424. (WebCore::RenderRegion::regionOverflowRect):
  10425. 2011-10-05 Yury Semikhatsky <yurys@chromium.org>
  10426. Unreviewed. Build fix: make InspectorStateClient.h Private in XCode project.
  10427. * WebCore.xcodeproj/project.pbxproj:
  10428. 2011-10-05 Martin Robinson <mrobinson@igalia.com>
  10429. libsoup-CRITICAL **: soup_message_io_pause: assertion `io != NULL' failed
  10430. https://bugs.webkit.org/show_bug.cgi?id=64263
  10431. Reviewed by Xan Lopez.
  10432. No new tests. This is difficult to test because it relies on network
  10433. timing and to catch and parse stdout.
  10434. Instead of allowing messages to pause and unpause after receiving headers,
  10435. we wait until the completion of the sendRequestCallback. This will ensure
  10436. that the SoupSession is in the correct state to allow for pausing and unpausing.
  10437. * platform/network/soup/ResourceHandleSoup.cpp:
  10438. (WebCore::ResourceHandle::platformSetDefersLoading): Don't pause and unpause
  10439. until the sendRequestCallback is called. We detect this situation by
  10440. checking whether or not we have an input stream yet. Previously the code
  10441. was only pausing until after soupMessage->status_code was not equal to
  10442. SOUP_STATUS_NONE. This means that the message was pausable right after
  10443. headers are received. sendRequestCallback happens some time after that.
  10444. 2011-10-05 Ilya Tikhonovsky <loislo@chromium.org>
  10445. Unreviewed build fix for Debug builders.
  10446. * inspector/WorkerInspectorController.cpp:
  10447. (WebCore::WorkerInspectorController::restoreInspectorStateFromCookie):
  10448. 2011-10-05 Dirk Schulze <krit@webkit.org>
  10449. SVG 1.1: ineffectual transform attribute for ClipPath
  10450. https://bugs.webkit.org/show_bug.cgi?id=55361
  10451. Reviewed by Nikolas Zimmermann.
  10452. Respect 'transform' attribute/property for <clip-path>.
  10453. If the masking code path is used the mask context gets transformed, otherwise the path itself.
  10454. Tests: svg/clip-path/clip-path-transform-1.svg
  10455. svg/clip-path/clip-path-transform-2.svg
  10456. svg/dynamic-updates/SVGClipPathElement-transform-influences-hitTesting.html
  10457. * rendering/svg/RenderSVGResourceClipper.cpp:
  10458. (WebCore::RenderSVGResourceClipper::pathOnlyClipping): Transform the clip path.
  10459. (WebCore::RenderSVGResourceClipper::applyClippingToContext):
  10460. (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage): Transform the context of the mask image.
  10461. (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect): Repaint rect must get concatenated with the current animated transformation.
  10462. (WebCore::RenderSVGResourceClipper::hitTestClipContent): Point for hit testing must be transformed by the current animated transformation.
  10463. * rendering/svg/RenderSVGResourceClipper.h:
  10464. 2011-10-05 Pavel Feldman <pfeldman@google.com>
  10465. Web Inspector: move elements panel update semantics from ElementsPanel to ElementsTreeOutline.
  10466. https://bugs.webkit.org/show_bug.cgi?id=69431
  10467. Reviewed by Yury Semikhatsky.
  10468. * inspector/front-end/ConsoleMessage.js:
  10469. (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
  10470. * inspector/front-end/ElementsPanel.js:
  10471. (WebInspector.ElementsPanel.get this):
  10472. (WebInspector.ElementsPanel):
  10473. (WebInspector.ElementsPanel.prototype.show):
  10474. (WebInspector.ElementsPanel.prototype.hide):
  10475. (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
  10476. (WebInspector.ElementsPanel.prototype._reset):
  10477. (WebInspector.ElementsPanel.prototype._nodeRemoved):
  10478. (WebInspector.ElementsPanel.prototype.updateBreadcrumb.selectCrumbFunction):
  10479. (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
  10480. * inspector/front-end/ElementsTreeOutline.js:
  10481. (WebInspector.ElementsTreeOutline):
  10482. (WebInspector.ElementsTreeOutline.prototype.wireToDomAgent):
  10483. (WebInspector.ElementsTreeOutline.prototype.setVisible):
  10484. (WebInspector.ElementsTreeOutline.prototype.addEventListener):
  10485. (WebInspector.ElementsTreeOutline.prototype.removeEventListener):
  10486. (WebInspector.ElementsTreeOutline.prototype.selectDOMNode):
  10487. (WebInspector.ElementsTreeOutline.prototype.update):
  10488. (WebInspector.ElementsTreeOutline.prototype._selectedNodeChanged):
  10489. (WebInspector.ElementsTreeOutline.prototype.findTreeElement.parentNode):
  10490. (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
  10491. (WebInspector.ElementsTreeOutline.prototype.createTreeElementFor):
  10492. (WebInspector.ElementsTreeOutline.prototype._ondrop.callback):
  10493. (WebInspector.ElementsTreeOutline.prototype._ondrop):
  10494. (WebInspector.ElementsTreeOutline.prototype.adjustCollapsedRange):
  10495. (WebInspector.ElementsTreeOutline.prototype._updateModifiedNodes):
  10496. (WebInspector.ElementsTreeElement.prototype.insertChildElement):
  10497. (WebInspector.ElementsTreeElement.prototype.selectOnMouseDown):
  10498. (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.dispose):
  10499. (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
  10500. (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded):
  10501. (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
  10502. (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
  10503. (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
  10504. (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):
  10505. (WebInspector.ElementsTreeElement.prototype._editingCancelled):
  10506. ():
  10507. * inspector/front-end/externs.js:
  10508. (WebInspector.ElementsTreeOutline):
  10509. * inspector/front-end/utilities.js:
  10510. 2011-10-05 Yury Semikhatsky <yurys@chromium.org>
  10511. Web Inspector: provide a way for persisting worker inspector state
  10512. https://bugs.webkit.org/show_bug.cgi?id=69422
  10513. Worker inspector can persist and restore its state. InspectorStateClient is
  10514. exctracted into a separate interface and has a custom implementation in case
  10515. of worker inspector.
  10516. Reviewed by Pavel Feldman.
  10517. * GNUmakefile.list.am:
  10518. * WebCore.gypi:
  10519. * WebCore.vcproj/WebCore.vcproj:
  10520. * WebCore.xcodeproj/project.pbxproj:
  10521. * inspector/InspectorClient.h:
  10522. * inspector/InspectorState.cpp:
  10523. (WebCore::InspectorState::InspectorState):
  10524. * inspector/InspectorState.h:
  10525. * inspector/InspectorStateClient.h: Copied from Source/WebCore/inspector/InspectorClient.h.
  10526. (WebCore::InspectorStateClient::~InspectorStateClient):
  10527. (WebCore::InspectorStateClient::updateInspectorStateCookie):
  10528. * inspector/WorkerInspectorController.cpp:
  10529. (WebCore::WorkerInspectorController::WorkerInspectorController):
  10530. (WebCore::WorkerInspectorController::restoreInspectorStateFromCookie):
  10531. * inspector/WorkerInspectorController.h:
  10532. * workers/DefaultSharedWorkerRepository.cpp:
  10533. (WebCore::SharedWorkerProxy::postMessageToPageInspector):
  10534. (WebCore::SharedWorkerProxy::updateInspectorStateCookie):
  10535. * workers/WorkerMessagingProxy.cpp:
  10536. (WebCore::WorkerMessagingProxy::updateInspectorStateCookie):
  10537. * workers/WorkerMessagingProxy.h:
  10538. * workers/WorkerReportingProxy.h:
  10539. 2011-10-05 Abhishek Arya <inferno@chromium.org>
  10540. Crash in SVGTRefElement::updateReferencedText.
  10541. https://bugs.webkit.org/show_bug.cgi?id=67555
  10542. Reviewed by Rob Buis.
  10543. Test: svg/text/tref-event-listener-crash.svg
  10544. * svg/SVGTRefElement.cpp:
  10545. (WebCore::SubtreeModificationEventListener::clear): This fixes the
  10546. crash. there can be cases when our target is removed, but our event
  10547. listener is alive. when our tref is going away, we need to disable
  10548. those event listeners by nulling out our tref element.
  10549. (WebCore::SubtreeModificationEventListener::handleEvent): Adding
  10550. null check for tref element, which can happen in cases where
  10551. event listener's clear is called, but we could not remove it from
  10552. the target.
  10553. (WebCore::SVGTRefElement::~SVGTRefElement): There are always
  10554. cases when removedFromDocument is not called. So, important to
  10555. clear event listener in those cases.
  10556. (WebCore::SVGTRefElement::svgAttributeChanged): Use common
  10557. function buildPendingResource.
  10558. (WebCore::SVGTRefElement::buildPendingResource): Common function
  10559. to prevent triple duplication of same code. made it more readable.
  10560. (WebCore::SVGTRefElement::insertedIntoDocument): Use common
  10561. function buildPendingResource.
  10562. (WebCore::SVGTRefElement::removedFromDocument): Use new helper
  10563. removeEventListener.
  10564. (WebCore::SVGTRefElement::clearEventListener): Helper to clear
  10565. event listener. Name chosen to not collide with Node::removeEventListener.
  10566. * svg/SVGTRefElement.h: definition of new helpers.
  10567. * svg/SVGTextPathElement.cpp:
  10568. (WebCore::SVGTextPathElement::insertedIntoDocument): Copy same
  10569. logic as tref and use element. more asserts and easy bailouts.
  10570. 2011-10-05 Pavel Feldman <pfeldman@google.com>
  10571. Not reviewed: restoring : shortcut in inspector.
  10572. * inspector/front-end/ScriptsPanel.js:
  10573. (WebInspector.ScriptsPanel.prototype._createSidebarButtons):
  10574. 2011-10-05 Andreas Kling <kling@webkit.org>
  10575. Shrink FontDescription.
  10576. https://bugs.webkit.org/show_bug.cgi?id=69426
  10577. Reviewed by Nikolas Zimmermann.
  10578. Pack FontDescription's members in a bitfield, effectively shrinking
  10579. the class by two CPU-words. This reduces memory consumption by ~1 MB
  10580. on 64-bit when loading the full HTML5 spec.
  10581. * platform/graphics/FontDescription.h:
  10582. (WebCore::FontDescription::orientation):
  10583. (WebCore::FontDescription::textOrientation):
  10584. (WebCore::FontDescription::widthVariant):
  10585. 2011-10-05 Vsevolod Vlasov <vsevik@chromium.org>
  10586. Web Inspector: Add support for search in script content.
  10587. https://bugs.webkit.org/show_bug.cgi?id=69015
  10588. Reviewed by Pavel Feldman.
  10589. Tests: http/tests/inspector/search/search-in-concatenated-script.html
  10590. http/tests/inspector/search/search-in-script.html
  10591. * inspector/Inspector.json:
  10592. * inspector/InspectorDebuggerAgent.cpp:
  10593. (WebCore::InspectorDebuggerAgent::searchInContent):
  10594. (WebCore::InspectorDebuggerAgent::getScriptSource):
  10595. * inspector/InspectorDebuggerAgent.h:
  10596. * inspector/front-end/ContentProviders.js:
  10597. (WebInspector.ScriptContentProvider.prototype.searchInContent):
  10598. (WebInspector.ConcatenatedScriptsContentProvider.prototype._sortedScripts.var):
  10599. (WebInspector.ConcatenatedScriptsContentProvider.prototype._sortedScripts):
  10600. (WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent):
  10601. (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent.maybeCallback):
  10602. (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent.searchCallback):
  10603. (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent):
  10604. (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
  10605. * inspector/front-end/Script.js:
  10606. (WebInspector.Script.prototype.requestSource.didGetScriptSource):
  10607. (WebInspector.Script.prototype.requestSource):
  10608. (WebInspector.Script.prototype.searchInContent):
  10609. 2011-10-05 Alexis Menard <alexis.menard@openbossa.org>
  10610. [Qt][WK2] Default directories and paths are missing for LocalStorage, Database and IconDatabase.
  10611. https://bugs.webkit.org/show_bug.cgi?id=69111
  10612. Reviewed by Kenneth Rohde Christiansen.
  10613. Provide default path for LocalStorage, Database and IconDatabase using QDesktopServices.
  10614. No new tests : existing ones should cover.
  10615. * platform/qt/CookieJarQt.cpp:
  10616. (WebCore::SharedCookieJarQt::SharedCookieJarQt):
  10617. 2011-10-05 Patrick Gansterer <paroga@webkit.org>
  10618. Unreviewed build fix for !ENABLE(FILTERS) after r96203.
  10619. * rendering/svg/SVGResourcesCache.cpp:
  10620. (WebCore::SVGResourcesCache::clientUpdatedFromElement):
  10621. 2011-10-05 Ilya Tikhonovsky <loislo@chromium.org>
  10622. Unreviewed build fix for windows bots after r96679.
  10623. * html/NumberInputType.h:
  10624. 2011-10-04 Pavel Feldman <pfeldman@google.com>
  10625. Web Inspector: make ResourceView(s) compile
  10626. https://bugs.webkit.org/show_bug.cgi?id=69351
  10627. Reviewed by Yury Semikhatsky.
  10628. * inspector/compile-front-end.sh:
  10629. * inspector/front-end/CookiesTable.js:
  10630. (WebInspector.CookiesTable.prototype._sortCookies):
  10631. * inspector/front-end/DataGrid.js:
  10632. * inspector/front-end/EmptyView.js:
  10633. * inspector/front-end/FontView.js:
  10634. (WebInspector.FontView.prototype._createContentIfNeeded):
  10635. * inspector/front-end/ImageView.js:
  10636. (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad):
  10637. (WebInspector.ImageView.prototype._createContentIfNeeded):
  10638. (WebInspector.ImageView.prototype._openInNewTab):
  10639. * inspector/front-end/NetworkItemView.js:
  10640. * inspector/front-end/ResourceCookiesView.js:
  10641. * inspector/front-end/ResourceHTMLView.js:
  10642. (WebInspector.ResourceHTMLView.prototype.hide):
  10643. * inspector/front-end/ResourceHeadersView.js:
  10644. (WebInspector.ResourceHeadersView.prototype._refreshParms):
  10645. (WebInspector.ResourceHeadersView.prototype._refreshHeadersTitle):
  10646. (WebInspector.ResourceHeadersView.prototype._refreshHeaders):
  10647. (WebInspector.ResourceHeadersView.prototype._refreshHeadersText):
  10648. * inspector/front-end/ResourceJSONView.js:
  10649. (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.parseJSONP):
  10650. * inspector/front-end/ResourcePreviewView.js:
  10651. * inspector/front-end/ResourceResponseView.js:
  10652. * inspector/front-end/ResourceTimingView.js:
  10653. (WebInspector.ResourceTimingView.createTimingTable):
  10654. * inspector/front-end/ResourceView.js:
  10655. (WebInspector.ResourceSourceFrame):
  10656. * inspector/front-end/SourceFrame.js:
  10657. * inspector/front-end/TabbedPane.js:
  10658. * inspector/front-end/UIUtils.js:
  10659. (Number.secondsToString):
  10660. (Number.bytesToString):
  10661. * inspector/front-end/inspector.js:
  10662. 2011-10-04 Ilya Tikhonovsky <loislo@chromium.org>
  10663. Web Inspector: debuggerPresentatioModel.linkifyLocation leaks updateAnchor closure instances.
  10664. https://bugs.webkit.org/show_bug.cgi?id=69146
  10665. In many places we use linkifyLocation function to produce a link node which updates automatically when the source file is changed on the fly.
  10666. Such changes happen when we use pretty print or another operation that changes the source code somehow.
  10667. linkifyLocation associates a new instance of updateAnchor closure with the each link node and add the closure to the SourceMappingUpdated event's list.
  10668. As the result the node<->closure pairs wouldn't be collected until reset the UI and DebuggerPresentationModel.
  10669. Reviewed by Pavel Feldman.
  10670. Test: inspector/debugger/linkifier.html
  10671. * inspector/front-end/ConsoleMessage.js:
  10672. (WebInspector.ConsoleMessageImpl):
  10673. (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation):
  10674. * inspector/front-end/ConsoleView.js:
  10675. (WebInspector.ConsoleView.prototype._consoleCleared):
  10676. (WebInspector.ConsoleCommandResult):
  10677. (WebInspector.ConsoleMessage.create):
  10678. (WebInspector.ConsoleMessage.createTextMessage):
  10679. * inspector/front-end/DebuggerPresentationModel.js:
  10680. (WebInspector.DebuggerPresentationModel.prototype.createLinkifier):
  10681. (WebInspector.DebuggerPresentationModel.Linkifier):
  10682. (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
  10683. (WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
  10684. (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateSourceAnchors):
  10685. (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
  10686. * inspector/front-end/EventListenersSidebarPane.js:
  10687. (WebInspector.EventListenersSidebarPane.prototype.update.callback):
  10688. (WebInspector.EventListenersSidebarPane.prototype.update):
  10689. ():
  10690. * inspector/front-end/NetworkPanel.js:
  10691. (WebInspector.NetworkLogView):
  10692. (WebInspector.NetworkLogView.prototype._reset):
  10693. (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
  10694. * inspector/front-end/ProfileDataGridTree.js:
  10695. (WebInspector.ProfileDataGridNode.prototype.createCell):
  10696. * inspector/front-end/ProfileView.js:
  10697. (WebInspector.CPUProfileView):
  10698. (WebInspector.CPUProfileView.prototype._resetClicked):
  10699. * inspector/front-end/TimelinePanel.js:
  10700. (WebInspector.TimelinePanel):
  10701. (WebInspector.TimelinePanel.prototype._linkifyLocation):
  10702. (WebInspector.TimelinePanel.prototype._linkifyCallFrame):
  10703. (WebInspector.TimelinePanel.prototype._clearPanel):
  10704. (WebInspector.TimelinePanel.FormattedRecord):
  10705. (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
  10706. (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
  10707. (WebInspector.TimelinePanel.PopupContentHelper):
  10708. (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
  10709. (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
  10710. * inspector/front-end/inspector.js:
  10711. 2011-10-03 Andreas Kling <kling@webkit.org>
  10712. REGRESSION(r82611) InlineBox has 33 bits of bitset, causing alignment issues and extra memory use.
  10713. https://bugs.webkit.org/show_bug.cgi?id=64914
  10714. Reviewed by Antti Koivisto.
  10715. Remove InlineBox::prevOnLineExists() and its two accompanying bitfields
  10716. since nobody is using them anymore. nextOnLineExists() is still used by
  10717. GTK+ accessibility code.
  10718. Also added a compile-time assertion to guard against future bloating of
  10719. the InlineBox class.
  10720. * rendering/InlineBox.cpp:
  10721. (WebCore::SameSizeAsInlineBox::~SameSizeAsInlineBox):
  10722. * rendering/InlineBox.h:
  10723. (WebCore::InlineBox::InlineBox):
  10724. 2011-10-05 Andreas Kling <kling@webkit.org>
  10725. Shrink FontFallbackList.
  10726. https://bugs.webkit.org/show_bug.cgi?id=69093
  10727. Rubber-stamped by Antti Koivisto.
  10728. Workaround MSVC quirk by making enum bitfield "unsigned".
  10729. * platform/graphics/FontFallbackList.h:
  10730. 2011-10-05 Andreas Kling <kling@webkit.org>
  10731. Shrink StyleRareNonInheritedData.
  10732. https://bugs.webkit.org/show_bug.cgi?id=69331
  10733. Reviewed by Darin Adler.
  10734. Workaround MSVC quirk by making enum bitfields "unsigned".
  10735. * rendering/style/RenderStyle.h:
  10736. (WebCore::InheritedFlags::regionOverflow):
  10737. (WebCore::InheritedFlags::transformStyle3D):
  10738. (WebCore::InheritedFlags::backfaceVisibility):
  10739. (WebCore::InheritedFlags::pageSizeType):
  10740. * rendering/style/StyleRareNonInheritedData.h:
  10741. 2011-10-05 Pavel Feldman <pfeldman@chromium.org>
  10742. Web Inspector: add CSS model classes to the compilation.
  10743. https://bugs.webkit.org/show_bug.cgi?id=69376
  10744. Reviewed by Yury Semikhatsky.
  10745. * inspector/compile-front-end.sh:
  10746. * inspector/front-end/CSSCompletions.js:
  10747. * inspector/front-end/CSSKeywordCompletions.js:
  10748. (WebInspector.CSSKeywordCompletions.forProperty):
  10749. * inspector/front-end/CSSStyleModel.js:
  10750. (WebInspector.CSSStyleDeclaration):
  10751. (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
  10752. (WebInspector.CSSStyleModelResourceBinding.prototype.canSetContent):
  10753. * inspector/front-end/ResourceTreeModel.js:
  10754. * inspector/front-end/StylesSidebarPane.js:
  10755. (WebInspector.StylesSidebarPane.prototype._containsInherited):
  10756. (WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
  10757. (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
  10758. (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
  10759. * inspector/front-end/externs.js:
  10760. (Array.prototype.keySet):
  10761. 2011-10-05 Kent Tamura <tkent@chromium.org>
  10762. Input styles are unexpectedly shared regardless of required status difference.
  10763. https://bugs.webkit.org/show_bug.cgi?id=69402
  10764. Reviewed by Daniel Bates.
  10765. Tests: fast/css/pseudo-required-shared.html
  10766. * css/CSSStyleSelector.cpp:
  10767. (WebCore::CSSStyleSelector::canShareStyleWithControl): Check the difference of required().
  10768. 2011-10-04 Kent Tamura <tkent@chromium.org>
  10769. Remove Node::willBlur()
  10770. https://bugs.webkit.org/show_bug.cgi?id=69395
  10771. Reviewed by Ryosuke Niwa.
  10772. Revert the WebCore part of r87371 because
  10773. FrameSelection::textWillBeReplaced() doesn't set focus anymore.
  10774. No new tests. Covered by fast/forms/input-number-blur-twice.html.
  10775. * dom/Document.cpp:
  10776. (WebCore::Document::setFocusedNode): Revert r87371.
  10777. * dom/Node.cpp: ditto.
  10778. * dom/Node.h: ditto.
  10779. * html/HTMLInputElement.cpp:
  10780. (WebCore::HTMLInputElement::handleBlurEvent): ditto.
  10781. * html/HTMLInputElement.h: ditto.
  10782. * html/InputType.cpp:
  10783. (WebCore::InputType::handleBlurEvent): ditto.
  10784. * html/InputType.h: ditto.
  10785. * html/NumberInputType.cpp:
  10786. (WebCore::NumberInputType::handleBlurEvent): ditto.
  10787. * html/NumberInputType.h: ditto.
  10788. 2011-10-04 Kent Tamura <tkent@chromium.org>
  10789. Introduce feature flags for incomplete input types
  10790. https://bugs.webkit.org/show_bug.cgi?id=68971
  10791. Reviewed by Hajime Morita.
  10792. * Configurations/FeatureDefines.xcconfig:
  10793. Add ENABLE_INPUT_TYPE_* flags. They are enabled only for iOS.
  10794. * html/DateInputType.cpp: Wrapped with ENABLE(INPUT_TYPE_DATE)
  10795. * html/DateInputType.h: ditto.
  10796. * html/DateTimeInputType.cpp: Wrapped with ENABLE(INPUT_TYPE_DATETIME)
  10797. * html/DateTimeInputType.h: ditto.
  10798. * html/DateTimeLocalInputType.cpp: Wrapped with ENABLE(INPUT_TYPE_DATETIMELOCAL)
  10799. * html/DateTimeLocalInputType.h: ditto.
  10800. * html/InputType.cpp:
  10801. (WebCore::createInputTypeFactoryMap):
  10802. Recognizes type attribute value only if it is enabled by ENABLE(INPUT_TYPE_*).
  10803. * html/MonthInputType.cpp: Wrapped with ENABLE(INPUT_TYPE_MONTH)
  10804. * html/MonthInputType.h: ditto.
  10805. * html/TimeInputType.cpp: Wrapped with ENABLE(INPUT_TYPE_TIME)
  10806. * html/TimeInputType.h: ditto.
  10807. * html/WeekInputType.cpp: Wrapped with ENABLE(INPUT_TYPE_WEEK)
  10808. * html/WeekInputType.h: ditto.
  10809. 2011-10-04 David Hyatt <hyatt@apple.com>
  10810. https://bugs.webkit.org/show_bug.cgi?id=69398
  10811. [CSS3 Regions] Support the region-overflow property properly.
  10812. (1) Change -webkit-break to break, since the -webkit-region-overflow property already has the
  10813. -webkit- extension.
  10814. (2) Fix clipping so that it works when overflow is set or when region break is set.
  10815. (3) Refactor all the pagination spots to check if a next page is available using the new hasNextPage
  10816. function. This prevents us from paginating if we hit the last region and further breaks are no longer
  10817. allowed.
  10818. Reviewed by Dan Bernstein.
  10819. Added new tests in fast/regions.
  10820. * css/CSSParser.cpp:
  10821. (WebCore::CSSParser::parseValue):
  10822. * css/CSSPrimitiveValueMappings.h:
  10823. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  10824. (WebCore::CSSPrimitiveValue::operator RegionOverflow):
  10825. * css/CSSValueKeywords.in:
  10826. * rendering/RenderBlock.cpp:
  10827. (WebCore::RenderBlock::collapseMargins):
  10828. (WebCore::RenderBlock::estimateLogicalTopPosition):
  10829. (WebCore::RenderBlock::hasNextPage):
  10830. (WebCore::RenderBlock::nextPageLogicalTop):
  10831. (WebCore::RenderBlock::applyBeforeBreak):
  10832. (WebCore::RenderBlock::applyAfterBreak):
  10833. (WebCore::RenderBlock::pageLogicalHeightForOffset):
  10834. (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
  10835. (WebCore::RenderBlock::adjustForUnsplittableChild):
  10836. (WebCore::RenderBlock::pushToNextPageWithMinimumLogicalHeight):
  10837. (WebCore::RenderBlock::adjustLinePositionForPagination):
  10838. * rendering/RenderBlock.h:
  10839. * rendering/RenderFlowThread.cpp:
  10840. (WebCore::RenderFlowThread::layout):
  10841. (WebCore::RenderFlowThread::repaintRectangleInRegions):
  10842. (WebCore::RenderFlowThread::regionRemainingLogicalHeightForLine):
  10843. * rendering/RenderFlowThread.h:
  10844. * rendering/RenderRegion.cpp:
  10845. (WebCore::RenderRegion::regionOverflowRect):
  10846. 2011-10-04 Mark Hahnenberg <mhahnenberg@apple.com>
  10847. Add static ClassInfo structs to classes that override JSCell::getCallData
  10848. https://bugs.webkit.org/show_bug.cgi?id=69311
  10849. Reviewed by Darin Adler.
  10850. No new tests.
  10851. Added ClassInfo structs to each class that defined its own getCallData
  10852. function but did not already have its own ClassInfo struct. This is a
  10853. necessary addition for when we switch over to looking up getCallData from
  10854. the MethodTable in ClassInfo rather than doing the virtual call (which we
  10855. are removing). These new ClassInfo structs are public because we often
  10856. use these structs in other areas of the code to uniquely identify JSC classes and
  10857. to enforce runtime invariants based on those class identities using ASSERTs.
  10858. Also added new createStructure methods to those classes that didn't have
  10859. them so that the new ClassInfo structs would be used when creating the Structures
  10860. in these classes.
  10861. * bridge/qt/qt_runtime.cpp:
  10862. * bridge/qt/qt_runtime.h:
  10863. 2011-10-03 Geoffrey Garen <ggaren@apple.com>
  10864. Some JSValue cleanup
  10865. https://bugs.webkit.org/show_bug.cgi?id=69320
  10866. Reviewed by Darin Adler.
  10867. * bindings/js/JSDOMBinding.cpp:
  10868. (WebCore::valueToDate):
  10869. * bindings/js/JSErrorHandler.cpp:
  10870. (WebCore::JSErrorHandler::handleEvent):
  10871. * bindings/js/JSEventListener.cpp:
  10872. (WebCore::JSEventListener::handleEvent):
  10873. * bindings/js/JSSQLTransactionCustom.cpp:
  10874. (WebCore::JSSQLTransaction::executeSql):
  10875. * bindings/js/JSSQLTransactionSyncCustom.cpp:
  10876. (WebCore::JSSQLTransactionSync::executeSql):
  10877. * bindings/js/ScriptValue.cpp:
  10878. (WebCore::jsToInspectorValue):
  10879. * bindings/js/SerializedScriptValue.cpp:
  10880. (WebCore::CloneSerializer::dumpIfTerminal):
  10881. * bindings/objc/WebScriptObject.mm:
  10882. (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
  10883. * bridge/jni/jsc/JNIUtilityPrivate.cpp:
  10884. (JSC::Bindings::convertValueToJValue): Updated for JSC changes.
  10885. 2011-10-04 Sadrul Habib Chowdhury <sadrul@chromium.org>
  10886. Fix FrameView::scrollElementToRect to take already scrolled amount into consideration.
  10887. https://bugs.webkit.org/show_bug.cgi?id=69220
  10888. Reviewed by Simon Fraser.
  10889. * page/FrameView.cpp:
  10890. (WebCore::FrameView::scrollElementToRect):
  10891. 2011-10-04 Anders Carlsson <andersca@apple.com>
  10892. Ignore the warning about using 'override'.
  10893. * WebCore.vcproj/WebCore.vcproj:
  10894. 2011-10-04 Sam Weinig <sam@webkit.org>
  10895. Stub out WorkerScriptController::disableEval for v8 to fix the build.
  10896. * bindings/v8/WorkerScriptController.cpp:
  10897. (WebCore::WorkerScriptController::disableEval):
  10898. * bindings/v8/WorkerScriptController.h:
  10899. 2011-10-04 Sam Weinig <sam@webkit.org>
  10900. OVERRIDE seems to not be working for Windows. Remove it for now.
  10901. * dom/Document.h:
  10902. * workers/WorkerContext.h:
  10903. 2011-10-04 Sam Weinig <sam@webkit.org>
  10904. Wean ContentSecurityPolicy from the Document
  10905. https://bugs.webkit.org/show_bug.cgi?id=69387
  10906. Reviewed by Adam Barth.
  10907. * bindings/js/WorkerScriptController.cpp:
  10908. (WebCore::WorkerScriptController::disableEval):
  10909. * bindings/js/WorkerScriptController.h:
  10910. * dom/Document.cpp:
  10911. (WebCore::Document::disableEval):
  10912. * dom/Document.h:
  10913. * workers/WorkerContext.cpp:
  10914. (WebCore::WorkerContext::disableEval):
  10915. * workers/WorkerContext.h:
  10916. * dom/ScriptExecutionContext.h:
  10917. Add pure virtual disableEval to ScriptExecutionContext, so that ContentSecurityPolicy
  10918. can call it for both Documents and WorkerContexts.
  10919. * page/ContentSecurityPolicy.cpp:
  10920. (WebCore::ContentSecurityPolicy::didReceiveHeader):
  10921. Call the new ScriptExecutionContext::disableEval() function.
  10922. (WebCore::ContentSecurityPolicy::reportViolation):
  10923. Use ScriptExecutionContext::addMessage() instead of going directly to the DOMWindow.
  10924. 2011-10-04 Anders Carlsson <andersca@apple.com>
  10925. Move code into ScrollElasticityController::beginScrollGesture()
  10926. https://bugs.webkit.org/show_bug.cgi?id=69383
  10927. Reviewed by John Sullivan.
  10928. * platform/mac/ScrollAnimatorMac.h:
  10929. Add new ScrollElasticityControllerClient member functions.
  10930. * platform/mac/ScrollAnimatorMac.mm:
  10931. (WebCore::ScrollAnimatorMac::isHorizontalScrollerPinnedToMinimumPosition):
  10932. (WebCore::ScrollAnimatorMac::isHorizontalScrollerPinnedToMaximumPosition):
  10933. (WebCore::ScrollAnimatorMac::stretchAmount):
  10934. (WebCore::ScrollAnimatorMac::startSnapRubberbandTimer):
  10935. (WebCore::ScrollAnimatorMac::stopSnapRubberbandTimer):
  10936. Implement the new ScrollElasticityControllerClient member functions.
  10937. (WebCore::ScrollAnimatorMac::beginScrollGesture):
  10938. Move code into ScrollElasticityController::beginScrollGesture and call it directly.
  10939. * platform/mac/ScrollElasticityController.h:
  10940. Add new ScrollElasticityControllerClient member functions.
  10941. * platform/mac/ScrollElasticityController.mm:
  10942. (WebCore::reboundDeltaForElasticDelta):
  10943. (WebCore::ScrollElasticityController::beginScrollGesture):
  10944. Set up the scroll gesture state.
  10945. (WebCore::ScrollElasticityController::stopSnapRubberbandTimer):
  10946. New helper function.
  10947. 2011-10-04 Scott Graham <scottmg@chromium.org>
  10948. Add GAMEPAD feature flag
  10949. https://bugs.webkit.org/show_bug.cgi?id=66859
  10950. Reviewed by Darin Fisher.
  10951. No new tests, as no new functionality yet.
  10952. * Configurations/FeatureDefines.xcconfig:
  10953. * GNUmakefile.am:
  10954. * features.pri:
  10955. 2011-10-04 Fady Samuel <fsamuel@chromium.org>
  10956. [Chromium] Moved files towards GTK removal
  10957. https://bugs.webkit.org/show_bug.cgi?id=69229
  10958. Reviewed by Tony Chang.
  10959. * WebCore.gypi:
  10960. * platform/chromium/PlatformThemeChromiumLinux.cpp: Renamed from Source/WebCore/platform/chromium/PlatformThemeChromiumGtk.cpp.
  10961. (WebCore::PlatformThemeChromiumLinux::setScrollbarColors):
  10962. (WebCore::clamp):
  10963. (WebCore::PlatformThemeChromiumLinux::saturateAndBrighten):
  10964. (WebCore::PlatformThemeChromiumLinux::outlineColor):
  10965. (WebCore::PlatformThemeChromiumLinux::paintArrowButton):
  10966. * platform/chromium/PlatformThemeChromiumLinux.h: Renamed from Source/WebCore/platform/chromium/PlatformThemeChromiumGtk.h.
  10967. (WebCore::PlatformThemeChromiumLinux::thumbInactiveColor):
  10968. (WebCore::PlatformThemeChromiumLinux::thumbActiveColor):
  10969. (WebCore::PlatformThemeChromiumLinux::trackColor):
  10970. (WebCore::PlatformThemeChromiumLinux::PlatformThemeChromiumLinux):
  10971. 2011-10-04 James Robinson <jamesr@chromium.org>
  10972. [chromium] Extract scheduling logic from CCThreadProxy to its own class
  10973. https://bugs.webkit.org/show_bug.cgi?id=69049
  10974. Reviewed by Kenneth Russell.
  10975. This partially extracts the commit/draw scheduling from CCThreadProxy to a separate isolated class. This makes
  10976. the commit/draw logic easier to test, understand and extend.
  10977. There is one subtle behavior change here to the way that the function formerly known as
  10978. CCLayerTreeHost::setNeedsCommitAndRedraw works. Previously, this would trigger a begin frame message, if one
  10979. wasn't pending, and then trigger a redraw if one wasn't pending. This was subtly wrong - the intent of that call
  10980. is that a redraw should happen after the commit. It isn't useful to draw before the commit occurs. This patch
  10981. changes the name of the function to setNeedsCommitThenRedraw and only requests a redraw after a commit occurs.
  10982. Covered by new CCSchedulerTest unit tests, CCLayerTreeHostTest unit tests, and compositing/ layout tests.
  10983. * WebCore.gypi:
  10984. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  10985. (WebCore::CCLayerTreeHost::initialize):
  10986. (WebCore::CCLayerTreeHost::setZoomAnimatorTransform):
  10987. (WebCore::CCLayerTreeHost::setNeedsCommitThenRedraw):
  10988. (WebCore::CCLayerTreeHost::setViewport):
  10989. (WebCore::CCLayerTreeHost::setVisible):
  10990. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  10991. * platform/graphics/chromium/cc/CCProxy.h:
  10992. * platform/graphics/chromium/cc/CCScheduler.cpp: Added.
  10993. (WebCore::CCScheduler::CCScheduler):
  10994. (WebCore::CCScheduler::requestCommit):
  10995. (WebCore::CCScheduler::requestCommitThenRedraw):
  10996. (WebCore::CCScheduler::requestRedraw):
  10997. (WebCore::CCScheduler::didCommit):
  10998. (WebCore::CCScheduler::didDraw):
  10999. * platform/graphics/chromium/cc/CCScheduler.h: Added.
  11000. (WebCore::CCSchedulerClient::~CCSchedulerClient):
  11001. (WebCore::CCScheduler::create):
  11002. (WebCore::CCScheduler::commitPending):
  11003. (WebCore::CCScheduler::redrawPending):
  11004. (WebCore::CCScheduler::redrawAfterCommit):
  11005. * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  11006. (WebCore::CCSingleThreadProxy::setNeedsCommitThenRedraw):
  11007. (WebCore::CCSingleThreadProxy::setNeedsRedraw):
  11008. (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
  11009. (WebCore::CCSingleThreadProxy::doComposite):
  11010. * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
  11011. * platform/graphics/chromium/cc/CCThreadProxy.cpp:
  11012. (WebCore::CCThreadProxySchedulerClient::create):
  11013. (WebCore::CCThreadProxySchedulerClient::~CCThreadProxySchedulerClient):
  11014. (WebCore::CCThreadProxySchedulerClient::scheduleBeginFrameAndCommit):
  11015. (WebCore::CCThreadProxySchedulerClient::scheduleDrawAndPresent):
  11016. (WebCore::CCThreadProxySchedulerClient::CCThreadProxySchedulerClient):
  11017. (WebCore::CCThreadProxy::CCThreadProxy):
  11018. (WebCore::CCThreadProxy::compositeAndReadback):
  11019. (WebCore::CCThreadProxy::initializeLayerRenderer):
  11020. (WebCore::CCThreadProxy::setNeedsCommit):
  11021. (WebCore::CCThreadProxy::setNeedsCommitOnCCThread):
  11022. (WebCore::CCThreadProxy::setNeedsCommitThenRedraw):
  11023. (WebCore::CCThreadProxy::setNeedsCommitThenRedrawOnCCThread):
  11024. (WebCore::CCThreadProxy::setNeedsRedraw):
  11025. (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
  11026. (WebCore::CCThreadProxy::finishAllRenderingOnCCThread):
  11027. (WebCore::CCThreadProxy::obtainBeginFrameAndCommitTaskFromCCThread):
  11028. (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
  11029. (WebCore::CCThreadProxy::beginFrameAndCommit):
  11030. (WebCore::CCThreadProxy::commitOnCCThread):
  11031. (WebCore::CCThreadProxy::drawLayersAndPresentOnCCThread):
  11032. (WebCore::CCThreadProxy::initializeImplOnCCThread):
  11033. * platform/graphics/chromium/cc/CCThreadProxy.h:
  11034. 2011-10-04 Alexey Proskuryakov <ap@apple.com>
  11035. https://bugs.webkit.org/show_bug.cgi?id=67774
  11036. PDF in a frameset is not displayed, always downloads
  11037. Reviewed by Darin Adler.
  11038. * WebCore.exp.in:
  11039. * WebCore.xcodeproj/project.pbxproj:
  11040. Added exports necessary to subclass a ScrollableArea.
  11041. 2011-10-04 Anders Carlsson <andersca@apple.com>
  11042. ScrollElasticityController should keep track of the rubberband timer state
  11043. https://bugs.webkit.org/show_bug.cgi?id=69381
  11044. Reviewed by Sam Weinig.
  11045. Add a m_snapRubberbandTimerIsActive member variable to ScrollElasticityController
  11046. and use it instead of checking whether the m_snapRubberbandTimer is active.
  11047. Eventually, ScrollElasticityControllerClient will have two member functions for starting
  11048. and stopping the timer, and the ScrollElasticityController will call them at the appropriate times.
  11049. * platform/mac/ScrollAnimatorMac.mm:
  11050. (WebCore::ScrollAnimatorMac::handleWheelEvent):
  11051. (WebCore::ScrollAnimatorMac::beginScrollGesture):
  11052. It's OK to stop the timer unconditionally.
  11053. (WebCore::ScrollAnimatorMac::snapRubberBand):
  11054. (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
  11055. * platform/mac/ScrollElasticityController.h:
  11056. * platform/mac/ScrollElasticityController.mm:
  11057. (WebCore::ScrollElasticityController::ScrollElasticityController):
  11058. 2011-10-04 Anders Carlsson <andersca@apple.com>
  11059. Move all rubber-banding related member variables to ScrollElasticityController
  11060. https://bugs.webkit.org/show_bug.cgi?id=69379
  11061. Reviewed by Dan Bernstein.
  11062. * platform/mac/ScrollAnimatorMac.h:
  11063. * platform/mac/ScrollAnimatorMac.mm:
  11064. (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
  11065. (WebCore::ScrollAnimatorMac::handleWheelEvent):
  11066. (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
  11067. (WebCore::ScrollAnimatorMac::beginScrollGesture):
  11068. (WebCore::ScrollAnimatorMac::snapRubberBand):
  11069. (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
  11070. * platform/mac/ScrollElasticityController.h:
  11071. * platform/mac/ScrollElasticityController.mm:
  11072. (WebCore::ScrollElasticityController::ScrollElasticityController):
  11073. 2011-10-04 Anders Carlsson <andersca@apple.com>
  11074. Build fixes for everyone.
  11075. * platform/chromium/ScrollAnimatorChromiumMac.h:
  11076. * platform/chromium/ScrollAnimatorChromiumMac.mm:
  11077. (WebCore::isScrollingLeftAndShouldNotRubberBand):
  11078. (WebCore::isScrollingRightAndShouldNotRubberBand):
  11079. (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
  11080. Fix Chromium build.
  11081. * platform/gtk/PlatformWheelEventGtk.cpp:
  11082. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  11083. Fix GTK+ build.
  11084. 2011-10-04 Anders Carlsson <andersca@apple.com>
  11085. Add a ScrollElasticityController class and move some members over from ScrollAnimatorMac
  11086. https://bugs.webkit.org/show_bug.cgi?id=69373
  11087. Reviewed by David Hyatt.
  11088. ScrollElasticityController is a new class that will handle the rubber-banding when handling scroll events.
  11089. * WebCore.xcodeproj/project.pbxproj:
  11090. * platform/mac/ScrollAnimatorMac.h:
  11091. * platform/mac/ScrollAnimatorMac.mm:
  11092. (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
  11093. (WebCore::ScrollAnimatorMac::handleWheelEvent):
  11094. (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
  11095. (WebCore::ScrollAnimatorMac::beginScrollGesture):
  11096. (WebCore::ScrollAnimatorMac::snapRubberBand):
  11097. (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
  11098. * platform/mac/ScrollElasticityController.h: Added.
  11099. (WebCore::ScrollElasticityControllerClient::~ScrollElasticityControllerClient):
  11100. * platform/mac/ScrollElasticityController.mm: Added.
  11101. (WebCore::ScrollElasticityController::ScrollElasticityController):
  11102. 2011-10-04 David Hyatt <hyatt@apple.com>
  11103. https://bugs.webkit.org/show_bug.cgi?id=69372
  11104. [CSS3 Regions] Make sure overflow:visible lets content spill out of regions.
  11105. Reviewed by Anders Carlsson.
  11106. No new tests, since plenty of results changed.
  11107. * rendering/RenderFlowThread.cpp:
  11108. (WebCore::RenderFlowThread::paintIntoRegion):
  11109. (WebCore::RenderFlowThread::hitTestRegion):
  11110. (WebCore::RenderFlowThread::repaintRectangleInRegions):
  11111. (WebCore::RenderFlowThread::firstRegion):
  11112. (WebCore::RenderFlowThread::lastRegion):
  11113. * rendering/RenderFlowThread.h:
  11114. * rendering/RenderRegion.cpp:
  11115. (WebCore::RenderRegion::regionOverflowRect):
  11116. (WebCore::RenderRegion::isFirstRegion):
  11117. (WebCore::RenderRegion::isLastRegion):
  11118. (WebCore::RenderRegion::layout):
  11119. * rendering/RenderRegion.h:
  11120. (WebCore::RenderRegion::setRegionRect):
  11121. (WebCore::RenderRegion::regionRect):
  11122. 2011-10-04 Chris Rogers <crogers@google.com>
  11123. Avoid unnecessary ASSERT in AudioDSPKernelProcessor::setNumberOfChannels()
  11124. https://bugs.webkit.org/show_bug.cgi?id=69361
  11125. Reviewed by James Robinson.
  11126. No new tests. This changes no JavaScript API.
  11127. * platform/audio/AudioDSPKernelProcessor.cpp:
  11128. (WebCore::AudioDSPKernelProcessor::setNumberOfChannels):
  11129. 2011-10-04 Anders Carlsson <andersca@apple.com>
  11130. Use const PlatformWheelEvent references where possible
  11131. https://bugs.webkit.org/show_bug.cgi?id=69367
  11132. Reviewed by Sam Weinig.
  11133. * page/EventHandler.cpp:
  11134. (WebCore::EventHandler::handleWheelEvent):
  11135. * platform/ScrollAnimator.cpp:
  11136. (WebCore::ScrollAnimator::handleWheelEvent):
  11137. * platform/ScrollAnimator.h:
  11138. * platform/ScrollView.cpp:
  11139. (WebCore::ScrollView::wheelEvent):
  11140. * platform/ScrollView.h:
  11141. * platform/ScrollableArea.cpp:
  11142. (WebCore::ScrollableArea::handleWheelEvent):
  11143. * platform/ScrollableArea.h:
  11144. * platform/chromium/ScrollAnimatorChromiumMac.h:
  11145. * platform/chromium/ScrollAnimatorChromiumMac.mm:
  11146. (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
  11147. * platform/mac/ScrollAnimatorMac.h:
  11148. * platform/mac/ScrollAnimatorMac.mm:
  11149. (WebCore::isScrollingLeftAndShouldNotRubberBand):
  11150. (WebCore::isScrollingRightAndShouldNotRubberBand):
  11151. (WebCore::ScrollAnimatorMac::handleWheelEvent):
  11152. (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
  11153. 2011-10-04 Andreas Kling <kling@webkit.org>
  11154. Shrink HTMLTableCellElement.
  11155. https://bugs.webkit.org/show_bug.cgi?id=69347
  11156. Reviewed by Antti Koivisto.
  11157. Don't cache the rowspan and colspan attributes on the element.
  11158. This shrinks HTMLTableCellElement by one CPU word, reducing memory
  11159. consumption by 80 kB (on 64-bit) when loading the full HTML5 spec.
  11160. * html/HTMLTableCellElement.cpp:
  11161. (WebCore::HTMLTableCellElement::HTMLTableCellElement):
  11162. (WebCore::HTMLTableCellElement::colSpan):
  11163. (WebCore::HTMLTableCellElement::rowSpan):
  11164. (WebCore::HTMLTableCellElement::parseMappedAttribute):
  11165. * html/HTMLTableCellElement.h:
  11166. 2011-10-04 Sheriff Bot <webkit.review.bot@gmail.com>
  11167. Unreviewed, rolling out r96630.
  11168. http://trac.webkit.org/changeset/96630
  11169. https://bugs.webkit.org/show_bug.cgi?id=69368
  11170. Caused assertion failures in validateCell (Requested by
  11171. mhahnenberg on #webkit).
  11172. * bridge/qt/qt_runtime.cpp:
  11173. * bridge/qt/qt_runtime.h:
  11174. 2011-10-04 Cary Clark <caryclark@google.com>
  11175. Enable sub pixel text (Skia on Mac)
  11176. https://bugs.webkit.org/show_bug.cgi?id=69354
  11177. http://code.google.com/p/chromium/issues/detail?id=98165
  11178. Reviewed by Eric Seidel.
  11179. No new tests. Layout test pixel results have been
  11180. disabled and will be rebaselined once all Skia on Mac
  11181. changes are in.
  11182. * platform/graphics/skia/FontSkia.cpp:
  11183. (WebCore::setupPaint):
  11184. Enable sub pixel text. This is set by default to enabled
  11185. by CoreGraphics, but by default disabled on Skia.
  11186. 2011-10-04 Anders Carlsson <andersca@apple.com>
  11187. Remove PlatformWheelEvent::m_isAccepted
  11188. https://bugs.webkit.org/show_bug.cgi?id=69357
  11189. Reviewed by Darin Adler.
  11190. Remove PlatformWheelEvent::m_isAccepted and all the getters/setters.
  11191. * page/EventHandler.cpp:
  11192. (WebCore::EventHandler::handleWheelEvent):
  11193. (WebCore::EventHandler::handleGestureEvent):
  11194. * page/mac/EventHandlerMac.mm:
  11195. (WebCore::EventHandler::wheelEvent):
  11196. * platform/PlatformWheelEvent.h:
  11197. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  11198. * platform/ScrollAnimator.cpp:
  11199. (WebCore::ScrollAnimator::handleWheelEvent):
  11200. * platform/chromium/PopupContainer.cpp:
  11201. (WebCore::PopupContainer::handleGestureEvent):
  11202. * platform/chromium/ScrollAnimatorChromiumMac.mm:
  11203. (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
  11204. * platform/efl/PlatformWheelEventEfl.cpp:
  11205. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  11206. * platform/mac/ScrollAnimatorMac.mm:
  11207. (WebCore::ScrollAnimatorMac::handleWheelEvent):
  11208. * platform/mac/WheelEventMac.mm:
  11209. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  11210. * platform/qt/WheelEventQt.cpp:
  11211. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  11212. * platform/win/WheelEventWin.cpp:
  11213. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  11214. * platform/wx/MouseWheelEventWx.cpp:
  11215. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  11216. 2011-09-21 Cris Neckar <cdn@chromium.org>
  11217. Hold refptr to identified previous sibling within findPlaceForCounter.
  11218. https://bugs.webkit.org/show_bug.cgi?id=68563
  11219. Reviewed by Adam Barth.
  11220. Test: fast/css/counters/counter-after-style-crash.html
  11221. * rendering/RenderCounter.cpp:
  11222. (WebCore::findPlaceForCounter):
  11223. 2011-10-04 Joshua Bell <jsbell@chromium.org>
  11224. IndexedDB add() should fail if key is NaN
  11225. https://bugs.webkit.org/show_bug.cgi?id=62286
  11226. Reviewed by Tony Chang.
  11227. Test: storage/indexeddb/invalid-keys.html
  11228. Implement special case - numbers are valid keys, except for NaN.
  11229. * bindings/v8/IDBBindingUtilities.cpp:
  11230. (WebCore::createIDBKeyFromValue):
  11231. 2011-10-04 Mark Hahnenberg <mhahnenberg@apple.com>
  11232. Add static ClassInfo structs to classes that override JSCell::getCallData
  11233. https://bugs.webkit.org/show_bug.cgi?id=69311
  11234. Reviewed by Darin Adler.
  11235. No new tests.
  11236. Added ClassInfo structs to each class that defined its own getCallData
  11237. function but did not already have its own ClassInfo struct. This is a
  11238. necessary addition for when we switch over to looking up getCallData from
  11239. the MethodTable in ClassInfo rather than doing the virtual call (which we
  11240. are removing). These new ClassInfo structs are public because we often
  11241. use these structs in other areas of the code to uniquely identify JSC classes and
  11242. to enforce runtime invariants based on those class identities using ASSERTs.
  11243. * bridge/qt/qt_runtime.cpp:
  11244. * bridge/qt/qt_runtime.h:
  11245. 2011-10-04 Ryosuke Niwa <rniwa@webkit.org>
  11246. REGRESSION(r94274): setting input.value erroneously triggers focus event
  11247. https://bugs.webkit.org/show_bug.cgi?id=69315
  11248. Reviewed by Kent Tamura.
  11249. Fixed the bug by adding a new flag to setSelection to avoid calling setFocusedNodeIfNeeded
  11250. when called by nodeWillBeRemoved and textWillBeReplaced.
  11251. Added a manual test. Unfortunately, the test always passes in DRT.
  11252. * editing/FrameSelection.cpp:
  11253. (WebCore::FrameSelection::setSelection):
  11254. (WebCore::FrameSelection::respondToNodeModification):
  11255. (WebCore::FrameSelection::textWillBeReplaced):
  11256. * editing/FrameSelection.h:
  11257. * manual-tests/mutate-unfocused-text-with-selection.html: Added.
  11258. 2011-10-04 Young Han Lee <joybro201@gmail.com>
  11259. HTML canvas strokes with dash and dashOffset
  11260. https://bugs.webkit.org/show_bug.cgi?id=63933
  11261. Reviewed by Simon Fraser.
  11262. Add webkitLineDash and webkitLineDashOffset attributes to CanvasRenderingContext2D for JSC.
  11263. These attributes can be used to determine the dash-style of stroke in HTML Canvas.
  11264. As this kind of attributes are not specified in the HTML Canvas specification yet,
  11265. the 'webkit' prefix is added to its names.
  11266. Mozilla already implemented these attributes, mozDash and mozDashOffset [1], and this patch
  11267. is created by referring to the implementation. This patch is basically using the specified
  11268. behavior of stroke-dasharray and stroke-dashoffset in the SVG specification [2], except
  11269. that doesn't support units or percentages, just floating point numbers.
  11270. [1] https://bugzilla.mozilla.org/show_bug.cgi?id=662038
  11271. [2] http://www.w3.org/TR/SVG/painting.html#StrokeProperties
  11272. Tests: fast/canvas/canvas-webkitLineDash-invalid.html
  11273. fast/canvas/canvas-webkitLineDash.html
  11274. * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
  11275. (WebCore::JSCanvasRenderingContext2D::webkitLineDash):
  11276. (WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
  11277. * html/canvas/CanvasRenderingContext2D.cpp:
  11278. (WebCore::CanvasRenderingContext2D::State::State):
  11279. (WebCore::CanvasRenderingContext2D::webkitLineDash):
  11280. (WebCore::CanvasRenderingContext2D::setWebkitLineDash):
  11281. (WebCore::CanvasRenderingContext2D::webkitLineDashOffset):
  11282. (WebCore::CanvasRenderingContext2D::setWebkitLineDashOffset):
  11283. * html/canvas/CanvasRenderingContext2D.h:
  11284. * html/canvas/CanvasRenderingContext2D.idl:
  11285. 2011-10-04 Matthew Delaney <mdelaney@apple.com>
  11286. Allow canvas backing store to be lazily allocated
  11287. https://bugs.webkit.org/show_bug.cgi?id=67054
  11288. Reviewed by Darin Adler.
  11289. No new tests; doesn't affect behavior.
  11290. * html/HTMLCanvasElement.cpp:
  11291. (WebCore::HTMLCanvasElement::createImageBuffer): Removed the setting of lineWidth
  11292. that caused the eager creation of ImageBuffer to use its GraphicsContext.
  11293. * html/canvas/CanvasRenderingContext2D.cpp:
  11294. (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): Added in default
  11295. line width setting along with other default context settings.
  11296. 2011-10-04 Sam Weinig <sam@webkit.org>
  11297. Add support for the CSP connect-src directive
  11298. https://bugs.webkit.org/show_bug.cgi?id=69353
  11299. Reviewed by Adam Barth.
  11300. Add CSP support for XMLHttpRequest, WebSockets and EventSource.
  11301. Tests: http/tests/security/contentSecurityPolicy/connect-src-eventsource-allowed.html
  11302. http/tests/security/contentSecurityPolicy/connect-src-eventsource-blocked.html
  11303. http/tests/security/contentSecurityPolicy/connect-src-websocket-allowed.html
  11304. http/tests/security/contentSecurityPolicy/connect-src-websocket-blocked.html
  11305. http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-allowed.html
  11306. http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-blocked.html
  11307. * page/ContentSecurityPolicy.cpp:
  11308. (WebCore::ContentSecurityPolicy::allowConnectFromSource):
  11309. (WebCore::ContentSecurityPolicy::addDirective):
  11310. * page/ContentSecurityPolicy.h:
  11311. Add connect-src directive parsing and predicate.
  11312. * page/EventSource.cpp:
  11313. (WebCore::EventSource::create):
  11314. * websockets/WebSocket.cpp:
  11315. (WebCore::WebSocket::connect):
  11316. * xml/XMLHttpRequest.cpp:
  11317. (WebCore::XMLHttpRequest::open):
  11318. Test allowConnectFromSource when establishing a connection.
  11319. 2011-10-03 David Hyatt <hyatt@apple.com>
  11320. https://bugs.webkit.org/show_bug.cgi?id=69317
  11321. [CSS3 Regions] Make overflow:hidden/auto/scroll sections behave properly when split across regions. This
  11322. includes sizing and positioning independently in each region, clipping independently in each region, and
  11323. shifting to avoid floats in each region.
  11324. Reviewed by Anders Carlsson.
  11325. Added many new tests in fast/regions.
  11326. * editing/Editor.cpp:
  11327. (WebCore::Editor::insideVisibleArea):
  11328. Patching a call to overflowClipRect, which now includes a region argument so that clipping can be adjusted
  11329. per-region.
  11330. * rendering/RenderBlock.cpp:
  11331. (WebCore::RenderBlock::layoutBlock):
  11332. Don't clear out the cached region information when the width changes. Instead make a new call to
  11333. the flow thread to check if widths changed in any region and set relayoutChildren to true if so.
  11334. (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
  11335. This is a new function that has been split out from determineLogicalLeftPositionForChild so that it can
  11336. be called by region code to compute offsets independently in each region without altering the overall object's
  11337. logical left position.
  11338. (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
  11339. Patched to call computeStartPositionDeltaForChildAvoidingFloats instead of doing the work of avoiding the floats
  11340. itself.
  11341. (WebCore::RenderBlock::computeLogicalLocationForFloat):
  11342. Fix the left clamping code to clamp to the left border in the correct region rather than always just clamping
  11343. to 0.
  11344. (WebCore::RenderBlock::logicalLeftOffsetForContent):
  11345. (WebCore::RenderBlock::logicalRightOffsetForContent):
  11346. Tweaked to handle the new signature of borderBoxRectInRegion.
  11347. (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
  11348. Reworked not to return 0 on failure or when done, but to just return the current height. This is a more
  11349. fitting answer for the function to return when no more floats remain.
  11350. (WebCore::RenderBlock::getClearDelta):
  11351. Big changes to this function. It was never patched to support writing modes, so the new code is all
  11352. writing-mode-aware now. Also improved the computeLogicalWidth() call to make sure margins didn't get incorrectly changed.
  11353. The code computes transient information in each region as the object tries to find a place to fit, so that the
  11354. old widths are properly retained when layout of that child later checks to see if it needs to relayout children or not.
  11355. (WebCore::RenderBlock::nodeAtPoint):
  11356. Patched to call overflowClipRect with the region being hit tested.
  11357. (WebCore::inNormalFlow):
  11358. Tweaked to not need the initialBlock variable.
  11359. (WebCore::RenderBlock::applyBeforeBreak):
  11360. (WebCore::RenderBlock::applyAfterBreak):
  11361. (WebCore::RenderBlock::pageLogicalHeightForOffset):
  11362. (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
  11363. (WebCore::RenderBlock::adjustForUnsplittableChild):
  11364. (WebCore::RenderBlock::adjustLinePositionForPagination):
  11365. (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
  11366. Tweaked to use inRenderFlowThread() now that it exists. Also removing the regionsHaveUniformLogicalWidth()
  11367. optimization, since you can't rely on that when objects size differently depending on floats. In other words,
  11368. the future of pagination is variable width objects even in printing/columns.
  11369. (WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage):
  11370. Renamed to make it more clear what logicalPageOffset() was. It's your offset from the top of the first page.
  11371. (WebCore::RenderBlock::regionAtBlockOffset):
  11372. New helper function for accessing the region at a given offset within your block.
  11373. (WebCore::RenderBlock::logicalWidthChangedInRegions):
  11374. New helper function that computes whether or not your logical width information changed in any regions. If so,
  11375. relayoutChildren gets set to true (just as it would have when computeLogicalWidth for the overall block changes
  11376. values).
  11377. (WebCore::RenderBlock::collapsedMarginBeforeForChild):
  11378. (WebCore::RenderBlock::collapsedMarginAfterForChild):
  11379. (WebCore::RenderBlock::marginBeforeForChild):
  11380. (WebCore::RenderBlock::marginAfterForChild):
  11381. (WebCore::RenderBlock::marginLogicalLeftForChild):
  11382. (WebCore::RenderBlock::marginLogicalRightForChild):
  11383. (WebCore::RenderBlock::marginStartForChild):
  11384. (WebCore::RenderBlock::marginEndForChild):
  11385. Tweaked because of const to take const arguments.
  11386. * rendering/RenderBlock.h:
  11387. (WebCore::RenderBlock::availableLogicalWidthForLine):
  11388. (WebCore::RenderBlock::logicalRightOffsetForLine):
  11389. (WebCore::RenderBlock::logicalLeftOffsetForLine):
  11390. (WebCore::RenderBlock::startOffsetForLine):
  11391. (WebCore::RenderBlock::logicalWidthForChild):
  11392. (WebCore::RenderBlock::logicalHeightForChild):
  11393. (WebCore::RenderBlock::logicalTopForChild):
  11394. (WebCore::RenderBlock::logicalLeftForChild):
  11395. (WebCore::RenderBlock::availableLogicalWidthForContent):
  11396. (WebCore::RenderBlock::startOffsetForContent):
  11397. (WebCore::RenderBlock::logicalLeftOffsetForContent):
  11398. (WebCore::RenderBlock::logicalRightOffsetForContent):
  11399. Reworking these functions so versions exist that take regions and page offsets to avoid having to recalculate
  11400. where you are over and over again as you walk up a containing block chain.
  11401. * rendering/RenderBlockLineLayout.cpp:
  11402. (WebCore::LineWidth::fitBelowFloats):
  11403. Changed to handle the better return value for nextFloatLogicalBottomBelow.
  11404. (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
  11405. Removing the uniform logical width optimization.
  11406. * rendering/RenderBox.cpp:
  11407. (WebCore::RenderBox::borderBoxRectInRegion):
  11408. Changed to take a region and offset from the first page so that it doesn't have to be recomputed as you recur up
  11409. the containing block chain.
  11410. (WebCore::RenderBox::clearRenderBoxRegionInfo):
  11411. Changed to just use inRenderFlowThread().
  11412. (WebCore::RenderBox::pushContentsClip):
  11413. Changed for the new region-parameterized overflow clip function.
  11414. (WebCore::RenderBox::overflowClipRect):
  11415. Now takes a region so that a specific clip rect can be returned sized to the appropriate border box in that
  11416. region.
  11417. (WebCore::RenderBox::containingBlockLogicalWidthForContent):
  11418. (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
  11419. Objects in flow threads no longer shrink to avoid floats when computing their overall widths. The region-specific
  11420. check now does the shrinking. It checks at the point where the region slices the object, or the top of the object if
  11421. it begins in the middle of the region.
  11422. (WebCore::RenderBox::computeLogicalWidth):
  11423. (WebCore::RenderBox::computeLogicalWidthInRegion):
  11424. Push all the rest of the computeLogicalWidth code into computeLogicalWidthInRegion.
  11425. (WebCore::RenderBox::renderBoxRegionInfo):
  11426. Changed to take the region and the offset from the top of the first page to avoid recomputation.
  11427. * rendering/RenderBox.h:
  11428. (WebCore::RenderBox::hasRenderOverflow):
  11429. (WebCore::RenderBox::hasVisualOverflow):
  11430. New helper used by the RenderLayer code to avoid having to check visual overflow when none exists.
  11431. * rendering/RenderBoxModelObject.cpp:
  11432. (WebCore::RenderBoxModelObject::paintFillLayerExtended):
  11433. Use the new region-specific overflow clip.
  11434. * rendering/RenderBoxRegionInfo.h:
  11435. (WebCore::RenderBoxRegionInfo::shiftLogicalLeft):
  11436. Helper used by the region code to shift a box over when floats cause it to move.
  11437. * rendering/RenderFlowThread.cpp:
  11438. (WebCore::RenderFlowThread::computeLogicalWidth):
  11439. Remove the optimization to avoid creating box info for uniform widths.
  11440. (WebCore::RenderFlowThread::paintIntoRegion):
  11441. Make the clip rects used when painting the flow thread's layer tree temporary in each region.
  11442. (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
  11443. Removing the uniform logical width optimization
  11444. (WebCore::RenderFlowThread::logicalWidthChangedInRegions):
  11445. * rendering/RenderFlowThread.h:
  11446. New helper called to see if a block needs to relayout its children because its width changed in some
  11447. region.
  11448. * rendering/RenderLayer.cpp:
  11449. (WebCore::RenderLayer::paint):
  11450. (WebCore::RenderLayer::paintLayer):
  11451. (WebCore::RenderLayer::hitTestLayer):
  11452. (WebCore::RenderLayer::updateClipRects):
  11453. (WebCore::RenderLayer::calculateClipRects):
  11454. (WebCore::RenderLayer::parentClipRects):
  11455. (WebCore::RenderLayer::backgroundClipRect):
  11456. (WebCore::RenderLayer::calculateRects):
  11457. (WebCore::RenderLayer::childrenClipRect):
  11458. (WebCore::RenderLayer::selfClipRect):
  11459. (WebCore::RenderLayer::repaintBlockSelectionGaps):
  11460. * rendering/RenderLayer.h:
  11461. * rendering/RenderLayerBacking.cpp:
  11462. (WebCore::RenderLayerBacking::updateCompositedBounds):
  11463. (WebCore::clipBox):
  11464. (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
  11465. (WebCore::RenderLayerBacking::paintIntoLayer):
  11466. * rendering/RenderLayerCompositor.cpp:
  11467. (WebCore::RenderLayerCompositor::addToOverlapMap):
  11468. (WebCore::RenderLayerCompositor::clippedByAncestor):
  11469. Changing all the layer clipping code to pass regions through to all of the helper functions involved. This is
  11470. so overflowClipRect can ultimately take a region. Eventually when we get positioned objects moving independently
  11471. in each region, we'll patch the "clip" property as well, and it will be much easier because all the plumbing has
  11472. been put in place here for overflow.
  11473. * rendering/RenderObject.cpp:
  11474. (WebCore::RenderObject::enclosingRenderFlowThread):
  11475. Optimized to not walk up the render tree if we're in layout and a currentRenderFlowThread() exists.
  11476. * rendering/RenderRegion.cpp:
  11477. (WebCore::RenderRegion::renderBoxRegionInfo):
  11478. (WebCore::RenderRegion::setRenderBoxRegionInfo):
  11479. (WebCore::RenderRegion::takeRenderBoxRegionInfo):
  11480. Removing the optimization for uniform logical width regions. Changed remove to take so that the caller
  11481. can examine it before deleting.
  11482. (WebCore::RenderRegion::offsetFromLogicalTopOfFirstPage):
  11483. * rendering/RenderRegion.h:
  11484. Helper function that computes the region's offset from the top of the first page.
  11485. * rendering/RenderTable.cpp:
  11486. (WebCore::RenderTable::overflowClipRect):
  11487. (WebCore::RenderTable::nodeAtPoint):
  11488. * rendering/RenderTable.h:
  11489. * rendering/RenderTableCell.h:
  11490. * rendering/RenderTableSection.cpp:
  11491. (WebCore::RenderTableSection::nodeAtPoint):
  11492. Changed to pass the region to overflowClipRect.
  11493. * rendering/RenderTreeAsText.cpp:
  11494. (WebCore::writeLayers):
  11495. Modified because the layer clip functions need regions now.
  11496. * rendering/RenderView.h:
  11497. (WebCore::RenderView::pushLayoutState):
  11498. Changed to use inRenderFlowThread over view()->hasRenderFlowThread.
  11499. * rendering/svg/RenderSVGRoot.cpp:
  11500. (WebCore::RenderSVGRoot::paint):
  11501. Patched to use the new overflowClipRect that is region-specific.
  11502. 2011-10-04 Anders Carlsson <andersca@apple.com>
  11503. More work towards making PlatformWheelEvent immutable
  11504. https://bugs.webkit.org/show_bug.cgi?id=69348
  11505. Reviewed by Sam Weinig.
  11506. More work on getting rid of m_isAccepted from PlatformWheelEvent. Add more asserts
  11507. that the return value of handleWheelEvent is equal to m_isAccepted.
  11508. * page/EventHandler.cpp:
  11509. (WebCore::EventHandler::handleWheelEvent):
  11510. * platform/ScrollAnimator.cpp:
  11511. (WebCore::ScrollAnimator::handleWheelEvent):
  11512. 2011-10-04 Cary Clark <caryclark@google.com>
  11513. Inset focus ring (Skia on Mac)
  11514. https://bugs.webkit.org/show_bug.cgi?id=69166
  11515. http://code.google.com/p/chromium/issues/detail?id=97956
  11516. This focus ring was drawn too large and was left tracks
  11517. in subsequent invalidations. Make it more closely match
  11518. the CG version.
  11519. Reviewed by Adam Barth.
  11520. No new tests. This platform is not enabled.
  11521. * platform/graphics/skia/GraphicsContextSkia.cpp:
  11522. (WebCore::getFocusRingOutset):
  11523. (WebCore::GraphicsContext::drawFocusRing):
  11524. 2011-10-03 Jon Lee <jonlee@apple.com>
  11525. Extend DOM WheelEvent to differentiate between physical and logical scroll directions
  11526. https://bugs.webkit.org/show_bug.cgi?id=68959
  11527. <rdar://problem/10036688>
  11528. Reviewed by Sam Weinig.
  11529. Test: fast/events/wheelevent-direction-inverted-from-device.html
  11530. * dom/WheelEvent.cpp:
  11531. (WebCore::WheelEvent::WheelEvent):
  11532. (WebCore::WheelEvent::initWheelEvent):
  11533. (WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):
  11534. * dom/WheelEvent.h:
  11535. (WebCore::WheelEvent::create):
  11536. (WebCore::WheelEvent::webkitDirectionInvertedFromDevice):
  11537. * dom/WheelEvent.idl: Added the webkitDirectionInvertedFromDevice idl attribute.
  11538. * platform/PlatformWheelEvent.h:
  11539. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  11540. (WebCore::PlatformWheelEvent::webkitDirectionInvertedFromDevice):
  11541. * platform/efl/PlatformWheelEventEfl.cpp:
  11542. (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
  11543. * platform/gtk/PlatformWheelEventGtk.cpp:
  11544. (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
  11545. * platform/mac/WheelEventMac.mm:
  11546. (WebCore::PlatformWheelEvent::PlatformWheelEvent): if building on Lion or later, use
  11547. [NSEvent isDirectionInvertedFromDevice].
  11548. * platform/qt/WheelEventQt.cpp:
  11549. (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
  11550. * platform/win/WheelEventWin.cpp:
  11551. (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
  11552. * platform/wx/MouseWheelEventWx.cpp:
  11553. (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
  11554. 2011-10-04 Rémi Duraffort <remi.duraffort@st.com>
  11555. [EFL] Fix compilation when SQLite and/or libxslt are not installed in /usr/include
  11556. https://bugs.webkit.org/show_bug.cgi?id=69338
  11557. Unreviewed build fix
  11558. * CMakeListsEfl.txt:
  11559. 2011-10-03 Ken Buchanan <kenrb@chromium.org>
  11560. Resource loader should block HTTP redirects to local resources
  11561. https://bugs.webkit.org/show_bug.cgi?id=68706
  11562. Reviewed by Adam Barth.
  11563. Modified MainResourceLoader to add an extra security check on
  11564. HTTP redirects. Also, moved isFeedWithNestedProtocolInHTTPFamily
  11565. to SecurityOrigin.cpp.
  11566. * loader/FrameLoader.cpp:
  11567. (WebCore::isFeedWithNestedProtocolInHTTPFamily):
  11568. (WebCore::FrameLoader::loadFrameRequest):
  11569. * loader/MainResourceLoader.cpp:
  11570. (WebCore::MainResourceLoader::willSendRequest):
  11571. * page/SecurityOrigin.cpp:
  11572. (WebCore::isFeedWithNestedProtocolInHTTPFamily):
  11573. (WebCore::SecurityOrigin::canDisplay):
  11574. 2011-10-04 Cary Clark <caryclark@google.com>
  11575. Apply color profile found to decoded bitmap (Skia on Mac)
  11576. https://bugs.webkit.org/show_bug.cgi?id=69144
  11577. This fixes http://code.google.com/p/chromium/issues/detail?id=97830
  11578. Reviewed by Stephen White.
  11579. No new tests. This platform is not enabled.
  11580. * platform/image-decoders/ImageDecoder.h:
  11581. Add color profile slot to Skia variation.
  11582. * platform/image-decoders/skia/ImageDecoderSkia.cpp:
  11583. (WebCore::resolveColorSpace):
  11584. Adjust the bitmap in place to use the supplied color space.
  11585. (WebCore::createColorSpace):
  11586. Create a CGColorSpace from a color profile.
  11587. (WebCore::ImageFrame::setColorProfile):
  11588. Save the image's color profile until the image is complete.
  11589. (WebCore::ImageFrame::setStatus):
  11590. Apply the color profile, if any, to the image.
  11591. 2011-10-04 Leandro Pereira <leandro@profusion.mobi>
  11592. [CMake] Unreviewed: pass feature definitions in the right format for the CSS scripts.
  11593. The Perl scripts in the css/ directory expect the definitions passed via
  11594. --defines to be a string of space-separated entries, however we were passing a
  11595. list of semicolon-separated strings, thus making all feature defines actually
  11596. be ignored.
  11597. Detected after r96433, which checked for some definitions in
  11598. CSSPropertyNames.in.
  11599. No new tests, this is a build fix.
  11600. * CMakeLists.txt:
  11601. 2011-10-04 Pavel Feldman <pfeldman@google.com>
  11602. Web Inspector: make SourceFrame compile.
  11603. https://bugs.webkit.org/show_bug.cgi?id=69345
  11604. Reviewed by Yury Semikhatsky.
  11605. * inspector/compile-front-end.sh:
  11606. * inspector/front-end/DOMAgent.js:
  11607. (WebInspector.DOMAgent.prototype.inspectElement):
  11608. (WebInspector.DOMDispatcher.prototype.inspectElementRequested):
  11609. * inspector/front-end/ElementsPanel.js:
  11610. (WebInspector.ElementsPanel.prototype._inspectElementRequested):
  11611. * inspector/front-end/ObjectPropertiesSection.js:
  11612. (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):
  11613. (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
  11614. * inspector/front-end/ResourcesPanel.js:
  11615. (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
  11616. * inspector/front-end/SourceFrame.js:
  11617. (WebInspector.SourceFrame.prototype._onShowPopover.showObjectPopover):
  11618. (WebInspector.SourceFrame.prototype._onShowPopover):
  11619. (WebInspector.SourceFrame.prototype._editBreakpointCondition):
  11620. (WebInspector.SourceFrame.prototype.startEditing):
  11621. (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
  11622. (WebInspector.SourceFrame.prototype.commitEditing):
  11623. (WebInspector.SourceFrameDelegate.prototype.requestContent):
  11624. (WebInspector.SourceFrameDelegate.prototype.debuggingSupported):
  11625. (WebInspector.SourceFrameDelegate.prototype.setBreakpoint):
  11626. (WebInspector.SourceFrameDelegate.prototype.removeBreakpoint):
  11627. (WebInspector.SourceFrameDelegate.prototype.updateBreakpoint):
  11628. (WebInspector.SourceFrameDelegate.prototype.findBreakpoint):
  11629. (WebInspector.SourceFrameDelegate.prototype.continueToLine):
  11630. (WebInspector.SourceFrameDelegate.prototype.canEditScriptSource):
  11631. (WebInspector.SourceFrameDelegate.prototype.setScriptSource):
  11632. (WebInspector.SourceFrameDelegate.prototype.setScriptSourceIsBeingEdited):
  11633. (WebInspector.SourceFrameDelegate.prototype.debuggerPaused):
  11634. (WebInspector.SourceFrameDelegate.prototype.evaluateInSelectedCallFrame):
  11635. (WebInspector.SourceFrameDelegate.prototype.releaseEvaluationResult):
  11636. (WebInspector.SourceFrameDelegate.prototype.suggestedFileName):
  11637. * inspector/front-end/externs.js:
  11638. (WebInspector.log):
  11639. * inspector/front-end/inspector.js:
  11640. (WebInspector.log.logMessage):
  11641. (WebInspector.log):
  11642. * inspector/front-end/utilities.js:
  11643. ():
  11644. 2011-10-04 Mikhail Naganov <mnaganov@chromium.org>
  11645. Web Inspector: Factor out object properties popup.
  11646. https://bugs.webkit.org/show_bug.cgi?id=69234
  11647. Also, for HTML elements, show a non-empty id value in the element name.
  11648. Reviewed by Pavel Feldman.
  11649. * WebCore.gypi:
  11650. * WebCore.vcproj/WebCore.vcproj:
  11651. * inspector/front-end/ObjectPopoverHelper.js: Added.
  11652. * inspector/front-end/SourceFrame.js: Extracted from here.
  11653. (WebInspector.SourceFrame.prototype._initializeTextViewer):
  11654. (WebInspector.SourceFrame.prototype._mouseDown):
  11655. (WebInspector.SourceFrame.prototype._onShowPopover.showObjectPopover):
  11656. (WebInspector.SourceFrame.prototype._onShowPopover):
  11657. * inspector/front-end/WebKit.qrc:
  11658. * inspector/front-end/inspector.html:
  11659. 2011-10-04 Pavel Feldman <pfeldman@google.com>
  11660. Web Inspector: compile text editor.
  11661. https://bugs.webkit.org/show_bug.cgi?id=69339
  11662. Drive-by compilation for color, database and dom storage entities.
  11663. Reviewed by Yury Semikhatsky.
  11664. * inspector/Inspector.json:
  11665. * inspector/compile-front-end.sh:
  11666. * inspector/front-end/Color.js:
  11667. (WebInspector.Color.prototype._individualRGBValueToFloatValue):
  11668. * inspector/front-end/KeyboardShortcut.js:
  11669. (WebInspector.KeyboardShortcut.makeKey):
  11670. (WebInspector.KeyboardShortcut.makeKeyFromEvent):
  11671. (WebInspector.KeyboardShortcut.makeDescriptor):
  11672. * inspector/front-end/SourceCSSTokenizer.js:
  11673. * inspector/front-end/SourceCSSTokenizer.re2js:
  11674. * inspector/front-end/SourceHTMLTokenizer.js:
  11675. * inspector/front-end/SourceHTMLTokenizer.re2js:
  11676. * inspector/front-end/SourceJavaScriptTokenizer.js:
  11677. * inspector/front-end/SourceJavaScriptTokenizer.re2js:
  11678. * inspector/front-end/SourceTokenizer.js:
  11679. (WebInspector.SourceTokenizer.prototype._charAt):
  11680. (WebInspector.SourceTokenizer.prototype.createInitialCondition):
  11681. (WebInspector.SourceTokenizer.prototype.nextToken):
  11682. * inspector/front-end/TextEditorHighlighter.js:
  11683. (WebInspector.TextEditorHighlighter.prototype.highlight):
  11684. (WebInspector.TextEditorHighlighter.prototype._highlightLines):
  11685. * inspector/front-end/TextEditorModel.js:
  11686. * inspector/front-end/TextViewer.js:
  11687. (WebInspector.TextViewerDelegate.prototype.doubleClick):
  11688. (WebInspector.TextViewerDelegate.prototype.beforeTextChanged):
  11689. (WebInspector.TextViewerDelegate.prototype.afterTextChanged):
  11690. (WebInspector.TextViewerDelegate.prototype.commitEditing):
  11691. (WebInspector.TextViewerDelegate.prototype.cancelEditing):
  11692. (WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu):
  11693. (WebInspector.TextViewerDelegate.prototype.populateTextAreaContextMenu):
  11694. (WebInspector.TextViewerDelegate.prototype.suggestedFileName):
  11695. (WebInspector.TextEditorMainPanel.prototype._enclosingLineRowOrSelf):
  11696. (WebInspector.TextEditorMainPanel.prototype._createLink):
  11697. (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
  11698. (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
  11699. * inspector/front-end/externs.js:
  11700. (WebInspector.completeURL):
  11701. (window.getComputedStyle):
  11702. (Event.prototype.initWebKitWheelEvent):
  11703. * inspector/front-end/utilities.js:
  11704. 2011-10-04 Vsevolod Vlasov <vsevik@chromium.org>
  11705. Web Inspector: Timeline panel shortcut for filtering short records should have shorter description.
  11706. https://bugs.webkit.org/show_bug.cgi?id=69333
  11707. Reviewed by Pavel Feldman.
  11708. * English.lproj/localizedStrings.js:
  11709. * inspector/front-end/TimelinePanel.js:
  11710. (WebInspector.TimelinePanel.prototype._registerShortcuts):
  11711. 2011-10-04 Andreas Kling <kling@webkit.org>
  11712. Shrink StyleRareNonInheritedData.
  11713. https://bugs.webkit.org/show_bug.cgi?id=69331
  11714. Reviewed by Antti Koivisto.
  11715. Rearrange the members and move all small types into the bitfield.
  11716. This shrinks StyleRareNonInheritedData by two CPU words, reducing memory
  11717. consumption by 140 kB (on 64-bit) when loading the full HTML5 spec.
  11718. * rendering/style/StyleRareNonInheritedData.cpp:
  11719. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  11720. * rendering/style/StyleRareNonInheritedData.h:
  11721. 2011-10-04 Vsevolod Vlasov <vsevik@chromium.org>
  11722. Web Inspector: Remove http/tests/inspector/network/disabled-cache-crash.html.
  11723. https://bugs.webkit.org/show_bug.cgi?id=69332
  11724. Reviewed by Pavel Feldman.
  11725. * WebCore.exp.in:
  11726. * testing/Internals.cpp:
  11727. * testing/Internals.h:
  11728. * testing/Internals.idl:
  11729. 2011-10-04 Pavel Feldman <pfeldman@chromium.org>
  11730. Web Inspector: make DataGrid compile
  11731. https://bugs.webkit.org/show_bug.cgi?id=69334
  11732. Reviewed by Yury Semikhatsky.
  11733. * inspector/compile-front-end.sh:
  11734. * inspector/front-end/DataGrid.js:
  11735. (WebInspector.DataGrid):
  11736. (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode):
  11737. (WebInspector.DataGrid.prototype._startEditing):
  11738. (WebInspector.DataGrid.prototype._startEditingConfig):
  11739. (WebInspector.DataGrid.prototype._editingCommitted.moveToNextIfNeeded):
  11740. (WebInspector.DataGrid.prototype._editingCommitted):
  11741. (WebInspector.DataGrid.prototype._editingCancelled):
  11742. (WebInspector.DataGrid.prototype.removeChildrenRecursive):
  11743. (WebInspector.DataGrid.prototype._keyDown):
  11744. (WebInspector.DataGrid.prototype._startResizerDragging):
  11745. (WebInspector.DataGrid.prototype._resizerDragging):
  11746. (WebInspector.DataGrid.prototype._endResizerDragging):
  11747. (WebInspector.DataGridNode.prototype._attach):
  11748. * inspector/front-end/UIUtils.js:
  11749. (WebInspector.isBeingEdited):
  11750. (WebInspector.markBeingEdited):
  11751. (WebInspector.isEditingAnyField):
  11752. (WebInspector.EditingConfig):
  11753. (WebInspector.startEditing.blurEventListener):
  11754. (WebInspector.startEditing.getContent):
  11755. (WebInspector.startEditing.cleanUpAfterEditing):
  11756. (WebInspector.startEditing.editingCancelled):
  11757. (WebInspector.startEditing.editingCommitted):
  11758. (WebInspector.startEditing.defaultFinishHandler):
  11759. (WebInspector.startEditing):
  11760. (WebInspector.startEditing.pasteEventListener):
  11761. (WebInspector.startEditing.keyDownEventListener):
  11762. * inspector/front-end/externs.js:
  11763. (Array.prototype.remove):
  11764. (window.getComputedStyle):
  11765. * inspector/front-end/inspector.js:
  11766. 2011-10-04 Andrey Kosyakov <caseq@chromium.org>
  11767. Web Inspector: [Extensions API] extension panel's toolbar icon is incorrect when inspector window is docked
  11768. https://bugs.webkit.org/show_bug.cgi?id=69336
  11769. Reviewed by Pavel Feldman.
  11770. * inspector/front-end/ExtensionPanel.js:
  11771. (WebInspector.ExtensionPanel):
  11772. 2011-10-04 Pavel Podivilov <podivilov@chromium.org>
  11773. Web Inspector: update call frame location when source mapping is changed.
  11774. https://bugs.webkit.org/show_bug.cgi?id=68997
  11775. Currently we use fake "debugger-paused" event hack to update execution line and call stack placards when source mapping is changed.
  11776. - add PresentationCallFrame.createPlacard method to create "live" placards that are updated on source mapping changes.
  11777. - remove PresentationCallFrame functionName, isInternalScript, and url getters.
  11778. - fire execution-line-changed event when selected call frame or source mapping is changed.
  11779. Reviewed by Pavel Feldman.
  11780. * inspector/compile-front-end.sh:
  11781. * inspector/front-end/CallStackSidebarPane.js:
  11782. (WebInspector.CallStackSidebarPane.prototype.update):
  11783. * inspector/front-end/CompilerSourceMapping.js:
  11784. (WebInspector.ClosureCompilerSourceMappingPayload):
  11785. (WebInspector.ClosureCompilerSourceMapping):
  11786. (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappings):
  11787. * inspector/front-end/ContentProviders.js:
  11788. (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
  11789. (WebInspector.CompilerSourceMappingContentProvider.prototype.searchInContent):
  11790. * inspector/front-end/DebuggerPresentationModel.js:
  11791. (WebInspector.DebuggerPresentationModel):
  11792. (WebInspector.DebuggerPresentationModel.prototype.createPlacard.updatePlacard):
  11793. (WebInspector.DebuggerPresentationModel.prototype.createPlacard):
  11794. (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
  11795. (WebInspector.DebuggerPresentationModel.prototype._debuggerResumed):
  11796. (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
  11797. (WebInspector.DebuggerPresentationModel.prototype.get selectedCallFrame):
  11798. (WebInspector.DebuggerPresentationModel.prototype._dispatchExecutionLineChanged):
  11799. (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
  11800. (WebInspector.PresentationCallFrame):
  11801. (WebInspector.PresentationCallFrame.prototype.get rawSourceCode):
  11802. (WebInspector.PresentationCallFrame.prototype.uiLocation):
  11803. * inspector/front-end/ScriptsPanel.js:
  11804. (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetUILocation):
  11805. (WebInspector.ScriptsPanel.prototype._debuggerPaused):
  11806. (WebInspector.ScriptsPanel.prototype._executionLineChanged):
  11807. (WebInspector.ScriptsPanel.prototype._callFrameSelected):
  11808. * inspector/front-end/externs.js:
  11809. (WebInspector.displayNameForURL):
  11810. 2011-10-04 Pavel Feldman <pfeldman@chromium.org>
  11811. Not reviewed: inspector tests fix.
  11812. * inspector/front-end/ExtensionPanel.js:
  11813. (WebInspector.ExtensionPanel):
  11814. (WebInspector.ExtensionPanel.prototype.get toolbarItemLabel):
  11815. 2011-09-29 Pavel Podivilov <podivilov@chromium.org>
  11816. Web Inspector: add compiler source mapping support to RawSourceCode.
  11817. https://bugs.webkit.org/show_bug.cgi?id=68891
  11818. Reviewed by Pavel Feldman.
  11819. * WebCore.gypi:
  11820. * WebCore.vcproj/WebCore.vcproj:
  11821. * inspector/front-end/BreakpointManager.js:
  11822. (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
  11823. (WebInspector.BreakpointManager.prototype.setBreakpoint):
  11824. (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
  11825. * inspector/front-end/CompilerSourceMappingProvider.js: Added.
  11826. (WebInspector.CompilerSourceMappingProvider):
  11827. (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceMapping):
  11828. (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceCode):
  11829. * inspector/front-end/DebuggerPresentationModel.js:
  11830. (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
  11831. * inspector/front-end/RawSourceCode.js:
  11832. (WebInspector.RawSourceCode.prototype.setCompilerSourceMappingProvider):
  11833. (WebInspector.RawSourceCode.prototype._resourceFinished):
  11834. (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
  11835. (WebInspector.RawSourceCode.prototype._updateSourceMapping):
  11836. (WebInspector.RawSourceCode.prototype._createSourceMapping.didLoadSourceMapping):
  11837. (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
  11838. (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
  11839. (WebInspector.RawSourceCode.CompilerSourceMapping):
  11840. (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.rawLocationToUILocation):
  11841. (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.uiLocationToRawLocation):
  11842. (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.get uiSourceCodeList):
  11843. (WebInspector.CompilerSourceMappingProvider):
  11844. (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceMapping):
  11845. (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceCode):
  11846. * inspector/front-end/UISourceCodeContentProviders.js:
  11847. (WebInspector.CompilerSourceMappingContentProvider):
  11848. (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
  11849. * inspector/front-end/WebKit.qrc:
  11850. * inspector/front-end/inspector.html:
  11851. 2011-10-04 Pavel Feldman <pfeldman@google.com>
  11852. Web Inspector: start adding UI components to the compilation process.
  11853. https://bugs.webkit.org/show_bug.cgi?id=69319
  11854. Reviewed by Yury Semikhatsky.
  11855. * WebCore.gypi:
  11856. * WebCore.vcproj/WebCore.vcproj:
  11857. * inspector/compile-front-end.sh:
  11858. * inspector/front-end/Drawer.js:
  11859. (WebInspector.Drawer.prototype.show.animationFinished):
  11860. (WebInspector.Drawer.prototype.show):
  11861. (WebInspector.Drawer.prototype.resize):
  11862. * inspector/front-end/ElementsPanel.js:
  11863. (WebInspector.ElementsPanel.prototype.statusBarResized):
  11864. * inspector/front-end/EmptyView.js:
  11865. * inspector/front-end/Panel.js:
  11866. (WebInspector.Panel.prototype.set get toolbarItemLabel):
  11867. (WebInspector.Panel.prototype.get statusBarItems):
  11868. (WebInspector.Panel.prototype.updateMainViewWidth):
  11869. (WebInspector.Panel.prototype.statusBarResized):
  11870. * inspector/front-end/PropertiesSection.js:
  11871. * inspector/front-end/SearchController.js:
  11872. (WebInspector.SearchController.prototype._onKeyDown):
  11873. * inspector/front-end/Section.js:
  11874. (WebInspector.Section.prototype.set populated):
  11875. (WebInspector.Section.prototype.onpopulate):
  11876. (WebInspector.Section.prototype.expand):
  11877. * inspector/front-end/SidebarPane.js:
  11878. * inspector/front-end/Toolbar.js:
  11879. (WebInspector.Toolbar.createPanelToolbarItem):
  11880. (WebInspector.ToolbarDropdown.prototype.show):
  11881. * inspector/front-end/UIUtils.js: Added.
  11882. (WebInspector.elementDragStart):
  11883. (WebInspector.elementDragEnd):
  11884. (WebInspector.animateStyle):
  11885. (WebInspector.animateStyle.forceComplete):
  11886. (WebInspector.animateStyle.cancel):
  11887. * inspector/front-end/WebKit.qrc:
  11888. * inspector/front-end/externs.js:
  11889. (WebInspector.extensionServer.notifyPanelShown):
  11890. (WebInspector.extensionServer.notifyPanelHidden):
  11891. (WebInspector.currentPanel):
  11892. (WebInspector.setCurrentPanel):
  11893. * inspector/front-end/inspector.html:
  11894. * inspector/front-end/inspector.js:
  11895. 2011-10-04 Kenichi Ishibashi <bashi@chromium.org>
  11896. [Chromium] Implement font shaping with font-feature-settings on Windows
  11897. https://bugs.webkit.org/show_bug.cgi?id=65904
  11898. Reviewed by Kenneth Russell.
  11899. Use Uniscribe's OpenType APIs to shape complex text to support -webkit-font-feature-settings property.
  11900. No new tests. css3/font-feature-settings-rendering.html should pass by this patch.
  11901. * platform/graphics/chromium/UniscribeHelper.cpp:
  11902. (WebCore::loadOpenTypeFunctions):
  11903. (WebCore::UniscribeHelper::UniscribeHelper): Calls loadOpenTypeFunctions if needed.
  11904. (WebCore::UniscribeHelper::fillRuns): Uses ScriptItemizeOpenType() if possible.
  11905. (WebCore::UniscribeHelper::shape): Uses ScriptShapeOpenType() if possible.
  11906. (WebCore::UniscribeHelper::fillShapes): Adds OpenType script tag as an argument.
  11907. (WebCore::convertFeatureTag): Added.
  11908. (WebCore::UniscribeHelper::setRangeProperties): Added.
  11909. * platform/graphics/chromium/UniscribeHelper.h:
  11910. * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
  11911. (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun): Calls setRangeProperties().
  11912. 2011-10-04 Ryuan Choi <ryuan.choi@samsung.com>
  11913. [EFL] Implement declared but missing functions.
  11914. https://bugs.webkit.org/show_bug.cgi?id=65368
  11915. Unreviewed build fix for WebKit/Efl builds after r96566.
  11916. * platform/efl/CursorEfl.cpp:
  11917. (WebCore::Cursor::operator=):
  11918. * platform/efl/LocalizedStringsEfl.cpp:
  11919. (WebCore::localizedString):
  11920. 2011-10-04 Pavel Feldman <pfeldman@google.com>
  11921. Web Inspector: move abstract panel search logic into the only view that is using it.
  11922. https://bugs.webkit.org/show_bug.cgi?id=69328
  11923. Reviewed by Yury Semikhatsky.
  11924. * inspector/front-end/Panel.js:
  11925. (WebInspector.Panel.prototype.searchCanceled):
  11926. (WebInspector.Panel.prototype.performSearch):
  11927. (WebInspector.Panel.prototype.jumpToNextSearchResult):
  11928. (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
  11929. * inspector/front-end/ProfilesPanel.js:
  11930. (WebInspector.ProfilesPanel.prototype.performSearch.updateMatchesCount):
  11931. (WebInspector.ProfilesPanel.prototype.performSearch.updateMatchesCountSoon):
  11932. (WebInspector.ProfilesPanel.prototype.performSearch.finishedCallback):
  11933. (WebInspector.ProfilesPanel.prototype.performSearch.processChunk):
  11934. (WebInspector.ProfilesPanel.prototype.performSearch):
  11935. (WebInspector.ProfilesPanel.prototype.jumpToNextSearchResult):
  11936. (WebInspector.ProfilesPanel.prototype.jumpToPreviousSearchResult):
  11937. (WebInspector.ProfilesPanel.prototype._searchableViews):
  11938. (WebInspector.ProfilesPanel.prototype.searchCanceled):
  11939. 2011-10-04 Pavel Feldman <pfeldman@google.com>
  11940. Not reviewed: fixed poor inspector merge, drive-by front-endcompilation fix.
  11941. * inspector/front-end/ContentProviders.js:
  11942. (WebInspector.ScriptContentProvider.prototype.requestContent):
  11943. (WebInspector.ScriptContentProvider.prototype.searchInContent):
  11944. (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent):
  11945. * inspector/front-end/DebuggerPresentationModel.js:
  11946. 2011-10-04 Pavel Feldman <pfeldman@google.com>
  11947. Web Inspector: remove dependency from GoToLine dialog from Panel.
  11948. https://bugs.webkit.org/show_bug.cgi?id=69327
  11949. Reviewed by Yury Semikhatsky.
  11950. * inspector/front-end/GoToLineDialog.js:
  11951. (WebInspector.GoToLineDialog.install):
  11952. (WebInspector.GoToLineDialog._show):
  11953. * inspector/front-end/NetworkItemView.js:
  11954. (WebInspector.NetworkItemView.prototype._tabSelected):
  11955. (WebInspector.ResourceContentView.prototype.contentLoaded):
  11956. (WebInspector.ResourceContentView.prototype.canHighlightLine):
  11957. (WebInspector.ResourceContentView.prototype.highlightLine):
  11958. (set WebInspector):
  11959. * inspector/front-end/NetworkPanel.js:
  11960. (WebInspector.NetworkPanel.viewGetter):
  11961. (WebInspector.NetworkPanel):
  11962. * inspector/front-end/Panel.js:
  11963. (WebInspector.Panel.prototype.registerShortcut):
  11964. * inspector/front-end/ResourcesPanel.js:
  11965. (WebInspector.ResourcesPanel.viewGetter):
  11966. (WebInspector.ResourcesPanel):
  11967. (WebInspector.ResourcesPanel.prototype.showResource):
  11968. * inspector/front-end/ScriptsPanel.js:
  11969. (WebInspector.ScriptsPanel.viewGetter):
  11970. * inspector/front-end/SourceFrame.js:
  11971. (WebInspector.SourceFrame.prototype.canHighlightLine):
  11972. * inspector/front-end/TabbedPane.js:
  11973. (WebInspector.TabbedPane.prototype._hideTab):
  11974. (WebInspector.TabbedPane.prototype.canHighlightLine):
  11975. (WebInspector.TabbedPane.prototype.highlightLine):
  11976. * inspector/front-end/View.js:
  11977. (WebInspector.View.prototype.canHighlightLine):
  11978. (WebInspector.View.prototype.highlightLine):
  11979. 2011-10-04 Sheriff Bot <webkit.review.bot@gmail.com>
  11980. Unreviewed, rolling out r96491.
  11981. http://trac.webkit.org/changeset/96491
  11982. https://bugs.webkit.org/show_bug.cgi?id=69326
  11983. Breaks Slow Leopard inspector tests (Requested by pfeldman on
  11984. #webkit).
  11985. * inspector/Inspector.json:
  11986. * inspector/InspectorDebuggerAgent.cpp:
  11987. (WebCore::InspectorDebuggerAgent::getScriptSource):
  11988. * inspector/InspectorDebuggerAgent.h:
  11989. * inspector/front-end/ContentProviders.js:
  11990. (WebInspector.ScriptContentProvider.prototype.requestContent):
  11991. * inspector/front-end/Script.js:
  11992. (WebInspector.Script.prototype.requestSource.didGetScriptSource):
  11993. (WebInspector.Script.prototype.requestSource):
  11994. 2011-10-03 Pavel Feldman <pfeldman@google.com>
  11995. Web Inspector: add DebuggerPresentationModel and ConsoleView to compilation.
  11996. https://bugs.webkit.org/show_bug.cgi?id=69269
  11997. Reviewed by Yury Semikhatsky.
  11998. * inspector/compile-front-end.sh:
  11999. * inspector/front-end/BreakpointManager.js:
  12000. (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
  12001. * inspector/front-end/ConsoleView.js:
  12002. (WebInspector.ConsoleView.prototype._consoleCleared):
  12003. (WebInspector.ConsoleView.prototype._completions.evaluated.getCompletions):
  12004. (WebInspector.ConsoleView.prototype._completions.evaluated):
  12005. (WebInspector.ConsoleView.prototype._messagesClicked):
  12006. * inspector/front-end/ContentProviders.js:
  12007. (WebInspector.StaticContentProvider.prototype.requestContent):
  12008. (WebInspector.StaticContentProvider.prototype.searchInContent):
  12009. * inspector/front-end/ContextMenu.js:
  12010. * inspector/front-end/DebuggerPresentationModel.js:
  12011. (WebInspector.DebuggerPresentationModel.prototype._addScript):
  12012. (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
  12013. (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
  12014. (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScriptWithURL):
  12015. (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
  12016. (WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
  12017. (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
  12018. (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
  12019. (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
  12020. * inspector/front-end/HelpScreen.js:
  12021. * inspector/front-end/JavaScriptContextManager.js:
  12022. (WebInspector.FrameEvaluationContext.prototype.get displayName):
  12023. * inspector/front-end/KeyboardShortcut.js:
  12024. (WebInspector.KeyboardShortcut):
  12025. * inspector/front-end/Resource.js:
  12026. (WebInspector.Resource.displayName):
  12027. * inspector/front-end/ScriptFormatter.js:
  12028. (WebInspector.ScriptFormatter.prototype._didFormatContent):
  12029. * inspector/front-end/ShortcutsScreen.js:
  12030. * inspector/front-end/StatusBarButton.js:
  12031. * inspector/front-end/TextPrompt.js:
  12032. * inspector/front-end/externs.js:
  12033. (WebInspector.populateHrefContextMenu):
  12034. (WebInspector.useLowerCaseMenuTitles):
  12035. (WebInspector.ScriptsPanel.this.evaluateInSelectedCallFrame):
  12036. (WebInspector.ScriptsPanel.this.getSelectedCallFrameVariables):
  12037. (WebInspector.ScriptsPanel):
  12038. * inspector/front-end/inspector.js:
  12039. * inspector/front-end/utilities.js:
  12040. 2011-10-03 Ryosuke Niwa <rniwa@webkit.org>
  12041. Mac release build fix after r96561, and Leopard build fix after r96568.
  12042. * editing/TextCheckingHelper.h:
  12043. (WebCore::TextCheckingParagraph::textCharAt):
  12044. * page/mac/EventHandlerMac.mm:
  12045. (WebCore::EventHandler::wheelEvent):
  12046. 2011-10-03 Ryosuke Niwa <rniwa@webkit.org>
  12047. Build fix after r96568.
  12048. * accessibility/AccessibilityObject.cpp:
  12049. * accessibility/mac/WebAccessibilityObjectWrapper.mm:
  12050. * editing/Editor.cpp:
  12051. 2011-10-03 Shinya Kawanaka <shinyak@google.com>
  12052. Should call checkTextOfParagraph() indirectly to make unifying spell-checking code path easy.
  12053. https://bugs.webkit.org/show_bug.cgi?id=69241
  12054. Reviewed by Ryosuke Niwa.
  12055. WebCore has two different code paths for spell-checking:
  12056. 1) checkTextOfParagraph() for Snow Leopard or later
  12057. 2) checkSpellingOfString() for checkGrammarOfString() for other platforms.
  12058. At the first step, this patch introduces an indirect wrapper to call
  12059. checkTextOfParagraph() in Snow Leopard or later. This is intended to make it easy to
  12060. introduce a function for mimicing checkTextOfParagraph() in Chromium platform or
  12061. other non-SL or non-Lion platform.
  12062. No new tests because this patch does not change a behavior.
  12063. * accessibility/AccessibilityObject.cpp:
  12064. (WebCore::AccessibilityObject::hasMisspelling): Calling checkTextOfParagraph() indirectly.
  12065. * accessibility/mac/WebAccessibilityObjectWrapper.mm:
  12066. (AXAttributeStringSetSpelling): ditto.
  12067. * editing/Editor.cpp:
  12068. (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): ditto.
  12069. * editing/TextCheckingHelper.cpp:
  12070. (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar): ditto.
  12071. (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): ditto.
  12072. (WebCore::checkTextOfParagraph): Added.
  12073. * editing/TextCheckingHelper.h:
  12074. 2011-10-03 Darin Adler <darin@apple.com>
  12075. Change cursor to hand over missing plug-in message
  12076. https://bugs.webkit.org/show_bug.cgi?id=69312
  12077. Reviewed by Sam Weinig.
  12078. No tests because we currently don't have any test machinery for cursors.
  12079. * page/EventHandler.cpp:
  12080. (WebCore::OptionalCursor::OptionalCursor): Added. Construct an object
  12081. to represent either a cursor, or no cursor change.
  12082. (WebCore::OptionalCursor::isCursorChange): Added.
  12083. (WebCore::OptionalCursor::cursor): Added.
  12084. (WebCore::EventHandler::selectCursor): Changed return type to OptionalCursor,
  12085. moved some special cases from handleMouseMoveEvent in here. Moved the logic
  12086. for plug-ins and framesets into the specific renderer classes for those.
  12087. Added a call to the new getCursor virtual function.
  12088. (WebCore::EventHandler::handleMouseMoveEvent): Changed cursor setting code to
  12089. just be a call to selectCursor and then setCursor. Plug-in-specific code is now
  12090. in RenderWidget.
  12091. * page/EventHandler.h: Changed return type of selectCursor.
  12092. * page/MouseEventWithHitTestResults.cpp: Made some functions be inline.
  12093. * page/MouseEventWithHitTestResults.h:
  12094. (WebCore::MouseEventWithHitTestResults::localPoint): Made this inline.
  12095. (WebCore::MouseEventWithHitTestResults::scrollbar): Made this inline.
  12096. Yes, this has nothing to do with the rest of the patch, but it's good.
  12097. * rendering/RenderEmbeddedObject.cpp:
  12098. (WebCore::RenderEmbeddedObject::getReplacementTextGeometry): Made const.
  12099. (WebCore::RenderEmbeddedObject::isInMissingPluginIndicator): Made const.
  12100. Overloaded so it can be called with a point rather than an event.
  12101. (WebCore::shouldMissingPluginMessageBeButton): Added. Helps streamline
  12102. the logic below.
  12103. (WebCore::RenderEmbeddedObject::handleMissingPluginIndicatorEvent):
  12104. Changed to use shouldMissingPluginMessageBeButton.
  12105. (WebCore::RenderEmbeddedObject::getCursor): Added. Sets the cursor to
  12106. a hand when over the missing plug-in message.
  12107. * rendering/RenderEmbeddedObject.h: Added getCursor override. Also updated
  12108. for other changes above.
  12109. * rendering/RenderFrameSet.cpp:
  12110. (WebCore::RenderFrameSet::getCursor): Added. Contains the logic that used
  12111. to be hardcoded in EventHandler::selectCursor about cursors when over
  12112. resizable frame borders.
  12113. * rendering/RenderFrameSet.h: Added getCursor.
  12114. * rendering/RenderObject.cpp:
  12115. (WebCore::RenderObject::getCursor): Added. Returns SetCursorBasedOnStyle.
  12116. * rendering/RenderObject.h: Added getCursor.
  12117. * rendering/RenderWidget.cpp:
  12118. (WebCore::RenderWidget::getCursor): Added. Contains the logic that used
  12119. to be hardcoded in EventHandler::handleMouseMoveEvent to prevent setting
  12120. the cursor when the pointer is over a plug-in. This new code is much better,
  12121. because it only kicks in when there is actually a plug-in present. The old
  12122. was based on the HTML tag!
  12123. * rendering/RenderWidget.h: Added getCursor.
  12124. 2011-10-03 Anders Carlsson <andersca@apple.com>
  12125. Work towards making PlatformWheelEvent immutable
  12126. https://bugs.webkit.org/show_bug.cgi?id=69306
  12127. Reviewed by Sam Weinig.
  12128. Currently, PlatformWheelEvent has an m_isAccepted flag that tracks whether
  12129. the event has been handled or not. For all other event types, that state is instead
  12130. tracked by the return value of the various event handlers.
  12131. As a first step, add return values to the various handleWheelEvent functions and
  12132. add an assertion in EventHandler::wheelEvent that the return value is the same as
  12133. the state of PlatformWheelEvent::isAccepted.
  12134. * Configurations/Base.xcconfig:
  12135. Don't warn when using C++11 extensions.
  12136. * page/mac/EventHandlerMac.mm:
  12137. (WebCore::EventHandler::wheelEvent):
  12138. Assert that isAccepted matches the return value.
  12139. * platform/ScrollAnimator.cpp:
  12140. (WebCore::ScrollAnimator::handleWheelEvent):
  12141. Return isAccepted.
  12142. * platform/ScrollAnimator.h:
  12143. HandleWheelEvent now returns a boolean.
  12144. * platform/ScrollView.cpp:
  12145. (WebCore::ScrollView::wheelEvent):
  12146. Return whether the event was handled or not.
  12147. * platform/ScrollView.h:
  12148. ScrollView::wheelEvent now returns a bool.
  12149. * platform/ScrollableArea.cpp:
  12150. (WebCore::ScrollableArea::handleWheelEvent):
  12151. * platform/ScrollableArea.h:
  12152. ScrollableArea::handleWheelEvent now returns a bool.
  12153. * platform/chromium/ScrollAnimatorChromiumMac.h:
  12154. * platform/chromium/ScrollAnimatorChromiumMac.mm:
  12155. (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
  12156. Add return values, based on either the base class calls or the state of
  12157. PlatformWheelEvent::isAccepted().
  12158. * platform/mac/ScrollAnimatorMac.h:
  12159. * platform/mac/ScrollAnimatorMac.mm:
  12160. (WebCore::ScrollAnimatorMac::handleWheelEvent):
  12161. Ditto.
  12162. 2011-10-03 Dan Bernstein <mitz@apple.com>
  12163. <rdar://problem/9973489> REGRESSION (r66599): -[DOMNode boundingBox] returns the zero rect for SVG elements
  12164. https://bugs.webkit.org/show_bug.cgi?id=69305
  12165. Reviewed by Simon Fraser.
  12166. Test: svg/custom/boundingBox.html
  12167. Rather than asserting and returning the zero rect, take the transform-aware code path for computing SVG
  12168. bounding rects.
  12169. * rendering/svg/RenderSVGForeignObject.cpp:
  12170. (WebCore::RenderSVGForeignObject::mapLocalToContainer): Updated for change to SVGRenderSupport::mapLocalToContainer().
  12171. * rendering/svg/RenderSVGInline.cpp:
  12172. (WebCore::RenderSVGInline::mapLocalToContainer): Ditto.
  12173. * rendering/svg/RenderSVGModelObject.cpp:
  12174. (WebCore::RenderSVGModelObject::mapLocalToContainer): Ditto.
  12175. (WebCore::RenderSVGModelObject::absoluteRects): Replaced an incorrect assertion with code to approximate the bounding
  12176. box.
  12177. * rendering/svg/RenderSVGText.cpp:
  12178. (WebCore::RenderSVGText::mapLocalToContainer): Updated for change to SVGRenderSupport::mapLocalToContainer().
  12179. * rendering/svg/SVGRenderSupport.cpp:
  12180. (WebCore::SVGRenderSupport::mapLocalToContainer): Removed the fixed and useTransform boolean parameters.
  12181. * rendering/svg/SVGRenderSupport.h:
  12182. 2011-10-03 Michael Nordman <michaeln@google.com>
  12183. A little more WebSQLDatabase thread safety.
  12184. https://bugs.webkit.org/show_bug.cgi?id=69277
  12185. - switch to using AtomicallyInitializedStatic where appropiate
  12186. - avoid using some Strings across threads
  12187. Reviewed by David Levin.
  12188. Existing tests apply.
  12189. * storage/AbstractDatabase.cpp:
  12190. (WebCore::guidMutex):
  12191. (WebCore::guidToVersionMap):
  12192. (WebCore::guidToDatabaseMap):
  12193. (WebCore::guidForOriginAndName):
  12194. (WebCore::AbstractDatabase::databaseInfoTableName):
  12195. (WebCore::AbstractDatabase::AbstractDatabase):
  12196. (WebCore::AbstractDatabase::performOpenAndVerify):
  12197. (WebCore::AbstractDatabase::getVersionFromDatabase):
  12198. (WebCore::AbstractDatabase::setVersionInDatabase):
  12199. * storage/AbstractDatabase.h:
  12200. * storage/chromium/DatabaseTrackerChromium.cpp:
  12201. (WebCore::DatabaseTracker::tracker):
  12202. * storage/chromium/QuotaTracker.cpp:
  12203. (WebCore::QuotaTracker::instance):
  12204. 2011-10-03 Ryosuke Niwa <rniwa@webkit.org>
  12205. Replace m_firstNodeInserted and m_lastLeafInserted in ReplaceSelectionCommand by positions
  12206. https://bugs.webkit.org/show_bug.cgi?id=68874
  12207. Reviewed by Enrica Casucci.
  12208. Replaced m_firstNodeInserted and m_lastLeafInserted by m_startOfInsertedContent and m_endOfInsertedContent
  12209. respectively. Also removed removeNodePreservingChildren and removeNodeAndPruneAncestors in ReplaceSelectionCommand
  12210. because they were not virtual in CompositeEditCommand and implicitly overriding the functions was confusing.
  12211. Since each of these two functions is used at exactly one place, just update positions and insertedNodes explicitly.
  12212. * editing/CompositeEditCommand.cpp:
  12213. * editing/ReplaceSelectionCommand.cpp:
  12214. (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
  12215. (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
  12216. (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent):
  12217. (WebCore::ReplaceSelectionCommand::handleStyleSpans):
  12218. (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): Update m_endOfInsertedContent by endingSelection().visibleEnd()
  12219. instead of m_lastLeafInserted with destination.previous() because moveParagraph could have removed leading whitespace in
  12220. the text node referenced by destination. This is tested by an existing layout test.
  12221. (WebCore::ReplaceSelectionCommand::doApply):
  12222. (WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace): Update positions as needed. All changes are tested
  12223. by the existing layout tests in editing/pasteboard.
  12224. (WebCore::ReplaceSelectionCommand::updateNodesInserted):
  12225. * editing/ReplaceSelectionCommand.h:
  12226. * editing/htmlediting.cpp:
  12227. (WebCore::hasARenderedDescendant): Moved from CompositeEditCommand.cpp.
  12228. (WebCore::highestNodeToRemoveInPruning): Ditto.
  12229. * editing/htmlediting.h:
  12230. 2011-10-03 Ryosuke Niwa <rniwa@webkit.org>
  12231. REGRESSION(r94274): cloned text input loses value
  12232. https://bugs.webkit.org/show_bug.cgi?id=69095
  12233. Reviewed by Darin Adler.
  12234. The bug was caused by copyNonAttributeProperties not updating inner element text after copying
  12235. m_valueIfDirty. Fixed the bug by calling updateInnerTextValue.
  12236. Test: fast/forms/clone-input-with-dirty-value.html
  12237. * html/HTMLInputElement.cpp:
  12238. (WebCore::HTMLInputElement::copyNonAttributeProperties):
  12239. 2011-10-03 Ryosuke Niwa <rniwa@webkit.org>
  12240. Leopard build fix after r96530.
  12241. * rendering/svg/RenderSVGResourcePattern.cpp:
  12242. (WebCore::RenderSVGResourcePattern::applyResource):
  12243. 2011-10-03 Sam Weinig <sam@webkit.org>
  12244. Move ContentSecurityPolicy to the ScriptExecutionContext to prepare it for working with XHR and workers
  12245. https://bugs.webkit.org/show_bug.cgi?id=69294
  12246. Reviewed by Darin Adler.
  12247. * dom/Document.cpp:
  12248. (WebCore::Document::initSecurityContext):
  12249. Initialize the ContentSecurityPolicy by calling down to the ScriptExecutionContext.
  12250. * dom/Document.h:
  12251. Move the ContentSecurityPolicy member and getter from here to ScriptExecutionContext.h.
  12252. * dom/ScriptExecutionContext.cpp:
  12253. (WebCore::ScriptExecutionContext::setContentSecurityPolicy):
  12254. * dom/ScriptExecutionContext.h:
  12255. (WebCore::ScriptExecutionContext::contentSecurityPolicy):
  12256. Add ContentSecurityPolicy member and getter/setter.
  12257. * page/ContentSecurityPolicy.cpp:
  12258. (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
  12259. (WebCore::ContentSecurityPolicy::didReceiveHeader):
  12260. (WebCore::ContentSecurityPolicy::reportViolation):
  12261. (WebCore::ContentSecurityPolicy::parseReportURI):
  12262. (WebCore::ContentSecurityPolicy::createCSPDirective):
  12263. * page/ContentSecurityPolicy.h:
  12264. (WebCore::ContentSecurityPolicy::create):
  12265. Replace Document with ScriptExecutionContext. Add temporary checked casts to document
  12266. where necessary.
  12267. * workers/WorkerContext.cpp:
  12268. (WebCore::WorkerContext::WorkerContext):
  12269. Add initialization of the ContentSecurityPolicy.
  12270. 2011-10-03 Anders Carlsson <andersca@apple.com>
  12271. Remove custom scrollbar painting hooks
  12272. https://bugs.webkit.org/show_bug.cgi?id=69163
  12273. Reviewed by Alexey Proskuryakov.
  12274. The custom scrollbar and scroll corner painting hooks aren't used by anyone
  12275. so go ahead and remove them. This removes the setter/getter and ChromeClient functions.
  12276. * page/Chrome.cpp:
  12277. * page/ChromeClient.h:
  12278. * page/Settings.cpp:
  12279. (WebCore::Settings::Settings):
  12280. * page/Settings.h:
  12281. * platform/ScrollbarThemeComposite.cpp:
  12282. (WebCore::ScrollbarThemeComposite::paint):
  12283. (WebCore::ScrollbarThemeComposite::paintScrollCorner):
  12284. 2011-09-22 Darin Adler <darin@apple.com>
  12285. Rename many obviously-correct call sites in WebCore using releaseRef to use it by its new name leakRef
  12286. https://bugs.webkit.org/show_bug.cgi?id=68672
  12287. Reviewed by Daniel Bates.
  12288. * bindings/js/JSDOMWindowBase.cpp:
  12289. (WebCore::JSDOMWindowBase::commonJSGlobalData):
  12290. * css/CSSInitialValue.h:
  12291. (WebCore::CSSInitialValue::createExplicit):
  12292. (WebCore::CSSInitialValue::createImplicit):
  12293. * css/CSSPrimitiveValue.cpp:
  12294. (WebCore::CSSPrimitiveValue::init):
  12295. * css/CSSStyleSelector.cpp:
  12296. (WebCore::parseUASheet):
  12297. (WebCore::CSSStyleSelector::styleForElement):
  12298. * platform/ScrollView.cpp:
  12299. (WebCore::ScrollView::wheelEvent):
  12300. * platform/efl/RenderThemeEfl.cpp:
  12301. (WebCore::RenderTheme::themeForPage):
  12302. * platform/gtk/RenderThemeGtk.cpp:
  12303. (WebCore::RenderTheme::themeForPage):
  12304. * platform/haiku/RenderThemeHaiku.cpp:
  12305. (WebCore::RenderTheme::themeForPage):
  12306. * platform/network/cf/DNSCFNet.cpp:
  12307. (WebCore::DNSResolveQueue::resolve):
  12308. * platform/network/cf/ResourceHandleCFNet.cpp:
  12309. (WebCore::ResourceHandle::releaseConnectionForDownload):
  12310. * platform/qt/RenderThemeQt.cpp:
  12311. (WebCore::RenderTheme::themeForPage):
  12312. (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
  12313. * platform/text/BidiContext.cpp:
  12314. (WebCore::BidiContext::create):
  12315. * platform/wx/RenderThemeWx.cpp:
  12316. (WebCore::RenderTheme::themeForPage):
  12317. * rendering/RenderThemeChromiumLinux.cpp:
  12318. (WebCore::RenderTheme::themeForPage):
  12319. * rendering/RenderThemeChromiumMac.mm:
  12320. (WebCore::RenderTheme::themeForPage):
  12321. * rendering/RenderThemeChromiumSkia.cpp:
  12322. (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
  12323. (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
  12324. (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
  12325. * rendering/RenderThemeChromiumWin.cpp:
  12326. (WebCore::RenderTheme::themeForPage):
  12327. * rendering/RenderThemeMac.mm:
  12328. (WebCore::RenderTheme::themeForPage):
  12329. * rendering/RenderThemeSafari.cpp:
  12330. (WebCore::RenderTheme::themeForPage):
  12331. * rendering/RenderThemeWin.cpp:
  12332. (WebCore::RenderTheme::themeForPage):
  12333. (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
  12334. (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
  12335. (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
  12336. * rendering/RenderThemeWinCE.cpp:
  12337. (WebCore::RenderTheme::themeForPage):
  12338. * rendering/style/RenderStyle.cpp:
  12339. (WebCore::defaultStyle):
  12340. Call leakRef instead of releaseRef. I did this only in the cases where
  12341. it was obvious to me this was the right way to do it. I'll keep revisiting
  12342. sites still calling it releaseRef until they are all gone.
  12343. 2011-09-27 Ojan Vafai <ojan@chromium.org>
  12344. remove dead code in flipForWritingMode
  12345. https://bugs.webkit.org/show_bug.cgi?id=68948
  12346. Reviewed by Hajime Morita.
  12347. ChildToParentFlippingAdjustment is never used, so the third argument
  12348. to flipForWritingMode always has the same value.
  12349. In addition, renamed to flipForWritingModeForChild to be more clear
  12350. that it's operating on the child and renamed flipFloatForWritingMode to match.
  12351. No new tests. This is just a code cleanup. No functional changes.
  12352. * rendering/InlineBox.cpp:
  12353. (WebCore::InlineBox::paint):
  12354. * rendering/RenderBlock.cpp:
  12355. (WebCore::RenderBlock::paintChildren):
  12356. (WebCore::RenderBlock::flipFloatForWritingModeForChild):
  12357. (WebCore::RenderBlock::paintFloats):
  12358. (WebCore::RenderBlock::hitTestFloats):
  12359. (WebCore::RenderBlock::hitTestContents):
  12360. * rendering/RenderBlock.h:
  12361. * rendering/RenderBox.cpp:
  12362. (WebCore::RenderBox::flipForWritingModeForChild):
  12363. (WebCore::RenderBox::topLeftLocation):
  12364. * rendering/RenderBox.h:
  12365. * rendering/RenderTable.cpp:
  12366. (WebCore::RenderTable::paintObject):
  12367. (WebCore::RenderTable::nodeAtPoint):
  12368. * rendering/RenderTableRow.cpp:
  12369. (WebCore::RenderTableRow::nodeAtPoint):
  12370. * rendering/RenderTableSection.cpp:
  12371. (WebCore::RenderTableSection::paintCell):
  12372. (WebCore::RenderTableSection::nodeAtPoint):
  12373. 2011-10-03 Jer Noble <jer.noble@apple.com>
  12374. Unreviewed, rolling out r96526.
  12375. http://trac.webkit.org/changeset/96526
  12376. https://bugs.webkit.org/show_bug.cgi?id=68587
  12377. WEB_AUDIO has numerous 64->32 bit casting warnings, causing
  12378. build breakages where -Wall is enabled.
  12379. * Configurations/FeatureDefines.xcconfig:
  12380. * WebCore.xcodeproj/project.pbxproj:
  12381. 2011-10-03 Joseph Pecoraro <joepeck@webkit.org>
  12382. Web Inspector: rgb() with percentages shows wrong hex/hsl values
  12383. https://bugs.webkit.org/show_bug.cgi?id=69152
  12384. Reviewed by Pavel Feldman.
  12385. Previously we assumed rgb values were always in byte form,
  12386. but they could include percentage values. Ex. rgb(100%,0,0).
  12387. This patch fixes this, and in the process includes clamping
  12388. for invalid percentages, byte values, and alpha values.
  12389. Test: inspector/styles/styles-invalid-color-values.html
  12390. * inspector/front-end/Color.js:
  12391. (WebInspector.Color.prototype._clamp):
  12392. (WebInspector.Color.prototype._individualRGBValueToFloatValue):
  12393. (WebInspector.Color.prototype._individualRGBValueToHexValue):
  12394. (WebInspector.Color.prototype._rgbToHex):
  12395. (WebInspector.Color.prototype._rgbToHSL):
  12396. An individual rgb value can be either a decimal/float or a
  12397. percentage. Rewrite the conversion functions to handle either
  12398. input. Regardless of the type of input, always return a clamped
  12399. decimal/float value between 0 and 255.
  12400. (WebInspector.Color.prototype._rgbaToHSLA):
  12401. (WebInspector.Color.prototype._hslaToRGBA):
  12402. (WebInspector.Color.prototype._parse):
  12403. Clamp the alpha value between 0 and 1.
  12404. 2011-10-03 Dirk Schulze <krit@webkit.org>
  12405. SVG Pattern tile pixelated on patternTransform
  12406. https://bugs.webkit.org/show_bug.cgi?id=69261
  12407. Reviewed by Rob Buis.
  12408. Scale the SVG pattern tile by the scale level of patternTransform to avoid pixelation.
  12409. Test: svg/custom/pattern-scaled-pattern-space.svg
  12410. * rendering/svg/RenderSVGResourcePattern.cpp:
  12411. (WebCore::RenderSVGResourcePattern::applyResource):
  12412. 2011-10-03 Jer Noble <jer.noble@apple.com>
  12413. Enable WEB_AUDIO by default in the WebKit/mac port.
  12414. https://bugs.webkit.org/show_bug.cgi?id=68587
  12415. Reviewed by Simon Fraser.
  12416. No new tests; existing webaudio/ layout tests cover this.
  12417. * Configurations/FeatureDefines.xcconfig:
  12418. * WebCore.xcodeproj/project.pbxproj: Add a build step which copies audio resources to
  12419. the WebCore.framework bundle.
  12420. 2011-10-03 Chris Rogers <crogers@google.com>
  12421. BiquadFilterNode .type attribute is not handled correctly
  12422. https://bugs.webkit.org/show_bug.cgi?id=69182
  12423. Reviewed by Kenneth Russell.
  12424. Test: webaudio/biquadfilternode-basic.html
  12425. * platform/audio/AudioDSPKernelProcessor.cpp:
  12426. (WebCore::AudioDSPKernelProcessor::initialize):
  12427. * webaudio/AudioBufferSourceNode.cpp:
  12428. (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
  12429. * webaudio/AudioChannelMerger.cpp:
  12430. (WebCore::AudioChannelMerger::AudioChannelMerger):
  12431. * webaudio/AudioChannelSplitter.cpp:
  12432. (WebCore::AudioChannelSplitter::AudioChannelSplitter):
  12433. * webaudio/AudioDestinationNode.cpp:
  12434. (WebCore::AudioDestinationNode::AudioDestinationNode):
  12435. * webaudio/AudioGainNode.cpp:
  12436. (WebCore::AudioGainNode::AudioGainNode):
  12437. * webaudio/AudioNode.cpp:
  12438. (WebCore::AudioNode::AudioNode):
  12439. (WebCore::AudioNode::~AudioNode):
  12440. (WebCore::AudioNode::setNodeType):
  12441. (WebCore::AudioNode::ref):
  12442. (WebCore::AudioNode::finishDeref):
  12443. * webaudio/AudioNode.h:
  12444. (WebCore::AudioNode::nodeType):
  12445. * webaudio/AudioPannerNode.cpp:
  12446. (WebCore::AudioPannerNode::AudioPannerNode):
  12447. (WebCore::AudioPannerNode::notifyAudioSourcesConnectedToNode):
  12448. * webaudio/BiquadFilterNode.cpp:
  12449. (WebCore::BiquadFilterNode::BiquadFilterNode):
  12450. (WebCore::BiquadFilterNode::setType):
  12451. * webaudio/BiquadFilterNode.h:
  12452. * webaudio/BiquadFilterNode.idl:
  12453. * webaudio/BiquadProcessor.h:
  12454. (WebCore::BiquadProcessor::setType):
  12455. * webaudio/ConvolverNode.cpp:
  12456. (WebCore::ConvolverNode::ConvolverNode):
  12457. * webaudio/DelayNode.cpp:
  12458. (WebCore::DelayNode::DelayNode):
  12459. * webaudio/DynamicsCompressorNode.cpp:
  12460. (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
  12461. * webaudio/HighPass2FilterNode.cpp:
  12462. (WebCore::HighPass2FilterNode::HighPass2FilterNode):
  12463. * webaudio/JavaScriptAudioNode.cpp:
  12464. (WebCore::JavaScriptAudioNode::JavaScriptAudioNode):
  12465. * webaudio/LowPass2FilterNode.cpp:
  12466. (WebCore::LowPass2FilterNode::LowPass2FilterNode):
  12467. * webaudio/MediaElementAudioSourceNode.cpp:
  12468. (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
  12469. * webaudio/RealtimeAnalyserNode.cpp:
  12470. (WebCore::RealtimeAnalyserNode::RealtimeAnalyserNode):
  12471. * webaudio/WaveShaperNode.cpp:
  12472. (WebCore::WaveShaperNode::WaveShaperNode):
  12473. 2011-10-03 Chris Fleizach <cfleizach@apple.com>
  12474. AX: support role mapping for HTML5 section elements
  12475. https://bugs.webkit.org/show_bug.cgi?id=69150
  12476. We need to map these HTML5 elements to appropriate ARIA roles. That mapping is:
  12477. article -> Document article
  12478. nav -> Landmark navigation
  12479. aside -> Landmark complementary
  12480. section -> Document region
  12481. address -> Landmark content info
  12482. header -> Landmark banner (unless it's in an article or section)
  12483. footer -> Landmark content info (unless it's in an article or section)
  12484. Reviewed by Darin Adler.
  12485. Test: platform/mac/accessibility/html-section-elements.html
  12486. * accessibility/AccessibilityRenderObject.cpp:
  12487. (WebCore::AccessibilityRenderObject::isDescendantOfElementType):
  12488. (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
  12489. * accessibility/AccessibilityRenderObject.h:
  12490. 2011-10-03 Chris Fleizach <cfleizach@apple.com>
  12491. AX: click point for AXHeadings often returns point on empty space (results in wrong context menu)
  12492. https://bugs.webkit.org/show_bug.cgi?id=69262
  12493. When the contextual menu is opened for a heading, often it will open on empty space because
  12494. the heading is wider than the content inside. The click point should thus use the content
  12495. inside the heading as the click point.
  12496. To accomplish this we need to query whether we have children using children() which is a non-const
  12497. method, hence the removal of const from clickPoint().
  12498. Reviewed by John Sullivan.
  12499. Test: platform/mac/accessibility/heading-clickpoint.html
  12500. * accessibility/AccessibilityObject.cpp:
  12501. (WebCore::AccessibilityObject::clickPoint):
  12502. * accessibility/AccessibilityObject.h:
  12503. * accessibility/AccessibilityRenderObject.cpp:
  12504. (WebCore::AccessibilityRenderObject::clickPoint):
  12505. * accessibility/AccessibilityRenderObject.h:
  12506. 2011-10-03 Sheriff Bot <webkit.review.bot@gmail.com>
  12507. Unreviewed, rolling out r96500.
  12508. http://trac.webkit.org/changeset/96500
  12509. https://bugs.webkit.org/show_bug.cgi?id=69268
  12510. Breaks inspector, change landed with no test. (Requested by
  12511. pfeldman on #webkit).
  12512. * WebCore.gypi:
  12513. * WebCore.vcproj/WebCore.vcproj:
  12514. * inspector/front-end/ConsoleMessage.js:
  12515. (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation):
  12516. * inspector/front-end/ConsoleView.js:
  12517. (WebInspector.ConsoleView.prototype._consoleCleared):
  12518. * inspector/front-end/DebuggerPresentationModel.js:
  12519. (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
  12520. (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
  12521. * inspector/front-end/EventListenersSidebarPane.js:
  12522. (WebInspector.EventListenersSidebarPane.prototype.update.callback):
  12523. (WebInspector.EventListenersSidebarPane.prototype.update):
  12524. ():
  12525. * inspector/front-end/Linkifier.js: Removed.
  12526. * inspector/front-end/NetworkPanel.js:
  12527. (WebInspector.NetworkLogView):
  12528. (WebInspector.NetworkLogView.prototype._reset):
  12529. (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
  12530. * inspector/front-end/ProfileDataGridTree.js:
  12531. (WebInspector.ProfileDataGridNode.prototype.createCell):
  12532. * inspector/front-end/ProfileView.js:
  12533. (WebInspector.CPUProfileView):
  12534. (WebInspector.CPUProfileView.prototype._resetClicked):
  12535. * inspector/front-end/TimelinePanel.js:
  12536. (WebInspector.TimelinePanel):
  12537. (WebInspector.TimelinePanel.prototype._clearPanel):
  12538. (WebInspector.TimelinePanel.FormattedRecord):
  12539. (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
  12540. (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
  12541. (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyLocation):
  12542. (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyCallFrame):
  12543. (WebInspector.TimelinePanel.PopupContentHelper):
  12544. (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
  12545. (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
  12546. * inspector/front-end/WebKit.qrc:
  12547. * inspector/front-end/inspector.html:
  12548. * inspector/front-end/inspector.js:
  12549. 2011-09-30 Antti Koivisto <antti@apple.com>
  12550. Add exact match attribute selectors to the fast path
  12551. https://bugs.webkit.org/show_bug.cgi?id=69159
  12552. Reviewed by Sam Weinig.
  12553. Attribute selectors are increasingly common and we have them in our default style sheet too.
  12554. [foo] and [foo="bar"] type selectors can be resolved quickly and easily in the fast path.
  12555. - Implement fast path checking for simple attribute selectors.
  12556. - Get rid of the ill-defined CSSSelector::hasAttribute(), inline CSSSelector::attribute()
  12557. This is ~20% progression in styleForElement() performance loading the full HTML5 spec (~0.8s).
  12558. * css/CSSSelector.cpp:
  12559. (WebCore::CSSSelector::selectorText):
  12560. * css/CSSSelector.h:
  12561. (WebCore::CSSSelector::hasTag):
  12562. (WebCore::CSSSelector::attribute):
  12563. (WebCore::CSSSelector::isAttributeSelector):
  12564. * css/CSSSelectorList.cpp:
  12565. (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
  12566. * css/CSSStyleSelector.cpp:
  12567. (WebCore::CSSStyleSelector::checkSelector):
  12568. * css/SelectorChecker.cpp:
  12569. (WebCore::SelectorChecker::fastCheckRightmostSelector):
  12570. (WebCore::SelectorChecker::fastCheckSelector):
  12571. (WebCore::isFastCheckableMatch):
  12572. (WebCore::isFastCheckableRightmostSelector):
  12573. (WebCore::SelectorChecker::isFastCheckableSelector):
  12574. (WebCore::SelectorChecker::checkSelector):
  12575. (WebCore::htmlAttributeHasCaseInsensitiveValue):
  12576. (WebCore::anyAttributeMatches):
  12577. (WebCore::SelectorChecker::checkOneSelector):
  12578. * css/SelectorChecker.h:
  12579. (WebCore::SelectorChecker::attributeNameMatches):
  12580. (WebCore::SelectorChecker::checkExactAttribute):
  12581. (WebCore::SelectorChecker::fastCheckRightmostAttributeSelector):
  12582. 2011-10-03 Mike Reed <reed@google.com>
  12583. respect other paint flags when setting flags for the font. No need to fiddle with DC(0) in paintSkiaText.
  12584. https://bugs.webkit.org/show_bug.cgi?id=69172
  12585. Reviewed by Stephen White.
  12586. No new tests. This is a cleanup/optimization, existing tests apply
  12587. * platform/graphics/skia/SkiaFontWin.cpp:
  12588. (WebCore::getDefaultGDITextFlags):
  12589. (WebCore::setupPaintForFont):
  12590. (WebCore::paintSkiaText):
  12591. 2011-10-03 Andreas Kling <kling@webkit.org>
  12592. FontFallbackList: Glyph pages waste a lot of memory.
  12593. https://bugs.webkit.org/show_bug.cgi?id=69260
  12594. Reviewed by Dan Bernstein.
  12595. Use a minimum hash table size of 16 (down from 64) for FontFallbackList's
  12596. glyph pages. This reduces memory consumption by ~900 kB when loading the
  12597. full HTML5 spec.
  12598. The cost is two additional rehash()es of FontFallbackList::m_pages when
  12599. adding the 32nd and 64th pages to the hash map.
  12600. * platform/graphics/FontFallbackList.h:
  12601. 2011-10-03 Konstantin Scheglov <scheglov@google.com>
  12602. Right border missing from table with colspan and collapsing border
  12603. https://bugs.webkit.org/show_bug.cgi?id=14274
  12604. Reviewed by David Hyatt.
  12605. Test: fast/table/border-collapsing/bug14274.html
  12606. * rendering/RenderTable.cpp:
  12607. (WebCore::RenderTable::RenderTable):
  12608. * rendering/RenderTable.h:
  12609. (WebCore::RenderTable::colToEffCol):
  12610. 2011-10-03 Carlos Garcia Campos <cgarcia@igalia.com>
  12611. [GTK] Fix make distcheck build
  12612. https://bugs.webkit.org/show_bug.cgi?id=69243
  12613. Reviewed by Martin Robinson.
  12614. * GNUmakefile.am:
  12615. * GNUmakefile.list.am:
  12616. 2011-10-03 Pierre Rossi <pierre.rossi@gmail.com>
  12617. [Qt] Build fix: Qt::escape is deprecated in Qt5
  12618. https://bugs.webkit.org/show_bug.cgi?id=69162
  12619. Use QString::toHtmlEscaped in the Qt5 case.
  12620. Reviewed by Andreas Kling.
  12621. No new tests needed.
  12622. * WebCore.pro: adjust the include path accordingly
  12623. in the v8 case.
  12624. 2011-10-03 Ilya Tikhonovsky <loislo@chromium.org>
  12625. Web Inspector: debuggerPresentatioModel.linkifyLocation leaks updateAnchor closure instances.
  12626. https://bugs.webkit.org/show_bug.cgi?id=69146
  12627. In many places we use linkifyLocation function to produce a link node which updates automatically when the source file is changed on the fly.
  12628. Such changes happen when we use pretty print or another operation that changes the source code somehow.
  12629. linkifyLocation associates a new instance of updateAnchor closure with the each link node and add the closure to the SourceMappingUpdated event's list.
  12630. As the result the node<->closure pairs wouldn't be collected until reset the UI and DebuggerPresentationModel.
  12631. Reviewed by Yury Semikhatsky.
  12632. Test: inspector/performance/resources/network-append-30-requests.html
  12633. * WebCore.gypi:
  12634. * WebCore.vcproj/WebCore.vcproj:
  12635. * inspector/front-end/ConsoleMessage.js:
  12636. (WebInspector.ConsoleMessage.prototype._linkifyLocation):
  12637. * inspector/front-end/ConsoleView.js:
  12638. (WebInspector.ConsoleView.prototype._consoleCleared):
  12639. * inspector/front-end/DebuggerPresentationModel.js:
  12640. * inspector/front-end/EventListenersSidebarPane.js:
  12641. (WebInspector.EventListenersSidebarPane.prototype.update.callback):
  12642. (WebInspector.EventListenersSidebarPane.prototype.update):
  12643. ():
  12644. * inspector/front-end/Linkifier.js: Added.
  12645. (WebInspector.Linkifier):
  12646. (WebInspector.Linkifier.prototype.linkifyLocation):
  12647. (WebInspector.Linkifier.prototype.reset):
  12648. (WebInspector.Linkifier.prototype._updateSourceAnchors):
  12649. (WebInspector.Linkifier.prototype._updateAnchor):
  12650. * inspector/front-end/NetworkPanel.js:
  12651. (WebInspector.NetworkLogView):
  12652. (WebInspector.NetworkLogView.prototype._reset):
  12653. (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
  12654. * inspector/front-end/ProfileDataGridTree.js:
  12655. (WebInspector.ProfileDataGridNode.prototype.createCell):
  12656. * inspector/front-end/ProfileView.js:
  12657. (WebInspector.CPUProfileView):
  12658. (WebInspector.CPUProfileView.prototype._resetClicked):
  12659. * inspector/front-end/TimelinePanel.js:
  12660. (WebInspector.TimelinePanel):
  12661. (WebInspector.TimelinePanel.prototype._linkifyLocation):
  12662. (WebInspector.TimelinePanel.prototype._linkifyCallFrame):
  12663. (WebInspector.TimelinePanel.prototype._clearPanel):
  12664. (WebInspector.TimelinePanel.FormattedRecord):
  12665. (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
  12666. (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
  12667. (WebInspector.TimelinePanel.PopupContentHelper):
  12668. (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
  12669. (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
  12670. * inspector/front-end/WebKit.qrc:
  12671. * inspector/front-end/inspector.html:
  12672. * inspector/front-end/inspector.js:
  12673. 2011-10-03 Pavel Feldman <pfeldman@google.com>
  12674. Web Inspector: more compilation fixes including making ConsoleMessage a part of console model.
  12675. https://bugs.webkit.org/show_bug.cgi?id=69253
  12676. Reviewed by Yury Semikhatsky.
  12677. * inspector/Inspector.json:
  12678. * inspector/compile-front-end.sh:
  12679. * inspector/front-end/ConsoleMessage.js:
  12680. (WebInspector.ConsoleMessage.create):
  12681. (WebInspector.ConsoleMessage.createTextMessage):
  12682. (WebInspector.ConsoleMessageImpl):
  12683. * inspector/front-end/ConsoleModel.js:
  12684. (WebInspector.ConsoleModel.prototype._messageRepeatCountUpdated):
  12685. (WebInspector.ConsoleMessage.create):
  12686. (WebInspector.ConsoleMessage.createTextMessage):
  12687. (WebInspector.ConsoleDispatcher.prototype.messageAdded):
  12688. * inspector/front-end/ConsoleView.js:
  12689. (WebInspector.ConsoleCommandResult):
  12690. (WebInspector.ConsoleCommandResult.prototype.toMessageElement):
  12691. * inspector/front-end/CookieParser.js:
  12692. (WebInspector.Cookie.prototype.get path):
  12693. (WebInspector.Cookie.prototype.get domain):
  12694. (WebInspector.Cookie.prototype.expires):
  12695. * inspector/front-end/DOMAgent.js:
  12696. * inspector/front-end/ExtensionServer.js:
  12697. (WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
  12698. * inspector/front-end/NetworkManager.js:
  12699. (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
  12700. (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
  12701. (WebInspector.NetworkDispatcher.prototype.requestServedFromMemoryCache):
  12702. (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
  12703. (WebInspector.NetworkDispatcher.prototype._createResource):
  12704. * inspector/front-end/Resource.js:
  12705. (WebInspector.Resource):
  12706. (WebInspector.Resource.prototype.setContent):
  12707. (WebInspector.Resource.prototype.searchInContent):
  12708. * inspector/front-end/ResourceTreeModel.js:
  12709. (WebInspector.ResourceTreeModel.prototype._createResource):
  12710. * inspector/front-end/externs.js:
  12711. (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
  12712. (WebInspector.extensionServer.notifyResourceContentCommitted):
  12713. (WebInspector.resourceForURL):
  12714. (WebInspector.debuggerPresentationModel.linkifyLocation):
  12715. (WebInspector.ObjectPropertiesSection):
  12716. (WebInspector.ElementsTreeOutline):
  12717. * inspector/front-end/inspector.html:
  12718. * inspector/front-end/inspector.js:
  12719. (WebInspector.log.logMessage):
  12720. (WebInspector.log):
  12721. * inspector/generate-protocol-externs:
  12722. 2011-10-03 Pavel Feldman <pfeldman@google.com>
  12723. Web Inspector: move console message formatting from ConsoleView.js into ConsoleMessage.js
  12724. https://bugs.webkit.org/show_bug.cgi?id=69244
  12725. Reviewed by Yury Semikhatsky.
  12726. * inspector/front-end/ConsoleMessage.js:
  12727. (WebInspector.ConsoleMessage):
  12728. (WebInspector.ConsoleMessage.prototype._formatMessage.else.else.linkifier):
  12729. (WebInspector.ConsoleMessage.prototype._formatMessage):
  12730. (WebInspector.ConsoleMessage.prototype._format):
  12731. (WebInspector.ConsoleMessage.prototype._formatParameter):
  12732. (WebInspector.ConsoleMessage.prototype._formatParameterAsValue):
  12733. (WebInspector.ConsoleMessage.prototype._formatParameterAsObject):
  12734. (WebInspector.ConsoleMessage.prototype._formatParameterAsNode):
  12735. (WebInspector.ConsoleMessage.prototype._formatParameterAsArray):
  12736. (WebInspector.ConsoleMessage.prototype._formatParameterAsString):
  12737. (WebInspector.ConsoleMessage.prototype._printArray):
  12738. (WebInspector.ConsoleMessage.prototype._formatAsArrayEntry):
  12739. (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString):
  12740. * inspector/front-end/ConsoleView.js:
  12741. 2011-10-03 Dirk Schulze <krit@webkit.org>
  12742. feColorMatrix saturation is not limited to range 0..1 anymore
  12743. https://bugs.webkit.org/show_bug.cgi?id=69245
  12744. Reviewed by Nikolas Zimmermann.
  12745. Opera doesn't limit the range of values for saturation on feColorMatrix from 0 to 1. The limitation
  12746. was also removed from the new Filter Effects 1.0 specification. Values outside this range lead to
  12747. under- or oversaturation of the filter input image.
  12748. https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/publish/Filters.html#feColorMatrixElement
  12749. Test: svg/filters/feColorMatrix-saturate.svg
  12750. * svg/SVGFEColorMatrixElement.cpp:
  12751. (WebCore::SVGFEColorMatrixElement::build):
  12752. 2011-10-03 Andreas Kling <kling@webkit.org>
  12753. Shrink HTMLLIElement.
  12754. https://bugs.webkit.org/show_bug.cgi?id=69250
  12755. Reviewed by Antti Koivisto.
  12756. Don't cache the explicit "value" attribute on the HTMLLIElement,
  12757. but fetch it with fastGetAttribute when needed.
  12758. This shrinks HTMLLIElement by one CPU word.
  12759. * html/HTMLLIElement.cpp:
  12760. (WebCore::HTMLLIElement::HTMLLIElement):
  12761. (WebCore::HTMLLIElement::parseMappedAttribute):
  12762. (WebCore::HTMLLIElement::attach):
  12763. * html/HTMLLIElement.h:
  12764. 2011-10-03 Vsevolod Vlasov <vsevik@chromium.org>
  12765. Web Inspector: Add support for backend search in script content.
  12766. https://bugs.webkit.org/show_bug.cgi?id=69015
  12767. Reviewed by Pavel Feldman.
  12768. Tests: http/tests/inspector/search/search-in-concatenated-script.html
  12769. http/tests/inspector/search/search-in-script.html
  12770. * inspector/Inspector.json:
  12771. * inspector/InspectorDebuggerAgent.cpp:
  12772. (WebCore::InspectorDebuggerAgent::searchInContent):
  12773. (WebCore::InspectorDebuggerAgent::getScriptSource):
  12774. * inspector/InspectorDebuggerAgent.h:
  12775. * inspector/front-end/ContentProviders.js:
  12776. (WebInspector.ScriptContentProvider.prototype.requestContent):
  12777. (WebInspector.ScriptContentProvider.prototype.searchInContent):
  12778. (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent.maybeCallback):
  12779. (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent.searchCallback):
  12780. (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent):
  12781. * inspector/front-end/Script.js:
  12782. (WebInspector.Script.prototype.requestSource):
  12783. (WebInspector.Script.prototype.searchInContent):
  12784. 2011-10-03 Pavel Feldman <pfeldman@google.com>
  12785. Web Inspector: move console message formatting from ConsoleView.js into ConsoleMessage.js
  12786. https://bugs.webkit.org/show_bug.cgi?id=69244
  12787. Reviewed by Yury Semikhatsky.
  12788. * inspector/front-end/ConsoleMessage.js:
  12789. (WebInspector.ConsoleMessage):
  12790. (WebInspector.ConsoleMessage.prototype._formatMessage.else.else.linkifier):
  12791. (WebInspector.ConsoleMessage.prototype._formatMessage):
  12792. (WebInspector.ConsoleMessage.prototype._format):
  12793. (WebInspector.ConsoleMessage.prototype._formatParameter):
  12794. (WebInspector.ConsoleMessage.prototype._formatParameterAsValue):
  12795. (WebInspector.ConsoleMessage.prototype._formatParameterAsObject):
  12796. (WebInspector.ConsoleMessage.prototype._formatParameterAsNode):
  12797. (WebInspector.ConsoleMessage.prototype._formatParameterAsArray):
  12798. (WebInspector.ConsoleMessage.prototype._formatParameterAsString):
  12799. (WebInspector.ConsoleMessage.prototype._printArray):
  12800. (WebInspector.ConsoleMessage.prototype._formatAsArrayEntry):
  12801. (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString):
  12802. * inspector/front-end/ConsoleView.js:
  12803. 2011-10-03 Pavel Feldman <pfeldman@chromium.org>
  12804. Web Inspector: restore partial front-end compilability
  12805. https://bugs.webkit.org/show_bug.cgi?id=69221
  12806. Removed unused isWhitespace; introduced missing classes in Inspector.json;
  12807. generated externs for the protocol types along with the commands.
  12808. Reviewed by Yury Semikhatsky.
  12809. * inspector/Inspector.json:
  12810. * inspector/compile-front-end.sh:
  12811. * inspector/front-end/DOMAgent.js:
  12812. (WebInspector.DOMAgent):
  12813. (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable.onDocumentAvailable):
  12814. (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable):
  12815. * inspector/front-end/ElementsPanel.js:
  12816. (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
  12817. * inspector/front-end/ElementsTreeOutline.js:
  12818. ():
  12819. * inspector/front-end/Object.js:
  12820. * inspector/front-end/Popover.js:
  12821. (WebInspector.PopoverHelper.prototype._mouseMove):
  12822. * inspector/front-end/View.js:
  12823. * inspector/front-end/externs.js:
  12824. (Array.prototype.remove):
  12825. * inspector/generate-protocol-externs:
  12826. 2011-10-02 Kent Tamura <tkent@chromium.org>
  12827. method/enctype/formMethod/formEnctype properties should be limited to known values.
  12828. https://bugs.webkit.org/show_bug.cgi?id=68887
  12829. Reviewed by Hajime Morita.
  12830. According to the standard and other browser behaviors, the
  12831. following IDL properties should be reflected to the corresponding
  12832. HTML attributes on setting, but should return normalized values on
  12833. getting.
  12834. - HTMLFormElement::method
  12835. - HTMLFormElement::enctype
  12836. - HTMLInputElement::formMethod
  12837. - HTMLInputElement::formEnctype
  12838. - HTMLButtonElement::formMethod
  12839. - HTMLButtonElement::formEnctype
  12840. Tests: fast/forms/enctype-attribute.html
  12841. fast/forms/method-attribute.html
  12842. * html/HTMLButtonElement.idl:
  12843. Replace 'Reflect' with 'ConvertNullToNullString' in order to use a
  12844. getter function.
  12845. * html/HTMLFormControlElement.cpp:
  12846. (WebCore::HTMLFormControlElement::formEnctype):
  12847. Normalizes the value by parseEncodingType().
  12848. (WebCore::HTMLFormControlElement::setFormEnctype):
  12849. Simply calls setAttribute()
  12850. (WebCore::HTMLFormControlElement::formMethod):
  12851. Normalizes the value by parseMethodType().
  12852. (WebCore::HTMLFormControlElement::setFormMethod):
  12853. Simply calls setAttribute()
  12854. * html/HTMLFormControlElement.h:
  12855. * html/HTMLFormElement.cpp:
  12856. (WebCore::HTMLFormElement::parseMappedAttribute):
  12857. Follow the Attributes function renaming.
  12858. (WebCore::HTMLFormElement::method):
  12859. Normalizes the value by parseMethodType().
  12860. * html/HTMLFormElement.idl:
  12861. Replace 'Reflect' with 'ConvertNullToNullString' in order to use a
  12862. getter function.
  12863. * html/HTMLInputElement.idl: ditto.
  12864. * loader/FormSubmission.cpp:
  12865. (WebCore::FormSubmission::Attributes::parseEncodingType):
  12866. New function made from a part of old parseEncodingType().
  12867. (WebCore::FormSubmission::Attributes::updateEncodingType):
  12868. Renamed from parseEncodingType().
  12869. (WebCore::FormSubmission::Attributes::parseMethodType):
  12870. New function made from a part of old parseMethodType().
  12871. (WebCore::FormSubmission::Attributes::updateMethodType):
  12872. Renamed from parseMethodType().
  12873. (WebCore::FormSubmission::create):
  12874. Follow the Attributes function renaming.
  12875. * loader/FormSubmission.h:
  12876. (WebCore::FormSubmission::Attributes::methodString):
  12877. A helper function to provide normalized strings for FormSubmission::Method.
  12878. 2011-10-02 Sam Weinig <sam@webkit.org>
  12879. Strength reduce Mac only Frame::searchForLabelsBeforeElement and Frame::matchLabelsAgainstElement into callers
  12880. https://bugs.webkit.org/show_bug.cgi?id=69230
  12881. Reviewed by Anders Carlsson.
  12882. * WebCore.exp.in:
  12883. * page/Frame.h:
  12884. * page/mac/FrameMac.mm:
  12885. 2011-10-02 Zeno Albisser <zeno.albisser@nokia.com>
  12886. [Qt][WK2][Mac] WebKit2 does not build on mac after merge of Qt5 refactor branch.
  12887. https://bugs.webkit.org/show_bug.cgi?id=69223
  12888. Add a missing import (NSWindow.h) in WebVideoFullscreenHUDWindowController.
  12889. Add a missing include path and a missing objective source file to WebCore.pro.
  12890. Reviewed by Noam Rosenthal.
  12891. No new tests, build fix.
  12892. * WebCore.pro:
  12893. * platform/mac/WebVideoFullscreenHUDWindowController.h:
  12894. 2011-10-02 Julien Chaffraix <jchaffraix@webkit.org>
  12895. Remove an unused member in RenderTable::ColumnStruct
  12896. https://bugs.webkit.org/show_bug.cgi?id=69119
  12897. Reviewed by Darin Adler.
  12898. No test as there should be no change in behavior.
  12899. The member was added several years ago and its users were removed or changed. The code would
  12900. need a refactoring but this would be tricky to get right. This change just removes the member
  12901. to reap the short-term benefits.
  12902. * rendering/RenderTable.h:
  12903. (WebCore::RenderTable::ColumnStruct::ColumnStruct): Remove anything associated with m_width.
  12904. 2011-10-02 Dan Bernstein <mitz@apple.com>
  12905. REGRESSION (r95502): Assertion failure in CSSPrimitiveValue::computeLengthDouble() when media query specifies unit-less length
  12906. https://bugs.webkit.org/show_bug.cgi?id=68760
  12907. Reviewed by Antti Koivisto.
  12908. Test: fast/media/invalid-lengths.html
  12909. Made length-comparison media queries accept only length values. In compatibility mode, numbers
  12910. are allowed as well, and they are interpreted as pixels.
  12911. * css/MediaQueryEvaluator.cpp:
  12912. (WebCore::computeLength): Added this helper function.
  12913. (WebCore::device_heightMediaFeatureEval): Changed to use computeLength().
  12914. (WebCore::device_widthMediaFeatureEval): Ditto.
  12915. (WebCore::heightMediaFeatureEval): Ditto.
  12916. (WebCore::widthMediaFeatureEval): Ditto.
  12917. 2011-10-02 Dirk Schulze <krit@webkit.org>
  12918. SVG Mask should take 'color-interpolation' into account to determine the color space of the mask image
  12919. https://bugs.webkit.org/show_bug.cgi?id=69076
  12920. Reviewed by Simon Fraser.
  12921. SVG Masks should take 'color-interpolation' into account to determine the color space of the mask image.
  12922. The behavior was changed in SVG 1.1 SE. The color space of the mask image gets defined by the computed value of the
  12923. 'color-interpolation' property. This will switch the default color space from linearRGB to sRGB for mask images and
  12924. is a performance improvement for platforms without native support for linearRGB color space. The
  12925. color space transformation can be avoided.
  12926. Test: svg/custom/grayscale-gradient-mask-2.svg
  12927. * rendering/svg/RenderSVGResourceMasker.cpp:
  12928. (WebCore::RenderSVGResourceMasker::applyResource):
  12929. (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
  12930. * rendering/svg/RenderSVGResourceMasker.h:
  12931. 2011-10-01 Vangelis Kokkevis <vangelis@chromium.org>
  12932. [chromium] Fixing draw matrix for composited layers. This
  12933. was a regression introduced by:
  12934. http://trac.webkit.org/changeset/96454
  12935. https://bugs.webkit.org/show_bug.cgi?id=69217
  12936. Reviewed by James Robinson.
  12937. Tests: compositor test now pass
  12938. * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
  12939. (WebCore::CCTiledLayerImpl::draw):
  12940. * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
  12941. 2011-10-01 Geoffrey Garen <ggaren@apple.com>
  12942. Removed redundant helper functions for allocating Strong handles
  12943. https://bugs.webkit.org/show_bug.cgi?id=69218
  12944. Reviewed by Sam Weinig.
  12945. * ForwardingHeaders/heap/StrongInlines.h: Added.
  12946. * bindings/js/JSCallbackData.h:
  12947. * bindings/js/JSDOMWindowShell.cpp:
  12948. * bindings/js/ScheduledAction.h:
  12949. * bindings/js/ScriptCachedFrameData.cpp:
  12950. * bindings/js/ScriptController.cpp:
  12951. * bindings/js/ScriptState.cpp:
  12952. * bindings/js/ScriptValue.h:
  12953. * bindings/js/WorkerScriptController.cpp:
  12954. * bridge/runtime_root.cpp:
  12955. 2011-10-01 Sheriff Bot <webkit.review.bot@gmail.com>
  12956. Unreviewed, rolling out r96421.
  12957. http://trac.webkit.org/changeset/96421
  12958. https://bugs.webkit.org/show_bug.cgi?id=69206
  12959. It broke Qt-WK2 build (Requested by ossy on #webkit).
  12960. * WebCore.pro:
  12961. 2011-09-30 Adrienne Walker <enne@google.com>
  12962. [chromium] Track separate scroll deltas on the compositor thread
  12963. https://bugs.webkit.org/show_bug.cgi?id=69034
  12964. Reviewed by James Robinson.
  12965. Test: new tests in CCLayerTreeHostImplTest/CCLayerTreeHostTest
  12966. Track scroll deltas and maximum scrolls on LayerChromium/CCLayerImpl.
  12967. The CCLayerImpl tree is now able to adjust these scroll deltas
  12968. independent of the main thread. To push them back to the main thread,
  12969. CCLayerTreeHostImpl collects them all and then bakes them into the
  12970. scroll position during a begin frame and commit call. This allows new
  12971. deltas to be collected while the scroll position containing the old
  12972. delta and the old scroll position will be overwritten during the next
  12973. commit.
  12974. Only the main frame is supported right now for pushing this scroll
  12975. delta back into the authoritative WebKit source to keep both sides in
  12976. sync.
  12977. Move tilingTransform() to the impl tree because drawTransform() is now
  12978. updated using scroll deltas and so the results from calculating draw
  12979. transforms needs to be dynamic so that children are updated properly.
  12980. Also, exposed DebugScopedSetImplThread public because it's used in a
  12981. few places.
  12982. * platform/graphics/chromium/LayerChromium.cpp:
  12983. (WebCore::LayerChromium::pushPropertiesTo):
  12984. * platform/graphics/chromium/LayerChromium.h:
  12985. (WebCore::LayerChromium::maxScrollPosition):
  12986. (WebCore::LayerChromium::setMaxScrollPosition):
  12987. (WebCore::LayerChromium::scrollDelta):
  12988. (WebCore::LayerChromium::scrollable):
  12989. * platform/graphics/chromium/NonCompositedContentHost.cpp:
  12990. (WebCore::NonCompositedContentHost::setViewport):
  12991. * platform/graphics/chromium/TiledLayerChromium.cpp:
  12992. (WebCore::TiledLayerChromium::pushPropertiesTo):
  12993. * platform/graphics/chromium/TiledLayerChromium.h:
  12994. * platform/graphics/chromium/cc/CCLayerImpl.cpp:
  12995. (WebCore::CCLayerImpl::scrollBy):
  12996. * platform/graphics/chromium/cc/CCLayerImpl.h:
  12997. (WebCore::CCLayerImpl::maxScrollPosition):
  12998. (WebCore::CCLayerImpl::setMaxScrollPosition):
  12999. (WebCore::CCLayerImpl::scrollDelta):
  13000. (WebCore::CCLayerImpl::setScrollDelta):
  13001. (WebCore::CCLayerImpl::scrollable):
  13002. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  13003. (WebCore::CCLayerTreeHost::applyScrollDeltas):
  13004. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  13005. * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
  13006. (WebCore::calculateDrawTransformsAndVisibilityInternal):
  13007. * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
  13008. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
  13009. (WebCore::CCLayerTreeHostImpl::scrollRootLayer):
  13010. (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
  13011. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
  13012. * platform/graphics/chromium/cc/CCProxy.h:
  13013. * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  13014. (WebCore::CCSingleThreadProxy::start):
  13015. (WebCore::CCSingleThreadProxy::context):
  13016. (WebCore::CCSingleThreadProxy::finishAllRendering):
  13017. (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
  13018. (WebCore::CCSingleThreadProxy::setNeedsCommit):
  13019. (WebCore::CCSingleThreadProxy::stop):
  13020. (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
  13021. (WebCore::CCSingleThreadProxy::commitIfNeeded):
  13022. (WebCore::CCSingleThreadProxy::doComposite):
  13023. * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
  13024. (WebCore::DebugScopedSetImplThread::DebugScopedSetImplThread):
  13025. (WebCore::DebugScopedSetImplThread::~DebugScopedSetImplThread):
  13026. * platform/graphics/chromium/cc/CCThreadProxy.cpp:
  13027. (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
  13028. (WebCore::CCThreadProxy::beginFrameAndCommit):
  13029. * platform/graphics/chromium/cc/CCThreadProxy.h:
  13030. * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
  13031. (WebCore::CCTiledLayerImpl::tilingTransform):
  13032. (WebCore::CCTiledLayerImpl::draw):
  13033. * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
  13034. 2011-09-30 David Hyatt <hyatt@apple.com>
  13035. https://bugs.webkit.org/show_bug.cgi?id=69202
  13036. [CSS3 Regions] Make positioned objects use the first region as the ICB when it
  13037. is their containing block. Make sure static distance computations take into
  13038. account the current region as well.
  13039. Reviewed by Sam Weinig.
  13040. Added new tests in fast/regions.
  13041. * rendering/RenderBlock.cpp:
  13042. (WebCore::RenderBlock::adjustPositionedBlock):
  13043. * rendering/RenderBlock.h:
  13044. (WebCore::RenderBlock::startOffsetForContent):
  13045. * rendering/RenderBox.cpp:
  13046. (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
  13047. (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
  13048. (WebCore::computeInlineStaticDistance):
  13049. (WebCore::computeLogicalLeftPositionedOffset):
  13050. (WebCore::computeLogicalTopPositionedOffset):
  13051. * rendering/RenderFlowThread.cpp:
  13052. (WebCore::RenderFlowThread::contentLogicalWidthOfFirstRegion):
  13053. (WebCore::RenderFlowThread::contentLogicalHeightOfFirstRegion):
  13054. (WebCore::RenderFlowThread::contentLogicalLeftOfFirstRegion):
  13055. * rendering/RenderFlowThread.h:
  13056. 2011-09-30 David Barr <davidbarr@chromium.org>
  13057. Implement currentColor support for CSS gradients
  13058. https://bugs.webkit.org/show_bug.cgi?id=58730
  13059. Reviewed by Adam Barth.
  13060. Allow currentColor as a CSS3 gradient color-stop.
  13061. Test: fast/css/linear-gradient-currentcolor.html
  13062. * css/CSSGradientValue.cpp:
  13063. (WebCore::CSSGradientValue::isCacheable): Make currentColor uncacheable since the
  13064. background image may be invalidated if currentColor is used as a gradient stop and
  13065. the value of the 'color' property changes.
  13066. * css/CSSParser.cpp:
  13067. (WebCore::parseGradientColorOrKeyword): Accept the currentColor keyword.
  13068. * rendering/style/StyleGeneratedImage.cpp:
  13069. (WebCore::StyleGeneratedImage::image): Initialize document styleSelector so that
  13070. currentColor may be computed for a StyleGeneratedImage.
  13071. 2011-09-30 Gavin Barraclough <barraclough@apple.com>
  13072. Remove toStrictThisObject, toThisString, toThisJSString
  13073. https://bugs.webkit.org/show_bug.cgi?id=69203
  13074. Rubber stamped by Sam Weinig
  13075. These are no longer used.
  13076. * bindings/js/JSDOMWindowBase.cpp:
  13077. * bindings/js/JSDOMWindowBase.h:
  13078. 2011-09-30 Adam Barth <abarth@webkit.org>
  13079. Remove ASSERT introduced in http://trac.webkit.org/changeset/96427
  13080. which is triggering all over the place.
  13081. Sorting this out is covered in this bug:
  13082. https://bugs.webkit.org/show_bug.cgi?id=69200
  13083. * rendering/RenderView.cpp:
  13084. (WebCore::RenderView::layout):
  13085. 2011-09-30 Sheriff Bot <webkit.review.bot@gmail.com>
  13086. Unreviewed, rolling out r96426.
  13087. http://trac.webkit.org/changeset/96426
  13088. https://bugs.webkit.org/show_bug.cgi?id=69199
  13089. Broke a zillion image results on Chromium Skia Mac (Requested
  13090. by abarth|gardener on #webkit).
  13091. * platform/graphics/skia/GraphicsContextSkia.cpp:
  13092. (WebCore::getFocusRingOutset):
  13093. (WebCore::GraphicsContext::drawFocusRing):
  13094. 2011-09-30 Ilya Sherman <isherman@chromium.org>
  13095. Fix assertion failure in XSS Auditor
  13096. https://bugs.webkit.org/show_bug.cgi?id=69050
  13097. https://code.google.com/p/chromium/issues/detail?id=97346
  13098. Reviewed by Daniel Bates.
  13099. Test: fast/forms/xss-auditor-doesnt-crash.html
  13100. * html/parser/XSSAuditor.cpp:
  13101. (WebCore::XSSAuditor::init): Don't try to decode the HTML body if it is empty.
  13102. 2011-09-30 Maciej Stachowiak <mjs@apple.com>
  13103. Loading page on potterybankids causes reproducible assertion failure in debug builds
  13104. https://bugs.webkit.org/show_bug.cgi?id=69185
  13105. <rdar://problem/10218241>
  13106. Reviewed by Simon Fraser.
  13107. * rendering/RenderLayer.cpp:
  13108. (WebCore::RenderLayer::computeRepaintRects): Remove assert condition that isn't guaranteed
  13109. to be true.
  13110. 2011-09-30 Johnny Ding <jnd@chromium.org>
  13111. Support -webkit-tap-highlight-color when enabling touch events support.
  13112. https://bugs.webkit.org/show_bug.cgi?id=48544
  13113. Reviewed by Kenneth Rohde Christiansen.
  13114. Original code from the iOS WebCore code dump, extracted and modified by tijiang@rim and jnd@chromium.
  13115. Supports the new CSS property -webkit-tap-highlight-color on platforms which support touch events.
  13116. Platform can override WebCore::RenderTheme::platformTapHighlightColor to use its own platform
  13117. specific default tap highlight color. Otherwise RenderTheme::defaultTapHighlightColor will be
  13118. used as default tap highlight color.
  13119. Test: fast/events/touch/tap-highlight-color.html
  13120. * css/CSSComputedStyleDeclaration.cpp:
  13121. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  13122. * css/CSSParser.cpp:
  13123. (WebCore::CSSParser::parseValue):
  13124. * css/CSSPropertyNames.in:
  13125. * css/CSSStyleSelector.cpp:
  13126. (WebCore::CSSStyleSelector::applyProperty):
  13127. * rendering/RenderTheme.cpp:
  13128. (WebCore::RenderTheme::tapHighlightColor):
  13129. * rendering/RenderTheme.h:
  13130. (WebCore::RenderTheme::platformTapHighlightColor):
  13131. * rendering/style/RenderStyle.cpp:
  13132. (WebCore::RenderStyle::initialTapHighlightColor):
  13133. * rendering/style/RenderStyle.h:
  13134. (WebCore::InheritedFlags::tapHighlightColor):
  13135. (WebCore::InheritedFlags::setTapHighlightColor):
  13136. * rendering/style/StyleRareInheritedData.cpp:
  13137. (WebCore::StyleRareInheritedData::StyleRareInheritedData):
  13138. (WebCore::StyleRareInheritedData::operator==):
  13139. * rendering/style/StyleRareInheritedData.h:
  13140. 2011-09-30 David Hyatt <hyatt@apple.com>
  13141. https://bugs.webkit.org/show_bug.cgi?id=69173
  13142. RTL/LTR mixtures still not correct in regions. Simplify the loop once I realized it's only
  13143. your directionality that matters and not your containing block's.
  13144. Reviewed by Dan Bernstein.
  13145. Added new test in fast/regions.
  13146. * rendering/RenderBox.cpp:
  13147. (WebCore::RenderBox::borderBoxRectInRegion):
  13148. 2011-09-30 Dan Bernstein <mitz@apple.com>
  13149. <rdar://problem/10208291> first-letter in generated before content with display: table is not updated
  13150. Reviewed by Sam Weinig.
  13151. Test: fast/css-generated-content/first-letter-in-nested-before.html
  13152. * rendering/RenderObjectChildList.cpp:
  13153. (WebCore::RenderObjectChildList::updateBeforeAfterContent): Preserve the style type of anonymous
  13154. containers around the generated content when updating their style. This preserves the first-letter-ness
  13155. of the inline wrapping the first letter, which allows updateFirstLetter() to identify it later.
  13156. 2011-09-30 Cary Clark <caryclark@google.com>
  13157. Inset focus ring (Skia on Mac)
  13158. https://bugs.webkit.org/show_bug.cgi?id=69166
  13159. http://code.google.com/p/chromium/issues/detail?id=97956
  13160. This focus ring was drawn too large and was left tracks
  13161. in subsequent invalidations. Make it more closely match
  13162. the CG version.
  13163. Reviewed by Stephen White.
  13164. No new tests. This platform is not enabled.
  13165. * platform/graphics/skia/GraphicsContextSkia.cpp:
  13166. (WebCore::getFocusRingOutset):
  13167. (WebCore::GraphicsContext::drawFocusRing):
  13168. 2011-09-30 Sheriff Bot <webkit.review.bot@gmail.com>
  13169. Unreviewed, rolling out r96422.
  13170. http://trac.webkit.org/changeset/96422
  13171. https://bugs.webkit.org/show_bug.cgi?id=69170
  13172. Broke Windows build and kling wanted to roll it out as well
  13173. (Requested by rniwa on #webkit).
  13174. * rendering/InlineBox.cpp:
  13175. (WebCore::InlineBox::prevOnLineExists):
  13176. * rendering/InlineBox.h:
  13177. (WebCore::InlineBox::InlineBox):
  13178. 2011-09-30 David Hyatt <hyatt@apple.com>
  13179. https://bugs.webkit.org/show_bug.cgi?id=69167
  13180. [CSS3 Regions] Fix some bugs in the computation of the logical left and width offsets
  13181. for blocks in variable width regions. Specifically, this patch addresses a minor bug
  13182. with overflow:hidden/scroll/auto block placement and with RTL directionality.
  13183. Reviewed by Sam Weinig.
  13184. Added five new tests in fast/regions.
  13185. * rendering/RenderBlock.cpp:
  13186. (WebCore::RenderBlock::logicalRightOffsetForContent):
  13187. Avoid a double fetch of the border box in a given region by not calling
  13188. logicalLeftOffsetForContent. No correctness change here. It's just cleaner.
  13189. * rendering/RenderBox.cpp:
  13190. (WebCore::RenderBox::borderBoxRectInRegion):
  13191. Change the shifted optimization to be cached for "self" rather than for "containing block".
  13192. Rework the adjustment loop to handle changes in directionality and to fix correctness
  13193. issues with RTL.
  13194. (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
  13195. Don't double adjust if an object uses line width as the containing block width. In that
  13196. case we already computed the line width in the region, so we don't need to apply any
  13197. additional fixup.
  13198. (WebCore::RenderBox::renderBoxRegionInfo):
  13199. * rendering/RenderBoxRegionInfo.h:
  13200. (WebCore::RenderBoxRegionInfo::RenderBoxRegionInfo):
  13201. (WebCore::RenderBoxRegionInfo::isShifted):
  13202. Changed the shifted code to be on self rather than on containing block.
  13203. * rendering/RenderFlowThread.cpp:
  13204. (WebCore::RenderFlowThread::layout):
  13205. Refactor the layout code for RenderFlowThread to properly set up region rects assuming
  13206. right alignment in RTL code. This change forces us to compute our maximum logical width
  13207. first before looping through the regions again to set their content rects.
  13208. 2011-09-30 Andreas Kling <kling@webkit.org>
  13209. REGRESSION(r82611) InlineBox has 33 bits of bitset, causing alignment issues and extra memory use.
  13210. https://bugs.webkit.org/show_bug.cgi?id=64914
  13211. Reviewed by Antti Koivisto.
  13212. Remove InlineBox::prevOnLineExists() and its two accompanying bitfields
  13213. since nobody is using them anymore. nextOnLineExists() is still used by
  13214. GTK+ accessibility code.
  13215. Also added a compile-time assertion to guard against future bloating of
  13216. the InlineBox class.
  13217. * rendering/InlineBox.cpp:
  13218. (WebCore::SameSizeAsInlineBox::~SameSizeAsInlineBox):
  13219. * rendering/InlineBox.h:
  13220. (WebCore::InlineBox::InlineBox):
  13221. 2011-09-30 Pierre Rossi <pierre.rossi@gmail.com>
  13222. [Qt] Build fix: Qt::escape is deprecated in Qt5
  13223. https://bugs.webkit.org/show_bug.cgi?id=69162
  13224. Use QString::toHtmlEscaped in the Qt5 case.
  13225. Reviewed by Andreas Kling.
  13226. No new tests needed.
  13227. * WebCore.pro: adjust the include path accordingly
  13228. in the v8 case.
  13229. 2011-09-30 Ryosuke Niwa <rniwa@webkit.org>
  13230. Remove unused ReplaceSelectionCommand::copyStyleToChildren
  13231. https://bugs.webkit.org/show_bug.cgi?id=69153
  13232. Reviewed by Antonio Gomes.
  13233. Removed the function because it's no called anywhere.
  13234. * editing/ReplaceSelectionCommand.cpp:
  13235. * editing/ReplaceSelectionCommand.h:
  13236. 2011-09-30 Aaron Colwell <acolwell@chromium.org>
  13237. Fix EnabledAtRuntime support for constants.
  13238. https://bugs.webkit.org/show_bug.cgi?id=67311
  13239. Reviewed by Adam Barth.
  13240. * bindings/scripts/CodeGeneratorV8.pm:
  13241. (GenerateImplementation):
  13242. 2011-09-29 David Hyatt <hyatt@apple.com>
  13243. https://bugs.webkit.org/show_bug.cgi?id=69043
  13244. [CSS3 Regions] Blocks split across regions with variable width need to size
  13245. differently in each region.
  13246. This patch adds the capability for blocks to have variable width and positioning
  13247. when split across regions. It is very rudimentary and so far only operates on basic
  13248. normal flow RenderBlocks. Future patches will expand the support to cover other layout
  13249. constructs like flexible boxes and tables.
  13250. Reviewed by Sam Weinig.
  13251. Added new tests in fast/regions and updated existing results.
  13252. * WebCore.xcodeproj/project.pbxproj:
  13253. * rendering/HitTestResult.cpp:
  13254. (WebCore::HitTestResult::HitTestResult):
  13255. (WebCore::HitTestResult::operator=):
  13256. * rendering/HitTestResult.h:
  13257. (WebCore::HitTestResult::region):
  13258. (WebCore::HitTestResult::setRegion):
  13259. The hit test result now holds the active RenderRegion so that hit testing can adjust
  13260. block widths and positions when hit testing their border boxes.
  13261. * rendering/PaintInfo.h:
  13262. (WebCore::PaintInfo::PaintInfo):
  13263. The paint info struct now holds the active RenderRegion so that painting can adjust
  13264. block widths and positions when painting borders and backgrounds and shadows.
  13265. * rendering/RenderBlock.cpp:
  13266. (WebCore::RenderBlock::layoutBlock):
  13267. If our width ever changes, we invalidate all of our cached RenderBoxRegionInfo in all
  13268. regions that we span.
  13269. (WebCore::RenderBlock::clearRenderBoxRegionInfo):
  13270. Called to clear out our cached region-specific information in all regions that we span.
  13271. (WebCore::RenderBlock::borderBoxRectInRegionAtPosition):
  13272. Returns the borderBoxRect for the region at the specified vertical offset. This rect
  13273. can be both shifted horizontally and have a different width from our original border rect.
  13274. (WebCore::RenderBlock::logicalLeftOffsetForContent):
  13275. (WebCore::RenderBlock::logicalRightOffsetForContent):
  13276. Modified to call borderBoxRectInRegionAtPosition so that lines will fit inside
  13277. the content rect of the border box rect for the specific region.
  13278. * rendering/RenderBlock.h:
  13279. (WebCore::RenderBlock::logicalRightOffsetForContent):
  13280. Modified to call logicalLeftOffsetForContent since it's cleaner.
  13281. * rendering/RenderBox.cpp:
  13282. (WebCore::RenderBox::borderBoxRectInRegion):
  13283. Called to compute the border box rect in a specific region. The result is cached in a HashMap
  13284. in the region itself so that subsequent lookups are fast.
  13285. (WebCore::RenderBox::nodeAtPoint):
  13286. Modified to use the border box rect in the active region when hit testing the backgrounds of boxes.
  13287. (WebCore::RenderBox::paintBoxDecorations):
  13288. Modified to use the border box rect in the active region when painting the backgrounds of boxes.
  13289. (WebCore::RenderBox::containingBlockLogicalWidthForContent):
  13290. (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
  13291. (WebCore::RenderBox::computeLogicalWidth):
  13292. (WebCore::RenderBox::computeLogicalWidthInRegion):
  13293. Helpers for computing logical widths and margins in a specific region. The result is then cached
  13294. in a HashMap in the region.
  13295. (WebCore::RenderBox::renderBoxRegionInfo):
  13296. The function for obtaining the region-specific information for a given box.
  13297. * rendering/RenderBox.h:
  13298. (WebCore::RenderBox::borderBoxRectInRegion):
  13299. New function for returning the border box rect in a given region.
  13300. * rendering/RenderBoxModelObject.cpp:
  13301. (WebCore::RenderBoxModelObject::paintFillLayerExtended):
  13302. Make sure mask painting honors the active region.
  13303. * rendering/RenderBoxRegionInfo.h: Added.
  13304. (WebCore::RenderBoxRegionInfo::RenderBoxRegionInfo):
  13305. (WebCore::RenderBoxRegionInfo::logicalLeft):
  13306. (WebCore::RenderBoxRegionInfo::logicalWidth):
  13307. (WebCore::RenderBoxRegionInfo::containingBlockChainIsShifted):
  13308. New class held by RenderRegions that caches box-specific info for a given region. This will eventually
  13309. expand to include custom styles as well, but for now it is limited to a new logical left and a new
  13310. logical width, along with a bit for optimizing accumulated shifting when painting/hit testing to avoid
  13311. too much groveling up the containing block chain.
  13312. * rendering/RenderFlowThread.cpp:
  13313. (WebCore::RenderFlowThread::RenderFlowThread):
  13314. Removed the region fitting optimization, since eventually everyone is going to care, and there's no reason
  13315. to limit it with the results now being cached.
  13316. (WebCore::RenderFlowThread::layout):
  13317. All box-specific region information is always cleared whenever the regions are invalidated.
  13318. (WebCore::RenderFlowThread::computeLogicalWidth):
  13319. Modified to set up RenderBoxRegionInfo for the flow thread in all regions.
  13320. (WebCore::RenderFlowThread::paintIntoRegion):
  13321. (WebCore::RenderFlowThread::hitTestRegion):
  13322. Modified to take the region instead of the region's rectangle so that painting and hit testing of the flow
  13323. thread layer tree can properly receive the active region.
  13324. (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
  13325. Helper for removing a box's information from all regions. For now it grovels through every region, so eventually
  13326. we may want to have a cache of the start/end regions for a given box somewhere.
  13327. * rendering/RenderFlowThread.h:
  13328. Removal of the region fitting stuff.
  13329. * rendering/RenderLayer.cpp:
  13330. (WebCore::RenderLayer::paint):
  13331. (WebCore::RenderLayer::paintOverlayScrollbars):
  13332. (WebCore::RenderLayer::paintLayer):
  13333. (WebCore::RenderLayer::paintList):
  13334. (WebCore::RenderLayer::paintPaginatedChildLayer):
  13335. (WebCore::RenderLayer::paintChildLayerIntoColumns):
  13336. * rendering/RenderLayer.h:
  13337. * rendering/RenderLayerBacking.cpp:
  13338. (WebCore::RenderLayerBacking::paintIntoLayer):
  13339. Modified to pass the current region down through painting functions so that it is known at paint time.
  13340. * rendering/RenderObject.cpp:
  13341. (WebCore::RenderObject::RenderObject):
  13342. Added a new bit to RenderObjects, inRenderFlowThread(), so that it is quick to determine whether or not an
  13343. object needs flow thread special casing.
  13344. (WebCore::RenderObject::enclosingRenderFlowThread):
  13345. Modified enclosingRenderFlowThread to be able to quickly return 0 if the object is not in a flow thread.
  13346. (WebCore::RenderObject::containerForRepaint):
  13347. Same.
  13348. * rendering/RenderObject.h:
  13349. (WebCore::RenderObject::setParent):
  13350. setParent now updates inRenderFlowThread() state.
  13351. (WebCore::RenderObject::inRenderFlowThread):
  13352. (WebCore::RenderObject::setInRenderFlowThread):
  13353. Adding the new bit.
  13354. * rendering/RenderObjectChildList.cpp:
  13355. (WebCore::RenderObjectChildList::removeChildNode):
  13356. Make sure when an object is removed from a RenderFlowThread that it deletes its box-specific information
  13357. in all regions.
  13358. * rendering/RenderRegion.cpp:
  13359. (WebCore::RenderRegion::~RenderRegion):
  13360. (WebCore::RenderRegion::paintReplaced):
  13361. (WebCore::RenderRegion::nodeAtPoint):
  13362. (WebCore::RenderRegion::renderBoxRegionInfo):
  13363. (WebCore::RenderRegion::setRenderBoxRegionInfo):
  13364. (WebCore::RenderRegion::removeRenderBoxRegionInfo):
  13365. (WebCore::RenderRegion::deleteAllRenderBoxRegionInfo):
  13366. (WebCore::RenderRegion::matchesRenderFlowThreadLogicalWidth):
  13367. * rendering/RenderRegion.h:
  13368. Added the new HashMap for holding box-specific region information. Also added an additional optimization to
  13369. check if a specific region matches the overall width of the RenderFlowThread. If it does, we don't need to
  13370. cache box-specific information for that region.
  13371. * rendering/RenderReplica.cpp:
  13372. (WebCore::RenderReplica::paint):
  13373. * rendering/RenderScrollbarPart.cpp:
  13374. (WebCore::RenderScrollbarPart::paintIntoRect):
  13375. * rendering/svg/SVGImageBufferTools.cpp:
  13376. (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
  13377. Modified the PaintInfo construction to include the region argument. It's not optional so that callers will
  13378. have to consider it (since masks illustrated this is necessary).
  13379. 2011-09-30 Tim Horton <timothy_horton@apple.com>
  13380. feBlend uses a table of function pointers which reduces inlineability inside the main loop
  13381. https://bugs.webkit.org/show_bug.cgi?id=69154
  13382. <rdar://problem/10215221>
  13383. Reviewed by Darin Adler.
  13384. Don't use a table of function pointers inside the feBlend inner loop, instead
  13385. use switch and inline functions, bringing a 20% performance gain across the
  13386. board to feBlend.
  13387. No new tests, minor performance improvement.
  13388. * platform/graphics/filters/FEBlend.cpp:
  13389. (WebCore::normal):
  13390. (WebCore::multiply):
  13391. (WebCore::screen):
  13392. (WebCore::darken):
  13393. (WebCore::lighten):
  13394. (WebCore::FEBlend::apply):
  13395. 2011-09-30 Mark Hahnenberg <mhahnenberg@apple.com>
  13396. Add getCallData to MethodTable in ClassInfo
  13397. https://bugs.webkit.org/show_bug.cgi?id=69024
  13398. Reviewed by Sam Weinig.
  13399. No new tests.
  13400. * WebCore.exp.in:
  13401. Changed getCallData from private to protected to allow subclasses who
  13402. don't override getCallData themselves to reference it in their own
  13403. method tables when calling the CREATE_METHOD_TABLE macro.
  13404. * bridge/runtime_method.h:
  13405. 2011-09-30 Ned Holbrook <nholbrook@apple.com>
  13406. Complex spaces with synthetic bold are too wide
  13407. https://bugs.webkit.org/show_bug.cgi?id=69033
  13408. Reviewed by Dan Bernstein.
  13409. Test: fast/text/complex-synthetic-bold-space-width.html
  13410. * platform/graphics/mac/ComplexTextController.cpp:
  13411. (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Subtract synthetic bold offset from spaceWidth.
  13412. * platform/graphics/win/UniscribeController.cpp:
  13413. (WebCore::UniscribeController::shapeAndPlaceItem): Ditto.
  13414. 2011-09-30 Pavel Feldman <pfeldman@google.com>
  13415. Web Inspector: [chromium] expose inspector protocol version to the embedder.
  13416. https://bugs.webkit.org/show_bug.cgi?id=69092
  13417. This change also introduces major/minor inspector version components.
  13418. Reviewed by Yury Semikhatsky.
  13419. * CMakeLists.txt:
  13420. * CodeGenerators.pri:
  13421. * DerivedSources.make:
  13422. * GNUmakefile.am:
  13423. * GNUmakefile.list.am:
  13424. * WebCore.gyp/WebCore.gyp:
  13425. * WebCore.gypi:
  13426. * inspector/Inspector-0.1.json: Renamed from Source/WebCore/inspector/Inspector.draft-01.json.
  13427. * inspector/Inspector.json:
  13428. * inspector/generate-inspector-protocol-version: Renamed from Source/WebCore/inspector/validate-protocol-compatibility.
  13429. 2011-09-29 Antti Koivisto <antti@apple.com>
  13430. https://bugs.webkit.org/show_bug.cgi?id=69106
  13431. Universal attribute selectors disable style sharing
  13432. Reviewed by Dave Hyatt.
  13433. Selectors of type [foo="bar"] ended up marking every element style with the affectedByAttributeSelectors bit
  13434. rendering style sharing inoperative. This happens on http://www.whatwg.org/specs/web-apps/current-work/ for example.
  13435. Instead we now mark style with affectedByUncommonAttributeSelectors bit only if an attribute selector actually
  13436. matches the element. Before sharing, we also check the current element against collected attribute rules.
  13437. We can share the style if neither element was affected.
  13438. This speeds up style matching and applying ~15% on full HTML5 spec (=~0.7s). Sharing percentage goes from 0% to ~30%.
  13439. Increased sharing should also save a substantial amount of memory.
  13440. * css/CSSSelector.h:
  13441. (WebCore::CSSSelector::isAttributeSelector):
  13442. * css/CSSStyleSelector.cpp:
  13443. (WebCore::RuleData::containsUncommonAttributeSelector):
  13444. (WebCore::collectSpecialRulesInDefaultStyle):
  13445. (WebCore::assertNoSiblingRulesInDefaultStyle):
  13446. (WebCore::CSSStyleSelector::CSSStyleSelector):
  13447. (WebCore::CSSStyleSelector::matchRules):
  13448. (WebCore::CSSStyleSelector::matchesRuleSet):
  13449. (WebCore::CSSStyleSelector::canShareStyleWithElement):
  13450. (WebCore::CSSStyleSelector::locateSharedStyle):
  13451. (WebCore::CSSStyleSelector::styleForElement):
  13452. (WebCore::selectorListContainsUncommonAttributeSelector):
  13453. (WebCore::isCommonAttributeSelectorAttribute):
  13454. (WebCore::containsUncommonAttributeSelector):
  13455. (WebCore::RuleData::RuleData):
  13456. (WebCore::collectFeaturesFromSelector):
  13457. (WebCore::collectFeaturesFromList):
  13458. * css/CSSStyleSelector.h:
  13459. * css/SelectorChecker.cpp:
  13460. (WebCore::SelectorChecker::checkOneSelector):
  13461. * rendering/style/RenderStyle.cpp:
  13462. (WebCore::RenderStyle::RenderStyle):
  13463. * rendering/style/RenderStyle.h:
  13464. (WebCore::InheritedFlags::affectedByUncommonAttributeSelectors):
  13465. (WebCore::InheritedFlags::setAffectedByUncommonAttributeSelectors):
  13466. 2011-09-30 James Robinson <jamesr@chromium.org>
  13467. [chromium] Add WebKit API for sending input events to the compositor thread
  13468. https://bugs.webkit.org/show_bug.cgi?id=69117
  13469. Reviewed by Darin Fisher.
  13470. Convert to using an externally-provided thread instead of one managed by CCThreadProxy internally. Most changes
  13471. in these files are mechanically changing references from ccThread to s_ccThread to reflect the class-static
  13472. nature of this pointer, the rest are removing the old thread creation codepath.
  13473. These changes are covered by the CC* unit tests and by the gpu layout tests when run with the
  13474. use_threaded_compositing=1 gyp define.
  13475. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  13476. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  13477. * platform/graphics/chromium/cc/CCThreadProxy.cpp:
  13478. (WebCore::CCThreadProxy::setThread):
  13479. (WebCore::CCThreadProxy::CCThreadProxy):
  13480. (WebCore::CCThreadProxy::~CCThreadProxy):
  13481. (WebCore::CCThreadProxy::compositeAndReadback):
  13482. (WebCore::CCThreadProxy::finishAllRendering):
  13483. (WebCore::CCThreadProxy::initializeLayerRenderer):
  13484. (WebCore::CCThreadProxy::setNeedsCommit):
  13485. (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
  13486. (WebCore::CCThreadProxy::setNeedsRedraw):
  13487. (WebCore::CCThreadProxy::start):
  13488. (WebCore::CCThreadProxy::stop):
  13489. (WebCore::CCThreadProxy::beginFrameAndCommit):
  13490. (WebCore::CCThreadProxy::scheduleDrawTaskOnCCThread):
  13491. * platform/graphics/chromium/cc/CCThreadProxy.h:
  13492. 2011-09-29 Fady Samuel <fsamuel@chromium.org>
  13493. Fixed Hit testing on Framesets when Frameset is transformed
  13494. https://bugs.webkit.org/show_bug.cgi?id=67740
  13495. Reviewed by Simon Fraser.
  13496. Tests: fast/frames/frame-set-rotation-hit.html
  13497. fast/frames/frame-set-scaling-hit.html
  13498. * rendering/RenderFrameSet.cpp:
  13499. (WebCore::RenderFrameSet::userResize):
  13500. 2011-09-29 Dirk Pranke <dpranke@chromium.org>
  13501. fix gyp warnings in chromium for renamed files
  13502. https://bugs.webkit.org/show_bug.cgi?id=69116
  13503. Reviewed by Adam Barth.
  13504. * WebCore.gypi:
  13505. 2011-09-29 Martin Robinson <mrobinson@igalia.com>
  13506. [Freetype] Some text in Planet GNOME renders in the wrong place
  13507. https://bugs.webkit.org/show_bug.cgi?id=69099
  13508. Reviewed by Dirk Schulze.
  13509. Test: platform/gtk/fonts/synthetic-oblique-positioning.html
  13510. Fold the oblique transform into the font matrix itself rather than transforming
  13511. the CTM of the context at render time. Not only does this fix the issue, it
  13512. prevents unnecessary work on every paint.
  13513. * platform/graphics/cairo/FontCairo.cpp:
  13514. No longer set the synthetic oblique transformation matrix on the context
  13515. when rendering the text. Instead it is now folded into the TM of the font
  13516. itself.
  13517. * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
  13518. (WebCore::FontPlatformData::initializeWithFontFace): Fold the oblique transform into the scaled font.
  13519. * platform/graphics/win/FontPlatformDataCairoWin.cpp:
  13520. (WebCore::FontPlatformData::FontPlatformData): Ditto.
  13521. 2011-09-29 Dan Bernstein <mitz@apple.com>
  13522. Follow-up fix for <rdar://problem/10191243> Glyph variants (line final swashes) appear where they should not
  13523. Reviewed by Simon Fraser.
  13524. * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
  13525. (WebCore::FontPlatformData::ctFont): Check for Hoefler Text Black Italic as well.
  13526. 2011-09-29 Cary Clark <caryclark@google.com>
  13527. Enable LCD text in Skia on Mac
  13528. https://bugs.webkit.org/show_bug.cgi?id=68734
  13529. Reviewed by Stephen White.
  13530. No new tests. Existing layout tests are generated
  13531. with LCD text disabled for pixel comparisons.
  13532. Duplicate the logic in FontMac.mm to pass settings
  13533. for antialiasing and smoothing. Also disable smoothing
  13534. for DumpRenderTree.
  13535. * platform/graphics/skia/FontSkia.cpp:
  13536. (WebCore::setupPaint):
  13537. (WebCore::Font::drawGlyphs):
  13538. 2011-09-29 Varun Jain <varunjain@google.com>
  13539. Implement flick gesture in Chromium Gesture Recognizer
  13540. https://bugs.webkit.org/show_bug.cgi?id=67930
  13541. Reviewed by Dimitri Glazkov.
  13542. Test: Source/WebKit/chromium/tests/InnerGestureRecognizerTest.cpp
  13543. * platform/chromium/GestureRecognizerChromium.cpp:
  13544. (WebCore::GestureRecognizerChromium::isOverMinFlickSpeed):
  13545. (WebCore::GestureRecognizerChromium::appendScrollGestureEnd):
  13546. (WebCore::GestureRecognizerChromium::updateValues):
  13547. (WebCore::GestureRecognizerChromium::scrollEnd):
  13548. * platform/chromium/GestureRecognizerChromium.h:
  13549. 2011-09-29 Noel Gordon <noel.gordon@gmail.com>
  13550. [chromium] canvas.toDataURL("image/jpeg"): use libjpeg-turbo data swizzle
  13551. https://bugs.webkit.org/show_bug.cgi?id=67402
  13552. Reviewed by Kenneth Russell.
  13553. libjpeg-turbo can read directly from the input data for the premultiplied BRGX
  13554. (SkBitmap) encoding case.
  13555. No change in behavior, covered by existing canvas 2d/3d tests
  13556. canvas/philip/tests/toDataURL.jpeg.alpha.html
  13557. fast/canvas/webgl/premultiplyalpha-test.html
  13558. * platform/image-encoders/skia/JPEGImageEncoder.cpp:
  13559. (WebCore::encodePixels): If JCS_EXTENSIONS is defined (libjpeg-turbo), swizzle
  13560. the input BRGX pixels directly within libjpeg-turbo.
  13561. 2011-09-29 Adam Barth <abarth@webkit.org>
  13562. Fixenate the build.
  13563. * bindings/v8/V8DOMWindowShell.cpp:
  13564. (WebCore::V8DOMWindowShell::namedItemAdded):
  13565. 2011-09-29 Ryosuke Niwa <rniwa@webkit.org>
  13566. Remove direct reads to m_firstNodeInserted and m_lastLeafInserted in ReplaceSelectionCommand
  13567. https://bugs.webkit.org/show_bug.cgi?id=69023
  13568. Reviewed by Enrica Casucci.
  13569. Converted to removeUnrenderedTextNodesAtEnds to use InsertedNodes instead of m_firstNodeInserted
  13570. and m_lastLeafInserted. Extracted the logic to update nodes as InsertedNodes::willRemoveNode
  13571. (old one was renamed to InsertedNodes::willRemoveNodePreservingChildren).
  13572. Also extracted shouldPerformSmartReplace and addSpacesForSmartReplace out of doApply,
  13573. and rewrote the logic to obtain endNode and startNode using startOfInsertedContent and
  13574. endOfInsertedContent instead of m_firstNodeInserted and m_lastLeafInserted.
  13575. Finally, replaced the nullity checks of m_firstNodeInserted and m_lastLeafInserted in
  13576. completeHTMLReplacement by nullity checks of start and end positions.
  13577. * dom/Node.cpp:
  13578. (WebCore::Node::traversePreviousSibling): Added.
  13579. * dom/Node.h:
  13580. * editing/ReplaceSelectionCommand.cpp:
  13581. (WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNodePreservingChildren): Renamed from
  13582. willRemoveNode.
  13583. (WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNode): Extracted from
  13584. removeUnrenderedTextNodesAtEnds.
  13585. (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
  13586. (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
  13587. (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent): Made const.
  13588. (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent): Made const.
  13589. (WebCore::ReplaceSelectionCommand::handleStyleSpans): Takes firstNodeInserted instead of directly
  13590. accessing m_firstNodeInserted.
  13591. (WebCore::ReplaceSelectionCommand::doApply):
  13592. (WebCore::ReplaceSelectionCommand::shouldPerformSmartReplace):
  13593. (WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace):
  13594. (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
  13595. * editing/ReplaceSelectionCommand.h:
  13596. 2011-09-29 Andreas Kling <kling@webkit.org>
  13597. Shrink HTMLAnchorElement on 32-bit.
  13598. https://bugs.webkit.org/show_bug.cgi?id=69094
  13599. Reviewed by Antti Koivisto.
  13600. * html/HTMLAnchorElement.h: Pack members into a bitfield.
  13601. 2011-09-29 Dan Bernstein <mitz@apple.com>
  13602. <rdar://problem/10191243> Glyph variants (line final swashes) appear where they should not
  13603. Reviewed by Simon Fraser.
  13604. Test: fast/text/line-initial-and-final-swashes.html
  13605. Hoefler Text Italic enables line-initial and -final swashes by default, so disable them. This
  13606. change targets only this known-bad font rather than all fonts, because at least one font (Khmer MN)
  13607. incorrectly claims to have the line-initial feature enabled, but disabling it actually does
  13608. something different and bad (breaking some combining marks).
  13609. * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
  13610. (WebCore::createFeatureSettingDictionary): Added this helper function.
  13611. (WebCore::cascadeToLastResortFontDescriptor): Deployed WTF_ARRAY_LENGTH().
  13612. (WebCore::cascadeToLastResortAndDisableSwashesFontDescriptor): Added. Returns a font descriptor
  13613. that, in addition to having a cascade list consisting of the last resort font, also has feature
  13614. settings to disable line-initial and line-final swashes.
  13615. (WebCore::FontPlatformData::ctFont): For Hoefler Text Italic, use cascadeToLastResortAndDisableSwashesFontDescriptor().
  13616. 2011-09-29 Mark Hahnenberg <mhahnenberg@apple.com>
  13617. Unreviewed: resetting baseline for code generator bindings
  13618. Unreviewed build fix
  13619. No new tests.
  13620. * bindings/scripts/test/JS/JSTestObj.cpp:
  13621. * bindings/scripts/test/JS/JSTestObj.h:
  13622. 2011-09-29 Nate Chapin <japhet@chromium.org>
  13623. [V8, chromium] More logging to determine cause of a null
  13624. v8::Context in V8DOMWindowShell::namedItemAdded().
  13625. https://bugs.webkit.org/show_bug.cgi?id=68099
  13626. Reviewed by Adam Barth.
  13627. * bindings/v8/V8DOMWindowShell.cpp:
  13628. (WebCore::V8DOMWindowShell::namedItemAdded):
  13629. 2011-09-29 Alexey Proskuryakov <ap@apple.com>
  13630. https://bugs.webkit.org/show_bug.cgi?id=69040
  13631. ScrollbarThemeComposite requires a ScrollView to draw scroll corner
  13632. Reviewed by Simon Fraser.
  13633. No new tests. This will be needed later.
  13634. * platform/ScrollbarThemeComposite.cpp:
  13635. (WebCore::pageForScrollView):
  13636. (WebCore::ScrollbarThemeComposite::paintScrollCorner):
  13637. Use pageForScrollView() function which already existed in this file, used in another similar
  13638. location.
  13639. * platform/chromium/FramelessScrollView.cpp:
  13640. * platform/chromium/FramelessScrollView.h:
  13641. * platform/gtk/ScrollbarThemeGtk.cpp:
  13642. * platform/gtk/ScrollbarThemeGtk.h:
  13643. * platform/wx/ScrollbarThemeWx.cpp:
  13644. * platform/wx/ScrollbarThemeWx.h:
  13645. All these overrides are no longer needed, ScrollbarThemeComposite will do the right thing.
  13646. * platform/qt/ScrollbarThemeQt.cpp: (WebCore::ScrollbarThemeQt::paintScrollCorner):
  13647. Removed a special case for updatingControlTints phase. The same case is present in cross-platform
  13648. code now, and Qt doesn't have any custom subclasses of ScrollableArea or ScrollView to need
  13649. special handling.
  13650. This was added in r37377 without a bug or much ChangeLog explanation.
  13651. 2011-09-29 Mark Hahnenberg <mhahnenberg@apple.com>
  13652. De-virtualize JSCell::visitChildrenVirtual and remove all other visitChildrenVirtual methods
  13653. https://bugs.webkit.org/show_bug.cgi?id=68839
  13654. Reviewed by Geoffrey Garen.
  13655. No new tests.
  13656. Removed the remaining visitChildrenVirtual methods. This patch completes the process of
  13657. de-virtualizing visitChildren.
  13658. * WebCore.exp.in:
  13659. * bindings/js/JSAttrCustom.cpp:
  13660. * bindings/js/JSAudioContextCustom.cpp:
  13661. * bindings/js/JSCSSRuleCustom.cpp:
  13662. * bindings/js/JSCSSStyleDeclarationCustom.cpp:
  13663. * bindings/js/JSCanvasRenderingContextCustom.cpp:
  13664. * bindings/js/JSDOMGlobalObject.cpp:
  13665. (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
  13666. (WebCore::JSDOMGlobalObject::finishCreation):
  13667. * bindings/js/JSDOMGlobalObject.h:
  13668. * bindings/js/JSDOMWindowCustom.cpp:
  13669. * bindings/js/JSDOMWindowShell.cpp:
  13670. * bindings/js/JSDOMWindowShell.h:
  13671. * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
  13672. * bindings/js/JSMessageChannelCustom.cpp:
  13673. * bindings/js/JSMessagePortCustom.cpp:
  13674. * bindings/js/JSNamedNodeMapCustom.cpp:
  13675. * bindings/js/JSNodeCustom.cpp:
  13676. * bindings/js/JSNodeFilterCustom.cpp:
  13677. * bindings/js/JSNodeIteratorCustom.cpp:
  13678. * bindings/js/JSSVGElementInstanceCustom.cpp:
  13679. * bindings/js/JSSharedWorkerCustom.cpp:
  13680. * bindings/js/JSStyleSheetCustom.cpp:
  13681. * bindings/js/JSTreeWalkerCustom.cpp:
  13682. * bindings/js/JSWebGLRenderingContextCustom.cpp:
  13683. * bindings/js/JSWorkerContextCustom.cpp:
  13684. * bindings/js/JSXMLHttpRequestCustom.cpp:
  13685. * bindings/js/JSXPathResultCustom.cpp:
  13686. * bindings/scripts/CodeGeneratorJS.pm:
  13687. (GenerateHeader):
  13688. (GenerateImplementation):
  13689. * bridge/qt/qt_instance.cpp:
  13690. * bridge/qt/qt_runtime.cpp:
  13691. * bridge/qt/qt_runtime.h:
  13692. 2011-09-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
  13693. [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi
  13694. QWidget and friends now live in the QtWidgets library. We update
  13695. includes in implementation files and private headers to us the
  13696. non-module-prefixed path, and leave the lookup for the include
  13697. path. For public headers we have to ifdef the includes as the
  13698. user might now have the modules we need in his QT config.
  13699. Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
  13700. have to update our code and use windowHandle() for setting the
  13701. parent relationships.
  13702. https://bugs.webkit.org/show_bug.cgi?id=68687
  13703. Reviewed by Andreas Kling.
  13704. * WebCore.pri:
  13705. * platform/graphics/qt/GraphicsLayerQt.cpp:
  13706. 2011-09-29 Sheriff Bot <webkit.review.bot@gmail.com>
  13707. Unreviewed, rolling out r96340.
  13708. http://trac.webkit.org/changeset/96340
  13709. https://bugs.webkit.org/show_bug.cgi?id=69098
  13710. Caused 10 tests to crash in Debug (Requested by
  13711. abarth|gardener on #webkit).
  13712. * accessibility/AXObjectCache.cpp:
  13713. (WebCore::AXObjectCache::AXObjectCache):
  13714. (WebCore::AXObjectCache::~AXObjectCache):
  13715. (WebCore::AXObjectCache::remove):
  13716. (WebCore::AXObjectCache::childrenChanged):
  13717. * accessibility/AXObjectCache.h:
  13718. * accessibility/AccessibilityMenuList.cpp:
  13719. (WebCore::AccessibilityMenuList::childrenChanged):
  13720. * accessibility/AccessibilityMenuList.h:
  13721. * accessibility/AccessibilityMenuListPopup.cpp:
  13722. (WebCore::AccessibilityMenuListPopup::childrenChanged):
  13723. * accessibility/AccessibilityMenuListPopup.h:
  13724. * accessibility/AccessibilityObject.h:
  13725. (WebCore::AccessibilityObject::childrenChanged):
  13726. * accessibility/AccessibilityRenderObject.cpp:
  13727. (WebCore::startOfContinuations):
  13728. (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
  13729. (WebCore::AccessibilityRenderObject::childrenChanged):
  13730. * accessibility/AccessibilityRenderObject.h:
  13731. * rendering/RenderObject.cpp:
  13732. (WebCore::RenderObject::willBeDestroyed):
  13733. 2011-09-29 Andreas Kling <kling@webkit.org>
  13734. Shrink FontFallbackList.
  13735. https://bugs.webkit.org/show_bug.cgi?id=69093
  13736. Reviewed by Antti Koivisto.
  13737. Reduce the size of FontFallbackList by one CPU word, decreasing memory
  13738. consumption by 300 kB (on 64-bit) when loading the full HTML5 spec.
  13739. * platform/graphics/FontCache.h:
  13740. * platform/graphics/FontCache.cpp:
  13741. (WebCore::FontCache::generation):
  13742. Store the FontCache generation as an ushort rather than uint.
  13743. * platform/graphics/FontFallbackList.cpp:
  13744. (WebCore::FontFallbackList::FontFallbackList):
  13745. * platform/graphics/FontFallbackList.h:
  13746. Pack enum and bool members in a bitfield.
  13747. 2011-09-29 Adam Barth <abarth@webkit.org>
  13748. We should ignore the return value of GetRealNamedProperty
  13749. https://bugs.webkit.org/show_bug.cgi?id=68840
  13750. Reviewed by Nate Chapin.
  13751. Instead of skipping the lookup process by using the result of real
  13752. named property, we should just indiciate that it wasn't handled by the
  13753. interceptor.
  13754. Test: http/tests/security/window-named-valueOf.html
  13755. * bindings/v8/custom/V8DOMWindowCustom.cpp:
  13756. (WebCore::V8DOMWindow::namedPropertyGetter):
  13757. 2011-09-29 Chris Fleizach <cfleizach@apple.com>
  13758. ARIA live regions don't trigger notifications for elements that aren't in the AX tree
  13759. https://bugs.webkit.org/show_bug.cgi?id=62289
  13760. If an ARIA Live region udpates an element that is not in the AX object cache, then the Live region
  13761. notification is not sent. To fix this, the childrenChanged() method needs to actually create
  13762. the appropriate objects, but since that method gets called during a render tree update, we've learned
  13763. that it's generally not safe to create objects.
  13764. Instead a one shot timer can be fired that will update and create the necessary objects so that the
  13765. correct notification can be sent.
  13766. Reviewed by Darin Adler.
  13767. Test: platform/mac/accessibility/aria-liveregion-without-element-access.html
  13768. * accessibility/AXObjectCache.cpp:
  13769. (WebCore::AXObjectCache::AXObjectCache):
  13770. (WebCore::AXObjectCache::~AXObjectCache):
  13771. (WebCore::AXObjectCache::remove):
  13772. (WebCore::AXObjectCache::childrenUpdateTimerFired):
  13773. (WebCore::AXObjectCache::childrenChanged):
  13774. * accessibility/AXObjectCache.h:
  13775. * accessibility/AccessibilityMenuList.cpp:
  13776. (WebCore::AccessibilityMenuList::childrenChanged):
  13777. * accessibility/AccessibilityMenuList.h:
  13778. * accessibility/AccessibilityMenuListPopup.cpp:
  13779. (WebCore::AccessibilityMenuListPopup::childrenChanged):
  13780. * accessibility/AccessibilityMenuListPopup.h:
  13781. * accessibility/AccessibilityObject.h:
  13782. (WebCore::AccessibilityObject::childrenChanged):
  13783. * accessibility/AccessibilityRenderObject.cpp:
  13784. (WebCore::startOfContinuations):
  13785. (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
  13786. (WebCore::AccessibilityRenderObject::childrenChanged):
  13787. * accessibility/AccessibilityRenderObject.h:
  13788. * rendering/RenderObject.cpp:
  13789. (WebCore::RenderObject::willBeDestroyed):
  13790. 2011-09-29 Martin Robinson <mrobinson@igalia.com>
  13791. [GTK] Dragging a selection does not produce a drag image
  13792. https://bugs.webkit.org/show_bug.cgi?id=69064
  13793. Reviewed by Andreas Kling.
  13794. Moved Chromium's generic implementation of Frame::nodeImage and
  13795. Frame::dragImageForSeletion to Frame.cpp and simply excluded via
  13796. #ifdefs platforms that do not have their own implementation. Removed
  13797. all empty implementations of these functions and Qt's which was
  13798. functionally identical.
  13799. No new tests. Drag-and-drop drag image functionality changes
  13800. are incredibly difficult to test in a non-manual way.
  13801. * CMakeListsEfl.txt: Delist FrameEfl.cpp.
  13802. * GNUmakefile.list.am: Delist FrameGtk.cpp.
  13803. * WebCore.gypi: Delist removed Frame*.cpp.
  13804. * WebCore.pro: Delist FrameQt.cpp.
  13805. * page/Frame.cpp: Moved FrameChromium implementation here.
  13806. (WebCore::ScopedFramePaintingState::ScopedFramePaintingState):
  13807. (WebCore::ScopedFramePaintingState::~ScopedFramePaintingState):
  13808. (WebCore::Frame::nodeImage):
  13809. (WebCore::Frame::dragImageForSelection):
  13810. * page/chromium/FrameChromium.cpp: Removed.
  13811. * page/efl/FrameEfl.cpp: Removed.
  13812. * page/gtk/FrameGtk.cpp: Removed.
  13813. * page/qt/FrameQt.cpp: Removed.
  13814. * page/wx/FrameWx.cpp: Removed.
  13815. * platform/gtk/ClipboardGtk.cpp:
  13816. (WebCore::ClipboardGtk::createDragImage): Call nodeImage to get
  13817. the drag image for a node.
  13818. 2011-09-29 Noel Gordon <noel.gordon@gmail.com>
  13819. [chromium skia] PNGImageEncoder: hoist constants out of the encoding loop
  13820. https://bugs.webkit.org/show_bug.cgi?id=68988
  13821. Reviewed by Kenneth Russell.
  13822. No new tests. Covered by existing canvas 2d and 3d tests.
  13823. canvas/philip/tests/toDataURL.png.*.html
  13824. fast/canvas/toDataURL-alpha.html
  13825. fast/canvas/webgl/premultiplyalpha-test.html
  13826. * platform/image-encoders/skia/PNGImageEncoder.cpp:
  13827. (WebCore::encodePixels): Move constant out of the encoding loop.
  13828. (WebCore::PNGImageEncoder::encode): Consistency & style: call encodePixels()
  13829. just like we do in the JPEG encoder.
  13830. 2011-09-29 Iain Merrick <husky@google.com>
  13831. Add unit test for CCLayerSorter
  13832. https://bugs.webkit.org/show_bug.cgi?id=68622
  13833. Minor refactoring for testability:
  13834. - Made pointInTriangle public.
  13835. - Added LayerShape to decouple LayerIntersector and GraphNode.
  13836. - Added a public wrapper function for LayerIntersector.
  13837. Reviewed by James Robinson.
  13838. * platform/graphics/chromium/cc/CCLayerSorter.cpp:
  13839. (WebCore::CCLayerSorter::pointInTriangle):
  13840. (WebCore::CCLayerSorter::calculateZDiff):
  13841. (WebCore::CCLayerSorter::LayerIntersector::LayerIntersector):
  13842. (WebCore::CCLayerSorter::LayerIntersector::go):
  13843. (WebCore::CCLayerSorter::LayerIntersector::checkZDiff):
  13844. (WebCore::CCLayerSorter::LayerIntersector::layerZFromProjectedPoint):
  13845. (WebCore::CCLayerSorter::checkOverlap):
  13846. (WebCore::CCLayerSorter::LayerShape::LayerShape):
  13847. (WebCore::CCLayerSorter::createGraphNodes):
  13848. * platform/graphics/chromium/cc/CCLayerSorter.h:
  13849. (WebCore::CCLayerSorter::LayerShape::LayerShape):
  13850. (WebCore::CCLayerSorter::GraphNode::GraphNode):
  13851. 2011-09-29 Ilya Tikhonovsky <loislo@chromium.org>
  13852. Web Inspector: UI performance test for network panel is incorrect. The time is including a timeout between scheduled refresh and actual refresh.
  13853. https://bugs.webkit.org/show_bug.cgi?id=69087
  13854. The fix has the changes for the test and minor perf framework improvements.
  13855. Reviewed by Yury Semikhatsky.
  13856. * inspector/front-end/NetworkPanel.js:
  13857. (WebInspector.NetworkLogView.prototype._defaultRefreshDelay.500._scheduleRefresh):
  13858. 2011-09-29 Vsevolod Vlasov <vsevik@chromium.org>
  13859. Web Inspector: Make search-in-resource test simpler.
  13860. https://bugs.webkit.org/show_bug.cgi?id=69025
  13861. Changed search-in-resource test.
  13862. Removed error parameter from content provider's searchInContent callback.
  13863. Reviewed by Pavel Feldman.
  13864. * inspector/InspectorPageAgent.cpp:
  13865. (WebCore::InspectorPageAgent::searchInResource):
  13866. (WebCore::InspectorPageAgent::searchInResources):
  13867. * inspector/front-end/Resource.js:
  13868. (WebInspector.Resource.prototype.searchInContent):
  13869. 2011-09-29 Hans Wennborg <hans@chromium.org>
  13870. IndexedDB: Use LevelDB also for in-memory databases
  13871. https://bugs.webkit.org/show_bug.cgi?id=68903
  13872. Reviewed by Steve Block.
  13873. Add LevelDBDatabase::openInMemory() which uses leveldb::NewMemEnv()
  13874. to create in-memory LevelDB databases.
  13875. Use this in IDBLeveLDBBackingStore::open() when the caller passes in
  13876. an empty file path.
  13877. This happens in Chromium's incognito mode, and when running layout
  13878. tests.
  13879. Fix IDBSQLiteBackingStore::backingStoreExists() so it doesn't create
  13880. files when passed in an empty file path, but uses the in-memory mode
  13881. instead.
  13882. Existing layout tests will all be run in-memory.
  13883. * platform/leveldb/LevelDBDatabase.cpp:
  13884. (WebCore::LevelDBDatabase::~LevelDBDatabase):
  13885. (WebCore::openDB):
  13886. (WebCore::LevelDBDatabase::open):
  13887. (WebCore::LevelDBDatabase::openInMemory):
  13888. * platform/leveldb/LevelDBDatabase.h:
  13889. * storage/IDBLevelDBBackingStore.cpp:
  13890. (WebCore::IDBLevelDBBackingStore::open):
  13891. * storage/IDBSQLiteBackingStore.cpp:
  13892. (WebCore::IDBSQLiteBackingStore::backingStoreExists):
  13893. 2011-09-29 Ilya Tikhonovsky <loislo@chromium.org>
  13894. Web Inspector: speed-up Network panel. Change _staleResources type from array to object.
  13895. https://bugs.webkit.org/show_bug.cgi?id=69081
  13896. There is a test with 30 requests.
  13897. For the each stage of loading a resource we have an entry in _staleResources array. There are at least 4 stages per request.
  13898. NetworkLogView._refresh function is creating/updating the resource row for the each such entry.
  13899. This array can be replaced with a hash map just because the resource associated with the entry is the same for all the entries with the same request id.
  13900. Reviewed by Pavel Feldman.
  13901. Test: inspector/performance/resources/network-append-30-requests.html
  13902. * inspector/front-end/NetworkPanel.js:
  13903. (WebInspector.NetworkLogView):
  13904. (WebInspector.NetworkLogView.prototype._invalidateAllItems):
  13905. (WebInspector.NetworkLogView.prototype.refresh):
  13906. (WebInspector.NetworkLogView.prototype._reset):
  13907. (WebInspector.NetworkLogView.prototype._refreshResource):
  13908. 2011-09-28 Pavel Feldman <pfeldman@google.com>
  13909. Web Inspector: make inspector protocol validation a part of the build process.
  13910. https://bugs.webkit.org/show_bug.cgi?id=68999
  13911. Since we'd like to commit to inspector protocol backwards compatibility, violating it
  13912. should be a build failure.
  13913. Reviewed by Yury Semikhatsky.
  13914. * CMakeLists.txt:
  13915. * CodeGenerators.pri:
  13916. * DerivedSources.make:
  13917. * GNUmakefile.am:
  13918. * WebCore.gyp/WebCore.gyp:
  13919. * inspector/Inspector.draft-01.json:
  13920. * inspector/Inspector.json:
  13921. * inspector/generate-inspector-idl:
  13922. * inspector/generate-protocol-externs:
  13923. * inspector/validate-protocol-compatibility:
  13924. 2011-09-27 Pavel Feldman <pfeldman@google.com>
  13925. Web Inspector: Scripts panel without folders causes errors when creating content scripts section.
  13926. https://bugs.webkit.org/show_bug.cgi?id=68827
  13927. Reviewed by Yury Semikhatsky.
  13928. * inspector/front-end/ScriptsPanel.js:
  13929. (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered.optionCompare):
  13930. (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered):
  13931. (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
  13932. 2011-09-28 Andrey Kosyakov <caseq@chromium.org>
  13933. Web Inspector: network log view refresh optimizations
  13934. https://bugs.webkit.org/show_bug.cgi?id=69010
  13935. Reviewed by Pavel Feldman.
  13936. * inspector/front-end/NetworkPanel.js:
  13937. (WebInspector.NetworkLogView.prototype.refresh):
  13938. 2011-09-29 Pavel Podivilov <podivilov@chromium.org>
  13939. Web Inspector: split SourceFile.js into RawSourceCode.js and UISourceCodeContentProviders.js.
  13940. https://bugs.webkit.org/show_bug.cgi?id=69068
  13941. Reviewed by Yury Semikhatsky.
  13942. * WebCore.gypi:
  13943. * WebCore.vcproj/WebCore.vcproj:
  13944. * inspector/front-end/RawSourceCode.js: Renamed from Source/WebCore/inspector/front-end/SourceFile.js.
  13945. (WebInspector.RawSourceCode): Moved from SourceFile.js.
  13946. (WebInspector.UILocation): Moved from SourceFile.js.
  13947. * inspector/front-end/UISourceCodeContentProviders.js: Added. Moved ContentProvider implementations from SourceFile.js
  13948. (WebInspector.ScriptContentProvider):
  13949. (WebInspector.ScriptContentProvider.prototype.requestContent):
  13950. (WebInspector.ConcatenatedScriptsContentProvider):
  13951. (WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent):
  13952. (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent.appendChunk):
  13953. (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
  13954. (WebInspector.ResourceContentProvider):
  13955. (WebInspector.ResourceContentProvider.prototype.requestContent):
  13956. (WebInspector.StaticContentProvider):
  13957. (WebInspector.StaticContentProvider.prototype.requestContent):
  13958. * inspector/front-end/WebKit.qrc:
  13959. * inspector/front-end/inspector.html:
  13960. 2011-09-29 Philippe Normand <pnormand@igalia.com>
  13961. [GStreamer] 2 flaky media tests
  13962. https://bugs.webkit.org/show_bug.cgi?id=67407
  13963. Reviewed by Martin Robinson.
  13964. Workaround for GStreamer bug#639941. In GStreamer
  13965. 0.10.35 basesink reports wrong duration in case of EOS and
  13966. negative playback rate. This workaround fixes two media tests,
  13967. media/video-timeupdate-reverse-play.html and
  13968. media/video-reverse-play-duration.html.
  13969. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  13970. (WebCore::MediaPlayerPrivateGStreamer::prepareToPlay):
  13971. (WebCore::MediaPlayerPrivateGStreamer::currentTime):
  13972. (WebCore::MediaPlayerPrivateGStreamer::didEnd):
  13973. 2011-09-29 Philippe Normand <pnormand@igalia.com>
  13974. [GStreamer] fullscreen video pause/play fails
  13975. https://bugs.webkit.org/show_bug.cgi?id=66936
  13976. Reviewed by Martin Robinson.
  13977. Don't use the identity element to avoid painting of the in-window
  13978. video. Instead simply make the sink aware of the fullscreen state
  13979. and ignore buffers if fullscreen and autovideosink are
  13980. active. Also fixed two deadlocks happening when a paused pipeline
  13981. is switched to fullscreen and when fullscreen is disabled for a
  13982. paused pipeline.
  13983. * platform/graphics/gstreamer/GStreamerGWorld.cpp:
  13984. (WebCore::GStreamerGWorld::enterFullscreen):
  13985. (WebCore::GStreamerGWorld::exitFullscreen):
  13986. * platform/graphics/gstreamer/GStreamerGWorld.h:
  13987. (WebCore::GStreamerGWorld::isFullscreen):
  13988. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  13989. (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
  13990. * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
  13991. (webkit_video_sink_render):
  13992. (webkit_video_sink_new):
  13993. * platform/graphics/gstreamer/VideoSinkGStreamer.h:
  13994. 2011-09-29 Tim Horton <timothy_horton@apple.com>
  13995. REGRESSION(87010): elements in ECMA-cloud neither filled nor blurred
  13996. https://bugs.webkit.org/show_bug.cgi?id=68679
  13997. <rdar://problem/10204649>
  13998. Reviewed by Nikolas Zimmermann.
  13999. Strip prefixes from SVG attributes before testing if they're supported.
  14000. Namespaced attributes will be matched using their namespace instead of
  14001. the (user-choosable) prefix.
  14002. Test: svg/custom/xlink-custom-namespace.svg
  14003. * svg/SVGAElement.cpp:
  14004. (WebCore::SVGAElement::isSupportedAttribute):
  14005. * svg/SVGAnimateMotionElement.cpp:
  14006. (WebCore::SVGAnimateMotionElement::isSupportedAttribute):
  14007. * svg/SVGAnimateTransformElement.cpp:
  14008. (WebCore::SVGAnimateTransformElement::isSupportedAttribute):
  14009. * svg/SVGAnimationElement.cpp:
  14010. (WebCore::SVGAnimationElement::isSupportedAttribute):
  14011. * svg/SVGCircleElement.cpp:
  14012. (WebCore::SVGCircleElement::isSupportedAttribute):
  14013. * svg/SVGClipPathElement.cpp:
  14014. (WebCore::SVGClipPathElement::isSupportedAttribute):
  14015. * svg/SVGComponentTransferFunctionElement.cpp:
  14016. (WebCore::SVGComponentTransferFunctionElement::isSupportedAttribute):
  14017. * svg/SVGCursorElement.cpp:
  14018. (WebCore::SVGCursorElement::isSupportedAttribute):
  14019. * svg/SVGElement.h:
  14020. (WebCore::SVGAttributeHashTranslator::hash):
  14021. (WebCore::SVGAttributeHashTranslator::equal):
  14022. * svg/SVGEllipseElement.cpp:
  14023. (WebCore::SVGEllipseElement::isSupportedAttribute):
  14024. * svg/SVGExternalResourcesRequired.h:
  14025. * svg/SVGFEBlendElement.cpp:
  14026. (WebCore::SVGFEBlendElement::isSupportedAttribute):
  14027. * svg/SVGFEColorMatrixElement.cpp:
  14028. (WebCore::SVGFEColorMatrixElement::isSupportedAttribute):
  14029. * svg/SVGFEComponentTransferElement.cpp:
  14030. (WebCore::SVGFEComponentTransferElement::isSupportedAttribute):
  14031. * svg/SVGFECompositeElement.cpp:
  14032. (WebCore::SVGFECompositeElement::isSupportedAttribute):
  14033. * svg/SVGFEConvolveMatrixElement.cpp:
  14034. (WebCore::SVGFEConvolveMatrixElement::isSupportedAttribute):
  14035. * svg/SVGFEDiffuseLightingElement.cpp:
  14036. (WebCore::SVGFEDiffuseLightingElement::isSupportedAttribute):
  14037. * svg/SVGFEDisplacementMapElement.cpp:
  14038. (WebCore::SVGFEDisplacementMapElement::isSupportedAttribute):
  14039. * svg/SVGFEDropShadowElement.cpp:
  14040. (WebCore::SVGFEDropShadowElement::isSupportedAttribute):
  14041. * svg/SVGFEGaussianBlurElement.cpp:
  14042. (WebCore::SVGFEGaussianBlurElement::isSupportedAttribute):
  14043. * svg/SVGFEImageElement.cpp:
  14044. (WebCore::SVGFEImageElement::isSupportedAttribute):
  14045. * svg/SVGFELightElement.cpp:
  14046. (WebCore::SVGFELightElement::isSupportedAttribute):
  14047. * svg/SVGFEMergeNodeElement.cpp:
  14048. (WebCore::SVGFEMergeNodeElement::isSupportedAttribute):
  14049. * svg/SVGFEMorphologyElement.cpp:
  14050. (WebCore::SVGFEMorphologyElement::isSupportedAttribute):
  14051. * svg/SVGFEOffsetElement.cpp:
  14052. (WebCore::SVGFEOffsetElement::isSupportedAttribute):
  14053. * svg/SVGFESpecularLightingElement.cpp:
  14054. (WebCore::SVGFESpecularLightingElement::isSupportedAttribute):
  14055. * svg/SVGFETileElement.cpp:
  14056. (WebCore::SVGFETileElement::isSupportedAttribute):
  14057. * svg/SVGFETurbulenceElement.cpp:
  14058. (WebCore::SVGFETurbulenceElement::isSupportedAttribute):
  14059. * svg/SVGFilterElement.cpp:
  14060. (WebCore::SVGFilterElement::isSupportedAttribute):
  14061. * svg/SVGFilterPrimitiveStandardAttributes.cpp:
  14062. (WebCore::SVGFilterPrimitiveStandardAttributes::isSupportedAttribute):
  14063. * svg/SVGForeignObjectElement.cpp:
  14064. (WebCore::SVGForeignObjectElement::isSupportedAttribute):
  14065. * svg/SVGGElement.cpp:
  14066. (WebCore::SVGGElement::isSupportedAttribute):
  14067. * svg/SVGGradientElement.cpp:
  14068. (WebCore::SVGGradientElement::isSupportedAttribute):
  14069. * svg/SVGImageElement.cpp:
  14070. (WebCore::SVGImageElement::isSupportedAttribute):
  14071. * svg/SVGLineElement.cpp:
  14072. (WebCore::SVGLineElement::isSupportedAttribute):
  14073. * svg/SVGLinearGradientElement.cpp:
  14074. (WebCore::SVGLinearGradientElement::isSupportedAttribute):
  14075. * svg/SVGMPathElement.cpp:
  14076. (WebCore::SVGMPathElement::isSupportedAttribute):
  14077. * svg/SVGMarkerElement.cpp:
  14078. (WebCore::SVGMarkerElement::isSupportedAttribute):
  14079. * svg/SVGMaskElement.cpp:
  14080. (WebCore::SVGMaskElement::isSupportedAttribute):
  14081. * svg/SVGPathElement.cpp:
  14082. (WebCore::SVGPathElement::isSupportedAttribute):
  14083. * svg/SVGPatternElement.cpp:
  14084. (WebCore::SVGPatternElement::isSupportedAttribute):
  14085. * svg/SVGPolyElement.cpp:
  14086. (WebCore::SVGPolyElement::isSupportedAttribute):
  14087. * svg/SVGRadialGradientElement.cpp:
  14088. (WebCore::SVGRadialGradientElement::isSupportedAttribute):
  14089. * svg/SVGRectElement.cpp:
  14090. (WebCore::SVGRectElement::isSupportedAttribute):
  14091. * svg/SVGScriptElement.cpp:
  14092. (WebCore::SVGScriptElement::isSupportedAttribute):
  14093. * svg/SVGStopElement.cpp:
  14094. (WebCore::SVGStopElement::isSupportedAttribute):
  14095. * svg/SVGStyleElement.cpp:
  14096. (WebCore::SVGStyleElement::isSupportedAttribute):
  14097. * svg/SVGStyledTransformableElement.cpp:
  14098. (WebCore::SVGStyledTransformableElement::isSupportedAttribute):
  14099. * svg/SVGSymbolElement.cpp:
  14100. (WebCore::SVGSymbolElement::isSupportedAttribute):
  14101. * svg/SVGTRefElement.cpp:
  14102. (WebCore::SVGTRefElement::isSupportedAttribute):
  14103. * svg/SVGTextContentElement.cpp:
  14104. (WebCore::SVGTextContentElement::isSupportedAttribute):
  14105. * svg/SVGTextElement.cpp:
  14106. (WebCore::SVGTextElement::isSupportedAttribute):
  14107. * svg/SVGTextPathElement.cpp:
  14108. (WebCore::SVGTextPathElement::isSupportedAttribute):
  14109. * svg/SVGTextPositioningElement.cpp:
  14110. (WebCore::SVGTextPositioningElement::isSupportedAttribute):
  14111. * svg/SVGURIReference.cpp:
  14112. (WebCore::SVGURIReference::addSupportedAttributes):
  14113. * svg/SVGUseElement.cpp:
  14114. (WebCore::SVGUseElement::isSupportedAttribute):
  14115. * svg/SVGViewElement.cpp:
  14116. (WebCore::SVGViewElement::isSupportedAttribute):
  14117. 2011-09-28 Kentaro Hara <haraken@chromium.org>
  14118. "ScriptValue" arguments of PopStateEvent methods should be "const ScriptValue&"
  14119. https://bugs.webkit.org/show_bug.cgi?id=68984
  14120. Reviewed by Darin Adler.
  14121. Just a follow-up fix for the bug 68345. For performance,
  14122. "ScriptValue" arguments of PopStateEvent methods should be "const ScriptValue&".
  14123. Tests: fast/events/constructors/pop-state-event-constructor.html
  14124. fast/events/fire-popstate-event.html
  14125. * dom/PopStateEvent.cpp:
  14126. (WebCore::PopStateEvent::PopStateEvent):
  14127. (WebCore::PopStateEvent::create):
  14128. (WebCore::PopStateEvent::initPopStateEvent):
  14129. * dom/PopStateEvent.h:
  14130. 2011-09-28 Martin Robinson <mrobinson@igalia.com>
  14131. [GTK] Move drag-and-drop code which can be shared with WebKit2 to WebCore
  14132. https://bugs.webkit.org/show_bug.cgi?id=66890
  14133. Added a GtkDragAndDropHelper class to hold all the logic that is common
  14134. between WebKit1 and WebKit2. This will allow greater code sharing between
  14135. the two ports.
  14136. Reviewed by Philippe Normand.
  14137. No new tests. This patch should not change behavior.
  14138. * GNUmakefile.list.am: Added the GtkDragAndDropHelper to the sources list.
  14139. * platform/gtk/GtkDragAndDropHelper.cpp: Added.
  14140. * platform/gtk/GtkDragAndDropHelper.h: Added.
  14141. 2011-09-28 Dan Bernstein <mitz@apple.com>
  14142. <rdar://problem/10196497> first-letter after list marker not updated correctly
  14143. Reviewed by Simon Fraser.
  14144. Test: fast/dynamic/first-letter-after-list-marker.html
  14145. * rendering/RenderBlock.cpp:
  14146. (WebCore::RenderBlock::updateFirstLetter): Improved the logic for continuing past list markers
  14147. when trying to locate a first letter to update.
  14148. 2011-09-28 Kent Tamura <tkent@chromium.org>
  14149. REGRESSION(r93858): Can't type anything into input elements when maxlength is greater than 2^31
  14150. https://bugs.webkit.org/show_bug.cgi?id=68981
  14151. Reviewed by Darin Adler.
  14152. * html/parser/HTMLParserIdioms.cpp:
  14153. (WebCore::parseHTMLInteger):
  14154. Check the failure of charactersToIntStrict().
  14155. (WebCore::parseHTMLNonNegativeInteger):
  14156. Check the failure of charactersToUIntStrict().
  14157. 2011-09-28 Antoine Labour <piman@chromium.org>
  14158. Remove unused createRootLayerPainter from CCLayerTreeHostClient
  14159. https://bugs.webkit.org/show_bug.cgi?id=69042
  14160. Reviewed by James Robinson.
  14161. No new test needed: no semantic change.
  14162. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  14163. 2011-09-28 Luke Macpherson <macpherson@chromium.org>
  14164. Only resolve direction aware properties when properties are direction aware.
  14165. https://bugs.webkit.org/show_bug.cgi?id=68968
  14166. Reviewed by Eric Seidel.
  14167. No new tests / no functionality changed.
  14168. Profiling showed a ~8% improvement in applyProperty by not calling resolveDirectionAwareProperty for every property.
  14169. * css/CSSStyleSelector.cpp:
  14170. (WebCore::CSSStyleSelector::applyProperty):
  14171. 2011-09-28 Simon Fraser <simon.fraser@apple.com>
  14172. fast/dom/scroll-element-to-rect.html fails on WK1 Mac port
  14173. https://bugs.webkit.org/show_bug.cgi?id=68815
  14174. Reviewed by Dan Bernstein.
  14175. FrameView::scrollElementToRect() was incorrectly using Element::boundsInWindowSpace(),
  14176. which is window-relative (not web view-relative), and has flipped coordinates
  14177. in WebKit1.
  14178. Change to use Node::getRect() which is what the author intended.
  14179. * dom/Element.h:
  14180. * page/FrameView.cpp:
  14181. (WebCore::FrameView::scrollElementToRect):
  14182. 2011-09-28 Peter Beverloo <peter@chromium.org>
  14183. Don't clamp cubic-bezier timing functions between 0 and 1
  14184. https://bugs.webkit.org/show_bug.cgi?id=45761
  14185. Remove the limitation of clamping the cubic-bezier timing function
  14186. values between 0 and 1, following the specification change made on
  14187. April 5 of this year.
  14188. Reviewed by Dean Jackson.
  14189. Tests: transitions/cubic-bezier-overflow-color.html
  14190. transitions/cubic-bezier-overflow-length.html
  14191. transitions/cubic-bezier-overflow-shadow.html
  14192. transitions/cubic-bezier-overflow-svg-length.html
  14193. transitions/cubic-bezier-overflow-transform.html
  14194. * css/CSSParser.cpp:
  14195. (WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
  14196. 2011-09-28 Chris Rogers <crogers@google.com>
  14197. DelayNode must set the context on delayTime AudioParam to support automation
  14198. https://bugs.webkit.org/show_bug.cgi?id=68828
  14199. Reviewed by Kenneth Russell.
  14200. Test: webaudio/delaynode-scheduling.html
  14201. * webaudio/DelayNode.cpp:
  14202. (WebCore::DelayNode::DelayNode):
  14203. 2011-09-28 Sergey Glazunov <serg.glazunov@gmail.com>
  14204. JavaScript generated documents don't inherit the cookie URL
  14205. https://bugs.webkit.org/show_bug.cgi?id=69003
  14206. Reviewed by Adam Barth.
  14207. Test: http/tests/security/cookies/cookie-theft-with-javascript-doc.html
  14208. * dom/Document.h:
  14209. (WebCore::Document::setCookieURL):
  14210. * loader/DocumentWriter.cpp:
  14211. (WebCore::DocumentWriter::replaceDocument):
  14212. (WebCore::DocumentWriter::begin):
  14213. * loader/DocumentWriter.h:
  14214. 2011-09-27 Dimitri Glazkov <dglazkov@chromium.org>
  14215. REGRESSION(r95573): Crash when loading SVG documents in a flattened frame or any SVG document in Chromium/Mac.
  14216. https://bugs.webkit.org/show_bug.cgi?id=68938
  14217. Reviewed by David Hyatt.
  14218. Test: all svg tests in LayoutTests.
  14219. * rendering/RenderBlock.cpp:
  14220. (WebCore::RenderBlock::computeBlockPreferredLogicalWidths): Added a null-check for containingBlock.
  14221. 2011-09-28 Una Sabovic <una.sabovic@palm.com>
  14222. Setting innerText to an empty string on editable div loses focus
  14223. https://bugs.webkit.org/show_bug.cgi?id=62092
  14224. Reviewed by Ryosuke Niwa.
  14225. When selection start or end node is being deleted do not clear the selection.
  14226. Instead update the start/end position to an equivalent parent-anchored positions.
  14227. When text is inserted/deleted update selection per range modification spec:
  14228. http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Mutation
  14229. Tests: editing/selection/document-mutation.html
  14230. editing/selection/editable-div-clear-on-keydown.html
  14231. * editing/FrameSelection.cpp:
  14232. (WebCore::FrameSelection::respondToNodeModification):
  14233. (WebCore::updatePositionAfterAdoptingTextReplacement):
  14234. (WebCore::FrameSelection::textWillBeReplaced):
  14235. * editing/htmlediting.cpp:
  14236. (WebCore::updatePositionForNodeRemoval):
  14237. 2011-09-28 Joseph Pecoraro <joepeck@webkit.org>
  14238. FTPDirectoryDocument Shows Garbled String for Last Modified Date
  14239. https://bugs.webkit.org/show_bug.cgi?id=69011
  14240. Reviewed by Dan Bernstein.
  14241. Force WTF::String concatenation instead of an accidental char* pointer addition.
  14242. * html/FTPDirectoryDocument.cpp:
  14243. (WebCore::processFileDateString):
  14244. 2011-09-28 Nate Chapin <japhet@chromium.org>
  14245. Fix a regression in r96060. ResourceLoader shouldn't get
  14246. initialized with a null DocumentLoader.
  14247. https://bugs.webkit.org/show_bug.cgi?id=69004
  14248. Reviewed by Csaba Osztrogonác.
  14249. This should fix a debug crash in some platforms in
  14250. plugins/js-from-destroy.html
  14251. * loader/ResourceLoader.cpp:
  14252. (WebCore::ResourceLoader::init): Move the activeDocumentLoader() null checks back
  14253. to SubresouceLoader::create().
  14254. * loader/SubresourceLoader.cpp:
  14255. (WebCore::SubresourceLoader::create):
  14256. 2011-09-28 Adam Barth <abarth@webkit.org>
  14257. CSP doesn't work for a wide variety of cases
  14258. https://bugs.webkit.org/show_bug.cgi?id=68921
  14259. Reviewed by Darin Adler.
  14260. Patch suggested by Sam Weinig. It's unclear to me how to test this
  14261. change because all our tests run on non-default ports, which is why we
  14262. have this bug in the first place. Mozilla uses a proxy while testing
  14263. so they can test with URLs like http://example.com, but we don't have
  14264. such a facility.
  14265. * page/ContentSecurityPolicy.cpp:
  14266. (WebCore::CSPSource::portMatches):
  14267. 2011-09-28 Fady Samuel <fsamuel@chromium.org>
  14268. [Chromium] Seperate GTK specific Gyp rules from X11 Gyp rules
  14269. https://bugs.webkit.org/show_bug.cgi?id=68936
  14270. Reviewed by Tony Chang.
  14271. Chromium need to be built without Gtk for future version of ChromiumOS.
  14272. * WebCore.gyp/WebCore.gyp:
  14273. 2011-09-28 Tom Sepez <tsepez@chromium.org>
  14274. Revert change which broke displaying end script tags in view-source, instead
  14275. deal with any trailing </script> tag included by mistake in the XSSAuditor
  14276. itself. Correct tests to detect the missing close tags.
  14277. https://bugs.webkit.org/show_bug.cgi?id=68898
  14278. Reviewed by Adam Barth.
  14279. * html/parser/HTMLSourceTracker.cpp:
  14280. (WebCore::HTMLSourceTracker::end):
  14281. * html/parser/HTMLTokenizer.cpp:
  14282. (WebCore::HTMLTokenizer::nextToken):
  14283. * html/parser/XSSAuditor.cpp:
  14284. (WebCore::startsHTMLEndTagAt):
  14285. (WebCore::XSSAuditor::snippetForJavaScript):
  14286. 2011-09-28 Adam Barth <abarth@webkit.org>
  14287. Remove empty directories.
  14288. * editing/brew: Removed.
  14289. * page/brew: Removed.
  14290. * platform/brew: Removed.
  14291. * platform/graphics/brew: Removed.
  14292. * platform/network/brew: Removed.
  14293. * platform/text/brew: Removed.
  14294. 2011-09-28 Ilya Tikhonovsky <loislo@chromium.org>
  14295. Web Inspector: optional arguments support for the frontend needs to be extended.
  14296. https://bugs.webkit.org/show_bug.cgi?id=69005
  14297. Generator supports optional arguments but they are transferred by value.
  14298. It is not suitable if the used type doesn't have operator bool.
  14299. I'll transfer such arguments by pointer.
  14300. Reviewed by Pavel Feldman.
  14301. Build is the test.
  14302. * inspector/CodeGeneratorInspector.pm:
  14303. (generateFrontendFunction):
  14304. (paramTypeTraits):
  14305. * inspector/InspectorDebuggerAgent.cpp:
  14306. (WebCore::InspectorDebuggerAgent::didParseSource):
  14307. * inspector/InspectorResourceAgent.cpp:
  14308. (WebCore::InspectorResourceAgent::didFailLoading):
  14309. 2011-09-28 Antaryami Pandia <antaryami.pandia@motorola.com>
  14310. Reflected attribute input.size wraps on negative values (Chrome), or
  14311. returns them (Safari).
  14312. https://bugs.webkit.org/show_bug.cgi?id=44886
  14313. Reviewed by Darin Adler.
  14314. Test: fast/dom/HTMLInputElement/input-size-attribute.html
  14315. * html/HTMLInputElement.cpp:
  14316. (WebCore::HTMLInputElement::parseMappedAttribute):
  14317. 2011-09-28 Vsevolod Vlasov <vsevik@chromium.org>
  14318. Web Inspector: Add support for search in single resource to page agent.
  14319. https://bugs.webkit.org/show_bug.cgi?id=68998
  14320. Reviewed by Pavel Feldman.
  14321. Test: http/tests/inspector/search/search-in-resource.html
  14322. * inspector/ContentSearchUtils.cpp:
  14323. (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
  14324. * inspector/ContentSearchUtils.h:
  14325. * inspector/Inspector.json:
  14326. * inspector/InspectorPageAgent.cpp:
  14327. (WebCore::buildObjectForSearchMatch):
  14328. (WebCore::InspectorPageAgent::searchInResource):
  14329. * inspector/InspectorPageAgent.h:
  14330. * inspector/front-end/Resource.js:
  14331. (WebInspector.Resource.prototype.searchInContent):
  14332. * inspector/front-end/SourceFile.js:
  14333. (WebInspector.ResourceContentProvider.prototype.requestContent):
  14334. (WebInspector.ResourceContentProvider.prototype.searchInContent):
  14335. * inspector/front-end/UISourceCode.js:
  14336. (WebInspector.ContentProvider.prototype.requestContent):
  14337. (WebInspector.ContentProvider.prototype.searchInContent):
  14338. 2011-09-28 Ilya Tikhonovsky <loislo@chromium.org>
  14339. Web Inspector: It'd be useful to have performance stats for the back-end to front-end communication channel.
  14340. https://bugs.webkit.org/show_bug.cgi?id=69002
  14341. Reviewed by Yury Semikhatsky.
  14342. * inspector/CodeGeneratorInspector.pm:
  14343. 2011-09-27 Pavel Podivilov <podivilov@chromium.org>
  14344. Web Inspector: live edit cursor always appears at the beginning of the file.
  14345. https://bugs.webkit.org/show_bug.cgi?id=68900
  14346. Reviewed by Pavel Feldman.
  14347. * inspector/front-end/TextViewer.js:
  14348. (WebInspector.TextEditorMainPanel.prototype._updateSelectionOnStartEditing):
  14349. 2011-09-28 Vsevolod Vlasov <vsevik@chromium.org>
  14350. Web Inspector: Refactor searching in inspector, add test (fixed non regex search).
  14351. https://bugs.webkit.org/show_bug.cgi?id=68930
  14352. Reviewed by Yury Semikhatsky.
  14353. Search moved out from page agent.
  14354. Fixed search for non regex case which is not yet used.
  14355. Test: http/tests/inspector/search/search-in-resources.html
  14356. * CMakeLists.txt:
  14357. * GNUmakefile.list.am:
  14358. * WebCore.gypi:
  14359. * WebCore.pro:
  14360. * WebCore.vcproj/WebCore.vcproj:
  14361. * WebCore.xcodeproj/project.pbxproj:
  14362. * inspector/ContentSearchUtils.cpp: Added.
  14363. (WebCore::ContentSearchUtils::createSearchRegexSource):
  14364. (WebCore::ContentSearchUtils::createSearchRegex):
  14365. (WebCore::ContentSearchUtils::countRegularExpressionMatches):
  14366. * inspector/ContentSearchUtils.h: Added.
  14367. * inspector/InspectorPageAgent.cpp:
  14368. (WebCore::hasTextContent):
  14369. (WebCore::InspectorPageAgent::cachedResourceContent):
  14370. (WebCore::textContentForCachedResource):
  14371. (WebCore::buildObjectForSearchResult):
  14372. (WebCore::InspectorPageAgent::searchInResources):
  14373. * inspector/front-end/utilities.js:
  14374. ():
  14375. 2011-09-28 Kentaro Hara <haraken@chromium.org>
  14376. Implement a PopStateEvent constructor for V8
  14377. https://bugs.webkit.org/show_bug.cgi?id=68896
  14378. Reviewed by Adam Barth.
  14379. Test: fast/events/constructors/pop-state-event-constructor.html
  14380. * bindings/v8/custom/V8EventConstructors.cpp: Added a PopStateEvent constructor.
  14381. * dom/PopStateEvent.idl: Added a 'V8CustomConstructor' attribute.
  14382. 2011-09-28 No'am Rosenthal <noam.rosenthal@nokia.com>
  14383. [Texmap] Allow TextureMapperGL to work without a GraphicsContext
  14384. https://bugs.webkit.org/show_bug.cgi?id=68980
  14385. Reviewed by Andreas Kling.
  14386. Perform a null-check for m_context and initialize that variable.
  14387. If a graphics-context doesn't exist, we don't need to reset it.
  14388. No new functionality so no new tests.
  14389. * platform/graphics/opengl/TextureMapperGL.cpp:
  14390. (WebCore::TextureMapperGL::TextureMapperGL):
  14391. (WebCore::TextureMapperGL::beginPainting):
  14392. (WebCore::TextureMapperGL::endPainting):
  14393. 2011-09-28 Kentaro Hara <haraken@chromium.org>
  14394. Implement an ErrorEvent constructor for V8
  14395. https://bugs.webkit.org/show_bug.cgi?id=68336
  14396. Reviewed by Adam Barth.
  14397. Test: fast/events/constructors/error-event-constructor.html
  14398. * bindings/v8/OptionsObject.cpp:
  14399. (WebCore::OptionsObject::getKeyValue): Returns an unsigned value corresponding to a given key.
  14400. * bindings/v8/OptionsObject.h:
  14401. * bindings/v8/custom/V8EventConstructors.cpp: Added the ErrorEvent constructor.
  14402. * dom/ErrorEvent.idl: Added a 'V8CustomConstructor' attribute.
  14403. 2011-09-27 Andy Estes <aestes@apple.com>
  14404. WebKitLinkedOnOrAfter() check is ineffective for Solar Walk app-specific hack.
  14405. https://bugs.webkit.org/show_bug.cgi?id=68863
  14406. Reviewed by Darin Adler.
  14407. The SolarWalk binary does not link against WebKit.framework directly,
  14408. so calling NSVersionOfLinkTimeLibrary() will not return the version of
  14409. WebKit against which SolarWalk was linked. Since Solar Walk has
  14410. released an update that addresses the issue for which this app-specific
  14411. hack was originally added, we should just remove the hack.
  14412. * WebCore.exp.in: Remove applicationIsSolarWalkMac().
  14413. * platform/RuntimeApplicationChecks.cpp: Ditto.
  14414. * platform/RuntimeApplicationChecks.h: Ditto.
  14415. 2011-09-28 Tim Horton <timothy_horton@apple.com>
  14416. Fix potential SVG performance regression (over-invalidation of caches) from 96052
  14417. https://bugs.webkit.org/show_bug.cgi?id=68941
  14418. <rdar://problem/10196224>
  14419. Reviewed by Zoltan Herczeg.
  14420. Only invalidate the cache of a filter when target style changes, as of the different types of cached
  14421. resources, only filters make use of the style of the target element and thus need to be invalidated
  14422. when the target style changes.
  14423. No new tests, performance improvement.
  14424. * rendering/svg/SVGResourcesCache.cpp:
  14425. (WebCore::SVGResourcesCache::clientUpdatedFromElement):
  14426. 2011-09-28 Adenilson Cavalcanti <adenilson.silva@openbossa.org>
  14427. Missing initialization of member in ImageFrameQt class
  14428. https://bugs.webkit.org/show_bug.cgi?id=68943
  14429. Reviewed by Kenneth Rohde Christiansen.
  14430. No new tests, this fixes internal implementation detail.
  14431. * platform/image-decoders/qt/ImageFrameQt.cpp:
  14432. (WebCore::ImageFrame::ImageFrame):
  14433. (WebCore::ImageFrame::operator=):
  14434. 2011-09-27 Luke Macpherson <macpherson@chromium.org>
  14435. Defer call to CSSValue::isPrimitiveValue(), saves ~4% in CSSStyleSelector::applyProperty().
  14436. https://bugs.webkit.org/show_bug.cgi?id=68964
  14437. Reviewed by Eric Seidel.
  14438. No new tests / no functionality changed.
  14439. Doing value->isPrimitiveValue() is relatviely expensive, so moving it after the early returns but
  14440. before the result is used saves a significant number of cycles. (Tested with Shark profiler in Safari).
  14441. * css/CSSStyleSelector.cpp:
  14442. (WebCore::CSSStyleSelector::applyProperty):
  14443. 2011-09-27 Ryosuke Niwa <rniwa@webkit.org>
  14444. Simplify ReplaceSelectionCommand::positionAtStartOfInsertedContent
  14445. https://bugs.webkit.org/show_bug.cgi?id=68939
  14446. Reviewed by Darin Adler.
  14447. Simplified ReplaceSelectionCommand::positionAtStartOfInsertedContent.
  14448. This change revealed a bug in removeUnrenderedTextNodesAtEnds that text nodes without any visible
  14449. text at ends are not removed when it has a render object. Fixed the bug by checking the length of
  14450. the rendered text. (Tested by editing/pasteboard/pasting-word-in-div-extra-line.html)
  14451. This further revealed that caretMaxRenderedOffset doesn't return an offset and caretMaxRenderedOffset
  14452. on InlineBox, InlineTextBox, RenderObject, RenderBR, RenderPlaced are never called. To address this
  14453. issue, renamed caretMaxRenderedOffset to renderedTextLength for RenderText and removed the rest.
  14454. * dom/Position.cpp:
  14455. (WebCore::Position::rendersInDifferentPosition):
  14456. * editing/ReplaceSelectionCommand.cpp:
  14457. (WebCore::nodeHasVisibleRenderText): Added.
  14458. (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): Calls nodeHasVisibleRenderText.
  14459. (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent): Simplified.
  14460. * editing/visible_units.cpp:
  14461. (WebCore::startOfParagraph): Calls renderedTextLength.
  14462. (WebCore::endOfParagraph): Ditto.
  14463. * rendering/InlineBox.cpp: Removed caretMaxRenderedOffset.
  14464. * rendering/InlineBox.h: Ditto.
  14465. * rendering/InlineTextBox.cpp: Ditto.
  14466. * rendering/InlineTextBox.h: Ditto.
  14467. * rendering/RenderBR.cpp: Ditto.
  14468. * rendering/RenderBR.h: Ditto.
  14469. * rendering/RenderObject.cpp: Ditto.
  14470. * rendering/RenderObject.h: Ditto.
  14471. * rendering/RenderReplaced.cpp: Ditto.
  14472. * rendering/RenderReplaced.h: Ditto.
  14473. * rendering/RenderText.cpp:
  14474. (WebCore::RenderText::renderedTextLength): Renamed from caretMaxRenderedOffset.
  14475. * rendering/RenderText.h:
  14476. 2011-09-27 James Robinson <jamesr@chromium.org>
  14477. [chromium] LayerRenderChromium asserts about leaking textures.
  14478. https://bugs.webkit.org/show_bug.cgi?id=68190
  14479. Reviewed by Kenneth Russell.
  14480. This introduces an interface TextureAllocator that the TextureManager uses to allocate/deallocate textures.
  14481. This means that TextureManager does not need to depend directly on GraphicsContext3D, other than for the format
  14482. enum type, making it more testable. It also allows us to track the allocations by subclassing TextureAllocator
  14483. to make sure we aren't leaking any textures.
  14484. * WebCore.gypi:
  14485. * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
  14486. (WebCore::Canvas2DLayerChromium::updateCompositorResources):
  14487. * platform/graphics/chromium/Canvas2DLayerChromium.h:
  14488. * platform/graphics/chromium/ImageLayerChromium.cpp:
  14489. (WebCore::ImageLayerTextureUpdater::updateTextureRect):
  14490. * platform/graphics/chromium/LayerChromium.h:
  14491. (WebCore::LayerChromium::updateCompositorResources):
  14492. * platform/graphics/chromium/LayerRendererChromium.cpp:
  14493. (WebCore::LayerRendererChromium::LayerRendererChromium):
  14494. (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
  14495. (WebCore::LayerRendererChromium::drawLayers):
  14496. (WebCore::LayerRendererChromium::useRenderSurface):
  14497. (WebCore::LayerRendererChromium::initializeSharedObjects):
  14498. (WebCore::LayerRendererChromium::cleanupSharedObjects):
  14499. * platform/graphics/chromium/LayerRendererChromium.h:
  14500. (WebCore::LayerRendererChromium::renderSurfaceTextureAllocator):
  14501. (WebCore::LayerRendererChromium::contentsTextureAllocator):
  14502. * platform/graphics/chromium/LayerTextureUpdater.h:
  14503. * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
  14504. (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
  14505. (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
  14506. * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
  14507. * platform/graphics/chromium/ManagedTexture.cpp:
  14508. (WebCore::ManagedTexture::bindTexture):
  14509. (WebCore::ManagedTexture::framebufferTexture2D):
  14510. * platform/graphics/chromium/ManagedTexture.h:
  14511. * platform/graphics/chromium/TextureManager.cpp:
  14512. (WebCore::TextureManager::memoryUseBytes):
  14513. (WebCore::TextureManager::deleteEvictedTextures):
  14514. (WebCore::TextureManager::evictAndDeleteAllTextures):
  14515. (WebCore::TextureManager::removeTexture):
  14516. (WebCore::TextureManager::allocateTexture):
  14517. (WebCore::TextureManager::requestTexture):
  14518. * platform/graphics/chromium/TextureManager.h:
  14519. (WebCore::TextureAllocator::~TextureAllocator):
  14520. * platform/graphics/chromium/TiledLayerChromium.cpp:
  14521. (WebCore::TiledLayerChromium::updateCompositorResources):
  14522. * platform/graphics/chromium/TiledLayerChromium.h:
  14523. * platform/graphics/chromium/TrackingTextureAllocator.cpp: Added.
  14524. (WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
  14525. (WebCore::TrackingTextureAllocator::~TrackingTextureAllocator):
  14526. (WebCore::TrackingTextureAllocator::createTexture):
  14527. (WebCore::TrackingTextureAllocator::deleteTexture):
  14528. * platform/graphics/chromium/TrackingTextureAllocator.h: Copied from Source/WebCore/platform/graphics/chromium/ManagedTexture.h.
  14529. (WebCore::TrackingTextureAllocator::create):
  14530. (WebCore::TrackingTextureAllocator::currentMemoryUseBytes):
  14531. * platform/graphics/chromium/VideoLayerChromium.cpp:
  14532. (WebCore::VideoLayerChromium::updateCompositorResources):
  14533. (WebCore::VideoLayerChromium::updateTexture):
  14534. * platform/graphics/chromium/VideoLayerChromium.h:
  14535. * platform/graphics/chromium/WebGLLayerChromium.cpp:
  14536. (WebCore::WebGLLayerChromium::updateCompositorResources):
  14537. * platform/graphics/chromium/WebGLLayerChromium.h:
  14538. * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
  14539. (WebCore::CCHeadsUpDisplay::draw):
  14540. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  14541. (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
  14542. (WebCore::CCLayerTreeHost::deleteContentsTexturesOnCCThread):
  14543. (WebCore::CCLayerTreeHost::commitToOnCCThread):
  14544. (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
  14545. (WebCore::CCLayerTreeHost::updateCompositorResources):
  14546. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  14547. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
  14548. (WebCore::CCLayerTreeHostImpl::contentsTextureAllocator):
  14549. (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
  14550. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
  14551. * platform/graphics/chromium/cc/CCRenderSurface.cpp:
  14552. (WebCore::CCRenderSurface::drawSurface):
  14553. * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  14554. (WebCore::CCSingleThreadProxy::setNeedsCommit):
  14555. (WebCore::CCSingleThreadProxy::stop):
  14556. (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
  14557. (WebCore::CCSingleThreadProxy::commitIfNeeded):
  14558. * platform/graphics/chromium/cc/CCThreadProxy.cpp:
  14559. (WebCore::CCThreadProxy::commitOnCCThread):
  14560. (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
  14561. 2011-09-27 James Robinson <jamesr@chromium.org>
  14562. [chromium] Only initiate the beginFrameAndCommit sequence if a commit has been requested
  14563. https://bugs.webkit.org/show_bug.cgi?id=68967
  14564. Reviewed by Kenneth Russell.
  14565. When updating the scheduler state, we should only initiate a new commit flow if a commit has been requested (as
  14566. opposed to only a redraw).
  14567. Covered by the unit test CCLayerTreeHostTestSetNeedsRedraw with USE(THREADED_COMPOSITING) set to true.
  14568. * platform/graphics/chromium/cc/CCThreadProxy.cpp:
  14569. (WebCore::CCThreadProxy::updateSchedulerStateOnCCThread):
  14570. 2011-09-27 Kentaro Hara <haraken@chromium.com>
  14571. Implement a PageTransitionEvent constructor for V8
  14572. https://bugs.webkit.org/show_bug.cgi?id=68067
  14573. Reviewed by Adam Barth.
  14574. Test: fast/events/constructors/page-transition-event-constructor.html
  14575. * bindings/v8/custom/V8EventConstructors.cpp: Added the PageTransitionEvent constructor.
  14576. * dom/PageTransitionEvent.idl: Added a 'V8CustomConstructor' attribute.
  14577. 2011-09-27 Kentaro Hara <haraken@chromium.org>
  14578. Implement a MessageEvent constructor for JSC
  14579. https://bugs.webkit.org/show_bug.cgi?id=68883
  14580. Reviewed by Adam Barth.
  14581. The spec for MessageEvent is here:
  14582. http://www.whatwg.org/specs/web-apps/current-work/#messageevent
  14583. Currently, some tests in fast/events/constructors/message-event-constructor.html
  14584. are failing or crashing in DRT, as we commented in the test file.
  14585. This is because MessageEvent.data is implemented as SerializedScriptValue,
  14586. and thus it cannot keep ScriptValue passed by JavaScript.
  14587. This is the same issue as the bug (https://bugs.webkit.org/show_bug.cgi?id=68345).
  14588. We will soon make a follow-up patch to fix these failures, after this
  14589. patch is landed.
  14590. Test: fast/events/constructors/message-event-constructor.html
  14591. * bindings/generic/EventConstructors.h: Added a definition for the MessageEvent constructor.
  14592. * bindings/js/JSDictionary.cpp:
  14593. (WebCore::JSDictionary::convertValue): Generates MessagePortArray from the list of message ports in the format of JSValues.
  14594. * bindings/js/JSDictionary.h:
  14595. * bindings/js/JSEventConstructors.cpp: Added #includes for MessageEvent.
  14596. * dom/MessageEvent.cpp:
  14597. (WebCore::MessageEventInit::MessageEventInit):
  14598. (WebCore::MessageEvent::MessageEvent):
  14599. (WebCore::MessageEvent::initMessageEvent):
  14600. * dom/MessageEvent.h: Added a definition for MessageEvent. Removed an extra leading spaces.
  14601. (WebCore::MessageEvent::create):
  14602. (WebCore::MessageEvent::origin):
  14603. (WebCore::MessageEvent::lastEventId):
  14604. (WebCore::MessageEvent::source):
  14605. (WebCore::MessageEvent::ports):
  14606. (WebCore::MessageEvent::dataType):
  14607. (WebCore::MessageEvent::dataAsSerializedScriptValue):
  14608. (WebCore::MessageEvent::dataAsString):
  14609. (WebCore::MessageEvent::dataAsBlob):
  14610. (WebCore::MessageEvent::dataAsArrayBuffer):
  14611. * dom/MessageEvent.idl: Makes MessageEvent constructible.
  14612. 2011-09-27 Eric Uhrhane <ericu@chromium.org>
  14613. [Chromium/FileWriter] race condition in FileWriter completion can lead to assert
  14614. https://bugs.webkit.org/show_bug.cgi?id=67684
  14615. Reviewed by David Levin.
  14616. Tests: fast/filesystem/file-writer-abort-continue.html
  14617. fast/filesystem/file-writer-abort.html
  14618. Track the state of the backend and be prepared for reentrant user
  14619. requests. Limit recursion depth to an arbitrary small constant.
  14620. * fileapi/FileWriter.cpp: Lots of event-handling changes.
  14621. * fileapi/FileWriter.h:
  14622. 2011-09-27 Mihai Parparita <mihaip@chromium.org>
  14623. Unreviewed, rolling out r96141.
  14624. http://trac.webkit.org/changeset/96141
  14625. https://bugs.webkit.org/show_bug.cgi?id=68190
  14626. Breaks PrerenderBrowserTest.PrerenderHTML5Video in
  14627. browser_tests
  14628. * WebCore.gypi:
  14629. * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
  14630. (WebCore::Canvas2DLayerChromium::updateCompositorResources):
  14631. * platform/graphics/chromium/Canvas2DLayerChromium.h:
  14632. * platform/graphics/chromium/ImageLayerChromium.cpp:
  14633. (WebCore::ImageLayerTextureUpdater::updateTextureRect):
  14634. * platform/graphics/chromium/LayerChromium.h:
  14635. (WebCore::LayerChromium::updateCompositorResources):
  14636. * platform/graphics/chromium/LayerRendererChromium.cpp:
  14637. (WebCore::LayerRendererChromium::LayerRendererChromium):
  14638. (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
  14639. (WebCore::LayerRendererChromium::drawLayers):
  14640. (WebCore::LayerRendererChromium::createLayerTexture):
  14641. (WebCore::LayerRendererChromium::deleteLayerTexture):
  14642. (WebCore::LayerRendererChromium::useRenderSurface):
  14643. (WebCore::LayerRendererChromium::initializeSharedObjects):
  14644. (WebCore::LayerRendererChromium::cleanupSharedObjects):
  14645. * platform/graphics/chromium/LayerRendererChromium.h:
  14646. (WebCore::LayerRendererChromium::setContentsTextureMemoryUseBytes):
  14647. * platform/graphics/chromium/LayerTextureUpdater.h:
  14648. * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
  14649. (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
  14650. (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
  14651. * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
  14652. * platform/graphics/chromium/ManagedTexture.cpp:
  14653. (WebCore::ManagedTexture::bindTexture):
  14654. (WebCore::ManagedTexture::framebufferTexture2D):
  14655. * platform/graphics/chromium/ManagedTexture.h:
  14656. * platform/graphics/chromium/TextureManager.cpp:
  14657. (WebCore::memoryUseBytes):
  14658. (WebCore::TextureManager::deleteEvictedTextures):
  14659. (WebCore::TextureManager::evictAndDeleteAllTextures):
  14660. (WebCore::TextureManager::removeTexture):
  14661. (WebCore::TextureManager::allocateTexture):
  14662. (WebCore::TextureManager::requestTexture):
  14663. * platform/graphics/chromium/TextureManager.h:
  14664. * platform/graphics/chromium/TiledLayerChromium.cpp:
  14665. (WebCore::TiledLayerChromium::updateCompositorResources):
  14666. * platform/graphics/chromium/TiledLayerChromium.h:
  14667. * platform/graphics/chromium/TrackingTextureAllocator.cpp: Removed.
  14668. * platform/graphics/chromium/TrackingTextureAllocator.h: Removed.
  14669. * platform/graphics/chromium/VideoLayerChromium.cpp:
  14670. (WebCore::VideoLayerChromium::updateCompositorResources):
  14671. (WebCore::VideoLayerChromium::updateTexture):
  14672. * platform/graphics/chromium/VideoLayerChromium.h:
  14673. * platform/graphics/chromium/WebGLLayerChromium.cpp:
  14674. (WebCore::WebGLLayerChromium::updateCompositorResources):
  14675. * platform/graphics/chromium/WebGLLayerChromium.h:
  14676. * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
  14677. (WebCore::CCHeadsUpDisplay::draw):
  14678. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  14679. (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
  14680. (WebCore::CCLayerTreeHost::deleteContentsTextures):
  14681. (WebCore::CCLayerTreeHost::commitTo):
  14682. (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
  14683. (WebCore::CCLayerTreeHost::updateCompositorResources):
  14684. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp.rej: Removed.
  14685. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  14686. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
  14687. (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
  14688. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
  14689. * platform/graphics/chromium/cc/CCRenderSurface.cpp:
  14690. (WebCore::CCRenderSurface::drawSurface):
  14691. * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  14692. (WebCore::CCSingleThreadProxy::setNeedsCommit):
  14693. (WebCore::CCSingleThreadProxy::stop):
  14694. (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
  14695. (WebCore::CCSingleThreadProxy::commitIfNeeded):
  14696. * platform/graphics/chromium/cc/CCThreadProxy.cpp:
  14697. (WebCore::CCThreadProxy::commitOnCCThread):
  14698. (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
  14699. 2011-09-27 James Robinson <jamesr@chromium.org>
  14700. [chromium] Guard accelerated skia drawing logic with its own define to remove dependency on USE(THREADED_COMPOSITING)
  14701. https://bugs.webkit.org/show_bug.cgi?id=68953
  14702. Reviewed by Kenneth Russell.
  14703. The accelerated drawing code is incompatible with threaded compositing. Rather than tying the two behaviors
  14704. together via USE(THREADED_COMPOSITING), this patch guards the accelerated drawing code with its own USE() guard
  14705. so the features can advance independently. Today, it's not safe to set both of these flags.
  14706. * platform/graphics/chromium/ContentLayerChromium.cpp:
  14707. (WebCore::ContentLayerChromium::createTextureUpdater):
  14708. * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
  14709. * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
  14710. 2011-09-27 Luke Macpherson <macpherson@chromium.org>
  14711. Slightly improve performance of CSSStyleApplyProperty handler lookup.
  14712. https://bugs.webkit.org/show_bug.cgi?id=68868
  14713. Reviewed by Eric Seidel.
  14714. No new tests as no functionality changed.
  14715. * css/CSSStyleApplyProperty.h:
  14716. (WebCore::CSSStyleApplyProperty::propertyHandler):
  14717. Make propertyHandler() public and remove redirecting functions.
  14718. * css/CSSStyleSelector.cpp:
  14719. (WebCore::CSSStyleSelector::applyProperty):
  14720. Perform property handler lookup once and reuse the result.
  14721. 2011-09-27 Kent Tamura <tkent@chromium.org>
  14722. [V8] element.dataset.nonExistingKey should return undefined.
  14723. https://bugs.webkit.org/show_bug.cgi?id=68877
  14724. Reviewed by Nate Chapin.
  14725. * bindings/v8/custom/V8DOMStringMapCustom.cpp:
  14726. (WebCore::V8DOMStringMap::namedPropertyGetter): Uses v8StringOrUndefined() instead of v8String().
  14727. 2011-09-23 Mark Hahnenberg <mhahnenberg@apple.com>
  14728. Add static version of JSCell::visitChildren
  14729. https://bugs.webkit.org/show_bug.cgi?id=68404
  14730. Reviewed by Darin Adler.
  14731. No new tests.
  14732. In this patch we just extract the bodies of the virtual visitChildren methods
  14733. throughout the JSCell inheritance hierarchy out into static methods, which are
  14734. now called from the virtual methods. This is an intermediate step in trying to
  14735. move the virtual-ness of visitChildren into our own custom vtable stored in
  14736. ClassInfo. We need to convert the methods to static methods in order to be
  14737. able to more easily store and refer to them in our custom vtable since normal
  14738. member methods store some implicit information in their types, making it
  14739. impossible to store them generically in ClassInfo.
  14740. * WebCore.exp.in:
  14741. * bindings/js/JSAttrCustom.cpp:
  14742. (WebCore::JSAttr::visitChildrenVirtual):
  14743. (WebCore::JSAttr::visitChildren):
  14744. * bindings/js/JSAudioContextCustom.cpp:
  14745. (WebCore::JSAudioContext::visitChildrenVirtual):
  14746. (WebCore::JSAudioContext::visitChildren):
  14747. * bindings/js/JSCSSRuleCustom.cpp:
  14748. (WebCore::JSCSSRule::visitChildrenVirtual):
  14749. (WebCore::JSCSSRule::visitChildren):
  14750. * bindings/js/JSCSSStyleDeclarationCustom.cpp:
  14751. (WebCore::JSCSSStyleDeclaration::visitChildrenVirtual):
  14752. (WebCore::JSCSSStyleDeclaration::visitChildren):
  14753. * bindings/js/JSCanvasRenderingContextCustom.cpp:
  14754. (WebCore::JSCanvasRenderingContext::visitChildrenVirtual):
  14755. (WebCore::JSCanvasRenderingContext::visitChildren):
  14756. * bindings/js/JSDOMGlobalObject.cpp:
  14757. (WebCore::JSDOMGlobalObject::visitChildrenVirtual):
  14758. (WebCore::JSDOMGlobalObject::visitChildren):
  14759. * bindings/js/JSDOMGlobalObject.h:
  14760. * bindings/js/JSDOMWindowCustom.cpp:
  14761. (WebCore::JSDOMWindow::visitChildrenVirtual):
  14762. (WebCore::JSDOMWindow::visitChildren):
  14763. * bindings/js/JSDOMWindowShell.cpp:
  14764. (WebCore::JSDOMWindowShell::visitChildrenVirtual):
  14765. (WebCore::JSDOMWindowShell::visitChildren):
  14766. * bindings/js/JSDOMWindowShell.h:
  14767. * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
  14768. (WebCore::JSJavaScriptAudioNode::visitChildrenVirtual):
  14769. (WebCore::JSJavaScriptAudioNode::visitChildren):
  14770. * bindings/js/JSMessageChannelCustom.cpp:
  14771. (WebCore::JSMessageChannel::visitChildrenVirtual):
  14772. (WebCore::JSMessageChannel::visitChildren):
  14773. * bindings/js/JSMessagePortCustom.cpp:
  14774. (WebCore::JSMessagePort::visitChildrenVirtual):
  14775. (WebCore::JSMessagePort::visitChildren):
  14776. * bindings/js/JSNamedNodeMapCustom.cpp:
  14777. (WebCore::JSNamedNodeMap::visitChildrenVirtual):
  14778. (WebCore::JSNamedNodeMap::visitChildren):
  14779. * bindings/js/JSNodeCustom.cpp:
  14780. (WebCore::JSNode::visitChildrenVirtual):
  14781. (WebCore::JSNode::visitChildren):
  14782. * bindings/js/JSNodeFilterCustom.cpp:
  14783. (WebCore::JSNodeFilter::visitChildrenVirtual):
  14784. (WebCore::JSNodeFilter::visitChildren):
  14785. * bindings/js/JSNodeIteratorCustom.cpp:
  14786. (WebCore::JSNodeIterator::visitChildrenVirtual):
  14787. (WebCore::JSNodeIterator::visitChildren):
  14788. * bindings/js/JSSVGElementInstanceCustom.cpp:
  14789. (WebCore::JSSVGElementInstance::visitChildrenVirtual):
  14790. (WebCore::JSSVGElementInstance::visitChildren):
  14791. * bindings/js/JSSharedWorkerCustom.cpp:
  14792. (WebCore::JSSharedWorker::visitChildrenVirtual):
  14793. (WebCore::JSSharedWorker::visitChildren):
  14794. * bindings/js/JSStyleSheetCustom.cpp:
  14795. (WebCore::JSStyleSheet::visitChildrenVirtual):
  14796. (WebCore::JSStyleSheet::visitChildren):
  14797. * bindings/js/JSTreeWalkerCustom.cpp:
  14798. (WebCore::JSTreeWalker::visitChildrenVirtual):
  14799. (WebCore::JSTreeWalker::visitChildren):
  14800. * bindings/js/JSWebGLRenderingContextCustom.cpp:
  14801. (WebCore::JSWebGLRenderingContext::visitChildrenVirtual):
  14802. (WebCore::JSWebGLRenderingContext::visitChildren):
  14803. * bindings/js/JSWorkerContextCustom.cpp:
  14804. (WebCore::JSWorkerContext::visitChildrenVirtual):
  14805. (WebCore::JSWorkerContext::visitChildren):
  14806. * bindings/js/JSXMLHttpRequestCustom.cpp:
  14807. (WebCore::JSXMLHttpRequest::visitChildrenVirtual):
  14808. (WebCore::JSXMLHttpRequest::visitChildren):
  14809. * bindings/js/JSXPathResultCustom.cpp:
  14810. (WebCore::JSXPathResult::visitChildrenVirtual):
  14811. (WebCore::JSXPathResult::visitChildren):
  14812. * bindings/scripts/CodeGeneratorJS.pm:
  14813. (GenerateHeader):
  14814. (GenerateImplementation):
  14815. * bindings/scripts/test/JS/JSTestObj.cpp:
  14816. (WebCore::JSTestObj::visitChildrenVirtual):
  14817. (WebCore::JSTestObj::visitChildren):
  14818. * bindings/scripts/test/JS/JSTestObj.h:
  14819. * bridge/qt/qt_instance.cpp:
  14820. (JSC::Bindings::QtRuntimeObject::visitChildrenVirtual):
  14821. (JSC::Bindings::QtRuntimeObject::visitChildren):
  14822. * bridge/qt/qt_runtime.cpp:
  14823. (JSC::Bindings::QtRuntimeMetaMethod::visitChildrenVirtual):
  14824. (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
  14825. * bridge/qt/qt_runtime.h:
  14826. * workers/WorkerContext.h:
  14827. 2011-09-27 Mark Hahnenberg <mhahnenberg@apple.com>
  14828. Add static version of JSCell::getCallData
  14829. https://bugs.webkit.org/show_bug.cgi?id=68741
  14830. Reviewed by Darin Adler.
  14831. No new tests.
  14832. In this patch we just extract the bodies of the virtual getCallData methods
  14833. throughout the JSCell inheritance hierarchy out into static methods, which are
  14834. now called from the virtual methods. This is an intermediate step in trying to
  14835. move the virtual-ness of getCallData into our own method table stored in
  14836. ClassInfo. We need to convert the methods to static methods because static methods
  14837. can be represented as function pointers rather than pointers to member functions, and
  14838. function pointers are smaller and faster to call than pointers to member functions.
  14839. * WebCore.exp.in:
  14840. * bindings/js/JSCallbackData.cpp:
  14841. (WebCore::JSCallbackData::invokeCallback):
  14842. * bindings/js/JSCustomXPathNSResolver.cpp:
  14843. (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
  14844. * bindings/js/JSErrorHandler.cpp:
  14845. (WebCore::JSErrorHandler::handleEvent):
  14846. * bindings/js/JSEventListener.cpp:
  14847. (WebCore::JSEventListener::handleEvent):
  14848. * bindings/js/JSHTMLAllCollectionCustom.cpp:
  14849. (WebCore::JSHTMLAllCollection::getCallDataVirtual):
  14850. (WebCore::JSHTMLAllCollection::getCallData):
  14851. * bindings/js/JSHTMLAppletElementCustom.cpp:
  14852. (WebCore::JSHTMLAppletElement::getCallDataVirtual):
  14853. (WebCore::JSHTMLAppletElement::getCallData):
  14854. * bindings/js/JSHTMLEmbedElementCustom.cpp:
  14855. (WebCore::JSHTMLEmbedElement::getCallDataVirtual):
  14856. (WebCore::JSHTMLEmbedElement::getCallData):
  14857. * bindings/js/JSHTMLObjectElementCustom.cpp:
  14858. (WebCore::JSHTMLObjectElement::getCallDataVirtual):
  14859. (WebCore::JSHTMLObjectElement::getCallData):
  14860. * bindings/js/JSInjectedScriptHostCustom.cpp:
  14861. (WebCore::JSInjectedScriptHost::evaluate):
  14862. * bindings/js/JSPluginElementFunctions.cpp:
  14863. (WebCore::runtimeObjectGetCallData):
  14864. * bindings/scripts/CodeGeneratorJS.pm:
  14865. (GenerateHeader):
  14866. * bridge/objc/objc_runtime.h:
  14867. * bridge/objc/objc_runtime.mm:
  14868. (JSC::Bindings::ObjcFallbackObjectImp::getCallDataVirtual):
  14869. (JSC::Bindings::ObjcFallbackObjectImp::getCallData):
  14870. * bridge/qt/qt_runtime.cpp:
  14871. (JSC::Bindings::QtRuntimeMetaMethod::getCallDataVirtual):
  14872. (JSC::Bindings::QtRuntimeMetaMethod::getCallData):
  14873. (JSC::Bindings::QtRuntimeConnectionMethod::call):
  14874. (JSC::Bindings::QtRuntimeConnectionMethod::getCallDataVirtual):
  14875. (JSC::Bindings::QtRuntimeConnectionMethod::getCallData):
  14876. (JSC::Bindings::isJavaScriptFunction):
  14877. * bridge/qt/qt_runtime.h:
  14878. * bridge/runtime_method.cpp:
  14879. (JSC::RuntimeMethod::getCallDataVirtual):
  14880. (JSC::RuntimeMethod::getCallData):
  14881. * bridge/runtime_method.h:
  14882. * bridge/runtime_object.cpp:
  14883. (JSC::Bindings::RuntimeObject::getCallDataVirtual):
  14884. (JSC::Bindings::RuntimeObject::getCallData):
  14885. * bridge/runtime_object.h:
  14886. 2011-09-27 Dean Jackson <dino@apple.com>
  14887. Unreviewed. Remove duplicate FilterOperation{s}.h that were
  14888. accidentally added to the top level of the Xcode project.
  14889. * WebCore.xcodeproj/project.pbxproj:
  14890. 2011-09-27 David Hyatt <hyatt@apple.com>
  14891. https://bugs.webkit.org/show_bug.cgi?id=68940
  14892. Narrow the float/lines pagination heuristic to only kick in if
  14893. the previous line broke cleanly and if the floats are occurring
  14894. at the start of the line.
  14895. Reviewed by Dan Bernstein.
  14896. * rendering/RenderBlockLineLayout.cpp:
  14897. (WebCore::RenderBlock::positionNewFloatOnLine):
  14898. 2011-09-27 James Robinson <jamesr@chromium.org>
  14899. Add a mechanism to test for the compositing tree mutated during painting
  14900. https://bugs.webkit.org/show_bug.cgi?id=68738
  14901. Reviewed by Adam Barth.
  14902. Sets a static bool during GraphicsLayer::paintGraphicsLayerContents and ASSERT()s that we never create or
  14903. destroy a GraphicsLayer inside this function. Painting should never mutate the GraphicsLayer tree.
  14904. Test: compositing/video/video-with-invalid-source.html
  14905. * platform/graphics/GraphicsLayer.cpp:
  14906. (WebCore::GraphicsLayer::GraphicsLayer):
  14907. (WebCore::GraphicsLayer::~GraphicsLayer):
  14908. (WebCore::GraphicsLayer::paintGraphicsLayerContents):
  14909. 2011-09-27 Ojan Vafai <ojan@chromium.org>
  14910. take padding/border on flexbox into account with direction:rtl
  14911. https://bugs.webkit.org/show_bug.cgi?id=68846
  14912. Reviewed by David Hyatt.
  14913. Use the logicalWidth of the flexbox instead of it's availableLogicalWidth
  14914. so that we include the flexbox's border and padding.
  14915. Also, change all uses of availableLogicalWidth to contentLogicalWidth.
  14916. The former takes multi-column into account. Multi-column flexboxes don't
  14917. make any sense, so there's no point in calling availableLogicalWidth.
  14918. * rendering/RenderFlexibleBox.cpp:
  14919. (WebCore::RenderFlexibleBox::flowAwareLogicalWidth):
  14920. (WebCore::RenderFlexibleBox::flowAwareContentLogicalWidth):
  14921. (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
  14922. (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
  14923. (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
  14924. * rendering/RenderFlexibleBox.h:
  14925. 2011-09-27 Sheriff Bot <webkit.review.bot@gmail.com>
  14926. Unreviewed, rolling out r96139.
  14927. http://trac.webkit.org/changeset/96139
  14928. https://bugs.webkit.org/show_bug.cgi?id=68933
  14929. Broke table-percent-height.html on Mac bots (Requested by
  14930. mwenge2 on #webkit).
  14931. * rendering/RenderBox.cpp:
  14932. (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
  14933. (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
  14934. * rendering/RenderBox.h:
  14935. 2011-09-27 Tim Horton <timothy_horton@apple.com>
  14936. REGRESSION(65665): Pattern size being clamped to SVG size can prevent transformed elements from being fully covered by userSpaceOnUse patterns
  14937. https://bugs.webkit.org/show_bug.cgi?id=67700
  14938. <rdar://problem/10125102>
  14939. Reviewed by Darin Adler.
  14940. Clamp all resources to the same size, 4096x4096 (arbitrarily chosen), instead of to the size
  14941. of the <svg> element. This fixes the case where a transformed element displays part of a resource
  14942. outside of the size of the <svg> element.
  14943. When drawing an oversized pattern into its tile image, scale the content down to fit. When drawing
  14944. the tile image to the screen, scale it back up to fit the expected area. This will cause pixelation
  14945. when patterns are over the 4k limit.
  14946. Tests: svg/custom/transformed-pattern-clamp-svg-root.svg, svg/custom/oversized-pattern-scale.svg
  14947. * rendering/svg/RenderSVGResourceClipper.cpp:
  14948. (WebCore::RenderSVGResourceClipper::applyClippingToContext):
  14949. * rendering/svg/RenderSVGResourceGradient.cpp:
  14950. (WebCore::createMaskAndSwapContextForTextGradient):
  14951. (WebCore::clipToTextMask):
  14952. * rendering/svg/RenderSVGResourceMasker.cpp:
  14953. (WebCore::RenderSVGResourceMasker::applyResource):
  14954. * rendering/svg/RenderSVGResourcePattern.cpp:
  14955. (WebCore::RenderSVGResourcePattern::applyResource):
  14956. (WebCore::RenderSVGResourcePattern::createTileImage):
  14957. * rendering/svg/RenderSVGResourcePattern.h:
  14958. * rendering/svg/SVGImageBufferTools.cpp:
  14959. (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRect):
  14960. * rendering/svg/SVGImageBufferTools.h:
  14961. 2011-09-27 Dan Bernstein <mitz@apple.com>
  14962. <rdar://problem/10098679> Assertion failure in RenderLayer::paintPaginatedChildLayer()
  14963. Reviewed by Simon Fraser.
  14964. Test: fast/dynamic/layer-no-longer-paginated.html
  14965. FrameView::layout() calls adjustViewSize() before calling RenderLayer::updateLayerPositions().
  14966. The former may trigger painting with a layer tree that is not entirely up-to-date. Specifically,
  14967. the isPaginated() state of a layer may be incorrect, leading to the assertion in this bug. Instead
  14968. of asserting, return early and count on the upcoming updateLayerPositions() to repaint as needed.
  14969. * rendering/RenderLayer.cpp:
  14970. (WebCore::RenderLayer::paintPaginatedChildLayer): Replaced the assertion with an early return.
  14971. 2011-09-27 Ojan Vafai <ojan@chromium.org>
  14972. offsetTop/offsetLeft return the wrong values for horizontal-bt/vertical-rl writing modes
  14973. https://bugs.webkit.org/show_bug.cgi?id=68304
  14974. Reviewed by David Hyatt.
  14975. When grabbing the x/y values of the RenderBox, we need to take writing mode
  14976. flipping into account.
  14977. Test: fast/dom/offset-position-writing-modes.html
  14978. * rendering/RenderBox.cpp:
  14979. (WebCore::RenderBox::locationIncludingFlipping):
  14980. * rendering/RenderBox.h:
  14981. (WebCore::RenderBox::yFlippedForWritingMode):
  14982. (WebCore::RenderBox::xFlippedForWritingMode):
  14983. * rendering/RenderBoxModelObject.cpp:
  14984. (WebCore::RenderBoxModelObject::offsetLeft):
  14985. (WebCore::RenderBoxModelObject::offsetTop):
  14986. 2011-09-27 Tim Horton <timothy_horton@apple.com>
  14987. Rapidly refreshing a feMorphology[erode] with r=0 can sometimes cause display corruption
  14988. https://bugs.webkit.org/show_bug.cgi?id=68816
  14989. <rdar://problem/10186468>
  14990. Reviewed by Simon Fraser.
  14991. If a filter returns without writing into its result buffer, make sure to return an cleared buffer.
  14992. Test: svg/filters/feMorphology-zero-radius.svg
  14993. * platform/graphics/filters/FEMorphology.cpp:
  14994. (WebCore::FEMorphology::apply):
  14995. * platform/graphics/filters/FETurbulence.cpp:
  14996. (WebCore::FETurbulence::apply):
  14997. 2011-09-27 Ryosuke Niwa <rniwa@webkit.org>
  14998. CompositeEditCommand::prune should remove subtree at once
  14999. https://bugs.webkit.org/show_bug.cgi?id=68866
  15000. Reviewed by Darin Adler.
  15001. Extracted the logic to find the highest ancestor to remove as highestNodeToRemoveInPruning from prune.
  15002. This reduces the number of node removals from O(n) to O(1) where n is the depth of the tree.
  15003. * editing/CompositeEditCommand.cpp:
  15004. (WebCore::hasARenderedDescendant): Takes excludedNode in addition to node. excludedNode is used to ignore
  15005. the child node from which we climbed up the tree in highestNodeToRemoveInPruning.
  15006. (WebCore::highestNodeToRemoveInPruning): Extracted from prune.
  15007. (WebCore::CompositeEditCommand::prune):
  15008. (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
  15009. 2011-09-27 David Hyatt <hyatt@apple.com>
  15010. https://bugs.webkit.org/show_bug.cgi?id=68922
  15011. Paginated floats should not grow the height of a block when they don't end
  15012. up being tied to a line. Floats encountered in skipLeadingWhitespace that
  15013. paginate can't immediately grow the height of the block, since there may not
  15014. end up being any actual line content. We only want to push the height of the
  15015. block down if we have actual line content that we want to keep with the
  15016. float.
  15017. Make positionNewFloatOnLine check if the line is empty or not, and if it is,
  15018. it just puts the desired pagination strut into LineInfo. If and when actual
  15019. line content is encountered and setEmpty becomes false, we'll grow the block
  15020. height then.
  15021. Reviewed by Dan Bernstein.
  15022. Added fast/multicol/float-paginate-empty-lines.html and
  15023. fast/regions/webkit-flow-double-pagination-float-push.html.
  15024. * rendering/RenderBlock.h:
  15025. * rendering/RenderBlockLineLayout.cpp:
  15026. (WebCore::LineWidth::LineWidth):
  15027. (WebCore::LineWidth::fitsOnLine):
  15028. (WebCore::LineWidth::currentWidth):
  15029. (WebCore::LineWidth::uncommittedWidth):
  15030. (WebCore::LineWidth::committedWidth):
  15031. (WebCore::LineWidth::availableWidth):
  15032. (WebCore::LineWidth::addUncommittedWidth):
  15033. (WebCore::LineWidth::commit):
  15034. (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
  15035. (WebCore::LineWidth::updateAvailableWidth):
  15036. (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
  15037. (WebCore::LineWidth::applyOverhang):
  15038. (WebCore::LineWidth::fitBelowFloats):
  15039. (WebCore::LineInfo::LineInfo):
  15040. (WebCore::LineInfo::floatPaginationStrut):
  15041. (WebCore::LineInfo::setEmpty):
  15042. (WebCore::LineInfo::setFloatPaginationStrut):
  15043. (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
  15044. (WebCore::RenderBlock::LineBreaker::nextLineBreak):
  15045. (WebCore::RenderBlock::positionNewFloatOnLine):
  15046. 2011-09-27 Dean Jackson <dino@apple.com>
  15047. Add 'filter' value to RenderStyle
  15048. https://bugs.webkit.org/show_bug.cgi?id=68471
  15049. Reviewed by Simon Fraser.
  15050. Add a filter property to RenderStyle when ENABLE(CSS_FILTERS)
  15051. is turned on. Similar to -webkit-transform, -webkit-filter is a
  15052. list of FilterOperations, each identifying what type of operation
  15053. it is. This change simply adds the basic objects, it does not
  15054. parse the property to generate the list.
  15055. * CMakeLists.txt:
  15056. * GNUmakefile.list.am:
  15057. * WebCore.gypi:
  15058. * WebCore.pro:
  15059. * WebCore.vcproj/WebCore.vcproj:
  15060. * WebCore.xcodeproj/project.pbxproj:
  15061. * platform/graphics/filters/FilterOperation.h: Added.
  15062. (WebCore::FilterOperation::~FilterOperation):
  15063. (WebCore::FilterOperation::operator!=):
  15064. (WebCore::FilterOperation::getOperationType):
  15065. (WebCore::FilterOperation::isSameType):
  15066. (WebCore::FilterOperation::FilterOperation):
  15067. (WebCore::ReferenceFilterOperation::create):
  15068. (WebCore::ReferenceFilterOperation::reference):
  15069. (WebCore::ReferenceFilterOperation::operator==):
  15070. (WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
  15071. (WebCore::BasicColorMatrixFilterOperation::create):
  15072. (WebCore::BasicColorMatrixFilterOperation::amount):
  15073. (WebCore::BasicColorMatrixFilterOperation::operator==):
  15074. (WebCore::BasicColorMatrixFilterOperation::BasicColorMatrixFilterOperation):
  15075. (WebCore::BasicComponentTransferFilterOperation::create):
  15076. (WebCore::BasicComponentTransferFilterOperation::amount):
  15077. (WebCore::BasicComponentTransferFilterOperation::operator==):
  15078. (WebCore::BasicComponentTransferFilterOperation::BasicComponentTransferFilterOperation):
  15079. (WebCore::GammaFilterOperation::create):
  15080. (WebCore::GammaFilterOperation::amplitude):
  15081. (WebCore::GammaFilterOperation::exponent):
  15082. (WebCore::GammaFilterOperation::offset):
  15083. (WebCore::GammaFilterOperation::operator==):
  15084. (WebCore::GammaFilterOperation::GammaFilterOperation):
  15085. (WebCore::BlurFilterOperation::create):
  15086. (WebCore::BlurFilterOperation::stdDeviationX):
  15087. (WebCore::BlurFilterOperation::stdDeviationY):
  15088. (WebCore::BlurFilterOperation::operator==):
  15089. (WebCore::BlurFilterOperation::BlurFilterOperation):
  15090. (WebCore::SharpenFilterOperation::create):
  15091. (WebCore::SharpenFilterOperation::radius):
  15092. (WebCore::SharpenFilterOperation::threshold):
  15093. (WebCore::SharpenFilterOperation::amount):
  15094. (WebCore::SharpenFilterOperation::operator==):
  15095. (WebCore::SharpenFilterOperation::SharpenFilterOperation):
  15096. (WebCore::DropShadowFilterOperation::create):
  15097. (WebCore::DropShadowFilterOperation::shadow):
  15098. (WebCore::DropShadowFilterOperation::operator==):
  15099. (WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
  15100. * platform/graphics/filters/FilterOperations.cpp: Added.
  15101. (WebCore::FilterOperations::FilterOperations):
  15102. (WebCore::FilterOperations::operator==):
  15103. * platform/graphics/filters/FilterOperations.h: Added.
  15104. (WebCore::FilterOperations::operator!=):
  15105. (WebCore::FilterOperations::clear):
  15106. (WebCore::FilterOperations::operations):
  15107. (WebCore::FilterOperations::size):
  15108. (WebCore::FilterOperations::at):
  15109. * rendering/style/RenderStyle.cpp:
  15110. (WebCore::RenderStyle::RenderStyle):
  15111. * rendering/style/RenderStyle.h:
  15112. (WebCore::InheritedFlags::filter):
  15113. (WebCore::InheritedFlags::hasFilter):
  15114. (WebCore::InheritedFlags::setFilter):
  15115. (WebCore::InheritedFlags::initialFilter):
  15116. * rendering/style/StyleAllInOne.cpp: Added include of new StyleFilterData.
  15117. * rendering/style/StyleFilterData.cpp: Added.
  15118. (WebCore::StyleFilterData::StyleFilterData):
  15119. (WebCore::StyleFilterData::operator==):
  15120. * rendering/style/StyleFilterData.h: Added.
  15121. (WebCore::StyleFilterData::create):
  15122. (WebCore::StyleFilterData::copy):
  15123. (WebCore::StyleFilterData::operator!=):
  15124. * rendering/style/StyleRareNonInheritedData.cpp:
  15125. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  15126. (WebCore::StyleRareNonInheritedData::operator==):
  15127. * rendering/style/StyleRareNonInheritedData.h: New filter DataRef.
  15128. 2011-09-27 James Robinson <jamesr@chromium.org>
  15129. [chromium] LayerRenderChromium asserts about leaking textures.
  15130. https://bugs.webkit.org/show_bug.cgi?id=68190
  15131. Reviewed by Kenneth Russell.
  15132. This introduces an interface TextureAllocator that the TextureManager uses to allocate/deallocate textures.
  15133. This means that TextureManager does not need to depend directly on GraphicsContext3D, other than for the format
  15134. enum type, making it more testable. It also allows us to track the allocations by subclassing TextureAllocator
  15135. to make sure we aren't leaking any textures.
  15136. * WebCore.gypi:
  15137. * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
  15138. (WebCore::Canvas2DLayerChromium::updateCompositorResources):
  15139. * platform/graphics/chromium/Canvas2DLayerChromium.h:
  15140. * platform/graphics/chromium/ImageLayerChromium.cpp:
  15141. (WebCore::ImageLayerTextureUpdater::updateTextureRect):
  15142. * platform/graphics/chromium/LayerChromium.h:
  15143. (WebCore::LayerChromium::updateCompositorResources):
  15144. * platform/graphics/chromium/LayerRendererChromium.cpp:
  15145. (WebCore::LayerRendererChromium::LayerRendererChromium):
  15146. (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
  15147. (WebCore::LayerRendererChromium::drawLayers):
  15148. (WebCore::LayerRendererChromium::useRenderSurface):
  15149. (WebCore::LayerRendererChromium::initializeSharedObjects):
  15150. (WebCore::LayerRendererChromium::cleanupSharedObjects):
  15151. * platform/graphics/chromium/LayerRendererChromium.h:
  15152. (WebCore::LayerRendererChromium::renderSurfaceTextureAllocator):
  15153. (WebCore::LayerRendererChromium::contentsTextureAllocator):
  15154. * platform/graphics/chromium/LayerTextureUpdater.h:
  15155. * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
  15156. (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
  15157. (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
  15158. * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
  15159. * platform/graphics/chromium/ManagedTexture.cpp:
  15160. (WebCore::ManagedTexture::bindTexture):
  15161. (WebCore::ManagedTexture::framebufferTexture2D):
  15162. * platform/graphics/chromium/ManagedTexture.h:
  15163. * platform/graphics/chromium/TextureManager.cpp:
  15164. (WebCore::TextureManager::memoryUseBytes):
  15165. (WebCore::TextureManager::deleteEvictedTextures):
  15166. (WebCore::TextureManager::evictAndDeleteAllTextures):
  15167. (WebCore::TextureManager::removeTexture):
  15168. (WebCore::TextureManager::allocateTexture):
  15169. (WebCore::TextureManager::requestTexture):
  15170. * platform/graphics/chromium/TextureManager.h:
  15171. (WebCore::TextureAllocator::~TextureAllocator):
  15172. * platform/graphics/chromium/TiledLayerChromium.cpp:
  15173. (WebCore::TiledLayerChromium::updateCompositorResources):
  15174. * platform/graphics/chromium/TiledLayerChromium.h:
  15175. * platform/graphics/chromium/TrackingTextureAllocator.cpp: Added.
  15176. (WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
  15177. (WebCore::TrackingTextureAllocator::~TrackingTextureAllocator):
  15178. (WebCore::TrackingTextureAllocator::createTexture):
  15179. (WebCore::TrackingTextureAllocator::deleteTexture):
  15180. * platform/graphics/chromium/TrackingTextureAllocator.h: Copied from Source/WebCore/platform/graphics/chromium/ManagedTexture.h.
  15181. (WebCore::TrackingTextureAllocator::create):
  15182. (WebCore::TrackingTextureAllocator::currentMemoryUseBytes):
  15183. * platform/graphics/chromium/VideoLayerChromium.cpp:
  15184. (WebCore::VideoLayerChromium::updateCompositorResources):
  15185. (WebCore::VideoLayerChromium::updateTexture):
  15186. * platform/graphics/chromium/VideoLayerChromium.h:
  15187. * platform/graphics/chromium/WebGLLayerChromium.cpp:
  15188. (WebCore::WebGLLayerChromium::updateCompositorResources):
  15189. * platform/graphics/chromium/WebGLLayerChromium.h:
  15190. * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
  15191. (WebCore::CCHeadsUpDisplay::draw):
  15192. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  15193. (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
  15194. (WebCore::CCLayerTreeHost::deleteContentsTexturesOnCCThread):
  15195. (WebCore::CCLayerTreeHost::commitToOnCCThread):
  15196. (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
  15197. (WebCore::CCLayerTreeHost::updateCompositorResources):
  15198. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  15199. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
  15200. (WebCore::CCLayerTreeHostImpl::contentsTextureAllocator):
  15201. (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
  15202. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
  15203. * platform/graphics/chromium/cc/CCRenderSurface.cpp:
  15204. (WebCore::CCRenderSurface::drawSurface):
  15205. * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  15206. (WebCore::CCSingleThreadProxy::setNeedsCommit):
  15207. (WebCore::CCSingleThreadProxy::stop):
  15208. (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
  15209. (WebCore::CCSingleThreadProxy::commitIfNeeded):
  15210. * platform/graphics/chromium/cc/CCThreadProxy.cpp:
  15211. (WebCore::CCThreadProxy::commitOnCCThread):
  15212. (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
  15213. 2011-06-28 Robert Hogan <robert@webkit.org>
  15214. Reviewed by David Hyatt.
  15215. Replaced elements squeezed when width is specified as percentage inside a table with Auto layout
  15216. https://bugs.webkit.org/show_bug.cgi?id=29447
  15217. If inserting a 'replaced' element (e.g. image, plugin) in a table cell that is not descendant from
  15218. a block with fixed layout then do not squeeze the element, let it use its intrinsic width and height.
  15219. Test: fast/replaced/table-percent-width.html
  15220. * rendering/RenderBox.cpp:
  15221. (WebCore::avoidSqueezingWidth):
  15222. (WebCore::avoidSqueezingHeight):
  15223. (WebCore::RenderBox::containingBlockReplacedLogicalWidthForContent):
  15224. (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
  15225. (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
  15226. * rendering/RenderBox.h:
  15227. 2011-09-27 Simon Fraser <simon.fraser@apple.com>
  15228. https://bugs.webkit.org/show_bug.cgi?id=67858
  15229. Roll r96070 back in now that the crash has been fixed in r96130.
  15230. Reviewed by Darin Adler.
  15231. When non-overlay scrollbars are hidden on a composited iframe, nothing invalidated
  15232. the scrollbar areas or the scroll corner, so the scrollbars appear to remain.
  15233. Fix by invalidating the scrollbars and scroll corner when they are removed. Invalidation
  15234. on scrollbar creation appears to happen via updating the scrollbar style.
  15235. Tested by compositing/iframes/repaint-after-losing-scrollbars.html which no longer shows
  15236. stale scrollbars when run manually, even though the green squares are missing from the
  15237. pixel result (bug 67878).
  15238. * page/FrameView.cpp:
  15239. (WebCore::FrameView::updateScrollCorner): Pass the corner rect into invalidateScrollCorner().
  15240. * platform/ScrollView.cpp:
  15241. (WebCore::ScrollView::setHasHorizontalScrollbar): Invalidate the scrollbar area if hiding it.
  15242. (WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
  15243. (WebCore::ScrollView::updateScrollbars): In the case where both scrollbars are going away,
  15244. compute the scroll corner rect while we still have scrollbars, and then invalidate it
  15245. explicitly. (updateScrollCorner() doesn't, because it doesn't have access to the old corner
  15246. rect.)
  15247. * platform/ScrollableArea.cpp:
  15248. (WebCore::ScrollableArea::invalidateScrollCorner): Pass the rect in, because we can't
  15249. compute it in the case where the scrollbars are going away.
  15250. * platform/ScrollableArea.h: Pass in a rect to invalidateScrollCorner(), which matches
  15251. invalidateScrollbar().
  15252. * rendering/RenderLayerCompositor.cpp:
  15253. (WebCore::RenderLayerCompositor::destroyRootLayer): Pass the corner rect into invalidateScrollCorner().
  15254. * rendering/RenderScrollbarPart.cpp: Ditto.
  15255. (WebCore::RenderScrollbarPart::imageChanged): Ditto.
  15256. 2011-09-27 Mihai Parparita <mihaip@chromium.org>
  15257. Fix Chromium Mac build after r96130.
  15258. * page/FrameView.cpp:
  15259. (WebCore::FrameView::layerForOverhangAreas):
  15260. 2011-09-27 Kaustubh Atrawalkar <kaustubh@motorola.com>
  15261. Autofocus on readonly inputs does not focus the element.
  15262. https://bugs.webkit.org/show_bug.cgi?id=24092
  15263. Reviewed by Ryosuke Niwa.
  15264. Readonly input elements should be autofocusable. Removed the check.
  15265. Tests: fast/forms/autofocus-readonly-attribute.html
  15266. * html/HTMLFormControlElement.cpp:
  15267. (WebCore::shouldAutofocus):
  15268. 2011-09-27 Simon Fraser <simon.fraser@apple.com>
  15269. Clean up how FrameView accesses the RenderView
  15270. https://bugs.webkit.org/show_bug.cgi?id=68914
  15271. Reviewed by Sam Weinig.
  15272. Clean up how FrameView accesses the content renderer of its
  15273. frame. Previously, this was done in several different ways,
  15274. only some of which did null-checking.
  15275. Use an inline method to avoid having to expose Frame
  15276. in the header.
  15277. Standardize the terminology to use 'root' for this RenderView.
  15278. * page/FrameView.cpp:
  15279. (WebCore::rootRenderer):
  15280. (WebCore::FrameView::setFrameRect):
  15281. (WebCore::FrameView::adjustViewSize):
  15282. (WebCore::FrameView::updateCompositingLayers):
  15283. (WebCore::FrameView::clearBackingStores):
  15284. (WebCore::FrameView::restoreBackingStores):
  15285. (WebCore::FrameView::layerForHorizontalScrollbar):
  15286. (WebCore::FrameView::layerForVerticalScrollbar):
  15287. (WebCore::FrameView::layerForScrollCorner):
  15288. (WebCore::FrameView::layerForOverhangAreas):
  15289. (WebCore::FrameView::syncCompositingStateForThisFrame):
  15290. (WebCore::FrameView::hasCompositedContent):
  15291. (WebCore::FrameView::enterCompositingMode):
  15292. (WebCore::FrameView::isSoftwareRenderable):
  15293. (WebCore::FrameView::didMoveOnscreen):
  15294. (WebCore::FrameView::willMoveOffscreen):
  15295. (WebCore::FrameView::layout):
  15296. (WebCore::FrameView::embeddedContentBox):
  15297. (WebCore::FrameView::contentsInCompositedLayer):
  15298. (WebCore::FrameView::scrollContentsFastPath):
  15299. (WebCore::FrameView::scrollContentsSlowPath):
  15300. (WebCore::FrameView::maintainScrollPositionAtAnchor):
  15301. (WebCore::FrameView::scrollPositionChanged):
  15302. (WebCore::FrameView::repaintFixedElementsAfterScrolling):
  15303. (WebCore::FrameView::visibleContentsResized):
  15304. (WebCore::FrameView::scheduleRelayoutOfSubtree):
  15305. (WebCore::FrameView::needsLayout):
  15306. (WebCore::FrameView::setNeedsLayout):
  15307. (WebCore::FrameView::performPostLayoutTasks):
  15308. (WebCore::FrameView::updateControlTints):
  15309. (WebCore::FrameView::paintContents):
  15310. (WebCore::FrameView::forceLayoutForPagination):
  15311. (WebCore::FrameView::adjustPageHeightDeprecated):
  15312. (WebCore::FrameView::isVerticalDocument):
  15313. (WebCore::FrameView::isFlippedDocument):
  15314. 2011-09-27 Dominic Mazzoni <dmazzoni@google.com>
  15315. AXObjectCache cleared unnecessarily when non-top Document is detached.
  15316. https://bugs.webkit.org/show_bug.cgi?id=68636
  15317. Reviewed by Chris Fleizach.
  15318. Test: accessibility/deleting-iframe-destroys-axcache.html
  15319. * dom/Document.cpp:
  15320. (WebCore::Document::attach):
  15321. (WebCore::Document::detach):
  15322. 2011-09-27 Sheriff Bot <webkit.review.bot@gmail.com>
  15323. Unreviewed, rolling out r96108, r96111, r96113, and r96116.
  15324. http://trac.webkit.org/changeset/96108
  15325. http://trac.webkit.org/changeset/96111
  15326. http://trac.webkit.org/changeset/96113
  15327. http://trac.webkit.org/changeset/96116
  15328. https://bugs.webkit.org/show_bug.cgi?id=68913
  15329. Wait for working Qt5 (Requested by ossy on #webkit).
  15330. * WebCore.pri:
  15331. * platform/graphics/qt/GraphicsLayerQt.cpp:
  15332. 2011-09-27 Csaba Osztrogonác <ossy@webkit.org>
  15333. Fix ENABLE(SQL_DATABASE)=0 build after r95919
  15334. https://bugs.webkit.org/show_bug.cgi?id=68902
  15335. r95919 enabled OFFLINE_WEB_APPLICATIONS by default and
  15336. it needs SQLite stuff even if ENABLE_SQL_DATABASE=0.
  15337. Reviewed by Adam Barth.
  15338. * platform/sql/SQLiteAuthorizer.cpp:
  15339. * platform/sql/SQLiteDatabase.cpp:
  15340. * platform/sql/SQLiteFileSystem.cpp:
  15341. * platform/sql/SQLiteStatement.cpp:
  15342. * platform/sql/SQLiteTransaction.cpp:
  15343. * storage/DatabaseAuthorizer.cpp:
  15344. 2011-09-27 Julien Chaffraix <jchaffraix@webkit.org>
  15345. Crash because CSSPrimitiveValue::computeLengthDouble assumes fontMetrics are available
  15346. https://bugs.webkit.org/show_bug.cgi?id=66291
  15347. Reviewed by Darin Adler.
  15348. Test: fast/canvas/crash-set-font.html
  15349. This is Yet Another Missing updateFont (similar to bug 57756 and likely others). Here the issue is that
  15350. applying one of the font properties could mutate the parent style's font if m_parentStyle == m_style.
  15351. We would then query the newly created font when applying CSSPropertyFontSize, which has no font fallback
  15352. list as Font::update was never called.
  15353. The right fix would be to refactor of how we handle fonts to avoid such manual updates (see bug 62390).
  15354. Until this happens, it is better not to crash.
  15355. * css/CSSStyleSelector.cpp:
  15356. (WebCore::CSSStyleSelector::applyProperty): Added updateFont() here as the fonts could have been
  15357. mutated by the previous property change. Also added a comment explaining why it is safe to do it
  15358. this way.
  15359. 2011-09-27 No'am Rosenthal <noam.rosenthal@nokia.com>
  15360. [Texmap] Code cleanup: remove unused boundingRect/visibleRect calculations
  15361. https://bugs.webkit.org/show_bug.cgi?id=68897
  15362. Reviewed by Andreas Kling.
  15363. No new functionality so no new tests.
  15364. * platform/graphics/texmap/TextureMapperNode.cpp:
  15365. (WebCore::TextureMapperNode::computeAllTransforms):
  15366. (WebCore::TextureMapperNode::computeTiles):
  15367. (WebCore::TextureMapperNode::syncCompositingState):
  15368. * platform/graphics/texmap/TextureMapperNode.h:
  15369. 2011-09-27 No'am Rosenthal <noam.rosenthal@nokia.com>
  15370. [Texmap][Qt] Refactor texture-upload to allow direct chunk update
  15371. https://bugs.webkit.org/show_bug.cgi?id=68808
  15372. Add a function to BitmapTexture for direct pixel updates.
  15373. Modify BitmapTextureGL::endPaint to use that function. Since the BGRA
  15374. to RGBA swizzling is done inside that function, there's no need for the
  15375. RGBA32PremultipliedBuffer class to contain such function. Also,
  15376. RGBA32PremultipliedBuffer was renamed to BGRA32PremultipliedBuffer, correcting
  15377. an old mistake.
  15378. Reviewed by Andreas Kling.
  15379. No new tests. Existing tests in LayoutTests/compositing test this.
  15380. * platform/graphics/opengl/TextureMapperGL.cpp:
  15381. (WebCore::BitmapTextureGL::beginPaint):
  15382. (WebCore::BitmapTextureGL::endPaint):
  15383. (WebCore::swizzleBGRAToRGBA):
  15384. (WebCore::BitmapTextureGL::updateContents):
  15385. * platform/graphics/opengl/TextureMapperGL.h:
  15386. (WebCore::BGRA32PremultimpliedBuffer::~BGRA32PremultimpliedBuffer):
  15387. * platform/graphics/qt/TextureMapperQt.cpp:
  15388. (WebCore::BitmapTextureQt::updateContents):
  15389. (WebCore::BGRA32PremultimpliedBufferQt::data):
  15390. (WebCore::BGRA32PremultimpliedBuffer::create):
  15391. * platform/graphics/qt/TextureMapperQt.h:
  15392. * platform/graphics/texmap/TextureMapper.h:
  15393. 2011-09-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
  15394. [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi
  15395. QWidget and friends now live in the QtWidgets library. We update
  15396. includes in implementation files and private headers to us the
  15397. non-module-prefixed path, and leave the lookup for the include
  15398. path. For public headers we have to ifdef the includes as the
  15399. user might now have the modules we need in his QT config.
  15400. Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
  15401. have to update our code and use windowHandle() for setting the
  15402. parent relationships.
  15403. https://bugs.webkit.org/show_bug.cgi?id=68687
  15404. Reviewed by Andreas Kling.
  15405. * WebCore.pri:
  15406. * platform/graphics/qt/GraphicsLayerQt.cpp:
  15407. 2011-09-27 Pavel Feldman <pfeldman@google.com>
  15408. Web Inspector: split DOM.attributesUpdated into attributeModified and attributeRemoved.
  15409. Send attribute name and value within the event.
  15410. https://bugs.webkit.org/show_bug.cgi?id=68613
  15411. Reviewed by Yury Semikhatsky.
  15412. * dom/Element.cpp:
  15413. (WebCore::Element::setAttribute):
  15414. (WebCore::Element::removeAttribute):
  15415. * inspector/Inspector.draft-01.json:
  15416. * inspector/Inspector.json:
  15417. * inspector/InspectorDOMAgent.cpp:
  15418. (WebCore::InspectorDOMAgent::didModifyDOMAttr):
  15419. (WebCore::InspectorDOMAgent::didRemoveDOMAttr):
  15420. * inspector/InspectorDOMAgent.h:
  15421. * inspector/InspectorInstrumentation.cpp:
  15422. (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
  15423. (WebCore::InspectorInstrumentation::didRemoveDOMAttrImpl):
  15424. * inspector/InspectorInstrumentation.h:
  15425. (WebCore::InspectorInstrumentation::didModifyDOMAttr):
  15426. (WebCore::InspectorInstrumentation::didRemoveDOMAttr):
  15427. * inspector/front-end/DOMAgent.js:
  15428. (WebInspector.DOMNode.prototype._addAttribute):
  15429. (WebInspector.DOMNode.prototype._setAttribute):
  15430. (WebInspector.DOMNode.prototype._removeAttribute):
  15431. (WebInspector.DOMAgent.prototype._attributeModified):
  15432. (WebInspector.DOMAgent.prototype._attributeRemoved):
  15433. (WebInspector.DOMAgent.prototype._inlineStyleInvalidated):
  15434. (WebInspector.DOMAgent.prototype._loadNodeAttributes):
  15435. (WebInspector.DOMDispatcher.prototype.attributeModified):
  15436. (WebInspector.DOMDispatcher.prototype.attributeRemoved):
  15437. * inspector/front-end/ElementsPanel.js:
  15438. (WebInspector.ElementsPanel):
  15439. (WebInspector.ElementsPanel.prototype._attributesUpdated):
  15440. * inspector/front-end/MetricsSidebarPane.js:
  15441. (WebInspector.MetricsSidebarPane):
  15442. (WebInspector.MetricsSidebarPane.prototype._attributesUpdated):
  15443. * inspector/front-end/StylesSidebarPane.js:
  15444. (WebInspector.StylesSidebarPane):
  15445. (WebInspector.StylesSidebarPane.prototype._attributesModified):
  15446. (WebInspector.StylesSidebarPane.prototype._attributesRemoved):
  15447. (WebInspector.StylesSidebarPane.prototype._styleInvalidated):
  15448. (WebInspector.StylePropertyTreeElement.prototype.event):
  15449. (WebInspector.StylePropertyTreeElement.prototype):
  15450. * inspector/validate-protocol-compatibility:
  15451. 2011-09-27 Sheriff Bot <webkit.review.bot@gmail.com>
  15452. Unreviewed, rolling out r96070 and r96075.
  15453. http://trac.webkit.org/changeset/96070
  15454. http://trac.webkit.org/changeset/96075
  15455. https://bugs.webkit.org/show_bug.cgi?id=68893
  15456. WK2 tests started crashing after r96070 for SL and Qt
  15457. (Requested by torarne on #webkit).
  15458. * page/FrameView.cpp:
  15459. (WebCore::FrameView::updateScrollCorner):
  15460. * platform/ScrollView.cpp:
  15461. (WebCore::ScrollView::setHasHorizontalScrollbar):
  15462. (WebCore::ScrollView::setHasVerticalScrollbar):
  15463. (WebCore::ScrollView::updateScrollbars):
  15464. * platform/ScrollableArea.cpp:
  15465. (WebCore::ScrollableArea::invalidateScrollCorner):
  15466. * platform/ScrollableArea.h:
  15467. * rendering/RenderLayerCompositor.cpp:
  15468. (WebCore::RenderLayerCompositor::destroyRootLayer):
  15469. * rendering/RenderScrollbarPart.cpp:
  15470. (WebCore::RenderScrollbarPart::imageChanged):
  15471. 2011-09-27 Andrey Kosyakov <caseq@chromium.org>
  15472. Web Inspector: JS exception upon clicking on "Word Wrap" checkbox in Settings screen
  15473. https://bugs.webkit.org/show_bug.cgi?id=68888
  15474. Reviewed by Pavel Feldman.
  15475. * inspector/front-end/ElementsPanel.js:
  15476. (WebInspector.ElementsPanel.prototype._domWordWrapSettingChanged):
  15477. 2011-09-21 Pavel Podivilov <podivilov@chromium.org>
  15478. Web Inspector: migrate RawSourceCode clients to SourceMapping class.
  15479. https://bugs.webkit.org/show_bug.cgi?id=68524
  15480. Clients should use uiSourceCode(), rawLocationToUILocation(), uiLocationToRawLocation() methods of SourceMapping class.
  15481. Initially, RawSourceCode may not have associated SourceMapping, so it is natural to extract this methods and associated state to a separate class.
  15482. Reviewed by Yury Semikhatsky.
  15483. * inspector/front-end/BreakpointManager.js:
  15484. (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
  15485. (WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
  15486. * inspector/front-end/DebuggerPresentationModel.js:
  15487. (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
  15488. (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
  15489. (WebInspector.DebuggerPresentationModel.prototype._addScript):
  15490. (WebInspector.DebuggerPresentationModel.prototype._updateSourceMapping):
  15491. (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
  15492. (WebInspector.DebuggerPresentationModel.prototype._restoreConsoleMessages):
  15493. (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
  15494. (WebInspector.DebuggerPresentationModel.prototype._createPresentationMessage):
  15495. (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
  15496. (WebInspector.PresentationCallFrame.prototype.get url):
  15497. (WebInspector.PresentationCallFrame.prototype.sourceLine.sourceMappingUpdated):
  15498. (WebInspector.PresentationCallFrame.prototype.sourceLine):
  15499. (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
  15500. (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
  15501. * inspector/front-end/SourceFile.js:
  15502. (WebInspector.RawSourceCode.prototype.get sourceMapping):
  15503. 2011-09-27 Vineet Chaudhary <vineet.chaudhary@motorola.com>
  15504. wrap attribute of textarea element cannot be accessed by JavaScript.
  15505. https://bugs.webkit.org/show_bug.cgi?id=68592
  15506. Reviewed by Kent Tamura.
  15507. Added JS interface for wrap attribute to HTMLTextAreaElement.idl.
  15508. Test: fast/forms/textarea-wrap-attribute.html
  15509. * html/HTMLTextAreaElement.idl:
  15510. 2011-09-27 Xan Lopez <xlopez@igalia.com>
  15511. [GTK] Add compatibility methods for DOM bindings
  15512. https://bugs.webkit.org/show_bug.cgi?id=68884
  15513. Reviewed by Philippe Normand.
  15514. Add compatibility methods for our DOM bindings.
  15515. * bindings/gobject/WebKitDOMCustom.cpp:
  15516. (webkit_dom_blob_slice): alias to the new method name.
  15517. (webkit_dom_html_form_element_dispatch_form_change): this was
  15518. removed from WebCore, so just print a warning about it.
  15519. (webkit_dom_html_form_element_dispatch_form_input): ditto.
  15520. * bindings/gobject/WebKitDOMCustom.h:
  15521. 2011-09-27 Ryosuke Niwa <rniwa@webkit.org>
  15522. Encapsulate m_firstNodeInserted and m_lastLeafInserted in node insertion logic
  15523. https://bugs.webkit.org/show_bug.cgi?id=68875
  15524. Reviewed by Kent Tamura.
  15525. Added InsertedNode class inside ReplaceSelection to encapsulate m_firstNodeInserted and m_lastLeafInserted.
  15526. Deployed it in removeRedundantStylesAndKeepStyleSpanInline, doApply, and insertAsListItems of ReplaceSelectionCommand.
  15527. * editing/DeleteSelectionCommand.cpp:
  15528. (WebCore::DeleteSelectionCommand::removeNode):
  15529. (WebCore::DeleteSelectionCommand::handleGeneralDelete):
  15530. * editing/ReplaceSelectionCommand.cpp:
  15531. (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
  15532. (WebCore::ReplaceSelectionCommand::doApply):
  15533. (WebCore::ReplaceSelectionCommand::insertAsListItems):
  15534. * editing/ReplaceSelectionCommand.h:
  15535. (WebCore::ReplaceSelectionCommand::InsertedNodes::respondToNodeInsertion):
  15536. (WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNode):
  15537. (WebCore::ReplaceSelectionCommand::InsertedNodes::firstNodeInserted):
  15538. (WebCore::ReplaceSelectionCommand::InsertedNodes::lastLeafInserted):
  15539. (WebCore::ReplaceSelectionCommand::InsertedNodes::pastLastLeaf):
  15540. * editing/htmlediting.cpp:
  15541. (WebCore::updatePositionForNodeRemoval): Moved from DeleteSelectionCommand.cpp.
  15542. * editing/htmlediting.h:
  15543. 2011-09-27 Arun Patole <bmf834@motorola.com>
  15544. Audio element doesn't emit the 'playing' event every time it starts playing, after it has finished playing.
  15545. https://bugs.webkit.org/show_bug.cgi?id=60972
  15546. Reviewed by Philippe Normand.
  15547. The paused attribute should be set to true and the media element should emit a 'paused' at the end of playback.
  15548. WHATWG revision r6562: http://html5.org/tools/web-apps-tracker?from=6561&to=6562
  15549. Test: media/media-element-play-after-eos.html
  15550. * html/HTMLMediaElement.cpp:
  15551. (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): set m_paused to true and schedule 'pause' event when playback ended.
  15552. 2011-09-27 Rakesh KN <rakesh.kn@motorola.com>
  15553. <input> with autofocus doesn't lose focus when it has a certain onblur listener
  15554. https://bugs.webkit.org/show_bug.cgi?id=68513
  15555. Reviewed by Kent Tamura.
  15556. Test: fast/forms/autofocus-focus-only-once.html
  15557. These changes make sure that an element is focused only once when autofocus attribute is used.
  15558. * html/HTMLFormControlElement.cpp:
  15559. (WebCore::HTMLFormControlElement::HTMLFormControlElement):
  15560. (WebCore::shouldAutofocus):
  15561. (WebCore::HTMLFormControlElement::attach):
  15562. * html/HTMLFormControlElement.h:
  15563. (WebCore::HTMLFormControlElement::hasAutofocused):
  15564. (WebCore::HTMLFormControlElement::setAutofocused):
  15565. 2011-09-26 Kentaro Hara <haraken@chromium.org>
  15566. Implement PopStateEvent.state with SerializedScriptValue and ScriptValue
  15567. https://bugs.webkit.org/show_bug.cgi?id=68345
  15568. Reviewed by Adam Barth.
  15569. Previously, the following test cases fail or crash:
  15570. - shouldBe("new PopStateEvent('eventType', { state: object1 }).state", "object1") -> FAIL
  15571. - new PopStateEvent('eventType', { state: document }).state -> CRASH in DRT
  15572. This is because PopStateEvent.state is implemented not as ScriptValue but as SerializedScriptValue.
  15573. However, we cannot simply change the type of PopStateEvent.state to ScriptValue,
  15574. since PopStateEvent can be constructed in the context that does not know ScriptValue.
  15575. For example, Document.cpp calls PopStateEvent::create() with SerializedScriptValue
  15576. popped from HistoryItem, but we cannot deserialize the SerializedScriptValue into
  15577. the corresponding ScriptValue here because the deserialization requires ExecState.
  15578. In other words, although we want to store PopStateEvent.state by ScriptValue internally,
  15579. PopStateEvent still needs to provide an API to construct it with SerializedScriptValue.
  15580. With these observations, this patch makes the following changes:
  15581. - If PopStateEvent is constructed with ScriptValue, it is stored as ScriptValue internally.
  15582. When PopStateEvent.state is called, the ScriptValue is returned.
  15583. - If PopStateEvent is constructed with SerializedScriptValue, it is stored as
  15584. SerializedScriptValue internally (since we cannot deserialize it into ScriptValue
  15585. at this point). When PopStateEvent.state is called, the SerializedScriptValue is
  15586. deserialized into the corresponding ScriptValue, and the ScriptValue is returned.
  15587. Tests: fast/events/constructors/pop-state-event-constructor.html
  15588. fast/events/fire-popstate-event.html
  15589. * GNUmakefile.list.am: Added JSPopStateEventCustom.cpp.
  15590. * UseJSC.cmake: Ditto.
  15591. * WebCore.gypi: Ditto.
  15592. * WebCore.pro: Ditto.
  15593. * WebCore.xcodeproj/project.pbxproj: Ditto.
  15594. * bindings/js/JSBindingsAllInOne.cpp: Ditto.
  15595. * bindings/js/JSPopStateEventCustom.cpp:
  15596. (WebCore::JSPopStateEvent::state): Custom getter for PopStateEvent.state.
  15597. * bindings/v8/custom/V8PopStateEventCustom.cpp:
  15598. (WebCore::V8PopStateEvent::stateAccessorGetter): Custom getter for PopStateEvent.state.
  15599. * dom/PopStateEvent.cpp:
  15600. (WebCore::PopStateEventInit::PopStateEventInit): Added initialization code for PopStateEvent.m_state.
  15601. (WebCore::PopStateEvent::PopStateEvent): Ditto.
  15602. (WebCore::PopStateEvent::create): Ditto.
  15603. (WebCore::PopStateEvent::initPopStateEvent): Ditto.
  15604. * dom/PopStateEvent.h:
  15605. (WebCore::PopStateEvent::serializedState): Getter.
  15606. (WebCore::PopStateEvent::state): Getter.
  15607. * dom/PopStateEvent.idl: Change the type of 'stateArg' and 'state' to DOMObject. Added [CustomGetter] to 'state'.
  15608. 2011-09-09 Simon Fraser <simon.fraser@apple.com>
  15609. Pixel result shows that compositing/iframes/repaint-after-losing-scrollbars.html is failing
  15610. https://bugs.webkit.org/show_bug.cgi?id=67858
  15611. Reviewed by Darin Adler.
  15612. When non-overlay scrollbars are hidden on a composited iframe, nothing invalidated
  15613. the scrollbar areas or the scroll corner, so the scrollbars appear to remain.
  15614. Fix by invalidating the scrollbars and scroll corner when they are removed. Invalidation
  15615. on scrollbar creation appears to happen via updating the scrollbar style.
  15616. Tested by compositing/iframes/repaint-after-losing-scrollbars.html which no longer shows
  15617. stale scrollbars when run manually, even though the green squares are missing from the
  15618. pixel result (bug 67878).
  15619. * page/FrameView.cpp:
  15620. (WebCore::FrameView::updateScrollCorner): Pass the corner rect into invalidateScrollCorner().
  15621. * platform/ScrollView.cpp:
  15622. (WebCore::ScrollView::setHasHorizontalScrollbar): Invalidate the scrollbar area if hiding it.
  15623. (WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
  15624. (WebCore::ScrollView::updateScrollbars): In the case where both scrollbars are going away,
  15625. compute the scroll corner rect while we still have scrollbars, and then invalidate it
  15626. explicitly. (updateScrollCorner() doesn't, because it doesn't have access to the old corner
  15627. rect.)
  15628. * platform/ScrollableArea.cpp:
  15629. (WebCore::ScrollableArea::invalidateScrollCorner): Pass the rect in, because we can't
  15630. compute it in the case where the scrollbars are going away.
  15631. * platform/ScrollableArea.h: Pass in a rect to invalidateScrollCorner(), which matches
  15632. invalidateScrollbar().
  15633. * rendering/RenderLayerCompositor.cpp:
  15634. (WebCore::RenderLayerCompositor::destroyRootLayer): Pass the corner rect into invalidateScrollCorner().
  15635. * rendering/RenderScrollbarPart.cpp: Ditto.
  15636. (WebCore::RenderScrollbarPart::imageChanged): Ditto.
  15637. 2011-09-09 Simon Fraser <simon.fraser@apple.com>
  15638. Translucent scrollbars on composited layers render incorrectly
  15639. https://bugs.webkit.org/show_bug.cgi?id=58515
  15640. Reviewed by Sam Weinig.
  15641. Scrollbars in composited elements were getting drawn twice,
  15642. because r41203 moved the call to paintOverflowControls() out of
  15643. RenderLayer::paintLayer(), but forgot to change RenderLayerBacking::paintIntoLayer().
  15644. Test: compositing/scrollbar-painting.html
  15645. * rendering/RenderLayerBacking.cpp:
  15646. (WebCore::RenderLayerBacking::paintIntoLayer):
  15647. 2011-09-26 Nat Duca <nduca@chromium.org>
  15648. [chromium] Make CCThreadProxy draw
  15649. https://bugs.webkit.org/show_bug.cgi?id=67417
  15650. Update the CCThreadProxy to correctly implement the CCProxy
  15651. interface, do all the right committing and updating steps, and
  15652. draw a picture on the screen.
  15653. Reviewed by James Robinson.
  15654. * platform/graphics/IntRect.h:
  15655. * platform/graphics/chromium/LayerRendererChromium.cpp:
  15656. (WebCore::LayerRendererChromium::~LayerRendererChromium):
  15657. * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
  15658. (WebCore::CCHeadsUpDisplay::enabled):
  15659. * platform/graphics/chromium/cc/CCLayerImpl.cpp:
  15660. (WebCore::CCLayerImpl::CCLayerImpl):
  15661. (WebCore::CCLayerImpl::~CCLayerImpl):
  15662. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  15663. (WebCore::CCLayerTreeHost::CCLayerTreeHost):
  15664. (WebCore::CCLayerTreeHost::commitTo):
  15665. (WebCore::CCLayerTreeHost::commitComplete):
  15666. (WebCore::CCLayerTreeHost::setNeedsRedraw):
  15667. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  15668. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
  15669. (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
  15670. (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
  15671. * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  15672. (WebCore::CCSingleThreadProxy::finishAllRendering):
  15673. (WebCore::CCSingleThreadProxy::setNeedsCommit):
  15674. (WebCore::CCSingleThreadProxy::commitIfNeeded):
  15675. * platform/graphics/chromium/cc/CCThreadProxy.cpp:
  15676. (WebCore::CCThreadProxy::CCThreadProxy):
  15677. (WebCore::CCThreadProxy::~CCThreadProxy):
  15678. (WebCore::CCThreadProxy::compositeAndReadback):
  15679. (WebCore::CCThreadProxy::drawLayersAndReadbackOnCCThread):
  15680. (WebCore::CCThreadProxy::finishAllRendering):
  15681. (WebCore::CCThreadProxy::isStarted):
  15682. (WebCore::CCThreadProxy::setNeedsCommit):
  15683. (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
  15684. (WebCore::CCThreadProxy::setNeedsRedraw):
  15685. (WebCore::CCThreadProxy::start):
  15686. (WebCore::CCThreadProxy::stop):
  15687. (WebCore::CCThreadProxy::finishAllRenderingOnCCThread):
  15688. (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
  15689. (WebCore::CCThreadProxy::beginFrameAndCommit):
  15690. (WebCore::CCThreadProxy::commitOnCCThread):
  15691. (WebCore::CCThreadProxy::scheduleDrawTaskOnCCThread):
  15692. (WebCore::CCThreadProxy::drawLayersAndPresentOnCCThread):
  15693. (WebCore::CCThreadProxy::drawLayersOnCCThread):
  15694. (WebCore::CCThreadProxy::updateSchedulerStateOnCCThread):
  15695. * platform/graphics/chromium/cc/CCThreadProxy.h:
  15696. 2011-09-26 Adam Klein <adamk@chromium.org>
  15697. [MutationObservers] implement MutationRecord
  15698. https://bugs.webkit.org/show_bug.cgi?id=68824
  15699. Reviewed by Darin Adler.
  15700. Implements MutationRecord as specified in the thread at
  15701. http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html,
  15702. including some minor naming changes from the original proposal.
  15703. This is a small part of the MutationObserver API, see
  15704. https://bugs.webkit.org/show_bug.cgi?id=68729 for the metabug covering
  15705. this feature.
  15706. No new tests as this isn't yet exposed to the platform.
  15707. * CMakeLists.txt:
  15708. * DerivedSources.cpp:
  15709. * DerivedSources.make:
  15710. * GNUmakefile.list.am:
  15711. * WebCore.gypi:
  15712. * WebCore.pro:
  15713. * WebCore.vcproj/WebCore.vcproj:
  15714. * WebCore.xcodeproj/project.pbxproj:
  15715. * dom/MutationRecord.cpp: Added.
  15716. (WebCore::MutationRecord::createChildList):
  15717. (WebCore::MutationRecord::createAttributes):
  15718. (WebCore::MutationRecord::createCharacterData):
  15719. (WebCore::MutationRecord::MutationRecord):
  15720. (WebCore::MutationRecord::~MutationRecord):
  15721. * dom/MutationRecord.h: Added.
  15722. (WebCore::MutationRecord::target):
  15723. (WebCore::MutationRecord::addedNodes):
  15724. (WebCore::MutationRecord::removedNodes):
  15725. (WebCore::MutationRecord::previousSibling):
  15726. (WebCore::MutationRecord::nextSibling):
  15727. (WebCore::MutationRecord::attributeName):
  15728. (WebCore::MutationRecord::attributeNamespace):
  15729. (WebCore::MutationRecord::oldValue):
  15730. (WebCore::MutationRecord::setOldValue):
  15731. * dom/MutationRecord.idl: Added.
  15732. 2011-09-26 Kentaro Hara <haraken@chromium.org>
  15733. Implement a CloseEvent constructor for V8
  15734. https://bugs.webkit.org/show_bug.cgi?id=68793
  15735. Reviewed by Adam Barth.
  15736. Test: fast/events/constructors/close-event-constructor.html
  15737. * bindings/v8/OptionsObject.cpp:
  15738. (WebCore::OptionsObject::getKey): Just removed an extra space.
  15739. (WebCore::OptionsObject::getKeyValue): Returns an unsigned short value corresponding to the given key.
  15740. * bindings/v8/OptionsObject.h:
  15741. * bindings/v8/custom/V8EventConstructors.cpp: Added the CloseEvent constructor.
  15742. * websockets/CloseEvent.idl: Added a 'V8CustomConstructor' attribute.
  15743. 2011-09-26 Nate Chapin <japhet@chromium.org>
  15744. Clean up CachedResource::load(). Collapse its
  15745. logic into a single callsite, taking just a
  15746. CachedResourceLoader and a ResourceLoaderOptions.
  15747. 1. Its 'incremental' parameter is redundant.
  15748. 2. With 'incremental' removed, the SecurityCheckPolicy is the only
  15749. parameter difference between the CachedResource::load() variants.
  15750. Making it a part of ResourceLoaderOptions removes yet another random
  15751. enum that is passed around individually.
  15752. 3. We currently have to call setResourceLoaderOptions() before load() on a
  15753. new CachedResource, so we should just take the ResourceLoaderOptions in load().
  15754. https://bugs.webkit.org/show_bug.cgi?id=67443
  15755. Reviewed by Antti Koivisto.
  15756. No new tests, refactor only.
  15757. * loader/DocumentThreadableLoader.cpp:
  15758. * loader/FrameLoaderTypes.h: Move SecurityCheckPolicy to ResourceLoaderOptions.h.
  15759. * loader/MainResourceLoader.cpp:
  15760. * loader/NetscapePlugInStreamLoader.cpp:
  15761. * loader/ResourceLoadScheduler.cpp:
  15762. * loader/ResourceLoadScheduler.h:
  15763. * loader/ResourceLoader.cpp: Enforce SecurityCheckPolicy here instead of SubresourceLoader.
  15764. * loader/ResourceLoaderOptions.h: Store SecurityCheckPolicy on ResourceLoaderOptions.
  15765. * loader/SubresourceLoader.cpp:
  15766. * loader/SubresourceLoader.h:
  15767. * loader/cache/CachedFont.cpp:
  15768. * loader/cache/CachedFont.h:
  15769. * loader/cache/CachedImage.cpp:
  15770. * loader/cache/CachedImage.h:
  15771. * loader/cache/CachedResource.cpp:
  15772. * loader/cache/CachedResource.h:
  15773. * loader/cache/CachedResourceLoader.cpp:
  15774. (WebCore::defaultCachedResourceOptions): Define the default ResourceLoaderOptions for
  15775. CachedResource loads here instead of as a default parameter on requestResource().
  15776. * loader/cache/CachedResourceLoader.h:
  15777. * loader/cache/CachedResourceRequest.cpp:
  15778. (WebCore::CachedResourceRequest::didReceiveData): Remove m_incremental, since its purpose
  15779. is already enforced in the data() implementation of every CachedResource that doesn't want
  15780. incremental loads.
  15781. * loader/cache/CachedResourceRequest.h:
  15782. 2011-09-26 Joshua Bell <jsbell@chromium.org>
  15783. IndexedDB: Second half of IDBFactory.getDatabaseNames implementation
  15784. https://bugs.webkit.org/show_bug.cgi?id=68818
  15785. Reviewed by Tony Chang.
  15786. Test: storage/indexeddb/factory-basics.html
  15787. Adds ability to enumerate IndexedDB databases within an origin.
  15788. * bindings/v8/custom/V8IDBAnyCustom.cpp:
  15789. (WebCore::toV8):
  15790. * storage/IDBAny.cpp:
  15791. (WebCore::IDBAny::domStringList):
  15792. (WebCore::IDBAny::set):
  15793. * storage/IDBAny.h:
  15794. * storage/IDBBackingStore.h:
  15795. * storage/IDBCallbacks.h:
  15796. * storage/IDBFactory.cpp:
  15797. (WebCore::IDBFactory::getDatabaseNames):
  15798. * storage/IDBFactory.h:
  15799. * storage/IDBFactory.idl:
  15800. * storage/IDBFactoryBackendImpl.cpp:
  15801. (WebCore::IDBFactoryBackendImpl::getDatabaseNames):
  15802. (WebCore::IDBFactoryBackendImpl::open):
  15803. (WebCore::IDBFactoryBackendImpl::openBackingStore):
  15804. * storage/IDBFactoryBackendImpl.h:
  15805. * storage/IDBFactoryBackendInterface.h:
  15806. * storage/IDBLevelDBBackingStore.cpp:
  15807. (WebCore::IDBLevelDBBackingStore::getDatabaseNames):
  15808. (WebCore::IDBLevelDBBackingStore::getObjectStores):
  15809. (WebCore::IDBLevelDBBackingStore::getIndexes):
  15810. * storage/IDBLevelDBBackingStore.h:
  15811. * storage/IDBLevelDBCoding.cpp:
  15812. (WebCore::IDBLevelDBCoding::DatabaseNameKey::encodeMinKeyForOrigin):
  15813. (WebCore::IDBLevelDBCoding::DatabaseNameKey::encodeStopKeyForOrigin):
  15814. * storage/IDBLevelDBCoding.h:
  15815. * storage/IDBRequest.cpp:
  15816. (WebCore::IDBRequest::onSuccess):
  15817. * storage/IDBRequest.h:
  15818. * storage/IDBSQLiteBackingStore.cpp:
  15819. (WebCore::IDBSQLiteBackingStore::getDatabaseNames):
  15820. * storage/IDBSQLiteBackingStore.h:
  15821. 2011-09-26 Tim Horton <timothy_horton@apple.com>
  15822. <animateColor> applied to filtered ellipse does not update
  15823. https://bugs.webkit.org/show_bug.cgi?id=68457
  15824. <rdar://problem/10154777>
  15825. Reviewed by Darin Adler.
  15826. Invalidate the filter's cache when style changes take place so that style changes are respected.
  15827. Test: svg/filters/animate-fill.svg
  15828. * rendering/svg/SVGResourcesCache.cpp:
  15829. (WebCore::SVGResourcesCache::clientStyleChanged):
  15830. (WebCore::SVGResourcesCache::clientUpdatedFromElement):
  15831. 2011-09-26 Max Perepelitsyn <pph34r@gmail.com>
  15832. Set but unused variables cleanup in v8 bindings (gcc 4.6)
  15833. https://bugs.webkit.org/show_bug.cgi?id=68079
  15834. Reviewed by Adam Barth.
  15835. Test: http/tests/websocket/tests/hybi/send-object-tostring-check.html
  15836. * bindings/scripts/CodeGeneratorV8.pm:
  15837. * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
  15838. (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
  15839. * bindings/scripts/test/V8/V8TestObj.cpp:
  15840. (WebCore::ConfigureV8TestObjTemplate):
  15841. * bindings/v8/WorkerScriptDebugServer.cpp:
  15842. (WebCore::WorkerScriptDebugServer::addListener):
  15843. * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
  15844. (WebCore::V8HTMLOptionsCollection::lengthAccessorSetter):
  15845. * bindings/v8/custom/V8WebSocketCustom.cpp:
  15846. (WebCore::V8WebSocket::sendCallback):
  15847. 2011-09-26 Tony Chang <tony@chromium.org>
  15848. switch the initial value of flex-order to 0
  15849. https://bugs.webkit.org/show_bug.cgi?id=68820
  15850. The spec changed from having an initial value of 1 to 0.
  15851. Reviewed by Ojan Vafai.
  15852. * rendering/style/RenderStyle.h:
  15853. (WebCore::InheritedFlags::initialFlexOrder):
  15854. 2011-09-26 Chris Rogers <crogers@google.com>
  15855. OfflineAudioDestinationNode must wait for thread completion in uninitialize()
  15856. https://bugs.webkit.org/show_bug.cgi?id=68725
  15857. Reviewed by Kenneth Russell.
  15858. No new tests. This fixes internal implementation details.
  15859. * webaudio/OfflineAudioDestinationNode.cpp:
  15860. (WebCore::OfflineAudioDestinationNode::uninitialize):
  15861. 2011-09-26 Xan Lopez <xlopez@igalia.com>
  15862. [GTK] Do not ignore 'Replaceable' attributes in the DOM bindings
  15863. https://bugs.webkit.org/show_bug.cgi?id=68837
  15864. Reviewed by Martin Robinson.
  15865. * bindings/scripts/CodeGeneratorGObject.pm: add getters (but not
  15866. setters) for 'Replaceable' attributes. Punt for the future
  15867. actually making them settable, since it seems non trivial.
  15868. 2011-09-26 Ryosuke Niwa <rniwa@webkit.org>
  15869. Leopard build fix.
  15870. * testing/Internals.cpp:
  15871. (WebCore::Internals::setZoomAnimatorTransform):
  15872. 2011-09-26 Joshua Bell <jsbell@chromium.org>
  15873. IndexedDB: Null key path gets stored as empty string key path
  15874. https://bugs.webkit.org/show_bug.cgi?id=68726
  15875. Reviewed by Tony Chang.
  15876. Store additional flag to indicate if object store key path
  15877. is null vs. empty. Added additional runtime tests for integrity
  15878. of object store metadata.
  15879. * storage/IDBLevelDBBackingStore.cpp:
  15880. (WebCore::checkObjectStoreAndMetaDataType):
  15881. (WebCore::IDBLevelDBBackingStore::getObjectStores):
  15882. (WebCore::IDBLevelDBBackingStore::createObjectStore):
  15883. * storage/IDBLevelDBCoding.cpp:
  15884. 2011-09-26 John Bauman <jbauman@chromium.org>
  15885. Fix nonpremultiplied webgl toDataURL to jpeg
  15886. https://bugs.webkit.org/show_bug.cgi?id=68366
  15887. The canvas spec says that toDataURL to formats without an alpha must
  15888. be "composited onto a solid black background using the source-over
  15889. operator." Do that.
  15890. Reviewed by Kenneth Russell.
  15891. * platform/graphics/cg/ImageBufferCG.cpp:
  15892. (WebCore::CGImageToDataURL):
  15893. (WebCore::ImageBuffer::toDataURL):
  15894. (WebCore::ImageDataToDataURL):
  15895. * platform/image-encoders/skia/JPEGImageEncoder.cpp:
  15896. (WebCore::RGBAtoRGB):
  15897. 2011-09-26 Raphael Kubo da Costa <kubo@profusion.mobi>
  15898. [CMake] Remove FindFreetype.cmake
  15899. https://bugs.webkit.org/show_bug.cgi?id=68778
  15900. Reviewed by Adam Barth.
  15901. CMake has provided its own FindFreetype.cmake forever, so there is no
  15902. need to have another implementation in WebKit.
  15903. No new tests, just a buildsystem change.
  15904. * CMakeListsEfl.txt: Use FREETYPE_{LIBRARIES,INCLUDE_DIRS} instead of
  15905. Freetype_{LIBRARIES,INCLUDE_DIRS}.
  15906. 2011-09-26 Alexei Svitkine <asvitkine@chromium.org>
  15907. Fix full-page rubber band overhang appearing when gesturing during a slow page load.
  15908. https://bugs.webkit.org/show_bug.cgi?id=68568
  15909. Chromium bug: http://code.google.com/p/chromium/issues/detail?id=97243
  15910. (This also happens on Safari.)
  15911. The problem was that ScrollView::overhangAmount() was returning a full-page overhang due to contentsSize() being 0 briefly during a page load, which was then getting used by ScrollAnimatorChromiumMac.mm to update the overhang on a gesture event. This change makes the relevant logic not return an overhang if the contentsSize() is empty.
  15912. Reviewed by Adam Barth.
  15913. No new tests, since this is highly timing-related.
  15914. * platform/ScrollView.cpp:
  15915. (WebCore::ScrollView::overhangAmount):
  15916. (WebCore::ScrollView::wheelEvent):
  15917. 2011-09-26 W. James MacLean <wjmaclean@chromium.org>
  15918. [chromium] Revise zoom animator backend to use full transform instead of just scale.
  15919. https://bugs.webkit.org/show_bug.cgi?id=68535
  15920. Reviewed by Kenneth Russell.
  15921. * page/Settings.cpp:
  15922. (WebCore::Settings::Settings):
  15923. * page/Settings.h:
  15924. (WebCore::Settings::setZoomAnimatorScale):
  15925. (WebCore::Settings::zoomAnimatorScale):
  15926. (WebCore::Settings::setZoomAnimatorPosition):
  15927. (WebCore::Settings::zoomAnimatorPosX):
  15928. (WebCore::Settings::zoomAnimatorPosY):
  15929. * platform/graphics/chromium/LayerRendererChromium.cpp:
  15930. (WebCore::LayerRendererChromium::LayerRendererChromium):
  15931. (WebCore::LayerRendererChromium::drawLayersInternal):
  15932. * platform/graphics/chromium/LayerRendererChromium.h:
  15933. (WebCore::LayerRendererChromium::setZoomAnimatorTransform):
  15934. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  15935. (WebCore::CCLayerTreeHost::CCLayerTreeHost):
  15936. (WebCore::CCLayerTreeHost::commitTo):
  15937. (WebCore::CCLayerTreeHost::setZoomAnimatorTransform):
  15938. (WebCore::CCLayerTreeHost::updateLayers):
  15939. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  15940. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
  15941. (WebCore::CCLayerTreeHostImpl::setZoomAnimatorTransform):
  15942. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
  15943. * testing/Internals.cpp:
  15944. (WebCore::Internals::setZoomAnimatorTransform):
  15945. * testing/Internals.h:
  15946. * testing/Internals.idl:
  15947. 2011-09-26 Dan Bernstein <mitz@apple.com>
  15948. REGRESSION (r95926) Assert firing in svg/clip-path/clip-path-on-svg.svg
  15949. https://bugs.webkit.org/show_bug.cgi?id=68819
  15950. Reviewed by Dave Hyatt.
  15951. * rendering/RenderObject.cpp:
  15952. (WebCore::RenderObject::scheduleRelayout): Revert to using view() instead of the RenderView**
  15953. parameter of isRooted, since only the former returns 0 when the document is detached.
  15954. 2011-09-26 Vsevolod Vlasov <vsevik@chromium.org>
  15955. Web Inspector: XMLHttpRequest console logging messages should link to network panel when possible.
  15956. https://bugs.webkit.org/show_bug.cgi?id=67399
  15957. Reviewed by Pavel Feldman.
  15958. * inspector/ConsoleMessage.cpp:
  15959. (WebCore::ConsoleMessage::ConsoleMessage):
  15960. * inspector/ConsoleMessage.h:
  15961. * inspector/InspectorConsoleAgent.cpp:
  15962. (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
  15963. * inspector/InspectorConsoleAgent.h:
  15964. * inspector/InspectorInstrumentation.cpp:
  15965. (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
  15966. * inspector/front-end/ConsoleMessage.js:
  15967. (WebInspector.ConsoleMessage.prototype._formatMessage.else.else.linkifier):
  15968. (WebInspector.ConsoleMessage.prototype._formatMessage):
  15969. * inspector/front-end/ResourcesPanel.js:
  15970. (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
  15971. * inspector/front-end/inspector.js:
  15972. (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
  15973. (WebInspector.linkifyStringAsFragment):
  15974. 2011-09-26 Jer Noble <jer.noble@apple.com>
  15975. White flash when entering full-screen using element.webkitRequestFullScreen()
  15976. https://bugs.webkit.org/show_bug.cgi?id=68481
  15977. Reviewed by Simon Fraser.
  15978. No new tests; covered by existing full screen tests.
  15979. During an animation, renderers may try to paint into the FullScreenRenderer's
  15980. GraphicsLayer, and an optimization we previously added for the FullScreenRenderer's
  15981. background will cause these paints to fail. Remove this optimization in
  15982. containsPaintedContent, and taking non-composited elements into full screen will
  15983. animate correctly.
  15984. * rendering/RenderLayerBacking.cpp:
  15985. (WebCore::RenderLayerBacking::containsPaintedContent):
  15986. 2011-09-26 Mihai Parparita <mihaip@chromium.org>
  15987. Unreviewed, rolling out r95960.
  15988. http://trac.webkit.org/changeset/95960
  15989. https://bugs.webkit.org/show_bug.cgi?id=58608
  15990. Significantly changes table border rendering
  15991. * rendering/RenderObject.cpp:
  15992. (WebCore::RenderObject::drawLineForBoxSide):
  15993. 2011-09-23 Simon Fraser <simon.fraser@apple.com>
  15994. Repaint tests don't work in WebKit2
  15995. https://bugs.webkit.org/show_bug.cgi?id=68453
  15996. Reviewed by Sam Weinig.
  15997. Have FrameView keep track of repaint rects when asked to, and
  15998. expose this set of repaint rects via private WebKit API for later
  15999. use by DumpRenderTree.
  16000. The repaint rects are in WebView coordinates, so we have to
  16001. unapply the scroll offset.
  16002. * WebCore.exp.in:
  16003. * page/FrameView.cpp:
  16004. (WebCore::FrameView::FrameView):
  16005. (WebCore::FrameView::reset):
  16006. (WebCore::FrameView::repaintContentRectangle):
  16007. (WebCore::FrameView::setTracksRepaints):
  16008. * page/FrameView.h:
  16009. (WebCore::FrameView::isTrackingRepaints):
  16010. (WebCore::FrameView::resetTrackedRepaints):
  16011. (WebCore::FrameView::trackedRepaintRects):
  16012. 2011-09-26 Antti Koivisto <antti@apple.com>
  16013. Optimize matching of common pseudo classes
  16014. https://bugs.webkit.org/show_bug.cgi?id=68633
  16015. Reviewed by Dave Hyatt, Darin Adler, Dimitri Glazkov.
  16016. :link, :visited and :focus are quite common. They often used as univeral selectors (including in our
  16017. default stylesheet) so we try to match them for all elements in the document. They take always the
  16018. slow matching path. In addition we match link styles twice due to visited link pseudo style generation
  16019. so the overhead is doubled. As a result substantial portion of our style matching time is spent
  16020. dealing with these pseudo classes.
  16021. This patch adds new lists to RuleSet for common pseudo class rules. The rules on the lists are only checked
  16022. if the element has approprate type and stat. ases where the rightmost pseudo class can then be rejected immediately.
  16023. We can also enable the fast path checking for the rest of the selector in many cases.
  16024. This seems to be >30% progression in selector matching performance with typical style sheets. It saves ~0.9s
  16025. when loading the full HTML5 spec.
  16026. * css/CSSStyleSelector.cpp:
  16027. (WebCore::RuleData::hasRightmostSelectorMatchingHTMLBasedOnRuleHash):
  16028. (WebCore::RuleSet::idRules):
  16029. (WebCore::RuleSet::classRules):
  16030. (WebCore::RuleSet::tagRules):
  16031. (WebCore::RuleSet::shadowPseudoElementRules):
  16032. (WebCore::RuleSet::linkPseudoClassRules):
  16033. (WebCore::RuleSet::visitedPseudoClassRules):
  16034. (WebCore::RuleSet::focusPseudoClassRules):
  16035. (WebCore::RuleSet::universalRules):
  16036. (WebCore::RuleSet::pageRules):
  16037. Add a new lists, some stylistic renamings.
  16038. (WebCore::CSSStyleSelector::matchRules):
  16039. New link and focus checks.
  16040. (WebCore::CSSStyleSelector::matchRulesForList):
  16041. (WebCore::CSSStyleSelector::checkSelector):
  16042. Inline the rightmost selector tag checking, skip if unnecessary.
  16043. (WebCore::isSelectorMatchingHTMLBasedOnRuleHash):
  16044. Common pseudo classes now match based on early filtering (though it is not a hash in this case).
  16045. (WebCore::RuleData::RuleData):
  16046. (WebCore::RuleSet::~RuleSet):
  16047. (WebCore::RuleSet::addRule):
  16048. Sort pseudo classes to new lists.
  16049. (WebCore::RuleSet::collectFeatures):
  16050. (WebCore::RuleSet::shrinkToFit):
  16051. (WebCore::CSSStyleSelector::matchPageRules):
  16052. * css/SelectorChecker.cpp:
  16053. (WebCore::SelectorChecker::checkSelector):
  16054. Adopt to expanded fast path (this is used by querySelectorAll).
  16055. (WebCore::SelectorChecker::fastCheckRightmostSelector):
  16056. (WebCore::SelectorChecker::fastCheckSelector):
  16057. Rightmost selector is now checked differently than the rest. RuleSet based selection in CSSStyleSelector
  16058. is equivalent to fastCheckRightmostSelector().
  16059. (WebCore::isFastCheckableRelation):
  16060. (WebCore::isFastCheckableMatch):
  16061. (WebCore::isFastCheckableRightmostSelector):
  16062. (WebCore::SelectorChecker::isFastCheckableSelector):
  16063. (WebCore::SelectorChecker::checkOneSelector):
  16064. (WebCore::SelectorChecker::commonPseudoClassSelectorMatches):
  16065. (WebCore::SelectorChecker::isFrameFocused):
  16066. * css/SelectorChecker.h:
  16067. (WebCore::SelectorChecker::isCommonPseudoClassSelector):
  16068. (WebCore::SelectorChecker::linkMatchesVisitedPseudoClass):
  16069. (WebCore::SelectorChecker::matchesFocusPseudoClass):
  16070. (WebCore::SelectorChecker::tagMatches):
  16071. Refactor a bunch of shared checks into functions.
  16072. 2011-09-12 Ryosuke Niwa <rniwa@webkit.org>
  16073. REGRESSION(r74971): Selection doesn't work correctly in BiDi Text
  16074. https://bugs.webkit.org/show_bug.cgi?id=57340
  16075. Reviewed by Eric Seidel.
  16076. This patch adds the end point adjustment mechanism at bidi boundaries similar to the one NSTextView implements.
  16077. To understand the problem, suppose we have strong RTL letters "ABC" in a LTR block (visually laid out as CBA).
  16078. Per NSTextView convention, logical offsets between each letter is placed as (0)C(2)B(1)A(3). In other words,
  16079. placing the caret visually on the left of CBA yields the position inside the text node of "ABC" at offset 0.
  16080. Likewise, placing it between C and B yields ("ABC", 2), and placing it on the right of CBA yields ("ABC", 3).
  16081. Now suppose a user attempts to select the letter A by a mouse drag from the right of CBA to a point between
  16082. B and A. First, the initial mouse down places the selection's base at ("ABC", 3). Then as the mouse pointer
  16083. moves to a point on the left of A, the selection's extent is set at ("ABC", 1), selecting "BC".
  16084. To mitigate this issue, NSTextView adjusts selection base and extent under certain conditions. In the above
  16085. example, NSTextView detects user's intent and changes the selection's base to ("ABC", 0) temporarily.
  16086. This patch implements a similar trick on WebKit. We adjust the base or the extent when they're at the left
  16087. end or at the right end of a bidi run and the other end is inside of the run. In the above example, the
  16088. base position on the right of A is the right end of a bidi run and the extent position between B and A is
  16089. inside the same run (CBA), so we would adjust the base to be ("ABC", 0) as NSTextView does.
  16090. Take another example abcABC. Note offsets are assigned as (0)a(1)b(2)c(3)C(5)B(4)A(6) When the user starts
  16091. a mouse drag from the right of A to a point between B and A, we adjust the selection base to be ("abcABC", 3)
  16092. because the base is at the right end of a bidi run and the extent is in the same run. We keep the adjustment
  16093. when the mouse pointer moves to a point between C and B. However, when the mouser pointer reaches a point
  16094. between letters b and c, the selection extent is placed at ("abcABC", 2). Because the extent is outside of
  16095. the bidi run started from the selection base, we restore the original base at this point. Had we not done this,
  16096. we'll end up selecting just "c".
  16097. While this algorithm is implemented in FrameSelection::setNonDirectionalSelectionIfNeeded, this patch adds
  16098. various member functions to RenderedPosition to facilitate abstraction around inline boxes and bidi runs.
  16099. Test: editing/selection/select-bidi-run.html
  16100. * editing/FrameSelection.cpp:
  16101. (WebCore::adjustEndpointsAtBidiBoundary): Added. Implements the endpoints adjustment algorithm.
  16102. (WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded): Calls adjustEndpointsAtBidiBoundary, and
  16103. restores the original base as needed.
  16104. * editing/FrameSelection.h:
  16105. * editing/RenderedPosition.cpp:
  16106. (WebCore::RenderedPosition::RenderedPosition):
  16107. (WebCore::RenderedPosition::prevLeafChild): Added to cache prevLeafChild of the current inline box.
  16108. (WebCore::RenderedPosition::nextLeafChild): Ditto for nextLeafChild.
  16109. (WebCore::RenderedPosition::isEquivalent): Compares two RenderedPositions considering neighboring inline boxes
  16110. so that the rightmost position in a box and the leftmost position in the following box is considered equal.
  16111. (WebCore::RenderedPosition::bidiLevelOnLeft): Added. Returns the bidi level of the run on the left. We can't
  16112. add a generic bidiLevel to this class because it'll be ambiguous at bidi boundaries.
  16113. (WebCore::RenderedPosition::bidiLevelOnRight): Ditto for the run on the right.
  16114. (WebCore::RenderedPosition::leftBoundaryOfBidiRun): Added.
  16115. (WebCore::RenderedPosition::rightBoundaryOfBidiRun): Added.
  16116. (WebCore::RenderedPosition::atLeftBoundaryOfBidiRun): Added.
  16117. (WebCore::RenderedPosition::atRightBoundaryOfBidiRun): Added.
  16118. (WebCore::RenderedPosition::positionAtLeftBoundaryOfBiDiRun): Returns Position at the left edge of a bidi run
  16119. if RenderedPosition is at such a position. Asserts atLeftBoundaryOfBidiRun.
  16120. (WebCore::RenderedPosition::positionAtRightBoundaryOfBiDiRun): Ditto for the right edge.
  16121. * editing/RenderedPosition.h:
  16122. (WebCore::RenderedPosition::atLeftBoundaryOfBidiRun): Added.
  16123. (WebCore::RenderedPosition::atRightBoundaryOfBidiRun): Added.
  16124. (WebCore::RenderedPosition::atLeftmostOffsetInBox): Added.
  16125. (WebCore::RenderedPosition::atRightmostOffsetInBox): Added.
  16126. (WebCore::RenderedPosition::uncachedInlineBox): Added. We can't use a static const variable because gcc thinks
  16127. reinterpret_cast<InlineBox*>(1) is not an integral value.
  16128. (WebCore::RenderedPosition::RenderedPosition):
  16129. * editing/VisibleSelection.h:
  16130. (WebCore::VisibleSelection::visibleBase): Added.
  16131. (WebCore::VisibleSelection::visibleExtent): Added.
  16132. * page/EventHandler.cpp:
  16133. (WebCore::EventHandler::updateSelectionForMouseDrag):
  16134. 2011-09-26 Sheriff Bot <webkit.review.bot@gmail.com>
  16135. Unreviewed, rolling out r95256.
  16136. http://trac.webkit.org/changeset/95256
  16137. https://bugs.webkit.org/show_bug.cgi?id=68814
  16138. Temporary CRASH calls no longer needed (Requested by enne on
  16139. #webkit).
  16140. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  16141. (WebCore::CCLayerTreeHost::commitTo):
  16142. 2011-09-26 Mark Rowe <mrowe@apple.com>
  16143. <http://webkit.org/b/68809> IconDatabase::syncThreadMainLoop can assert if wakeSyncThread is called before thread starts executing
  16144. If wakeSyncThread is called before syncThreadMainLoop starts executing then m_syncThreadHasWorkToDo would be set
  16145. while executing the body of the sync thread loop, causing us to skip blocking on the condition variable. This would
  16146. lead to us hitting the assertion failure due to m_disabledSuddenTerminationForSyncThread being false, unless the main
  16147. thread happened to call wakeSyncThread a second time while the first loop iteration was executing.
  16148. Reviewed by Anders Carlsson.
  16149. * loader/icon/IconDatabase.cpp:
  16150. (WebCore::IconDatabase::syncThreadMainLoop): Clear m_syncThreadHasWorkToDo to indicate that we're about to perform
  16151. all pending work.
  16152. 2011-09-26 Antaryami Pandia <antaryami.pandia@motorola.com>
  16153. Groove/inset/outset borders show solid if the color is black.
  16154. https://bugs.webkit.org/show_bug.cgi?id=58608
  16155. Reviewed by Simon Fraser.
  16156. Lightened the border side colors when drawing borders with styles as
  16157. Outset/Inset/Groove/Ridge.
  16158. Tests: fast/borders/border-groove.html
  16159. fast/borders/border-inset.html
  16160. fast/borders/border-outset.html
  16161. fast/borders/border-ridge.html
  16162. * rendering/RenderObject.cpp:
  16163. (WebCore::RenderObject::drawLineForBoxSide):
  16164. 2011-09-26 Abhishek Arya <inferno@chromium.org>
  16165. Delete retired custom font data only on document
  16166. destruction, and not on recalc style.
  16167. https://bugs.webkit.org/show_bug.cgi?id=68805
  16168. Reviewed by Dave Hyatt.
  16169. Test: fast/text/custom-font-data-crash.html
  16170. * dom/Document.cpp:
  16171. (WebCore::Document::recalcStyle):
  16172. 2011-09-23 Adrienne Walker <enne@google.com>
  16173. [chromium] Update VideoLayerChromium textures after texture resources are reclaimed
  16174. https://bugs.webkit.org/show_bug.cgi?id=68742
  16175. Reviewed by James Robinson.
  16176. If video textures are reclaimed (such as during a visibility change on
  16177. a tab), the dirty rect for the layer is empty and it skips out of
  16178. updating compositor resources, leaving the video textures invalid.
  16179. Instead, check the textures here to make sure they're still valid
  16180. first before early out so that they can get reupdated if necessary.
  16181. Additionally, fix a small bug in pushPropertiesTo where 1 plane RGB
  16182. videos would not get drawn because all 3 planes didn't have valid
  16183. textures.
  16184. Test: compositing/video-page-visibility.html
  16185. * platform/graphics/chromium/VideoLayerChromium.cpp:
  16186. (WebCore::VideoLayerChromium::VideoLayerChromium):
  16187. (WebCore::VideoLayerChromium::cleanupResources):
  16188. (WebCore::VideoLayerChromium::updateCompositorResources):
  16189. (WebCore::VideoLayerChromium::pushPropertiesTo):
  16190. (WebCore::VideoLayerChromium::setLayerTreeHost):
  16191. (WebCore::VideoLayerChromium::texturesValid):
  16192. * platform/graphics/chromium/VideoLayerChromium.h:
  16193. 2011-09-26 Pavel Feldman <pfeldman@google.com>
  16194. Web Inspector: introduce protocol backwards compatibility validator.
  16195. https://bugs.webkit.org/show_bug.cgi?id=68800
  16196. Reviewed by Yury Semikhatsky.
  16197. * inspector/Inspector.json:
  16198. * inspector/Inspector.draft-01.json: Copied from Source/WebCore/inspector/Inspector.json.
  16199. * inspector/validate-protocol-compatibility: Added.
  16200. 2011-09-26 Andreas Kling <kling@webkit.org>
  16201. [Qt] Unused variable in QNetworkReplyHandler::sendNetworkRequest.
  16202. https://bugs.webkit.org/show_bug.cgi?id=68798
  16203. Reviewed by Noam Rosenthal.
  16204. * platform/network/qt/QNetworkReplyHandler.cpp:
  16205. (WebCore::QNetworkReplyHandler::sendNetworkRequest):
  16206. 2011-09-26 Ilya Tikhonovsky <loislo@chromium.org>
  16207. Second unreviewed build fix for r95941
  16208. * inspector/InspectorInstrumentation.cpp:
  16209. (WebCore::InspectorInstrumentation::willCallFunctionImpl):
  16210. 2011-09-26 Ilya Tikhonovsky <loislo@chromium.org>
  16211. Unreviewed build fix for webkit builds after r95941.
  16212. * inspector/InspectorInstrumentation.cpp:
  16213. (WebCore::InspectorInstrumentation::willCallFunctionImpl):
  16214. 2011-09-26 Andrey Kosyakov <caseq@chromium.org>
  16215. Web Inspector: [Extensions API] allow resources to hook on click on resource links
  16216. https://bugs.webkit.org/show_bug.cgi?id=68528
  16217. Reviewed by Yury Semikhatsky.
  16218. * WebCore.gypi:
  16219. * WebCore.vcproj/WebCore.vcproj:
  16220. * inspector/front-end/ExtensionAPI.js:
  16221. (injectedExtensionAPI.Console.prototype.get Severity):
  16222. (injectedExtensionAPI.Panels.prototype.create):
  16223. (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler.else.callbackWrapper):
  16224. (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler):
  16225. (injectedExtensionAPI.ExtensionServerClient.prototype.hasHandler):
  16226. (injectedExtensionAPI.ExtensionServerClient.prototype.deregisterHandler):
  16227. * inspector/front-end/ExtensionServer.js:
  16228. (WebInspector.ExtensionServer):
  16229. (WebInspector.ExtensionServer.prototype._onSetOpenResourceHandler):
  16230. (WebInspector.ExtensionServer.prototype._handleAnchorClicked):
  16231. (WebInspector.ExtensionServer.prototype._addExtensions):
  16232. (WebInspector.ExtensionServer.prototype._addExtension):
  16233. (WebInspector.ExtensionServer.prototype._registerExtension):
  16234. * inspector/front-end/SettingsScreen.js:
  16235. (WebInspector.SettingsScreen):
  16236. (WebInspector.SettingsScreen.prototype._createCustomSetting):
  16237. * inspector/front-end/WebKit.qrc:
  16238. * inspector/front-end/helpScreen.css:
  16239. (.help-content select):
  16240. (.help-content select:disabled):
  16241. (.help-content option):
  16242. * inspector/front-end/inspector.html:
  16243. * inspector/front-end/inspector.js:
  16244. (WebInspector.set attached):
  16245. (WebInspector._showAnchorLocation):
  16246. 2011-09-23 Ilya Tikhonovsky <loislo@chromium.org>
  16247. Web Inspector: Timeline: record root event for the function calls enforced by console eval.
  16248. https://bugs.webkit.org/show_bug.cgi?id=68695
  16249. In a complex web application developer might want to timeline a specific piece of code.
  16250. In this case he can do the next steps:
  16251. 1) start timeline;
  16252. 2) eval a command in console;
  16253. 3) stop timeline.
  16254. I think it'd be nice to have a root event for the all the events that happened as the result of such eval.
  16255. Reviewed by Yury Semikhatsky.
  16256. Test: inspector/timeline/timeline-injected-script-eval.html
  16257. * bindings/v8/ScriptFunctionCall.cpp:
  16258. * inspector/InjectedScript.cpp:
  16259. (WebCore::InjectedScript::makeCall):
  16260. * inspector/InspectorInstrumentation.cpp:
  16261. (WebCore::InspectorInstrumentation::willCallFunctionImpl):
  16262. 2011-09-26 No'am Rosenthal <noam.rosenthal@nokia.com>
  16263. [Texmap][Qt] Enable TextureMapperGL in platforms where BGRA is not present
  16264. https://bugs.webkit.org/show_bug.cgi?id=65473
  16265. Reviewed by Andreas Kling.
  16266. For now, swap RGBA->BGRA in software if we're in OpenGL ES 2.
  16267. We do that by iterating on the pixels and manually swapping each pixel's red and blue
  16268. values. This can be done faster with shaders, but for now this is a working solution
  16269. for platforms without BGRA support.
  16270. No new tests. Existing layout tests cover this.
  16271. * platform/graphics/opengl/TextureMapperGL.cpp:
  16272. (WebCore::BitmapTextureGL::endPaint):
  16273. * platform/graphics/opengl/TextureMapperGL.h:
  16274. * platform/graphics/qt/TextureMapperQt.cpp:
  16275. (WebCore::RGBA32PremultimpliedBufferQt::swapRGB):
  16276. 2011-09-26 Sergio Villar Senin <svillar@igalia.com>
  16277. [GTK] Fix coding style bits in ResourceHandleSoup.cpp
  16278. https://bugs.webkit.org/show_bug.cgi?id=68634
  16279. Reviewed by Martin Robinson.
  16280. No new tests needed.
  16281. * platform/network/soup/ResourceHandleSoup.cpp:
  16282. (WebCore::ResourceHandle::defaultSession):
  16283. 2011-09-26 James Robinson <jamesr@chromium.org>
  16284. [mac] Timestamp parameter to requestAnimationFrame is busted in USE(REQUEST_ANIMATION_FRAME_TIMER) path
  16285. https://bugs.webkit.org/show_bug.cgi?id=68769
  16286. Reviewed by Simon Fraser.
  16287. Convert the time parameter from double to DOMTimeStamp using convertSecondsToDOMTimeStamp rather than relying on
  16288. implicit double->long conversion, which ignores the units of the value.
  16289. Test: fast/animation/request-animation-frame-timestamps-advance.html
  16290. * dom/ScriptedAnimationController.cpp:
  16291. (WebCore::ScriptedAnimationController::animationTimerFired):
  16292. 2011-09-25 Mark Hahnenberg <mhahnenberg@apple.com>
  16293. Add custom vtable struct to ClassInfo struct
  16294. https://bugs.webkit.org/show_bug.cgi?id=68567
  16295. Reviewed by Oliver Hunt.
  16296. No new tests.
  16297. Added CREATE_METHOD_TABLE macro to generate the custom vtable for the
  16298. specified class in its ClassInfo. Also added to it the first function to use
  16299. this macro, visitChildren. This is part of the process of getting rid of all
  16300. C++ virtual methods in JSCell. Eventually all virtual functions in JSCell
  16301. that can't easily be converted to non-virtual functions will be put into
  16302. this custom vtable structure.
  16303. * bindings/js/JSAudioConstructor.cpp:
  16304. * bindings/js/JSDOMGlobalObject.cpp:
  16305. * bindings/js/JSDOMWindowBase.cpp:
  16306. * bindings/js/JSDOMWindowShell.cpp:
  16307. * bindings/js/JSImageConstructor.cpp:
  16308. * bindings/js/JSImageDataCustom.cpp:
  16309. (WebCore::toJS):
  16310. * bindings/js/JSOptionConstructor.cpp:
  16311. * bindings/js/JSWorkerContextBase.cpp:
  16312. Changed the bindings generator to add the call to the CREATE_METHOD_TABLE macro where
  16313. necessary.
  16314. * bindings/scripts/CodeGeneratorJS.pm:
  16315. (GenerateImplementation):
  16316. (GenerateConstructorDefinition):
  16317. * bindings/scripts/test/JS/JSTestInterface.cpp:
  16318. * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  16319. * bindings/scripts/test/JS/JSTestObj.cpp:
  16320. * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  16321. * bridge/c/CRuntimeObject.cpp:
  16322. * bridge/c/c_instance.cpp:
  16323. * bridge/jni/jsc/JavaInstanceJSC.cpp:
  16324. * bridge/jni/jsc/JavaRuntimeObject.cpp:
  16325. * bridge/objc/ObjCRuntimeObject.mm:
  16326. * bridge/objc/objc_instance.mm:
  16327. * bridge/objc/objc_runtime.mm:
  16328. * bridge/qt/qt_instance.cpp:
  16329. * bridge/qt/qt_pixmapruntime.cpp:
  16330. * bridge/qt/qt_runtime.cpp:
  16331. * bridge/runtime_array.cpp:
  16332. * bridge/runtime_method.cpp:
  16333. * bridge/runtime_object.cpp:
  16334. 2011-09-25 Eunmi Lee <eunmi15.lee@samsung.com>
  16335. [EFL] Move GtkWidgetBackingStoreCairo to the cairo directory and modify to use in the EFL.
  16336. https://bugs.webkit.org/show_bug.cgi?id=63502
  16337. Reviewed by Martin Robinson.
  16338. The gtk/GtkWidgetBackingStoreCairo.cpp is moved to the cairo/WidgetBackingStoreCairo.cpp and
  16339. some codes for EFL are added.
  16340. WidgetBackingStoreCairo creates cairo_image_surface and has a role to copy reusable area
  16341. when scrolling. So, it will be used in the WebKit2 EFL port's BackingStore.
  16342. * CMakeListsEfl.txt:
  16343. * GNUmakefile.list.am:
  16344. * platform/cairo/WidgetBackingStore.h:
  16345. * platform/cairo/WidgetBackingStoreCairo.cpp: Renamed from Source/WebCore/platform/gtk/GtkWidgetBackingStoreCairo.cpp.
  16346. (WebCore::createSurfaceForBackingStore):
  16347. (WebCore::WidgetBackingStorePrivate::create):
  16348. (WebCore::WidgetBackingStorePrivate::WidgetBackingStorePrivate):
  16349. (WebCore::WidgetBackingStore::create):
  16350. (WebCore::WidgetBackingStore::WidgetBackingStore):
  16351. (WebCore::WidgetBackingStore::~WidgetBackingStore):
  16352. (WebCore::WidgetBackingStore::cairoSurface):
  16353. (WebCore::WidgetBackingStore::scroll):
  16354. * platform/gtk/GtkWidgetBackingStoreX11.cpp:
  16355. 2011-09-25 Adam Barth <abarth@webkit.org>
  16356. Finish removing PLATFORM(BREWMP) by removing associated code
  16357. https://bugs.webkit.org/show_bug.cgi?id=68779
  16358. Reviewed by Sam Weinig.
  16359. When Geoffrey Garen removed PLATFORM(BREWMP) in
  16360. http://trac.webkit.org/changeset/95555, he did not remove all the
  16361. associated code. This completes the work started in r95555 by removing
  16362. all the code assoicated with PLATFORM(BREWMP).
  16363. * WebCore.gyp/WebCore.gyp:
  16364. * WebCore.gypi:
  16365. * bindings/js/ScriptControllerBrew.cpp: Removed.
  16366. * editing/brew: Removed.
  16367. * editing/brew/EditorBrew.cpp: Removed.
  16368. * gyp/WebCore.gyp:
  16369. * page/brew: Removed.
  16370. * page/brew/ChromeClientBrew.h: Removed.
  16371. * page/brew/DragControllerBrew.cpp: Removed.
  16372. * page/brew/EventHandlerBrew.cpp: Removed.
  16373. * page/brew/FrameBrew.cpp: Removed.
  16374. * platform/brew: Removed.
  16375. * platform/brew/ClipboardBrew.cpp: Removed.
  16376. * platform/brew/ClipboardBrew.h: Removed.
  16377. * platform/brew/ContextMenuBrew.cpp: Removed.
  16378. * platform/brew/ContextMenuItemBrew.cpp: Removed.
  16379. * platform/brew/CursorBrew.cpp: Removed.
  16380. * platform/brew/DragDataBrew.cpp: Removed.
  16381. * platform/brew/EventLoopBrew.cpp: Removed.
  16382. * platform/brew/FileSystemBrew.cpp: Removed.
  16383. * platform/brew/KURLBrew.cpp: Removed.
  16384. * platform/brew/LanguageBrew.cpp: Removed.
  16385. * platform/brew/LocalizedStringsBrew.cpp: Removed.
  16386. * platform/brew/LoggingBrew.cpp: Removed.
  16387. * platform/brew/MIMETypeRegistryBrew.cpp: Removed.
  16388. * platform/brew/PasteboardBrew.cpp: Removed.
  16389. * platform/brew/PlatformKeyboardEventBrew.cpp: Removed.
  16390. * platform/brew/PlatformMouseEventBrew.cpp: Removed.
  16391. * platform/brew/PlatformTouchEventBrew.cpp: Removed.
  16392. * platform/brew/PlatformTouchPointBrew.cpp: Removed.
  16393. * platform/brew/PopupMenuBrew.cpp: Removed.
  16394. * platform/brew/PopupMenuBrew.h: Removed.
  16395. * platform/brew/SSLKeyGeneratorBrew.cpp: Removed.
  16396. * platform/brew/ScreenBrew.cpp: Removed.
  16397. * platform/brew/ScrollbarThemeBrew.cpp: Removed.
  16398. * platform/brew/ScrollbarThemeBrew.h: Removed.
  16399. * platform/brew/SearchPopupMenuBrew.cpp: Removed.
  16400. * platform/brew/SearchPopupMenuBrew.h: Removed.
  16401. * platform/brew/SharedBufferBrew.cpp: Removed.
  16402. * platform/brew/SharedTimerBrew.cpp: Removed.
  16403. * platform/brew/SoundBrew.cpp: Removed.
  16404. * platform/brew/SystemTimeBrew.cpp: Removed.
  16405. * platform/brew/TemporaryLinkStubs.cpp: Removed.
  16406. * platform/brew/WidgetBrew.cpp: Removed.
  16407. * platform/graphics/brew: Removed.
  16408. * platform/graphics/brew/IconBrew.cpp: Removed.
  16409. * platform/graphics/brew/ImageBrew.cpp: Removed.
  16410. * platform/graphics/brew/IntPointBrew.cpp: Removed.
  16411. * platform/graphics/brew/IntSizeBrew.cpp: Removed.
  16412. * platform/network/brew: Removed.
  16413. * platform/network/brew/DNSBrew.cpp: Removed.
  16414. * platform/network/brew/SocketStreamError.h: Removed.
  16415. * platform/network/brew/SocketStreamHandle.h: Removed.
  16416. * platform/network/brew/SocketStreamHandleBrew.cpp: Removed.
  16417. * platform/network/brew/SocketStreamHandlePrivate.h: Removed.
  16418. * platform/text/brew: Removed.
  16419. * platform/text/brew/TextBoundariesBrew.cpp: Removed.
  16420. * platform/text/brew/TextBreakIteratorBrew.cpp: Removed.
  16421. * platform/text/brew/TextCodecBrew.cpp: Removed.
  16422. * platform/text/brew/TextCodecBrew.h: Removed.
  16423. 2011-09-25 Kentaro Hara <haraken@chromium.org>
  16424. Implement a CloseEvent constructor for JSC
  16425. https://bugs.webkit.org/show_bug.cgi?id=68340
  16426. Reviewed by Oliver Hunt.
  16427. The spec of the CloseEvent constructor is here:
  16428. http://dev.w3.org/html5/websockets/#closeevent
  16429. Test: fast/events/constructors/close-event-constructor.html
  16430. * bindings/generic/EventConstructors.h: Added a definition for the CloseEvent constructor.
  16431. * bindings/js/JSEventConstructors.cpp: Added #includes for CloseEvent.
  16432. * websockets/CloseEvent.h: Added a definition for CloseEventInit.
  16433. (WebCore::CloseEventInit::CloseEventInit):
  16434. (WebCore::CloseEvent::create):
  16435. (WebCore::CloseEvent::CloseEvent):
  16436. * websockets/CloseEvent.idl: Makes CloseEvent constructible.
  16437. 2011-09-25 Mark Rowe <mrowe@apple.com>
  16438. <rdar://problem/10177824> IconDatabase’s use of ThreadCondition leads to assertion failures in the face of spurious wakeups
  16439. It's possible for ThreadCondition::wait to return spuriously without the condition having been signaled.
  16440. When that happens we should immediately return to waiting rather than doing our normal work, as some of that
  16441. work relies on wakeSyncThread having been called to signal the condition.
  16442. Reviewed by Sam Weinig.
  16443. * loader/icon/IconDatabase.cpp:
  16444. (WebCore::IconDatabase::IconDatabase):
  16445. (WebCore::IconDatabase::wakeSyncThread): Note that we have work for the sync thread to do.
  16446. (WebCore::IconDatabase::syncThreadMainLoop): If we were woken with no work to do, immediately
  16447. go back to waiting on the condition variable. Otherwise, reset m_syncThreadHasWorkToDo and then
  16448. do that work. We also switch to moving m_disabledSuddenTerminationForSyncThread immediately in to
  16449. our local shouldReenableSuddenTermination variable since it can be updated by other threads while
  16450. we don't hold the lock. This makes it inappropriate to make assumptions about its value after dropping
  16451. and reacquiring the lock.
  16452. * loader/icon/IconDatabase.h:
  16453. 2011-09-25 Dan Bernstein <mitz@apple.com>
  16454. <rdar://problem/10156263> ASSERT in WebCore::FrameView::scheduleRelayoutOfSubtree
  16455. Reviewed by Sam Weinig.
  16456. Test: fast/dynamic/subtree-unrooted.html
  16457. * rendering/RenderObject.cpp:
  16458. (WebCore::RenderObject::scheduleRelayout): Replaced the check that the renderer is parented,
  16459. which was added in r21162, with a check that it is “rooted”.
  16460. 2011-09-24 Abhishek Arya <inferno@chromium.org>
  16461. Issues with merging block children of a ruby
  16462. base with another ruby base having inline children.
  16463. https://bugs.webkit.org/show_bug.cgi?id=66124
  16464. Reviewed by Dan Bernstein.
  16465. Test: fast/ruby/ruby-base-merge-block-children-crash.html
  16466. * rendering/RenderRubyBase.cpp:
  16467. (WebCore::RenderRubyBase::moveInlineChildren): add a firstChild()
  16468. check to prevent empty anonymous block addition, just like
  16469. moveBlockChildren method.
  16470. * rendering/RenderRubyBase.cpp:
  16471. (WebCore::RenderRubyBase::moveBlockChildren): This was incorrectly
  16472. doing optimizations to see if current ruby base has only inline
  16473. children before beforeChild and then trying to take out them from
  16474. their parent anonymous blocks. The problem is those inlines could
  16475. be split and have continuations because of encountering a block
  16476. inside inline flow. In those cases, we cannot take the inline out.
  16477. So, we should just make children non-inline in the destination
  16478. block and transfer the children as it-is.
  16479. * rendering/RenderRubyBase.h: remove unncessary functions.
  16480. 2011-09-25 Adam Barth <abarth@webkit.org>
  16481. Remove PLATFORM(HAIKU) and associated code
  16482. https://bugs.webkit.org/show_bug.cgi?id=68774
  16483. Reviewed by Sam Weinig.
  16484. As discussed on webkit-dev, the Haiku port has been inactive for over a
  16485. year. A year and a half ago, we discussed removing the port, but folks
  16486. said they planned to work on it more. That work does not appear to
  16487. have happened in the intervening time.
  16488. * WebCore.gyp/WebCore.gyp:
  16489. * WebCore.gypi:
  16490. * bindings/js/ScriptControllerHaiku.cpp: Removed.
  16491. * editing/haiku: Removed.
  16492. * editing/haiku/EditorHaiku.cpp: Removed.
  16493. * gyp/WebCore.gyp:
  16494. * loader/cache/CachedFont.cpp:
  16495. * page/EventHandler.cpp:
  16496. (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
  16497. * page/haiku: Removed.
  16498. * page/haiku/DragControllerHaiku.cpp: Removed.
  16499. * page/haiku/EventHandlerHaiku.cpp: Removed.
  16500. * page/haiku/FrameHaiku.cpp: Removed.
  16501. * platform/ContextMenuItem.h:
  16502. * platform/Cursor.h:
  16503. * platform/DragData.h:
  16504. * platform/DragImage.h:
  16505. * platform/PlatformKeyboardEvent.h:
  16506. * platform/PlatformMenuDescription.h:
  16507. * platform/PlatformMouseEvent.h:
  16508. * platform/Widget.h:
  16509. * platform/graphics/BitmapImage.h:
  16510. * platform/graphics/Color.h:
  16511. * platform/graphics/FloatPoint.h:
  16512. * platform/graphics/FloatRect.h:
  16513. * platform/graphics/Gradient.h:
  16514. * platform/graphics/GraphicsContext.cpp:
  16515. * platform/graphics/GraphicsContext.h:
  16516. * platform/graphics/ImageBufferData.h:
  16517. * platform/graphics/ImageSource.h:
  16518. * platform/graphics/IntPoint.h:
  16519. * platform/graphics/IntRect.h:
  16520. * platform/graphics/IntSize.h:
  16521. * platform/graphics/Path.h:
  16522. * platform/graphics/Pattern.h:
  16523. * platform/graphics/SimpleFontData.h:
  16524. * platform/graphics/haiku: Removed.
  16525. * platform/graphics/haiku/ColorHaiku.cpp: Removed.
  16526. * platform/graphics/haiku/FloatPointHaiku.cpp: Removed.
  16527. * platform/graphics/haiku/FloatRectHaiku.cpp: Removed.
  16528. * platform/graphics/haiku/FontCacheHaiku.cpp: Removed.
  16529. * platform/graphics/haiku/FontCustomPlatformData.cpp: Removed.
  16530. * platform/graphics/haiku/FontCustomPlatformData.h: Removed.
  16531. * platform/graphics/haiku/FontHaiku.cpp: Removed.
  16532. * platform/graphics/haiku/FontPlatformData.h: Removed.
  16533. * platform/graphics/haiku/GlyphPageTreeNodeHaiku.cpp: Removed.
  16534. * platform/graphics/haiku/GradientHaiku.cpp: Removed.
  16535. * platform/graphics/haiku/GraphicsContextHaiku.cpp: Removed.
  16536. * platform/graphics/haiku/IconHaiku.cpp: Removed.
  16537. * platform/graphics/haiku/ImageBufferDataHaiku.h: Removed.
  16538. * platform/graphics/haiku/ImageBufferHaiku.cpp: Removed.
  16539. * platform/graphics/haiku/ImageHaiku.cpp: Removed.
  16540. * platform/graphics/haiku/IntPointHaiku.cpp: Removed.
  16541. * platform/graphics/haiku/IntRectHaiku.cpp: Removed.
  16542. * platform/graphics/haiku/IntSizeHaiku.cpp: Removed.
  16543. * platform/graphics/haiku/PathHaiku.cpp: Removed.
  16544. * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Removed.
  16545. * platform/graphics/haiku/StillImageHaiku.cpp: Removed.
  16546. * platform/graphics/haiku/StillImageHaiku.h: Removed.
  16547. * platform/haiku: Removed.
  16548. * platform/haiku/ClipboardHaiku.cpp: Removed.
  16549. * platform/haiku/ClipboardHaiku.h: Removed.
  16550. * platform/haiku/ContextMenuHaiku.cpp: Removed.
  16551. * platform/haiku/ContextMenuItemHaiku.cpp: Removed.
  16552. * platform/haiku/CookieJarHaiku.cpp: Removed.
  16553. * platform/haiku/CursorHaiku.cpp: Removed.
  16554. * platform/haiku/DragDataHaiku.cpp: Removed.
  16555. * platform/haiku/DragImageHaiku.cpp: Removed.
  16556. * platform/haiku/EventLoopHaiku.cpp: Removed.
  16557. * platform/haiku/FileSystemHaiku.cpp: Removed.
  16558. * platform/haiku/LocalizedStringsHaiku.cpp: Removed.
  16559. * platform/haiku/LoggingHaiku.cpp: Removed.
  16560. * platform/haiku/MIMETypeRegistryHaiku.cpp: Removed.
  16561. * platform/haiku/PasteboardHaiku.cpp: Removed.
  16562. * platform/haiku/PlatformKeyboardEventHaiku.cpp: Removed.
  16563. * platform/haiku/PlatformMouseEventHaiku.cpp: Removed.
  16564. * platform/haiku/PlatformWheelEventHaiku.cpp: Removed.
  16565. * platform/haiku/PopupMenuHaiku.cpp: Removed.
  16566. * platform/haiku/PopupMenuHaiku.h: Removed.
  16567. * platform/haiku/RenderThemeHaiku.cpp: Removed.
  16568. * platform/haiku/RenderThemeHaiku.h: Removed.
  16569. * platform/haiku/ScreenHaiku.cpp: Removed.
  16570. * platform/haiku/ScrollbarThemeHaiku.cpp: Removed.
  16571. * platform/haiku/ScrollbarThemeHaiku.h: Removed.
  16572. * platform/haiku/SearchPopupMenuHaiku.cpp: Removed.
  16573. * platform/haiku/SearchPopupMenuHaiku.h: Removed.
  16574. * platform/haiku/SharedBufferHaiku.cpp: Removed.
  16575. * platform/haiku/SharedTimerHaiku.cpp: Removed.
  16576. * platform/haiku/SoundHaiku.cpp: Removed.
  16577. * platform/haiku/TemporaryLinkStubs.cpp: Removed.
  16578. * platform/haiku/WidgetHaiku.cpp: Removed.
  16579. * platform/image-decoders/haiku: Removed.
  16580. * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Removed.
  16581. * platform/text/UnicodeRange.h:
  16582. * platform/text/haiku: Removed.
  16583. * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Removed.
  16584. 2011-09-25 Adam Barth <abarth@webkit.org>
  16585. Attempted build fixes for GTK and Qt.
  16586. * GNUmakefile.list.am:
  16587. * WebCore.pro:
  16588. 2011-09-24 Adam Barth <abarth@webkit.org>
  16589. Always enable ENABLE(OFFLINE_WEB_APPLICATIONS)
  16590. https://bugs.webkit.org/show_bug.cgi?id=68767
  16591. Reviewed by Eric Seidel.
  16592. As discussed on webkit-dev, almost everyone has this enable turned on
  16593. and this feature is unlikely to be removed from the web platform given
  16594. its popularity.
  16595. * CMakeLists.txt:
  16596. * Configurations/FeatureDefines.xcconfig:
  16597. * GNUmakefile.am:
  16598. * GNUmakefile.list.am:
  16599. * WebCore.exp.in:
  16600. * WebCore.pro:
  16601. * bindings/cpp/WebDOMEventTarget.cpp:
  16602. (toWebKit):
  16603. * bindings/js/JSEventTarget.cpp:
  16604. (WebCore::toJS):
  16605. (WebCore::toEventTarget):
  16606. * bindings/v8/V8DOMWrapper.cpp:
  16607. (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
  16608. * dom/EventTarget.cpp:
  16609. (WebCore::EventTarget::toDOMApplicationCache):
  16610. * dom/EventTarget.h:
  16611. * features.pri:
  16612. * history/PageCache.cpp:
  16613. (WebCore::logCanCacheFrameDecision):
  16614. (WebCore::PageCache::canCachePageContainingThisFrame):
  16615. * html/HTMLHtmlElement.cpp:
  16616. (WebCore::HTMLHtmlElement::insertedByParser):
  16617. * html/HTMLHtmlElement.h:
  16618. * html/HTMLMediaElement.cpp:
  16619. (WebCore::createFileURLForApplicationCacheResource):
  16620. (WebCore::HTMLMediaElement::loadResource):
  16621. * html/ImageDocument.cpp:
  16622. (WebCore::ImageDocument::createDocumentStructure):
  16623. * html/MediaDocument.cpp:
  16624. (WebCore::MediaDocumentParser::createDocumentStructure):
  16625. * html/PluginDocument.cpp:
  16626. (WebCore::PluginDocumentParser::createDocumentStructure):
  16627. * html/parser/HTMLConstructionSite.cpp:
  16628. (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
  16629. * inspector/InspectorApplicationCacheAgent.cpp:
  16630. * inspector/InspectorApplicationCacheAgent.h:
  16631. * inspector/InspectorController.cpp:
  16632. (WebCore::InspectorController::InspectorController):
  16633. (WebCore::InspectorController::connectFrontend):
  16634. (WebCore::InspectorController::disconnectFrontend):
  16635. * inspector/InspectorController.h:
  16636. * inspector/InspectorInstrumentation.cpp:
  16637. (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
  16638. * inspector/InspectorInstrumentation.h:
  16639. (WebCore::InspectorInstrumentation::networkStateChanged):
  16640. (WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
  16641. * inspector/InstrumentingAgents.h:
  16642. (WebCore::InstrumentingAgents::InstrumentingAgents):
  16643. (WebCore::InstrumentingAgents::setInspectorApplicationCacheAgent):
  16644. * inspector/WorkerInspectorController.cpp:
  16645. (WebCore::WorkerInspectorController::connectFrontend):
  16646. * inspector/generate-inspector-idl:
  16647. * loader/DocumentLoader.cpp:
  16648. (WebCore::DocumentLoader::DocumentLoader):
  16649. (WebCore::DocumentLoader::mainReceivedError):
  16650. (WebCore::DocumentLoader::stopLoading):
  16651. (WebCore::DocumentLoader::detachFromFrame):
  16652. (WebCore::DocumentLoader::handledOnloadEvents):
  16653. * loader/DocumentLoader.h:
  16654. (WebCore::DocumentLoader::applicationCacheHost):
  16655. * loader/EmptyClients.h:
  16656. (WebCore::EmptyChromeClient::reachedApplicationCacheOriginQuota):
  16657. * loader/FrameLoader.cpp:
  16658. (WebCore::FrameLoader::loadResourceSynchronously):
  16659. * loader/MainResourceLoader.cpp:
  16660. (WebCore::MainResourceLoader::willSendRequest):
  16661. (WebCore::MainResourceLoader::didReceiveResponse):
  16662. (WebCore::MainResourceLoader::didReceiveData):
  16663. (WebCore::MainResourceLoader::didFinishLoading):
  16664. (WebCore::MainResourceLoader::didFail):
  16665. (WebCore::MainResourceLoader::load):
  16666. * loader/ResourceLoader.cpp:
  16667. (WebCore::ResourceLoader::start):
  16668. (WebCore::ResourceLoader::willSendRequest):
  16669. (WebCore::ResourceLoader::didSendData):
  16670. (WebCore::ResourceLoader::didReceiveResponse):
  16671. (WebCore::ResourceLoader::didReceiveData):
  16672. (WebCore::ResourceLoader::didFinishLoading):
  16673. (WebCore::ResourceLoader::didFail):
  16674. (WebCore::ResourceLoader::wasBlocked):
  16675. (WebCore::ResourceLoader::cannotShowURL):
  16676. (WebCore::ResourceLoader::shouldUseCredentialStorage):
  16677. (WebCore::ResourceLoader::willCacheResponse):
  16678. * loader/ResourceLoader.h:
  16679. * loader/appcache/ApplicationCache.cpp:
  16680. * loader/appcache/ApplicationCache.h:
  16681. * loader/appcache/ApplicationCacheGroup.cpp:
  16682. * loader/appcache/ApplicationCacheGroup.h:
  16683. * loader/appcache/ApplicationCacheHost.cpp:
  16684. * loader/appcache/ApplicationCacheHost.h:
  16685. * loader/appcache/ApplicationCacheResource.cpp:
  16686. * loader/appcache/ApplicationCacheResource.h:
  16687. * loader/appcache/ApplicationCacheStorage.cpp:
  16688. * loader/appcache/ApplicationCacheStorage.h:
  16689. * loader/appcache/DOMApplicationCache.cpp:
  16690. * loader/appcache/DOMApplicationCache.h:
  16691. * loader/appcache/DOMApplicationCache.idl:
  16692. * loader/appcache/ManifestParser.cpp:
  16693. (WebCore::parseManifest):
  16694. * loader/appcache/ManifestParser.h:
  16695. * loader/chromium/ResourceLoaderChromium.cpp:
  16696. (WebCore::ResourceLoader::didDownloadData):
  16697. * page/ChromeClient.h:
  16698. * page/DOMWindow.cpp:
  16699. (WebCore::DOMWindow::clear):
  16700. (WebCore::DOMWindow::applicationCache):
  16701. * page/DOMWindow.h:
  16702. (WebCore::DOMWindow::optionalApplicationCache):
  16703. * page/DOMWindow.idl:
  16704. * xml/parser/XMLDocumentParserLibxml2.cpp:
  16705. (WebCore::XMLDocumentParser::startElementNs):
  16706. * xml/parser/XMLDocumentParserQt.cpp:
  16707. (WebCore::XMLDocumentParser::parseStartElement):
  16708. 2011-09-24 Adam Barth <abarth@webkit.org>
  16709. Remove ENABLE(WCSS) and associated code
  16710. https://bugs.webkit.org/show_bug.cgi?id=68759
  16711. Reviewed by Darin Adler.
  16712. As discussed on webkit-dev, we are removing this feature from trunk to
  16713. reduce the number of different configurations.
  16714. * CodeGenerators.pri:
  16715. * GNUmakefile.am:
  16716. * WebCore.pro:
  16717. * css/CSSParser.cpp:
  16718. (WebCore::CSSParser::parseValue):
  16719. * css/CSSParser.h:
  16720. * css/CSSPrimitiveValueMappings.h:
  16721. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  16722. * css/CSSStyleSelector.cpp:
  16723. (WebCore::CSSStyleSelector::applyProperty):
  16724. * css/WCSSPropertyNames.in: Removed.
  16725. * css/WCSSValueKeywords.in: Removed.
  16726. * features.pri:
  16727. * html/HTMLInputElement.cpp:
  16728. (WebCore::HTMLInputElement::HTMLInputElement):
  16729. * html/HTMLInputElement.h:
  16730. * html/TextFieldInputType.cpp:
  16731. (WebCore::TextFieldInputType::sanitizeValue):
  16732. (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
  16733. * rendering/RenderMarquee.cpp:
  16734. (WebCore::RenderMarquee::start):
  16735. * rendering/RenderObject.cpp:
  16736. (WebCore::RenderObject::createObject):
  16737. * rendering/style/RenderStyleConstants.h:
  16738. 2011-09-24 Young Han Lee <joybro@company100.net>
  16739. SVGAnimation does not support 'values' for from-to animations
  16740. https://bugs.webkit.org/show_bug.cgi?id=64859
  16741. Reviewed by Dirk Schulze.
  16742. If from-to animation have discrete calc-mode and have a 'keyTimes' list, values of
  16743. the keyTimes indicate the begin and the end of the animation respectively.[1][2]
  16744. When keyTimes is given, calculate the progress percentage of the animation with it
  16745. even for from-to animation.
  16746. [1] http://www.w3.org/TR/SVG/animate.html#ValueAttributes
  16747. [2] http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AnimFuncValues
  16748. Test: svg/animations/animate-from-to-keyTimes.html
  16749. * svg/SVGAnimationElement.cpp:
  16750. (WebCore::SVGAnimationElement::calculatePercentForFromTo):
  16751. (WebCore::SVGAnimationElement::updateAnimation):
  16752. * svg/SVGAnimationElement.h:
  16753. 2011-09-23 Chris Fleizach <cfleizach@apple.com>
  16754. WebKit does not expose AXPlaceholder value on password fields
  16755. https://bugs.webkit.org/show_bug.cgi?id=68745
  16756. Reviewed by Oliver Hunt.
  16757. * accessibility/mac/WebAccessibilityObjectWrapper.mm:
  16758. (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
  16759. 2011-09-23 Mark Rowe <mrowe@apple.com>
  16760. Fix the build.
  16761. * loader/CrossOriginAccessControl.cpp:
  16762. (WebCore::passesAccessControlCheck): Get rid of the exit-time destructor.
  16763. 2011-09-23 Adam Barth <abarth@webkit.org>
  16764. Canvas security checks show up on HTML5GamingTest benchmark
  16765. https://bugs.webkit.org/show_bug.cgi?id=68743
  16766. Reviewed by Oliver Hunt.
  16767. Prior to this patch, the canvas security checks took as much as 4% of
  16768. the time on the HTML5GamingTest benchmark:
  16769. http://craftymind.com/factory/guimark2/HTML5GamingTest.html
  16770. This patch uses a couple of AtomicStrings and shuffles around the order
  16771. of the security check to take this down to around 0.1% (which is near
  16772. the noise floor of what I can measure with my profiler).
  16773. * html/canvas/CanvasRenderingContext.cpp:
  16774. (WebCore::CanvasRenderingContext::wouldTaintOrigin):
  16775. * loader/CrossOriginAccessControl.cpp:
  16776. (WebCore::passesAccessControlCheck):
  16777. 2011-09-23 Justin Novosad <junov@chromium.org>
  16778. Unwarranted DOM Exception when canvas2D drawImage is called with src
  16779. rect out of bounds
  16780. https://bugs.webkit.org/show_bug.cgi?id=65709
  16781. Reviewed by Oliver Hunt.
  16782. * html/canvas/CanvasRenderingContext2D.cpp:
  16783. (WebCore::CanvasRenderingContext2D::drawImage):
  16784. Return early without throwing an exception if source rectangle is out of
  16785. bounds to match the spec.
  16786. 2011-09-23 Lukasz Slachciak <l.slachciak@samsung.com>
  16787. Printing of notImplemented() when logging enabled.
  16788. https://bugs.webkit.org/show_bug.cgi?id=64590
  16789. Printing of notImplemented() method was enabled on Debug builds only.
  16790. Now it is enabled when logging is enabled.
  16791. Reviewed by Oliver Hunt.
  16792. No new tests because there is no new functionality.
  16793. * platform/NotImplemented.h: Non-debug mode replaced with non-logging mode.
  16794. 2011-09-23 Mihai Parparita <mihaip@chromium.org>
  16795. [Chromium] REGRESSION (r95725): Resizing a window doesn't resize the contents
  16796. https://bugs.webkit.org/show_bug.cgi?id=68730
  16797. Reviewed by James Robinson.
  16798. Adds a missing contentsResized() call in ScrollView::setFrameRect.
  16799. Test: fast/dom/Window/window-resize-contents.html
  16800. * platform/ScrollView.cpp:
  16801. (WebCore::ScrollView::setFrameRect):
  16802. 2011-09-23 Adam Klein <adamk@chromium.org>
  16803. Add ENABLE_MUTATION_OBSERVERS feature flag
  16804. https://bugs.webkit.org/show_bug.cgi?id=68732
  16805. Reviewed by Ojan Vafai.
  16806. This flag will guard an implementation of the "Mutation Observers" proposed in
  16807. http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html
  16808. * Configurations/FeatureDefines.xcconfig:
  16809. * GNUmakefile.am:
  16810. 2011-09-23 Varun Jain <varunjain@google.com>
  16811. Refactor WebViewImpl::scrollFocusedNodeIntoRect to a better place and add tests
  16812. https://bugs.webkit.org/show_bug.cgi?id=68198
  16813. Reviewed by Dimitri Glazkov.
  16814. Tests: fast/dom/scroll-element-to-rect-centered.html
  16815. fast/dom/scroll-element-to-rect.html
  16816. * WebCore.exp.in:
  16817. * page/FrameView.cpp:
  16818. (WebCore::FrameView::scrollElementToRect):
  16819. * page/FrameView.h:
  16820. * testing/Internals.cpp:
  16821. (WebCore::Internals::scrollElementToRect):
  16822. * testing/Internals.h:
  16823. * testing/Internals.idl:
  16824. 2011-09-23 Mihai Parparita <mihaip@chromium.org>
  16825. Unreviewed, rolling out r95860.
  16826. http://trac.webkit.org/changeset/95860
  16827. https://bugs.webkit.org/show_bug.cgi?id=68648
  16828. Breaks overhang rendering on Chromium Mac
  16829. * platform/chromium/ScrollbarThemeChromium.cpp:
  16830. * platform/chromium/ScrollbarThemeChromium.h:
  16831. * platform/chromium/ScrollbarThemeChromiumMac.h:
  16832. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  16833. (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
  16834. (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
  16835. 2011-09-23 Dean Jackson <dino@apple.com>
  16836. Add -webkit-filter to CSSPropertyNames
  16837. https://bugs.webkit.org/show_bug.cgi?id=68675
  16838. Reviewed by Simon Fraser.
  16839. Add property and rudimentary parsing for -webkit-filter. The
  16840. property value isn't preserved anywhere yet. Add
  16841. stub definition for computed style.
  16842. Test: css3/filters/filter-property.html
  16843. * css/CSSComputedStyleDeclaration.cpp:
  16844. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  16845. * css/CSSParser.cpp:
  16846. (WebCore::CSSParser::parseValue):
  16847. (WebCore::CSSParser::parseFilter):
  16848. * css/CSSParser.h:
  16849. * css/CSSPropertyNames.in:
  16850. * css/CSSStyleSelector.cpp:
  16851. (WebCore::CSSStyleSelector::applyProperty):
  16852. 2011-09-23 Antoine Labour <piman@chromium.org>
  16853. Remove preserves3D() from CCLayerDelegate, replacing it by setting the
  16854. value explicitly after creating a layer, or setting its delegate.
  16855. https://bugs.webkit.org/show_bug.cgi?id=68295
  16856. Reviewed by James Robinson.
  16857. Covered by compositing/ layeout tests.
  16858. * platform/graphics/chromium/GraphicsLayerChromium.cpp:
  16859. (WebCore::GraphicsLayerChromium::setContentsToCanvas):
  16860. (WebCore::GraphicsLayerChromium::setContentsToMedia):
  16861. (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
  16862. (WebCore::GraphicsLayerChromium::setupContentsLayer):
  16863. * platform/graphics/chromium/GraphicsLayerChromium.h:
  16864. * platform/graphics/chromium/LayerChromium.cpp:
  16865. (WebCore::LayerChromium::LayerChromium):
  16866. * platform/graphics/chromium/LayerChromium.h:
  16867. (WebCore::LayerChromium::setPreserves3D):
  16868. (WebCore::LayerChromium::preserves3D):
  16869. 2011-09-23 Julien Chaffraix <jchaffraix@webkit.org>
  16870. Implicit conversion double to float in ShadowBlur::adjustBlurRadius
  16871. https://bugs.webkit.org/show_bug.cgi?id=68722
  16872. Reviewed by Simon Fraser.
  16873. * platform/graphics/ShadowBlur.cpp:
  16874. (WebCore::ShadowBlur::adjustBlurRadius): Added 2 explicit
  16875. conversions.
  16876. 2011-09-23 Dan Bernstein <mitz@apple.com>
  16877. <rdar://problem/10178576> REGRESSION (r95391): Crash in -[WebCascadeList objectAtIndex:] when a font-family list contains missing fonts
  16878. https://bugs.webkit.org/show_bug.cgi?id=68737
  16879. Reviewed by Darin Adler.
  16880. Test: fast/text/combining-character-sequence-fallback-crash.html
  16881. * platform/graphics/mac/ComplexTextControllerCoreText.mm:
  16882. (-[WebCascadeList initWithFont:WebCore::character:]): Changed to intialize _count to the exact
  16883. number of FontData instances in the fallback list rather than the number of font families in the
  16884. font description.
  16885. 2011-09-23 David Reveman <reveman@chromium.org>
  16886. [Chromium] Fix CSS 3D corner anti-aliasing.
  16887. https://bugs.webkit.org/show_bug.cgi?id=68087
  16888. Reviewed by James Robinson.
  16889. Render sharp corners more correctly by adding bounding box
  16890. edges to anti-aliasing shaders.
  16891. Test: platform/chromium/compositing/3d-corners.html
  16892. * platform/graphics/chromium/ShaderChromium.cpp:
  16893. (WebCore::FragmentShaderRGBATexAlphaAA::getShaderString):
  16894. (WebCore::FragmentShaderRGBATexClampAlphaAA::getShaderString):
  16895. (WebCore::FragmentShaderRGBATexClampSwizzleAlphaAA::getShaderString):
  16896. (WebCore::FragmentShaderRGBATexAlphaMaskAA::getShaderString):
  16897. * platform/graphics/chromium/cc/CCRenderSurface.cpp:
  16898. (WebCore::CCRenderSurface::drawLayer):
  16899. (WebCore::CCRenderSurface::drawSurface):
  16900. * platform/graphics/chromium/cc/CCRenderSurface.h:
  16901. * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
  16902. (WebCore::CCTiledLayerImpl::draw):
  16903. (WebCore::CCTiledLayerImpl::drawTiles):
  16904. * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
  16905. 2011-09-23 Oliver Hunt <oliver@apple.com>
  16906. Make write barriers actually do something when enabled
  16907. https://bugs.webkit.org/show_bug.cgi?id=68717
  16908. Reviewed by Geoffrey Garen.
  16909. Add a forwarding header, and fix an evaluation ordering
  16910. issue that shows up if you try to use write barriers.
  16911. * ForwardingHeaders/heap/CardSet.h: Added.
  16912. * bindings/js/JSEventListener.h:
  16913. (WebCore::JSEventListener::jsFunction):
  16914. 2011-09-23 James Robinson <jamesr@chromium.org>
  16915. Avoid updating compositing state during paint
  16916. https://bugs.webkit.org/show_bug.cgi?id=68727
  16917. Reviewed by Simon Fraser.
  16918. We shouldn't update our compositing state in the middle of a paint. The call to
  16919. updateCompositingAndLayerListsIfNeeded() was added to RenderLayer::paintLayer in r45715, which was intended to
  16920. fix this exact issue. Based off the ChangeLog entries, I think that this was just a typo.
  16921. * rendering/RenderLayer.cpp:
  16922. (WebCore::RenderLayer::paintLayer):
  16923. (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
  16924. * rendering/RenderLayerCompositor.cpp:
  16925. (WebCore::RenderLayerCompositor::updateCompositingLayers):
  16926. * rendering/RenderLayerCompositor.h:
  16927. 2011-09-23 Fady Samuel <fsamuel@chromium.org>
  16928. Refactor paintOverhangAreas to allow non-Mac Chromium platforms to reuse code
  16929. https://bugs.webkit.org/show_bug.cgi?id=68648
  16930. Reviewed by Dimitri Glazkov.
  16931. No new tests because there's no change in functionality (yet).
  16932. * platform/chromium/ScrollbarThemeChromium.cpp:
  16933. (WebCore::ScrollbarThemeChromium::ScrollbarThemeChromium):
  16934. (WebCore::ScrollbarThemeChromium::~ScrollbarThemeChromium):
  16935. (WebCore::ScrollbarThemeChromium::paintOverhangAreas):
  16936. * platform/chromium/ScrollbarThemeChromium.h:
  16937. * platform/chromium/ScrollbarThemeChromiumMac.h:
  16938. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  16939. (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
  16940. 2011-09-23 Ojan Vafai <ojan@chromium.org>
  16941. remove physical flex-flow values to match the updated spec
  16942. https://bugs.webkit.org/show_bug.cgi?id=68728
  16943. Reviewed by Tony Chang.
  16944. * css/CSSParser.cpp:
  16945. (WebCore::CSSParser::parseValue):
  16946. * css/CSSPrimitiveValueMappings.h:
  16947. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  16948. (WebCore::CSSPrimitiveValue::operator EFlexFlow):
  16949. * css/CSSValueKeywords.in:
  16950. * rendering/style/RenderStyleConstants.h:
  16951. 2011-09-23 Abhishek Arya <inferno@chromium.org>
  16952. Style not updated for :before, :after content
  16953. in ruby text.
  16954. https://bugs.webkit.org/show_bug.cgi?id=68625
  16955. Reviewed by Dave Hyatt.
  16956. Test: fast/ruby/ruby-text-before-after-content.html
  16957. * rendering/RenderRubyText.cpp:
  16958. (WebCore::RenderRubyText::updateBeforeAfterContent):
  16959. * rendering/RenderRubyText.h:
  16960. 2011-09-22 Ojan Vafai <ojan@chromium.org>
  16961. refactor RenderFlexibleBox to use flex-flow aware methods
  16962. https://bugs.webkit.org/show_bug.cgi?id=68665
  16963. Reviewed by Tony Chang.
  16964. This is just a refactor. Just move the all the code that needs to
  16965. be flow aware into helper functions. Actually making them flow-aware
  16966. can be done in a followup patch.
  16967. * rendering/RenderBlock.cpp:
  16968. * rendering/RenderBlock.h:
  16969. Moved setLogicalLocationForChild into RenderFlexibleBox since that was the only caller.
  16970. * rendering/RenderFlexibleBox.cpp:
  16971. (WebCore::RenderFlexibleBox::hasOrthogonalFlow):
  16972. (WebCore::RenderFlexibleBox::isHorizontalFlow):
  16973. (WebCore::RenderFlexibleBox::isLeftToRightFlow):
  16974. (WebCore::RenderFlexibleBox::setFlowAwareLogicalHeight):
  16975. (WebCore::RenderFlexibleBox::flowAwareLogicalHeightForChild):
  16976. (WebCore::RenderFlexibleBox::flowAwareLogicalWidthForChild):
  16977. (WebCore::RenderFlexibleBox::flowAwareLogicalHeight):
  16978. (WebCore::RenderFlexibleBox::flowAwareContentLogicalWidth):
  16979. (WebCore::RenderFlexibleBox::flowAwareAvailableLogicalWidth):
  16980. (WebCore::RenderFlexibleBox::flowAwareBorderStart):
  16981. (WebCore::RenderFlexibleBox::flowAwareBorderBefore):
  16982. (WebCore::RenderFlexibleBox::flowAwareBorderAfter):
  16983. (WebCore::RenderFlexibleBox::flowAwarePaddingStart):
  16984. (WebCore::RenderFlexibleBox::flowAwarePaddingBefore):
  16985. (WebCore::RenderFlexibleBox::flowAwarePaddingAfter):
  16986. (WebCore::RenderFlexibleBox::flowAwareMarginStartForChild):
  16987. (WebCore::RenderFlexibleBox::flowAwareMarginBeforeForChild):
  16988. (WebCore::RenderFlexibleBox::flowAwareMarginAfterForChild):
  16989. (WebCore::RenderFlexibleBox::setFlowAwareMarginStartForChild):
  16990. (WebCore::RenderFlexibleBox::setFlowAwareMarginEndForChild):
  16991. (WebCore::RenderFlexibleBox::setFlowAwareLogicalLocationForChild):
  16992. (WebCore::RenderFlexibleBox::logicalBorderAndPaddingWidthForChild):
  16993. (WebCore::RenderFlexibleBox::logicalScrollbarHeightForChild):
  16994. (WebCore::RenderFlexibleBox::marginStartStyleForChild):
  16995. (WebCore::RenderFlexibleBox::marginEndStyleForChild):
  16996. (WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
  16997. (WebCore::RenderFlexibleBox::layoutInlineDirection):
  16998. (WebCore::RenderFlexibleBox::logicalPositiveFlexForChild):
  16999. (WebCore::RenderFlexibleBox::logicalNegativeFlexForChild):
  17000. (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
  17001. (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
  17002. (WebCore::RenderFlexibleBox::setLogicalOverrideSize):
  17003. (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
  17004. * rendering/RenderFlexibleBox.h:
  17005. 2011-09-23 David Hyatt <hyatt@apple.com>
  17006. https://bugs.webkit.org/show_bug.cgi?id=68719
  17007. Push through multiple regions when an object doesn't fit in any of them. Unlike with pages and
  17008. columns, when regions have a non-uniform height, we may need to push through multiple regions
  17009. in order to find one that fits.
  17010. Added an optimization for quickly noticing if regions do have a uniform height so that we can
  17011. treat them like columns and pages if so.
  17012. Also fixed the end line matchup to properly null out endLine when no next line box exists. The new
  17013. layout tests I wrote to cover this feature exposed this crasher, so fixing it in order to land
  17014. the new tests.
  17015. Reviewed by Anders Carlsson.
  17016. Added new tests in fast/regions.
  17017. * rendering/RenderBlock.cpp:
  17018. (WebCore::RenderBlock::adjustForUnsplittableChild):
  17019. (WebCore::RenderBlock::pushToNextPageWithMinimumLogicalHeight):
  17020. (WebCore::RenderBlock::adjustLinePositionForPagination):
  17021. * rendering/RenderBlock.h:
  17022. * rendering/RenderBlockLineLayout.cpp:
  17023. (WebCore::RenderBlock::matchedEndLine):
  17024. * rendering/RenderFlowThread.cpp:
  17025. (WebCore::RenderFlowThread::RenderFlowThread):
  17026. (WebCore::RenderFlowThread::layout):
  17027. * rendering/RenderFlowThread.h:
  17028. 2011-09-23 Konstantin Scheglov <scheglov@google.com>
  17029. Redrawing dirty parts of a large table is very slow
  17030. https://bugs.webkit.org/show_bug.cgi?id=64546
  17031. Reviewed by David Hyatt.
  17032. Move CollapsedBorderValues into RenderTable.h.
  17033. Calculate collapsed borders only once and re-use during paintObject().
  17034. Invalidate cache when cell, row, row group, col, col group or table border is changed.
  17035. Tests: fast/table/border-collapsing/cached-cell-append.html
  17036. fast/table/border-collapsing/cached-cell-remove.html
  17037. fast/table/border-collapsing/cached-change-cell-border-color.html
  17038. fast/table/border-collapsing/cached-change-cell-border-width.html
  17039. fast/table/border-collapsing/cached-change-col-border-color.html
  17040. fast/table/border-collapsing/cached-change-col-border-width.html
  17041. fast/table/border-collapsing/cached-change-colgroup-border-color.html
  17042. fast/table/border-collapsing/cached-change-colgroup-border-width.html
  17043. fast/table/border-collapsing/cached-change-row-border-color.html
  17044. fast/table/border-collapsing/cached-change-row-border-width.html
  17045. fast/table/border-collapsing/cached-change-table-border-color.html
  17046. fast/table/border-collapsing/cached-change-table-border-width.html
  17047. fast/table/border-collapsing/cached-change-tbody-border-color.html
  17048. fast/table/border-collapsing/cached-change-tbody-border-width.html
  17049. * rendering/RenderTable.cpp:
  17050. (WebCore::RenderTable::RenderTable):
  17051. (WebCore::RenderTable::styleDidChange): Invalidate cache on border change.
  17052. (WebCore::RenderTable::layout): Invalidate cache if layout changed.
  17053. (WebCore::RenderTable::recalcCollapsedBorders): Ensures that cache is valid.
  17054. (WebCore::RenderTable::paintObject): Use cached collapsed borders.
  17055. * rendering/RenderTable.h:
  17056. (WebCore::RenderTable::invalidateCollapsedBorders): Accessor to mark cache invalid.
  17057. (WebCore::RenderTable::currentBorderValue): Rename to use word "value".
  17058. * rendering/RenderTableCell.cpp:
  17059. (WebCore::RenderTableCell::styleDidChange): If border changed, invalidate cache.
  17060. Rename to use word "value".
  17061. (WebCore::addBorderStyle):
  17062. (WebCore::RenderTableCell::collectBorderValues):
  17063. (WebCore::compareBorderValuesForQSort):
  17064. (WebCore::RenderTableCell::sortBorderValues):
  17065. (WebCore::RenderTableCell::paintCollapsedBorder):
  17066. * rendering/RenderTableCell.h:
  17067. If border changed, invalidate cache.
  17068. * rendering/RenderTableCol.cpp:
  17069. (WebCore::RenderTableCol::styleDidChange):
  17070. * rendering/RenderTableCol.h:
  17071. * rendering/RenderTableRow.cpp:
  17072. (WebCore::RenderTableRow::styleDidChange):
  17073. * rendering/RenderTableSection.cpp:
  17074. (WebCore::RenderTableSection::styleDidChange):
  17075. 2011-09-23 Mark Hahnenberg <mhahnenberg@apple.com>
  17076. Add static version of JSCell::visitChildren
  17077. https://bugs.webkit.org/show_bug.cgi?id=68404
  17078. Reviewed by Darin Adler.
  17079. No new tests.
  17080. In this patch we just extract the bodies of the virtual visitChildren methods
  17081. throughout the JSCell inheritance hierarchy out into static methods, which are
  17082. now called from the virtual methods. This is an intermediate step in trying to
  17083. move the virtual-ness of visitChildren into our own custom vtable stored in
  17084. ClassInfo. We need to convert the methods to static methods in order to be
  17085. able to more easily store and refer to them in our custom vtable since normal
  17086. member methods store some implicit information in their types, making it
  17087. impossible to store them generically in ClassInfo.
  17088. * WebCore.exp.in:
  17089. * bindings/js/JSAttrCustom.cpp:
  17090. (WebCore::JSAttr::visitChildrenVirtual):
  17091. (WebCore::JSAttr::visitChildren):
  17092. * bindings/js/JSAudioContextCustom.cpp:
  17093. (WebCore::JSAudioContext::visitChildrenVirtual):
  17094. (WebCore::JSAudioContext::visitChildren):
  17095. * bindings/js/JSCSSRuleCustom.cpp:
  17096. (WebCore::JSCSSRule::visitChildrenVirtual):
  17097. (WebCore::JSCSSRule::visitChildren):
  17098. * bindings/js/JSCSSStyleDeclarationCustom.cpp:
  17099. (WebCore::JSCSSStyleDeclaration::visitChildrenVirtual):
  17100. (WebCore::JSCSSStyleDeclaration::visitChildren):
  17101. * bindings/js/JSCanvasRenderingContextCustom.cpp:
  17102. (WebCore::JSCanvasRenderingContext::visitChildrenVirtual):
  17103. (WebCore::JSCanvasRenderingContext::visitChildren):
  17104. * bindings/js/JSDOMGlobalObject.cpp:
  17105. (WebCore::JSDOMGlobalObject::visitChildrenVirtual):
  17106. (WebCore::JSDOMGlobalObject::visitChildren):
  17107. * bindings/js/JSDOMGlobalObject.h:
  17108. * bindings/js/JSDOMWindowCustom.cpp:
  17109. (WebCore::JSDOMWindow::visitChildrenVirtual):
  17110. (WebCore::JSDOMWindow::visitChildren):
  17111. * bindings/js/JSDOMWindowShell.cpp:
  17112. (WebCore::JSDOMWindowShell::visitChildrenVirtual):
  17113. (WebCore::JSDOMWindowShell::visitChildren):
  17114. * bindings/js/JSDOMWindowShell.h:
  17115. * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
  17116. (WebCore::JSJavaScriptAudioNode::visitChildrenVirtual):
  17117. (WebCore::JSJavaScriptAudioNode::visitChildren):
  17118. * bindings/js/JSMessageChannelCustom.cpp:
  17119. (WebCore::JSMessageChannel::visitChildrenVirtual):
  17120. (WebCore::JSMessageChannel::visitChildren):
  17121. * bindings/js/JSMessagePortCustom.cpp:
  17122. (WebCore::JSMessagePort::visitChildrenVirtual):
  17123. (WebCore::JSMessagePort::visitChildren):
  17124. * bindings/js/JSNamedNodeMapCustom.cpp:
  17125. (WebCore::JSNamedNodeMap::visitChildrenVirtual):
  17126. (WebCore::JSNamedNodeMap::visitChildren):
  17127. * bindings/js/JSNodeCustom.cpp:
  17128. (WebCore::JSNode::visitChildrenVirtual):
  17129. (WebCore::JSNode::visitChildren):
  17130. * bindings/js/JSNodeFilterCustom.cpp:
  17131. (WebCore::JSNodeFilter::visitChildrenVirtual):
  17132. (WebCore::JSNodeFilter::visitChildren):
  17133. * bindings/js/JSNodeIteratorCustom.cpp:
  17134. (WebCore::JSNodeIterator::visitChildrenVirtual):
  17135. (WebCore::JSNodeIterator::visitChildren):
  17136. * bindings/js/JSSVGElementInstanceCustom.cpp:
  17137. (WebCore::JSSVGElementInstance::visitChildrenVirtual):
  17138. (WebCore::JSSVGElementInstance::visitChildren):
  17139. * bindings/js/JSSharedWorkerCustom.cpp:
  17140. (WebCore::JSSharedWorker::visitChildrenVirtual):
  17141. (WebCore::JSSharedWorker::visitChildren):
  17142. * bindings/js/JSStyleSheetCustom.cpp:
  17143. (WebCore::JSStyleSheet::visitChildrenVirtual):
  17144. (WebCore::JSStyleSheet::visitChildren):
  17145. * bindings/js/JSTreeWalkerCustom.cpp:
  17146. (WebCore::JSTreeWalker::visitChildrenVirtual):
  17147. (WebCore::JSTreeWalker::visitChildren):
  17148. * bindings/js/JSWebGLRenderingContextCustom.cpp:
  17149. (WebCore::JSWebGLRenderingContext::visitChildrenVirtual):
  17150. (WebCore::JSWebGLRenderingContext::visitChildren):
  17151. * bindings/js/JSWorkerContextCustom.cpp:
  17152. (WebCore::JSWorkerContext::visitChildrenVirtual):
  17153. (WebCore::JSWorkerContext::visitChildren):
  17154. * bindings/js/JSXMLHttpRequestCustom.cpp:
  17155. (WebCore::JSXMLHttpRequest::visitChildrenVirtual):
  17156. (WebCore::JSXMLHttpRequest::visitChildren):
  17157. * bindings/js/JSXPathResultCustom.cpp:
  17158. (WebCore::JSXPathResult::visitChildrenVirtual):
  17159. (WebCore::JSXPathResult::visitChildren):
  17160. * bindings/scripts/CodeGeneratorJS.pm:
  17161. (GenerateHeader):
  17162. (GenerateImplementation):
  17163. * bindings/scripts/test/JS/JSTestObj.cpp:
  17164. (WebCore::JSTestObj::visitChildrenVirtual):
  17165. (WebCore::JSTestObj::visitChildren):
  17166. * bindings/scripts/test/JS/JSTestObj.h:
  17167. * bridge/qt/qt_instance.cpp:
  17168. (JSC::Bindings::QtRuntimeObject::visitChildrenVirtual):
  17169. (JSC::Bindings::QtRuntimeObject::visitChildren):
  17170. * bridge/qt/qt_runtime.cpp:
  17171. (JSC::Bindings::QtRuntimeMetaMethod::visitChildrenVirtual):
  17172. (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
  17173. * bridge/qt/qt_runtime.h:
  17174. * workers/WorkerContext.h:
  17175. 2011-09-23 Mario Sanchez Prada <msanchez@igalia.com>
  17176. [GTK] Remove extra space at the beginning of the last line.
  17177. https://bugs.webkit.org/show_bug.cgi?id=68710
  17178. Reviewed by Gustavo Noronha Silva.
  17179. * platform/network/soup/SocketStreamHandleSoup.cpp:
  17180. 2011-09-23 Mario Sanchez Prada <msanchez@igalia.com>
  17181. [GTK] Fix coding style issues in ResourceRequestSoup.cpp
  17182. https://bugs.webkit.org/show_bug.cgi?id=68707
  17183. Reviewed by Xan Lopez.
  17184. This patch fixes some issues as reported by check-webkit-style.
  17185. * platform/network/soup/ResourceRequestSoup.cpp:
  17186. (WebCore::ResourceRequest::updateFromSoupMessage):
  17187. 2011-09-22 Ademar de Souza Reis Jr. <ademar.reis@openbossa.org>
  17188. Unreviewed: [Qt] Workaround MSVC2010 problems when linking QtWebKit
  17189. Include MSVC2010 in the list of compilers where incremental
  17190. build is disabled (INCREMENTAL:NO).
  17191. Change suggested by Simo Falt <simo.falt@nokia.com>, already present
  17192. in the Qt-4.8 repository where the problem was identified.
  17193. * WebCore.pri:
  17194. 2011-09-23 Darin Adler <darin@apple.com>
  17195. Try to fix warning seen in some 32-bit builds.
  17196. * rendering/RenderBoxModelObject.cpp:
  17197. (WebCore::backgroundRectAdjustedForBleedAvoidance):
  17198. Use an explicit cast for the conversion from a double to a LayoutUnit.
  17199. 2011-09-23 Vsevolod Vlasov <vsevik@chromium.org>
  17200. Web Inspector: Clicking on error doesn't point on the correct line if user searched something
  17201. https://bugs.webkit.org/show_bug.cgi?id=68627
  17202. Reviewed by Yury Semikhatsky.
  17203. * inspector/front-end/SearchController.js:
  17204. (WebInspector.SearchController.prototype.disableSearchUntilExplicitAction):
  17205. * inspector/front-end/inspector.js:
  17206. (WebInspector._showAnchorLocationInPanel):
  17207. 2011-09-23 Vsevolod Vlasov <vsevik@chromium.org>
  17208. Web Inspector: InspectorStyleSheet should use stylesheet's original url, not final one.
  17209. https://bugs.webkit.org/show_bug.cgi?id=68631
  17210. Reviewed by Yury Semikhatsky.
  17211. Test: http/tests/inspector/styles/styles-redirected-css.html
  17212. * inspector/InspectorStyleSheet.cpp:
  17213. (WebCore::InspectorStyleSheet::resourceStyleSheetText):
  17214. 2011-09-23 Vsevolod Vlasov <vsevik@chromium.org>
  17215. Web Inspector: XHRs requests with the same url as main resource should have correct category.
  17216. https://bugs.webkit.org/show_bug.cgi?id=68646
  17217. Reviewed by Yury Semikhatsky.
  17218. Test: http/tests/inspector/network/network-xhr-same-url-as-main-resource.html
  17219. * inspector/InspectorResourceAgent.cpp:
  17220. (WebCore::InspectorResourceAgent::didReceiveResponse):
  17221. 2011-09-23 Vsevolod Vlasov <vsevik@chromium.org>
  17222. Web Inspector: Add context menu action to navigate from resources panel resource to network panel.
  17223. https://bugs.webkit.org/show_bug.cgi?id=68657
  17224. Reviewed by Yury Semikhatsky.
  17225. * English.lproj/localizedStrings.js:
  17226. * inspector/front-end/NetworkPanel.js:
  17227. (WebInspector.NetworkPanel.prototype.showAnchorLocation):
  17228. (WebInspector.NetworkPanel.prototype.revealAndHighlightResource):
  17229. * inspector/front-end/ResourcesPanel.js:
  17230. (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
  17231. (WebInspector.FrameResourceTreeElement.prototype._appendOpenInNetworkPanelAction):
  17232. * inspector/front-end/inspector.js:
  17233. (WebInspector.openInNetworkPanelLabel):
  17234. (WebInspector.openRequestInNetworkPanel):
  17235. 2011-09-23 Deepak Sherveghar <bpwv64@motorola.com>
  17236. [Gtk] Title attribute is not respected on option elements.
  17237. https://bugs.webkit.org/show_bug.cgi?id=68615
  17238. Reviewed by Martin Robinson.
  17239. Set tooltip on PopupMenuGtk items created from GtkActions.
  17240. * platform/gtk/GtkPopupMenu.cpp:
  17241. (WebCore::GtkPopupMenu::appendItem): Added a call to gtk_widget_set_tooltip_text()
  17242. to set the tooltip on menuitem. Tooltip text is retrieved from GtkAction.
  17243. * platform/gtk/PopupMenuGtk.cpp:
  17244. (WebCore::PopupMenuGtk::createGtkActionForMenuItem): Pass the tooltip text
  17245. from client when creating a GtkAction.
  17246. 2011-09-23 Yael Aharon <yael.aharon@nokia.com>
  17247. [Qt][Gtk] Wrong state when pausing a video in the "playing" event handler
  17248. https://bugs.webkit.org/show_bug.cgi?id=68589
  17249. Reviewed by Philippe Normand.
  17250. Test: media/video-playing-and-pause.html
  17251. As suggested by Alexis Menard on IRC, query gstreamer's state instead of using a cached value
  17252. in MediaPlayerGstreamerPrivate::paused().
  17253. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  17254. (WebCore::MediaPlayerPrivateGStreamer::paused):
  17255. 2011-09-15 Pavel Podivilov <podivilov@chromium.org>
  17256. Web Inspector: skip overlapping scripts when displaying concatenated content.
  17257. https://bugs.webkit.org/show_bug.cgi?id=68144
  17258. Dynamically appended script tags have wrong offsets and cause troubles building concatenated content.
  17259. Reviewed by Pavel Feldman.
  17260. * inspector/front-end/SourceFile.js:
  17261. (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent.appendChunk):
  17262. (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
  17263. 2011-09-23 Ilya Tikhonovsky <loislo@chromium.org>
  17264. Web Inspector: file open dialog appears when user clicks on the timeline bar in timeline panel.
  17265. https://bugs.webkit.org/show_bug.cgi?id=68312
  17266. Reviewed by Yury Semikhatsky.
  17267. * inspector/front-end/TimelinePanel.js:
  17268. (WebInspector.TimelinePanel.prototype._createFileSelector):
  17269. 2011-09-23 Sheriff Bot <webkit.review.bot@gmail.com>
  17270. Unreviewed, rolling out r95383.
  17271. http://trac.webkit.org/changeset/95383
  17272. https://bugs.webkit.org/show_bug.cgi?id=68690
  17273. It broke WebInspector.Timeline.LoadFromFile feature.
  17274. (Requested by loislo on #webkit).
  17275. * inspector/front-end/TimelinePanel.js:
  17276. (WebInspector.TimelinePanel.prototype._createFileSelector):
  17277. 2011-09-23 Rob Buis <rbuis@rim.com>
  17278. use after free in WebCore::SVGTRefElement::updateReferencedText
  17279. https://bugs.webkit.org/show_bug.cgi?id=67555
  17280. Reviewed by Nikolas Zimmermann.
  17281. Event listeners can outlive the tref element that created them when
  17282. the tref is cloned and then garbage collected, causing a dangling pointer to the
  17283. tref. To fix this do not install event listener until the tref is inserted into the document.
  17284. Test: svg/custom/tref-clone-crash.html
  17285. * svg/SVGTRefElement.cpp:
  17286. (WebCore::SVGTRefElement::svgAttributeChanged):
  17287. (WebCore::SVGTRefElement::insertedIntoDocument):
  17288. * svg/SVGTRefElement.h:
  17289. 2011-09-23 Vsevolod Vlasov <vsevik@chromium.org>
  17290. ASSERTION FAILED: documentLoader in WebKit/Source/WebCore/inspector/InspectorInstrumentation.cpp(597)
  17291. https://bugs.webkit.org/show_bug.cgi?id=68291
  17292. Reviewed by Tony Chang.
  17293. * dom/Document.cpp:
  17294. (WebCore::Document::finishedParsing):
  17295. * inspector/InspectorInstrumentation.cpp:
  17296. (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
  17297. (WebCore::InspectorInstrumentation::loadEventFiredImpl):
  17298. * inspector/InspectorInstrumentation.h:
  17299. (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
  17300. (WebCore::InspectorInstrumentation::loadEventFired):
  17301. * page/DOMWindow.cpp:
  17302. (WebCore::DOMWindow::dispatchLoadEvent):
  17303. 2011-09-22 Tony Chang <tony@chromium.org>
  17304. implement -webkit-flex-order
  17305. https://bugs.webkit.org/show_bug.cgi?id=67432
  17306. Reviewed by Ojan Vafai.
  17307. flex-order can be an int (including negative), but we disallow the two
  17308. smallest values so we can put the numbers into a hash set.
  17309. Also, create two iterators: one that goes in render tree order (we use
  17310. this for the first pass and to collect the possible flex order values)
  17311. and one that goes in flex order.
  17312. Test: css3/flexbox/flex-order.html
  17313. * css/CSSParser.cpp:
  17314. (WebCore::CSSParser::parseValue):
  17315. * rendering/RenderFlexibleBox.cpp:
  17316. (WebCore::FlexOrderHashTraits::emptyValue):
  17317. (WebCore::FlexOrderHashTraits::constructDeletedValue):
  17318. (WebCore::FlexOrderHashTraits::isDeletedValue):
  17319. (WebCore::RenderFlexibleBox::TreeOrderIterator::TreeOrderIterator): A simple iterator
  17320. that goes in render tree order.
  17321. (WebCore::RenderFlexibleBox::TreeOrderIterator::next):
  17322. (WebCore::RenderFlexibleBox::TreeOrderIterator::reset):
  17323. (WebCore::RenderFlexibleBox::TreeOrderIterator::flexOrderValues):
  17324. (WebCore::RenderFlexibleBox::FlexOrderIterator::FlexOrderIterator): An iterator that
  17325. goes in flex-order order. Creating this involves sorting, so only create it once
  17326. and pass it around.
  17327. (WebCore::RenderFlexibleBox::FlexOrderIterator::first):
  17328. (WebCore::RenderFlexibleBox::FlexOrderIterator::next):
  17329. (WebCore::RenderFlexibleBox::FlexOrderIterator::reset):
  17330. (WebCore::RenderFlexibleBox::layoutHorizontalBlock):
  17331. (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
  17332. (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
  17333. (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
  17334. * rendering/RenderFlexibleBox.h:
  17335. 2011-09-22 Darin Adler <darin@apple.com>
  17336. Use AffineTransform scale functions in ShadowBlur::adjustBlurRadius
  17337. https://bugs.webkit.org/show_bug.cgi?id=68667
  17338. Reviewed by Simon Fraser.
  17339. * platform/graphics/ShadowBlur.cpp:
  17340. (WebCore::ShadowBlur::adjustBlurRadius): Use AffineTransform::xScale and
  17341. AffineTransform::yScale instead of the custom code here that seems to do
  17342. the same thing.
  17343. 2011-09-22 Darin Adler <darin@apple.com>
  17344. Remove unneeded type conversion from background bleed code
  17345. https://bugs.webkit.org/show_bug.cgi?id=68669
  17346. Reviewed by Geoffrey Garen.
  17347. * rendering/RenderBoxModelObject.cpp:
  17348. (WebCore::backgroundRectAdjustedForBleedAvoidance): Use ceil instead of ceilf
  17349. and eliminate superflous conversion to float and use of FloatSize. Also added
  17350. a "why" comment.
  17351. 2011-09-22 Darin Adler <darin@apple.com>
  17352. Refactor checks for antialiasing lines to share a single function
  17353. https://bugs.webkit.org/show_bug.cgi?id=68666
  17354. Reviewed by Dan Bernstein.
  17355. * rendering/RenderBlock.cpp:
  17356. (WebCore::RenderBlock::paintColumnRules): Call shouldAntialiasLines.
  17357. * rendering/RenderBoxModelObject.cpp:
  17358. (WebCore::RenderBoxModelObject::paintBorder): Ditto.
  17359. (WebCore::RenderBoxModelObject::shouldAntialiasLines): Added.
  17360. * rendering/RenderBoxModelObject.h: Added shouldAntialiasLines function.
  17361. * rendering/RenderInline.cpp:
  17362. (WebCore::RenderInline::paintOutlineForLine): Call shouldAntialiasLines.
  17363. * rendering/RenderTableCell.cpp:
  17364. (WebCore::RenderTableCell::paintCollapsedBorder): Ditto.
  17365. 2011-09-22 Antoine Labour <piman@chromium.org>
  17366. Remove unused members from LayerChromium.
  17367. These members are never set, and never used.
  17368. Other members that are set but not used have been left (we may use them
  17369. later, e.g. m_opaque).
  17370. https://bugs.webkit.org/show_bug.cgi?id=68297
  17371. Reviewed by James Robinson.
  17372. No functional change, no new test needed.
  17373. * platform/graphics/chromium/LayerChromium.cpp:
  17374. (WebCore::LayerChromium::LayerChromium):
  17375. * platform/graphics/chromium/LayerChromium.h:
  17376. 2011-09-22 Tom Sepez <tsepez@chromium.org>
  17377. Make XSSAuditor extract meaningful snippet from script blocks for comparison
  17378. against the URL when checking for reflection. Avoids getting caugh up in
  17379. trailing comments.
  17380. https://bugs.webkit.org/show_bug.cgi?id=68094
  17381. Reviewed by Adam Barth.
  17382. Tests: http/tests/security/xssAuditor/script-tag-with-trailing-comment.html
  17383. http/tests/security/xssAuditor/script-tag-with-trailing-comment2.html
  17384. http/tests/security/xssAuditor/script-tag-with-trailing-comment3.html
  17385. * html/parser/XSSAuditor.cpp:
  17386. (WebCore::XSSAuditor::filterTokenAfterScriptStartTag):
  17387. (WebCore::XSSAuditor::extractCodeFragment):
  17388. * html/parser/XSSAuditor.h:
  17389. 2011-09-22 Nate Chapin <japhet@chromium.org>
  17390. Remove didReceiveAuthenticationChallenge() from SubresourceLoaderClient.
  17391. Instead, add a load-specific policy for showing the user authentication
  17392. challenge down to ResourceLoaderOptions and enforce it in ResourceLoader.
  17393. https://bugs.webkit.org/show_bug.cgi?id=65330
  17394. Reviewed by Alexey Proskuryakov.
  17395. No new tests, refactor only.
  17396. * loader/DocumentThreadableLoader.cpp:
  17397. * loader/DocumentThreadableLoader.h:
  17398. * loader/MainResourceLoader.cpp:
  17399. * loader/NetscapePlugInStreamLoader.cpp:
  17400. * loader/ResourceLoadScheduler.h:
  17401. * loader/ResourceLoader.cpp:
  17402. (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
  17403. For resource types that always send a challenge to the embedder,
  17404. this patch doesn't change anything. For those that don't, we will
  17405. always try to continue without credentials when they are forbidden
  17406. and the platform supports it.
  17407. When continuing without credentials was initially implemented in
  17408. DocumentThreadableLoader, we sent the ThreadableLoaderClient a didFail(),
  17409. then canceled the SubresourceLoader. This was necessary because of the
  17410. quirks of ThreadableLoader cancellation (we sever the client/loader connections
  17411. before the load actually cancels), but a simple didFail() should suffice at
  17412. the ResourceLoader layer.
  17413. * loader/ResourceLoaderOptions.h:
  17414. * loader/SubresourceLoader.cpp:
  17415. * loader/SubresourceLoader.h:
  17416. * loader/SubresourceLoaderClient.h:
  17417. * loader/cache/CachedResource.cpp:
  17418. * loader/cache/CachedResourceLoader.cpp:
  17419. * loader/cache/CachedResourceLoader.h:
  17420. * loader/icon/IconLoader.cpp: The ResourceLoader implementation of
  17421. didReceiveAuthenticationChallege means that IconLoader will now
  17422. try to continue with credentials on platforms that support it,
  17423. rather than just canceling outright. We still will never prompt
  17424. for authentication for icons.
  17425. * loader/icon/IconLoader.h:
  17426. 2011-09-22 Dean Jackson <dino@apple.com>
  17427. Add ENABLE_CSS_FILTERS
  17428. https://bugs.webkit.org/show_bug.cgi?id=68652
  17429. Reviewed by Simon Fraser.
  17430. * Configurations/FeatureDefines.xcconfig:
  17431. 2011-09-22 Anders Carlsson <andersca@apple.com>
  17432. Make sure to update scrollbars in ScrollView::setFrameRect
  17433. https://bugs.webkit.org/show_bug.cgi?id=68663
  17434. Reviewed by Sam Weinig.
  17435. Call updateScrollbars after setting the frame rect. This was previously done by the
  17436. call to setBoundsSize from RenderWidget::setWidgetGeometry but setBoundsSize was removed
  17437. completely in http://trac.webkit.org/changeset/95725.
  17438. * platform/ScrollView.cpp:
  17439. (WebCore::ScrollView::setFrameRect):
  17440. 2011-09-22 Jon Lee <jonlee@apple.com>
  17441. Progress control gets cropped on the bottom
  17442. https://bugs.webkit.org/show_bug.cgi?id=68302
  17443. <rdar://problem/10069915>
  17444. Reviewed by Kent Tamura.
  17445. As it turns out the smaller control type does not get rendered either, so this patch
  17446. fixes both.
  17447. * manual-tests/dom/progressbar.html: Altered to show both sizes of controls
  17448. * rendering/RenderThemeMac.h:
  17449. * rendering/RenderThemeMac.mm: Added methods to inflate the drawing rect
  17450. (WebCore::RenderThemeMac::progressBarSizes):
  17451. (WebCore::RenderThemeMac::progressBarMargins):
  17452. (WebCore::RenderThemeMac::minimumProgressBarHeight):
  17453. (WebCore::RenderThemeMac::paintProgressBar): Inflate the rect based on minimum desired
  17454. control height and glow margin.
  17455. 2011-09-22 David Hyatt <hyatt@apple.com>
  17456. https://bugs.webkit.org/show_bug.cgi?id=68658
  17457. Make matchedEndLine smart enough to not match lines that have moved to new
  17458. regions with different available content logical widths. When this happens, we go ahead and treat
  17459. the line as failing to match.
  17460. Reviewed by Anders Carlsson.
  17461. Added new tests in fast/regions.
  17462. * rendering/RenderBlock.cpp:
  17463. (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
  17464. * rendering/RenderBlock.h:
  17465. Enhanced to take an optional delta, so that you can check a new position without having to move
  17466. the line box.
  17467. * rendering/RenderBlockLineLayout.cpp:
  17468. (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
  17469. New function that refactors checking for line width changes from region movement as well as the
  17470. float checks. Since the float checks were duplicated twice, this is a nice refactoring.
  17471. (WebCore::RenderBlock::matchedEndLine):
  17472. Changed to call the new helper function that will check both floats and pagination.
  17473. 2011-09-22 Gavin Barraclough <barraclough@apple.com>
  17474. Implement Function.prototype.bind
  17475. https://bugs.webkit.org/show_bug.cgi?id=26382
  17476. Reviewed by Sam Weinig.
  17477. Test: fast/js/function-bind.html
  17478. * bindings/js/JSDOMBinding.cpp:
  17479. (WebCore::objectToStringFunctionGetter):
  17480. * bindings/js/JSDOMWindowCustom.cpp:
  17481. (WebCore::nonCachingStaticFunctionGetter):
  17482. * bindings/js/JSHistoryCustom.cpp:
  17483. (WebCore::nonCachingStaticBackFunctionGetter):
  17484. (WebCore::nonCachingStaticForwardFunctionGetter):
  17485. (WebCore::nonCachingStaticGoFunctionGetter):
  17486. * bindings/js/JSLocationCustom.cpp:
  17487. (WebCore::nonCachingStaticReplaceFunctionGetter):
  17488. (WebCore::nonCachingStaticReloadFunctionGetter):
  17489. (WebCore::nonCachingStaticAssignFunctionGetter):
  17490. - Function::create no longer requires functionStructure() to be passed.
  17491. 2011-09-22 David Hyatt <hyatt@apple.com>
  17492. https://bugs.webkit.org/show_bug.cgi?id=68650
  17493. Make determineStartPosition smart enough to not skip over clean lines that have moved to a new
  17494. region with a different available content logical width. When this happens, we go ahead and treat
  17495. the line as dirty.
  17496. Reviewed by Sam Weinig.
  17497. Covered by existing fast/regions tests.
  17498. * rendering/RenderBlock.cpp:
  17499. (WebCore::RenderBlock::layoutBlock):
  17500. Disable region fitting if we detect that the regions all have uniform widths. In this case we know
  17501. the content width can't vary, so there's no reason to waste time worrying about it.
  17502. (WebCore::RenderBlock::computeLogicalLocationForFloat):
  17503. Pull the content width checking code into computeLogicalLocationForFloat, since we've incorporated
  17504. region fitting into the fixed offsets now rather than the line functions.
  17505. (WebCore::RenderBlock::positionNewFloats):
  17506. Changed because more code moved from here into computeLogicalLocationForFloat.
  17507. (WebCore::RenderBlock::adjustForRegionFittingIfNeeded):
  17508. No changes. Just moved the function above the left offset function.
  17509. (WebCore::RenderBlock::logicalLeftOffsetForContent):
  17510. (WebCore::RenderBlock::logicalRightOffsetForContent):
  17511. Added. These new functions give the fixed left and right offsets for lines in a particular region.
  17512. When no regions are present or when all the regions have a uniform width, they are identical
  17513. to the versions of the functions that take no arguments.
  17514. (WebCore::RenderBlock::logicalRightOffsetForLine):
  17515. Changed to no longer do region fitting, since that's built into logicalRightOffsetForContent now.
  17516. (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
  17517. New function that takes a root line box and compares its cached old content width with the width
  17518. available at the line's new location.
  17519. * rendering/RenderBlock.h:
  17520. (WebCore::RenderBlock::logicalRightOffsetForLine):
  17521. (WebCore::RenderBlock::logicalLeftOffsetForLine):
  17522. Modified to call the logicalXXXOffsetForContent functions that take a block direction position.
  17523. (WebCore::RenderBlock::logicalRightOffsetForContent):
  17524. (WebCore::RenderBlock::logicalLeftOffsetForContent):
  17525. Added the new functions that take a position so that they can fit to the correct region.
  17526. (WebCore::RenderBlock::availableLogicalWidthForContent):
  17527. New helper function that calls right - left (similar to the corresponding line function that includes
  17528. floats).
  17529. * rendering/RenderBlockLineLayout.cpp:
  17530. (WebCore::RenderBlock::determineStartPosition):
  17531. Patched to check if a line has moved to a place with a different available content width. If so, the line
  17532. is dirtied so that line layout can re-run.
  17533. * rendering/RootInlineBox.cpp:
  17534. (WebCore::RootInlineBox::RootInlineBox):
  17535. (WebCore::RootInlineBox::alignBoxesInBlockDirection):
  17536. Sets the paginated line width from the current block logical height.
  17537. * rendering/RootInlineBox.h:
  17538. (WebCore::RootInlineBox::paginationStrut):
  17539. (WebCore::RootInlineBox::setPaginationStrut):
  17540. Fixed paginationStrut to be LayoutUnit instead of int.
  17541. (WebCore::RootInlineBox::paginatedLineWidth):
  17542. (WebCore::RootInlineBox::setPaginatedLineWidth):
  17543. Added paginatedLineWidth getter/setter for caching the content width for a given root line.
  17544. 2011-09-21 Anders Carlsson <andersca@apple.com>
  17545. Remove Widget::beforeMouseDown and Widget::afterMouseDown
  17546. https://bugs.webkit.org/show_bug.cgi?id=68570
  17547. Reviewed by Darin Adler.
  17548. These two member functions were originally added to avoid crashes due to removing NSViews while they were
  17549. being tracked by AppKit. Since they were added, we've moved away from NSViews for form controls, and the bugs in
  17550. AppKit that lead to crashes have been fixed.
  17551. This patch was rolled out in r95743 because it broke a bunch of tests. The patch accidentally removed setting back
  17552. m_sendingEventToSubview to false.
  17553. * page/mac/EventHandlerMac.mm:
  17554. (WebCore::EventHandler::passMouseDownEventToWidget):
  17555. * platform/Widget.h:
  17556. * platform/mac/WidgetMac.mm:
  17557. (WebCore::Widget::Widget):
  17558. (WebCore::Widget::removeFromSuperview):
  17559. * rendering/RenderWidget.cpp:
  17560. Change widgetHierarchyUpdateSuspendCount to be an unsigned integer instead of a size_t.
  17561. 2011-09-22 Sheriff Bot <webkit.review.bot@gmail.com>
  17562. Unreviewed, rolling out r95335 and r95645.
  17563. http://trac.webkit.org/changeset/95335
  17564. http://trac.webkit.org/changeset/95645
  17565. https://bugs.webkit.org/show_bug.cgi?id=68649
  17566. Wrong fix (Requested by rniwa on #webkit).
  17567. * editing/DeleteSelectionCommand.cpp:
  17568. (WebCore::DeleteSelectionCommand::saveTypingStyleState):
  17569. * editing/EditingStyle.cpp:
  17570. (WebCore::EditingStyle::removeStyleAddedByNode):
  17571. * editing/EditingStyle.h:
  17572. * editing/ReplaceSelectionCommand.cpp:
  17573. (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
  17574. * editing/markup.cpp:
  17575. (WebCore::StyledMarkupAccumulator::serializeNodes):
  17576. (WebCore::ancestorToRetainStructureAndAppearance):
  17577. * editing/markup.h:
  17578. 2011-09-22 Ryosuke Niwa <rniwa@webkit.org>
  17579. Revert r95673 since it caused hundreds of tests to fail on Leopard / Snow Leopard.
  17580. * page/mac/EventHandlerMac.mm:
  17581. (WebCore::EventHandler::passMouseDownEventToWidget):
  17582. * platform/Widget.h:
  17583. * platform/mac/WidgetMac.mm:
  17584. (WebCore::Widget::Widget):
  17585. (WebCore::Widget::removeFromSuperview):
  17586. (WebCore::Widget::beforeMouseDown):
  17587. (WebCore::Widget::afterMouseDown):
  17588. * rendering/RenderWidget.cpp:
  17589. 2011-09-22 David Hyatt <hyatt@apple.com>
  17590. https://bugs.webkit.org/show_bug.cgi?id=68638
  17591. Make RenderFlowThread cache whether or not it has regions of varying widths. This will
  17592. be relevant for performance as we begin adding code to do custom block painting and
  17593. layout based off regions not having the same width.
  17594. Reviewed by Dan Bernstein and Adam Roben.
  17595. * rendering/RenderFlowThread.cpp:
  17596. (WebCore::RenderFlowThread::RenderFlowThread):
  17597. (WebCore::RenderFlowThread::layout):
  17598. * rendering/RenderFlowThread.h:
  17599. 2011-09-22 Anders Carlsson <andersca@apple.com>
  17600. FrameView::invalidateRect and FrameView::setFrameRect shouldn't take LayoutRects
  17601. https://bugs.webkit.org/show_bug.cgi?id=68639
  17602. Reviewed by David Hyatt.
  17603. FrameView::invalidateRect and FrameView::setFrameRect override Widget and ScrollView
  17604. member functions that take IntRects, and Widget coordinates are currently defined in terms of
  17605. IntRects (and probably always should since we want them to be pixel-aligned).
  17606. * page/FrameView.cpp:
  17607. (WebCore::FrameView::invalidateRect):
  17608. (WebCore::FrameView::setFrameRect):
  17609. * page/FrameView.h:
  17610. 2011-09-22 Tim Horton <timothy_horton@apple.com>
  17611. Unreviewed build fix (fixes warning about too many parens).
  17612. * rendering/RenderBox.cpp:
  17613. (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
  17614. 2011-09-22 Anders Carlsson <andersca@apple.com>
  17615. Widget::frameRect shouldn't be virtual
  17616. https://bugs.webkit.org/show_bug.cgi?id=68637
  17617. Reviewed by Sam Weinig.
  17618. Nobody overrides Widget::frameRect and nobody should.
  17619. * platform/Widget.h:
  17620. 2011-09-22 Sergey Glazunov <serg.glazunov@gmail.com>
  17621. Ref protect shaders in V8WebGLRenderingContext::getAttachedShadersCallback
  17622. https://bugs.webkit.org/show_bug.cgi?id=68630
  17623. Reviewed by Adam Barth.
  17624. Test: fast/canvas/webgl/shader-deleted-by-accessor.html
  17625. * bindings/js/JSWebGLRenderingContextCustom.cpp:
  17626. (WebCore::JSWebGLRenderingContext::getAttachedShaders):
  17627. * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
  17628. (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
  17629. * html/canvas/WebGLRenderingContext.cpp:
  17630. (WebCore::WebGLRenderingContext::getAttachedShaders):
  17631. * html/canvas/WebGLRenderingContext.h:
  17632. 2011-09-05 Robert Hogan <robert@webkit.org>
  17633. CSS 2.1 failure: abspos-non-replaced-width-margin-000, abspos-replaced-width-margin-000
  17634. https://bugs.webkit.org/show_bug.cgi?id=47148
  17635. Reviewed by David Hyatt.
  17636. * rendering/RenderBlock.h:
  17637. * rendering/RenderBlockLineLayout.cpp:
  17638. (WebCore::RenderBlock::startOffsetForLine): Return offset from right, rather than offset from left + logicalwidth
  17639. * rendering/RenderBlockLineLayout.cpp:
  17640. (WebCore::RenderBlock::startAlignedOffsetForLine):
  17641. Return the correct alignment for RTL blocks too. Looks like neither FF or Opera do this correctly.
  17642. Covered by new test left-right-center-inline-alignment-in-ltr-and-rtl-blocks.html
  17643. * rendering/RenderBox.cpp:
  17644. (WebCore::computeInlineStaticDistance):
  17645. - The CSS 2.1 tests now require UAs to use the parent block's direction (rather than the
  17646. containing block's direction) when computing static distance. The container block's direction
  17647. is still used in the other width and offset related calculations.
  17648. - In the context of this function, the logicalRight value is just an element that will be used later to calculate
  17649. the correct logicalLeft position for the RTL block. So whereas an LTR block can substract containerBlock->borderLogicalLeft()
  17650. in this function directly, an RTL block has to add it here so that will be later subtracted from availableSpace to get
  17651. logicalLeft in computePositionedLogicalWidthUsing().
  17652. (WebCore::RenderBox::computePositionedLogicalWidth):
  17653. - Update comments and use the container block's direction except when calculating the static distance.
  17654. - Remove the notion of a quirks mode in this function and for calculating the position of replaced and non-replaced
  17655. blocks generally. This is in line with both FF4 and Opera - neither of which have a quirks mode for them.
  17656. (WebCore::RenderBox::computePositionedLogicalWidthUsing):
  17657. - Update comments and use the container block's direction except when calculating the static distance.
  17658. (WebCore::RenderBox::computePositionedLogicalHeight):
  17659. - Update comments.
  17660. (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
  17661. - Update comments and use the container block's direction except when calculating the static distance.
  17662. - If the containing block is RTL, always assume that values are over-constrained.
  17663. (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
  17664. - Update comments.
  17665. 2011-09-22 Anders Carlsson <andersca@apple.com>
  17666. Get rid of Widget::setBoundsSize
  17667. https://bugs.webkit.org/show_bug.cgi?id=68491
  17668. Reviewed by Sam Weinig.
  17669. This basically reverts http://trac.webkit.org/changeset/79167 and http://trac.webkit.org/changeset/75897
  17670. which were added to make zoom gestures work with WebKit1, but since we don't support zoom gestures in WebKit1
  17671. anymore, it's better for code cleanliness to get rid of Widget::setBoundsSize and the associated code. While this
  17672. will unfortunately break transformed iframes in WebKit1, but Simon says that it's an acceptable tradeoff.
  17673. * WebCore.exp.in:
  17674. * loader/FrameLoader.cpp:
  17675. (WebCore::FrameLoader::open):
  17676. * page/FrameView.cpp:
  17677. (WebCore::FrameView::create):
  17678. * platform/ScrollView.cpp:
  17679. (WebCore::ScrollView::visibleContentRect):
  17680. (WebCore::ScrollView::updateScrollbars):
  17681. (WebCore::ScrollView::wheelEvent):
  17682. * platform/ScrollView.h:
  17683. * platform/Widget.cpp:
  17684. * platform/Widget.h:
  17685. (WebCore::Widget::resize):
  17686. * platform/chromium/PopupContainer.cpp:
  17687. (WebCore::PopupContainer::refresh):
  17688. * platform/gtk/ScrollViewGtk.cpp:
  17689. (WebCore::ScrollView::visibleContentRect):
  17690. * platform/mac/WidgetMac.mm:
  17691. (WebCore::Widget::paint):
  17692. * rendering/RenderWidget.cpp:
  17693. (WebCore::RenderWidget::setWidgetGeometry):
  17694. (WebCore::RenderWidget::setWidget):
  17695. (WebCore::RenderWidget::updateWidgetPosition):
  17696. * rendering/RenderWidget.h:
  17697. 2011-09-21 David Hyatt <hyatt@apple.com>
  17698. https://bugs.webkit.org/show_bug.cgi?id=68590
  17699. Floats pushed to next page, column or region don't reposition properly if the amount of
  17700. available logical width at the new position changes. Refactor the code so that we can
  17701. run the float placement algorithm again when this happens.
  17702. Covered by an existing regions test that exposes the issue.
  17703. Reviewed by Adam Roben.
  17704. * rendering/RenderBlock.cpp:
  17705. (WebCore::RenderBlock::computeLogicalLocationForFloat):
  17706. (WebCore::RenderBlock::positionNewFloats):
  17707. * rendering/RenderBlock.h:
  17708. 2011-09-22 Leandro Gracia Gil <leandrogracia@chromium.org>
  17709. Fire TextInput events on speech input, but not set/add any inputMethod attribute.
  17710. https://bugs.webkit.org/show_bug.cgi?id=60451
  17711. Reviewed by Ryosuke Niwa.
  17712. Introduce code to dispatch TextInput events when text is introduced via
  17713. the speech input feature. Handle also the cases where speech input is
  17714. started programmatically from the LayoutTestController.
  17715. Test: fast/speech/input-ontextinput-event.html
  17716. * dom/TextEventInputType.h:
  17717. * html/shadow/TextControlInnerElements.cpp:
  17718. (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
  17719. 2011-09-20 Jason Liu <jason.liu@torchmobile.com.cn>
  17720. Reviewed by Simon Fraser.
  17721. CSS outline property on a narrow element has rabbit ear artifacts
  17722. https://bugs.webkit.org/show_bug.cgi?id=36793
  17723. Patch by Jason Liu <jason.liu@torchmobile.com.cn>
  17724. Patch updated by Robert Hogan <robert@webkit.org>
  17725. Test: fast/css/outline-narrowLine.html
  17726. * rendering/RenderInline.cpp:
  17727. (WebCore::RenderInline::paintOutlineForLine):
  17728. 2011-09-22 Wajahat Siddiqui <mdwajahatali.siddiqui@motorola.com>
  17729. [GTK]Popup drop-down menu contains extra empty spaces at beginning and
  17730. occupies whole screen when items in popup reaches the height of display device.
  17731. https://bugs.webkit.org/show_bug.cgi?id=68533
  17732. When implementing the GTK+ menu position function, set pushIn to false, which tell
  17733. GTK+ not create a menu that is as big as the entire screen.
  17734. Reviewed by Martin Robinson.
  17735. * platform/gtk/GtkPopupMenu.cpp:
  17736. (WebCore::GtkPopupMenu::menuPositionFunction): Set pushIn to false in the menu position function.
  17737. 2011-09-22 Alpha Lam <hclam@chromium.org>
  17738. Define export symbol correctly due to rename of pageScaleFactor to
  17739. frameScaleFactor.
  17740. Not reviewed. Build fix.
  17741. * WebCore.exp.in:
  17742. 2011-09-22 Vsevolod Vlasov <vsevik@chromium.org>
  17743. Web Inspector: Console is always scrolled to the top
  17744. https://bugs.webkit.org/show_bug.cgi?id=67483
  17745. Reviewed by Pavel Feldman.
  17746. * inspector/front-end/ConsoleView.js:
  17747. (WebInspector.ConsoleView.prototype.wasShown):
  17748. (WebInspector.ConsoleView.prototype.storeScrollPositions):
  17749. (WebInspector.ConsoleView.prototype.restoreScrollPositions):
  17750. (WebInspector.ConsoleView.prototype.onResize):
  17751. (WebInspector.ConsoleView.prototype._immediatelyScrollIntoView):
  17752. (WebInspector.ConsoleView.prototype._cancelScheduledScrollIntoView):
  17753. (WebInspector.ConsoleView.prototype._consoleCleared):
  17754. * inspector/front-end/Drawer.js:
  17755. (WebInspector.Drawer.prototype.hide):
  17756. (WebInspector.Drawer.prototype.resize):
  17757. (WebInspector.Drawer.prototype._startStatusBarDragging):
  17758. (WebInspector.Drawer.prototype._statusBarDragging):
  17759. * inspector/front-end/inspector.js:
  17760. (WebInspector.animateStyle):
  17761. (WebInspector.animateStyle.forceComplete):
  17762. 2011-09-22 Alpha Lam <hclam@chromium.org>
  17763. https://bugs.webkit.org/show_bug.cgi?id=68081
  17764. Fix scroll in page scaling mode.
  17765. Reviewed by Simon Fraser.
  17766. The following things are done in this patch:
  17767. 1. Rename Frame::pageScaleFactor() to Frame::frameScaleFactor() to better
  17768. reflect its purpose.
  17769. 2. Frame::frameScaleFactor() returns the scale factor of this frame with
  17770. respect to the container. So for the main frame it'll return the scale
  17771. factor of the page, inner frames will return 1.0
  17772. 3. scrollBy(), scrollX() and scrollY() to take into account of the frame
  17773. scale factor, causing incorrect coordinates reported to Javascript.
  17774. Tests: fast/events/scale-and-scroll-body.html
  17775. fast/events/scale-and-scroll-iframe-body.html
  17776. fast/events/scale-and-scroll-iframe-window.html
  17777. fast/events/scale-and-scroll-window.html
  17778. * html/HTMLBodyElement.cpp:
  17779. (WebCore::adjustForZoom):
  17780. (WebCore::HTMLBodyElement::setScrollLeft):
  17781. (WebCore::HTMLBodyElement::setScrollTop):
  17782. * loader/HistoryController.cpp:
  17783. (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
  17784. * page/DOMWindow.cpp:
  17785. (WebCore::DOMWindow::scrollX):
  17786. (WebCore::DOMWindow::scrollY):
  17787. (WebCore::DOMWindow::scrollTo):
  17788. * page/Frame.cpp:
  17789. (WebCore::Frame::frameScaleFactor): Return page's scale factor if this is
  17790. main frame, otherwise 1.0
  17791. * page/Frame.h:
  17792. * page/FrameView.cpp:
  17793. (WebCore::FrameView::applyOverflowToViewport):
  17794. (WebCore::FrameView::scrollXForFixedPosition):
  17795. (WebCore::FrameView::scrollYForFixedPosition):
  17796. 2011-09-22 Andreas Kling <kling@webkit.org>
  17797. CSS: Implement 'font' property in CSSComputedStyle.
  17798. https://bugs.webkit.org/show_bug.cgi?id=66666
  17799. Reviewed by Antti Koivisto.
  17800. Test: fast/css/getComputedStyle/computed-style-font.html
  17801. * css/CSSComputedStyleDeclaration.cpp:
  17802. (WebCore::fontFamilyFromStyle): Factored out of getPropertyCSSValue().
  17803. This function will always return a CSSValueList, as opposed to the previous
  17804. implementation which would return a CSSPrimitiveValue if there was only one family.
  17805. getCSSPropertyValue() will return the first element of the list for 1-element lists
  17806. to preserve the current behavior of getPropertyCSSValue('font-family').
  17807. (WebCore::lineHeightFromStyle): Factored out of getPropertyCSSValue().
  17808. (WebCore::fontSizeFromStyle): Ditto.
  17809. (WebCore::fontStyleFromStyle): Ditto.
  17810. (WebCore::fontVariantFromStyle): Ditto.
  17811. (WebCore::fontWeightFromStyle): Ditto.
  17812. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added
  17813. implementation of the computed 'font' property (CSSPropertyFont.)
  17814. 2011-09-22 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
  17815. [Qt] Redirection overflow errors have wrong error domain
  17816. https://bugs.webkit.org/show_bug.cgi?id=68612
  17817. Reviewed by Andreas Kling.
  17818. Redirection overflow currently puts the URL hostname in the errorDomain field.
  17819. Now redirection overflow errors will be classified as "HTTP" errors.
  17820. * platform/network/qt/QNetworkReplyHandler.cpp:
  17821. (WebCore::QNetworkReplyHandler::redirect):
  17822. 2011-09-22 James Robinson <jamesr@chromium.org>
  17823. Unreviewed, rolling out r95699.
  17824. http://trac.webkit.org/changeset/95699
  17825. https://bugs.webkit.org/show_bug.cgi?id=67417
  17826. Makes many chromium compositor tests crash
  17827. * platform/CrossThreadCopier.h:
  17828. * platform/graphics/chromium/LayerRendererChromium.cpp:
  17829. (WebCore::LayerRendererChromium::~LayerRendererChromium):
  17830. * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
  17831. (WebCore::CCHeadsUpDisplay::enabled):
  17832. * platform/graphics/chromium/cc/CCLayerImpl.cpp:
  17833. (WebCore::CCLayerImpl::CCLayerImpl):
  17834. (WebCore::CCLayerImpl::~CCLayerImpl):
  17835. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  17836. (WebCore::CCLayerTreeHost::CCLayerTreeHost):
  17837. (WebCore::CCLayerTreeHost::commitTo):
  17838. (WebCore::CCLayerTreeHost::setNeedsRedraw):
  17839. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  17840. (WebCore::CCSettings::CCSettings):
  17841. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
  17842. (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
  17843. (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
  17844. * platform/graphics/chromium/cc/CCProxy.h:
  17845. * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  17846. (WebCore::CCSingleThreadProxy::finishAllRendering):
  17847. (WebCore::CCSingleThreadProxy::setNeedsCommit):
  17848. (WebCore::CCSingleThreadProxy::commitIfNeeded):
  17849. * platform/graphics/chromium/cc/CCThreadProxy.cpp:
  17850. (WebCore::CCThreadProxy::CCThreadProxy):
  17851. (WebCore::CCThreadProxy::~CCThreadProxy):
  17852. (WebCore::CCThreadProxy::compositeAndReadback):
  17853. (WebCore::CCThreadProxy::finishAllRendering):
  17854. (WebCore::CCThreadProxy::isStarted):
  17855. (WebCore::CCThreadProxy::initializeLayerRenderer):
  17856. (WebCore::CCThreadProxy::setNeedsCommit):
  17857. (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
  17858. (WebCore::CCThreadProxy::setNeedsRedraw):
  17859. (WebCore::CCThreadProxy::start):
  17860. (WebCore::CCThreadProxy::stop):
  17861. (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
  17862. (WebCore::CCThreadProxy::beginFrameAndCommit):
  17863. (WebCore::CCThreadProxy::commitOnCCThread):
  17864. (WebCore::CCThreadProxy::drawLayersOnCCThread):
  17865. (WebCore::CCThreadProxy::setNeedsCommitOnCCThread):
  17866. (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
  17867. (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
  17868. * platform/graphics/chromium/cc/CCThreadProxy.h:
  17869. 2011-09-22 Nat Duca <nduca@chromium.org>
  17870. [chromium] Make CCThreadProxy draw
  17871. https://bugs.webkit.org/show_bug.cgi?id=67417
  17872. Update the CCThreadProxy to correctly implement the CCProxy
  17873. interface, do all the right committing and updating steps, and
  17874. draw a picture on the screen.
  17875. Reviewed by James Robinson.
  17876. * platform/graphics/IntRect.h:
  17877. * platform/graphics/chromium/LayerRendererChromium.cpp:
  17878. (WebCore::LayerRendererChromium::~LayerRendererChromium):
  17879. * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
  17880. (WebCore::CCHeadsUpDisplay::enabled):
  17881. * platform/graphics/chromium/cc/CCLayerImpl.cpp:
  17882. (WebCore::CCLayerImpl::CCLayerImpl):
  17883. (WebCore::CCLayerImpl::~CCLayerImpl):
  17884. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  17885. (WebCore::CCLayerTreeHost::CCLayerTreeHost):
  17886. (WebCore::CCLayerTreeHost::commitTo):
  17887. (WebCore::CCLayerTreeHost::commitComplete):
  17888. (WebCore::CCLayerTreeHost::setNeedsRedraw):
  17889. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  17890. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
  17891. (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
  17892. (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
  17893. * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  17894. (WebCore::CCSingleThreadProxy::finishAllRendering):
  17895. (WebCore::CCSingleThreadProxy::setNeedsCommit):
  17896. (WebCore::CCSingleThreadProxy::commitIfNeeded):
  17897. * platform/graphics/chromium/cc/CCThreadProxy.cpp:
  17898. (WebCore::CCThreadProxy::CCThreadProxy):
  17899. (WebCore::CCThreadProxy::~CCThreadProxy):
  17900. (WebCore::CCThreadProxy::compositeAndReadback):
  17901. (WebCore::CCThreadProxy::drawLayersAndReadbackOnCCThread):
  17902. (WebCore::CCThreadProxy::finishAllRendering):
  17903. (WebCore::CCThreadProxy::isStarted):
  17904. (WebCore::CCThreadProxy::setNeedsCommit):
  17905. (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
  17906. (WebCore::CCThreadProxy::setNeedsRedraw):
  17907. (WebCore::CCThreadProxy::start):
  17908. (WebCore::CCThreadProxy::stop):
  17909. (WebCore::CCThreadProxy::finishAllRenderingOnCCThread):
  17910. (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
  17911. (WebCore::CCThreadProxy::beginFrameAndCommit):
  17912. (WebCore::CCThreadProxy::commitOnCCThread):
  17913. (WebCore::CCThreadProxy::scheduleDrawTaskOnCCThread):
  17914. (WebCore::CCThreadProxy::drawLayersAndPresentOnCCThread):
  17915. (WebCore::CCThreadProxy::drawLayersOnCCThread):
  17916. (WebCore::CCThreadProxy::updateSchedulerStateOnCCThread):
  17917. * platform/graphics/chromium/cc/CCThreadProxy.h:
  17918. 2011-09-21 Beth Dakin <bdakin@apple.com>
  17919. https://bugs.webkit.org/show_bug.cgi?id=67415
  17920. Text drawn via -webkit-background-clip:text is blurry at device scale factors >1.0
  17921. -and corresponding-
  17922. <rdar://problem/10060379>
  17923. Reviewed by Darin Adler.
  17924. New helper function RenderBoxModelObject scales the mask image by the
  17925. deviceScaleFactor to get an image of the appropriate resolution. It also scales
  17926. the image's GraphicsContext so that the clip is set up on the same scale. Back in
  17927. paintFillLayerExtended() we still clip the image to the original maskRect to get
  17928. everything scaled back to the appropriate size.
  17929. * rendering/RenderBoxModelObject.cpp:
  17930. (WebCore::createDeviceScaledImageBuffer):
  17931. (WebCore::RenderBoxModelObject::paintFillLayerExtended):
  17932. Make the deviceScaleFactor convenience function just a namespace-level function in
  17933. Page rather than a static member or Page.
  17934. * page/Page.cpp:
  17935. (WebCore::deviceScaleFactor):
  17936. * page/Page.h:
  17937. Pre-existing callers of Page::deviceScaleFactor(Frame*) must now use
  17938. WebCore::deviceScaleFactor(Frame*)
  17939. * editing/DeleteButtonController.cpp:
  17940. (WebCore::DeleteButtonController::createDeletionUI):
  17941. * rendering/RenderImage.cpp:
  17942. (WebCore::RenderImage::imageSizeForError):
  17943. (WebCore::RenderImage::paintReplaced):
  17944. * rendering/RenderLayer.cpp:
  17945. (WebCore::RenderLayer::drawPlatformResizerImage):
  17946. 2011-09-21 Tim Horton <timothy_horton@apple.com>
  17947. [CG] ImageBufferData::getData has an invariant comparison in the inner part of a loop which doesn't get optimized out
  17948. https://bugs.webkit.org/show_bug.cgi?id=68588
  17949. <rdar://problem/10164955>
  17950. Reviewed by Simon Fraser.
  17951. Factor the unmultiplied check out of the inner loop, resulting in a
  17952. speed bump in ImageBufferData::getData.
  17953. No new tests, performance improvement.
  17954. * platform/graphics/cg/ImageBufferDataCG.cpp:
  17955. (WebCore::ImageBufferData::getData):
  17956. 2011-09-21 Sameer Patil <mkrp87@motorola.com>
  17957. :hover selector fails when hovering over a child select element with size attribute
  17958. https://bugs.webkit.org/show_bug.cgi?id=67594
  17959. Reviewed by Darin Adler.
  17960. Test: fast/css/hover-affects-ancestor.html
  17961. This patch addresses the problem of deactivation of the ancestor element :hover rules
  17962. when hovered its contained elements.
  17963. * rendering/RenderLayer.cpp:
  17964. (WebCore::RenderLayer::updateHoverActiveState):
  17965. 2011-09-21 Sergey Glazunov <serg.glazunov@gmail.com>
  17966. [Chromium] Protect message ports from being deleted in V8MessageEvent::portsAccessorGetter
  17967. https://bugs.webkit.org/show_bug.cgi?id=68584
  17968. Reviewed by Adam Barth.
  17969. Test: fast/dom/message-port-deleted-by-accessor.html
  17970. * bindings/v8/custom/V8MessageEventCustom.cpp:
  17971. (WebCore::V8MessageEvent::portsAccessorGetter):
  17972. 2011-09-21 Anders Carlsson <andersca@apple.com>
  17973. Add back protection against the NSView going away while handling mouseDown
  17974. https://bugs.webkit.org/show_bug.cgi?id=68585
  17975. Reviewed by Darin Adler.
  17976. Add calls to RenderWidget::suspendWidgetHierarchyUpdates() and RenderWidget::resumeWidgetHierarchyUpdates(),
  17977. as a followup fix to https://bugs.webkit.org/show_bug.cgi?id=68570.
  17978. * page/mac/EventHandlerMac.mm:
  17979. (WebCore::EventHandler::passMouseDownEventToWidget):
  17980. 2011-09-21 Julien Chaffraix <jchaffraix@webkit.org>
  17981. Crash in RenderBox::paintMaskImages when GraphicsContext's painting is disabled
  17982. https://bugs.webkit.org/show_bug.cgi?id=68133
  17983. Reviewed by Darin Adler.
  17984. Tests: fast/css/webkit-mask-crash-fieldset-legend.html
  17985. fast/css/webkit-mask-crash-figure.html
  17986. fast/css/webkit-mask-crash-table.html
  17987. fast/css/webkit-mask-crash-td-2.html
  17988. fast/css/webkit-mask-crash-td.html
  17989. GraphicsContext::getCTM crashes if called with a GraphicsContext that has painting
  17990. disabled. RenderBox::paintMaskImages would thus crash if called in this condition.
  17991. This change just modifies the different GraphicsContext::getCTM method to bail early
  17992. if painting is disabled on the GraphicsContext. The rest of the change is exposing
  17993. paintControlTints that exposes this.
  17994. * WebCore.exp.in: Added symbols of the newly export window.internals function.
  17995. * page/FrameView.cpp:
  17996. (WebCore::FrameView::updateControlTints): Split this function in 2 so that
  17997. I can expose the internal paintControlTints.
  17998. (WebCore::FrameView::paintControlTints):
  17999. This is the one exposed to Internals as we want to be testable regardless of
  18000. whether the platform supports control tints.
  18001. * page/FrameView.h: Added paintControlTints.
  18002. * testing/Internals.cpp:
  18003. (WebCore::Internals::paintControlTints):
  18004. * testing/Internals.h:
  18005. * testing/Internals.idl:
  18006. Added a way to force a fake painting so that we can easily reproduce the bugs.
  18007. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  18008. (WebCore::GraphicsContext::getCTM):
  18009. * platform/graphics/cg/GraphicsContextCG.cpp:
  18010. (WebCore::GraphicsContext::getCTM):
  18011. * platform/graphics/qt/GraphicsContextQt.cpp:
  18012. (WebCore::GraphicsContext::getCTM):
  18013. * platform/graphics/skia/GraphicsContextSkia.cpp:
  18014. (WebCore::GraphicsContext::getCTM):
  18015. * platform/graphics/wince/GraphicsContextWinCE.cpp:
  18016. (WebCore::GraphicsContext::getCTM):
  18017. * platform/graphics/wx/GraphicsContextWx.cpp:
  18018. (WebCore::GraphicsContext::getCTM):
  18019. Fixed all our back-end to exit early if painting is disabled.
  18020. 2011-09-19 Jer Noble <jer.noble@apple.com>
  18021. Add settings to control the availability of the Web Audio API to WebKit and WebKit2.
  18022. https://bugs.webkit.org/show_bug.cgi?id=68382
  18023. Reviewed by Darin Adler.
  18024. Only create a AudioContext object if the Web Audio feature is runtime-enabled in Settings.
  18025. No new tests, as this feature is not yet enabled by default.
  18026. * bindings/js/JSDOMWindowCustom.cpp:
  18027. (WebCore::JSDOMWindow::webkitAudioContext):
  18028. 2011-09-21 Anders Carlsson <andersca@apple.com>
  18029. Remove checks for Leopard-only Objective-C APIs
  18030. https://bugs.webkit.org/show_bug.cgi?id=68579
  18031. Reviewed by Sam Weinig.
  18032. We can always assume that OBJC_API_VERSION is at least 2, it's been 2 since Leopard.
  18033. * bridge/objc/objc_class.mm:
  18034. (JSC::Bindings::ObjcClass::methodsNamed):
  18035. (JSC::Bindings::ObjcClass::fieldNamed):
  18036. * bridge/objc/objc_instance.mm:
  18037. (allocateAutoReleasePool):
  18038. * bridge/objc/objc_runtime.mm:
  18039. (JSC::Bindings::ObjcField::ObjcField):
  18040. * page/mac/EventHandlerMac.mm:
  18041. 2011-09-21 Anders Carlsson <andersca@apple.com>
  18042. Remove Widget::beforeMouseDown and Widget::afterMouseDown
  18043. https://bugs.webkit.org/show_bug.cgi?id=68570
  18044. Reviewed by Sam Weinig.
  18045. These two member functions were originally added to avoid crashes due to removing NSViews while they were
  18046. being tracked by AppKit. Since they were added, we've moved away from NSViews for form controls, and the bugs in
  18047. AppKit that lead to crashes have been fixed.
  18048. * page/mac/EventHandlerMac.mm:
  18049. (WebCore::EventHandler::passMouseDownEventToWidget):
  18050. * platform/Widget.h:
  18051. * platform/mac/WidgetMac.mm:
  18052. (WebCore::Widget::Widget):
  18053. (WebCore::Widget::removeFromSuperview):
  18054. * rendering/RenderWidget.cpp:
  18055. Change widgetHierarchyUpdateSuspendCount to be an unsigned integer instead of a size_t.
  18056. 2011-09-21 Abhishek Arya <inferno@chromium.org>
  18057. Not use anonymousContainer on beforeChild calculation
  18058. and let later code handle it. Fix style update on block-level
  18059. anonymous objects.
  18060. https://bugs.webkit.org/show_bug.cgi?id=67656
  18061. Reviewed by David Hyatt.
  18062. Test: fast/table/quote-text-around-iframe.html
  18063. * rendering/RenderTable.cpp:
  18064. (WebCore::RenderTable::addChild):
  18065. * rendering/RenderTableCell.cpp:
  18066. (WebCore::RenderTableCell::styleDidChange):
  18067. * rendering/RenderTableRow.cpp:
  18068. (WebCore::RenderTableRow::addChild):
  18069. * rendering/RenderObject.cpp:
  18070. (WebCore::RenderObject::propagateStyleToAnonymousChildren):
  18071. 2011-09-21 David Hyatt <hyatt@apple.com>
  18072. https://bugs.webkit.org/show_bug.cgi?id=68562
  18073. Pagination struts don't update properly when collapsing margin estimates are wrong.
  18074. Refactor the pagination adjustments that happen during block layout to allow for
  18075. a 3-pass layout system instead of just a 2-pass layout system. The basic idea is
  18076. to come up with an estimate that includes collapsing, clearance and pagination.
  18077. If the estimate only with collapsing and clearance was wrong, then we lay out again
  18078. using the correct collapsing margin values and clearance before applying pagination breaks.
  18079. After this second layout, the normal code that runs when unpaginated compares estimates
  18080. and lays out a third time to account for adjustments as a result of pagination movement.
  18081. Reviewed by Sam Weinig.
  18082. Added fast/regions/text-regions-split-small-pagination.html
  18083. * rendering/RenderBlock.cpp:
  18084. (WebCore::RenderBlock::estimateLogicalTopPosition):
  18085. (WebCore::RenderBlock::layoutBlockChild):
  18086. (WebCore::RenderBlock::adjustBlockChildForPagination):
  18087. * rendering/RenderBlock.h:
  18088. 2011-09-21 James Robinson <jamesr@chromium.org>
  18089. [chromium] SharedGraphicsContext3D's context should not be destroyed during atexit
  18090. https://bugs.webkit.org/show_bug.cgi?id=68558
  18091. Reviewed by Stephen White.
  18092. The SharedGraphicsContext3D's internal context is lazily created and then leaked intentionally, but since the
  18093. last ref is in a function-static RefPtr<> it ends up being destroyed at process exit time. This is bad, since
  18094. by the time we get this far in process shutdown we can't actually cleanly run the destruction logic and we
  18095. crash. Since we are explicitly leaking this for the lifetime of the process there's no point in keeping it in a
  18096. RefPtr<>
  18097. * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
  18098. (WebCore::SharedGraphicsContext3D::get):
  18099. 2011-09-21 Sergey Glazunov <serg.glazunov@gmail.com>
  18100. [Chromium] Protect the Frame in V8HTMLDocument::openCallback
  18101. https://bugs.webkit.org/show_bug.cgi?id=68555
  18102. Reviewed by Nate Chapin.
  18103. Test: fast/dom/frame-deleted-in-document-open.html
  18104. * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
  18105. (WebCore::V8HTMLDocument::openCallback):
  18106. 2011-09-21 Adam Klein <adamk@chromium.org>
  18107. Clean up CSS Counter code
  18108. https://bugs.webkit.org/show_bug.cgi?id=68492
  18109. Reviewed by Tony Chang.
  18110. Several cleanups/fixes:
  18111. - Make Counter::listStyle() return the actual list style string,
  18112. rather than empty string.
  18113. - Handle a specified list style of "none" correctly when generating
  18114. cssText and in Counter::listStyle().
  18115. - Use StringBuilder when generating cssText.
  18116. Test: fast/css/counters/getCounterValue.html
  18117. * css/CSSParser.cpp:
  18118. (WebCore::CSSParser::parseCounterContent):
  18119. Simplify processing (moving conversion to CSSStyleSelector),
  18120. pass a CSS_IDENT as the listStyle to Counter::create.
  18121. * css/CSSPrimitiveValue.cpp:
  18122. (WebCore::CSSPrimitiveValue::cssText):
  18123. Use StringBuilder.
  18124. * css/CSSStyleSelector.cpp:
  18125. (WebCore::CSSStyleSelector::applyProperty):
  18126. Convert from a CSS_IDENT to an EListStyleType.
  18127. * css/Counter.h:
  18128. (WebCore::Counter::listStyleIdent):
  18129. Renamed from listStyleNumber to match its new functionality.
  18130. 2011-09-21 Chris Marrin <cmarrin@apple.com>
  18131. Check in WebCore.vcproj file unchanged but written like MSDev likes it
  18132. Unreviewed.
  18133. * WebCode.vcproj/WebCore.vcproj:
  18134. 2011-09-21 Stephen White <senorblanco@chromium.org>
  18135. [chromium] Optimize ImageBuffer constructor when accelerated
  18136. https://bugs.webkit.org/show_bug.cgi?id=68501
  18137. If the accelerated rendering mode is passed in to ImageBuffer, instead
  18138. of creating a bitmap PlatformCanvas and subsequently replacing its
  18139. device with an SkGpuDevice, create an SkCanvas and SkGpuDevice first,
  18140. and fall back to raster creation only failure. This saves on system
  18141. RAM for the backing store (and possibly GDI resources).
  18142. Reviewed by James Robinson.
  18143. Covered by existing tests.
  18144. * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
  18145. (WebCore::SharedGraphicsContext3D::get):
  18146. * platform/graphics/gpu/SharedGraphicsContext3D.h:
  18147. Rename "SharedGraphicsContext3D::create()" to "get()" to more
  18148. accurately reflect its function.
  18149. * platform/graphics/skia/ImageBufferSkia.cpp:
  18150. (WebCore::createAcceleratedCanvas):
  18151. Refactor creation of accelerated ImageBuffer.
  18152. (WebCore::ImageBuffer::ImageBuffer):
  18153. Attempt creation of accelerated ImageBuffer first, and only fall back
  18154. to bitmap-backed canvas creation if it fails.
  18155. 2011-09-21 Dan Bernstein <mitz@apple.com>
  18156. WebCore part of: Prevent the WebKit frameworks from defining inappropriately-named Objective-C classes
  18157. https://bugs.webkit.org/show_bug.cgi?id=68451
  18158. Reviewed by Darin Adler.
  18159. * WebCore.xcodeproj/project.pbxproj: Added a script build phase that invokes
  18160. check-for-inappropriate-objc-class-names, allowing only class names prefixed with "DOM" or "Web".
  18161. 2011-09-21 Dan Bernstein <mitz@apple.com>
  18162. <rdar://problem/9768483> REGRESSION: Crash in RenderBlock::removeFloatingObjectsBelow()
  18163. https://bugs.webkit.org/show_bug.cgi?id=68550
  18164. Reviewed by Darin Adler.
  18165. Test: fast/multicol/null-lastFloat-in-removeFloatingObjectsBelow.html
  18166. * rendering/RenderBlock.cpp:
  18167. (WebCore::RenderBlock::removeFloatingObjectsBelow): Break out of the while() loop when the
  18168. floating object set is empty, which can happen if there were no floats on previous lines
  18169. (in which case, lastFloat is 0).
  18170. 2011-09-21 ChangSeok Oh <shivamidow@gmail.com>
  18171. [GTK] Fix build break when enabling webgl on r95593
  18172. https://bugs.webkit.org/show_bug.cgi?id=68502
  18173. Reviewed by Martin Robinson.
  18174. Add PassOwnPtr.h to GC3DPrivate.h and remove useless one from GC3DGtk.cpp & GC3DPrivate.cpp
  18175. No tests required.
  18176. * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
  18177. * platform/graphics/gtk/GraphicsContext3DPrivate.cpp:
  18178. * platform/graphics/gtk/GraphicsContext3DPrivate.h:
  18179. 2011-09-21 Vsevolod Vlasov <vsevik@chromium.org>
  18180. Web Inspector: clear resource agent resource cache upon resource agent's disable.
  18181. https://bugs.webkit.org/show_bug.cgi?id=67995
  18182. Reviewed by Pavel Feldman.
  18183. Test: http/tests/inspector/network/network-disabling-check-no-memory-leak.html
  18184. * inspector/InspectorResourceAgent.cpp:
  18185. (WebCore::InspectorResourceAgent::disable):
  18186. 2011-09-21 David Hyatt <hyatt@apple.com>
  18187. https://bugs.webkit.org/show_bug.cgi?id=68543
  18188. Make sure that when regions change dimensions we recompute pagination slices.
  18189. Reviewed by Simon Fraser.
  18190. Added new tests in fast/regions.
  18191. * rendering/LayoutState.cpp:
  18192. (WebCore::LayoutState::LayoutState):
  18193. * rendering/LayoutState.h:
  18194. * rendering/RenderFlowThread.cpp:
  18195. (WebCore::RenderFlowThread::layout):
  18196. (WebCore::RenderFlowThread::renderRegionForLine):
  18197. (WebCore::RenderFlowThread::regionLogicalWidthForLine):
  18198. * rendering/RenderRegion.cpp:
  18199. (WebCore::RenderRegion::layout):
  18200. * rendering/RenderView.cpp:
  18201. (WebCore::RenderView::pushLayoutState):
  18202. * rendering/RenderView.h:
  18203. (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
  18204. (WebCore::LayoutStateMaintainer::push):
  18205. 2011-09-21 Xianzhu Wang <wangxianzhu@chromium.org>
  18206. Ensure TestWebKitAPI works on mac, win, chromium-mac and chromium-linux
  18207. https://bugs.webkit.org/show_bug.cgi?id=68206
  18208. Reviewed by Tony Chang.
  18209. Added two new wtf headers into ForwardingHeaders/wtf to make
  18210. #include <wtf/...h> cross-platform.
  18211. No new tests needed.
  18212. * ForwardingHeaders/wtf/MetaAllocator.h: Added.
  18213. * ForwardingHeaders/wtf/RedBlackTree.h: Added.
  18214. 2011-09-21 David Delaune <david.delaune@googlemail.com>
  18215. [WinCairo] IconDatabase::defaultIcon always fails for non-CAN_THEME_URL_ICON builds.
  18216. https://bugs.webkit.org/show_bug.cgi?id=67469
  18217. Reviewed by Brent Fulgham.
  18218. No new functionality added in this change.
  18219. * loader/icon/IconDatabase.cpp: defining CAN_THEME_URL_ICON for the WIN_CAIRO
  18220. 2011-09-20 Ryosuke Niwa <rniwa@webkit.org>
  18221. Span element gets produced using backspace/delete to merge header with paragraph
  18222. https://bugs.webkit.org/show_bug.cgi?id=68413
  18223. Reviewed by Darin Adler.
  18224. Add p element to the list of elements to retain appearance. Also modified removeStyleFromNode
  18225. (and renamed to removeStyleFromRules) not to remove inline style declarations because
  18226. inline styles need to stay on copy.
  18227. Test: editing/deleting/merge-paragraph-from-p-with-style.html
  18228. * editing/DeleteSelectionCommand.cpp:
  18229. (WebCore::DeleteSelectionCommand::saveTypingStyleState):
  18230. * editing/EditingStyle.cpp:
  18231. (WebCore::EditingStyle::removeStyleFromRules): Renamed from removeStyleFromNode.
  18232. * editing/EditingStyle.h:
  18233. * editing/markup.cpp:
  18234. (WebCore::isBlockNodeToRetainAppearance):
  18235. (WebCore::StyledMarkupAccumulator::serializeNodes):
  18236. 2011-09-21 Alice Boxhall <aboxhall@chromium.org>
  18237. Report AXValueChanged when value changes in element with role=textbox.
  18238. https://bugs.webkit.org/show_bug.cgi?id=68201
  18239. Reviewed by Chris Fleizach.
  18240. Test: platform/mac/accessibility/textbox-role-reports-notifications.html
  18241. * accessibility/AccessibilityObject.cpp:
  18242. (WebCore::AccessibilityObject::isARIATextControl):
  18243. * accessibility/AccessibilityObject.h:
  18244. * accessibility/AccessibilityRenderObject.cpp:
  18245. (WebCore::AccessibilityRenderObject::contentChanged):
  18246. (WebCore::AccessibilityRenderObject::childrenChanged):
  18247. 2011-09-21 Pavel Feldman <pfeldman@google.com>
  18248. Web Inspector: introduce Page.enable and Page.disable
  18249. https://bugs.webkit.org/show_bug.cgi?id=68530
  18250. Otherwise protocol is violating the contract of not sending
  18251. notifications by default.
  18252. Reviewed by Yury Semikhatsky.
  18253. * inspector/Inspector.json:
  18254. 2011-09-21 Pavel Feldman <pfeldman@google.com>
  18255. Web Inspector: add minimal error handling to the DOM breakpoints.
  18256. https://bugs.webkit.org/show_bug.cgi?id=68537
  18257. Reviewed by Yury Semikhatsky.
  18258. * inspector/InspectorDOMAgent.h:
  18259. * inspector/InspectorDOMDebuggerAgent.cpp:
  18260. (WebCore::domTypeForName):
  18261. (WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
  18262. (WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):
  18263. 2011-09-21 Ilya Tikhonovsky <loislo@chromium.org>
  18264. Web Inspector: make WebInspector a bit more timeline friendly.
  18265. https://bugs.webkit.org/show_bug.cgi?id=68534
  18266. I found that the maximum captured stack frame depth tracked by timeline is not
  18267. very convenient because the average depth of call stack considerably more than five.
  18268. Another useful trick is console.timeStamp for all backend calls.
  18269. Reviewed by Yury Semikhatsky.
  18270. * inspector/CodeGeneratorInspector.pm:
  18271. * inspector/front-end/TimelinePanel.js:
  18272. (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
  18273. 2011-09-21 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
  18274. [Qt][WK2] Implement Download support in WebProcess
  18275. https://bugs.webkit.org/show_bug.cgi?id=68153
  18276. Reviewed by Andreas Kling.
  18277. Refactored QNetworkReplyHandler::finish() in order to add
  18278. and use the static function QNetworkReplyHandler::errorForReply().
  18279. This will be used by our Download implementation in WebKit2 (WebProcess)
  18280. when handling ResourceError.
  18281. * platform/network/qt/QNetworkReplyHandler.cpp:
  18282. (WebCore::QNetworkReplyHandler::finish):
  18283. (WebCore::QNetworkReplyHandler::errorForReply):
  18284. * platform/network/qt/QNetworkReplyHandler.h:
  18285. * platform/network/qt/ResourceRequest.h:
  18286. 2011-09-21 Pavel Feldman <pfeldman@google.com>
  18287. Web Inspector: paint box model colors in Metrics sidebar at all times, do not draw box outlines.
  18288. https://bugs.webkit.org/show_bug.cgi?id=68240
  18289. Today we paint backgrounds in Metrics box model on hover only - should be painted at all
  18290. times for the reference. Outlining boxes is highlight is wrong since outlines are outside
  18291. the corresponding box regions. We've seen few reports on that + Firebug does not do borders
  18292. for that reason.
  18293. Reviewed by Yury Semikhatsky.
  18294. * inspector/DOMNodeHighlighter.cpp:
  18295. * inspector/DOMNodeHighlighter.h:
  18296. * inspector/Inspector.json:
  18297. * inspector/InspectorDOMAgent.cpp:
  18298. (WebCore::InspectorDOMAgent::setHighlightDataFromConfig):
  18299. * inspector/front-end/Color.js:
  18300. * inspector/front-end/MetricsSidebarPane.js:
  18301. (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode):
  18302. (WebInspector.MetricsSidebarPane.prototype._updateMetrics):
  18303. * inspector/front-end/inspector.css:
  18304. (.metrics .label):
  18305. * inspector/front-end/inspector.js:
  18306. (WebInspector.buildHighlightConfig):
  18307. 2011-09-21 Andreas Kling <kling@webkit.org>
  18308. Protect against misuse of EventListenerIterator.
  18309. https://bugs.webkit.org/show_bug.cgi?id=68364
  18310. Reviewed by Darin Adler.
  18311. In debug mode, keep track of the number of active EventListenerIterators
  18312. on an EventListenerMap, and assert that there are no iterators when the
  18313. map is being modified.
  18314. * dom/EventListenerMap.cpp:
  18315. (WebCore::EventListenerMap::EventListenerMap):
  18316. (WebCore::EventListenerMap::clear):
  18317. (WebCore::EventListenerMap::add):
  18318. (WebCore::EventListenerMap::remove):
  18319. (WebCore::EventListenerMap::find):
  18320. (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
  18321. (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
  18322. (WebCore::EventListenerIterator::EventListenerIterator):
  18323. (WebCore::EventListenerIterator::~EventListenerIterator):
  18324. * dom/EventListenerMap.h:
  18325. 2011-09-21 Pavel Feldman <pfeldman@google.com>
  18326. Web Inspector: minor fixes in the DOM domain of the protocol.
  18327. https://bugs.webkit.org/show_bug.cgi?id=68517
  18328. Reviewed by Yury Semikhatsky.
  18329. * inspector/Inspector.json:
  18330. * inspector/InspectorDOMAgent.cpp:
  18331. (WebCore::InspectorDOMAgent::setAttributesAsText):
  18332. * inspector/InspectorDOMAgent.h:
  18333. * inspector/front-end/DOMAgent.js:
  18334. (WebInspector.DOMNode.prototype.setAttribute):
  18335. 2011-09-16 Pavel Feldman <pfeldman@google.com>
  18336. Web Inspector: limit the use of "Resource" term in the protocol.
  18337. https://bugs.webkit.org/show_bug.cgi?id=68250
  18338. Reviewed by Yury Semikhatsky.
  18339. * inspector/Inspector.json:
  18340. * inspector/InspectorResourceAgent.cpp:
  18341. (WebCore::InspectorResourceAgent::markResourceAsCached):
  18342. (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
  18343. (WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
  18344. (WebCore::InspectorResourceAgent::getResponseBody):
  18345. * inspector/InspectorResourceAgent.h:
  18346. * inspector/front-end/ExtensionServer.js:
  18347. (WebInspector.ExtensionServer.prototype._onAddRequestHeaders):
  18348. * inspector/front-end/NetworkManager.js:
  18349. (WebInspector.NetworkManager.prototype.requestContent):
  18350. (WebInspector.NetworkDispatcher.prototype.requestServedFromCache):
  18351. (WebInspector.NetworkDispatcher.prototype.requestServedFromMemoryCache):
  18352. 2011-09-21 Sheriff Bot <webkit.review.bot@gmail.com>
  18353. Unreviewed, rolling out r95608.
  18354. http://trac.webkit.org/changeset/95608
  18355. https://bugs.webkit.org/show_bug.cgi?id=68521
  18356. breaks GTK and Windows builds. Please check EWS next time.
  18357. (Requested by philn-tp on #webkit).
  18358. * html/HTMLBodyElement.cpp:
  18359. (WebCore::adjustForZoom):
  18360. (WebCore::HTMLBodyElement::setScrollLeft):
  18361. (WebCore::HTMLBodyElement::setScrollTop):
  18362. * loader/HistoryController.cpp:
  18363. (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
  18364. * page/DOMWindow.cpp:
  18365. (WebCore::DOMWindow::scrollX):
  18366. (WebCore::DOMWindow::scrollY):
  18367. (WebCore::DOMWindow::scrollTo):
  18368. * page/Frame.cpp:
  18369. (WebCore::Frame::pageScaleFactor):
  18370. * page/Frame.h:
  18371. * page/FrameView.cpp:
  18372. (WebCore::FrameView::applyOverflowToViewport):
  18373. (WebCore::FrameView::scrollXForFixedPosition):
  18374. (WebCore::FrameView::scrollYForFixedPosition):
  18375. 2011-09-21 Pavel Feldman <pfeldman@google.com>
  18376. Web Inspector: console panel's scroller is not properly aligned.
  18377. https://bugs.webkit.org/show_bug.cgi?id=68448
  18378. Reviewed by Yury Semikhatsky.
  18379. * inspector/front-end/inspector.css:
  18380. (#console-view):
  18381. (#console-messages):
  18382. (#drawer #console-messages):
  18383. 2011-09-20 Alpha Lam <hclam@chromium.org>
  18384. https://bugs.webkit.org/show_bug.cgi?id=68081
  18385. Fix scroll in page scaling mode.
  18386. Reviewed by Simon Fraser.
  18387. The following things are done in this patch:
  18388. 1. Rename Frame::pageScaleFactor() to Frame::frameScaleFactor() to better
  18389. reflect its purpose.
  18390. 2. Frame::frameScaleFactor() returns the scale factor of this frame with
  18391. respect to the container. So for the main frame it'll return the scale
  18392. factor of the page, inner frames will return 1.0
  18393. 3. scrollBy(), scrollX() and scrollY() to take into account of the frame
  18394. scale factor, causing incorrect coordinates reported to Javascript.
  18395. Tests: fast/events/scale-and-scroll-body.html
  18396. fast/events/scale-and-scroll-iframe-body.html
  18397. fast/events/scale-and-scroll-iframe-window.html
  18398. fast/events/scale-and-scroll-window.html
  18399. * html/HTMLBodyElement.cpp:
  18400. (WebCore::adjustForZoom):
  18401. (WebCore::HTMLBodyElement::setScrollLeft):
  18402. (WebCore::HTMLBodyElement::setScrollTop):
  18403. * loader/HistoryController.cpp:
  18404. (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
  18405. * page/DOMWindow.cpp:
  18406. (WebCore::DOMWindow::scrollX):
  18407. (WebCore::DOMWindow::scrollY):
  18408. (WebCore::DOMWindow::scrollTo):
  18409. * page/Frame.cpp:
  18410. (WebCore::Frame::frameScaleFactor): Return page's scale factor if this is
  18411. main frame, otherwise 1.0
  18412. * page/Frame.h:
  18413. * page/FrameView.cpp:
  18414. (WebCore::FrameView::applyOverflowToViewport):
  18415. (WebCore::FrameView::scrollXForFixedPosition):
  18416. (WebCore::FrameView::scrollYForFixedPosition):
  18417. 2011-09-21 Andras Becsi <andras.becsi@nokia.com>
  18418. [Qt] Remove Qt specific code from css/SelectorChecker.cpp
  18419. https://bugs.webkit.org/show_bug.cgi?id=67702
  18420. Reviewed by Csaba Osztrogonác.
  18421. No new tests needed.
  18422. * css/SelectorChecker.cpp: Move Qt-specific code to the Qt-specific WebPlatformStrategies.
  18423. (WebCore::SelectorChecker::determineLinkStateSlowCase):
  18424. * platform/VisitedLinkStrategy.h:
  18425. 2011-09-16 MORITA Hajime <morrita@google.com>
  18426. Style changes on forwarded shadow children should trigger shadow renderer reconstruction.
  18427. https://bugs.webkit.org/show_bug.cgi?id=68228
  18428. Reviewed by Dimitri Glazkov.
  18429. Currently style changes on forwarded shadow child triggers
  18430. Node::reattach() only for the forwarded node. But it should
  18431. invalidate whole renderers on the shadow tree because
  18432. ShadowContentElement expects its inclusions to be attached and to
  18433. create renderers in the inclusion order. But single node
  18434. reattach() violates the expectation and possibly creates
  18435. inconsistent render tree.
  18436. This change makes NodeRenderingContext to go
  18437. AttachContentForwarded, where the ShadowContentElement::attach()
  18438. happens, only during ShadowRoot::attach(), not for style-change
  18439. triggered Node::attach() on the forwarded nodes.
  18440. Note that the altering phase AttachContentLight doesn't create
  18441. renderers for the forwarded nodes. Instead of that, it possibly
  18442. triggers shadow subtree reconstruction on
  18443. NodeRenderingContext::hostChildrenChanged().
  18444. No new tests. This is a defensive change. There is no visible
  18445. difference at this time.
  18446. * dom/NodeRenderingContext.cpp:
  18447. (WebCore::NodeRenderingContext::NodeRenderingContext):
  18448. * dom/ShadowRoot.cpp:
  18449. (WebCore::ShadowRoot::isInclusionSelectorActive):
  18450. * dom/ShadowRoot.h:
  18451. 2011-09-20 MORITA Hajime <morrita@google.com>
  18452. <meter> doesn't update rendering when its value is changed.
  18453. https://bugs.webkit.org/show_bug.cgi?id=67614
  18454. Reviewed by Dimitri Glazkov.
  18455. It lacks repaint() when the value is changed.
  18456. For non-native appearance it works because the indicator is
  18457. implemented in shadow DOM, for native appearance, repainting should be
  18458. handled explicitly.
  18459. Test: fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value.html
  18460. * html/HTMLMeterElement.cpp:
  18461. (WebCore::HTMLMeterElement::didElementStateChange):
  18462. * rendering/RenderMeter.cpp:
  18463. (WebCore::RenderMeter::updateFromElement):
  18464. * rendering/RenderMeter.h:
  18465. * rendering/RenderProgress.cpp:
  18466. (WebCore::RenderProgress::updateAnimationState):
  18467. 2011-09-20 Kent Tamura <tkent@chromium.org>
  18468. Move RenderObject::markContainingBlocksForLayout() to RenderObject.cpp.
  18469. https://bugs.webkit.org/show_bug.cgi?id=67989
  18470. Reviewed by Ryosuke Niwa.
  18471. No new tests because of no behavior change.
  18472. * rendering/RenderObject.cpp:
  18473. (WebCore::objectIsRelayoutBoundary): Moved from RenderObject.h.
  18474. (WebCore::RenderObject::markContainingBlocksForLayout): Moved from RenderObject.h
  18475. * rendering/RenderObject.h:
  18476. 2011-09-20 Rachel Blum <groby@chromium.org>
  18477. Support for multiple <link rel="icon"> favicon elements.
  18478. https://bugs.webkit.org/show_bug.cgi?id=65564
  18479. Reviewed by Darin Fisher.
  18480. No tests - purely an API change. (And API is not exposed to LayoutTests)
  18481. * dom/Document.cpp:
  18482. (WebCore::Document::iconURLs):
  18483. (WebCore::Document::addIconURL):
  18484. * dom/Document.h:
  18485. * dom/IconURL.cpp:
  18486. (WebCore::toIconIndex):
  18487. * dom/IconURL.h:
  18488. (WebCore::IconURL::IconURL):
  18489. * html/HTMLLinkElement.cpp:
  18490. (WebCore::HTMLLinkElement::process):
  18491. * loader/LinkLoader.cpp:
  18492. (WebCore::LinkLoader::loadLink):
  18493. * loader/LinkLoader.h:
  18494. * loader/icon/IconController.cpp:
  18495. (WebCore::IconController::urlsForTypes):
  18496. (WebCore::IconController::appendToIconURLs):
  18497. (WebCore::IconController::defaultURL):
  18498. 2011-09-20 Ojan Vafai <ojan@chromium.org>
  18499. [css3-flexbox] cleanup padding width calculations
  18500. https://bugs.webkit.org/show_bug.cgi?id=68490
  18501. Reviewed by Tony Chang.
  18502. No new tests. Existing tests cover the refactor.
  18503. * rendering/RenderFlexibleBox.cpp:
  18504. (WebCore::RenderFlexibleBox::logicalBorderAndPaddingWidthForChild):
  18505. (WebCore::RenderFlexibleBox::logicalScrollbarHeightForChild):
  18506. (WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
  18507. (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
  18508. (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
  18509. * rendering/RenderFlexibleBox.h:
  18510. 2011-09-19 Jer Noble <jer.noble@apple.com>
  18511. Fix clang compile errors in Web Audio
  18512. https://bugs.webkit.org/show_bug.cgi?id=68384
  18513. Reviewed by David Levin.
  18514. No new tests; no net change in functionality.
  18515. * platform/graphics/MediaPlayer.h: Forward declare (instead of including directly)
  18516. AudioSourceProvider.
  18517. * webaudio/AudioChannelMerger.cpp:
  18518. (WebCore::AudioChannelMerger::checkNumberOfChannelsForInput): Remove unused parameter name.
  18519. 2011-09-20 John Gregg <johnnyg@google.com>
  18520. Directory Upload: parent path can truncate first char of the correct path
  18521. https://bugs.webkit.org/show_bug.cgi?id=66695
  18522. In some cases, if the parent path we compute ends with a separator
  18523. character like '/' or 'C:\', by adding one in an attempt to grab the
  18524. subsequent separator we actually grab a character of the real path,
  18525. which is incorrect.
  18526. Reviewed by Darin Fisher.
  18527. * html/FileInputType.cpp:
  18528. (WebCore::FileInputType::setFileList):
  18529. 2011-09-20 Jochen Eisinger <jochen@chromium.org>
  18530. Invoke CachedResourceLoader::canRequest for all URLs in a redirect chain
  18531. https://bugs.webkit.org/show_bug.cgi?id=68279
  18532. Reviewed by Adam Barth.
  18533. * loader/cache/CachedResourceLoader.h:
  18534. * loader/cache/CachedResourceRequest.cpp:
  18535. (WebCore::CachedResourceRequest::willSendRequest):
  18536. 2011-09-18 Ojan Vafai <ojan@chromium.org>
  18537. change RenderFlexibleBox to act on logical coordinates
  18538. https://bugs.webkit.org/show_bug.cgi?id=68129
  18539. Reviewed by David Hyatt.
  18540. This makes RenderFlexibleBox respect direction and writing-mode.
  18541. We now properly support the default flex-flow value of "row".
  18542. Test: css3/flexbox/writing-modes.html
  18543. * rendering/RenderBlock.cpp:
  18544. (WebCore::RenderBlock::setLogicalLocationForChild):
  18545. * rendering/RenderBlock.h:
  18546. * rendering/RenderFlexibleBox.cpp:
  18547. (WebCore::RenderFlexibleBox::layoutBlock):
  18548. (WebCore::RenderFlexibleBox::logicalBorderWidthForChild):
  18549. (WebCore::RenderFlexibleBox::logicalPaddingWidthForChild):
  18550. (WebCore::RenderFlexibleBox::logicalScrollbarHeightForChild):
  18551. (WebCore::RenderFlexibleBox::marginStartStyleForChild):
  18552. (WebCore::RenderFlexibleBox::marginEndStyleForChild):
  18553. (WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
  18554. (WebCore::RenderFlexibleBox::layoutInlineDirection):
  18555. (WebCore::RenderFlexibleBox::logicalPositiveFlexForChild):
  18556. (WebCore::RenderFlexibleBox::logicalNegativeFlexForChild):
  18557. (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
  18558. (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
  18559. (WebCore::RenderFlexibleBox::setLogicalOverrideSize):
  18560. (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
  18561. * rendering/RenderFlexibleBox.h:
  18562. 2011-09-20 Marshall Greenblatt <marshall@chromium.org>
  18563. Use DEFINE_STATIC_LOCAL to intentionally leak the static RefCountedHFONT object returned from
  18564. FontPlatformData::hashTableDeletedFontValue() to avoid global destructor ordering problems.
  18565. https://bugs.webkit.org/show_bug.cgi?id=67906
  18566. Reviewed by Adam Barth.
  18567. * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
  18568. 2011-09-20 Ryosuke Niwa <rniwa@webkit.org>
  18569. Hit testing on margins of body and head elements doesn't recur
  18570. https://bugs.webkit.org/show_bug.cgi?id=40753
  18571. Reviewed by Darin Adler.
  18572. The bug was caused by positionForPointRespectingEditingBoundaries's comparing the editability
  18573. of head/body and html elements when hit testing was done inside margins of head and body elements.
  18574. Fixed the bug by special-casing html element since margins of head and body elements are special.
  18575. Tests: editing/selection/click-on-body-margin.html
  18576. editing/selection/click-on-head-margin.html
  18577. * rendering/RenderBlock.cpp:
  18578. (WebCore::positionForPointRespectingEditingBoundaries):
  18579. 2011-09-20 David Hyatt <hyatt@apple.com>
  18580. https://bugs.webkit.org/show_bug.cgi?id=68480
  18581. De-virtualize containingBlock() and make RenderView return 0 instead
  18582. of itself to make the construction of normal loops that terminate via
  18583. a null-check possible.
  18584. Fix the only two places in the tree that needed null checks.
  18585. Eliminating RenderTableCell::containingBlock() is fine since the base class
  18586. does the same thing anyway.
  18587. Reviewed by Simon Fraser.
  18588. * editing/VisiblePosition.cpp:
  18589. (WebCore::VisiblePosition::lineDirectionPointForBlockDirectionNavigation):
  18590. * rendering/RenderObject.cpp:
  18591. (WebCore::RenderObject::containingBlock):
  18592. * rendering/RenderObject.h:
  18593. * rendering/RenderTableCell.cpp:
  18594. * rendering/RenderTableCell.h:
  18595. * rendering/RenderTreeAsText.cpp:
  18596. (WebCore::RenderTreeAsText::writeRenderObject):
  18597. * rendering/RenderView.cpp:
  18598. * rendering/RenderView.h:
  18599. 2011-09-20 Anders Carlsson <andersca@apple.com>
  18600. Remove ScrollView::platformContentsSize
  18601. https://bugs.webkit.org/show_bug.cgi?id=68188
  18602. Reviewed by Darin Adler.
  18603. Since ScrollView keeps track of the contents size in ScrollView::m_contentsSize, we never
  18604. have to ask the underlying platform scroll view for contents size since it should always just
  18605. be equal to m_contentsSize.
  18606. * platform/ScrollView.cpp:
  18607. (WebCore::ScrollView::contentsSize):
  18608. (WebCore::ScrollView::wheelEvent):
  18609. * platform/ScrollView.h:
  18610. * platform/mac/ScrollViewMac.mm:
  18611. * platform/wx/ScrollViewWx.cpp:
  18612. 2011-09-20 Alexis Menard <alexis.menard@openbossa.org>
  18613. [Qt] [WK2] Implement a persistent cookie storage.
  18614. https://bugs.webkit.org/show_bug.cgi?id=65309
  18615. Reviewed by Chang Shu.
  18616. Implement a cookie storage for the Qt port on WebKit2.
  18617. The implementation is using a SQLite database to store the cookies
  18618. and restore them. It uses a static object as CookieJar is not an
  18619. object but a set of global functions. The actual saving/restoring is on
  18620. the WebProcess side where our network stack lives.
  18621. Existing tests cover the new implementation. Unfortunately there is one
  18622. case that we can't easily simulate : login in a website, make sure that the webprocess
  18623. is not running and then going back to this website and see that we are logged.
  18624. * WebCore.pri:
  18625. * WebCore.pro:
  18626. * platform/qt/CookieJarQt.cpp:
  18627. (WebCore::getHostnamesWithCookies):
  18628. (WebCore::deleteCookiesForHostname):
  18629. (WebCore::deleteAllCookies):
  18630. (WebCore::SharedCookieJarQt::shared):
  18631. (WebCore::SharedCookieJarQt::create):
  18632. (WebCore::SharedCookieJarQt::destroy):
  18633. (WebCore::SharedCookieJarQt::getHostnamesWithCookies):
  18634. (WebCore::SharedCookieJarQt::deleteCookiesForHostname):
  18635. (WebCore::SharedCookieJarQt::deleteAllCookies):
  18636. (WebCore::SharedCookieJarQt::SharedCookieJarQt):
  18637. (WebCore::SharedCookieJarQt::~SharedCookieJarQt):
  18638. (WebCore::SharedCookieJarQt::setCookiesFromUrl):
  18639. (WebCore::SharedCookieJarQt::ensureDatabaseTable):
  18640. (WebCore::SharedCookieJarQt::loadCookies):
  18641. * platform/qt/CookieJarQt.h: Added.
  18642. 2011-09-20 David Hyatt <hyatt@apple.com>
  18643. https://bugs.webkit.org/show_bug.cgi?id=68314
  18644. Make sure that the containing block loop when clipping to border-radius
  18645. terminates by checking if you hit the RenderView. Null checking isn't sufficient
  18646. for stupid historical reasons that should be fixed (i.e., the RenderView returns itself
  18647. as its own containing block, even though this should just be changed).
  18648. Reviewed by Simon Fraser and Darin Adler.
  18649. Added new test in fast/clip.
  18650. * rendering/RenderLayer.cpp:
  18651. (WebCore::inContainingBlockChain):
  18652. 2011-09-20 Dan Bernstein <mitz@apple.com>
  18653. MathML renderers do not override RenderObject::renderName()
  18654. https://bugs.webkit.org/show_bug.cgi?id=68461
  18655. Reviewed by Darin Adler.
  18656. Added implementations of renderName() in MathML RenderObject subclasses.
  18657. * rendering/mathml/RenderMathMLBlock.h:
  18658. (WebCore::RenderMathMLBlock::renderName):
  18659. * rendering/mathml/RenderMathMLFenced.h:
  18660. (WebCore::RenderMathMLFenced::renderName):
  18661. * rendering/mathml/RenderMathMLFraction.h:
  18662. (WebCore::RenderMathMLFraction::renderName):
  18663. * rendering/mathml/RenderMathMLMath.h:
  18664. (WebCore::RenderMathMLMath::renderName):
  18665. * rendering/mathml/RenderMathMLOperator.h:
  18666. (WebCore::RenderMathMLOperator::renderName):
  18667. * rendering/mathml/RenderMathMLRoot.h:
  18668. (WebCore::RenderMathMLRoot::renderName):
  18669. * rendering/mathml/RenderMathMLRow.h:
  18670. (WebCore::RenderMathMLRow::renderName):
  18671. * rendering/mathml/RenderMathMLSquareRoot.h:
  18672. (WebCore::RenderMathMLSquareRoot::renderName):
  18673. * rendering/mathml/RenderMathMLSubSup.h:
  18674. (WebCore::RenderMathMLSubSup::renderName):
  18675. * rendering/mathml/RenderMathMLUnderOver.h:
  18676. (WebCore::RenderMathMLUnderOver::renderName):
  18677. 2011-09-20 ChangSeok Oh <shivamidow@gmail.com>
  18678. [GTK] requestAnimationFrame support for gtk port
  18679. https://bugs.webkit.org/show_bug.cgi?id=66280
  18680. Reviewed by Martin Robinson.
  18681. Add some files to build-target & activate ENABLE_REQUEST_ANIMATION_FRAME flag
  18682. when enabling requestAnimationFrame option.
  18683. fast/animation/request-animation-frame-cancel.html
  18684. fast/animation/request-animation-frame-cancel2.html
  18685. fast/animation/request-animation-frame-display.html
  18686. fast/animation/request-animation-frame-during-modal.html
  18687. fast/animation/request-animation-frame-timestamps.html
  18688. fast/animation/request-animation-frame-within-callback.html
  18689. fast/animation/request-animation-frame.html
  18690. * GNUmakefile.am:
  18691. * GNUmakefile.list.am:
  18692. 2011-09-20 Aaron Boodman <aa@chromium.org>
  18693. Rework script context creation/release notifications
  18694. https://bugs.webkit.org/show_bug.cgi?id=67828
  18695. Reviewed by Adam Barth.
  18696. * bindings/v8/V8DOMWindowShell.cpp:
  18697. (WebCore::V8DOMWindowShell::disposeContextHandles):
  18698. (WebCore::V8DOMWindowShell::initContextIfNeeded):
  18699. * bindings/v8/V8IsolatedContext.cpp:
  18700. (WebCore::V8IsolatedContext::V8IsolatedContext):
  18701. (WebCore::V8IsolatedContext::destroy):
  18702. * bindings/v8/V8IsolatedContext.h:
  18703. * loader/EmptyClients.h:
  18704. (WebCore::EmptyFrameLoaderClient::didCreateScriptContext):
  18705. (WebCore::EmptyFrameLoaderClient::willReleaseScriptContext):
  18706. * loader/FrameLoaderClient.h:
  18707. 2011-09-19 Oliver Hunt <oliver@apple.com>
  18708. Refactor Heap allocation logic into separate AllocationSpace class
  18709. https://bugs.webkit.org/show_bug.cgi?id=68409
  18710. Reviewed by Gavin Barraclough.
  18711. Adding a forwarding header.
  18712. * ForwardingHeaders/heap/AllocationSpace.h: Added.
  18713. 2011-09-20 Geoffrey Garen <ggaren@apple.com>
  18714. Build fix.
  18715. * WebCorePrefix.h: Removed stray text from accidental paste.
  18716. 2011-09-19 Geoffrey Garen <ggaren@apple.com>
  18717. Removed BREWMP* platform #ifdefs
  18718. https://bugs.webkit.org/show_bug.cgi?id=68425
  18719. BREWMP* has no maintainer, and this is dead code.
  18720. Reviewed by Darin Adler.
  18721. * WebCorePrefix.h:
  18722. * loader/cache/CachedFont.cpp:
  18723. * platform/DragData.h:
  18724. * platform/DragImage.h:
  18725. * platform/FileSystem.h:
  18726. * platform/PlatformKeyboardEvent.h:
  18727. * platform/PlatformMouseEvent.h:
  18728. * platform/PlatformTouchEvent.h:
  18729. * platform/PlatformTouchPoint.h:
  18730. (WebCore::PlatformTouchPoint::PlatformTouchPoint):
  18731. * platform/Widget.h:
  18732. * platform/graphics/IntPoint.h:
  18733. * platform/graphics/IntSize.h:
  18734. * platform/graphics/WOFFFileFormat.cpp:
  18735. * platform/graphics/skia/FontCustomPlatformData.cpp:
  18736. (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
  18737. (WebCore::FontCustomPlatformData::fontPlatformData):
  18738. (WebCore::createFontCustomPlatformData):
  18739. * platform/graphics/skia/FontCustomPlatformData.h:
  18740. * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
  18741. * platform/text/TextBoundaries.cpp:
  18742. * platform/text/TextEncoding.cpp:
  18743. (WebCore::TextEncoding::encode):
  18744. * platform/text/TextEncodingRegistry.cpp:
  18745. * plugins/PluginViewNone.cpp:
  18746. 2011-09-20 Pavel Feldman <pfeldman@google.com>
  18747. Web Inspector: Copy Stack Trace lacks newlines on Windows
  18748. https://bugs.webkit.org/show_bug.cgi?id=68447
  18749. Reviewed by Joseph Pecoraro.
  18750. * inspector/front-end/CallStackSidebarPane.js:
  18751. (WebInspector.CallStackSidebarPane.prototype._copyStackTrace):
  18752. 2011-09-20 Pavel Feldman <pfeldman@google.com>
  18753. Not reviewed: inspector sanity test fix.
  18754. * inspector/front-end/inspector.js:
  18755. (WebInspector.showConsole):
  18756. 2011-09-20 Alexis Menard <alexis.menard@openbossa.org>
  18757. [Qt][WK2] Add stubs for FULLSCREEN_API on Qt.
  18758. https://bugs.webkit.org/show_bug.cgi?id=68444
  18759. Reviewed by Andreas Kling.
  18760. Create all the stubs necessary for enabling FULLSCREEN_API on the Qt port.
  18761. No new tests : just stubs.
  18762. * CodeGenerators.pri:
  18763. * WebCore.pro:
  18764. * features.pri:
  18765. 2011-09-20 Sheriff Bot <webkit.review.bot@gmail.com>
  18766. Unreviewed, rolling out r95509.
  18767. http://trac.webkit.org/changeset/95509
  18768. https://bugs.webkit.org/show_bug.cgi?id=68446
  18769. crashes chromium fast/repaint/japanese-rl-selection-repaint-
  18770. in-regions.html on Win and Linux (Requested by dslomov on
  18771. #webkit).
  18772. * rendering/RenderBlock.cpp:
  18773. (WebCore::positionForPointRespectingEditingBoundaries):
  18774. 2011-09-20 Jarred Nicholls <jarred@sencha.com>
  18775. [Qt] Permit qrc resources to load in QWebSettings::setUserStyleSheetUrl()
  18776. https://bugs.webkit.org/show_bug.cgi?id=51159
  18777. Permit any URL with a local scheme to set a user style sheet. Allow qrc
  18778. resource URLs as arguments to QWebSettings::setUserStyleSheetUrl().
  18779. Reviewed by Kenneth Rohde Christiansen.
  18780. * page/Page.cpp:
  18781. (WebCore::Page::userStyleSheetLocationChanged):
  18782. * platform/qt/KURLQt.cpp:
  18783. (WebCore::KURL::fileSystemPath):
  18784. 2011-09-20 Csaba Osztrogonác <ossy@webkit.org>
  18785. [Qt][Mac] Buildfix after r95513.
  18786. Forwarding headers for WebCore should be generated based on WebCore sources instead of WebKit2.
  18787. Rubber-stamped by Andras Becsi.
  18788. * DerivedSources.pro:
  18789. * WebCore.pro: Add platform/mac/DisplaySleepDisabler.cpp to SOURCES.
  18790. 2011-09-19 Pavel Feldman <pfeldman@google.com>
  18791. Web Inspector: document Debugger.paused, introduce types for ids in Debugger domain.
  18792. https://bugs.webkit.org/show_bug.cgi?id=68363
  18793. Migrates from poorly documented "details" object to explicit parameters
  18794. containing break type and data.
  18795. Reviewed by Tony Gentilcore.
  18796. * inspector/InjectedScriptSource.js:
  18797. ():
  18798. * inspector/Inspector.json:
  18799. * inspector/InspectorDOMDebuggerAgent.cpp:
  18800. (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
  18801. (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
  18802. (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
  18803. (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
  18804. (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
  18805. (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
  18806. * inspector/InspectorDebuggerAgent.cpp:
  18807. (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
  18808. (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
  18809. (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
  18810. (WebCore::InspectorDebuggerAgent::pause):
  18811. (WebCore::InspectorDebuggerAgent::didPause):
  18812. (WebCore::InspectorDebuggerAgent::didContinue):
  18813. (WebCore::InspectorDebuggerAgent::breakProgram):
  18814. (WebCore::InspectorDebuggerAgent::clear):
  18815. (WebCore::InspectorDebuggerAgent::clearBreakDetails):
  18816. * inspector/InspectorDebuggerAgent.h:
  18817. * inspector/front-end/DOMBreakpointsSidebarPane.js:
  18818. (WebInspector.DOMBreakpointsSidebarPane.prototype.createBreakpointHitStatusMessage.didPushNodeToFrontend):
  18819. (WebInspector.DOMBreakpointsSidebarPane.prototype.createBreakpointHitStatusMessage):
  18820. (WebInspector.DOMBreakpointsSidebarPane.prototype.highlightBreakpoint):
  18821. * inspector/front-end/DebuggerModel.js:
  18822. (WebInspector.DebuggerModel.prototype._pausedScript):
  18823. (WebInspector.DebuggerDispatcher.prototype.paused):
  18824. * inspector/front-end/DebuggerPresentationModel.js:
  18825. (WebInspector.PresentationCallFrame.prototype.evaluate):
  18826. * inspector/front-end/ScopeChainSidebarPane.js:
  18827. (WebInspector.ScopeChainSidebarPane.prototype.update):
  18828. * inspector/front-end/ScriptsPanel.js:
  18829. (WebInspector.ScriptsPanel.prototype._debuggerPaused.didCreateBreakpointHitStatusMessage):
  18830. (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
  18831. (WebInspector.ScriptsPanel.prototype._debuggerPaused):
  18832. 2011-09-19 Pavel Feldman <pfeldman@google.com>
  18833. Web Inspector: use strict types for Breakpoint and CallFrame ids in the protocol definition.
  18834. https://bugs.webkit.org/show_bug.cgi?id=68172
  18835. Reviewed by Tony Gentilcore.
  18836. * inspector/Inspector.json:
  18837. 2011-09-15 Pavel Feldman <pfeldman@google.com>
  18838. Web Inspector: refactor ConsoleView, Drawer, ConsolePanel trio. Remove animation
  18839. from drawer -> panel transition.
  18840. https://bugs.webkit.org/show_bug.cgi?id=68155
  18841. ConsoleView, ConsolePanel and Drawer are all Views with custom show/hide implementations
  18842. and weird DOM element containment. As a result, we have a number of cases when switching
  18843. console from full panel to drawer mode and back result in UI glitches.
  18844. For the sake of code clarity and no glitches, I'd like to sacrifice the "grow into full
  18845. screen" console animation.
  18846. Reviewed by Tony Gentilcore.
  18847. * inspector/front-end/ConsoleModel.js:
  18848. (WebInspector.ConsoleModel):
  18849. * inspector/front-end/ConsolePanel.js:
  18850. (WebInspector.ConsolePanel):
  18851. (WebInspector.ConsolePanel.prototype.get statusBarItems):
  18852. (WebInspector.ConsolePanel.prototype.show):
  18853. (WebInspector.ConsolePanel.prototype.hide):
  18854. * inspector/front-end/ConsoleView.js:
  18855. (WebInspector.ConsoleView):
  18856. (WebInspector.ConsoleView.createFilterElement):
  18857. (WebInspector.ConsoleView.get this):
  18858. (WebInspector.ConsoleView.prototype.get statusBarItems):
  18859. (WebInspector.ConsoleView.prototype.wasShown):
  18860. * inspector/front-end/Drawer.js:
  18861. (WebInspector.Drawer):
  18862. (WebInspector.Drawer.prototype.get visible):
  18863. (WebInspector.Drawer.prototype._constrainHeight):
  18864. (WebInspector.Drawer.prototype.show.animationFinished):
  18865. (WebInspector.Drawer.prototype.show):
  18866. (WebInspector.Drawer.prototype.hide):
  18867. (WebInspector.Drawer.prototype.resize):
  18868. (WebInspector.Drawer.prototype._animationDuration):
  18869. * inspector/front-end/inspector.html:
  18870. * inspector/front-end/inspector.js:
  18871. (WebInspector._createGlobalStatusBarItems):
  18872. (WebInspector._toggleConsoleButtonClicked):
  18873. (WebInspector.set attached):
  18874. (WebInspector.windowResize):
  18875. (WebInspector.documentKeyDown):
  18876. 2011-09-19 Pavel Feldman <pfeldman@google.com>
  18877. Web Inspector: streamline Console's MessageType and MessageSource semantics.
  18878. https://bugs.webkit.org/show_bug.cgi?id=68342
  18879. This change fixes semantics of the MessageSource and MessageType:
  18880. MessageSource is now the source of the message (be it Network, HTML
  18881. parser or Console API). MessageType is only defined for the Console API
  18882. messages and contains the name of the API call (log, dir, dirxml, etc.).
  18883. Subsequent https://bugs.webkit.org/show_bug.cgi?id=66371 will make MessageType
  18884. private to the inspector.
  18885. Reviewed by Tony Gentilcore.
  18886. * dom/Document.cpp:
  18887. (WebCore::Document::logExceptionToConsole):
  18888. * inspector/ConsoleMessage.cpp:
  18889. (WebCore::messageSourceValue):
  18890. (WebCore::messageTypeValue):
  18891. (WebCore::ConsoleMessage::addToFrontend):
  18892. * inspector/Inspector.json:
  18893. * inspector/InspectorConsoleAgent.cpp:
  18894. (WebCore::InspectorConsoleAgent::didReceiveResponse):
  18895. (WebCore::InspectorConsoleAgent::didFailLoading):
  18896. * inspector/front-end/ConsoleMessage.js:
  18897. (WebInspector.ConsoleMessage.createTextMessage):
  18898. (WebInspector.ConsoleMessage.prototype._formatMessage):
  18899. (WebInspector.ConsoleMessage.prototype.toString):
  18900. * page/Console.cpp:
  18901. (WebCore::printMessageSourceAndLevelPrefix):
  18902. (WebCore::Console::addMessage):
  18903. (WebCore::Console::dir):
  18904. (WebCore::Console::dirxml):
  18905. (WebCore::Console::group):
  18906. (WebCore::Console::groupCollapsed):
  18907. (WebCore::Console::groupEnd):
  18908. * page/ConsoleTypes.h:
  18909. * websockets/WebSocketChannel.cpp:
  18910. (WebCore::WebSocketChannel::didFailSocketStream):
  18911. 2011-09-20 Adenilson Cavalcanti <adenilson.silva@openbossa.org>
  18912. [Qt] resizeToContent seems to trigger infinite resize on some pages
  18913. https://bugs.webkit.org/show_bug.cgi?id=43852
  18914. Reviewed by Kenneth Rohde Christiansen.
  18915. InnerHeight and InnerWidth are now calculated using ScrollView::visibleContentRect
  18916. including the scrollbars (if any) instead of using ScrollView::frameRect as before.
  18917. This makes no behavior change while not using the tiled backing
  18918. store and is compliant with the W3C definition stated in the CSSOM
  18919. View Module.
  18920. Plus it will return the correct values for tiled backing store,
  18921. thus fixing the original bug report by avoiding infinite resize
  18922. events caused by wrong innerHeight and innerWidth values.
  18923. Test: innerWidth/Height are covered by existing tests. The
  18924. non-infinite resizing is covered by a new Qt autotest at
  18925. test_qgraphicswebview::windowResizeEvent()
  18926. * page/DOMWindow.cpp:
  18927. (WebCore::DOMWindow::innerHeight): using ScrollView::visibleContentRect.
  18928. (WebCore::DOMWindow::innerWidth): using ScrollView::visibleContentRect.
  18929. 2011-09-09 Pavel Podivilov <podivilov@chromium.org>
  18930. Web Inspector: implement reverse mapping for compiler source maps.
  18931. https://bugs.webkit.org/show_bug.cgi?id=67850
  18932. Implement the mapping from source code to compiled code. It will be used for
  18933. setting breakpoints on source code.
  18934. Reviewed by Pavel Feldman.
  18935. * inspector/front-end/CompilerSourceMapping.js:
  18936. (WebInspector.ClosureCompilerSourceMapping):
  18937. (WebInspector.ClosureCompilerSourceMapping.prototype.compiledLocationToSourceLocation):
  18938. (WebInspector.ClosureCompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
  18939. (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappings):
  18940. 2011-09-08 Pavel Podivilov <podivilov@chromium.org>
  18941. Web Inspector: extract RawSourceCode source mapping logic to helper classes.
  18942. https://bugs.webkit.org/show_bug.cgi?id=67789
  18943. Reviewed by Pavel Feldman.
  18944. * inspector/front-end/SourceFile.js:
  18945. (WebInspector.RawSourceCode.prototype.get uiSourceCode):
  18946. (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
  18947. (WebInspector.RawSourceCode.prototype.uiLocationToRawLocation):
  18948. (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
  18949. (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
  18950. (WebInspector.RawSourceCode.prototype._createSourceMapping):
  18951. (WebInspector.RawSourceCode.prototype._saveSourceMapping):
  18952. (WebInspector.RawSourceCode.PlainSourceMapping):
  18953. (WebInspector.RawSourceCode.PlainSourceMapping.prototype.rawLocationToUILocation):
  18954. (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
  18955. (WebInspector.RawSourceCode.PlainSourceMapping.prototype.get uiSourceCode):
  18956. (WebInspector.RawSourceCode.FormattedSourceMapping):
  18957. (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
  18958. (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
  18959. (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.get uiSourceCode):
  18960. 2011-09-20 Carlos Garcia Campos <cgarcia@igalia.com>
  18961. [GTK] WebProcess shouldn't use the GTK+ API
  18962. https://bugs.webkit.org/show_bug.cgi?id=68062
  18963. Reviewed by Martin Robinson.
  18964. Move errors code that is common between webki1 and webkit2 to
  18965. WebCore so that it can be shared.
  18966. * GNUmakefile.list.am: Add new files to compilation.
  18967. * platform/gtk/ErrorsGtk.cpp: Added.
  18968. (WebCore::cancelledError):
  18969. (WebCore::blockedError):
  18970. (WebCore::cannotShowURLError):
  18971. (WebCore::interruptedForPolicyChangeError):
  18972. (WebCore::cannotShowMIMETypeError):
  18973. (WebCore::fileDoesNotExistError):
  18974. (WebCore::pluginWillHandleLoadError):
  18975. * platform/gtk/ErrorsGtk.h: Added.
  18976. 2011-09-19 Mark Rowe <mrowe@apple.com>
  18977. Attempt to fix the Leopard build.
  18978. * platform/mac/DisplaySleepDisabler.cpp:
  18979. (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
  18980. * platform/mac/DisplaySleepDisabler.h:
  18981. 2011-09-19 Mark Rowe <mrowe@apple.com>
  18982. <http://webkit.org/b/68421> Stop calling UpdateSystemActivity in places where we hold power assertions that achieve the same effect
  18983. On SnowLeopard and newer it's not necessary to call UpdateSystemActivity to prevent the screensaver from kicking
  18984. in as the NoDisplaySleep assertion now has that effect. It's also not necessary to hold both a NoDisplaySleep and
  18985. a NoIdleSleep assertion as the latter is implied by the former.
  18986. Since there were multiple copies of the same code to disable display sleep spread across WebCore, WebKit and WebKit2
  18987. this patch takes the approach of moving this functionality to a new DisplaySleepDisabler class that lives in WebCore.
  18988. A class is used as it makes it easier to reason about the lifetime of the assertions and to ensure that the assertions will
  18989. always be released when their owning objects go away.
  18990. Reviewed by Dan Bernstein.
  18991. * WebCore.exp.in:
  18992. * WebCore.xcodeproj/project.pbxproj:
  18993. * platform/mac/DisplaySleepDisabler.cpp:
  18994. (WebCore::DisplaySleepDisabler::DisplaySleepDisabler): Register for the NoDisplaySleep assertion, and start our
  18995. system activity timer when on Leopard.
  18996. (WebCore::DisplaySleepDisabler::~DisplaySleepDisabler): Unregister for the assertion.
  18997. (WebCore::DisplaySleepDisabler::systemActivityTimerFired): Call UpdateSystemActivity to prevent the screensaver from
  18998. triggering on Leopard.
  18999. * platform/mac/DisplaySleepDisabler.h:
  19000. (WebCore::DisplaySleepDisabler::create):
  19001. * platform/mac/WebVideoFullscreenController.h:
  19002. * platform/mac/WebVideoFullscreenController.mm:
  19003. (-[WebVideoFullscreenController dealloc]):
  19004. (-[WebVideoFullscreenController setupVideoOverlay:]): Remove the now-unnecessary explicit use of the WebCore namespace.
  19005. (-[WebVideoFullscreenController mediaElement]): Ditto.
  19006. (-[WebVideoFullscreenController setMediaElement:]): Ditto.
  19007. (-[WebVideoFullscreenController windowDidExitFullscreen]): Ditto.
  19008. (-[WebVideoFullscreenController updatePowerAssertions]): Create a DisplaySleepDisabler instance when transitioning from permitting
  19009. display sleep to disabling display sleep. Clear out our reference when sleep should be permitted, destroying any
  19010. disabler that we own.
  19011. 2011-09-19 Ryosuke Niwa <rniwa@webkit.org>
  19012. Hit testing on margins of body and head elements doesn't recur
  19013. https://bugs.webkit.org/show_bug.cgi?id=40753
  19014. Reviewed by Darin Adler.
  19015. The bug was caused by positionForPointRespectingEditingBoundaries's comparing the editability
  19016. of head/body and html elements when hit testing was done inside margins of head and body elements.
  19017. Fixed the bug by special-casing html element (any immediate child of render view with a render layer)
  19018. since margins of head and body elements are special.
  19019. Tests: editing/selection/click-on-body-margin.html
  19020. editing/selection/click-on-head-margin.html
  19021. * rendering/RenderBlock.cpp:
  19022. (WebCore::positionForPointRespectingEditingBoundaries):
  19023. 2011-09-19 Sheriff Bot <webkit.review.bot@gmail.com>
  19024. Unreviewed, rolling out r95493 and r95496.
  19025. http://trac.webkit.org/changeset/95493
  19026. http://trac.webkit.org/changeset/95496
  19027. https://bugs.webkit.org/show_bug.cgi?id=68418
  19028. Broke Windows build (Requested by rniwa on #webkit).
  19029. * ForwardingHeaders/heap/AllocationSpace.h: Removed.
  19030. 2011-09-19 James Robinson <jamesr@chromium.org>
  19031. [chromium] ContentLayer's texture updater deleted during paint when compositing turns off in the middle of paint
  19032. https://bugs.webkit.org/show_bug.cgi?id=68405
  19033. Reviewed by Kenneth Russell.
  19034. Make TiledLayerChromium's textureUpdater refcounted and hold an explicit reference during paint in case
  19035. compositing is turned off halfway through a paint.
  19036. * platform/graphics/chromium/ContentLayerChromium.h:
  19037. * platform/graphics/chromium/ImageLayerChromium.cpp:
  19038. (WebCore::ImageLayerTextureUpdater::create):
  19039. * platform/graphics/chromium/ImageLayerChromium.h:
  19040. * platform/graphics/chromium/LayerTextureUpdater.h:
  19041. * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
  19042. (WebCore::LayerTextureUpdaterBitmap::create):
  19043. (WebCore::LayerTextureUpdaterSkPicture::create):
  19044. * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
  19045. * platform/graphics/chromium/TiledLayerChromium.cpp:
  19046. (WebCore::TiledLayerChromium::prepareToUpdate):
  19047. 2011-09-19 Luke Macpherson <macpherson@chromium.org>
  19048. Eliminate Length::undefinedLength = -1 and replace with Undefined LengthType.
  19049. https://bugs.webkit.org/show_bug.cgi?id=68057
  19050. Reviewed by Darin Adler.
  19051. There appear to be many cases where -1 is actually a valid Length.
  19052. Encoding the validity of Length separately to the value is a natural solution.
  19053. No new tests / no behavioral changes.
  19054. * css/CSSComputedStyleDeclaration.cpp:
  19055. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  19056. * css/CSSPrimitiveValue.cpp:
  19057. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  19058. * css/CSSStyleApplyProperty.cpp:
  19059. (WebCore::ApplyPropertyLength::applyValue):
  19060. * platform/Length.h:
  19061. (WebCore::Length::Length):
  19062. (WebCore::Length::value):
  19063. (WebCore::Length::calcValue):
  19064. (WebCore::Length::calcMinValue):
  19065. (WebCore::Length::calcFloatValue):
  19066. (WebCore::Length::isUndefined):
  19067. * rendering/RenderBlock.cpp:
  19068. (WebCore::RenderBlock::computePreferredLogicalWidths):
  19069. * rendering/RenderDeprecatedFlexibleBox.cpp:
  19070. (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
  19071. * rendering/RenderFileUploadControl.cpp:
  19072. (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
  19073. * rendering/RenderImage.cpp:
  19074. (WebCore::RenderImage::isLogicalWidthSpecified):
  19075. (WebCore::RenderImage::isLogicalHeightSpecified):
  19076. * rendering/RenderListBox.cpp:
  19077. (WebCore::RenderListBox::computePreferredLogicalWidths):
  19078. * rendering/RenderMenuList.cpp:
  19079. (WebCore::RenderMenuList::computePreferredLogicalWidths):
  19080. * rendering/RenderReplaced.cpp:
  19081. (WebCore::RenderReplaced::computePreferredLogicalWidths):
  19082. * rendering/RenderSlider.cpp:
  19083. (WebCore::RenderSlider::computePreferredLogicalWidths):
  19084. * rendering/RenderTextControl.cpp:
  19085. (WebCore::RenderTextControl::computePreferredLogicalWidths):
  19086. * rendering/style/RenderStyle.h:
  19087. (WebCore::InheritedFlags::initialMaxSize):
  19088. * rendering/svg/RenderSVGRoot.cpp:
  19089. (WebCore::RenderSVGRoot::computePreferredLogicalWidths):
  19090. 2011-09-19 Adam Barth <abarth@webkit.org>
  19091. Always enable ENABLE(EVENTSOURCE)
  19092. https://bugs.webkit.org/show_bug.cgi?id=68414
  19093. Reviewed by Eric Seidel.
  19094. EventSource seems to be here to stay. This patch makes WebKit more
  19095. hackable by removing this ENABLE macro, as discussed on webkit-dev.
  19096. * Configurations/FeatureDefines.xcconfig:
  19097. * GNUmakefile.am:
  19098. * bindings/cpp/WebDOMEventTarget.cpp:
  19099. (toWebKit):
  19100. * bindings/js/JSDOMWindowCustom.cpp:
  19101. (WebCore::JSDOMWindow::eventSource):
  19102. * bindings/js/JSEventSourceCustom.cpp:
  19103. * bindings/js/JSEventTarget.cpp:
  19104. (WebCore::toJS):
  19105. (WebCore::toEventTarget):
  19106. * bindings/js/JSWorkerContextCustom.cpp:
  19107. (WebCore::JSWorkerContext::eventSource):
  19108. * bindings/v8/V8DOMWrapper.cpp:
  19109. (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
  19110. * features.pri:
  19111. * page/DOMWindow.idl:
  19112. * page/EventSource.cpp:
  19113. * page/EventSource.h:
  19114. * page/EventSource.idl:
  19115. * workers/WorkerContext.idl:
  19116. 2011-09-19 Jeremy Apthorp <jeremya@chromium.org>
  19117. Fix a use-after-free: clear the fullscreen change event target queue at
  19118. detach time, rather than at destruction time. If this isn't done, it's
  19119. possible for the event target queue to be the only thing that
  19120. references the document. Then when the document is popped off the queue
  19121. and dereferenced in Document::fullScreenChangeDelayTimerFired, the
  19122. document is destroyed and the subsequent access to
  19123. m_fullScreenChangeEventTargetQueue.isEmpty() accesses free'd memory.
  19124. https://bugs.webkit.org/show_bug.cgi?id=67960
  19125. Reviewed by Adam Barth.
  19126. * dom/Document.cpp:
  19127. (WebCore::Document::~Document):
  19128. (WebCore::Document::detach):
  19129. 2011-09-19 Sheriff Bot <webkit.review.bot@gmail.com>
  19130. Unreviewed, rolling out r95482.
  19131. http://trac.webkit.org/changeset/95482
  19132. https://bugs.webkit.org/show_bug.cgi?id=68410
  19133. Broke chromium webkit-tests (Requested by dslomov on #webkit).
  19134. * platform/image-encoders/skia/JPEGImageEncoder.cpp:
  19135. (WebCore::RGBAtoRGB):
  19136. 2011-09-19 Oliver Hunt <oliver@apple.com>
  19137. Refactor Heap allocation logic into separate AllocationSpace class
  19138. https://bugs.webkit.org/show_bug.cgi?id=68409
  19139. Reviewed by Gavin Barraclough.
  19140. Adding a forwarding header.
  19141. * ForwardingHeaders/heap/AllocationSpace.h: Added.
  19142. 2011-09-19 Adam Barth <abarth@webkit.org>
  19143. [V8] document.all gets confused about its prototype chain
  19144. https://bugs.webkit.org/show_bug.cgi?id=68393
  19145. Reviewed by Eric Seidel.
  19146. GetRealNamedPropertyInPrototypeChain doesn't call interceptors, so it's
  19147. not a good idea to use its return value. It turns out that all the
  19148. callers of the API only cared about whether it returns a null handle.
  19149. Test: http/tests/security/document-all.html
  19150. * bindings/v8/V8Collection.h:
  19151. (WebCore::collectionNamedPropertyGetter):
  19152. * bindings/v8/custom/V8DOMStringMapCustom.cpp:
  19153. (WebCore::V8DOMStringMap::namedPropertyDeleter):
  19154. (WebCore::V8DOMStringMap::namedPropertySetter):
  19155. * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
  19156. (WebCore::V8HTMLAllCollection::namedPropertyGetter):
  19157. * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
  19158. (WebCore::V8HTMLCollection::namedPropertyGetter):
  19159. * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
  19160. (WebCore::V8NamedNodeMap::namedPropertyGetter):
  19161. * bindings/v8/custom/V8StorageCustom.cpp:
  19162. (WebCore::storageSetter):
  19163. 2011-09-19 Adam Barth <abarth@webkit.org>
  19164. Named property confusion with __proto__
  19165. https://bugs.webkit.org/show_bug.cgi?id=68221
  19166. Reviewed by Eric Seidel.
  19167. The __proto__ property is super magical because it's not a real named
  19168. property and it has higher precedence than even interceptors. This
  19169. confuses this check, which is meant to detech which names will get
  19170. handled by our interceptor.
  19171. Test: http/tests/security/window-named-proto.html
  19172. * bindings/v8/custom/V8DOMWindowCustom.cpp:
  19173. (WebCore::V8DOMWindow::namedSecurityCheck):
  19174. 2011-09-19 Adam Barth <abarth@webkit.org>
  19175. Rename ENABLE(OPENTYPE_SANITIZER) to USE(OPENTYPE_SANITIZER)
  19176. https://bugs.webkit.org/show_bug.cgi?id=68292
  19177. Reviewed by Eric Seidel.
  19178. OpenType Sanitizer is a library for sanitizing type and not a feature.
  19179. Therefore this macro should say that we USE the library.
  19180. * platform/graphics/WOFFFileFormat.cpp:
  19181. * platform/graphics/WOFFFileFormat.h:
  19182. * platform/graphics/mac/FontCustomPlatformData.cpp:
  19183. (WebCore::createFontCustomPlatformData):
  19184. * platform/graphics/opentype/OpenTypeSanitizer.cpp:
  19185. * platform/graphics/opentype/OpenTypeSanitizer.h:
  19186. * platform/graphics/skia/FontCustomPlatformData.cpp:
  19187. (WebCore::createFontCustomPlatformData):
  19188. (WebCore::FontCustomPlatformData::supportsFormat):
  19189. 2011-09-19 Adam Barth <abarth@webkit.org>
  19190. Remove APPLICATION_CACHE_DYNAMIC_ENTRIES and associated code
  19191. https://bugs.webkit.org/show_bug.cgi?id=68407
  19192. Reviewed by Eric Seidel.
  19193. As discussed on webkit-dev, no one appears to be using this code.
  19194. * GNUmakefile.list.am:
  19195. * UseJSC.cmake:
  19196. * WebCore.gypi:
  19197. * WebCore.pro:
  19198. * WebCore.vcproj/WebCore.vcproj:
  19199. * WebCore.xcodeproj/project.pbxproj:
  19200. * bindings/js/JSBindingsAllInOne.cpp:
  19201. * bindings/js/JSDOMApplicationCacheCustom.cpp: Removed.
  19202. 2011-09-19 Sheriff Bot <webkit.review.bot@gmail.com>
  19203. Unreviewed, rolling out r95385 and r95457.
  19204. http://trac.webkit.org/changeset/95385
  19205. http://trac.webkit.org/changeset/95457
  19206. https://bugs.webkit.org/show_bug.cgi?id=68395
  19207. Broke chromium browser_tests (Requested by dslomov on
  19208. #webkit).
  19209. * bindings/v8/V8DOMWindowShell.cpp:
  19210. (WebCore::V8DOMWindowShell::disposeContextHandles):
  19211. (WebCore::V8DOMWindowShell::initContextIfNeeded):
  19212. * bindings/v8/V8IsolatedContext.cpp:
  19213. (WebCore::V8IsolatedContext::V8IsolatedContext):
  19214. (WebCore::V8IsolatedContext::destroy):
  19215. * bindings/v8/V8IsolatedContext.h:
  19216. * loader/EmptyClients.h:
  19217. (WebCore::EmptyFrameLoaderClient::didCreateScriptContextForFrame):
  19218. (WebCore::EmptyFrameLoaderClient::didDestroyScriptContextForFrame):
  19219. (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
  19220. * loader/FrameLoaderClient.h:
  19221. 2011-09-19 John Bauman <jbauman@chromium.org>
  19222. Fix nonpremultiplied webgl toDataURL to jpeg
  19223. https://bugs.webkit.org/show_bug.cgi?id=68366
  19224. The canvas spec says that toDataURL to formats without an alpha must
  19225. be "composited onto a solid black background using the source-over
  19226. operator." Do that.
  19227. Reviewed by Kenneth Russell.
  19228. * platform/image-encoders/skia/JPEGImageEncoder.cpp:
  19229. (WebCore::RGBAtoRGB):
  19230. 2011-09-19 Chris Marrin <cmarrin@apple.com>
  19231. Crash can occur when doing a PlatformCAAnimation::copy() with no valueFunction
  19232. https://bugs.webkit.org/show_bug.cgi?id=67510
  19233. Reviewed by Adam Roben.
  19234. Another fix to take care of one last crash when running pause-crash.html.
  19235. CACF can't deal with null valueFunctions, so avoid setting it when it doesn't
  19236. exist.
  19237. This also adds logic to the Windows Hook in LayerChangesFlusher to prevent it
  19238. from catching the null pointer exception generated by the pause-crash.html test
  19239. before this bug was fixed. Windows was ignoring the exception, so the testcase
  19240. would appear to succeed, even though it should have crashed.
  19241. This is a resubmission of http://trac.webkit.org/changeset/95243 with a build fix.
  19242. * WebCore.vcproj/WebCore.vcproj:
  19243. * platform/graphics/ca/win/LayerChangesFlusher.cpp:
  19244. (WebCore::LayerChangesFlusher::hookCallback):
  19245. * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
  19246. (PlatformCAAnimation::copy):
  19247. * platform/win/StructuredExceptionHandlerSupressor.h: Added.
  19248. (WebCore::StructuredExceptionHandlerSupressor::StructuredExceptionHandlerSupressor):
  19249. (WebCore::StructuredExceptionHandlerSupressor::~StructuredExceptionHandlerSupressor):
  19250. 2011-09-19 Ryosuke Niwa <rniwa@webkit.org>
  19251. Incorrect selection with absolutely positioned div
  19252. https://bugs.webkit.org/show_bug.cgi?id=39503
  19253. Reviewed by Kenneth Rohde Christiansen.
  19254. The bug was caused by a false assumption in RenderBlock::positionForPoint. Because the last child box
  19255. can be positioned, floated, invisible, etc..., we can't always trust last child's logicalTop to tell us
  19256. whether a given point is inside or below the last child box.
  19257. Fixed the bug by using the last hit-test candidate instead.
  19258. Test: editing/selection/block-with-positioned-lastchild.html
  19259. * rendering/RenderBlock.cpp:
  19260. (WebCore::RenderBlock::positionForPoint):
  19261. 2011-09-19 Dmitry Titov <dimich@chromium.org>
  19262. [Chromium] Crash after magic iframe transfer for Pepper/NaCl plugins.
  19263. https://bugs.webkit.org/show_bug.cgi?id=68267
  19264. Make adoptNode() to not enable live iframe transfer when the iframe's subtree contains plugins.
  19265. Reviewed by Adam Barth.
  19266. Test: fast/frames/iframe-reparenting-embed-elements.html
  19267. * dom/Document.cpp:
  19268. (WebCore::Document::adoptNode):
  19269. * html/HTMLFrameElementBase.cpp:
  19270. (WebCore::hasPluginElements):
  19271. (WebCore::HTMLFrameElementBase::canRemainAliveOnRemovalFromTree):
  19272. * html/HTMLFrameElementBase.h:
  19273. 2011-09-19 Abhishek Arya <inferno@chromium.org>
  19274. Issues with merging ruby bases.
  19275. https://bugs.webkit.org/show_bug.cgi?id=67240
  19276. Reviewed by James Robinson.
  19277. 1) Change fromBeforeChild to beforeChild to match
  19278. webkit rendering naming conventions.
  19279. 2) Add assert to verify ruby base is indeed emptied
  19280. after collecting all children in a single base.
  19281. 3) Fix condition in mergeBlockChildren to bail out only
  19282. when we have no children and there is no work to merge
  19283. children to toBase.
  19284. Test: fast/ruby/ruby-overhang-crash.html
  19285. * rendering/RenderRubyBase.cpp:
  19286. (WebCore::RenderRubyBase::moveChildren):
  19287. (WebCore::RenderRubyBase::moveInlineChildren):
  19288. (WebCore::RenderRubyBase::moveBlockChildren):
  19289. (WebCore::RenderRubyBase::mergeBlockChildren):
  19290. * rendering/RenderRubyBase.h:
  19291. * rendering/RenderRubyRun.cpp:
  19292. (WebCore::RenderRubyRun::removeChild):
  19293. 2011-09-16 Abhishek Arya <inferno@chromium.org>
  19294. Child not placed correctly when beforeChild (table part)
  19295. has both :before, :after content.
  19296. https://bugs.webkit.org/show_bug.cgi?id=67656
  19297. Reviewed by James Robinson.
  19298. Tests: fast/table/table-cell-before-after-content-around-table-block.html
  19299. fast/table/table-cell-before-after-content-around-table-row.html
  19300. fast/table/table-cell-before-after-content-around-table.html
  19301. fast/table/table-row-before-after-content-around-block.html
  19302. fast/table/table-row-before-after-content-around-table.html
  19303. * rendering/RenderBlock.cpp:
  19304. (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
  19305. 1. Use the new helper functions findAfterContentRenderer,
  19306. anonymousContainer.
  19307. 2. Rename anonymousChild to better name - beforeChildAnonymousContainer.
  19308. * rendering/RenderObject.cpp:
  19309. (WebCore::RenderObject::addChild):
  19310. When adding a new child, if beforeChild is a table part(
  19311. Table/TableSection/TableRow), we need to check if both
  19312. :before, :after content are shoved in one of the anonymous child.
  19313. If yes, we need to split the :before, :after content before adding
  19314. newChild. Easiest approach is to destroy the :before content, then add
  19315. the newChild and then call updateBeforeAfterContent to recreate the
  19316. :before content.
  19317. * rendering/RenderObject.h:
  19318. (WebCore::RenderObject::findBeforeContentRenderer): same as
  19319. beforePseudoElementRenderer, but ignores text childs since they are
  19320. sequentially added.
  19321. (WebCore::RenderObject::findAfterContentRenderer): same.
  19322. (WebCore::RenderObject::anonymousContainer):
  19323. (WebCore::objectIsRelayoutBoundary):
  19324. * rendering/RenderTable.cpp:
  19325. (WebCore::RenderTable::addChild): use the new helpers and functionally
  19326. correct functions - findAfterContentRenderer, anonymousContainer. previous
  19327. implementation was wrong since it would not go inside, if :after content
  19328. is embedded deeper than one level.
  19329. * rendering/RenderTableRow.cpp:
  19330. (WebCore::RenderTableRow::addChild): same.
  19331. * rendering/RenderTableSection.cpp:
  19332. (WebCore::RenderTableSection::addChild): same.
  19333. 2011-09-19 Robert Kroeger <rjkroege@chromium.org>
  19334. [chromium] Gesture recognizer fires taptype only every other touch
  19335. down/up sequence https://bugs.webkit.org/show_bug.cgi?id=68368
  19336. Reviewed by Adam Barth.
  19337. The addition of doubletap detection to the gesture recognizer missed some of the
  19338. outgoing edges in the recognizer state machine. This change simplifies the logic
  19339. and handles all outgoing edges.
  19340. * platform/chromium/GestureRecognizerChromium.cpp:
  19341. (WebCore::GestureRecognizerChromium::GestureRecognizerChromium):
  19342. (WebCore::GestureRecognizerChromium::isInSecondClickTimeWindow):
  19343. (WebCore::GestureRecognizerChromium::updateValues):
  19344. (WebCore::GestureRecognizerChromium::touchDown):
  19345. (WebCore::GestureRecognizerChromium::click):
  19346. * platform/chromium/GestureRecognizerChromium.h:
  19347. 2011-09-19 Tom Sepez <tsepez@chromium.org>
  19348. Fix xssauditor bypass with unterminated closing tag by making the HTMLSourceTracker
  19349. and the HTMLParser interact more closely with each other. HTMLParser should be
  19350. setting the end range for the token itself to account for buffering that the
  19351. HTMLSourceTracker can't know about, but there are a lot of paths that would need
  19352. updating. First step is to cover this one path.
  19353. https://bugs.webkit.org/show_bug.cgi?id=68281
  19354. Reviewed by Adam Barth.
  19355. Test: http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag.html
  19356. * html/parser/HTMLSourceTracker.cpp:
  19357. (WebCore::HTMLSourceTracker::end):
  19358. * html/parser/HTMLTokenizer.cpp:
  19359. (WebCore::HTMLTokenizer::nextToken):
  19360. 2011-09-19 Peter Rybin <peter.rybin@gmail.com>
  19361. TextPosition refactoring: Merge ZeroBasedNumber and OneBasedNumber classes
  19362. https://bugs.webkit.org/show_bug.cgi?id=63541
  19363. Reviewed by Adam Barth.
  19364. No new tests because this patch is not changing behavior.
  19365. * bindings/js/JavaScriptCallFrame.cpp:
  19366. (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
  19367. * bindings/js/JavaScriptCallFrame.h:
  19368. (WebCore::JavaScriptCallFrame::create):
  19369. (WebCore::JavaScriptCallFrame::position):
  19370. (WebCore::JavaScriptCallFrame::update):
  19371. * bindings/js/ScriptController.cpp:
  19372. (WebCore::ScriptController::eventHandlerLineNumber):
  19373. * bindings/js/ScriptDebugServer.cpp:
  19374. (WebCore::ScriptDebugServer::hasBreakpoint):
  19375. (WebCore::ScriptDebugServer::dispatchDidParseSource):
  19376. (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
  19377. (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
  19378. * bindings/js/ScriptDebugServer.h:
  19379. * bindings/js/ScriptSourceCode.h:
  19380. (WebCore::ScriptSourceCode::ScriptSourceCode):
  19381. * bindings/js/StringSourceProvider.h:
  19382. (WebCore::StringSourceProvider::create):
  19383. (WebCore::StringSourceProvider::startPosition):
  19384. (WebCore::StringSourceProvider::StringSourceProvider):
  19385. * bindings/v8/ScheduledAction.cpp:
  19386. (WebCore::ScheduledAction::ScheduledAction):
  19387. * bindings/v8/ScriptController.cpp:
  19388. (WebCore::ScriptController::eventHandlerPosition):
  19389. * bindings/v8/ScriptController.h:
  19390. * bindings/v8/ScriptEventListener.cpp:
  19391. (WebCore::createAttributeEventListener):
  19392. * bindings/v8/ScriptSourceCode.h:
  19393. (WebCore::ScriptSourceCode::ScriptSourceCode):
  19394. (WebCore::ScriptSourceCode::startPosition):
  19395. * bindings/v8/V8LazyEventListener.cpp:
  19396. (WebCore::V8LazyEventListener::V8LazyEventListener):
  19397. * bindings/v8/V8LazyEventListener.h:
  19398. (WebCore::V8LazyEventListener::create):
  19399. * bindings/v8/V8Proxy.cpp:
  19400. (WebCore::V8Proxy::compileScript):
  19401. (WebCore::V8Proxy::evaluate):
  19402. (WebCore::V8Proxy::runScript):
  19403. * bindings/v8/V8Proxy.h:
  19404. * bindings/v8/WorkerContextExecutionProxy.cpp:
  19405. (WebCore::WorkerContextExecutionProxy::evaluate):
  19406. (WebCore::WorkerContextExecutionProxy::runScript):
  19407. * bindings/v8/WorkerContextExecutionProxy.h:
  19408. * bindings/v8/WorkerScriptController.cpp:
  19409. (WebCore::WorkerScriptController::evaluate):
  19410. * dom/PendingScript.cpp:
  19411. (WebCore::PendingScript::releaseElementAndClear):
  19412. * dom/PendingScript.h:
  19413. (WebCore::PendingScript::PendingScript):
  19414. (WebCore::PendingScript::startingPosition):
  19415. (WebCore::PendingScript::setStartingPosition):
  19416. * dom/ScriptElement.cpp:
  19417. (WebCore::ScriptElement::prepareScript):
  19418. * dom/ScriptElement.h:
  19419. * dom/ScriptableDocumentParser.h:
  19420. * dom/ViewportArguments.cpp:
  19421. (WebCore::parserLineNumber):
  19422. * html/parser/HTMLDocumentParser.cpp:
  19423. (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
  19424. (WebCore::HTMLDocumentParser::pumpTokenizer):
  19425. (WebCore::HTMLDocumentParser::lineNumber):
  19426. (WebCore::HTMLDocumentParser::textPosition):
  19427. * html/parser/HTMLDocumentParser.h:
  19428. * html/parser/HTMLInputStream.h:
  19429. * html/parser/HTMLScriptRunner.cpp:
  19430. (WebCore::HTMLScriptRunner::execute):
  19431. (WebCore::HTMLScriptRunner::runScript):
  19432. * html/parser/HTMLScriptRunner.h:
  19433. * html/parser/HTMLTreeBuilder.cpp:
  19434. (WebCore::uninitializedPositionValue1):
  19435. (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
  19436. (WebCore::HTMLTreeBuilder::takeScriptToProcess):
  19437. (WebCore::HTMLTreeBuilder::processEndTag):
  19438. (WebCore::HTMLTreeBuilder::processScriptStartTag):
  19439. * html/parser/HTMLTreeBuilder.h:
  19440. * inspector/InspectorResourceAgent.cpp:
  19441. (WebCore::InspectorResourceAgent::buildInitiatorObject):
  19442. * platform/text/SegmentedString.cpp:
  19443. (WebCore::SegmentedString::currentLine):
  19444. (WebCore::SegmentedString::currentColumn):
  19445. (WebCore::SegmentedString::setCurrentPosition):
  19446. * platform/text/SegmentedString.h:
  19447. * svg/SVGDocumentExtensions.cpp:
  19448. (WebCore::parserLineNumber):
  19449. * xml/XMLErrors.cpp:
  19450. (WebCore::XMLErrors::XMLErrors):
  19451. (WebCore::XMLErrors::handleError):
  19452. (WebCore::XMLErrors::appendErrorMessage):
  19453. * xml/XMLErrors.h:
  19454. * xml/parser/MarkupTokenizerBase.h:
  19455. (WebCore::MarkupTokenizerBase::lineNumber):
  19456. * xml/parser/NewXMLDocumentParser.cpp:
  19457. (WebCore::NewXMLDocumentParser::processScript):
  19458. (WebCore::NewXMLDocumentParser::textPosition):
  19459. (WebCore::NewXMLDocumentParser::lineNumber):
  19460. * xml/parser/NewXMLDocumentParser.h:
  19461. * xml/parser/XMLDocumentParser.cpp:
  19462. (WebCore::XMLDocumentParser::pushCurrentNode):
  19463. (WebCore::XMLDocumentParser::handleError):
  19464. * xml/parser/XMLDocumentParser.h:
  19465. * xml/parser/XMLDocumentParserLibxml2.cpp:
  19466. (WebCore::PendingCallbacks::appendErrorCallback):
  19467. (WebCore::XMLDocumentParser::XMLDocumentParser):
  19468. (WebCore::XMLDocumentParser::doWrite):
  19469. (WebCore::XMLDocumentParser::startElementNs):
  19470. (WebCore::XMLDocumentParser::error):
  19471. (WebCore::XMLDocumentParser::lineNumber):
  19472. (WebCore::XMLDocumentParser::columnNumber):
  19473. (WebCore::XMLDocumentParser::textPosition):
  19474. * xml/parser/XMLDocumentParserQt.cpp:
  19475. (WebCore::XMLDocumentParser::XMLDocumentParser):
  19476. (WebCore::XMLDocumentParser::doWrite):
  19477. (WebCore::XMLDocumentParser::doEnd):
  19478. (WebCore::XMLDocumentParser::lineNumber):
  19479. (WebCore::XMLDocumentParser::columnNumber):
  19480. (WebCore::XMLDocumentParser::textPosition):
  19481. (WebCore::XMLDocumentParser::parse):
  19482. (WebCore::XMLDocumentParser::parseStartElement):
  19483. 2011-09-19 Dan Bernstein <mitz@apple.com>
  19484. WebCore part of [mac] WebKit contains Objective-C classes that are not prefixed with its standard prefixes
  19485. https://bugs.webkit.org/show_bug.cgi?id=68323
  19486. Reviewed by Sam Weinig.
  19487. Renamed AccessibilityObjectWrapper to WebAccessibilityObjectWrapper.
  19488. Renamed CascadeList to WebCascadeList.
  19489. Renamed CookieStorageObjCAdapter to WebCookieStorageObjCAdapter.
  19490. Renamed LanguageChangeObserver to WebLanguageChangeObserver.
  19491. Renamed ScrollAnimationHelperDelegate to WebScrollAnimationHelperDelegate.
  19492. Renamed ScrollbarPainterControllerDelegate to WebScrollbarPainterControllerDelegate.
  19493. Renamed ScrollbarPainterDelegate to WebScrollbarPainterDelegate.
  19494. Renamed ScrollbarPartAnimation to WebScrollbarPartAnimation.
  19495. Renamed ScrollbarPrefsObserver to WebScrollbarPrefsObserver.
  19496. * WebCore.gyp/WebCore.gyp: Updated for the renaming of CascadeList to WebCascadeList.
  19497. * WebCore.xcodeproj/project.pbxproj:
  19498. * accessibility/AccessibilityObject.h:
  19499. * accessibility/mac/AXObjectCacheMac.mm:
  19500. (WebCore::AXObjectCache::attachWrapper):
  19501. * accessibility/mac/AccessibilityObjectMac.mm:
  19502. * accessibility/mac/AccessibilityObjectWrapper.h: Removed.
  19503. * accessibility/mac/AccessibilityObjectWrapper.mm: Removed.
  19504. * accessibility/mac/WebAccessibilityObjectWrapper.h: Copied from Source/WebCore/accessibility/mac/AccessibilityObjectWrapper.h.
  19505. * accessibility/mac/WebAccessibilityObjectWrapper.mm: Copied from Source/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm.
  19506. (convertToNSArray):
  19507. (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
  19508. (-[WebAccessibilityObjectWrapper accessibilityIndexOfChild:]):
  19509. (-[WebAccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
  19510. * platform/graphics/mac/ComplexTextControllerCoreText.mm:
  19511. (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
  19512. * platform/mac/Language.mm:
  19513. (WebCore::platformDefaultLanguage):
  19514. * platform/mac/ScrollAnimatorMac.h:
  19515. * platform/mac/ScrollAnimatorMac.mm:
  19516. (-[WebScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
  19517. (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
  19518. * platform/mac/ScrollbarThemeMac.mm:
  19519. (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
  19520. * platform/network/mac/CookieStorageMac.mm:
  19521. (WebCore::startObservingCookieChanges):
  19522. 2011-09-19 Cary Clark <caryclark@google.com>
  19523. Move fontDataForCombiningCharacterSequence to fix Skia on Mac build
  19524. https://bugs.webkit.org/show_bug.cgi?id=68358
  19525. Reviewed by Dan Bernstein.
  19526. No new tests.
  19527. * platform/graphics/mac/FontMac.mm:
  19528. * platform/graphics/mac/FontComplexTextMac.cpp:
  19529. (WebCore::Font::fontDataForCombiningCharacterSequence):
  19530. This moves the implementation from FontMac.mm to
  19531. FontComplexTextMac.cpp, so it is visible to the Skia on Mac
  19532. platform as well.
  19533. 2011-09-19 Jessie Berlin <jberlin@apple.com>
  19534. Sites that use history pushState or replaceState are recorded in history in Private Browsing
  19535. mode.
  19536. https://bugs.webkit.org/show_bug.cgi?id=68208
  19537. Reviewed by Brady Eidson.
  19538. Test: TestWebKitAPI/Tests/WebKit2/PrivateBrowsingPushStateNoHistoryCallback.
  19539. Add the privateBrowsingEnabled check that is used in other places in HistoryController
  19540. before calling addVisitedLink and FrameLoaderClient::updateGlobalHistory.
  19541. * loader/HistoryController.cpp:
  19542. (WebCore::HistoryController::pushState):
  19543. (WebCore::HistoryController::replaceState):
  19544. 2011-09-19 Leandro Pereira <leandro@profusion.mobi>
  19545. Unreviewed: ScrollbarThemeMock.cpp is already referenced in the
  19546. global CMakeLists.txt.
  19547. * CMakeListsEfl.txt: Remove reference to platform/mock/ScrollbarThemeMock.cpp.
  19548. * CMakeListsWinCE.txt: Ditto.
  19549. 2011-09-19 Ademar de Souza Reis Jr. <ademar.reis@openbossa.org>
  19550. Unreviewed: dos2unix on bindings/js/JSExceptionBase.h
  19551. Visual Studio is choking on this file when generating packages for
  19552. Qt-4.8 on Windows:
  19553. """
  19554. Source\WebCore\Bindings\js\JSExceptionBase.h:
  19555. error C4335: Mac file format detected: please convert the source file
  19556. to either DOS or UNIX format
  19557. """
  19558. Since from all .cpp or .h files shared by all ports this is the only
  19559. one with CRLF line terminations, I'm assuming this was a mistake.
  19560. * bindings/js/JSExceptionBase.h:
  19561. 2011-09-19 Ilya Tikhonovsky <loislo@chromium.org>
  19562. Web Inspector: didMarkDOMContentEvent() should send event of MarkDOMContent type.
  19563. https://bugs.webkit.org/show_bug.cgi?id=67528
  19564. Reviewed by Pavel Feldman.
  19565. Tests: inspector/timeline/timeline-dom-content-loaded-event.html
  19566. inspector/timeline/timeline-load-event.html
  19567. * inspector/InspectorTimelineAgent.cpp:
  19568. (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
  19569. 2011-09-19 Shawn Singh <shawnsingh@chromium.org>
  19570. Re-name LayerChromium border functions to reflect that
  19571. they are only for debug use.
  19572. https://bugs.webkit.org/show_bug.cgi?id=68212
  19573. Reviewed by James Robinson.
  19574. Code cleanup towards unit testing.
  19575. * platform/graphics/chromium/GraphicsLayerChromium.cpp:
  19576. (WebCore::GraphicsLayerChromium::clearBackgroundColor):
  19577. (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
  19578. (WebCore::GraphicsLayerChromium::setDebugBorder):
  19579. (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
  19580. (WebCore::GraphicsLayerChromium::setupContentsLayer):
  19581. * platform/graphics/chromium/LayerChromium.cpp:
  19582. (WebCore::LayerChromium::setDebugBorderColor):
  19583. (WebCore::LayerChromium::setDebugBorderWidth):
  19584. * platform/graphics/chromium/LayerChromium.h:
  19585. 2011-09-18 Ilya Tikhonovsky <loislo@chromium.org>
  19586. Web Inspector: requestAnimationFrame callbacks don't show up in the timeline panel.
  19587. https://bugs.webkit.org/show_bug.cgi?id=67986
  19588. Reviewed by Pavel Feldman.
  19589. Test: inspector/timeline/timeline-animation-frame.html
  19590. * English.lproj/localizedStrings.js:
  19591. * bindings/v8/V8Proxy.cpp:
  19592. (WebCore::V8Proxy::callFunction):
  19593. (WebCore::V8Proxy::callFunctionWithoutFrame):
  19594. (WebCore::V8Proxy::instrumentedCallFunction):
  19595. * bindings/v8/V8Proxy.h:
  19596. * bindings/v8/custom/V8CustomVoidCallback.cpp:
  19597. (WebCore::invokeCallback):
  19598. * dom/ScriptedAnimationController.cpp:
  19599. (WebCore::ScriptedAnimationController::registerCallback):
  19600. (WebCore::ScriptedAnimationController::cancelCallback):
  19601. (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
  19602. * inspector/InspectorInstrumentation.cpp:
  19603. (WebCore::InspectorInstrumentation::didRegisterAnimationFrameCallbackImpl):
  19604. (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallbackImpl):
  19605. (WebCore::InspectorInstrumentation::willFireAnimationFrameEventImpl):
  19606. (WebCore::InspectorInstrumentation::didFireAnimationFrameEventImpl):
  19607. * inspector/InspectorInstrumentation.h:
  19608. (WebCore::InspectorInstrumentation::willCallFunction):
  19609. (WebCore::InspectorInstrumentation::didRegisterAnimationFrameCallback):
  19610. (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallback):
  19611. (WebCore::InspectorInstrumentation::willFireAnimationFrameEvent):
  19612. (WebCore::InspectorInstrumentation::didFireAnimationFrameEvent):
  19613. * inspector/InspectorTimelineAgent.cpp:
  19614. (WebCore::InspectorTimelineAgent::didRegisterAnimationFrameCallback):
  19615. (WebCore::InspectorTimelineAgent::didCancelAnimationFrameCallback):
  19616. (WebCore::InspectorTimelineAgent::willFireAnimationFrameEvent):
  19617. (WebCore::InspectorTimelineAgent::didFireAnimationFrameEvent):
  19618. * inspector/InspectorTimelineAgent.h:
  19619. * inspector/TimelineRecordFactory.cpp:
  19620. (WebCore::TimelineRecordFactory::createAnimationFrameCallbackData):
  19621. * inspector/TimelineRecordFactory.h:
  19622. * inspector/front-end/TimelineAgent.js:
  19623. * inspector/front-end/TimelinePanel.js:
  19624. (WebInspector.TimelinePanel):
  19625. (WebInspector.TimelinePanel.prototype.get _recordStyles):
  19626. (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
  19627. (WebInspector.TimelinePanel.prototype._clearPanel):
  19628. (WebInspector.TimelinePanel.FormattedRecord):
  19629. (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
  19630. (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
  19631. 2011-09-19 Carlos Garcia Campos <cgarcia@igalia.com>
  19632. [GTK] Fix distcheck build
  19633. https://bugs.webkit.org/show_bug.cgi?id=68241
  19634. Reviewed by Martin Robinson.
  19635. * GNUmakefile.list.am:
  19636. 2011-09-18 Ilya Tikhonovsky <loislo@chromium.org>
  19637. Web Inspector: chromium-win: "Save timeline data" does nothing.
  19638. https://bugs.webkit.org/show_bug.cgi?id=68313
  19639. windows shell API function GetSaveFileName doesn't accept file names with ':' symbol.
  19640. Reviewed by Pavel Feldman.
  19641. * inspector/front-end/TimelinePanel.js:
  19642. (WebInspector.TimelineModel.prototype._saveToFile):
  19643. 2011-09-18 Dan Bernstein <mitz@apple.com>
  19644. Try to fix the Chromium Mac build after r95391.
  19645. * WebCore.gyp/WebCore.gyp:
  19646. 2011-09-18 Dan Bernstein <mitz@apple.com>
  19647. Try to fix the Chromium Mac build after r95391.
  19648. * WebCore.gyp/WebCore.gyp:
  19649. 2011-09-18 Dan Bernstein <mitz@apple.com>
  19650. Try to fix the Chromium Mac build after r95391.
  19651. * WebCore.gypi: Updated for the renaming of ComplexTextController.cpp.
  19652. * WebCore.xcodeproj/project.pbxproj: Ditto.
  19653. * platform/graphics/Font.h: Changed #if directives to include the Chromium Mac port.
  19654. * platform/graphics/SimpleFontData.h: Ditto.
  19655. * platform/graphics/mac/ComplexTextControllerCoreText.cpp: Changed the filename extension of this
  19656. Objective-C++ file to .mm.
  19657. * platform/graphics/mac/ComplexTextControllerCoreText.mm: Copied from Source/WebCore/platform/graphics/mac/ComplexTextControllerCoreText.cpp.
  19658. 2011-09-18 Dan Bernstein <mitz@apple.com>
  19659. Snow Leopard build fix after r95391.
  19660. * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
  19661. (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
  19662. 2011-09-18 Dan Bernstein <mitz@apple.com>
  19663. Leopard build fix after r95391.
  19664. * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
  19665. (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
  19666. 2011-09-18 Dan Bernstein <mitz@apple.com>
  19667. Allow Core Text to choose the fallback font for rendering a combining character sequence
  19668. Fixes <rdar://problem/7860281> Decomposed text is displayed incorrectly when Verdana is specified
  19669. https://bugs.webkit.org/show_bug.cgi?id=68287
  19670. Reviewed by Dave Hyatt.
  19671. Test: platform/mac/fast/text/combining-character-sequence-fallback.html
  19672. * WebCore.xcodeproj/project.pbxproj: Compile ComplexTextControllerCoreText.cpp as Objective-C++.
  19673. I am going to rename this file in a followup patch.
  19674. * platform/graphics/Font.h: Declared fontDataForCombiningCharacterSequence().
  19675. * platform/graphics/SimpleFontData.h: Declared canRenderCombiningCharacterSequence() and added
  19676. a member variable to cache the results of calling this function.
  19677. * platform/graphics/mac/ComplexTextController.cpp:
  19678. (WebCore::ComplexTextController::offsetForPosition): Fixed a typo in a comment.
  19679. (WebCore::advanceByCombiningCharacterSequence): Added this helper function, which iterates over
  19680. characters until the end of a sequence of combining characters, zero-width joiners and zero-width
  19681. non-joiners. A single base characater followed by such a (possibly-empty) sequence is known as
  19682. a combining character sequence. This stretches the definition a little because the base character
  19683. may be a combining character as well. Returns false if an invalid UTF-16 sequence is encountered,
  19684. true otherwise.
  19685. (WebCore::ComplexTextController::collectComplexTextRuns): - Replaced the glyphData and nextGlyphData
  19686. variables each with a pair of variables, a SimpleFontData* and a boolean indicating whether a
  19687. character mapped to the missing glyph. This clarifies that this function does not use glyph IDs.
  19688. - Renamed the local variable newC to uppercaseCharacter.
  19689. - Changed to use advanceByCombiningCharacterSequence().
  19690. - Changed to use Font::fontDataForCombiningCharacterSequence() instead of Font::glyphDataForCharacter().
  19691. If there are combining marks and none of the fonts in the fallback list can render the sequence alone,
  19692. use the systemFallbackFontData() constant to indicate to collectComplexTextRunsForCharactersCoreText()
  19693. to allow Core Text to perform its own fallback.
  19694. - Stopped checking isSmallCaps against nextIsSmallCaps. It was redundant, since the small caps FontData
  19695. differs from the normal variant.
  19696. (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Moved the common logic to
  19697. handle the 0 fontData case from the ATSUI and Core Text continuations of this function into this function.
  19698. * platform/graphics/mac/ComplexTextController.h:
  19699. (WebCore::ComplexTextController::systemFallbackFontData): Added. This constant is used to indicate to
  19700. collectComplexTextRunsForCharactersCoreText() that it should allow Core Text to perform its own font
  19701. fallback.
  19702. * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
  19703. (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI): Handle systemFallbackFontData()
  19704. by using the primary font data.
  19705. * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
  19706. (-[CascadeList initWithFont:WebCore::character:]): Added.
  19707. (-[CascadeList count]): Added.
  19708. (-[CascadeList objectAtIndex:]): Added. Returns an entry from a cascade list of CTFontDescriptorRef
  19709. objects based on the font’s fallback list for the character. The list is initialized lazily.
  19710. (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Handle systemFallbackFontData()
  19711. by allowing Core Text to perform font fallback, starting with a cascade list based on the font’s fallback
  19712. list and possibly continuing with system fallback.
  19713. * platform/graphics/mac/FontMac.mm:
  19714. (WebCore::Font::fontDataForCombiningCharacterSequence): Added. If the sequence is only a base character,
  19715. calls through to glyphDataForCharacter(). Otherwise, iterates over the font’s fallback list for the
  19716. base character (and the system fallback font for that character), returning the first font that can
  19717. render the sequence, or 0 if there is none.
  19718. * platform/graphics/mac/SimpleFontDataMac.mm:
  19719. (WebCore::provideStringAndAttributes): Added this Core Text callback.
  19720. (WebCore::SimpleFontData::canRenderCombiningCharacterSequence): Added. Checks if Core Text can render
  19721. the sequence using only this font. Caches the result.
  19722. 2011-09-17 Mihai Parparita <mihaip@chromium.org>
  19723. FrameLoaderClient BackForwardList-related methods are unsued
  19724. https://bugs.webkit.org/show_bug.cgi?id=68293
  19725. Reviewed by Darin Adler.
  19726. Remove FrameLoaderClient methods that were added by r51629, since only
  19727. the old (since-deleted) Android port needed them.
  19728. * history/BackForwardListImpl.cpp:
  19729. (WebCore::BackForwardListImpl::addItem):
  19730. (WebCore::BackForwardListImpl::goBack):
  19731. (WebCore::BackForwardListImpl::goForward):
  19732. (WebCore::BackForwardListImpl::goToItem):
  19733. (WebCore::BackForwardListImpl::setCapacity):
  19734. * loader/EmptyClients.h:
  19735. * loader/FrameLoaderClient.h:
  19736. 2011-09-17 David Hyatt <hyatt@apple.com>
  19737. https://bugs.webkit.org/show_bug.cgi?id=68307
  19738. Crash in border image cssText. Make sure to null check all the components, since they're all
  19739. optional now.
  19740. Reviewed by Sam Weinig.
  19741. Added fast/borders/border-image-slice-omission.html
  19742. * css/CSSBorderImageValue.cpp:
  19743. (WebCore::CSSBorderImageValue::cssText):
  19744. 2011-09-17 Aaron Boodman <aa@chromium.org>
  19745. Rework script context creation/release notifications
  19746. https://bugs.webkit.org/show_bug.cgi?id=67828
  19747. Reviewed by Adam Barth.
  19748. * bindings/v8/V8DOMWindowShell.cpp:
  19749. (WebCore::V8DOMWindowShell::disposeContextHandles):
  19750. (WebCore::V8DOMWindowShell::initContextIfNeeded):
  19751. * bindings/v8/V8IsolatedContext.cpp:
  19752. (WebCore::V8IsolatedContext::V8IsolatedContext):
  19753. (WebCore::V8IsolatedContext::destroy):
  19754. * bindings/v8/V8IsolatedContext.h:
  19755. * loader/EmptyClients.h:
  19756. (WebCore::EmptyFrameLoaderClient::didCreateScriptContext):
  19757. (WebCore::EmptyFrameLoaderClient::willReleaseScriptContext):
  19758. * loader/FrameLoaderClient.h:
  19759. 2011-09-17 Ilya Tikhonovsky <loislo@chromium.org>
  19760. Web Inspector: file open dialog appears when user clicks on the timeline bar in timeline panel.
  19761. https://bugs.webkit.org/show_bug.cgi?id=68312
  19762. Reviewed by Pavel Feldman.
  19763. * inspector/front-end/TimelinePanel.js:
  19764. (WebInspector.TimelinePanel.prototype._createFileSelector):
  19765. 2011-09-17 Jeff Miller <jeffm@apple.com>
  19766. Build fix after r95372.
  19767. * dom/DOMAllInOne.cpp: #include "EventListenerMap.cpp"
  19768. 2011-09-17 Deepak Sherveghar <bpwv64@motorola.com>
  19769. Override supportsFocus() for HTMLMediaElement.
  19770. https://bugs.webkit.org/show_bug.cgi?id=67190
  19771. Reviewed by Antonio Gomes.
  19772. Tests: fast/events/media-element-focus-tab.html
  19773. fast/spatial-navigation/snav-media-elements.html
  19774. Return true from supportsFocus() if control's attribute is present or a tabindex is specified.
  19775. * html/HTMLMediaElement.cpp:
  19776. (WebCore::HTMLMediaElement::supportsFocus):
  19777. * html/HTMLMediaElement.h:
  19778. 2011-09-16 Adam Barth <abarth@webkit.org>
  19779. Rename ENABLE(LEVELDB) to USE(LEVELDB)
  19780. https://bugs.webkit.org/show_bug.cgi?id=68290
  19781. Reviewed by Darin Adler.
  19782. LEVELDB is a library that can be used to implemented INDEXED_DATABASE,
  19783. which means it should be a USE not an ENABLE.
  19784. * CMakeLists.txt:
  19785. * WebCore.gyp/WebCore.gyp:
  19786. * platform/leveldb/LevelDBComparator.h:
  19787. * platform/leveldb/LevelDBDatabase.cpp:
  19788. * platform/leveldb/LevelDBDatabase.h:
  19789. * platform/leveldb/LevelDBIterator.h:
  19790. * platform/leveldb/LevelDBSlice.h:
  19791. * platform/leveldb/LevelDBTransaction.cpp:
  19792. * platform/leveldb/LevelDBTransaction.h:
  19793. * platform/leveldb/LevelDBWriteBatch.cpp:
  19794. * platform/leveldb/LevelDBWriteBatch.h:
  19795. * storage/IDBFactoryBackendImpl.cpp:
  19796. (WebCore::IDBFactoryBackendImpl::open):
  19797. (WebCore::IDBFactoryBackendImpl::migrateFromSQLiteToLevelDB):
  19798. * storage/IDBLevelDBBackingStore.cpp:
  19799. * storage/IDBLevelDBBackingStore.h:
  19800. * storage/IDBLevelDBCoding.cpp:
  19801. * storage/IDBLevelDBCoding.h:
  19802. 2011-09-16 Andreas Kling <kling@webkit.org>
  19803. Reduce EventTarget memory usage by deferring hash map allocation
  19804. until there are listeners for more than 1 event type.
  19805. http://webkit.org/b/68105
  19806. Reviewed by Darin Adler.
  19807. Introduce an EventListenerMap class which manages a map of event types that have
  19808. one or more listeners connected.
  19809. When there is only one event type, it's stored directly on the EventListenerMap
  19810. internally, and when more are added it moves to a hash map. It only goes back
  19811. from the hash map if all the listeners are removed at once (i.e clear() is called.)
  19812. * CMakeLists.txt:
  19813. * GNUmakefile.list.am:
  19814. * WebCore.gypi:
  19815. * WebCore.pro:
  19816. * WebCore.vcproj/WebCore.vcproj:
  19817. * WebCore.xcodeproj/project.pbxproj:
  19818. Adding files.
  19819. * WebCore.exp.in:
  19820. Export EventListenerMap::contains() for WebKit/mac.
  19821. * dom/EventListenerMap.cpp: Added.
  19822. (WebCore::EventListenerMap::EventListenerMap):
  19823. (WebCore::EventListenerMap::~EventListenerMap):
  19824. (WebCore::EventListenerMap::isEmpty):
  19825. (WebCore::EventListenerMap::contains):
  19826. (WebCore::EventListenerMap::clear):
  19827. (WebCore::EventListenerMap::eventTypes):
  19828. (WebCore::addListenerToVector):
  19829. (WebCore::EventListenerMap::add):
  19830. (WebCore::removeListenerFromVector):
  19831. (WebCore::EventListenerMap::remove):
  19832. (WebCore::EventListenerMap::find):
  19833. (WebCore::removeFirstListenerCreatedFromMarkup):
  19834. (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
  19835. (WebCore::copyListenersNotCreatedFromMarkupToTarget):
  19836. (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
  19837. (WebCore::EventListenerIterator::EventListenerIterator):
  19838. (WebCore::EventListenerIterator::nextListener):
  19839. * dom/EventListenerMap.h: Added.
  19840. * dom/EventTarget.cpp:
  19841. (WebCore::EventTargetData::~EventTargetData):
  19842. (WebCore::EventTarget::addEventListener):
  19843. (WebCore::EventTarget::removeEventListener):
  19844. (WebCore::EventTarget::fireEventListeners):
  19845. (WebCore::EventTarget::getEventListeners):
  19846. (WebCore::EventTarget::removeAllEventListeners):
  19847. * dom/EventTarget.h:
  19848. (WebCore::EventTarget::visitJSEventListeners):
  19849. Use EventListenerIterator to visit listeners. (JSC specific.)
  19850. * inspector/InspectorDOMAgent.cpp:
  19851. (WebCore::InspectorDOMAgent::getEventListenersForNode):
  19852. Call EventListenerMap::eventTypes() go get the list of event types
  19853. currently listened for.
  19854. * dom/Node.cpp:
  19855. (WebCore::Node::removeEventListener):
  19856. * svg/SVGUseElement.cpp:
  19857. (WebCore::SVGUseElement::transferEventListenersToShadowTree):
  19858. Move implementations of SVG-specific hacks into EventListenerMap and
  19859. call them from here.
  19860. 2011-09-16 Jeremy Apthorp <jeremya@chromium.org> and James Kozianski <koz@chromium.org>
  19861. Don't detach elements from the render tree when entering fullscreen mode
  19862. https://bugs.webkit.org/show_bug.cgi?id=66531
  19863. This prevents plugin instances from being destroyed and reinstantiated
  19864. when entering fullscreen mode.
  19865. Reviewed by James Robinson.
  19866. Test: plugins/fullscreen-plugins-dont-reload.html
  19867. * dom/Document.cpp:
  19868. (WebCore::Document::webkitWillEnterFullScreenForElement):
  19869. (WebCore::Document::webkitDidExitFullScreenForElement):
  19870. * dom/NodeRenderingContext.cpp:
  19871. (WebCore::NodeRendererFactory::createRendererIfNeeded):
  19872. * rendering/RenderFullScreen.cpp:
  19873. (createFullScreenStyle):
  19874. (RenderFullScreen::wrapRenderer):
  19875. (RenderFullScreen::unwrapRenderer):
  19876. * rendering/RenderFullScreen.h:
  19877. 2011-09-16 Jochen Eisinger <jochen@chromium.org>
  19878. Rename FrameLoaderClient::allowImages to FrameLoaderClient::allowImage and include the image URL as parameter
  19879. https://bugs.webkit.org/show_bug.cgi?id=68071
  19880. This will allow embedders to block images based on where the image is loaded from, instead of just blocking all images in a given frame.
  19881. Reviewed by Adam Barth.
  19882. * html/ImageDocument.cpp:
  19883. (WebCore::ImageDocumentParser::appendBytes):
  19884. * loader/FrameLoaderClient.h:
  19885. (WebCore::FrameLoaderClient::allowImage):
  19886. * loader/cache/CachedResourceLoader.cpp:
  19887. (WebCore::CachedResourceLoader::requestImage):
  19888. 2011-09-16 Tom Sepez <tsepez@chromium.org>
  19889. Make XSSAuditor truncate inline snippets at a reasonable length before comparison
  19890. respecting boundaries of multiply urlencoded sequences.
  19891. https://bugs.webkit.org/show_bug.cgi?id=68092
  19892. Reviewed by Adam Barth.
  19893. Test: http/tests/security/xssAuditor/property-escape-long.html
  19894. * html/parser/XSSAuditor.cpp:
  19895. (WebCore::XSSAuditor::filterTokenAfterScriptStartTag):
  19896. (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
  19897. (WebCore::XSSAuditor::eraseAttributeIfInjected):
  19898. (WebCore::XSSAuditor::decodedSnippetForAttribute):
  19899. (WebCore::XSSAuditor::isContainedInRequest):
  19900. * html/parser/XSSAuditor.h:
  19901. 2011-09-16 Shawn Singh <shawnsingh@chromium.org>
  19902. Remove m_contentsDirty from LayerChromium because it
  19903. is redundant with m_dirtyRect.
  19904. https://bugs.webkit.org/show_bug.cgi?id=68213
  19905. Reviewed by James Robinson.
  19906. Code cleanup towards unit testing.
  19907. * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
  19908. (WebCore::Canvas2DLayerChromium::updateCompositorResources):
  19909. * platform/graphics/chromium/ContentLayerChromium.cpp:
  19910. (WebCore::ContentLayerChromium::paintContentsIfDirty):
  19911. * platform/graphics/chromium/ImageLayerChromium.cpp:
  19912. (WebCore::ImageLayerChromium::paintContentsIfDirty):
  19913. * platform/graphics/chromium/LayerChromium.cpp:
  19914. (WebCore::LayerChromium::LayerChromium):
  19915. (WebCore::LayerChromium::setNeedsDisplay):
  19916. (WebCore::LayerChromium::resetNeedsDisplay):
  19917. * platform/graphics/chromium/LayerChromium.h:
  19918. * platform/graphics/chromium/VideoLayerChromium.cpp:
  19919. (WebCore::VideoLayerChromium::updateCompositorResources):
  19920. * platform/graphics/chromium/WebGLLayerChromium.cpp:
  19921. (WebCore::WebGLLayerChromium::updateCompositorResources):
  19922. 2011-09-16 Dmitry Lomov <dslomov@google.com>
  19923. https://bugs.webkit.org/show_bug.cgi?id=66714
  19924. Add webkitPostMessage to allow for adding transferable support.
  19925. This adds webkitPostMessage, currently identical to postMessage, which
  19926. would later be a vehicle for adding transferable support for messaging.
  19927. Based on patch by Luke Zarko.
  19928. Reviewed by David Levin.
  19929. * bindings/js/JSDOMWindowCustom.cpp:
  19930. (WebCore::JSDOMWindow::webkitPostMessage):
  19931. * bindings/js/JSDedicatedWorkerContextCustom.cpp:
  19932. (WebCore::JSDedicatedWorkerContext::webkitPostMessage):
  19933. * bindings/js/JSMessageEventCustom.cpp:
  19934. (WebCore::JSMessageEvent::webkitInitMessageEvent):
  19935. * bindings/js/JSMessagePortCustom.cpp:
  19936. (WebCore::JSMessagePort::webkitPostMessage):
  19937. * bindings/js/JSWorkerCustom.cpp:
  19938. (WebCore::JSWorker::postMessage):
  19939. (WebCore::JSWorker::webkitPostMessage):
  19940. * bindings/v8/custom/V8DOMWindowCustom.cpp:
  19941. (WebCore::handlePostMessageCallback):
  19942. (WebCore::V8DOMWindow::postMessageCallback):
  19943. (WebCore::V8DOMWindow::webkitPostMessageCallback):
  19944. * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
  19945. (WebCore::handlePostMessageCallback):
  19946. (WebCore::V8DedicatedWorkerContext::postMessageCallback):
  19947. (WebCore::V8DedicatedWorkerContext::webkitPostMessageCallback):
  19948. * bindings/v8/custom/V8MessageEventCustom.cpp:
  19949. (WebCore::V8MessageEvent::initMessageEventCallback):
  19950. (WebCore::V8MessageEvent::webkitInitMessageEventCallback):
  19951. * bindings/v8/custom/V8MessagePortCustom.cpp:
  19952. (WebCore::handlePostMessageCallback):
  19953. (WebCore::V8MessagePort::postMessageCallback):
  19954. (WebCore::V8MessagePort::webkitPostMessageCallback):
  19955. * bindings/v8/custom/V8WorkerCustom.cpp:
  19956. (WebCore::handlePostMessageCallback):
  19957. (WebCore::V8Worker::postMessageCallback):
  19958. (WebCore::V8Worker::webkitPostMessageCallback):
  19959. * dom/MessageEvent.idl:
  19960. * dom/MessagePort.idl:
  19961. * page/DOMWindow.idl:
  19962. * workers/DedicatedWorkerContext.idl:
  19963. * workers/Worker.idl:
  19964. 2011-09-16 Alexei Svitkine <asvitkine@chromium.org>
  19965. Chromium: Fix repaint of rubber-band overhang area under composited path
  19966. https://bugs.webkit.org/show_bug.cgi?id=68246
  19967. I accidently removed these two lines from the last patch on: https://bugs.webkit.org/show_bug.cgi?id=66969
  19968. Reviewed by James Robinson.
  19969. Test: platform/chromium-gpu/compositing/rubberbanding/transform-overhang-size-change.html
  19970. * platform/ScrollView.cpp:
  19971. (WebCore::ScrollView::scrollContents):
  19972. 2011-09-16 Peter Beverloo <peter@chromium.org>
  19973. Depend on harfbuzz for OS=Android as well
  19974. https://bugs.webkit.org/show_bug.cgi?id=68239
  19975. Like GTK, Android depends on harfbuzz as well, so reflect that in
  19976. the project file. Furthermore, fix a compile error in PopupListBox.cpp
  19977. by explicitly including ctype.h, as isspace otherwise won't be declared.
  19978. Reviewed by Steve Block.
  19979. * WebCore.gyp/WebCore.gyp:
  19980. * platform/chromium/PopupListBox.cpp:
  19981. 2011-09-16 Tony Chang <tony@chromium.org>
  19982. Rename flex-align values to match the spec
  19983. https://bugs.webkit.org/show_bug.cgi?id=67741
  19984. Reviewed by Ojan Vafai.
  19985. * css/CSSParser.cpp:
  19986. (WebCore::CSSParser::parseValue):
  19987. * css/CSSPrimitiveValueMappings.h:
  19988. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  19989. (WebCore::CSSPrimitiveValue::operator EFlexAlign):
  19990. * css/CSSValueKeywords.in:
  19991. * rendering/style/RenderStyleConstants.h:
  19992. 2011-09-16 Kentaro Hara <haraken@chromium.org>
  19993. Implement an ErrorEvent constructor for JSC
  19994. https://bugs.webkit.org/show_bug.cgi?id=68148
  19995. Reviewed by Sam Weinig.
  19996. The spec for the ErrorEvent constructor is here:
  19997. http://dev.w3.org/html5/workers/#errorevent
  19998. Test: fast/events/constructors/error-event-constructor.html
  19999. * bindings/generic/EventConstructors.h: Added a definition for the ErrorEvent constructor.
  20000. * bindings/js/JSEventConstructors.cpp: Added #includes for ErrorEvent.
  20001. * dom/ErrorEvent.cpp:
  20002. (WebCore::ErrorEventInit::ErrorEventInit):
  20003. (WebCore::ErrorEvent::ErrorEvent):
  20004. (WebCore::ErrorEvent::initErrorEvent):
  20005. (WebCore::ErrorEvent::isErrorEvent):
  20006. * dom/ErrorEvent.h: Added a definition for ErrorEventInit.
  20007. (WebCore::ErrorEvent::create):
  20008. (WebCore::ErrorEvent::message):
  20009. (WebCore::ErrorEvent::filename):
  20010. (WebCore::ErrorEvent::lineno):
  20011. * dom/ErrorEvent.idl: Makes ErrorEvent constructible.
  20012. 2011-09-16 Kentaro Hara <haraken@google.com>
  20013. Overhangs a ruby by no more than half the width of the neighboring text.
  20014. https://bugs.webkit.org/show_bug.cgi?id=62684
  20015. Reviewed by Dan Bernstein.
  20016. Assume two rubies between which a narrow text exists, like
  20017. "<ruby>x<rt>xxxxxx</rt></ruby>l<ruby>y<rt>yyyyyy</rt></ruby>".
  20018. In order to avoid the two rubies overlapping with each other,
  20019. this patch overhangs the ruby by no more than half the ruby font
  20020. size and no more than half the width of the neighboring text.
  20021. Tests: fast/ruby/overhang-horizontal-no-overlap1.html
  20022. fast/ruby/overhang-horizontal-no-overlap2.html
  20023. fast/ruby/overhang-vertical-no-overlap1.html
  20024. fast/ruby/overhang-vertical-no-overlap2.html
  20025. * rendering/RenderRubyRun.cpp:
  20026. (WebCore::RenderRubyRun::getOverhang): Calculates the width of ruby overhanging.
  20027. 2011-09-16 Sheriff Bot <webkit.review.bot@gmail.com>
  20028. Unreviewed, rolling out r95304.
  20029. http://trac.webkit.org/changeset/95304
  20030. https://bugs.webkit.org/show_bug.cgi?id=68299
  20031. Broke GTK+ builds. It pulls derived headers into main.c
  20032. (Requested by rniwa on #webkit).
  20033. * bindings/scripts/CodeGeneratorGObject.pm:
  20034. ():
  20035. * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
  20036. * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
  20037. * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
  20038. * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
  20039. * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
  20040. * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
  20041. * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
  20042. * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
  20043. * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
  20044. * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
  20045. (webkit_dom_test_obj_conditional_method1):
  20046. (webkit_dom_test_obj_conditional_method2):
  20047. (webkit_dom_test_obj_conditional_method3):
  20048. (webkit_dom_test_obj_get_conditional_attr1):
  20049. (webkit_dom_test_obj_set_conditional_attr1):
  20050. (webkit_dom_test_obj_get_conditional_attr2):
  20051. (webkit_dom_test_obj_set_conditional_attr2):
  20052. (webkit_dom_test_obj_get_conditional_attr3):
  20053. (webkit_dom_test_obj_set_conditional_attr3):
  20054. (webkit_dom_test_obj_set_property):
  20055. (webkit_dom_test_obj_get_property):
  20056. (webkit_dom_test_obj_class_init):
  20057. * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
  20058. * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
  20059. * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
  20060. * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
  20061. * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h:
  20062. 2011-09-16 Shawn Singh <shawnsingh@chromium.org>
  20063. Re-named isRootLayer to isNonCompositedContent because
  20064. that is what the flag actually means.
  20065. https://bugs.webkit.org/show_bug.cgi?id=68214
  20066. Reviewed by James Robinson.
  20067. Code cleanup towards unit testing.
  20068. * platform/graphics/chromium/LayerChromium.cpp:
  20069. (WebCore::LayerChromium::LayerChromium):
  20070. (WebCore::LayerChromium::pushPropertiesTo):
  20071. * platform/graphics/chromium/LayerChromium.h:
  20072. (WebCore::LayerChromium::setIsNonCompositedContent):
  20073. (WebCore::LayerChromium::isNonCompositedContent):
  20074. * platform/graphics/chromium/NonCompositedContentHost.cpp:
  20075. (WebCore::NonCompositedContentHost::NonCompositedContentHost):
  20076. * platform/graphics/chromium/TiledLayerChromium.cpp:
  20077. (WebCore::TiledLayerChromium::setLayerTreeHost):
  20078. * platform/graphics/chromium/cc/CCLayerImpl.cpp:
  20079. (WebCore::CCLayerImpl::CCLayerImpl):
  20080. * platform/graphics/chromium/cc/CCLayerImpl.h:
  20081. (WebCore::CCLayerImpl::setIsNonCompositedContent):
  20082. (WebCore::CCLayerImpl::isNonCompositedContent):
  20083. * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
  20084. (WebCore::CCTiledLayerImpl::draw):
  20085. 2011-09-16 Simon Fraser <simon.fraser@apple.com>
  20086. Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms
  20087. https://bugs.webkit.org/show_bug.cgi?id=68134
  20088. Reviewed by Sam Weinig.
  20089. Add a new setting to control whether the mock scrollbar theme is used.
  20090. This is a global setting, so that it can be set without having to
  20091. access a specific Settings object.
  20092. * page/Settings.h:
  20093. (WebCore::Settings::setMockScrollbarsEnabled):
  20094. (WebCore::Settings::mockScrollbarsEnabled):
  20095. 2011-09-16 Ben Wells <benwells@chromium.org>
  20096. Large canvas fills should not crash or create unnecessarily large image buffers
  20097. https://bugs.webkit.org/show_bug.cgi?id=67988
  20098. When using source-in, destination-in, source-out, or destination-atop a temporary
  20099. buffer is created. This buffer only needs to be big enough to cover the intersection
  20100. of the path and the canvas. If the area of intersection between the fill and the
  20101. canvas is empty the canvas is completely cleared and a temporary buffer is not used.
  20102. This change also adds some null checks for failures to create contexts or buffers.
  20103. Reviewed by Darin Adler.
  20104. Test: fast/canvas/canvas-large-fills.html
  20105. * html/canvas/CanvasRenderingContext2D.cpp:
  20106. (WebCore::CanvasRenderingContext2D::clearCanvas):
  20107. (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
  20108. 2011-09-16 Shawn Singh <shawnsingh@chromium.org>
  20109. Remove default NULL argument in LayerChromium::create().
  20110. https://bugs.webkit.org/show_bug.cgi?id=68211
  20111. Reviewed by James Robinson.
  20112. Code cleanup related to creating unit testing.
  20113. * platform/graphics/chromium/LayerChromium.h:
  20114. 2011-09-16 Adrienne Walker <enne@google.com>
  20115. [chromium] Move quad drawing code from LayerChromium to LayerRendererChromium
  20116. https://bugs.webkit.org/show_bug.cgi?id=68272
  20117. Reviewed by James Robinson.
  20118. All the OpenGL code is in LayerRendererChromium and the CCLayerImpl
  20119. tree, so move the static drawTexturedQuad/toGLMatrix functions to
  20120. LayerRendererChromium, where they really belong.
  20121. Just moving code around. Tested by existing compositor tests.
  20122. * platform/graphics/chromium/LayerChromium.cpp:
  20123. * platform/graphics/chromium/LayerChromium.h:
  20124. * platform/graphics/chromium/LayerRendererChromium.cpp:
  20125. (WebCore::LayerRendererChromium::toGLMatrix):
  20126. (WebCore::LayerRendererChromium::drawTexturedQuad):
  20127. * platform/graphics/chromium/LayerRendererChromium.h:
  20128. * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
  20129. (WebCore::CCCanvasLayerImpl::draw):
  20130. * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
  20131. (WebCore::CCHeadsUpDisplay::draw):
  20132. * platform/graphics/chromium/cc/CCLayerImpl.cpp:
  20133. (WebCore::CCLayerImpl::drawDebugBorder):
  20134. * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
  20135. (WebCore::CCPluginLayerImpl::draw):
  20136. * platform/graphics/chromium/cc/CCRenderSurface.cpp:
  20137. (WebCore::CCRenderSurface::drawSurface):
  20138. * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
  20139. (WebCore::CCTiledLayerImpl::drawTiles):
  20140. * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
  20141. (WebCore::CCVideoLayerImpl::drawYUV):
  20142. (WebCore::CCVideoLayerImpl::drawRGBA):
  20143. 2011-09-16 Shawn Singh <shawnsingh@chromium.org>
  20144. Fixed const correctness on accessors in LayerChromium
  20145. https://bugs.webkit.org/show_bug.cgi?id=68210
  20146. Reviewed by James Robinson.
  20147. Code cleanup related to creating unit testing.
  20148. * platform/graphics/chromium/LayerChromium.h:
  20149. (WebCore::LayerChromium::preserves3D):
  20150. (WebCore::LayerChromium::replicaLayer):
  20151. 2011-09-14 Ryosuke Niwa <rniwa@webkit.org>
  20152. Deleting line break before h1 converts h1 to span
  20153. https://bugs.webkit.org/show_bug.cgi?id=45784
  20154. Reviewed by Kenneth Rohde Christiansen.
  20155. Fixed the bug by treating h1 and other elements that retain structure like Mail blockquote.
  20156. We already had a logic to overriding styles of merged paragraphs by Mail blockquote so
  20157. just extend this logic for h1-h6, pre, etc...
  20158. Tests: editing/deleting/merge-paragraph-from-address.html
  20159. editing/deleting/merge-paragraph-from-h6-with-style.html
  20160. editing/deleting/merge-paragraph-from-h6.html
  20161. editing/deleting/merge-paragraph-from-listing.html
  20162. editing/deleting/merge-paragraph-into-h1-with-style.html
  20163. editing/deleting/merge-paragraph-into-h1.html
  20164. editing/deleting/merge-paragraph-into-pre.html
  20165. * editing/ReplaceSelectionCommand.cpp:
  20166. (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
  20167. * editing/markup.cpp:
  20168. (WebCore::isBlockNodeToRetainAppearance): Extracted from ancestorToRetainStructureAndAppearance.
  20169. (WebCore::StyledMarkupAccumulator::serializeNodes):
  20170. (WebCore::ancestorToRetainStructureAndAppearance):
  20171. * editing/markup.h:
  20172. 2011-09-16 Max Perepelitsyn <pph34r@gmail.com>
  20173. Set but not used variables cleanup (gcc 4.6)
  20174. https://bugs.webkit.org/show_bug.cgi?id=68157
  20175. Reviewed by Darin Adler.
  20176. * platform/audio/ReverbConvolverStage.cpp:
  20177. (WebCore::ReverbConvolverStage::process):
  20178. * rendering/RenderMediaControlsChromium.cpp:
  20179. (WebCore::paintMediaButton):
  20180. 2011-09-16 Geoffrey Garen <ggaren@apple.com>
  20181. Removed undetectable style.filter.
  20182. Reviewed by Sam Weinig.
  20183. This feature was added in http://trac.webkit.org/changeset/15557 to
  20184. support housingmaps.com. But housingmaps.com no longer needs this hack,
  20185. we don't know of other websites that need it, and we don't know of
  20186. any other browsers that have implemented this feature.
  20187. * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h: Removed.
  20188. * WebCore.order:
  20189. * bindings/js/JSCSSStyleDeclarationCustom.cpp:
  20190. (WebCore::JSCSSStyleDeclaration::nameGetter):
  20191. 2011-09-16 Adam Barth <abarth@webkit.org>
  20192. Update JSC results to account for intrinsics change.
  20193. * bindings/scripts/test/JS/JSTestInterface.cpp:
  20194. * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  20195. * bindings/scripts/test/JS/JSTestObj.cpp:
  20196. * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  20197. 2011-09-16 Sheriff Bot <webkit.review.bot@gmail.com>
  20198. Unreviewed, rolling out r95312.
  20199. http://trac.webkit.org/changeset/95312
  20200. https://bugs.webkit.org/show_bug.cgi?id=68277
  20201. It's innocent, innocent I tell you! (Requested by jamesr_ on
  20202. #webkit).
  20203. * platform/graphics/chromium/ContentLayerChromium.cpp:
  20204. (WebCore::ContentLayerChromium::createTextureUpdater):
  20205. * platform/graphics/chromium/LayerRendererChromium.cpp:
  20206. (WebCore::LayerRendererChromium::LayerRendererChromium):
  20207. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  20208. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
  20209. * platform/graphics/chromium/cc/CCThreadProxy.cpp:
  20210. (WebCore::CCThreadProxy::context):
  20211. (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
  20212. (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
  20213. (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
  20214. 2011-09-16 Sheriff Bot <webkit.review.bot@gmail.com>
  20215. Unreviewed, rolling out r95309.
  20216. http://trac.webkit.org/changeset/95309
  20217. https://bugs.webkit.org/show_bug.cgi?id=68271
  20218. Broke many chromium gpu tests. (Requested by dave_levin on
  20219. #webkit).
  20220. * platform/graphics/chromium/ContentLayerChromium.cpp:
  20221. (WebCore::ContentLayerChromium::createTextureUpdater):
  20222. * platform/graphics/chromium/LayerRendererChromium.cpp:
  20223. (WebCore::LayerRendererChromium::LayerRendererChromium):
  20224. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  20225. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
  20226. * platform/graphics/chromium/cc/CCThreadProxy.cpp:
  20227. (WebCore::CCThreadProxy::context):
  20228. (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
  20229. (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
  20230. (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
  20231. 2011-09-16 Filip Pizlo <fpizlo@apple.com>
  20232. DFG JIT should inline Math.abs
  20233. https://bugs.webkit.org/show_bug.cgi?id=68227
  20234. Reviewed by Oliver Hunt.
  20235. Added JavaScriptCore/dfg to include path path. Changed the bindings
  20236. scripts to handle the presence of intrinsics.
  20237. * CMakeLists.txt:
  20238. * bindings/scripts/CodeGeneratorJS.pm:
  20239. (GenerateHashTable):
  20240. 2011-09-16 Iain Merrick <husky@google.com>
  20241. [chromium] Fix CCLayerTreeHostTest
  20242. https://bugs.webkit.org/show_bug.cgi?id=67418
  20243. This is a minimal set of changes to get CCLayerTreeHostTest
  20244. compiling, running and passing with USE_THREADED_COMPOSITING
  20245. enabled.
  20246. Reviewed by James Robinson.
  20247. * platform/graphics/chromium/ContentLayerChromium.cpp:
  20248. (WebCore::ContentLayerChromium::createTextureUpdater):
  20249. * platform/graphics/chromium/LayerRendererChromium.cpp:
  20250. (WebCore::LayerRendererChromium::LayerRendererChromium):
  20251. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  20252. (WebCore::CCLayerTreeHost::createLayerTreeHostImpl):
  20253. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  20254. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
  20255. * platform/graphics/chromium/cc/CCThreadProxy.cpp:
  20256. (WebCore::CCThreadProxy::context):
  20257. (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
  20258. (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
  20259. (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
  20260. 2011-09-16 Sheriff Bot <webkit.review.bot@gmail.com>
  20261. Unreviewed, rolling out r95227.
  20262. http://trac.webkit.org/changeset/95227
  20263. https://bugs.webkit.org/show_bug.cgi?id=68262
  20264. Broke a bunch of SVG tests (Requested by andersca on #webkit).
  20265. * platform/ScrollView.cpp:
  20266. (WebCore::ScrollView::contentsSize):
  20267. (WebCore::ScrollView::wheelEvent):
  20268. * platform/ScrollView.h:
  20269. * platform/mac/ScrollViewMac.mm:
  20270. (WebCore::ScrollView::platformContentsSize):
  20271. * platform/wx/ScrollViewWx.cpp:
  20272. (WebCore::ScrollView::platformContentsSize):
  20273. 2011-09-16 James Simonsen <simonjam@chromium.org>
  20274. Fix HTML5 parser's adoption agency algorithm to reparent correctly
  20275. https://bugs.webkit.org/show_bug.cgi?id=68147
  20276. Reviewed by Eric Seidel.
  20277. * html/parser/HTMLTreeBuilder.cpp:
  20278. (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
  20279. 2011-09-16 Adam Barth <abarth@webkit.org>
  20280. CodeGeneratorGObject should use C++ style comments for ENABLE guards
  20281. https://bugs.webkit.org/show_bug.cgi?id=68256
  20282. Reviewed by Darin Adler.
  20283. This patch should have not behavioral effect. It just cleans up the
  20284. GObject code generator to use C++-style comments for ENABLE guards and
  20285. to use the usual comment style for license blocks.
  20286. * bindings/scripts/CodeGeneratorGObject.pm:
  20287. * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
  20288. * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
  20289. * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
  20290. * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
  20291. * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
  20292. * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
  20293. * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
  20294. * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
  20295. * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
  20296. * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
  20297. (webkit_dom_test_obj_conditional_method1):
  20298. (webkit_dom_test_obj_conditional_method2):
  20299. (webkit_dom_test_obj_conditional_method3):
  20300. (webkit_dom_test_obj_get_conditional_attr1):
  20301. (webkit_dom_test_obj_set_conditional_attr1):
  20302. (webkit_dom_test_obj_get_conditional_attr2):
  20303. (webkit_dom_test_obj_set_conditional_attr2):
  20304. (webkit_dom_test_obj_get_conditional_attr3):
  20305. (webkit_dom_test_obj_set_conditional_attr3):
  20306. (webkit_dom_test_obj_set_property):
  20307. (webkit_dom_test_obj_get_property):
  20308. (webkit_dom_test_obj_class_init):
  20309. * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
  20310. * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
  20311. * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
  20312. * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
  20313. * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h:
  20314. 2011-09-16 Csaba Osztrogonác <ossy@webkit.org>
  20315. [Qt] REGRESSION(r95091) It made many tests flakey
  20316. https://bugs.webkit.org/show_bug.cgi?id=68232
  20317. Unreviewed rolling out r95091 and followup patches.
  20318. * English.lproj/localizedStrings.js:
  20319. * bindings/v8/V8Proxy.cpp:
  20320. (WebCore::V8Proxy::callFunction):
  20321. * bindings/v8/V8Proxy.h:
  20322. * bindings/v8/custom/V8CustomVoidCallback.cpp:
  20323. (WebCore::invokeCallback):
  20324. * dom/ScriptedAnimationController.cpp:
  20325. (WebCore::ScriptedAnimationController::registerCallback):
  20326. (WebCore::ScriptedAnimationController::cancelCallback):
  20327. (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
  20328. * inspector/InspectorInstrumentation.cpp:
  20329. * inspector/InspectorInstrumentation.h:
  20330. (WebCore::InspectorInstrumentation::willCallFunction):
  20331. * inspector/InspectorTimelineAgent.cpp:
  20332. * inspector/InspectorTimelineAgent.h:
  20333. * inspector/TimelineRecordFactory.cpp:
  20334. * inspector/TimelineRecordFactory.h:
  20335. * inspector/front-end/TimelineAgent.js:
  20336. * inspector/front-end/TimelinePanel.js:
  20337. (WebInspector.TimelinePanel):
  20338. (WebInspector.TimelinePanel.prototype.get _recordStyles):
  20339. (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
  20340. (WebInspector.TimelinePanel.prototype._clearPanel):
  20341. (WebInspector.TimelinePanel.FormattedRecord):
  20342. (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
  20343. (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
  20344. 2011-09-16 Abhishek Arya <inferno@chromium.org>
  20345. cachedFont not getting updated for inline SVG text.
  20346. https://bugs.webkit.org/show_bug.cgi?id=68060
  20347. Reviewed by Nikolas Zimmermann.
  20348. The cached scaledFont needs to be updated on every style set call. It
  20349. is not similar to m_style which can get derived from parent's style and
  20350. hence will get automatically updated on ancestor's style change. This is
  20351. required, otherwise we will maintain stale font list in cached scaledFont
  20352. when custom fonts are retired on Document::recalcStyle.
  20353. Test: svg/text/text-style-recalc-crash.html
  20354. * rendering/svg/RenderSVGInlineText.cpp:
  20355. (WebCore::RenderSVGInlineText::styleDidChange):
  20356. (WebCore::RenderSVGInlineText::setStyle):
  20357. * rendering/svg/RenderSVGInlineText.h:
  20358. 2011-09-16 Antti Koivisto <antti@apple.com>
  20359. REGRESSION (r95052): SelectorChecker identifier filter not working
  20360. https://bugs.webkit.org/show_bug.cgi?id=68244
  20361. Reviewed by Dan Bernstein.
  20362. Missing &.
  20363. * css/SelectorChecker.cpp:
  20364. (WebCore::collectDescendantSelectorIdentifierHashes):
  20365. 2011-09-16 Csaba Osztrogonác <ossy@webkit.org>
  20366. Unreviewed typo fix after r95271.
  20367. * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
  20368. 2011-09-16 Andrey Kosyakov <caseq@chromium.org>
  20369. Web Inspector: [Extensions API] support extensions for remote inspector front-end
  20370. https://bugs.webkit.org/show_bug.cgi?id=67840
  20371. Reviewed by Pavel Feldman.
  20372. - Merge ExtensionCommon.js into ExtensionAPI.js
  20373. - refactor building of extension API for better reuse
  20374. - expose interface for extension registration
  20375. * WebCore.gypi:
  20376. * WebCore.vcproj/WebCore.vcproj:
  20377. * inspector/front-end/ExtensionAPI.js:
  20378. (defineCommonExtensionSymbols):
  20379. (buildExtensionAPIInjectedScript):
  20380. * inspector/front-end/ExtensionCommon.js:
  20381. * inspector/front-end/ExtensionServer.js:
  20382. (WebInspector.ExtensionServer.prototype._addExtensions):
  20383. (WebInspector.ExtensionServer.prototype._addExtension):
  20384. (WebInspector.ExtensionServer.prototype._buildExtensionAPIScript):
  20385. (WebInspector.ExtensionServer.prototype._onWindowMessage):
  20386. (WebInspector.ExtensionServer.prototype._registerExtension):
  20387. (WebInspector.ExtensionServer.prototype._expandResourcePath):
  20388. * inspector/front-end/WebKit.qrc:
  20389. * inspector/front-end/inspector.html:
  20390. 2011-09-16 Ilya Tikhonovsky <loislo@chromium.org>
  20391. Web Inspector: change WebInspector.currentPanel getter/setter to functions.
  20392. https://bugs.webkit.org/show_bug.cgi?id=68242
  20393. This is necessary for the panel switching performance tests.
  20394. Reviewed by Pavel Feldman.
  20395. * inspector/front-end/Drawer.js:
  20396. (WebInspector.Drawer.prototype.show.animationFinished):
  20397. (WebInspector.Drawer.prototype.show):
  20398. (WebInspector.Drawer.prototype.hide):
  20399. (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
  20400. (WebInspector.Drawer.prototype._animateDrawerHeight):
  20401. (WebInspector.Drawer.prototype._statusBarDragging):
  20402. * inspector/front-end/ElementsPanel.js:
  20403. (WebInspector.ElementsPanel.prototype.switchToAndFocus):
  20404. * inspector/front-end/ResourcesPanel.js:
  20405. (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
  20406. * inspector/front-end/ScriptsPanel.js:
  20407. * inspector/front-end/SearchController.js:
  20408. (WebInspector.SearchController.prototype.updateSearchMatchesCount):
  20409. (WebInspector.SearchController.prototype.updateCurrentMatchIndex):
  20410. (WebInspector.SearchController.prototype.updateSearchLabel):
  20411. (WebInspector.SearchController.prototype.handleShortcut):
  20412. (WebInspector.SearchController.prototype._performSearch):
  20413. * inspector/front-end/Toolbar.js:
  20414. (WebInspector.Toolbar.createPanelToolbarItem.onToolbarItemClicked):
  20415. (WebInspector.Toolbar.createPanelToolbarItem):
  20416. * inspector/front-end/inspector.js:
  20417. (WebInspector.currentPanel):
  20418. (WebInspector._updateFocusedNode):
  20419. (WebInspector.windowResize):
  20420. (WebInspector.documentKeyDown):
  20421. (WebInspector.documentCanCopy):
  20422. (WebInspector.documentCopy):
  20423. (WebInspector.showPanel):
  20424. (WebInspector.startUserInitiatedDebugging):
  20425. (WebInspector.inspect):
  20426. (WebInspector._showAnchorLocationInPanel):
  20427. (WebInspector._toolbarItemClicked):
  20428. (WebInspector.PanelHistory.prototype.goBack):
  20429. (WebInspector.PanelHistory.prototype.goForward):
  20430. 2011-09-15 Pavel Feldman <pfeldman@google.com>
  20431. Web Inspector: rename Console.clearConsoleMessages to Console.clearMessages, brush up console domain doc.
  20432. https://bugs.webkit.org/show_bug.cgi?id=68165
  20433. Reviewed by Yury Semikhatsky.
  20434. * inspector/InjectedScriptHost.cpp:
  20435. (WebCore::InjectedScriptHost::clearConsoleMessages):
  20436. * inspector/Inspector.json:
  20437. * inspector/InspectorConsoleAgent.cpp:
  20438. (WebCore::InspectorConsoleAgent::clearMessages):
  20439. * inspector/InspectorConsoleAgent.h:
  20440. * inspector/front-end/ConsoleModel.js:
  20441. (WebInspector.ConsoleModel.prototype.requestClearMessages):
  20442. 2011-09-16 Alejandro G. Castro <alex@igalia.com>
  20443. Fix GTK build after r95245.
  20444. * GNUmakefile.list.am:
  20445. 2011-09-16 Leo Yang <leo.yang@torchmobile.com.cn>
  20446. [Qt] Crash when dragging google maps.
  20447. https://bugs.webkit.org/show_bug.cgi?id=68223
  20448. The custom image for a cursor might not be ready when WebKit trying
  20449. to use it to construct the cursor in Qt porting. This patch is using
  20450. arrow image to substitute the unready custom image.
  20451. Reviewed by Adam Barth.
  20452. Test: fast/css/crash-on-custom-cursor-when-loading.html
  20453. * platform/qt/CursorQt.cpp:
  20454. (WebCore::createCustomCursor):
  20455. (WebCore::Cursor::ensurePlatformCursor):
  20456. 2011-09-15 Adam Barth <abarth@webkit.org>
  20457. Rename ENABLE(DATABASE) to ENABLE(SQL_DATABASE)
  20458. https://bugs.webkit.org/show_bug.cgi?id=68205
  20459. Reviewed by Eric Seidel.
  20460. As discussed on webkit-dev.
  20461. * CMakeLists.txt:
  20462. * Configurations/FeatureDefines.xcconfig:
  20463. * GNUmakefile.am:
  20464. * GNUmakefile.list.am:
  20465. * UseJSC.cmake:
  20466. * bindings/generic/RuntimeEnabledFeatures.cpp:
  20467. * bindings/generic/RuntimeEnabledFeatures.h:
  20468. * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
  20469. * bindings/js/JSDOMBinding.cpp:
  20470. (WebCore::setDOMException):
  20471. * bindings/js/JSExceptionBase.cpp:
  20472. (WebCore::toExceptionBase):
  20473. * bindings/js/JSInjectedScriptHostCustom.cpp:
  20474. (WebCore::JSInjectedScriptHost::databaseId):
  20475. * bindings/js/JSSQLResultSetRowListCustom.cpp:
  20476. * bindings/js/JSSQLTransactionCustom.cpp:
  20477. * bindings/js/JSSQLTransactionSyncCustom.cpp:
  20478. * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
  20479. * bindings/scripts/test/CPP/WebDOMTestCallback.h:
  20480. * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
  20481. * bindings/scripts/test/JS/JSTestCallback.cpp:
  20482. * bindings/scripts/test/JS/JSTestCallback.h:
  20483. * bindings/scripts/test/ObjC/DOMTestCallback.mm:
  20484. * bindings/scripts/test/TestCallback.idl:
  20485. * bindings/scripts/test/V8/V8TestCallback.cpp:
  20486. * bindings/scripts/test/V8/V8TestCallback.h:
  20487. * bindings/v8/V8Proxy.cpp:
  20488. (WebCore::V8Proxy::setDOMException):
  20489. * bindings/v8/V8Proxy.h:
  20490. * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
  20491. * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
  20492. (WebCore::V8InjectedScriptHost::databaseIdCallback):
  20493. * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
  20494. * bindings/v8/custom/V8SQLTransactionCustom.cpp:
  20495. * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
  20496. * dom/Document.cpp:
  20497. * dom/Document.h:
  20498. * dom/ExceptionCode.cpp:
  20499. (WebCore::getExceptionCodeDescription):
  20500. * dom/ExceptionCode.h:
  20501. * dom/ScriptExecutionContext.cpp:
  20502. (WebCore::ScriptExecutionContext::ScriptExecutionContext):
  20503. (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
  20504. * dom/ScriptExecutionContext.h:
  20505. * features.pri:
  20506. * history/PageCache.cpp:
  20507. (WebCore::logCanCacheFrameDecision):
  20508. (WebCore::PageCache::canCachePageContainingThisFrame):
  20509. * inspector/InjectedScriptHost.cpp:
  20510. (WebCore::InjectedScriptHost::InjectedScriptHost):
  20511. (WebCore::InjectedScriptHost::disconnect):
  20512. * inspector/InjectedScriptHost.h:
  20513. (WebCore::InjectedScriptHost::init):
  20514. * inspector/InspectorController.cpp:
  20515. (WebCore::InspectorController::InspectorController):
  20516. (WebCore::InspectorController::connectFrontend):
  20517. (WebCore::InspectorController::disconnectFrontend):
  20518. (WebCore::InspectorController::restoreInspectorStateFromCookie):
  20519. * inspector/InspectorController.h:
  20520. * inspector/InspectorDatabaseAgent.cpp:
  20521. * inspector/InspectorDatabaseInstrumentation.h:
  20522. * inspector/InspectorDatabaseResource.cpp:
  20523. * inspector/InspectorDatabaseResource.h:
  20524. * inspector/InspectorInstrumentation.cpp:
  20525. (WebCore::InspectorInstrumentation::didCommitLoadImpl):
  20526. * inspector/InspectorInstrumentation.h:
  20527. * inspector/InstrumentingAgents.h:
  20528. (WebCore::InstrumentingAgents::InstrumentingAgents):
  20529. * inspector/WorkerInspectorController.cpp:
  20530. (WebCore::WorkerInspectorController::WorkerInspectorController):
  20531. (WebCore::WorkerInspectorController::connectFrontend):
  20532. * loader/EmptyClients.h:
  20533. * loader/FrameLoader.cpp:
  20534. (WebCore::FrameLoader::stopLoading):
  20535. * page/ChromeClient.h:
  20536. * page/DOMWindow.cpp:
  20537. * page/DOMWindow.h:
  20538. * page/DOMWindow.idl:
  20539. * platform/sql/SQLiteAuthorizer.cpp:
  20540. * platform/sql/SQLiteDatabase.cpp:
  20541. * platform/sql/SQLiteFileSystem.cpp:
  20542. * platform/sql/SQLiteStatement.cpp:
  20543. * platform/sql/SQLiteTransaction.cpp:
  20544. * storage/AbstractDatabase.cpp:
  20545. * storage/AbstractDatabase.h:
  20546. * storage/ChangeVersionWrapper.cpp:
  20547. * storage/ChangeVersionWrapper.h:
  20548. * storage/Database.cpp:
  20549. * storage/Database.h:
  20550. * storage/Database.idl:
  20551. * storage/DatabaseAuthorizer.cpp:
  20552. * storage/DatabaseCallback.h:
  20553. * storage/DatabaseCallback.idl:
  20554. * storage/DatabaseDetails.h:
  20555. * storage/DatabaseSync.cpp:
  20556. * storage/DatabaseSync.h:
  20557. * storage/DatabaseSync.idl:
  20558. * storage/DatabaseTask.cpp:
  20559. * storage/DatabaseTask.h:
  20560. * storage/DatabaseThread.cpp:
  20561. * storage/DatabaseThread.h:
  20562. * storage/DatabaseTracker.cpp:
  20563. * storage/DatabaseTracker.h:
  20564. * storage/DatabaseTrackerClient.h:
  20565. * storage/OriginQuotaManager.cpp:
  20566. * storage/OriginQuotaManager.h:
  20567. * storage/OriginUsageRecord.cpp:
  20568. * storage/OriginUsageRecord.h:
  20569. * storage/SQLCallbackWrapper.h:
  20570. * storage/SQLError.h:
  20571. * storage/SQLError.idl:
  20572. * storage/SQLException.h:
  20573. * storage/SQLException.idl:
  20574. * storage/SQLResultSet.cpp:
  20575. * storage/SQLResultSet.h:
  20576. * storage/SQLResultSet.idl:
  20577. * storage/SQLResultSetRowList.cpp:
  20578. * storage/SQLResultSetRowList.h:
  20579. * storage/SQLResultSetRowList.idl:
  20580. * storage/SQLStatement.cpp:
  20581. * storage/SQLStatement.h:
  20582. * storage/SQLStatementCallback.h:
  20583. * storage/SQLStatementCallback.idl:
  20584. * storage/SQLStatementErrorCallback.h:
  20585. * storage/SQLStatementErrorCallback.idl:
  20586. * storage/SQLStatementSync.cpp:
  20587. * storage/SQLStatementSync.h:
  20588. * storage/SQLTransaction.cpp:
  20589. * storage/SQLTransaction.h:
  20590. * storage/SQLTransaction.idl:
  20591. * storage/SQLTransactionCallback.h:
  20592. * storage/SQLTransactionCallback.idl:
  20593. * storage/SQLTransactionClient.cpp:
  20594. * storage/SQLTransactionClient.h:
  20595. * storage/SQLTransactionCoordinator.cpp:
  20596. * storage/SQLTransactionCoordinator.h:
  20597. * storage/SQLTransactionErrorCallback.h:
  20598. * storage/SQLTransactionErrorCallback.idl:
  20599. * storage/SQLTransactionSync.cpp:
  20600. * storage/SQLTransactionSync.h:
  20601. * storage/SQLTransactionSync.idl:
  20602. * storage/SQLTransactionSyncCallback.h:
  20603. * storage/SQLTransactionSyncCallback.idl:
  20604. * storage/chromium/DatabaseObserver.h:
  20605. * storage/chromium/DatabaseTrackerChromium.cpp:
  20606. * storage/chromium/QuotaTracker.cpp:
  20607. * storage/chromium/QuotaTracker.h:
  20608. * storage/chromium/SQLTransactionClientChromium.cpp:
  20609. * workers/WorkerContext.cpp:
  20610. * workers/WorkerContext.h:
  20611. * workers/WorkerContext.idl:
  20612. * workers/WorkerThread.cpp:
  20613. (WebCore::WorkerThreadShutdownStartTask::performTask):
  20614. (WebCore::WorkerThread::stop):
  20615. 2011-09-15 Alexandru Chiculita <achicu@adobe.com>
  20616. [CSSRegions] Regions should not slice line box rendering
  20617. https://bugs.webkit.org/show_bug.cgi?id=66198
  20618. Created a new LayoutState constructor for the RenderFlowThread. It will
  20619. set m_isPaginated to true and force a pageHeight if 1. The actual pageHeight is
  20620. not used, because pageLogicalHeightForOffset will actually redirect the call
  20621. to RenderFlowThread.
  20622. Removed some of the duplicate code that calculated the page logical offset.
  20623. Added new methods like logicalPageOffset, pageLogicalHeightForOffset,
  20624. pageRemainingLogicalHeightForOffset.
  20625. There are still some issues related to incremental layout and different region widths.
  20626. Those issues will be addressed in different patches.
  20627. Reviewed by David Hyatt.
  20628. Tests: fast/regions/text-region-breaks.html
  20629. fast/regions/text-region-split-horizontal-bt.html
  20630. fast/regions/text-region-split-vertical-rl.html
  20631. fast/regions/text-region-split-vertical.html
  20632. fast/regions/text-region-split.html
  20633. * rendering/LayoutState.cpp:
  20634. (WebCore::LayoutState::LayoutState):
  20635. * rendering/LayoutState.h:
  20636. (WebCore::LayoutState::LayoutState):
  20637. (WebCore::LayoutState::isPaginated):
  20638. * rendering/RenderBlock.cpp:
  20639. (WebCore::RenderBlock::positionNewFloats):
  20640. (WebCore::RenderBlock::adjustForRegionFittingIfNeeded):
  20641. (WebCore::RenderBlock::nextPageLogicalTopExcludingBoundaryPoint):
  20642. (WebCore::RenderBlock::nextPageLogicalTopIncludingBoundaryPoint):
  20643. (WebCore::inNormalFlow):
  20644. (WebCore::RenderBlock::applyBeforeBreak):
  20645. (WebCore::RenderBlock::applyAfterBreak):
  20646. (WebCore::RenderBlock::logicalPageOffset):
  20647. (WebCore::RenderBlock::pageLogicalHeightForOffset):
  20648. (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
  20649. (WebCore::RenderBlock::adjustForUnsplittableChild):
  20650. (WebCore::RenderBlock::adjustLinePositionForPagination):
  20651. * rendering/RenderBlock.h:
  20652. * rendering/RenderFlowThread.cpp:
  20653. (WebCore::RenderFlowThread::layout):
  20654. (WebCore::RenderFlowThread::regionLogicalHeightForLine):
  20655. (WebCore::RenderFlowThread::regionRemainingLogicalHeightForLine):
  20656. * rendering/RenderFlowThread.h:
  20657. * rendering/RenderView.cpp:
  20658. (WebCore::RenderView::pushLayoutState):
  20659. * rendering/RenderView.h:
  20660. (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
  20661. (WebCore::LayoutStateMaintainer::push):
  20662. 2011-09-15 Kentaro Hara <haraken@google.com>
  20663. Implement a PopStateEvent constructor for JSC
  20664. https://bugs.webkit.org/show_bug.cgi?id=67977
  20665. Reviewed by Sam Weinig.
  20666. Test: fast/events/constructors/pop-state-event-constructor.html
  20667. * bindings/generic/EventConstructors.h: Added a definition for the PopStateEvent constructor.
  20668. * bindings/js/JSEventConstructors.cpp: Added #includes for PopStateEvent.
  20669. * dom/PopStateEvent.cpp:
  20670. (WebCore::PopStateEventInit::PopStateEventInit):
  20671. (WebCore::PopStateEvent::PopStateEvent):
  20672. (WebCore::PopStateEvent::create):
  20673. * dom/PopStateEvent.h: Added a definition for PopStateEventInit.
  20674. * dom/PopStateEvent.idl: Makes PopStateEvent constructible.
  20675. 2011-09-15 Mihai Parparita <mihaip@chromium.org>
  20676. Fragment navigations should interrupt a provisional load of a different document
  20677. https://bugs.webkit.org/show_bug.cgi?id=64556
  20678. Reviewed by Adam Barth.
  20679. Tests: http/tests/history/back-with-fragment-change.php
  20680. http/tests/navigation/navigation-interrupted-by-fragment.html
  20681. * loader/FrameLoader.cpp: Stop provisional load if a fragment commits.
  20682. * loader/HistoryController.cpp: Don't commit the wrong provisional item.
  20683. 2011-09-15 Adrienne Walker <enne@google.com>
  20684. [chromium] Add temporary diagnostics for LayerTreeHost::commitTo crash
  20685. https://bugs.webkit.org/show_bug.cgi?id=68204
  20686. Reviewed by James Robinson.
  20687. Add CRASH calls to determine which assumptions are being violated.
  20688. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  20689. (WebCore::CCLayerTreeHost::commitTo):
  20690. 2011-09-15 Mark Hahnenberg <mhahnenberg@apple.com>
  20691. Unzip initialization lists and constructors in JSCell hierarchy (7/7)
  20692. https://bugs.webkit.org/show_bug.cgi?id=68122
  20693. Reviewed by Geoffrey Garen.
  20694. No new tests.
  20695. Completed the seventh and final level of the refactoring to add finishCreation()
  20696. methods to all classes within the JSCell hierarchy with non-trivial
  20697. constructor bodies.
  20698. This consists of moving the finishCreation() method call into the create methods
  20699. of the sixth level of the hierarchy as was done in previous patches.
  20700. The special cases for JSAudioConstructor, JSOptionConstructor, and JSImageConstructor
  20701. were also lumped in and given finishCreation() methods that are called in their
  20702. create methods because we are at the end and want to avoid a trivial patch just
  20703. for moving their finishCreation() methods from their constructor to their create method.
  20704. * bindings/js/JSAudioConstructor.cpp:
  20705. (WebCore::JSAudioConstructor::JSAudioConstructor):
  20706. (WebCore::JSAudioConstructor::finishCreation):
  20707. * bindings/js/JSAudioConstructor.h:
  20708. (WebCore::JSAudioConstructor::create):
  20709. * bindings/js/JSDOMBinding.h:
  20710. (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
  20711. * bindings/js/JSDOMWindowBase.cpp:
  20712. (WebCore::JSDOMWindowBase::JSDOMWindowBase):
  20713. * bindings/js/JSImageConstructor.cpp:
  20714. (WebCore::JSImageConstructor::JSImageConstructor):
  20715. (WebCore::JSImageConstructor::finishCreation):
  20716. * bindings/js/JSImageConstructor.h:
  20717. (WebCore::JSImageConstructor::create):
  20718. * bindings/js/JSOptionConstructor.cpp:
  20719. (WebCore::JSOptionConstructor::JSOptionConstructor):
  20720. (WebCore::JSOptionConstructor::finishCreation):
  20721. * bindings/js/JSOptionConstructor.h:
  20722. (WebCore::JSOptionConstructor::create):
  20723. * bindings/js/JSWorkerContextBase.cpp:
  20724. (WebCore::JSWorkerContextBase::JSWorkerContextBase):
  20725. The bindings generation script was also changed to move the finishCreation() call into the
  20726. create methods for descendants of JSWorkerContextBase and JSDOMWindowBase because those base
  20727. classes had it removed from their constructors.
  20728. * bindings/scripts/CodeGeneratorJS.pm:
  20729. (GenerateHeader):
  20730. * bridge/c/c_instance.cpp:
  20731. (JSC::Bindings::CRuntimeMethod::create):
  20732. (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
  20733. * bridge/jni/jsc/JavaInstanceJSC.cpp:
  20734. (JavaRuntimeMethod::create):
  20735. (JavaRuntimeMethod::JavaRuntimeMethod):
  20736. * bridge/objc/objc_instance.mm:
  20737. (ObjCRuntimeMethod::create):
  20738. (ObjCRuntimeMethod::ObjCRuntimeMethod):
  20739. * bridge/qt/qt_runtime.cpp:
  20740. (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
  20741. (JSC::Bindings::QtRuntimeConnectionMethod::QtRuntimeConnectionMethod):
  20742. * bridge/qt/qt_runtime.h:
  20743. (JSC::Bindings::QtRuntimeMetaMethod::create):
  20744. (JSC::Bindings::QtRuntimeConnectionMethod::create):
  20745. 2011-09-15 Kentaro Hara <haraken@google.com>
  20746. A single line must not be split into two pages.
  20747. https://bugs.webkit.org/show_bug.cgi?id=65005
  20748. Reviewed by David Hyatt.
  20749. When the document width of a page is overflowed, the last line of the page can be
  20750. split into the next page. This is the regression caused by r88737. r88737 tried to
  20751. fix rounding errors in rendering calculations by expanding and shrinking a page
  20752. using one common method, resizePageRectsKeepingRatio(), but overlooked the case where
  20753. a document width gets overflowed.
  20754. This patch fixes the problem by also using resizePageRectsKeepingRatio() for the case
  20755. where the document width gets overflowed.
  20756. Test: printing/single-line-must-not-be-split-into-two-pages.html
  20757. * WebCore.exp.in: Updated the signature of forceLayoutForPagination().
  20758. * page/Frame.cpp:
  20759. (WebCore::Frame::setPrinting): Added a new argument |originalPageSize|, which is an original page size before being expanded or shrunk.
  20760. * page/Frame.h:
  20761. * page/FrameView.cpp:
  20762. (WebCore::FrameView::forceLayoutForPagination): Uses resizePageRectsKeepingRatio() in the case where the document width gets overflowed.
  20763. * page/FrameView.h:
  20764. * page/PrintContext.cpp:
  20765. (WebCore::PrintContext::begin): Passes an original page size to setPrinting().
  20766. (WebCore::PrintContext::end): Ditto.
  20767. 2011-09-15 Sheriff Bot <webkit.review.bot@gmail.com>
  20768. Unreviewed, rolling out r95243 and r95246.
  20769. http://trac.webkit.org/changeset/95243
  20770. http://trac.webkit.org/changeset/95246
  20771. https://bugs.webkit.org/show_bug.cgi?id=68202
  20772. Broke the Windows build (Requested by smfr on #webkit).
  20773. * WebCore.vcproj/WebCore.vcproj:
  20774. * platform/graphics/ca/win/LayerChangesFlusher.cpp:
  20775. (WebCore::LayerChangesFlusher::hookCallback):
  20776. * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
  20777. (PlatformCAAnimation::copy):
  20778. * platform/win/StructuredExceptionHandlerSupressor.h: Removed.
  20779. 2011-09-15 Simon Fraser <simon.fraser@apple.com>
  20780. Attempt to fix Windows build after r95243.
  20781. * WebCore.vcproj/WebCore.vcproj:
  20782. 2011-09-15 Simon Fraser <simon.fraser@apple.com>
  20783. Make custom scrollbar theme for use in DRT, to reduce pixel differences between platforms
  20784. https://bugs.webkit.org/show_bug.cgi?id=68134
  20785. Reviewed by James Robinson.
  20786. Add new scrollbar theme, called ScrollbarThemeMock, for use in layout
  20787. tests. The mock scrollbar simply draws a light gray box in the track,
  20788. with a dark gray box for the thumb.
  20789. Add ScrollbarThemeMock files to the build on all platforms. It isn't hooked up yet.
  20790. * CMakeLists.txt:
  20791. * CMakeListsEfl.txt:
  20792. * CMakeListsWinCE.txt:
  20793. * GNUmakefile.list.am:
  20794. * WebCore.gypi:
  20795. * WebCore.pro:
  20796. * WebCore.vcproj/WebCore.vcproj:
  20797. * WebCore.xcodeproj/project.pbxproj:
  20798. * platform/mac/ScrollbarThemeMac.mm:
  20799. (WebCore::ScrollbarTheme::nativeTheme):
  20800. * platform/mock/ScrollbarThemeMock.cpp: Added.
  20801. (WebCore::ScrollbarThemeMock::trackRect):
  20802. (WebCore::ScrollbarThemeMock::scrollbarThickness):
  20803. (WebCore::ScrollbarThemeMock::paintTrackBackground):
  20804. (WebCore::ScrollbarThemeMock::paintThumb):
  20805. * platform/mock/ScrollbarThemeMock.h: Added.
  20806. (WebCore::ScrollbarThemeMock::hasButtons):
  20807. (WebCore::ScrollbarThemeMock::hasThumb):
  20808. (WebCore::ScrollbarThemeMock::backButtonRect):
  20809. (WebCore::ScrollbarThemeMock::forwardButtonRect):
  20810. 2011-09-15 Beth Dakin <bdakin@apple.com>
  20811. https://bugs.webkit.org/show_bug.cgi?id=67884
  20812. Delete button icon does not properly update when the device resolution changes
  20813. dynamically
  20814. -and corresponding-
  20815. <rdar://problem/10104632>
  20816. Reviewed by Darin Adler.
  20817. In DeleteButtonController::deviceScaleFactorChanged(), if the delete button is
  20818. currently showing, hide it and re-show it, forcing it to re-create the deletion
  20819. UI.
  20820. * editing/DeleteButtonController.cpp:
  20821. (WebCore::DeleteButtonController::deviceScaleFactorChanged):
  20822. * editing/DeleteButtonController.h:
  20823. * editing/Editor.cpp:
  20824. (WebCore::Editor::deviceScaleFactorChanged):
  20825. * editing/Editor.h:
  20826. Iterate through all of the frames and propagate the deviceScaleFactorChange()
  20827. message to Editor.
  20828. * page/Page.cpp:
  20829. (WebCore::Page::setDeviceScaleFactor):
  20830. 2011-09-15 Chris Marrin <cmarrin@apple.com>
  20831. Crash can occur when doing a PlatformCAAnimation::copy() with no valueFunction
  20832. https://bugs.webkit.org/show_bug.cgi?id=67510
  20833. Reviewed by Adam Roben.
  20834. Another fix to take care of one last crash when running pause-crash.html.
  20835. CACF can't deal with null valueFunctions, so avoid setting it when it doesn't
  20836. exist.
  20837. This also adds logic to the Windows Hook in LayerChangesFlusher to prevent it
  20838. from catching the null pointer exception generated by the pause-crash.html test
  20839. before this bug was fixed. Windows was ignoring the exception, so the testcase
  20840. would appear to succeed, even though it should have crashed.
  20841. * WebCore.vcproj/WebCore.vcproj:
  20842. * platform/graphics/ca/win/LayerChangesFlusher.cpp:
  20843. (WebCore::LayerChangesFlusher::hookCallback):
  20844. * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
  20845. (PlatformCAAnimation::copy):
  20846. * platform\win\StructuredExceptionHandlerSupressor.h: New file to encapsulate the exception handling supression.
  20847. 2011-09-15 David Hyatt <hyatt@apple.com>
  20848. https://bugs.webkit.org/show_bug.cgi?id=27579
  20849. Make sure that the border shorthand also resets border-image.
  20850. Reviewed by Beth Dakin.
  20851. Added fast/borders/border-image-reset-by-border-shorthand.html.
  20852. * css/CSSParser.cpp:
  20853. (WebCore::CSSParser::parseValue):
  20854. 2011-09-15 David Hyatt <hyatt@apple.com>
  20855. https://bugs.webkit.org/show_bug.cgi?id=50072
  20856. Make overflow clipping to border-radius work across layers. This patch makes painting
  20857. work but does not attempt to fix hit testing. It also doesn't work when a composited
  20858. layer is clipped by a non-composited ancestor.
  20859. Add a new ClipRect class (used by ClipRects and RenderLayer) that is basically just tracking
  20860. a rect and a border radius taint. At the time we set a clip, if the rectangle is listed
  20861. as also being clipped by a radius, then we walk up the layer tree and push those inner border
  20862. rounded rect clips for any overflow areas in the containing block chain.
  20863. Reviewed by Beth Dakin.
  20864. Added new tests in fast/clip.
  20865. * rendering/RenderBox.cpp:
  20866. (WebCore::RenderBox::pushContentsClip):
  20867. * rendering/RenderLayer.cpp:
  20868. (WebCore::inContainingBlockChain):
  20869. (WebCore::RenderLayer::clipToRect):
  20870. (WebCore::RenderLayer::restoreClip):
  20871. (WebCore::RenderLayer::paintLayer):
  20872. (WebCore::RenderLayer::hitTestLayer):
  20873. (WebCore::RenderLayer::calculateClipRects):
  20874. (WebCore::RenderLayer::backgroundClipRect):
  20875. (WebCore::RenderLayer::calculateRects):
  20876. (WebCore::RenderLayer::childrenClipRect):
  20877. (WebCore::RenderLayer::selfClipRect):
  20878. * rendering/RenderLayer.h:
  20879. (WebCore::ClipRect::ClipRect):
  20880. (WebCore::ClipRect::rect):
  20881. (WebCore::ClipRect::setRect):
  20882. (WebCore::ClipRect::hasRadius):
  20883. (WebCore::ClipRect::setHasRadius):
  20884. (WebCore::ClipRect::operator==):
  20885. (WebCore::ClipRect::intersect):
  20886. (WebCore::ClipRect::move):
  20887. (WebCore::ClipRect::isEmpty):
  20888. (WebCore::ClipRect::intersects):
  20889. (WebCore::intersection):
  20890. (WebCore::ClipRects::overflowClipRect):
  20891. (WebCore::ClipRects::setOverflowClipRect):
  20892. (WebCore::ClipRects::fixedClipRect):
  20893. (WebCore::ClipRects::setFixedClipRect):
  20894. (WebCore::ClipRects::posClipRect):
  20895. (WebCore::ClipRects::setPosClipRect):
  20896. * rendering/RenderLayerBacking.cpp:
  20897. (WebCore::RenderLayerBacking::updateCompositedBounds):
  20898. (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
  20899. (WebCore::RenderLayerBacking::paintIntoLayer):
  20900. * rendering/RenderLayerCompositor.cpp:
  20901. (WebCore::RenderLayerCompositor::addToOverlapMap):
  20902. (WebCore::RenderLayerCompositor::clippedByAncestor):
  20903. * rendering/RenderTreeAsText.cpp:
  20904. (WebCore::writeLayers):
  20905. 2011-09-15 Julien Chaffraix <jchaffraix@webkit.org>
  20906. Crash in RenderBox::paintMaskImages due to a mask without an associated image
  20907. https://bugs.webkit.org/show_bug.cgi?id=50151
  20908. Reviewed by Simon Fraser.
  20909. Test: fast/css/empty-webkit-mask-crash.html
  20910. The crash stems from the fact that FillLayer::hasImage would walk over the linked list
  20911. of FillLayers and return true if one had an image. This means that hasImage() is true
  20912. does not mean that image() is non-NULL on all FillLayers.
  20913. * rendering/RenderBox.cpp:
  20914. (WebCore::RenderBox::paintMaskImages): Simplify the logic by doing the hasImage() check up-front
  20915. and properly check image() for each FillLayers. This has the nice benefit of changing the complexity
  20916. from O(n^2) to O(n), which was what the code expected anyway.
  20917. 2011-09-15 Eric Seidel <eric@webkit.org>
  20918. Remove ENABLE(SVG_AS_IMAGE) since all major ports have it on by default
  20919. https://bugs.webkit.org/show_bug.cgi?id=68182
  20920. Reviewed by Adam Barth.
  20921. * Configurations/FeatureDefines.xcconfig:
  20922. * DerivedSources.make:
  20923. * GNUmakefile.am:
  20924. * features.pri:
  20925. * loader/cache/CachedImage.cpp:
  20926. (WebCore::CachedImage::createImage):
  20927. 2011-09-15 Andy Estes <aestes@apple.com>
  20928. Having an empty listener to beforeload events changes the behavior of other scripts
  20929. https://bugs.webkit.org/show_bug.cgi?id=45586
  20930. Reviewed by Darin Adler.
  20931. Test: fast/dom/beforeload/cached-image-before-load.html
  20932. When loading a cached image after a beforeload handler has been
  20933. installed on the document, ImageLoader would dispatch both the
  20934. beforeload and load events asynchronously in such a way that caused
  20935. load to fire first. Since a side effect of firing the beforeload event
  20936. is to wire up the CachedImage to its associated RenderImage object,
  20937. this work was not done by the time load fired, and scripts that queried
  20938. renderer-dependent attributes of the image in an onload handler would
  20939. get bogus values in return.
  20940. Fix this by ensuring load fires after beforeload in the cached image case.
  20941. * loader/ImageLoader.cpp:
  20942. (WebCore::ImageLoader::updateFromElement): Call setClient() after
  20943. dispatching beforeload, since setClient() will dispatch the load event
  20944. if the image is cached.
  20945. 2011-09-15 Anders Carlsson <andersca@apple.com>
  20946. Remove ScrollView::platformContentsSize
  20947. https://bugs.webkit.org/show_bug.cgi?id=68188
  20948. Reviewed by Darin Adler.
  20949. Since ScrollView keeps track of the contents size in ScrollView::m_contentsSize, we never
  20950. have to ask the underlying platform scroll view for contents size since it should always just
  20951. be equal to m_contentsSize.
  20952. * platform/ScrollView.cpp:
  20953. (WebCore::ScrollView::contentsSize):
  20954. (WebCore::ScrollView::wheelEvent):
  20955. * platform/ScrollView.h:
  20956. * platform/mac/ScrollViewMac.mm:
  20957. * platform/wx/ScrollViewWx.cpp:
  20958. 2011-09-15 Jon Lee <jonlee@apple.com>
  20959. Submitting a form with target=_blank works only once
  20960. https://bugs.webkit.org/show_bug.cgi?id=28633
  20961. <rdar://problem/7357787>
  20962. Reviewed by Andy Estes.
  20963. Test: fast/forms/submit-to-blank-multiple-times.html
  20964. The call to reset the multiple form submission bool is pushed down from the mouseDown handler to
  20965. handleMousePressEvent(), to include WK2 coverage, similar to keyEvent.
  20966. * page/EventHandler.cpp:
  20967. (WebCore::EventHandler::handleMousePressEvent):
  20968. (WebCore::EventHandler::keyEvent): clarified old FIXME comment. Both key events and mouse events
  20969. may submit a form multiple times, but the call to reset the handler should probably be in another
  20970. abstraction layer.
  20971. * page/mac/EventHandlerMac.mm:
  20972. (WebCore::EventHandler::mouseDown):
  20973. 2011-09-15 Peter Rybin <peter.rybin@gmail.com>
  20974. XMLDocumentParserQt.cpp incorrectly converts 0-based number into 1-based number
  20975. https://bugs.webkit.org/show_bug.cgi?id=63540
  20976. ZeroBasedNumber/OneBasedNumber are used in more places, inconsistency
  20977. in xml parser is fixed.
  20978. Reviewed by Adam Barth.
  20979. * bindings/js/ScriptController.cpp:
  20980. (WebCore::ScriptController::eventHandlerLineNumber):
  20981. * dom/ScriptableDocumentParser.h:
  20982. * dom/StyleElement.cpp:
  20983. (WebCore::StyleElement::StyleElement):
  20984. * dom/ViewportArguments.cpp:
  20985. (WebCore::parserLineNumber):
  20986. * html/parser/HTMLDocumentParser.cpp:
  20987. (WebCore::HTMLDocumentParser::lineNumber):
  20988. * html/parser/HTMLDocumentParser.h:
  20989. * inspector/InspectorResourceAgent.cpp:
  20990. (WebCore::InspectorResourceAgent::buildInitiatorObject):
  20991. * svg/SVGDocumentExtensions.cpp:
  20992. (WebCore::parserLineNumber):
  20993. * xml/parser/NewXMLDocumentParser.cpp:
  20994. (WebCore::NewXMLDocumentParser::lineNumber):
  20995. * xml/parser/NewXMLDocumentParser.h:
  20996. * xml/parser/XMLDocumentParser.cpp:
  20997. (WebCore::XMLDocumentParser::pushCurrentNode):
  20998. * xml/parser/XMLDocumentParser.h:
  20999. * xml/parser/XMLDocumentParserLibxml2.cpp:
  21000. (WebCore::PendingCallbacks::appendErrorCallback):
  21001. (WebCore::XMLDocumentParser::doWrite):
  21002. (WebCore::XMLDocumentParser::startElementNs):
  21003. (WebCore::XMLDocumentParser::error):
  21004. (WebCore::XMLDocumentParser::lineNumber):
  21005. (WebCore::XMLDocumentParser::columnNumber):
  21006. (WebCore::XMLDocumentParser::textPosition):
  21007. * xml/parser/XMLDocumentParserQt.cpp:
  21008. (WebCore::XMLDocumentParser::doWrite):
  21009. (WebCore::XMLDocumentParser::doEnd):
  21010. (WebCore::XMLDocumentParser::lineNumber):
  21011. (WebCore::XMLDocumentParser::columnNumber):
  21012. (WebCore::XMLDocumentParser::textPosition):
  21013. (WebCore::XMLDocumentParser::parse):
  21014. (WebCore::XMLDocumentParser::parseStartElement):
  21015. 2011-09-15 Peter Kasting <pkasting@google.com>
  21016. Fix WebCore.gypi after r95130.
  21017. Unreviewed, build fix.
  21018. * WebCore.gypi:
  21019. 2011-09-15 Eric Seidel <eric@webkit.org>
  21020. Remove ENABLE_SVG_ANIMATION as all major ports have it on by default
  21021. https://bugs.webkit.org/show_bug.cgi?id=68022
  21022. Reviewed by Ryosuke Niwa.
  21023. * Configurations/FeatureDefines.xcconfig:
  21024. * DerivedSources.make:
  21025. * GNUmakefile.am:
  21026. * features.pri:
  21027. * page/DOMWindow.idl:
  21028. * svg/svgtags.in:
  21029. 2011-09-15 Matthew Delaney <mdelaney@apple.com>
  21030. REGRESSION (Safari 5.1-r95043): Incorrect box-shadow offset
  21031. https://bugs.webkit.org/show_bug.cgi?id=68041
  21032. Reviewed by Dan Bernstein.
  21033. Test: fast/box-shadow/no-blur-multiple-offsets.html
  21034. * platform/graphics/cg/GraphicsContextCG.cpp:
  21035. (WebCore::GraphicsContext::setPlatformShadow): Add hack back in for Lion if
  21036. context is not accelerated.
  21037. 2011-09-15 James Simonsen <simonjam@chromium.org>
  21038. Ref protect HTMLObjectElement and HTMLEmbedElement while requesting plugins
  21039. https://bugs.webkit.org/show_bug.cgi?id=68014
  21040. Reviewed by Adam Barth.
  21041. Test: plugins/destroy-during-npp-new.html under valgrind
  21042. plugins/destroy-during-npp-new-object-with-fallback-content.html under valgrind
  21043. * html/HTMLEmbedElement.cpp:
  21044. (WebCore::HTMLEmbedElement::updateWidget):
  21045. * html/HTMLObjectElement.cpp:
  21046. (WebCore::HTMLObjectElement::updateWidget):
  21047. 2011-09-15 Sam Weinig <sam@webkit.org>
  21048. Experiment with removing ability to call a collection (except document.all)
  21049. https://bugs.webkit.org/show_bug.cgi?id=67579
  21050. Reviewed by Anders Carlsson.
  21051. At the request of the public-script-coord mailing list (specifically Brendan Eich, see
  21052. http://lists.w3.org/Archives/Public/public-script-coord/2011JulSep/0360.html), this
  21053. patch removes the ability to call a collection (either a NodeList or HTMLCollection,
  21054. but not an HTMLAllCollection) as function, a syntax that we adopted to emulate IE.
  21055. It is being landed to find out if there are any sites relying on this behavior of WebKit,
  21056. or, if it is only used in IE only paths. If we find sites are breaking, it should be rolled
  21057. out and we should inform the public-script-coord mailing list.
  21058. * bindings/js/JSHTMLAllCollectionCustom.cpp:
  21059. Update comment.
  21060. * bindings/js/JSHTMLCollectionCustom.cpp:
  21061. * bindings/js/JSNodeListCustom.cpp:
  21062. Remove custom call code.
  21063. * bindings/scripts/CodeGeneratorV8.pm:
  21064. Add support for V8CustomCall.
  21065. * dom/NodeList.idl:
  21066. * html/HTMLCollection.idl:
  21067. Remove CustomCall.
  21068. 2011-09-15 Andreas Kling <kling@webkit.org>
  21069. CanvasRenderingContext2D::State copy ctor should use initializer list.
  21070. https://bugs.webkit.org/show_bug.cgi?id=68152
  21071. Reviewed by Darin Adler.
  21072. * html/canvas/CanvasRenderingContext2D.cpp:
  21073. (WebCore::CanvasRenderingContext2D::State::State):
  21074. 2011-09-15 Andreas Kling <kling@webkit.org>
  21075. Don't bother calculating dirty rect for accelerated 2D canvases.
  21076. https://bugs.webkit.org/show_bug.cgi?id=68158
  21077. Reviewed by Kenneth Rohde Christiansen.
  21078. For accelerated CanvasRenderingContext2D, didDraw() simply calls out
  21079. to RenderLayer::contentChanged(). Move this to the top of didDraw()
  21080. so we don't waste time calculating a precise dirty rect.
  21081. * html/canvas/CanvasRenderingContext2D.cpp:
  21082. (WebCore::CanvasRenderingContext2D::didDraw):
  21083. 2011-09-15 Brian Salomon <bsalomon@google.com>
  21084. [Skia/Chrome] Cleanup unneeded code now that GrGLInterface is used to set GL ctx per GL call.
  21085. https://bugs.webkit.org/show_bug.cgi?id=68096
  21086. Reviewed by Stephen White.
  21087. This change removes PlatformContextSkia::makeGrContextCurrent now that
  21088. GrGLInterface is used to set the context on every Skia GL call.
  21089. Tested by every canvas layout test.
  21090. * platform/graphics/chromium/FontLinux.cpp:
  21091. (WebCore::Font::drawGlyphs):
  21092. * platform/graphics/skia/FontSkia.cpp:
  21093. (WebCore::Font::drawGlyphs):
  21094. * platform/graphics/skia/GraphicsContextSkia.cpp:
  21095. (WebCore::GraphicsContext::clearRect):
  21096. (WebCore::GraphicsContext::clip):
  21097. (WebCore::GraphicsContext::drawConvexPolygon):
  21098. (WebCore::GraphicsContext::drawEllipse):
  21099. (WebCore::GraphicsContext::drawFocusRing):
  21100. (WebCore::GraphicsContext::drawLine):
  21101. (WebCore::GraphicsContext::drawLineForTextChecking):
  21102. (WebCore::GraphicsContext::drawLineForText):
  21103. (WebCore::GraphicsContext::drawRect):
  21104. (WebCore::GraphicsContext::fillPath):
  21105. (WebCore::GraphicsContext::fillRect):
  21106. (WebCore::GraphicsContext::fillRoundedRect):
  21107. (WebCore::GraphicsContext::strokeArc):
  21108. (WebCore::GraphicsContext::strokePath):
  21109. (WebCore::GraphicsContext::strokeRect):
  21110. * platform/graphics/skia/ImageBufferSkia.cpp:
  21111. (WebCore::ImageBuffer::ImageBuffer):
  21112. (WebCore::ImageBuffer::~ImageBuffer):
  21113. (WebCore::ImageBuffer::copyImage):
  21114. (WebCore::ImageBuffer::draw):
  21115. (WebCore::ImageBuffer::drawPattern):
  21116. (WebCore::ImageBuffer::getUnmultipliedImageData):
  21117. (WebCore::ImageBuffer::getPremultipliedImageData):
  21118. (WebCore::ImageBuffer::putUnmultipliedImageData):
  21119. (WebCore::ImageBuffer::putPremultipliedImageData):
  21120. (WebCore::ImageBuffer::toDataURL):
  21121. * platform/graphics/skia/ImageSkia.cpp:
  21122. (WebCore::BitmapImage::draw):
  21123. (WebCore::BitmapImageSingleFrameSkia::draw):
  21124. * platform/graphics/skia/PlatformContextSkia.cpp:
  21125. (WebCore::PlatformContextSkia::clipPathAntiAliased):
  21126. (WebCore::PlatformContextSkia::setGraphicsContext3D):
  21127. * platform/graphics/skia/PlatformContextSkia.h:
  21128. * platform/graphics/skia/SkiaFontWin.cpp:
  21129. (WebCore::paintSkiaText):
  21130. 2011-09-15 Peter Beverloo <peter@chromium.org>
  21131. [Chromium] Make sure that the ARM NEON files build with -marm
  21132. https://bugs.webkit.org/show_bug.cgi?id=68088
  21133. Simply adding the -marm cflag for OS=Android compiles results in it
  21134. being overridden by an -mthumb cflag later in the project generating
  21135. process. Therefore we should explicitly exclude -mthumb.
  21136. Reviewed by Tony Gentilcore.
  21137. * WebCore.gyp/WebCore.gyp:
  21138. 2011-09-15 Keishi Hattori <keishi@webkit.org>
  21139. [chromium] Build fix: Remove use of GraphicsContext::setIsAcceleratedContext
  21140. r95174 introduced GraphicsContext::setIsAcceleratedContext into Skia code and caused chromium builds to fail.
  21141. * platform/graphics/skia/ImageBufferSkia.cpp:
  21142. (WebCore::ImageBuffer::ImageBuffer):
  21143. 2011-09-15 Yuta Kitamura <yutak@chromium.org>
  21144. ThreadableWebSocketChannelClientWrapper shouldn't have a String in it.
  21145. https://bugs.webkit.org/show_bug.cgi?id=67908
  21146. Reviewed by David Levin.
  21147. Replace a String member variable in ThreadableWebSocketChannelClientWrapper with Vector<UChar>.
  21148. ThreadableWebSocketChannelClientWrapper is derived from ThreadSafeRefCounted. It may be
  21149. destroyed on different threads, which will affect String's refcounting. Therefore, classes
  21150. derived from ThreadSafeRefCounted must not have a String member variable.
  21151. No change in functionality, thus no new tests. WebSocket worker tests
  21152. (tests under http/tests/websocket/tests/{hixie76,hybi}/workers/) should keep passing.
  21153. * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
  21154. (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
  21155. (WebCore::ThreadableWebSocketChannelClientWrapper::subprotocol):
  21156. Create a String from Vector<UChar>. Note that String constructor taking an empty vector returns
  21157. a null string, not an empty string. We want an empty string in that case, so I had to add
  21158. special-case handling for an empty vector.
  21159. (WebCore::ThreadableWebSocketChannelClientWrapper::setSubprotocol):
  21160. Copy the content of the given String into Vector.
  21161. * websockets/ThreadableWebSocketChannelClientWrapper.h:
  21162. 2011-09-14 Matthew Delaney <mdelaney@apple.com>
  21163. Use isAcceleratedContext() on the GraphicsContext instead of flags in ImageBuffer
  21164. https://bugs.webkit.org/show_bug.cgi?id=68137
  21165. Reviewed by Simon Fraser.
  21166. No new tests. No change in behavior.
  21167. * html/canvas/CanvasRenderingContext2D.cpp:
  21168. (WebCore::CanvasRenderingContext2D::isAccelerated): Have all just query the context directly.
  21169. (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere): just use isAccelerated directly
  21170. * platform/graphics/ImageBuffer.h:
  21171. * platform/graphics/cg/ImageBufferCG.cpp:
  21172. (WebCore::ImageBuffer::ImageBuffer): Set isAcceleratedContext on the GraphicsContext instead of carrying the
  21173. bit around on the ImageBuffer itself.
  21174. (WebCore::ImageBuffer::copyNativeImage): Update the check. Same for all below...
  21175. (WebCore::ImageBuffer::drawPattern):
  21176. (WebCore::ImageBuffer::getUnmultipliedImageData):
  21177. (WebCore::ImageBuffer::getPremultipliedImageData):
  21178. (WebCore::ImageBuffer::putUnmultipliedImageData):
  21179. (WebCore::ImageBuffer::putPremultipliedImageData):
  21180. * platform/graphics/skia/ImageBufferSkia.cpp: Set isAcceleratedContext on the GraphicsContext instead of carrying the
  21181. bit around on the ImageBuffer itself.
  21182. (WebCore::ImageBuffer::ImageBuffer): Remove m_acceleratesRendering flag and getter.
  21183. 2011-09-14 Jeffrey Pfau <jeffrey@endrift.com>
  21184. libxml2 fragment parser loses prefix namespaces
  21185. https://bugs.webkit.org/show_bug.cgi?id=66423
  21186. This makes the loop over the elements outside of the context actually update the element it's processing.
  21187. Reviewed by Eric Seidel.
  21188. Test: fast/parser/innerhtml-with-prefixed-elements.xhtml
  21189. * xml/parser/XMLDocumentParserLibxml2.cpp:
  21190. (WebCore::XMLDocumentParser::XMLDocumentParser):
  21191. 2011-09-14 Nate Chapin <japhet@chromium.org>
  21192. [V8] Null-check the v8::Context in
  21193. V8DOMWindowShell:namedItemAdded() before using it.
  21194. Also, add some logging to figure out how we're getting
  21195. into this bad state.
  21196. https://bugs.webkit.org/show_bug.cgi?id=68099
  21197. Reviewed by Adam Barth.
  21198. No new tests, no known repro.
  21199. * bindings/v8/V8DOMWindowShell.cpp:
  21200. (WebCore::V8DOMWindowShell::namedItemAdded):
  21201. 2011-09-14 Patrick Gansterer <paroga@webkit.org>
  21202. Replace ENABLE_XHR_RESPONSE_BLOB preprocessor statements in IDL files with Conditional attribute
  21203. https://bugs.webkit.org/show_bug.cgi?id=64960
  21204. Reviewed by Ryosuke Niwa.
  21205. * xml/XMLHttpRequest.idl:
  21206. 2011-09-14 Alexei Svitkine <asvitkine@chromium.org>
  21207. Chromium: Add a layer for rubber-band overhang painting to the hardware path.
  21208. https://bugs.webkit.org/show_bug.cgi?id=66969
  21209. Also, add layout tests for rubber-band overhang drawing for compositing path.
  21210. Reviewed by James Robinson.
  21211. * page/FrameView.cpp:
  21212. (WebCore::FrameView::layerForOverhangAreas):
  21213. * page/FrameView.h:
  21214. * platform/ScrollView.cpp:
  21215. (WebCore::ScrollView::scrollContents):
  21216. (WebCore::ScrollView::wheelEvent):
  21217. * platform/ScrollView.h:
  21218. * platform/ScrollableArea.h:
  21219. (WebCore::ScrollableArea::layerForOverhangAreas):
  21220. * rendering/RenderLayerCompositor.cpp:
  21221. (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
  21222. (WebCore::RenderLayerCompositor::paintContents):
  21223. (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
  21224. (WebCore::RenderLayerCompositor::destroyRootLayer):
  21225. * rendering/RenderLayerCompositor.h:
  21226. (WebCore::RenderLayerCompositor::layerForOverhangAreas):
  21227. 2011-09-14 Antoine Labour <piman@chromium.org>
  21228. Remove the dependency on GraphicsLayer from CCLayerTreeHost.
  21229. Move root layer management into the NonCompositedContentHost.
  21230. Have WebViewImpl create a NonCompositedContentHost explicitly.
  21231. https://bugs.webkit.org/show_bug.cgi?id=67883
  21232. Reviewed by James Robinson.
  21233. Covered by compositing/ layout tests.
  21234. * platform/graphics/chromium/NonCompositedContentHost.cpp:
  21235. (WebCore::NonCompositedContentHost::setRootLayer):
  21236. (WebCore::NonCompositedContentHost::setViewport):
  21237. (WebCore::NonCompositedContentHost::setVisible):
  21238. (WebCore::NonCompositedContentHost::clearRenderSurfacesRecursive):
  21239. (WebCore::NonCompositedContentHost::invalidateRect):
  21240. * platform/graphics/chromium/NonCompositedContentHost.h:
  21241. (WebCore::NonCompositedContentHost::topLevelRootLayer):
  21242. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  21243. (WebCore::CCLayerTreeHost::create):
  21244. (WebCore::CCLayerTreeHost::CCLayerTreeHost):
  21245. (WebCore::CCLayerTreeHost::initialize):
  21246. (WebCore::CCLayerTreeHost::commitTo):
  21247. (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
  21248. (WebCore::CCLayerTreeHost::setViewport):
  21249. (WebCore::CCLayerTreeHost::setVisible):
  21250. (WebCore::CCLayerTreeHost::updateLayers):
  21251. (WebCore::CCLayerTreeHost::paintLayerContents):
  21252. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  21253. (WebCore::CCLayerTreeHost::rootLayer):
  21254. 2011-09-14 Henrik Grunell <grunell@google.com>
  21255. MediaStream API: Change PeerConnection constructor name to webkitPeerConnection
  21256. https://bugs.webkit.org/show_bug.cgi?id=67843
  21257. Reviewed by Tony Gentilcore.
  21258. Tests for the MediaStream API will be provided by the bug 56587, pending enough landed code.
  21259. * bindings/generic/RuntimeEnabledFeatures.h:
  21260. (WebCore::RuntimeEnabledFeatures::webkitPeerConnectionEnabled):
  21261. * page/DOMWindow.idl:
  21262. 2011-09-14 John Bauman <jbauman@chromium.org>
  21263. Make sure to GC decoded images that are only used with WebGL
  21264. https://bugs.webkit.org/show_bug.cgi?id=67899
  21265. Reviewed by James Robinson.
  21266. Tell CachedImage that the WebGL image was drawn so WebGL-only
  21267. content will have decoded images collected.
  21268. * platform/graphics/GraphicsContext3D.cpp:
  21269. (WebCore::GraphicsContext3D::extractImageData):
  21270. 2011-09-14 Antoine Labour <piman@chromium.org>
  21271. Added a pure virtual class CCLayerDelegate which helps to isolate
  21272. the chromium compositor from the rest of WebCore, and aids unit
  21273. testing by being easily mockable. The compositor layers no longer
  21274. directly see instances of GraphicsLayerChromium, instead they use
  21275. this interface.
  21276. https://bugs.webkit.org/show_bug.cgi?id=67750
  21277. Reviewed by James Robinson.
  21278. No new tests: changes already covered by existing compositing layout
  21279. tests.
  21280. * platform/graphics/chromium/CanvasLayerChromium.cpp:
  21281. (WebCore::CanvasLayerChromium::CanvasLayerChromium):
  21282. * platform/graphics/chromium/CanvasLayerChromium.h:
  21283. * platform/graphics/chromium/ContentLayerChromium.cpp:
  21284. (WebCore::ContentLayerPainter::create):
  21285. (WebCore::ContentLayerPainter::paint):
  21286. (WebCore::ContentLayerPainter::ContentLayerPainter):
  21287. (WebCore::ContentLayerChromium::create):
  21288. (WebCore::ContentLayerChromium::ContentLayerChromium):
  21289. (WebCore::ContentLayerChromium::drawsContent):
  21290. * platform/graphics/chromium/ContentLayerChromium.h:
  21291. * platform/graphics/chromium/GraphicsLayerChromium.cpp:
  21292. (WebCore::GraphicsLayerChromium::getDrawsContent):
  21293. (WebCore::GraphicsLayerChromium::getPreserves3D):
  21294. (WebCore::GraphicsLayerChromium::paintingGoesToWindow):
  21295. (WebCore::GraphicsLayerChromium::doPaintGraphicsLayerContents):
  21296. (WebCore::GraphicsLayerChromium::notifySyncRequired):
  21297. * platform/graphics/chromium/GraphicsLayerChromium.h:
  21298. * platform/graphics/chromium/ImageLayerChromium.cpp:
  21299. (WebCore::ImageLayerChromium::create):
  21300. (WebCore::ImageLayerChromium::ImageLayerChromium):
  21301. * platform/graphics/chromium/ImageLayerChromium.h:
  21302. * platform/graphics/chromium/LayerChromium.cpp:
  21303. (WebCore::LayerChromium::create):
  21304. (WebCore::LayerChromium::LayerChromium):
  21305. * platform/graphics/chromium/LayerChromium.h:
  21306. (WebCore::CCLayerDelegate::~CCLayerDelegate):
  21307. (WebCore::LayerChromium::preserves3D):
  21308. (WebCore::LayerChromium::setOwner):
  21309. * platform/graphics/chromium/PluginLayerChromium.cpp:
  21310. (WebCore::PluginLayerChromium::create):
  21311. (WebCore::PluginLayerChromium::PluginLayerChromium):
  21312. * platform/graphics/chromium/PluginLayerChromium.h:
  21313. * platform/graphics/chromium/TiledLayerChromium.cpp:
  21314. (WebCore::TiledLayerChromium::TiledLayerChromium):
  21315. * platform/graphics/chromium/TiledLayerChromium.h:
  21316. * platform/graphics/chromium/VideoLayerChromium.cpp:
  21317. (WebCore::VideoLayerChromium::create):
  21318. (WebCore::VideoLayerChromium::VideoLayerChromium):
  21319. (WebCore::VideoLayerChromium::updateCompositorResources):
  21320. * platform/graphics/chromium/VideoLayerChromium.h:
  21321. * platform/graphics/chromium/WebGLLayerChromium.cpp:
  21322. (WebCore::WebGLLayerChromium::create):
  21323. (WebCore::WebGLLayerChromium::WebGLLayerChromium):
  21324. * platform/graphics/chromium/WebGLLayerChromium.h:
  21325. 2011-09-14 Anders Carlsson <andersca@apple.com>
  21326. Try to fix GTK+ build.
  21327. * GNUmakefile.list.am:
  21328. 2011-09-14 James Robinson <jamesr@chromium.org>
  21329. [chromium] LayerRendererChromium shouldn't be RefCounted
  21330. https://bugs.webkit.org/show_bug.cgi?id=68121
  21331. Reviewed by Kenneth Russell.
  21332. LayerRendererChromium is owned exclusively by CCLayerTreeHostImpl, so there's no reason to have it be
  21333. refcounted. Making it an OwnPtr<> makes the lifecycle for these objects much cleaner and reduces the chance of
  21334. introducing accidental reference cycles. This also removes the LayerRendererChromium pointers from CCLayerImpls
  21335. since it only needed at draw time.
  21336. Covered by compositing/ tests.
  21337. * platform/graphics/chromium/LayerRendererChromium.cpp:
  21338. (WebCore::LayerRendererChromium::create):
  21339. (WebCore::LayerRendererChromium::drawLayers):
  21340. (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
  21341. (WebCore::LayerRendererChromium::useRenderSurface):
  21342. (WebCore::LayerRendererChromium::drawLayer):
  21343. * platform/graphics/chromium/LayerRendererChromium.h:
  21344. * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
  21345. (WebCore::CCCanvasLayerImpl::draw):
  21346. * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
  21347. * platform/graphics/chromium/cc/CCLayerImpl.cpp:
  21348. (WebCore::CCLayerImpl::CCLayerImpl):
  21349. (WebCore::CCLayerImpl::draw):
  21350. (WebCore::CCLayerImpl::bindContentsTexture):
  21351. (WebCore::CCLayerImpl::drawDebugBorder):
  21352. * platform/graphics/chromium/cc/CCLayerImpl.h:
  21353. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  21354. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
  21355. (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
  21356. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
  21357. * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
  21358. (WebCore::CCPluginLayerImpl::draw):
  21359. * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
  21360. * platform/graphics/chromium/cc/CCRenderSurface.cpp:
  21361. (WebCore::CCRenderSurface::cleanupResources):
  21362. (WebCore::CCRenderSurface::prepareContentsTexture):
  21363. (WebCore::CCRenderSurface::draw):
  21364. (WebCore::CCRenderSurface::drawLayer):
  21365. (WebCore::CCRenderSurface::drawSurface):
  21366. * platform/graphics/chromium/cc/CCRenderSurface.h:
  21367. * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
  21368. (WebCore::CCTiledLayerImpl::bindContentsTexture):
  21369. (WebCore::CCTiledLayerImpl::draw):
  21370. * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
  21371. * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
  21372. (WebCore::CCVideoLayerImpl::draw):
  21373. (WebCore::CCVideoLayerImpl::drawYUV):
  21374. (WebCore::CCVideoLayerImpl::drawRGBA):
  21375. * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
  21376. 2011-09-14 Anders Carlsson <andersca@apple.com>
  21377. Get rid of WebCoreViewFactory and its WebViewFactory subclass
  21378. https://bugs.webkit.org/show_bug.cgi?id=68124
  21379. Reviewed by Sam Weinig.
  21380. * WebCore.exp.in:
  21381. * WebCore.xcodeproj/project.pbxproj:
  21382. * editing/mac/FrameSelectionMac.mm:
  21383. * page/mac/FrameMac.mm:
  21384. * page/mac/WebCoreViewFactory.h: Removed.
  21385. * page/mac/WebCoreViewFactory.m: Removed.
  21386. 2011-09-14 David Hyatt <hyatt@apple.com>
  21387. https://bugs.webkit.org/show_bug.cgi?id=52736
  21388. Tiles were not being properly centered within border image sides for the "repeat"
  21389. keyword. This patch fixes the buggy math behind the pattern tiling to actually get
  21390. the initial phases correct.
  21391. Reviewed by Sam Weinig.
  21392. Added new tests in fast/borders and updated broken existing tests.
  21393. * platform/graphics/Image.cpp:
  21394. (WebCore::Image::drawTiled):
  21395. 2011-09-14 Anders Carlsson <andersca@apple.com>
  21396. Remove DocTypeStrings.gperf
  21397. https://bugs.webkit.org/show_bug.cgi?id=68119
  21398. Reviewed by Sam Weinig.
  21399. * CMakeLists.txt:
  21400. * CodeGenerators.pri:
  21401. * DerivedSources.make:
  21402. * GNUmakefile.am:
  21403. * WebCore.gyp/WebCore.gyp:
  21404. * WebCore.vcproj/WebCore.vcproj:
  21405. * WebCore.xcodeproj/project.pbxproj:
  21406. * html/DocTypeStrings.gperf: Removed.
  21407. * make-hash-tools.pl:
  21408. * platform/HashTools.h:
  21409. 2011-09-14 Chris Rogers <crogers@google.com>
  21410. Address lifetime issues in OfflineAudioDestinationNode (take 2)
  21411. https://bugs.webkit.org/show_bug.cgi?id=68111
  21412. Reviewed by Kenneth Russell.
  21413. No new tests. This fixes existing layout tests.
  21414. * webaudio/OfflineAudioDestinationNode.cpp:
  21415. (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
  21416. (WebCore::OfflineAudioDestinationNode::~OfflineAudioDestinationNode):
  21417. (WebCore::OfflineAudioDestinationNode::startRendering):
  21418. (WebCore::OfflineAudioDestinationNode::render):
  21419. 2011-09-14 David Hyatt <hyatt@apple.com>
  21420. https://bugs.webkit.org/show_bug.cgi?id=68103
  21421. Centered portions of border images don't render correctly. Make the tile scale factor have to be
  21422. explicitly passed in and modify paintNinePieceImage to compute it for all sides. The attempts to
  21423. implicitly compute the scale for the pattern based off the source and destination rects just don't
  21424. work, since the center image rects don't provide the right information to be able to infer the
  21425. scale factor.
  21426. Reviewed by Sam Weinig.
  21427. Reset all the existing fast/borders pixel results to Lion for these changes.
  21428. * platform/graphics/GraphicsContext.cpp:
  21429. (WebCore::GraphicsContext::drawTiledImage):
  21430. * platform/graphics/GraphicsContext.h:
  21431. * platform/graphics/Image.cpp:
  21432. (WebCore::Image::drawTiled):
  21433. * platform/graphics/Image.h:
  21434. * rendering/RenderBoxModelObject.cpp:
  21435. (WebCore::RenderBoxModelObject::paintNinePieceImage):
  21436. 2011-09-14 Anders Carlsson <andersca@apple.com>
  21437. Get rid of ResourceHandle::bufferedData()
  21438. https://bugs.webkit.org/show_bug.cgi?id=68112
  21439. Reviewed by David Hyatt.
  21440. ResourceHandle::bufferedData() was only implemented on Mac, and the support in the underlying
  21441. NSURLConnection class hasn't been there for several OS releases.
  21442. * loader/ResourceLoader.cpp:
  21443. (WebCore::ResourceLoader::resourceData):
  21444. (WebCore::ResourceLoader::addData):
  21445. * platform/network/ResourceHandle.h:
  21446. * platform/network/cf/ResourceHandleCFNet.cpp:
  21447. * platform/network/curl/ResourceHandleCurl.cpp:
  21448. * platform/network/mac/ResourceHandleMac.mm:
  21449. * platform/network/qt/ResourceHandleQt.cpp:
  21450. * platform/network/soup/ResourceHandleSoup.cpp:
  21451. * platform/network/win/ResourceHandleWin.cpp:
  21452. 2011-09-14 Mark Hahnenberg <mhahnenberg@apple.com>
  21453. REGRESSION: r95108 broke Qt Linux tests
  21454. https://bugs.webkit.org/show_bug.cgi?id=68104
  21455. Reviewed by Csaba Osztrogonác.
  21456. No new tests.
  21457. Build fix for Qt tests broken in r95108.
  21458. * bridge/qt/qt_runtime.cpp:
  21459. (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
  21460. (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
  21461. (JSC::Bindings::QtRuntimeConnectionMethod::QtRuntimeConnectionMethod):
  21462. * bridge/qt/qt_runtime.h:
  21463. 2011-09-14 James Robinson <jamesr@chromium.org>
  21464. [skia] fast/canvas/setWidthResetAfterForcedRender is flaky
  21465. https://bugs.webkit.org/show_bug.cgi?id=67955
  21466. Reviewed by Stephen White.
  21467. When destroying an ImageBuffer due to a canvas resize, we weren't clearing the texture ID on the layer,
  21468. resulting in future compositor draw calls binding an invalid texture. This results in the test failing and
  21469. possibly drawing from a bad texture.
  21470. Covered by fast/canvas/setWidthResetAfterForcedRender.html in the GPU configuration.
  21471. * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
  21472. (WebCore::Canvas2DLayerChromium::drawsContent)
  21473. * platform/graphics/skia/ImageBufferSkia.cpp:
  21474. (WebCore::ImageBuffer::~ImageBuffer):
  21475. 2011-09-14 Eric Seidel <eric@webkit.org>
  21476. Remove ENABLE_SVG_USE as <use> is required by HTML5
  21477. https://bugs.webkit.org/show_bug.cgi?id=68019
  21478. Reviewed by Ryosuke Niwa.
  21479. I missed a couple uses of SVG_USE in my previous patch.
  21480. * dom/DOMImplementation.cpp:
  21481. (WebCore::isSVG10Feature):
  21482. (WebCore::isSVG11Feature):
  21483. * svg/SVGUseElement.cpp:
  21484. (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
  21485. * svg/SVGUseElement.h:
  21486. 2011-09-14 Mark Hahnenberg <mhahnenberg@apple.com>
  21487. Unzip initialization lists and constructors in JSCell hierarchy (6/7)
  21488. https://bugs.webkit.org/show_bug.cgi?id=67692
  21489. Reviewed by Geoffrey Garen.
  21490. No new tests.
  21491. Completed the sixth level of the refactoring to add finishCreation()
  21492. methods to all classes within the JSCell hierarchy with non-trivial
  21493. constructor bodies.
  21494. This primarily consists of pushing the calls to finishCreation() down
  21495. into the constructors of the subclasses of the fifth level of the hierarchy
  21496. as well as pulling the finishCreation() calls out into the class's corresponding
  21497. create() method if it has one. Doing both simultaneously allows us to
  21498. maintain the invariant that the finishCreation() method chain is called exactly
  21499. once during the creation of an object, since calling it any other number of
  21500. times (0, 2, or more) will cause an assertion failure.
  21501. * WebCore.exp.in:
  21502. * bindings/js/JSDOMBinding.h:
  21503. (WebCore::DOMConstructorObject::DOMConstructorObject):
  21504. (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
  21505. (WebCore::DOMConstructorWithDocument::finishCreation):
  21506. * bindings/js/JSDOMGlobalObject.cpp:
  21507. (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
  21508. * bindings/js/JSDOMGlobalObject.h:
  21509. * bindings/js/JSDOMWindowBase.cpp:
  21510. (WebCore::JSDOMWindowBase::JSDOMWindowBase):
  21511. (WebCore::JSDOMWindowBase::finishCreation):
  21512. * bindings/js/JSDOMWindowBase.h:
  21513. * bindings/js/JSWorkerContextBase.cpp:
  21514. (WebCore::JSWorkerContextBase::JSWorkerContextBase):
  21515. (WebCore::JSWorkerContextBase::finishCreation):
  21516. * bindings/js/JSWorkerContextBase.h:
  21517. * bindings/scripts/CodeGeneratorJS.pm:
  21518. Added a finishCreation declaration and Moved the finishCreation call into the
  21519. create method for all classes except for subclasses of JSWorkerContextBase and
  21520. JSDOMWindowBase because those classes are on the next level, and it's easier
  21521. to do all of these classes in one fell swoop rather than level by level.
  21522. (GenerateHeader):
  21523. Added the implementation of the finishCreation method for the classes described above.
  21524. (GenerateImplementation):
  21525. Also added the finishCreation calls to the autogenerated DOM constructor classes.
  21526. (GenerateConstructorDeclaration):
  21527. (GenerateConstructorDefinition):
  21528. * bindings/scripts/test/JS/JSTestInterface.cpp:
  21529. (WebCore::JSTestInterfaceConstructor::create):
  21530. (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
  21531. (WebCore::JSTestInterfaceConstructor::finishCreation):
  21532. (WebCore::JSTestInterface::JSTestInterface):
  21533. (WebCore::JSTestInterface::finishCreation):
  21534. * bindings/scripts/test/JS/JSTestInterface.h:
  21535. (WebCore::JSTestInterface::create):
  21536. (WebCore::JSTestInterfacePrototype::create):
  21537. (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
  21538. * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  21539. (WebCore::JSTestMediaQueryListListenerConstructor::create):
  21540. (WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor):
  21541. (WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
  21542. (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
  21543. (WebCore::JSTestMediaQueryListListener::finishCreation):
  21544. * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
  21545. (WebCore::JSTestMediaQueryListListener::create):
  21546. (WebCore::JSTestMediaQueryListListenerPrototype::create):
  21547. (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
  21548. * bindings/scripts/test/JS/JSTestObj.cpp:
  21549. (WebCore::JSTestObjConstructor::create):
  21550. (WebCore::JSTestObjConstructor::JSTestObjConstructor):
  21551. (WebCore::JSTestObjConstructor::finishCreation):
  21552. (WebCore::JSTestObj::JSTestObj):
  21553. (WebCore::JSTestObj::finishCreation):
  21554. * bindings/scripts/test/JS/JSTestObj.h:
  21555. (WebCore::JSTestObj::create):
  21556. (WebCore::JSTestObjPrototype::create):
  21557. (WebCore::JSTestObjPrototype::JSTestObjPrototype):
  21558. * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  21559. (WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
  21560. (WebCore::JSTestSerializedScriptValueInterfaceConstructor::JSTestSerializedScriptValueInterfaceConstructor):
  21561. (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
  21562. (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
  21563. (WebCore::JSTestSerializedScriptValueInterface::finishCreation):
  21564. * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
  21565. (WebCore::JSTestSerializedScriptValueInterface::create):
  21566. (WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
  21567. (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
  21568. * bridge/c/CRuntimeObject.cpp:
  21569. (JSC::Bindings::CRuntimeObject::CRuntimeObject):
  21570. * bridge/c/CRuntimeObject.h:
  21571. (JSC::Bindings::CRuntimeObject::create):
  21572. * bridge/c/c_instance.cpp:
  21573. (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
  21574. (JSC::Bindings::CRuntimeMethod::finishCreation):
  21575. * bridge/jni/jsc/JavaInstanceJSC.cpp:
  21576. (JavaRuntimeMethod::JavaRuntimeMethod):
  21577. (JavaRuntimeMethod::finishCreation):
  21578. * bridge/jni/jsc/JavaRuntimeObject.cpp:
  21579. (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
  21580. * bridge/jni/jsc/JavaRuntimeObject.h:
  21581. (JSC::Bindings::JavaRuntimeObject::create):
  21582. * bridge/objc/ObjCRuntimeObject.h:
  21583. (JSC::Bindings::ObjCRuntimeObject::create):
  21584. * bridge/objc/ObjCRuntimeObject.mm:
  21585. (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
  21586. * bridge/objc/objc_instance.mm:
  21587. (ObjCRuntimeMethod::ObjCRuntimeMethod):
  21588. (ObjCRuntimeMethod::finishCreation):
  21589. * bridge/qt/qt_instance.cpp:
  21590. (JSC::Bindings::QtRuntimeObject::create):
  21591. (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
  21592. * bridge/qt/qt_pixmapruntime.cpp:
  21593. (JSC::Bindings::QtPixmapRuntimeObject::create):
  21594. (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
  21595. * bridge/qt/qt_runtime.cpp:
  21596. (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
  21597. (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
  21598. (JSC::Bindings::QtRuntimeMetaMethod::finishCreation):
  21599. (JSC::Bindings::QtRuntimeConnectionMethod::QtRuntimeConnectionMethod):
  21600. (JSC::Bindings::QtRuntimeConnectionMethod::finishCreation):
  21601. * bridge/qt/qt_runtime.h:
  21602. (JSC::Bindings::QtRuntimeMetaMethod::create):
  21603. * bridge/runtime_method.cpp:
  21604. (JSC::RuntimeMethod::RuntimeMethod):
  21605. * bridge/runtime_method.h:
  21606. (JSC::RuntimeMethod::create):
  21607. 2011-09-13 Eric Seidel <eric@webkit.org>
  21608. Remove ENABLE_SVG_USE as <use> is required by HTML5
  21609. https://bugs.webkit.org/show_bug.cgi?id=68019
  21610. Reviewed by Ryosuke Niwa.
  21611. * Configurations/FeatureDefines.xcconfig:
  21612. * DerivedSources.make:
  21613. * GNUmakefile.am:
  21614. * features.pri:
  21615. 2011-09-14 Eric Carlson <eric.carlson@apple.com>
  21616. MediaPlayerPrivateAVFoundationObjC's "periodic time observer" is unnecessary
  21617. https://bugs.webkit.org/show_bug.cgi?id=68056
  21618. MediaPlayerPrivateAVFoundationObjC creates a "periodic time observer" not because it wants
  21619. periodic callbacks, but because a time observer also fires whenever a seek completes. This is
  21620. no longer necessary because it now uses but AVPlayerItem's
  21621. -seekToTime:toleranceBefore:toleranceAfter:completionHandler to seek, so seek completions are
  21622. always notified.
  21623. Reviewed by Darin Adler.
  21624. No new tests, code removed is tested by existing tests.
  21625. * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
  21626. (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
  21627. 2011-09-14 Beth Dakin <bdakin@apple.com>
  21628. https://bugs.webkit.org/show_bug.cgi?id=68054
  21629. Return an image scale factor as well as an Image* from CachedImage::brokenImage()
  21630. Reviewed by Darin Adler.
  21631. CachedImage::brokenImage() now returns a pair<Image*, float> where the float
  21632. represents the image's scale factor. This is important because currently, the
  21633. broken image will either be only 1x or 2x, but a deviceScaleFactor could
  21634. theoretically be something different (1.5, 3, etc). So it is not safe to assume
  21635. that the image's scale factor is equivalent to the deviceScaleFactor, and
  21636. hardcoding 2 for now is lame.
  21637. * loader/cache/CachedImage.cpp:
  21638. (WebCore::CachedImage::brokenImage):
  21639. (WebCore::CachedImage::image):
  21640. * loader/cache/CachedImage.h:
  21641. * rendering/RenderImage.cpp:
  21642. (WebCore::RenderImage::imageSizeForError):
  21643. (WebCore::RenderImage::paintReplaced):
  21644. 2011-09-14 James Robinson <jamesr@chromium.org>
  21645. [chromium] Move contents texture manager from LayerRendererChromium to CCLayerTreeHost
  21646. https://bugs.webkit.org/show_bug.cgi?id=67440
  21647. Reviewed by Kenneth Russell.
  21648. This moves the contents TextureManager over to the CCLayerTreeHost, where it belongs, and adds in a commit path
  21649. to make sure that textures are deleted even if the page is not visible. This move also removed the need for
  21650. LayerRendererChromium's CCLayerTreeHost pointer, so I removed that as well. That meant moving the
  21651. layerTreeAsText() logic over to the CCLayerImpl side, which is where it really belonged anyway.
  21652. Covered by existing compositing/ tests and
  21653. platform/chromium/compositor/lost-compositor-context-with-rendersurface.html
  21654. * platform/graphics/chromium/LayerRendererChromium.cpp:
  21655. (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
  21656. (WebCore::LayerRendererChromium::drawLayers):
  21657. (WebCore::LayerRendererChromium::initializeSharedObjects):
  21658. (WebCore::LayerRendererChromium::cleanupSharedObjects):
  21659. * platform/graphics/chromium/LayerRendererChromium.h:
  21660. (WebCore::LayerRendererChromium::setContentsTextureMemoryUseBytes):
  21661. * platform/graphics/chromium/TextureManager.cpp:
  21662. (WebCore::TextureManager::highLimitBytes):
  21663. (WebCore::TextureManager::reclaimLimitBytes):
  21664. (WebCore::TextureManager::lowLimitBytes):
  21665. * platform/graphics/chromium/TextureManager.h:
  21666. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  21667. (WebCore::CCLayerTreeHost::initialize):
  21668. (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
  21669. (WebCore::CCLayerTreeHost::deleteContentsTextures):
  21670. (WebCore::CCLayerTreeHost::commitTo):
  21671. (WebCore::CCLayerTreeHost::setVisible):
  21672. (WebCore::CCLayerTreeHost::contentsTextureManager):
  21673. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  21674. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
  21675. (WebCore::CCLayerTreeHostImpl::setVisible):
  21676. * platform/graphics/chromium/cc/CCProxy.h:
  21677. * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  21678. (WebCore::CCSingleThreadProxy::setNeedsCommit):
  21679. (WebCore::CCSingleThreadProxy::stop):
  21680. * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
  21681. * platform/graphics/chromium/cc/CCThreadProxy.cpp:
  21682. (WebCore::CCThreadProxy::setNeedsCommit):
  21683. (WebCore::CCThreadProxy::setNeedsCommitOnCCThread):
  21684. (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
  21685. * platform/graphics/chromium/cc/CCThreadProxy.h:
  21686. 2011-09-14 David Hyatt <hyatt@apple.com>
  21687. https://bugs.webkit.org/show_bug.cgi?id=68040
  21688. Make sure border image sub-properties can be specified in any order.
  21689. Reviewed by Beth Dakin.
  21690. New tests in fast/borders.
  21691. * css/CSSParser.cpp:
  21692. (WebCore::BorderImageParseContext::BorderImageParseContext):
  21693. (WebCore::BorderImageParseContext::canAdvance):
  21694. (WebCore::BorderImageParseContext::setCanAdvance):
  21695. (WebCore::BorderImageParseContext::allowCommit):
  21696. (WebCore::BorderImageParseContext::allowImage):
  21697. (WebCore::BorderImageParseContext::allowImageSlice):
  21698. (WebCore::BorderImageParseContext::allowSlash):
  21699. (WebCore::BorderImageParseContext::requireWidth):
  21700. (WebCore::BorderImageParseContext::requireOutset):
  21701. (WebCore::BorderImageParseContext::commitImage):
  21702. (WebCore::BorderImageParseContext::commitImageSlice):
  21703. (WebCore::BorderImageParseContext::commitSlash):
  21704. (WebCore::BorderImageParseContext::commitBorderWidth):
  21705. (WebCore::BorderImageParseContext::commitBorderOutset):
  21706. (WebCore::BorderImageParseContext::commitRepeat):
  21707. (WebCore::CSSParser::parseBorderImage):
  21708. (WebCore::CSSParser::parseBorderImageRepeat):
  21709. (WebCore::CSSParser::parseBorderImageSlice):
  21710. (WebCore::CSSParser::parseBorderImageQuad):
  21711. * css/CSSParserValues.h:
  21712. (WebCore::CSSParserValueList::previous):
  21713. 2011-09-14 Mike Reed <reed@google.com>
  21714. query SystemParametersInfo for GDI font smoothing settings
  21715. https://bugs.webkit.org/show_bug.cgi?id=68080
  21716. Reviewed by Stephen White.
  21717. No new tests. fixes antialiasing issues based on User settings
  21718. * platform/graphics/skia/SkiaFontWin.cpp:
  21719. (WebCore::getDefaultGDITextFlags):
  21720. (WebCore::setupPaintForFont):
  21721. 2011-09-13 David Hyatt <hyatt@apple.com>
  21722. https://bugs.webkit.org/show_bug.cgi?id=68050
  21723. Regressions in some layout tests from making border/mask/reflection nine-piece-image
  21724. parsing match the spec, which allows any of the pieces to be omitted and to also be
  21725. specifiable in any order.
  21726. When the higher level code suddenly allowed the image slices to be omitted, the fixup
  21727. for legacy compatibility for reflections and masks in the parseBorderImageSlice function
  21728. no longer happened because that function no longer got called.
  21729. The fix is to properly set the defaults to include the "fill" keyword, so the fixup is
  21730. applied to the NinePieceImages you create before you ever map anything in from the rules.
  21731. This also has the side effect of fixing -webkit-max-box-image-slice to actually dump as
  21732. "0 fill" instead of just "0", which is the correct initial value for this property.
  21733. Reviewed by Adam Roben.
  21734. * css/CSSParser.cpp:
  21735. (WebCore::CSSParser::parseBorderImageSlice):
  21736. * css/CSSStyleSelector.cpp:
  21737. (WebCore::CSSStyleSelector::applyProperty):
  21738. * rendering/style/StyleRareNonInheritedData.cpp:
  21739. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  21740. * rendering/style/StyleReflection.h:
  21741. (WebCore::StyleReflection::StyleReflection):
  21742. 2011-09-13 Pavel Feldman <pfeldman@google.com>
  21743. Web Inspector: InspectorInstrumentation::frameDestroyed is called after m_page has been reset.
  21744. https://bugs.webkit.org/show_bug.cgi?id=67997
  21745. We should not instrument frameDestroyed event from within Frame's destructor
  21746. since frame's m_page pointer is likely to be 0 by that time and appropriate
  21747. instrumenting agent won't be found. As a result, stale frame with its id
  21748. end up in the inspector.
  21749. This change wipes out frame binding from the inspector upon detach rather
  21750. than destroy.
  21751. Reviewed by Tony Gentilcore.
  21752. * inspector/InspectorInstrumentation.cpp:
  21753. (WebCore::InspectorInstrumentation::frameDetachedImpl):
  21754. * inspector/InspectorInstrumentation.h:
  21755. * inspector/InspectorPageAgent.cpp:
  21756. (WebCore::InspectorPageAgent::frameDetached):
  21757. * inspector/InspectorPageAgent.h:
  21758. * loader/FrameLoader.cpp:
  21759. (WebCore::FrameLoader::detachFromParent):
  21760. * page/Frame.cpp:
  21761. (WebCore::Frame::~Frame):
  21762. (WebCore::Frame::detachFromPage):
  21763. * page/Frame.h:
  21764. 2011-09-14 Pavel Feldman <pfeldman@google.com>
  21765. Not reviewed: rolling out r95089.
  21766. * inspector/InspectorInstrumentation.cpp:
  21767. (WebCore::InspectorInstrumentation::frameDestroyedImpl):
  21768. (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
  21769. * inspector/InspectorInstrumentation.h:
  21770. (WebCore::InspectorInstrumentation::frameWindowDiscarded):
  21771. (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
  21772. (WebCore::InspectorInstrumentation::loadEventFired):
  21773. (WebCore::InspectorInstrumentation::didCommitLoad):
  21774. (WebCore::InspectorInstrumentation::frameDestroyed):
  21775. * inspector/InspectorPageAgent.cpp:
  21776. (WebCore::InspectorPageAgent::frameDetached):
  21777. (WebCore::InspectorPageAgent::frameDestroyed):
  21778. * inspector/InspectorPageAgent.h:
  21779. * page/Frame.cpp:
  21780. (WebCore::Frame::~Frame):
  21781. 2011-09-14 Ilya Tikhonovsky <loislo@chromium.org>
  21782. Web Inspector: requestAnimationFrame callbacks don't show up in the timeline panel.
  21783. https://bugs.webkit.org/show_bug.cgi?id=67986
  21784. Reviewed by Pavel Feldman.
  21785. Test: inspector/timeline/timeline-animation-frame.html
  21786. * English.lproj/localizedStrings.js:
  21787. * bindings/v8/V8Proxy.cpp:
  21788. (WebCore::V8Proxy::callFunction):
  21789. (WebCore::V8Proxy::callFunctionWithoutFrame):
  21790. (WebCore::V8Proxy::instrumentedCallFunction):
  21791. * bindings/v8/V8Proxy.h:
  21792. * bindings/v8/custom/V8CustomVoidCallback.cpp:
  21793. (WebCore::invokeCallback):
  21794. * dom/ScriptedAnimationController.cpp:
  21795. (WebCore::ScriptedAnimationController::registerCallback):
  21796. (WebCore::ScriptedAnimationController::cancelCallback):
  21797. (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
  21798. * inspector/InspectorInstrumentation.cpp:
  21799. (WebCore::InspectorInstrumentation::didRegisterAnimationFrameCallbackImpl):
  21800. (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallbackImpl):
  21801. (WebCore::InspectorInstrumentation::willFireAnimationFrameEventImpl):
  21802. (WebCore::InspectorInstrumentation::didFireAnimationFrameEventImpl):
  21803. * inspector/InspectorInstrumentation.h:
  21804. (WebCore::InspectorInstrumentation::willCallFunction):
  21805. (WebCore::InspectorInstrumentation::didRegisterAnimationFrameCallback):
  21806. (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallback):
  21807. (WebCore::InspectorInstrumentation::willFireAnimationFrameEvent):
  21808. (WebCore::InspectorInstrumentation::didFireAnimationFrameEvent):
  21809. * inspector/InspectorTimelineAgent.cpp:
  21810. (WebCore::InspectorTimelineAgent::didRegisterAnimationFrameCallback):
  21811. (WebCore::InspectorTimelineAgent::didCancelAnimationFrameCallback):
  21812. (WebCore::InspectorTimelineAgent::willFireAnimationFrameEvent):
  21813. (WebCore::InspectorTimelineAgent::didFireAnimationFrameEvent):
  21814. * inspector/InspectorTimelineAgent.h:
  21815. * inspector/TimelineRecordFactory.cpp:
  21816. (WebCore::TimelineRecordFactory::createAnimationFrameCallbackData):
  21817. * inspector/TimelineRecordFactory.h:
  21818. * inspector/front-end/TimelineAgent.js:
  21819. * inspector/front-end/TimelinePanel.js:
  21820. (WebInspector.TimelinePanel):
  21821. (WebInspector.TimelinePanel.prototype.get _recordStyles):
  21822. (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
  21823. (WebInspector.TimelinePanel.prototype._clearPanel):
  21824. (WebInspector.TimelinePanel.FormattedRecord):
  21825. (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
  21826. (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
  21827. 2011-09-13 Pavel Feldman <pfeldman@google.com>
  21828. Web Inspector: InspectorInstrumentation::frameDestroyed is called after m_page has been reset.
  21829. https://bugs.webkit.org/show_bug.cgi?id=67997
  21830. We should not instrument frameDestroyed event from within Frame's destructor
  21831. since frame's m_page pointer is likely to be 0 by that time and appropriate
  21832. instrumenting agent won't be found. As a result, stale frame with its id
  21833. end up in the inspector.
  21834. This change wipes out frame binding from the inspector upon detach rather
  21835. than destroy + adds an assertion into the inspector agents lookup with 0 page.
  21836. Reviewed by Tony Gentilcore.
  21837. * inspector/InspectorInstrumentation.cpp:
  21838. (WebCore::InspectorInstrumentation::frameDetachedImpl):
  21839. (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
  21840. * inspector/InspectorInstrumentation.h:
  21841. (WebCore::InspectorInstrumentation::frameWindowDiscarded):
  21842. (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
  21843. (WebCore::InspectorInstrumentation::loadEventFired):
  21844. (WebCore::InspectorInstrumentation::frameDetached):
  21845. (WebCore::InspectorInstrumentation::didCommitLoad):
  21846. * inspector/InspectorPageAgent.cpp:
  21847. (WebCore::InspectorPageAgent::frameDetached):
  21848. * inspector/InspectorPageAgent.h:
  21849. * loader/FrameLoader.cpp:
  21850. (WebCore::FrameLoader::detachFromParent):
  21851. * page/Frame.cpp:
  21852. (WebCore::Frame::~Frame):
  21853. (WebCore::Frame::detachFromPage):
  21854. (WebCore::Frame::transferChildFrameToNewDocument):
  21855. * page/Frame.h:
  21856. 2011-09-14 Sheriff Bot <webkit.review.bot@gmail.com>
  21857. Unreviewed, rolling out r95080.
  21858. http://trac.webkit.org/changeset/95080
  21859. https://bugs.webkit.org/show_bug.cgi?id=68070
  21860. It caused some 2d.composite.uncovered tests fail (Requested by
  21861. rgabor on #webkit).
  21862. * html/canvas/CanvasRenderingContext2D.cpp:
  21863. (WebCore::CanvasRenderingContext2D::clearCanvas):
  21864. (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
  21865. 2011-09-13 Pavel Feldman <pfeldman@google.com>
  21866. Web Inspector: [v8] building call frame info for location-less internal script function crashes.
  21867. https://bugs.webkit.org/show_bug.cgi?id=67991
  21868. Reviewed by Yury Semikhatsky.
  21869. Test: inspector/debugger/debugger-pause-in-internal.html
  21870. * bindings/v8/DebuggerScript.js:
  21871. ():
  21872. * bindings/v8/ScriptDebugServer.cpp:
  21873. (WebCore::ScriptDebugServer::currentCallFrame):
  21874. 2011-09-14 Ben Wells <benwells@chromium.org>
  21875. Large canvas fills should not crash or create unnecessarily large image buffers
  21876. https://bugs.webkit.org/show_bug.cgi?id=67988
  21877. When using source-in, destination-in, source-out, or destination-atop a temporary
  21878. buffer is created. This buffer only needs to be big enough to cover the intersection
  21879. of the path and the canvas.
  21880. This change also adds some null checks for failures to create contexts or buffers.
  21881. Reviewed by Stephen White.
  21882. Test: fast/canvas/canvas-large-fills.html
  21883. * html/canvas/CanvasRenderingContext2D.cpp:
  21884. (WebCore::CanvasRenderingContext2D::clearCanvas):
  21885. (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
  21886. 2011-09-14 Kentaro Hara <haraken@google.com>
  21887. Implement a PageTransitionEvent constructor for JSC
  21888. https://bugs.webkit.org/show_bug.cgi?id=68048
  21889. Reviewed by Sam Weinig.
  21890. The spec for the PageTransitionEvent constructor is here:
  21891. http://www.whatwg.org/specs/web-apps/current-work/#pagetransitionevent
  21892. Test: fast/events/constructors/page-transition-event-constructor.html
  21893. * bindings/generic/EventConstructors.h: Added a definition for the PageTransitionEvent constructor.
  21894. * bindings/js/JSEventConstructors.cpp: Added #includes for PageTransitionEvent.
  21895. * dom/PageTransitionEvent.cpp:
  21896. (WebCore::PageTransitionEventInit::PageTransitionEventInit):
  21897. (WebCore::PageTransitionEvent::PageTransitionEvent):
  21898. (WebCore::PageTransitionEvent::initPageTransitionEvent):
  21899. * dom/PageTransitionEvent.h: Added a definition for PageTransitionEventInit.
  21900. (WebCore::PageTransitionEvent::create):
  21901. (WebCore::PageTransitionEvent::isPageTransitionEvent):
  21902. (WebCore::PageTransitionEvent::persisted):
  21903. * dom/PageTransitionEvent.idl: Makes PageTransitionEvent constructible.
  21904. 2011-09-13 Sheriff Bot <webkit.review.bot@gmail.com>
  21905. Unreviewed, rolling out r95058.
  21906. http://trac.webkit.org/changeset/95058
  21907. https://bugs.webkit.org/show_bug.cgi?id=68058
  21908. It made css3/calc/regression-62276.html crash (Requested by
  21909. Ossy on #webkit).
  21910. * css/CSSParser.cpp:
  21911. (WebCore::BorderImageParseContext::BorderImageParseContext):
  21912. (WebCore::BorderImageParseContext::allowBreak):
  21913. (WebCore::BorderImageParseContext::allowWidth):
  21914. (WebCore::BorderImageParseContext::allowOutset):
  21915. (WebCore::BorderImageParseContext::allowRepeat):
  21916. (WebCore::BorderImageParseContext::commitImage):
  21917. (WebCore::BorderImageParseContext::commitImageSlice):
  21918. (WebCore::BorderImageParseContext::commitSlash):
  21919. (WebCore::BorderImageParseContext::commitBorderWidth):
  21920. (WebCore::BorderImageParseContext::commitBorderOutset):
  21921. (WebCore::BorderImageParseContext::commitRepeat):
  21922. (WebCore::CSSParser::parseBorderImage):
  21923. (WebCore::CSSParser::parseBorderImageRepeat):
  21924. (WebCore::CSSParser::parseBorderImageSlice):
  21925. (WebCore::CSSParser::parseBorderImageQuad):
  21926. * css/CSSParserValues.h:
  21927. 2011-09-13 Abhishek Arya <inferno@chromium.org>
  21928. Crash in RenderScrollbarPart::imageChanged.
  21929. https://bugs.webkit.org/show_bug.cgi?id=68009
  21930. Reviewed by Simon Fraser.
  21931. When a custom scrollbar is removed from its FrameView, its destruction
  21932. can be delayed because of RefPtr maintained in EventHandler class
  21933. (m_lastScrollbarUnderMouse). Upon removal, we delete all the scrollbar
  21934. parts so that they don't link back to scrollbar. However, because of the
  21935. delay, we can have a call to updateScrollbarPart which recreates it.
  21936. When scrollbar is getting destroyed, we just check to see if there are
  21937. remaining scrollbar parts and if yes, we destroy them.
  21938. Test: scrollbars/scrollbar-part-created-with-no-parent-crash.html
  21939. * rendering/RenderScrollbar.cpp:
  21940. (WebCore::RenderScrollbar::~RenderScrollbar):
  21941. 2011-09-13 Adam Klein <adamk@chromium.org>
  21942. Fix cssText property of counter-valued CSSPrimitiveValue and avoid uninitialized read
  21943. https://bugs.webkit.org/show_bug.cgi?id=68021
  21944. Reviewed by Tony Chang.
  21945. Reported by valgrind in http://crbug.com/60653.
  21946. Besides fixing the uninitialized read, add support for outputting the
  21947. list separator for counters() calls and the list-style name.
  21948. Test: fast/css/counters/counter-cssText.html
  21949. * css/CSSPrimitiveValue.cpp:
  21950. (WebCore::CSSPrimitiveValue::cssText):
  21951. 2011-09-13 Kenichi Ishibashi <bashi@chromium.org>
  21952. WebFont followed tiny monospace text displays weird
  21953. https://bugs.webkit.org/show_bug.cgi?id=67996
  21954. Reviewed by Darin Adler.
  21955. Always call wkSetCGFontRenderingMode() in Font::drawGlyphs() so that the rendering mode is set correctly.
  21956. Test: platform/mac/fast/text/webfont-after-tiny-monospace-text.html
  21957. * platform/graphics/mac/FontMac.mm:
  21958. (WebCore::Font::drawGlyphs):
  21959. 2011-09-13 Tom Sepez <tsepez@chromium.org>
  21960. Fix XSS auditor bypass when inline handlers contain comments.
  21961. https://bugs.webkit.org/show_bug.cgi?id=27895
  21962. Reviewed by Adam Barth.
  21963. Tests: http/tests/security/xssAuditor/property-escape-comment.html
  21964. http/tests/security/xssAuditor/property-escape-entity.html
  21965. http/tests/security/xssAuditor/property-escape-quote.html
  21966. * html/parser/XSSAuditor.cpp:
  21967. (WebCore::XSSAuditor::snippetForAttribute):
  21968. 2011-09-13 Kentaro Hara <haraken@google.com>
  21969. Implement a HashChangeEvent constructor for V8
  21970. https://bugs.webkit.org/show_bug.cgi?id=67969
  21971. Reviewed by Nate Chapin.
  21972. Test: fast/events/constructors/hash-change-event-constructor.html
  21973. * bindings/v8/custom/V8EventConstructors.cpp: Added the HashChangeEvent constructor.
  21974. * dom/HashChangeEvent.idl: Added a 'V8CustomConstructor' attribute.
  21975. 2011-09-13 Jeremy Apthorp <jeremya@google.com>
  21976. Fix crash when an iframe element is removed during a transition to
  21977. fullscreen.
  21978. https://bugs.webkit.org/show_bug.cgi?id=67960
  21979. Reviewed by Adam Barth.
  21980. Test: fullscreen/full-screen-remove-ancestor-during-transition.html
  21981. * dom/Document.cpp:
  21982. (WebCore::Document::~Document):
  21983. Clear the list of elements to which we need to send a fullscreenchange
  21984. event.
  21985. 2011-09-13 David Hyatt <hyatt@apple.com>
  21986. https://bugs.webkit.org/show_bug.cgi?id=68040
  21987. Make sure border image sub-properties can be specified in any order.
  21988. Reviewed by Beth Dakin.
  21989. New tests in fast/borders.
  21990. * css/CSSParser.cpp:
  21991. (WebCore::BorderImageParseContext::BorderImageParseContext):
  21992. (WebCore::BorderImageParseContext::canAdvance):
  21993. (WebCore::BorderImageParseContext::setCanAdvance):
  21994. (WebCore::BorderImageParseContext::allowCommit):
  21995. (WebCore::BorderImageParseContext::allowImage):
  21996. (WebCore::BorderImageParseContext::allowImageSlice):
  21997. (WebCore::BorderImageParseContext::allowSlash):
  21998. (WebCore::BorderImageParseContext::requireWidth):
  21999. (WebCore::BorderImageParseContext::requireOutset):
  22000. (WebCore::BorderImageParseContext::commitImage):
  22001. (WebCore::BorderImageParseContext::commitImageSlice):
  22002. (WebCore::BorderImageParseContext::commitSlash):
  22003. (WebCore::BorderImageParseContext::commitBorderWidth):
  22004. (WebCore::BorderImageParseContext::commitBorderOutset):
  22005. (WebCore::BorderImageParseContext::commitRepeat):
  22006. (WebCore::CSSParser::parseBorderImage):
  22007. (WebCore::CSSParser::parseBorderImageRepeat):
  22008. (WebCore::CSSParser::parseBorderImageSlice):
  22009. (WebCore::CSSParser::parseBorderImageQuad):
  22010. * css/CSSParserValues.h:
  22011. (WebCore::CSSParserValueList::previous):
  22012. 2011-09-13 Jeff Miller <jeffm@apple.com>
  22013. WebCore::Cursor::ensurePlatformCursor() should always set a valid platform cursor on Windows
  22014. https://bugs.webkit.org/show_bug.cgi?id=68043
  22015. Make sure we set a valid platform cursor in the Cursor::NoDrop case, and add a default
  22016. clause that uses the arrow cursor in case another cursor type is added in the future
  22017. and we forget to update ensurePlatformCursor().
  22018. Reviewed by Anders Carlsson.
  22019. * platform/win/CursorWin.cpp:
  22020. (WebCore::Cursor::ensurePlatformCursor): Always set a valid platform cursor.
  22021. 2011-09-12 Jon Honeycutt <jhoneycutt@apple.com>
  22022. MSAA: WebKit reports the document state as disabled
  22023. https://bugs.webkit.org/show_bug.cgi?id=67974
  22024. <rdar://problem/10095898>
  22025. Reviewed by Brian Weinstein.
  22026. Test: platform/win/accessibility/document-enabled-state.html
  22027. * accessibility/AccessibilityScrollView.h:
  22028. (WebCore::AccessibilityScrollView::isEnabled):
  22029. This object backs the AccessibleDocument on Windows - always return
  22030. true for its enabled state.
  22031. 2011-08-11 Cris Neckar <cdn@chromium.org>
  22032. Fixes several bugs when adding CounterNodes to a tree which can cause asymetrical relationships.
  22033. https://bugs.webkit.org/show_bug.cgi?id=65996
  22034. Reviewed by Eric Seidel.
  22035. Test: fast/css/counters/counter-reparent-table-children-crash.html
  22036. * rendering/CounterNode.cpp:
  22037. (WebCore::CounterNode::insertAfter):
  22038. * rendering/RenderCounter.cpp:
  22039. (WebCore::findPlaceForCounter):
  22040. (WebCore::makeCounterNode):
  22041. 2011-09-13 Beth Dakin <bdakin@apple.com>
  22042. Adding a comment I forgot to add before.
  22043. * rendering/RenderImage.cpp:
  22044. (WebCore::RenderImage::imageSizeForError):
  22045. 2011-09-13 Antti Koivisto <antti@apple.com>
  22046. Move identifier filter from CSSStyleSelector to SelectorChecker
  22047. https://bugs.webkit.org/show_bug.cgi?id=68025
  22048. Reviewed by Sam Weinig.
  22049. This is a more logical place for this code. It also makes CSSStyleSelector slightly less bloated.
  22050. It will make it possible to use fastRejectSelector for querySelectorAll in the future.
  22051. * css/CSSStyleSelector.cpp:
  22052. (WebCore::loadViewSourceStyle):
  22053. (WebCore::CSSStyleSelector::matchRulesForList):
  22054. (WebCore::RuleData::RuleData):
  22055. * css/CSSStyleSelector.h:
  22056. (WebCore::CSSStyleSelector::pushParent):
  22057. (WebCore::CSSStyleSelector::popParent):
  22058. * css/SelectorChecker.cpp:
  22059. (WebCore::collectElementIdentifierHashes):
  22060. (WebCore::SelectorChecker::pushParentStackFrame):
  22061. (WebCore::SelectorChecker::popParentStackFrame):
  22062. (WebCore::SelectorChecker::pushParent):
  22063. (WebCore::SelectorChecker::popParent):
  22064. (WebCore::collectDescendantSelectorIdentifierHashes):
  22065. (WebCore::SelectorChecker::collectIdentifierHashes):
  22066. * css/SelectorChecker.h:
  22067. (WebCore::SelectorChecker::parentStackIsConsistent):
  22068. (WebCore::SelectorChecker::ParentStackFrame::ParentStackFrame):
  22069. (WebCore::SelectorChecker::fastRejectSelector):
  22070. 2011-09-13 Kiyoto Tamura <owenestea@gmail.com>
  22071. For compatibility, execCommand should support deprecated 'useCSS' alias for 'styleWithCSS'
  22072. https://bugs.webkit.org/show_bug.cgi?id=36683
  22073. Reviewed by Ryosuke Niwa.
  22074. In addition to supporting the deprecated 'useCSS', 'styleWithCSS' now accepts any argument other than
  22075. the boolean false or the case-insensitive string "false". This is per
  22076. http://aryeh.name/spec/editing/editing.html#the-stylewithcss-command
  22077. Tests: editing/execCommand/style-with-css.html
  22078. editing/execCommand/use-css.html
  22079. * editing/EditorCommand.cpp:
  22080. (WebCore::executeStyleWithCSS):
  22081. (WebCore::executeUseCSS):
  22082. (WebCore::createCommandMap):
  22083. 2011-09-13 Anders Carlsson <andersca@apple.com>
  22084. Disable C++ exceptions when building with clang
  22085. https://bugs.webkit.org/show_bug.cgi?id=68031
  22086. <rdar://problem/9556880>
  22087. Reviewed by Mark Rowe.
  22088. * Configurations/Base.xcconfig:
  22089. 2011-09-13 Beth Dakin <bdakin@apple.com>
  22090. https://bugs.webkit.org/show_bug.cgi?id=67885
  22091. Outline for the high-resolution broken image icon draws at 2x
  22092. -and corresponding-
  22093. <rdar://problem/10104637>
  22094. Reviewed by Dan Bernstein.
  22095. Scaled the image size to account for the deviceScaleFactor.
  22096. * rendering/RenderImage.cpp:
  22097. (WebCore::RenderImage::imageSizeForError):
  22098. 2011-09-13 Tim Horton <timothy_horton@apple.com>
  22099. REGRESSION (64275): Shape pattern-image fill turns black
  22100. https://bugs.webkit.org/show_bug.cgi?id=51061
  22101. <rdar://problem/8504705>
  22102. Reviewed by Simon Fraser.
  22103. When destroying a resource, register clients who are losing their
  22104. resource as having pending resources, so they can be resolved in the case a
  22105. resource with that id is re-registered.
  22106. Test: svg/custom/pending-resource-after-removal.xhtml
  22107. * rendering/svg/SVGResourcesCache.cpp:
  22108. (WebCore::SVGResourcesCache::resourceDestroyed):
  22109. * svg/SVGStyledElement.h:
  22110. (WebCore::toSVGStyledElement): Added.
  22111. 2011-09-13 Eric Seidel <eric@webkit.org>
  22112. Remove ENABLE_SVG_FOREIGN_OBJECT as it is a required part of HTML5
  22113. https://bugs.webkit.org/show_bug.cgi?id=68018
  22114. Reviewed by Ryosuke Niwa.
  22115. * Configurations/FeatureDefines.xcconfig:
  22116. * DerivedSources.make:
  22117. * GNUmakefile.am:
  22118. * WebCore.exp.in:
  22119. * dom/DOMImplementation.cpp:
  22120. (WebCore::isSVG10Feature):
  22121. (WebCore::isSVG11Feature):
  22122. * dom/Text.cpp:
  22123. (WebCore::Text::createRenderer):
  22124. * features.pri:
  22125. * page/DOMWindow.idl:
  22126. * rendering/svg/RenderSVGForeignObject.cpp:
  22127. * rendering/svg/RenderSVGForeignObject.h:
  22128. * svg/SVGAnimateMotionElement.cpp:
  22129. (WebCore::SVGAnimateMotionElement::hasValidAttributeType):
  22130. * svg/SVGForeignObjectElement.cpp:
  22131. * svg/SVGForeignObjectElement.h:
  22132. * svg/SVGForeignObjectElement.idl:
  22133. * svg/SVGLocatable.cpp:
  22134. (WebCore::isViewportElement):
  22135. * svg/SVGSVGElement.cpp:
  22136. (WebCore::SVGSVGElement::isOutermostSVG):
  22137. * svg/SVGUseElement.cpp:
  22138. (WebCore::isDisallowedElement):
  22139. (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
  22140. * svg/svgtags.in:
  22141. 2011-09-13 Joseph Pecoraro <joepeck@webkit.org>
  22142. CRASH under WebCore::ArchiveResourceCollection::addAllResources loading WebArchive
  22143. https://bugs.webkit.org/show_bug.cgi?id=67983
  22144. Reviewed by Darin Adler.
  22145. Null mimetypes are okay for subresources, but as previously discovered
  22146. in bug 41082 they were required for main resources. Here we ensure
  22147. that they are required for main resources, but we allow null mimetypes
  22148. for subresources.
  22149. To fix a crash for bad input we never add a null ArchiveResource to the
  22150. Archive's subresource collection. It is useless and causes crashes whenever
  22151. someone iterates the Archive's subresource collection.
  22152. Test: webarchive/loading/test-loading-archive-subresource-null-mimetype.html
  22153. * loader/archive/cf/LegacyWebArchive.cpp:
  22154. (WebCore::LegacyWebArchive::createResource):
  22155. Allow a null mimetype, just type check from the dictionary.
  22156. (WebCore::LegacyWebArchive::extract):
  22157. Require a mimetype for the main resource. Do not add null
  22158. subresources to the subresource list.
  22159. 2011-09-13 Mihai Parparita <mihaip@chromium.org>
  22160. [Chromium] Remove javascript_engine from WebCore.gyp
  22161. https://bugs.webkit.org/show_bug.cgi?id=68001
  22162. Reviewed by Tony Chang.
  22163. Remove javascript_engine GYP variable (similar to the removal done on
  22164. the Chromium side with http://crrev.com/100692)
  22165. * WebCore.gyp/WebCore.gyp:
  22166. 2011-09-12 Ryosuke Niwa <rniwa@webkit.org>
  22167. [CSS3 Backgrounds and Borders] Add unprefixed border-image shorthand.
  22168. https://bugs.webkit.org/show_bug.cgi?id=67970
  22169. Reviewed by David Hyatt.
  22170. Also update CSSStyleSelector.cpp to support border-image to suppress assertion in
  22171. fast/borders/border-image-omit-right-slice.html
  22172. * css/CSSStyleSelector.cpp:
  22173. (WebCore::CSSStyleSelector::applyProperty):
  22174. (WebCore::CSSStyleSelector::mapNinePieceImage):
  22175. 2011-09-13 Xianzhu Wang <wangxianzhu@chromium.org>
  22176. Reviewed by Darin Adler.
  22177. Webkit wraps between hyphen-minus and numeric characters
  22178. https://bugs.webkit.org/show_bug.cgi?id=20677
  22179. Disallow wrapping between a hyphen-minus and a digit if the hyphen-minus
  22180. is not directly after a digit or a letter.
  22181. Test: fast/text/line-breaks-after-hyphen-before-number.html
  22182. * rendering/break_lines.cpp:
  22183. (WebCore::asciiLineBreakTable): Disabled line-breaking after '-' and before '.', '0'-'9'. Note: the change for '0'-'9' doesn't really matter because the case is handled hard-coded in shouldBreakAfter().
  22184. (WebCore::shouldBreakAfter): Changed line-breaking behavior after '-'.
  22185. (WebCore::nextBreakablePosition): Passes lastLastCh to shouldBreakAfter.
  22186. 2011-09-13 Erik Wright <erikwright@chromium.org>
  22187. platform/graphics/gtk/FontGtk.cpp was renamed to platform/graphics/pango/FontPango.cpp . Reflect this change in WebCore.gypi to fix a Chromium build breakage.
  22188. https://bugs.webkit.org/show_bug.cgi?id=68000
  22189. Reviewed by Tony Gentilcore.
  22190. No change in functionality, thus no new tests.
  22191. * WebCore.gypi:
  22192. 2011-09-10 Mikhail Naganov <mnaganov@chromium.org>
  22193. Web Inspector: Profiler: Fix overlapping data in function names column.
  22194. https://bugs.webkit.org/show_bug.cgi?id=67896
  22195. Reviewed by Pavel Feldman.
  22196. * inspector/front-end/ProfileDataGridTree.js:
  22197. (WebInspector.ProfileDataGridNode.prototype.createCell):
  22198. * inspector/front-end/dataGrid.css:
  22199. (.data-grid table.data):
  22200. (.data-grid td):
  22201. 2011-09-13 Sheriff Bot <webkit.review.bot@gmail.com>
  22202. Unreviewed, rolling out r95025.
  22203. http://trac.webkit.org/changeset/95025
  22204. https://bugs.webkit.org/show_bug.cgi?id=68005
  22205. Test failed on Snow Leopard bots. (Requested by yutak_home on
  22206. #webkit).
  22207. * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
  22208. (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
  22209. (WebCore::ThreadableWebSocketChannelClientWrapper::subprotocol):
  22210. (WebCore::ThreadableWebSocketChannelClientWrapper::setSubprotocol):
  22211. * websockets/ThreadableWebSocketChannelClientWrapper.h:
  22212. 2011-09-13 Yuta Kitamura <yutak@chromium.org>
  22213. ThreadableWebSocketChannelClientWrapper shouldn't have a String in it.
  22214. https://bugs.webkit.org/show_bug.cgi?id=67908
  22215. Reviewed by David Levin.
  22216. Replace a String member variable in ThreadableWebSocketChannelClientWrapper with Vector<UChar>.
  22217. No change in functionality, thus no new tests. WebSocket worker tests
  22218. (tests under http/tests/websocket/tests/{hixie76,hybi}/workers/) should keep passing.
  22219. * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
  22220. (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
  22221. (WebCore::ThreadableWebSocketChannelClientWrapper::subprotocol):
  22222. Create a String from Vector<UChar>.
  22223. (WebCore::ThreadableWebSocketChannelClientWrapper::setSubprotocol):
  22224. Copy the content of the given String into Vector.
  22225. * websockets/ThreadableWebSocketChannelClientWrapper.h:
  22226. 2011-09-13 Fumitoshi Ukai <ukai@chromium.org>
  22227. Unreviewed, build fix.
  22228. CSSPropertyBorderImage was added in r94989, but not yet added in
  22229. WebCore::CSSStyleSelector::applyProperty
  22230. CSSStyleSelector.cpp:2481: warning: enumeration value 'CSSPropertyBorderImage' not handled in switch
  22231. * css/CSSStyleSelector.cpp:
  22232. (WebCore::CSSStyleSelector::applyProperty):
  22233. 2011-09-12 Shinya Kawanaka <shinyak@google.com>
  22234. Crashes in WebCore::InsertListCommand::unlistifyParagraph.
  22235. https://bugs.webkit.org/show_bug.cgi?id=67918
  22236. Reviewed by Ryosuke Niwa.
  22237. execCommand("InsertUnorderedList") was crashing if the parent node of the target is
  22238. a kind of list element and it is not contenteditable.
  22239. This patch checks the parent node is contenteditable.
  22240. Test: editing/execCommand/insert-list-in-noneditable-list-parent.html
  22241. * editing/htmlediting.cpp:
  22242. (WebCore::enclosingListChild): Checks the parent node is contenteditable.
  22243. 2011-09-12 Sheriff Bot <webkit.review.bot@gmail.com>
  22244. Unreviewed, rolling out r94975.
  22245. http://trac.webkit.org/changeset/94975
  22246. https://bugs.webkit.org/show_bug.cgi?id=67984
  22247. crash in PrerenderBrowserTest.PrerenderHTML5VideoJs (Requested
  22248. by ukai on #webkit).
  22249. * platform/graphics/chromium/CanvasLayerChromium.h:
  22250. (WebCore::CanvasLayerChromium::layerTypeAsString):
  22251. * platform/graphics/chromium/ContentLayerChromium.h:
  22252. (WebCore::ContentLayerChromium::layerTypeAsString):
  22253. * platform/graphics/chromium/ImageLayerChromium.h:
  22254. (WebCore::ImageLayerChromium::layerTypeAsString):
  22255. * platform/graphics/chromium/LayerChromium.cpp:
  22256. (WebCore::LayerChromium::layerTreeAsText):
  22257. (WebCore::writeIndent):
  22258. (WebCore::LayerChromium::dumpLayer):
  22259. (WebCore::LayerChromium::dumpLayerProperties):
  22260. * platform/graphics/chromium/LayerChromium.h:
  22261. (WebCore::LayerChromium::layerTypeAsString):
  22262. * platform/graphics/chromium/LayerRendererChromium.cpp:
  22263. (WebCore::LayerRendererChromium::textureMemoryReclaimLimit):
  22264. (WebCore::LayerRendererChromium::create):
  22265. (WebCore::LayerRendererChromium::LayerRendererChromium):
  22266. (WebCore::LayerRendererChromium::close):
  22267. (WebCore::LayerRendererChromium::releaseTextures):
  22268. (WebCore::LayerRendererChromium::drawLayers):
  22269. (WebCore::LayerRendererChromium::drawLayersInternal):
  22270. (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
  22271. (WebCore::LayerRendererChromium::initializeSharedObjects):
  22272. (WebCore::LayerRendererChromium::cleanupSharedObjects):
  22273. (WebCore::LayerRendererChromium::layerTreeAsText):
  22274. (WebCore::LayerRendererChromium::dumpRenderSurfaces):
  22275. * platform/graphics/chromium/LayerRendererChromium.h:
  22276. (WebCore::LayerRendererChromium::owner):
  22277. (WebCore::LayerRendererChromium::rootLayer):
  22278. (WebCore::LayerRendererChromium::rootLayerImpl):
  22279. (WebCore::LayerRendererChromium::viewportSize):
  22280. (WebCore::LayerRendererChromium::contentsTextureManager):
  22281. * platform/graphics/chromium/ManagedTexture.cpp:
  22282. (WebCore::ManagedTexture::bindTexture):
  22283. (WebCore::ManagedTexture::framebufferTexture2D):
  22284. * platform/graphics/chromium/PluginLayerChromium.h:
  22285. (WebCore::PluginLayerChromium::layerTypeAsString):
  22286. * platform/graphics/chromium/RenderSurfaceChromium.cpp:
  22287. (WebCore::RenderSurfaceChromium::name):
  22288. (WebCore::writeIndent):
  22289. (WebCore::RenderSurfaceChromium::dumpSurface):
  22290. * platform/graphics/chromium/RenderSurfaceChromium.h:
  22291. * platform/graphics/chromium/TextureManager.cpp:
  22292. (WebCore::TextureManager::deleteEvictedTextures):
  22293. (WebCore::TextureManager::removeTexture):
  22294. (WebCore::TextureManager::allocateTexture):
  22295. (WebCore::TextureManager::requestTexture):
  22296. * platform/graphics/chromium/TextureManager.h:
  22297. (WebCore::TextureManager::setAssociatedContextDebugOnly):
  22298. (WebCore::TextureManager::associatedContextDebugOnly):
  22299. * platform/graphics/chromium/TiledLayerChromium.cpp:
  22300. (WebCore::writeIndent):
  22301. (WebCore::TiledLayerChromium::dumpLayerProperties):
  22302. * platform/graphics/chromium/TiledLayerChromium.h:
  22303. * platform/graphics/chromium/VideoLayerChromium.h:
  22304. (WebCore::VideoLayerChromium::layerTypeAsString):
  22305. * platform/graphics/chromium/WebGLLayerChromium.h:
  22306. (WebCore::WebGLLayerChromium::layerTypeAsString):
  22307. * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
  22308. * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
  22309. * platform/graphics/chromium/cc/CCLayerImpl.cpp:
  22310. * platform/graphics/chromium/cc/CCLayerImpl.h:
  22311. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  22312. (WebCore::CCLayerTreeHost::initialize):
  22313. (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
  22314. (WebCore::CCLayerTreeHost::commitTo):
  22315. (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
  22316. (WebCore::CCLayerTreeHost::setVisible):
  22317. (WebCore::CCLayerTreeHost::contentsTextureManager):
  22318. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  22319. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
  22320. (WebCore::CCLayerTreeHostImpl::drawLayers):
  22321. (WebCore::CCLayerTreeHostImpl::setVisible):
  22322. (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
  22323. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
  22324. * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
  22325. * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
  22326. * platform/graphics/chromium/cc/CCProxy.h:
  22327. * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  22328. (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
  22329. (WebCore::CCSingleThreadProxy::stop):
  22330. (WebCore::CCSingleThreadProxy::contentsTextureManager):
  22331. (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
  22332. * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
  22333. * platform/graphics/chromium/cc/CCThreadProxy.cpp:
  22334. (WebCore::CCThreadProxy::initializeLayerRenderer):
  22335. (WebCore::CCThreadProxy::contentsTextureManager):
  22336. (WebCore::CCThreadProxy::initializeLayerRendererOnCCThread):
  22337. (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
  22338. * platform/graphics/chromium/cc/CCThreadProxy.h:
  22339. * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
  22340. (WebCore::CCTiledLayerImpl::dumpLayerProperties):
  22341. * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
  22342. * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
  22343. * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
  22344. 2011-09-12 Joseph Pecoraro <joepeck@webkit.org>
  22345. Possible ASSERT(!storageTracker) in Lazily Initialized StorageTracker
  22346. https://bugs.webkit.org/show_bug.cgi?id=67957
  22347. Reviewed by Darin Adler.
  22348. The storageTracker singleton may already have been created
  22349. through StorageTracker::tracker before initializeTracker
  22350. gets called. Update the ASSERT in this case to check that
  22351. there is no client for the tracker.
  22352. No test, this depends on how the port initializes the tracker.
  22353. * storage/StorageTracker.cpp:
  22354. (WebCore::StorageTracker::initializeTracker):
  22355. 2011-09-12 Adam Klein <adamk@chromium.org>
  22356. Fix out-of-bounds access in Gradient::sortStopsIfNecessary
  22357. https://bugs.webkit.org/show_bug.cgi?id=67958
  22358. Reviewed by Darin Adler.
  22359. Reported by Valgrind in http://crbug.com/77049.
  22360. The errant code was added as an optimization in r67804.
  22361. This patch reverts that one, as all parties agree that the optimization
  22362. doesn't seem worthwhile, and there clearly aren't any tests covering
  22363. the special case.
  22364. No new tests, as existing tests should cover the remaining call to
  22365. |std::stable_sort|.
  22366. * platform/graphics/Gradient.cpp:
  22367. (WebCore::Gradient::sortStopsIfNecessary):
  22368. 2011-09-12 Jacky Jiang <zhajiang@rim.com>
  22369. Setting document.title doesn't affect contents of title tag of XHTML documents
  22370. https://bugs.webkit.org/show_bug.cgi?id=57537
  22371. Reviewed by Alexey Proskuryakov.
  22372. Update the contents of the <title> tag of XHTML documents when setting
  22373. document.title.
  22374. Test: fast/dom/title-content-set-innerText-get.xhtml
  22375. * dom/Document.cpp:
  22376. (WebCore::Document::setTitle):
  22377. 2011-09-12 Raphael Kubo da Costa <kubo@profusion.mobi>
  22378. [EFL] Initialize m_unmodifiedText in PlatformKeyboardEventEfl.
  22379. https://bugs.webkit.org/show_bug.cgi?id=67038
  22380. Reviewed by Kenneth Rohde Christiansen.
  22381. Since most of the time it will return the same thing as text(), we
  22382. initialize it the same way we initialize m_text. The other case (what
  22383. would have been generated if no modifiers were pressed) should be
  22384. covered by this as well.
  22385. As this method is used when handling access keys, tests such as
  22386. fast/events/access-key-self-destruct.html should now pass.
  22387. No new tests, as this fixes a problem uncovered by the existing ones.
  22388. * platform/efl/PlatformKeyboardEventEfl.cpp:
  22389. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
  22390. 2011-09-12 Hyowon Kim <hw1008.kim@samsung.com>
  22391. Reviewed by Eric Seidel.
  22392. [EFL] Add GraphicsContext3DEfl for WebGL and accelerated compositing
  22393. https://bugs.webkit.org/show_bug.cgi?id=62709
  22394. Add GraphicsContext3D implementation for EFL port.
  22395. GraphicsContext3D delegates to GraphicsContext3DInternal.
  22396. * platform/graphics/efl/GraphicsContext3DEfl.cpp: Added.
  22397. (WebCore::GraphicsContext3D::create):
  22398. (WebCore::GraphicsContext3D::GraphicsContext3D):
  22399. (WebCore::GraphicsContext3D::~GraphicsContext3D):
  22400. (WebCore::GraphicsContext3D::platformGraphicsContext3D):
  22401. (WebCore::GraphicsContext3D::platformLayer):
  22402. (WebCore::GraphicsContext3D::makeContextCurrent):
  22403. (WebCore::GraphicsContext3D::isGLES2Compliant):
  22404. (WebCore::GraphicsContext3D::activeTexture):
  22405. (WebCore::GraphicsContext3D::attachShader):
  22406. (WebCore::GraphicsContext3D::bindAttribLocation):
  22407. (WebCore::GraphicsContext3D::bindBuffer):
  22408. (WebCore::GraphicsContext3D::bindFramebuffer):
  22409. (WebCore::GraphicsContext3D::bindRenderbuffer):
  22410. (WebCore::GraphicsContext3D::bindTexture):
  22411. (WebCore::GraphicsContext3D::blendColor):
  22412. (WebCore::GraphicsContext3D::blendEquation):
  22413. (WebCore::GraphicsContext3D::blendEquationSeparate):
  22414. (WebCore::GraphicsContext3D::blendFunc):
  22415. (WebCore::GraphicsContext3D::blendFuncSeparate):
  22416. (WebCore::GraphicsContext3D::bufferData):
  22417. (WebCore::GraphicsContext3D::bufferSubData):
  22418. (WebCore::GraphicsContext3D::checkFramebufferStatus):
  22419. (WebCore::GraphicsContext3D::clear):
  22420. (WebCore::GraphicsContext3D::clearColor):
  22421. (WebCore::GraphicsContext3D::clearDepth):
  22422. (WebCore::GraphicsContext3D::clearStencil):
  22423. (WebCore::GraphicsContext3D::colorMask):
  22424. (WebCore::GraphicsContext3D::compileShader):
  22425. (WebCore::GraphicsContext3D::copyTexImage2D):
  22426. (WebCore::GraphicsContext3D::copyTexSubImage2D):
  22427. (WebCore::GraphicsContext3D::cullFace):
  22428. (WebCore::GraphicsContext3D::depthFunc):
  22429. (WebCore::GraphicsContext3D::depthMask):
  22430. (WebCore::GraphicsContext3D::depthRange):
  22431. (WebCore::GraphicsContext3D::detachShader):
  22432. (WebCore::GraphicsContext3D::disable):
  22433. (WebCore::GraphicsContext3D::disableVertexAttribArray):
  22434. (WebCore::GraphicsContext3D::drawArrays):
  22435. (WebCore::GraphicsContext3D::drawElements):
  22436. (WebCore::GraphicsContext3D::enable):
  22437. (WebCore::GraphicsContext3D::enableVertexAttribArray):
  22438. (WebCore::GraphicsContext3D::finish):
  22439. (WebCore::GraphicsContext3D::flush):
  22440. (WebCore::GraphicsContext3D::framebufferRenderbuffer):
  22441. (WebCore::GraphicsContext3D::framebufferTexture2D):
  22442. (WebCore::GraphicsContext3D::frontFace):
  22443. (WebCore::GraphicsContext3D::generateMipmap):
  22444. (WebCore::GraphicsContext3D::getActiveAttrib):
  22445. (WebCore::GraphicsContext3D::getActiveUniform):
  22446. (WebCore::GraphicsContext3D::getAttachedShaders):
  22447. (WebCore::GraphicsContext3D::getAttribLocation):
  22448. (WebCore::GraphicsContext3D::getBooleanv):
  22449. (WebCore::GraphicsContext3D::getBufferParameteriv):
  22450. (WebCore::GraphicsContext3D::getContextAttributes):
  22451. (WebCore::GraphicsContext3D::getError):
  22452. (WebCore::GraphicsContext3D::getFloatv):
  22453. (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
  22454. (WebCore::GraphicsContext3D::getIntegerv):
  22455. (WebCore::GraphicsContext3D::getProgramiv):
  22456. (WebCore::GraphicsContext3D::getProgramInfoLog):
  22457. (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
  22458. (WebCore::GraphicsContext3D::getShaderiv):
  22459. (WebCore::GraphicsContext3D::getShaderInfoLog):
  22460. (WebCore::GraphicsContext3D::getShaderSource):
  22461. (WebCore::GraphicsContext3D::getString):
  22462. (WebCore::GraphicsContext3D::getTexParameterfv):
  22463. (WebCore::GraphicsContext3D::getTexParameteriv):
  22464. (WebCore::GraphicsContext3D::getUniformfv):
  22465. (WebCore::GraphicsContext3D::getUniformiv):
  22466. (WebCore::GraphicsContext3D::getUniformLocation):
  22467. (WebCore::GraphicsContext3D::getVertexAttribfv):
  22468. (WebCore::GraphicsContext3D::getVertexAttribiv):
  22469. (WebCore::GraphicsContext3D::getVertexAttribOffset):
  22470. (WebCore::GraphicsContext3D::hint):
  22471. (WebCore::GraphicsContext3D::isBuffer):
  22472. (WebCore::GraphicsContext3D::isEnabled):
  22473. (WebCore::GraphicsContext3D::isFramebuffer):
  22474. (WebCore::GraphicsContext3D::isProgram):
  22475. (WebCore::GraphicsContext3D::isRenderbuffer):
  22476. (WebCore::GraphicsContext3D::isShader):
  22477. (WebCore::GraphicsContext3D::isTexture):
  22478. (WebCore::GraphicsContext3D::lineWidth):
  22479. (WebCore::GraphicsContext3D::linkProgram):
  22480. (WebCore::GraphicsContext3D::pixelStorei):
  22481. (WebCore::GraphicsContext3D::polygonOffset):
  22482. (WebCore::GraphicsContext3D::readPixels):
  22483. (WebCore::GraphicsContext3D::releaseShaderCompiler):
  22484. (WebCore::GraphicsContext3D::renderbufferStorage):
  22485. (WebCore::GraphicsContext3D::sampleCoverage):
  22486. (WebCore::GraphicsContext3D::scissor):
  22487. (WebCore::GraphicsContext3D::shaderSource):
  22488. (WebCore::GraphicsContext3D::stencilFunc):
  22489. (WebCore::GraphicsContext3D::stencilFuncSeparate):
  22490. (WebCore::GraphicsContext3D::stencilMask):
  22491. (WebCore::GraphicsContext3D::stencilMaskSeparate):
  22492. (WebCore::GraphicsContext3D::stencilOp):
  22493. (WebCore::GraphicsContext3D::stencilOpSeparate):
  22494. (WebCore::GraphicsContext3D::texImage2D):
  22495. (WebCore::GraphicsContext3D::texParameterf):
  22496. (WebCore::GraphicsContext3D::texParameteri):
  22497. (WebCore::GraphicsContext3D::texSubImage2D):
  22498. (WebCore::GraphicsContext3D::uniform1f):
  22499. (WebCore::GraphicsContext3D::uniform1fv):
  22500. (WebCore::GraphicsContext3D::uniform1i):
  22501. (WebCore::GraphicsContext3D::uniform1iv):
  22502. (WebCore::GraphicsContext3D::uniform2f):
  22503. (WebCore::GraphicsContext3D::uniform2fv):
  22504. (WebCore::GraphicsContext3D::uniform2i):
  22505. (WebCore::GraphicsContext3D::uniform2iv):
  22506. (WebCore::GraphicsContext3D::uniform3f):
  22507. (WebCore::GraphicsContext3D::uniform3fv):
  22508. (WebCore::GraphicsContext3D::uniform3i):
  22509. (WebCore::GraphicsContext3D::uniform3iv):
  22510. (WebCore::GraphicsContext3D::uniform4f):
  22511. (WebCore::GraphicsContext3D::uniform4fv):
  22512. (WebCore::GraphicsContext3D::uniform4i):
  22513. (WebCore::GraphicsContext3D::uniform4iv):
  22514. (WebCore::GraphicsContext3D::uniformMatrix2fv):
  22515. (WebCore::GraphicsContext3D::uniformMatrix3fv):
  22516. (WebCore::GraphicsContext3D::uniformMatrix4fv):
  22517. (WebCore::GraphicsContext3D::useProgram):
  22518. (WebCore::GraphicsContext3D::validateProgram):
  22519. (WebCore::GraphicsContext3D::vertexAttrib1f):
  22520. (WebCore::GraphicsContext3D::vertexAttrib1fv):
  22521. (WebCore::GraphicsContext3D::vertexAttrib2f):
  22522. (WebCore::GraphicsContext3D::vertexAttrib2fv):
  22523. (WebCore::GraphicsContext3D::vertexAttrib3f):
  22524. (WebCore::GraphicsContext3D::vertexAttrib3fv):
  22525. (WebCore::GraphicsContext3D::vertexAttrib4f):
  22526. (WebCore::GraphicsContext3D::vertexAttrib4fv):
  22527. (WebCore::GraphicsContext3D::vertexAttribPointer):
  22528. (WebCore::GraphicsContext3D::viewport):
  22529. (WebCore::GraphicsContext3D::reshape):
  22530. (WebCore::GraphicsContext3D::markContextChanged):
  22531. (WebCore::GraphicsContext3D::markLayerComposited):
  22532. (WebCore::GraphicsContext3D::layerComposited):
  22533. (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
  22534. (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
  22535. (WebCore::GraphicsContext3D::createBuffer):
  22536. (WebCore::GraphicsContext3D::createFramebuffer):
  22537. (WebCore::GraphicsContext3D::createProgram):
  22538. (WebCore::GraphicsContext3D::createRenderbuffer):
  22539. (WebCore::GraphicsContext3D::createShader):
  22540. (WebCore::GraphicsContext3D::createTexture):
  22541. (WebCore::GraphicsContext3D::deleteBuffer):
  22542. (WebCore::GraphicsContext3D::deleteFramebuffer):
  22543. (WebCore::GraphicsContext3D::deleteProgram):
  22544. (WebCore::GraphicsContext3D::deleteRenderbuffer):
  22545. (WebCore::GraphicsContext3D::deleteShader):
  22546. (WebCore::GraphicsContext3D::deleteTexture):
  22547. (WebCore::GraphicsContext3D::synthesizeGLError):
  22548. (WebCore::GraphicsContext3D::getExtensions):
  22549. (WebCore::GraphicsContext3D::getInternalFramebufferSize):
  22550. (WebCore::GraphicsContext3D::setContextLostCallback):
  22551. (WebCore::GraphicsContext3D::getImageData):
  22552. 2011-09-12 Hyowon Kim <hw1008.kim@samsung.com>
  22553. Reviewed by Eric Seidel.
  22554. [CMAKE] Remove platform/graphics/opengl/*OpenGL.cpp files in CMakeLists.txt
  22555. https://bugs.webkit.org/show_bug.cgi?id=62707
  22556. No change in fuctionality so no new tests.
  22557. Bug 62376 makes all ports use GraphicsContext3DOpenGL and
  22558. Extensions3DOpenGL when enabling WebGL.
  22559. However, some ports already have their own GC3D implementation.
  22560. In QT and chromium, for example, GC3D delegates to GC3DInternal.
  22561. So, it would be better to allow each port to decide whether or not
  22562. to include files in platform/graphics/opengl.
  22563. * CMakeLists.txt:
  22564. 2011-09-12 Dan Bernstein <mitz@apple.com>
  22565. <rdar://problem/10054615> Floats in ruby text intrude into the base
  22566. Reviewed by Darin Adler.
  22567. Test: fast/ruby/float-overhang-from-ruby-text.html
  22568. * rendering/RenderRubyText.cpp:
  22569. (WebCore::RenderRubyText::avoidsFloats): Added. Returns true. This ensures that
  22570. RenderBlock::clearFloats() will not consider ruby text as having intruding floats.
  22571. * rendering/RenderRubyText.h:
  22572. 2011-09-12 David Hyatt <hyatt@apple.com>
  22573. https://bugs.webkit.org/show_bug.cgi?id=67970
  22574. Add unprefixed border-image property.
  22575. Reviewed by Beth Dakin.
  22576. * css/CSSComputedStyleDeclaration.cpp:
  22577. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  22578. * css/CSSParser.cpp:
  22579. (WebCore::CSSParser::parseValue):
  22580. * css/CSSPropertyNames.in:
  22581. 2011-09-12 Ryosuke Niwa <rniwa@webkit.org>
  22582. REGRESSION: Moving up doesn't work in some cases
  22583. https://bugs.webkit.org/show_bug.cgi?id=67522
  22584. Reviewed by Eric Seidel.
  22585. The bug was caused by previousLinePosition's attempting to obtain the last root line box using
  22586. a position at minCaretOffset (which is, in practice, located at the beginning of wrapped lines).
  22587. Fix the bug by calling maxCaretOffset instead. Because isCandidate returns false at (br, 1),
  22588. use the positionBeforeNode for br elements.
  22589. Test: editing/selection/move-up-into-wrapped-line.html
  22590. * editing/visible_units.cpp:
  22591. (WebCore::previousLinePosition):
  22592. 2011-09-12 David Levin <levin@chromium.org>
  22593. Make the ThreadSafeRefCounted support in CrossThreadCopier work for T*.
  22594. https://bugs.webkit.org/show_bug.cgi?id=67947
  22595. Reviewed by Adam Barth.
  22596. The changes are tested by compiling and added compile asserts to do some verification as well.
  22597. * platform/CrossThreadCopier.cpp:
  22598. Added some compile asserts to verify various match and non-matches for CrossThreadCopier.
  22599. * platform/CrossThreadCopier.h:
  22600. Added a typedef to convert T* to T, just like the typedef's to remove RefPtr and PassRefPtr.
  22601. Added a compile assert to verify that only one of the typedef did anything.
  22602. (CrossThreadCopierBase<false, true, T>::copy): Remove "get" as it is unnecessary.
  22603. It shouldn't have been here (PassRefPtr and RefPtr easily and sometimes more efficiently
  22604. convert to PassRefPtr without get). Also, a raw pointer doesn't have a get() method.
  22605. 2011-09-12 Chris Rogers <crogers@google.com>
  22606. Address lifetime issues in OfflineAudioDestinationNode
  22607. https://bugs.webkit.org/show_bug.cgi?id=67949
  22608. Reviewed by Kenneth Russell.
  22609. No new tests. This does not change JavaScript API.
  22610. * webaudio/OfflineAudioDestinationNode.cpp:
  22611. (WebCore::OfflineAudioDestinationNode::~OfflineAudioDestinationNode):
  22612. (WebCore::OfflineAudioDestinationNode::render):
  22613. (WebCore::OfflineAudioDestinationNode::notifyCompleteDispatch):
  22614. 2011-09-12 Jeff Timanus <twiz@chromium.org>
  22615. [chromium] Prevent a crash when tearing down an ImageBuffer that was not successfully initialized.
  22616. https://bugs.webkit.org/show_bug.cgi?id=67944
  22617. Reviewed by Stephen White.
  22618. * platform/graphics/skia/ImageBufferSkia.cpp:
  22619. (WebCore::ImageBuffer::~ImageBuffer):
  22620. 2011-09-12 Michael Saboff <msaboff@apple.com>
  22621. Update RegExp and related classes to use 8 bit strings when available
  22622. https://bugs.webkit.org/show_bug.cgi?id=67337
  22623. Updated call to match to use UString& instead of UChar*.
  22624. Reviewed by Gavin Barraclough.
  22625. No new tests, Covered by existing tests.
  22626. * platform/text/RegularExpression.cpp:
  22627. (WebCore::RegularExpression::match):
  22628. 2011-09-12 Beth Dakin <bdakin@apple.com>
  22629. https://bugs.webkit.org/show_bug.cgi?id=67898
  22630. REGRESSION(r94900): fast/images/support-broken-image-delegate.html fails on Mac
  22631. Reviewed by Simon Fraser.
  22632. New function willPaintBrokenImage() returns true when there has been an error
  22633. loading the image and the broken image icon will be used in its place. This is
  22634. necessary since it is possible to have an error loading an image and to NOT use
  22635. the broken image icon.
  22636. * loader/cache/CachedImage.cpp:
  22637. (WebCore::CachedImage::willPaintBrokenImage):
  22638. * loader/cache/CachedImage.h:
  22639. * rendering/RenderImage.cpp:
  22640. (WebCore::RenderImage::imageSizeForError):
  22641. 2011-09-12 James Robinson <jamesr@chromium.org>
  22642. [chromium] Move contents texture manager from LayerRendererChromium to CCLayerTreeHost
  22643. https://bugs.webkit.org/show_bug.cgi?id=67440
  22644. Reviewed by Kenneth Russell.
  22645. This moves the contents TextureManager over to the CCLayerTreeHost, where it belongs, and adds in a commit path
  22646. to make sure that textures are deleted even if the page is not visible. This move also removed the need for
  22647. LayerRendererChromium's CCLayerTreeHost pointer, so I removed that as well. That meant moving the
  22648. layerTreeAsText() logic over to the CCLayerImpl side, which is where it really belonged anyway.
  22649. Covered by existing compositing/ tests and
  22650. platform/chromium/compositor/lost-compositor-context-with-rendersurface.html
  22651. * platform/graphics/chromium/LayerRendererChromium.cpp:
  22652. (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
  22653. (WebCore::LayerRendererChromium::drawLayers):
  22654. (WebCore::LayerRendererChromium::initializeSharedObjects):
  22655. (WebCore::LayerRendererChromium::cleanupSharedObjects):
  22656. * platform/graphics/chromium/LayerRendererChromium.h:
  22657. (WebCore::LayerRendererChromium::setContentsTextureMemoryUseBytes):
  22658. * platform/graphics/chromium/TextureManager.cpp:
  22659. (WebCore::TextureManager::highLimitBytes):
  22660. (WebCore::TextureManager::reclaimLimitBytes):
  22661. (WebCore::TextureManager::lowLimitBytes):
  22662. * platform/graphics/chromium/TextureManager.h:
  22663. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  22664. (WebCore::CCLayerTreeHost::initialize):
  22665. (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
  22666. (WebCore::CCLayerTreeHost::deleteContentsTextures):
  22667. (WebCore::CCLayerTreeHost::commitTo):
  22668. (WebCore::CCLayerTreeHost::setVisible):
  22669. (WebCore::CCLayerTreeHost::contentsTextureManager):
  22670. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  22671. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
  22672. (WebCore::CCLayerTreeHostImpl::setVisible):
  22673. * platform/graphics/chromium/cc/CCProxy.h:
  22674. * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  22675. (WebCore::CCSingleThreadProxy::setNeedsCommit):
  22676. (WebCore::CCSingleThreadProxy::stop):
  22677. * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
  22678. * platform/graphics/chromium/cc/CCThreadProxy.cpp:
  22679. (WebCore::CCThreadProxy::setNeedsCommit):
  22680. (WebCore::CCThreadProxy::setNeedsCommitOnCCThread):
  22681. (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
  22682. * platform/graphics/chromium/cc/CCThreadProxy.h:
  22683. 2011-09-12 Chris Rogers <crogers@google.com>
  22684. DelayNode delay buffer is not correctly wrapping around
  22685. https://bugs.webkit.org/show_bug.cgi?id=67872
  22686. Reviewed by Kenneth Russell.
  22687. Test: webaudio/delaynode.html
  22688. * webaudio/DelayDSPKernel.cpp:
  22689. (WebCore::DelayDSPKernel::process):
  22690. 2011-09-12 Arko Saha <arko@motorola.com>
  22691. Selectstart is not fired when selection was created by arrow keys.
  22692. https://bugs.webkit.org/show_bug.cgi?id=60430
  22693. Reviewed by Ryosuke Niwa.
  22694. Fire selectstart when a user starts extending the selection using arrow key.
  22695. Fixed by Arko Saha <arko@motorola.com> and Kaustubh Atrawalkar <kaustubh@motorola.com>
  22696. Tests: fast/events/selectstart-by-arrow-keys-prevent-default.html
  22697. fast/events/selectstart-by-arrow-keys.html
  22698. * editing/FrameSelection.cpp:
  22699. (WebCore::FrameSelection::modify):
  22700. (WebCore::FrameSelection::shouldChangeSelection):
  22701. (WebCore::FrameSelection::dispatchSelectStart):
  22702. * editing/FrameSelection.h:
  22703. 2011-09-12 James Robinson <jamesr@chromium.org>
  22704. [chromium] REGRESSION(94353): Compositor textures and resources leaked when tab closed that is not last tab in the process
  22705. https://bugs.webkit.org/show_bug.cgi?id=67816
  22706. Reviewed by Kenneth Russell.
  22707. We lack infrastructure to construct an automated test for this today. To test manually, open up a composited
  22708. page (like the poster circle), duplicate the tab many times, close all the duplicates, and verify that the
  22709. memory use returns to the single tab level.
  22710. * platform/graphics/chromium/LayerChromium.h:
  22711. * platform/graphics/chromium/TiledLayerChromium.cpp:
  22712. (WebCore::TiledLayerChromium::setLayerTreeHost):
  22713. * platform/graphics/chromium/VideoLayerChromium.cpp:
  22714. (WebCore::VideoLayerChromium::setLayerTreeHost):
  22715. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  22716. (WebCore::CCLayerTreeHost::clearRenderSurfacesRecursive):
  22717. (WebCore::CCLayerTreeHost::setRootLayer):
  22718. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  22719. 2011-09-12 Kentaro Hara <haraken@google.com>
  22720. Implement a HashChangeEvent constructor for JSC
  22721. https://bugs.webkit.org/show_bug.cgi?id=67924
  22722. Reviewed by Sam Weinig.
  22723. The spec for the HashChangeEvent constructor is here:
  22724. http://www.whatwg.org/specs/web-apps/current-work/#hashchangeevent
  22725. Test: fast/events/constructors/hash-change-event-constructor.html
  22726. * bindings/generic/EventConstructors.h: Added a definition for the HashChangeEvent constructor.
  22727. * bindings/js/JSEventConstructors.cpp: Added #includes for HashChangeEvent.
  22728. * dom/HashChangeEvent.h: Added a definition for HashChangeEventInit.
  22729. (WebCore::HashChangeEventInit::HashChangeEventInit):
  22730. (WebCore::HashChangeEvent::create):
  22731. (WebCore::HashChangeEvent::HashChangeEvent):
  22732. * dom/HashChangeEvent.idl: Makes HashChangeEvent constructible.
  22733. 2011-09-12 Mike Reed <reed@google.com>
  22734. [skia] remove dead code, no functionality change
  22735. https://bugs.webkit.org/show_bug.cgi?id=67844
  22736. Reviewed by Kenneth Russell.
  22737. No new tests. just removing dead-code, existing tests apply
  22738. * platform/graphics/chromium/FontChromiumWin.cpp:
  22739. (WebCore::Font::drawGlyphs):
  22740. 2011-09-12 Pavel Feldman <pfeldman@google.com>
  22741. Web Inspector: Runtime.callFunctionOn does not accept arguments that evaluate to false.
  22742. https://bugs.webkit.org/show_bug.cgi?id=67934
  22743. Reviewed by Tony Gentilcore.
  22744. * inspector/InjectedScriptSource.js:
  22745. 2011-09-12 Pavel Feldman <pfeldman@google.com>
  22746. Web Inspector: event dividers do not update timeline boundaries.
  22747. https://bugs.webkit.org/show_bug.cgi?id=67932
  22748. * inspector/front-end/NetworkPanel.js:
  22749. (WebInspector.NetworkLogView.prototype._onLoadEventFired):
  22750. (WebInspector.NetworkLogView.prototype._domContentLoadedEventFired):
  22751. (WebInspector.NetworkLogView.prototype.refresh):
  22752. (WebInspector.NetworkTimeCalculator.prototype.updateBoundariesForEventTime):
  22753. 2011-09-12 Kentaro Hara <haraken@google.com>
  22754. Implement a WebKitAnimationEvent constructor for V8
  22755. https://bugs.webkit.org/show_bug.cgi?id=67922
  22756. Reviewed by Adam Barth.
  22757. Test: fast/events/constructors/webkit-animation-event-constructor.html
  22758. * bindings/v8/custom/V8EventConstructors.cpp: Added the WebKitAnimationEvent constructor.
  22759. * dom/WebKitAnimationEvent.idl: Added a 'V8CustomConstructor' attribute.
  22760. 2011-09-12 Andreas Kling <kling@webkit.org>
  22761. Shrink CanvasGradient for builds without ENABLE(DASHBOARD_SUPPORT).
  22762. https://bugs.webkit.org/show_bug.cgi?id=67916
  22763. Reviewed by Kenneth Rohde Christiansen.
  22764. * html/canvas/CanvasGradient.cpp:
  22765. (WebCore::CanvasGradient::CanvasGradient):
  22766. (WebCore::CanvasGradient::addColorStop):
  22767. * html/canvas/CanvasGradient.h:
  22768. 2011-09-12 Shinya Kawanaka <shinyak@google.com>
  22769. Characters beyond U+10000 should be deleted by one pressing delete key.
  22770. https://bugs.webkit.org/show_bug.cgi?id=40351
  22771. Reviewed by Kent Tamura.
  22772. If a character is the trail part of unicode surrogate pair, the lead part of it
  22773. should also be deleted. Also, If in MacOSX, the deletion should honor Mac's behavior.
  22774. Test: editing/deleting/delete-surrogatepair.html
  22775. * rendering/RenderText.cpp:
  22776. (WebCore::RenderText::previousOffsetForBackwardDeletion):
  22777. Added if-macro to support chromium on mac, and added trail part check for unicode character.
  22778. 2011-09-11 Kentaro Hara <haraken@google.com>
  22779. Implement a ProgressEvent constructor for V8
  22780. https://bugs.webkit.org/show_bug.cgi?id=67800
  22781. Reviewed by Sam Weinig.
  22782. Test: fast/events/constructors/progress-event-constructor.html
  22783. * bindings/js/JSDictionary.cpp:
  22784. (WebCore::JSDictionary::convertValue): Replaced UnsignedLongLongMax with std::numeric_limits<unsigned long long>::max().
  22785. * bindings/v8/OptionsObject.cpp:
  22786. (WebCore::OptionsObject::getKeyValue): Returns an unsigned long long value corresponding to a given key. Spec: http://www.w3.org/TR/WebIDL/#es-unsigned-long-long
  22787. * bindings/v8/OptionsObject.h:
  22788. * bindings/v8/custom/V8EventConstructors.cpp: Added the ProgressEvent constructor.
  22789. * dom/ProgressEvent.idl: Added a 'V8CustomConstructor' attribute.
  22790. 2011-09-11 Dimitri Glazkov <dglazkov@chromium.org>
  22791. REGRESSION (r87351): toggling display of lots (thousands) of elements with display:none is very slow
  22792. https://bugs.webkit.org/show_bug.cgi?id=67581
  22793. Reviewed by Darin Adler.
  22794. Test: perf/show-hide-table-rows.html
  22795. * dom/NodeRenderingContext.cpp:
  22796. (WebCore::NodeRendererFactory::createRendererAndStyle): Moved style-creating code into createRendererIfNeeded, renamed
  22797. to createRenderer.
  22798. (WebCore::NodeRendererFactory::createRendererIfNeeded): Re-arrange code to avoid unnecessary creation of renderers.
  22799. 2011-09-11 Jeremy Moskovich <jeremy@chromium.org>
  22800. [Chromium] Change OOP Font loading code to use CGFont*() APIs.
  22801. https://bugs.webkit.org/show_bug.cgi?id=66935
  22802. This change is necessary due a bug in ATSFontDeactivate() on 10.7.
  22803. See crbug.com/93191 for details.
  22804. Reviewed by Eric Seidel.
  22805. No new tests - covered by existing tests.
  22806. * platform/chromium/PlatformBridge.h:
  22807. * platform/graphics/chromium/CrossProcessFontLoading.h:
  22808. * platform/graphics/chromium/CrossProcessFontLoading.mm:
  22809. (WebCore::MemoryActivatedFont::create):
  22810. (WebCore::MemoryActivatedFont::MemoryActivatedFont):
  22811. (WebCore::MemoryActivatedFont::~MemoryActivatedFont):
  22812. 2011-09-09 Oliver Hunt <oliver@apple.com>
  22813. Remove support for anonymous storage from jsobjects
  22814. https://bugs.webkit.org/show_bug.cgi?id=67881
  22815. Reviewed by Sam Weinig.
  22816. Remove all use of anonymous slots, this required modifying
  22817. bindings generation to add member variables for cached attributes,
  22818. and override visitChildren with the necessary logic to mark those
  22819. new members.
  22820. I added bindings generation tests for these values.
  22821. * bindings/js/JSAudioConstructor.h:
  22822. (WebCore::JSAudioConstructor::createStructure):
  22823. * bindings/js/JSDOMBinding.h:
  22824. (WebCore::DOMConstructorObject::createStructure):
  22825. * bindings/js/JSDOMGlobalObject.h:
  22826. (WebCore::JSDOMGlobalObject::createStructure):
  22827. * bindings/js/JSDOMWindowBase.h:
  22828. (WebCore::JSDOMWindowBase::createStructure):
  22829. * bindings/js/JSDOMWindowShell.h:
  22830. (WebCore::JSDOMWindowShell::createStructure):
  22831. * bindings/js/JSDOMWrapper.h:
  22832. (WebCore::JSDOMWrapper::createStructure):
  22833. * bindings/js/JSImageConstructor.h:
  22834. (WebCore::JSImageConstructor::createStructure):
  22835. * bindings/js/JSMessageEventCustom.cpp:
  22836. (WebCore::JSMessageEvent::data):
  22837. (WebCore::JSMessageEvent::initMessageEvent):
  22838. * bindings/js/JSOptionConstructor.h:
  22839. (WebCore::JSOptionConstructor::createStructure):
  22840. * bindings/js/JSWorkerContextBase.h:
  22841. (WebCore::JSWorkerContextBase::createStructure):
  22842. * bindings/scripts/CodeGeneratorJS.pm:
  22843. (GenerateHeader):
  22844. (GenerateImplementation):
  22845. (GenerateConstructorDeclaration):
  22846. * bindings/scripts/test/JS/JSTestInterface.cpp:
  22847. (WebCore::JSTestInterfaceConstructor::createStructure):
  22848. * bindings/scripts/test/JS/JSTestInterface.h:
  22849. (WebCore::JSTestInterface::createStructure):
  22850. (WebCore::JSTestInterfacePrototype::createStructure):
  22851. * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  22852. (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
  22853. * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
  22854. (WebCore::JSTestMediaQueryListListener::createStructure):
  22855. (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
  22856. * bindings/scripts/test/JS/JSTestObj.cpp:
  22857. (WebCore::JSTestObjConstructor::createStructure):
  22858. (WebCore::jsTestObjCachedAttribute1):
  22859. (WebCore::jsTestObjCachedAttribute2):
  22860. (WebCore::JSTestObj::visitChildren):
  22861. * bindings/scripts/test/JS/JSTestObj.h:
  22862. (WebCore::JSTestObj::createStructure):
  22863. (WebCore::JSTestObjPrototype::createStructure):
  22864. * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  22865. (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
  22866. * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
  22867. (WebCore::JSTestSerializedScriptValueInterface::createStructure):
  22868. (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
  22869. * bindings/scripts/test/TestObj.idl:
  22870. * bindings/scripts/test/V8/V8TestObj.cpp:
  22871. (WebCore::TestObjInternal::cachedAttribute1AttrGetter):
  22872. (WebCore::TestObjInternal::cachedAttribute2AttrGetter):
  22873. * bridge/c/CRuntimeObject.h:
  22874. (JSC::Bindings::CRuntimeObject::createStructure):
  22875. * bridge/c/c_instance.cpp:
  22876. (JSC::Bindings::CRuntimeMethod::createStructure):
  22877. * bridge/jni/jsc/JavaInstanceJSC.cpp:
  22878. (JavaRuntimeMethod::createStructure):
  22879. * bridge/jni/jsc/JavaRuntimeObject.h:
  22880. (JSC::Bindings::JavaRuntimeObject::createStructure):
  22881. * bridge/objc/ObjCRuntimeObject.h:
  22882. (JSC::Bindings::ObjCRuntimeObject::createStructure):
  22883. * bridge/objc/objc_instance.mm:
  22884. (ObjCRuntimeMethod::createStructure):
  22885. * bridge/objc/objc_runtime.h:
  22886. (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
  22887. * bridge/runtime_array.h:
  22888. (JSC::RuntimeArray::createStructure):
  22889. * bridge/runtime_method.h:
  22890. (JSC::RuntimeMethod::createStructure):
  22891. * bridge/runtime_object.h:
  22892. (JSC::Bindings::RuntimeObject::createStructure):
  22893. 2011-09-01 Filip Pizlo <fpizlo@apple.com>
  22894. The executable allocator makes it difficult to free individual
  22895. chunks of executable memory
  22896. https://bugs.webkit.org/show_bug.cgi?id=66363
  22897. Reviewed by Oliver Hunt.
  22898. Introduced a best-fit, balanced-tree based allocator. The allocator
  22899. required a balanced tree that does not allocate memory and that
  22900. permits the removal of individual nodes directly (as opposed to by
  22901. key); neither AVLTree nor WebCore's PODRedBlackTree supported this.
  22902. Changed all references to executable code to use a reference counted
  22903. handle.
  22904. No new layout tests because behavior is not changed. New API unit
  22905. tests:
  22906. Tests/WTF/RedBlackTree.cpp
  22907. Tests/WTF/MetaAllocator.cpp
  22908. * ForwardingHeaders/wtf/MetaAllocatorHandle.h: Added.
  22909. 2011-09-10 Sam Weinig <sam@webkit.org>
  22910. Add isInterruptedExecutionException and isTerminatedExecutionException predicates
  22911. https://bugs.webkit.org/show_bug.cgi?id=67892
  22912. Reviewed by Andy "First Time Reviewer" Estes.
  22913. * bindings/js/JSDOMBinding.cpp:
  22914. (WebCore::reportException):
  22915. * bindings/js/JSEventListener.cpp:
  22916. (WebCore::JSEventListener::handleEvent):
  22917. * bindings/js/WorkerScriptController.cpp:
  22918. (WebCore::WorkerScriptController::evaluate):
  22919. Use the new predicates instead of probing the ClassInfo directly.
  22920. 2011-09-10 Kevin Ollivier <kevino@theolliviers.com>
  22921. [wx] Unreviewed build fix. MSW build fixes.
  22922. * config.h:
  22923. 2011-09-09 David Hyatt <hyatt@apple.com>
  22924. https://bugs.webkit.org/show_bug.cgi?id=67861
  22925. Implement border-image-outset (and the mask equivalents).
  22926. Reviewed by Beth Dakin.
  22927. Added new tests in fast/borders and fast/reflections.
  22928. * css/CSSBorderImageValue.cpp:
  22929. (WebCore::CSSBorderImageValue::CSSBorderImageValue):
  22930. (WebCore::CSSBorderImageValue::cssText):
  22931. * css/CSSBorderImageValue.h:
  22932. (WebCore::CSSBorderImageValue::create):
  22933. Add m_outset field to CSSBorderImageValue and teach it how to dump the field as
  22934. part of cssText().
  22935. * css/CSSComputedStyleDeclaration.cpp:
  22936. (WebCore::valueForNinePieceImageQuad):
  22937. (WebCore::valueForNinePieceImage):
  22938. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  22939. Add support for border-image-outset and -webkit-mask-box-image-outset. Refactor
  22940. the code so that border-image-width and border-image-outset use a common
  22941. function.
  22942. * css/CSSParser.cpp:
  22943. (WebCore::CSSParser::parseValue):
  22944. (WebCore::BorderImageParseContext::BorderImageParseContext):
  22945. (WebCore::BorderImageParseContext::allowOutset):
  22946. (WebCore::BorderImageParseContext::commitSlash):
  22947. (WebCore::BorderImageParseContext::commitBorderWidth):
  22948. (WebCore::BorderImageParseContext::commitBorderOutset):
  22949. (WebCore::BorderImageParseContext::commitRepeat):
  22950. (WebCore::BorderImageParseContext::commitBorderImage):
  22951. (WebCore::CSSParser::parseBorderImage):
  22952. Teach the border image parsing code about outsets. This code will soon be
  22953. replaced by true shorthand parsing code, but for now keep it working and add
  22954. outset support to it.
  22955. (WebCore::BorderImageQuadParseContext::BorderImageQuadParseContext):
  22956. (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
  22957. (WebCore::CSSParser::parseBorderImageQuad):
  22958. (WebCore::CSSParser::parseBorderImageWidth):
  22959. (WebCore::CSSParser::parseBorderImageOutset):
  22960. * css/CSSParser.h:
  22961. Refactor the border-image-width code so that it can be shared by border-image-outset, since
  22962. they are extremely similar.
  22963. * css/CSSPropertyNames.in:
  22964. Add the new properties.
  22965. * css/CSSStyleSelector.cpp:
  22966. (WebCore::CSSStyleSelector::applyProperty):
  22967. (WebCore::CSSStyleSelector::mapNinePieceImage):
  22968. (WebCore::CSSStyleSelector::mapNinePieceImageQuad):
  22969. (WebCore::CSSStyleSelector::loadPendingImages):
  22970. * css/CSSStyleSelector.h:
  22971. Refactor the code so that width/outset share common mapping functions. Add support for outset.
  22972. * rendering/InlineFlowBox.cpp:
  22973. (WebCore::InlineFlowBox::addToLine):
  22974. (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
  22975. (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
  22976. (WebCore::InlineFlowBox::computeOverflow):
  22977. Add new functions for computing the visual overflow caused by border outsets. Fix bugs in
  22978. the shadow overflow code as well.
  22979. (WebCore::clipRectForNinePieceImageStrip):
  22980. (WebCore::InlineFlowBox::paintBoxDecorations):
  22981. (WebCore::InlineFlowBox::paintMask):
  22982. * rendering/InlineFlowBox.h:
  22983. Make sure the clip rect pushed when painting one piece of a split inline strip is expanded to
  22984. include the border and mask outsets. Always include the block direction expansion, and conditionally
  22985. include the inline direction expansion based off includeLogicalLeftEdge()/includeLogicalRightEdge().
  22986. clipRectForNinePieceImageStrip is a common function shared by masks and border images that does this
  22987. work.
  22988. * rendering/RenderBlock.cpp:
  22989. (WebCore::RenderBlock::computeOverflow):
  22990. * rendering/RenderBox.cpp:
  22991. (WebCore::RenderBox::maskClipRect):
  22992. (WebCore::RenderBox::addBoxShadowAndBorderOverflow):
  22993. * rendering/RenderBox.h:
  22994. Rename addShadowOverflow to addBoxShadowAndBorderOverflow. Have it compute both shadow and border image
  22995. outset overflow. Fix bugs with shadow overflow computation.
  22996. * rendering/RenderBoxModelObject.cpp:
  22997. (WebCore::RenderBoxModelObject::paintNinePieceImage):
  22998. Change painting to apply the outsets to inflate the border image drawing area.
  22999. * rendering/RenderEmbeddedObject.cpp:
  23000. (WebCore::RenderEmbeddedObject::layout):
  23001. * rendering/RenderIFrame.cpp:
  23002. (WebCore::RenderIFrame::layout):
  23003. Patched to call the renamed addBoxShadowAndBorderOverflow function instead of addShadowOverflow.
  23004. * rendering/RenderLayer.cpp:
  23005. (WebCore::RenderLayer::calculateRects):
  23006. Patched to no longer apply box-shadow to overflow clip areas when inflating the intersection area for the
  23007. layer bounds. Instead we generically apply all visual overflow so that border image outsets will also be
  23008. included. This fixes https://bugs.webkit.org/show_bug.cgi?id=37467.
  23009. * rendering/RenderReplaced.cpp:
  23010. (WebCore::RenderReplaced::layout):
  23011. Patched to call the renamed addBoxShadowAndBorderOverflow function instead of addShadowOverflow.
  23012. * rendering/style/NinePieceImage.cpp:
  23013. (WebCore::NinePieceImage::operator==):
  23014. * rendering/style/NinePieceImage.h:
  23015. (WebCore::NinePieceImage::NinePieceImage):
  23016. (WebCore::NinePieceImage::outset):
  23017. (WebCore::NinePieceImage::setOutset):
  23018. (WebCore::NinePieceImage::computeOutset):
  23019. (WebCore::NinePieceImage::copyOutsetFrom):
  23020. Add the outset field to NinePieceImage along with some helpers for manipulating outsets.
  23021. * rendering/style/RenderStyle.cpp:
  23022. (WebCore::RenderStyle::getImageOutsets):
  23023. (WebCore::RenderStyle::getImageHorizontalOutsets):
  23024. (WebCore::RenderStyle::getImageVerticalOutsets):
  23025. * rendering/style/RenderStyle.h:
  23026. (WebCore::InheritedFlags::hasBorderImageOutsets):
  23027. (WebCore::InheritedFlags::getBorderImageOutsets):
  23028. (WebCore::InheritedFlags::getBorderImageHorizontalOutsets):
  23029. (WebCore::InheritedFlags::getBorderImageVerticalOutsets):
  23030. (WebCore::InheritedFlags::getBorderImageInlineDirectionOutsets):
  23031. (WebCore::InheritedFlags::getBorderImageBlockDirectionOutsets):
  23032. (WebCore::InheritedFlags::getImageInlineDirectionOutsets):
  23033. (WebCore::InheritedFlags::getImageBlockDirectionOutsets):
  23034. Helpers for outset computation used by painting and overflow functions.
  23035. 2011-09-10 Dan Bernstein <mitz@apple.com>
  23036. Actually prevent unnecessary casts to MediaControls*.
  23037. Reviewed by Oliver Hunt.
  23038. * html/shadow/MediaControls.h:
  23039. 2011-09-10 Ryosuke Niwa <rniwa@webkit.org>
  23040. Remove printf added by r94900.
  23041. * rendering/RenderLayer.cpp:
  23042. (WebCore::RenderLayer::drawPlatformResizerImage):
  23043. 2011-09-09 Chris Marrin <cmarrin@apple.com>
  23044. requestAnimationFrame doesn't throttle on Mac
  23045. https://bugs.webkit.org/show_bug.cgi?id=67171
  23046. Reviewed by Simon Fraser.
  23047. Changed requestAnimationFrame to use a Timer in ScriptedAnimationController
  23048. on Mac, rather than runLoopObservers. The Timer is throttled to fire no
  23049. faster than every 15ms. It is behind a WTF_USE_REQUEST_ANIMATION_FRAME_TIMER
  23050. flag and can be used by any implementation, but currently it is only enabled
  23051. by PLATFORM(MAC).
  23052. * dom/ScriptedAnimationController.cpp:
  23053. (WebCore::ScriptedAnimationController::ScriptedAnimationController):
  23054. (WebCore::ScriptedAnimationController::resume):
  23055. (WebCore::ScriptedAnimationController::registerCallback):
  23056. (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
  23057. (WebCore::ScriptedAnimationController::scheduleAnimation):
  23058. (WebCore::ScriptedAnimationController::animationTimerFired):
  23059. * dom/ScriptedAnimationController.h:
  23060. * loader/EmptyClients.h:
  23061. * page/Chrome.cpp:
  23062. (WebCore::Chrome::scheduleAnimation):
  23063. * page/ChromeClient.h:
  23064. 2011-09-10 Jarred Nicholls <jarred@sencha.com>
  23065. [Qt] QWebSettings::setUserStyleSheetUrl() does not work with windows paths that contain drive letters
  23066. https://bugs.webkit.org/show_bug.cgi?id=34884
  23067. KURL::path() alone does not handle removing the leading slash from a windows file path.
  23068. Using QUrl::toLocalFile() will turn file:///C:/path into C:/path appropriately.
  23069. Reviewed by Andreas Kling.
  23070. * platform/qt/KURLQt.cpp:
  23071. (WebCore::KURL::fileSystemPath):
  23072. 2011-09-10 Ken Buchanan <kenrb@chromium.org>
  23073. Crash due to bad data in SVGDocumentExtensions m_pendingResources
  23074. https://bugs.webkit.org/show_bug.cgi?id=67488
  23075. Reviewed by Nikolas Zimmermann.
  23076. Resolving a crash condition caused by the deletion of
  23077. elements while pending resource entries for those elements are still
  23078. recorded.
  23079. * rendering/svg/RenderSVGResourceContainer.cpp:
  23080. (WebCore::RenderSVGResourceContainer::registerResource)
  23081. * svg/SVGDocumentExtensions.h:
  23082. (WebCore::SVGDocumentExtensions::isElementInPendingResources)
  23083. * svg/SVGDocumentExtensions.cpp:
  23084. (WebCore::SVGDocumentExtensions::addPendingResource)
  23085. (WebCore::SVGDocumentExtensions::isElementInPendingResources)
  23086. (WebCore::SVGDocumentExtensions::removeElementFromPendingResources)
  23087. * svg/SVGStyledElement.h:
  23088. (WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible)
  23089. * svg/SVGStyledElement.cpp:
  23090. (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded)
  23091. (WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible)
  23092. * svg/SVGUseElement.cpp:
  23093. (WebCore::SVGUseElement::svgAttributeChanged)
  23094. 2011-09-10 Adam Barth <abarth@webkit.org>
  23095. Remove DocumentWriter::deprecatedFrameEncoding()
  23096. https://bugs.webkit.org/show_bug.cgi?id=67882
  23097. Reviewed by Eric Seidel.
  23098. Three years ago, in http://trac.webkit.org/changeset/39026, Alexey
  23099. Proskuryakov added ContentDispositionEncodingFallbackArray to work
  23100. around a web site compatibility issue with a non-ASCII file name
  23101. becoming garbled when received in the Content-Disposition header.
  23102. Since that time, there has been copious discussion of this topic among
  23103. browser vendors, in the IETF, and in the broader web community. For
  23104. example, here is a Stack Overflow thread about this topic:
  23105. http://stackoverflow.com/questions/93551/how-to-encode-the-filename-parameter-of-content-disposition-header-in-http
  23106. Eric Lawrence has written a blog post that summarizes IE's perspective
  23107. on this issue:
  23108. http://blogs.msdn.com/b/ieinternals/archive/2010/06/07/content-disposition-attachment-and-international-unicode-characters.aspx
  23109. The current consensus is that browsers should implement RFC 6266,
  23110. which is a new RFC that updates the definition of the
  23111. Content-Disposition header. Chrome and Firefox have both implemented
  23112. RFC 6266 and have encountered only one issue, which was then fixed by
  23113. the web site operator. IE has also implemented RFC 6266, but I don't
  23114. have detailed information about their compatibility experience.
  23115. This patch add explicit PLATFORM #ifdefs around the quirky
  23116. implementation previously used in Apple's Mac and Windows ports. This
  23117. code is already only used on Apple's ports, so this patch introduces no
  23118. functional changes. It does, however, discourage other ports from
  23119. adopting this quirk. IMHO, Apple should remove this quirk as soon as
  23120. compatibility allows and converge behavior with the other major browser
  23121. vendors.
  23122. See bug for manual test (the bug manifests in Safari download UI).
  23123. * loader/DocumentWriter.cpp:
  23124. * loader/DocumentWriter.h:
  23125. * loader/FrameLoader.cpp:
  23126. (WebCore::FrameLoader::addExtraFieldsToRequest):
  23127. * platform/network/ResourceRequestBase.cpp:
  23128. (WebCore::ResourceRequestBase::adopt):
  23129. (WebCore::ResourceRequestBase::copyData):
  23130. * platform/network/ResourceRequestBase.h:
  23131. 2011-09-09 Beth Dakin <bdakin@apple.com>
  23132. Attempted Leopard build fix.
  23133. * rendering/RenderImage.cpp:
  23134. (WebCore::RenderImage::paintReplaced):
  23135. * rendering/RenderLayer.cpp:
  23136. (WebCore::RenderLayer::drawPlatformResizerImage):
  23137. 2011-09-09 Beth Dakin <bdakin@apple.com>
  23138. Fix for https://bugs.webkit.org/show_bug.cgi?id=67819
  23139. Use high resolution platform images when the deviceScaleFactor > 1
  23140. -and corresponding-
  23141. <rdar://problem/10003098>
  23142. Reviewed by Darin Adler.
  23143. Add all of the new high resolution images. I also removed some tiffs from the
  23144. project and replaced them with png equivalents (that are already checked into
  23145. WebCore anyway). Since the high resolution images are pngs, it makes sense to use
  23146. pngs for all of the images that load through Image::loadPlatformResource()
  23147. * WebCore.xcodeproj/project.pbxproj:
  23148. * platform/graphics/mac/ImageMac.mm:
  23149. (WebCore::Image::loadPlatformResource):
  23150. Load the @2x resource for deviceScaleFactors >= 2.
  23151. * editing/DeleteButtonController.cpp:
  23152. (WebCore::DeleteButtonController::createDeletionUI):
  23153. CachedImage::brokenImage() is no longer a static helper function, but a real
  23154. member function. It also now loads the @2x resource for deviceScaleFactors >= 2
  23155. and takes a parameter for the deviceScaleFactor. When CachedImage::image() returns
  23156. the brokenImage(), it just returns the 1x version. brokenImage() has to be called
  23157. directly to reliably return the deviceScaleFactor-appropriate resource.
  23158. * loader/cache/CachedImage.cpp:
  23159. (WebCore::CachedImage::brokenImage):
  23160. (WebCore::CachedImage::image):
  23161. * loader/cache/CachedImage.h:
  23162. * rendering/RenderLayer.cpp:
  23163. (WebCore::RenderLayer::drawPlatformResizerImage):
  23164. (WebCore::RenderLayer::paintResizer):
  23165. * rendering/RenderLayer.h:
  23166. New static function to retrieve the deviceScaleFactor for callers that do not have
  23167. direct access to a Page.
  23168. * page/Page.cpp:
  23169. (WebCore::Page::deviceScaleFactor):
  23170. * page/Page.h:
  23171. Call CachedImage::brokenImage() for the broken-image image at an accurate
  23172. resolution.
  23173. * rendering/RenderImage.cpp:
  23174. (WebCore::RenderImage::imageSizeForError):
  23175. (WebCore::RenderImage::paintReplaced):
  23176. 2011-09-09 Erik Arvidsson <arv@chromium.org>
  23177. Move Element.contains to Node
  23178. https://bugs.webkit.org/show_bug.cgi?id=67651
  23179. Reviewed by Darin Adler.
  23180. This moves the contains method from Element to Node as in the DOM4 working draft:
  23181. http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-contains
  23182. This also special cases Document contains to make it O(1) instead of O(depth).
  23183. Tests: fast/dom/Node/contains-method.html
  23184. perf/document-contains.html
  23185. * bindings/objc/PublicDOMInterfaces.h: Move contains from DOMElement to DOMNode.
  23186. * dom/Element.idl:
  23187. * dom/Node.cpp:
  23188. (WebCore::Node::contains): Added document special case.
  23189. * dom/Node.idl:
  23190. * editing/DeleteSelectionCommand.cpp:
  23191. (WebCore::DeleteSelectionCommand::mergeParagraphs): Added a null check.
  23192. 2011-09-09 Tim Horton <timothy_horton@apple.com>
  23193. Text rendered with a simple (i.e. 0px blur) shadow inside a transparency layer has a double shadow
  23194. https://bugs.webkit.org/show_bug.cgi?id=67543
  23195. <rdar://problem/10070536>
  23196. Reviewed by Darin Adler.
  23197. Generalize (begin|end)TransparencyLayer, which now forward
  23198. through to (begin|end)PlatformTransparencyLayer, so that
  23199. isInTransparencyLayer can exist on every platform.
  23200. Make use of isInTransparencyLayer in FontMac to disable
  23201. "simple" shadow drawing when the text is being rendered
  23202. into a transparency layer.
  23203. Test: svg/custom/simple-text-double-shadow.svg
  23204. * platform/graphics/GraphicsContext.cpp:
  23205. (WebCore::GraphicsContext::GraphicsContext):
  23206. (WebCore::GraphicsContext::~GraphicsContext):
  23207. (WebCore::GraphicsContext::beginTransparencyLayer):
  23208. (WebCore::GraphicsContext::endTransparencyLayer):
  23209. (WebCore::GraphicsContext::isInTransparencyLayer):
  23210. * platform/graphics/GraphicsContext.h:
  23211. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  23212. (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
  23213. (WebCore::GraphicsContext::endPlatformTransparencyLayer):
  23214. (WebCore::GraphicsContext::supportsTransparencyLayers):
  23215. * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
  23216. * platform/graphics/cg/GraphicsContextCG.cpp:
  23217. (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
  23218. (WebCore::GraphicsContext::endPlatformTransparencyLayer):
  23219. (WebCore::GraphicsContext::supportsTransparencyLayers):
  23220. * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
  23221. (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
  23222. * platform/graphics/haiku/GraphicsContextHaiku.cpp:
  23223. (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
  23224. (WebCore::GraphicsContext::endPlatformTransparencyLayer):
  23225. (WebCore::GraphicsContext::supportsTransparencyLayers):
  23226. * platform/graphics/mac/FontMac.mm:
  23227. (WebCore::Font::drawGlyphs):
  23228. * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
  23229. (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
  23230. (WebCore::GraphicsContext::endPlatformTransparencyLayer):
  23231. (WebCore::GraphicsContext::supportsTransparencyLayers):
  23232. * platform/graphics/qt/GraphicsContextQt.cpp:
  23233. (WebCore::GraphicsContext::isInTransparencyLayer):
  23234. (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
  23235. (WebCore::GraphicsContext::endPlatformTransparencyLayer):
  23236. (WebCore::GraphicsContext::supportsTransparencyLayers):
  23237. * platform/graphics/skia/GraphicsContextSkia.cpp:
  23238. (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
  23239. (WebCore::GraphicsContext::endPlatformTransparencyLayer):
  23240. (WebCore::GraphicsContext::supportsTransparencyLayers):
  23241. * platform/graphics/win/FontCGWin.cpp:
  23242. (WebCore::drawGDIGlyphs):
  23243. * platform/graphics/win/GraphicsContextCGWin.cpp:
  23244. (WebCore::GraphicsContext::releaseWindowsContext):
  23245. * platform/graphics/win/GraphicsContextCairoWin.cpp:
  23246. (WebCore::GraphicsContext::releaseWindowsContext):
  23247. * platform/graphics/win/GraphicsContextWin.cpp:
  23248. (WebCore::GraphicsContext::getWindowsContext):
  23249. * platform/graphics/wince/GraphicsContextWinCE.cpp:
  23250. (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
  23251. (WebCore::GraphicsContext::endPlatformTransparencyLayer):
  23252. (WebCore::GraphicsContext::supportsTransparencyLayers):
  23253. * platform/graphics/wx/GraphicsContextWx.cpp:
  23254. (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
  23255. (WebCore::GraphicsContext::endPlatformTransparencyLayer):
  23256. (WebCore::GraphicsContext::supportsTransparencyLayers):
  23257. * platform/win/ScrollbarThemeWin.cpp:
  23258. * plugins/win/PluginViewWin.cpp:
  23259. * rendering/RenderThemeWin.cpp:
  23260. 2011-09-09 Julien Chaffraix <jchaffraix@webkit.org>
  23261. [V8] V8WebKitPoint::constructorCallback leaks
  23262. https://bugs.webkit.org/show_bug.cgi?id=67865
  23263. Reviewed by Adam Barth.
  23264. Covered by fast/js/instanceof-XMLHttpRequest.html under Valgrind.
  23265. * bindings/v8/custom/V8WebKitPointConstructor.cpp:
  23266. (WebCore::V8WebKitPoint::constructorCallback): Changed the code
  23267. to use a RefPtr (per our usual style). Also use toV8 that will
  23268. take care of properly wrapping the object.
  23269. 2011-09-09 Chris Rogers <crogers@google.com>
  23270. HRTFDatabaseLoader should not call WTF::waitForThreadCompletion() more than once
  23271. https://bugs.webkit.org/show_bug.cgi?id=67866
  23272. Reviewed by David Levin.
  23273. No new tests since this is difficult to test.
  23274. This is designed to fix existing webaudio layout test failures.
  23275. * platform/audio/HRTFDatabaseLoader.cpp:
  23276. (WebCore::HRTFDatabaseLoader::HRTFDatabaseLoader):
  23277. (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
  23278. (WebCore::HRTFDatabaseLoader::loadAsynchronously):
  23279. (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):
  23280. * platform/audio/HRTFDatabaseLoader.h:
  23281. 2011-09-09 Jessie Berlin <jberlin@apple.com>
  23282. Cookies are not available after turning off Private Browsing after the last window has been
  23283. closed.
  23284. https://bugs.webkit.org/show_bug.cgi?id=67874
  23285. Reviewed by Darin Adler.
  23286. The private browsing storage session is a global setting that is being incorrectly set on a
  23287. per-page basis (see http://webkit.org/b/67870).
  23288. In this case, the global value was getting out of sync with the per-page setting:
  23289. 1. The global value was getting set to true when setPrivateBrowsingEnabled(true) was called.
  23290. 2. All Pages were then closed, destroying their Settings objects.
  23291. 3. When a new Page was created, a new Settings object was created and its
  23292. m_privateBrowsingEnabled value was getting set to false.
  23293. 4. The WebPage settings were then applied to the new Settings object, resulting in
  23294. setPrivateBrowsingEnabled(false) to be called.
  23295. 5. An if (m_privateBrowsingEnabled == privateBrowsingEnabled) early return prevented the
  23296. global value for the storage session from being destroyed.
  23297. * page/Settings.cpp:
  23298. (WebCore::Settings::setPrivateBrowsingEnabled):
  23299. Move the early return to be after setting the global private browsing values, and add a
  23300. clearer comment + FIXME.
  23301. 2011-09-09 Kentaro Hara <haraken@google.com>
  23302. Generate a WebKitCSSMatrix constructor of V8 using the IDL 'Constructor' extended attribute
  23303. https://bugs.webkit.org/show_bug.cgi?id=67458
  23304. Reviewed by Adam Barth.
  23305. Added a 'CallWithNullValue' extended attribute.
  23306. If a parameter is optional and missing, 'CallWithDefaultValue'
  23307. handles it as a string "undefined". On the other hand,
  23308. 'CallWithNullValue' handles it as a null string
  23309. (Note: not a string "null", but a null string).
  23310. Tests: fast/dom/Window/custom-constructors.html
  23311. transforms/svg-vs-css.xhtml
  23312. transforms/cssmatrix-2d-interface.xhtml
  23313. transforms/cssmatrix-3d-interface.xhtmlGenerate a WebKitCSSMatrix constructor
  23314. * WebCore.gypi: Removed V8WebKitCSSMatrixConstructor.cpp.
  23315. * WebCore.pro: Removed V8WebKitCSSMatrixConstructor.cpp.
  23316. * bindings/scripts/CodeGeneratorV8.pm:
  23317. (GenerateParametersCheck): If the 'CallWithNullValue' extended attribute is set, we call MAYBE_MISSING_PARAMETER() with MissingIsEmpty mode to obtain a maybe missing parameter. Otherwise, we call MAYBE_MISSING_PARAMETER() with MissingIsUndefined mode.
  23318. (RequiresCustomSignature):
  23319. * bindings/scripts/test/V8/V8TestInterface.cpp: Updated test results.
  23320. (WebCore::V8TestInterface::constructorCallback):
  23321. * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Ditto.
  23322. (WebCore::TestMediaQueryListListenerInternal::methodCallback):
  23323. * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
  23324. (WebCore::TestObjInternal::voidMethodWithArgsCallback):
  23325. (WebCore::TestObjInternal::intMethodWithArgsCallback):
  23326. (WebCore::TestObjInternal::objMethodWithArgsCallback):
  23327. (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
  23328. (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
  23329. (WebCore::TestObjInternal::optionsObjectCallback):
  23330. (WebCore::TestObjInternal::customArgsAndExceptionCallback):
  23331. (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
  23332. (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
  23333. (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
  23334. (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
  23335. (WebCore::TestObjInternal::methodWithOptionalArgCallback):
  23336. (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
  23337. (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
  23338. (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
  23339. (WebCore::TestObjInternal::overloadedMethod1Callback):
  23340. (WebCore::TestObjInternal::overloadedMethod2Callback):
  23341. (WebCore::TestObjInternal::overloadedMethod3Callback):
  23342. (WebCore::TestObjInternal::overloadedMethod4Callback):
  23343. (WebCore::TestObjInternal::classMethodWithOptionalCallback):
  23344. (WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback):
  23345. (WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback):
  23346. * bindings/v8/V8Binding.h:
  23347. (WebCore::V8ParameterBase::prepareBase): The fact that V8ParameterBase does not have any object means that we do not need to prepare anything, i.e. we should just return true in this case.
  23348. (WebCore::::prepare): If V8ParameterBase does not have any object, then we set a null string.
  23349. * bindings/v8/custom/V8BindingMacros.h: MAYBE_MISSING_PARAMETER() returns the parameter of a given index if the parameter exists. If the parameter does not exist and MissingIsUndefined is set, this macro returns an object that represents undefined. If the parameter does not exist and MissingIsEmpty is set, this macro returns an empty object.
  23350. * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: Removed.
  23351. * css/WebKitCSSMatrix.idl: Added the 'Constructor' extended attribute.
  23352. 2011-09-09 Geoffrey Garen <ggaren@apple.com>
  23353. Reviewed by Dan Bernstein.
  23354. Removed ENABLE(SINGLE_THREADED) support, since it is always false
  23355. https://bugs.webkit.org/show_bug.cgi?id=67862
  23356. Next step toward making the baseline platform assumption that threads exist.
  23357. * WebCore.pri:
  23358. * features.pri:
  23359. * platform/sql/SQLiteDatabase.cpp:
  23360. (WebCore::SQLiteDatabase::interrupt): Removed now-dead code.
  23361. 2011-09-09 Fady Samuel <fsamuel@chromium.org>
  23362. Move pageScaleFactor code from Frame.{h|cpp} to Page.{h|cpp}
  23363. https://bugs.webkit.org/show_bug.cgi?id=67250
  23364. Reviewed by Simon Fraser.
  23365. No new tests because there's no change in functionality.
  23366. * WebCore.exp.in:
  23367. * css/CSSStyleSelector.cpp:
  23368. (WebCore::CSSStyleSelector::styleForDocument):
  23369. * dom/Element.cpp:
  23370. (WebCore::Element::getClientRects):
  23371. (WebCore::Element::getBoundingClientRect):
  23372. * dom/Range.cpp:
  23373. (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale):
  23374. * loader/HistoryController.cpp:
  23375. (WebCore::HistoryController::restoreScrollPositionAndViewState):
  23376. * page/Frame.cpp:
  23377. (WebCore::Frame::Frame):
  23378. (WebCore::Frame::pageScaleFactor):
  23379. * page/Frame.h:
  23380. * page/Page.cpp:
  23381. (WebCore::Page::Page):
  23382. (WebCore::Page::setPageScaleFactor):
  23383. * page/Page.h:
  23384. (WebCore::Page::pageScaleFactor):
  23385. * rendering/RenderLayerCompositor.cpp:
  23386. (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
  23387. (WebCore::RenderLayerCompositor::pageScaleFactor):
  23388. * rendering/RenderView.cpp:
  23389. (WebCore::RenderView::paintBoxDecorations):
  23390. 2011-09-09 Dominic Mazzoni <dmazzoni@google.com>
  23391. AX: Images within anchors causes crash
  23392. https://bugs.webkit.org/show_bug.cgi?id=44149
  23393. Reviewed by Chris Fleizach.
  23394. Fixes the way parent RenderObject of an AccessibilityRenderObject
  23395. is computed in the presence of adjacent continuations.
  23396. Test: accessibility/div-within-anchors-causes-crash.html
  23397. * accessibility/AccessibilityRenderObject.cpp:
  23398. (WebCore::AccessibilityRenderObject::renderParentObject):
  23399. 2011-09-09 Kulanthaivel Palanichamy <kulanthaivel@codeaurora.org>
  23400. CSS rules not being applied when a hidden field is inserted between an input[type=checkbox] and a label
  23401. https://bugs.webkit.org/show_bug.cgi?id=66887
  23402. Reviewed by David Hyatt.
  23403. Test: fast/css/adjacent-sibling-selector.html
  23404. This patch addresses the problem of elements not getting their style recomputed
  23405. when they are affected by direct adjacent sibling rules and one of their sibling in
  23406. their corresponding rules is modified dynamically.
  23407. * css/CSSStyleSelector.cpp:
  23408. (WebCore::CSSStyleSelector::canShareStyleWithElement):
  23409. (WebCore::parentStylePreventsSharing):
  23410. * css/SelectorChecker.cpp:
  23411. (WebCore::SelectorChecker::checkSelector):
  23412. * dom/Element.cpp:
  23413. (WebCore::Element::recalcStyle):
  23414. (WebCore::checkForSiblingStyleChanges):
  23415. * rendering/style/RenderStyle.cpp:
  23416. (WebCore::RenderStyle::RenderStyle):
  23417. * rendering/style/RenderStyle.h:
  23418. (WebCore::InheritedFlags::affectedByDirectAdjacentRules):
  23419. (WebCore::InheritedFlags::setAffectedByDirectAdjacentRules):
  23420. 2011-09-09 Rafael Antognolli <antognolli@profusion.mobi>
  23421. Make the EFL port use the correct rendering file.
  23422. https://bugs.webkit.org/show_bug.cgi?id=66323
  23423. Reviewed by Martin Robinson.
  23424. When compiling with Pango support, the EFL port should use
  23425. FontPango.cpp instead of FontEfl.cpp (which is just full of stubs).
  23426. No new functionality so no new tests.
  23427. * CMakeListsEfl.txt:
  23428. 2011-09-09 Chris Rogers <crogers@google.com>
  23429. AudioBufferSourceNode must validate AudioBuffer in .buffer attribute setter
  23430. https://bugs.webkit.org/show_bug.cgi?id=67749
  23431. Reviewed by Kenneth Russell.
  23432. Test: webaudio/audiobuffersource-channels.html
  23433. * WebCore.gypi:
  23434. * bindings/js/JSAudioBufferSourceNodeCustom.cpp:
  23435. (WebCore::JSAudioBufferSourceNode::setBuffer):
  23436. * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp: Copied from Source/WebCore/bindings/js/JSAudioBufferSourceNodeCustom.cpp.
  23437. (WebCore::V8AudioBufferSourceNode::bufferAccessorSetter):
  23438. * webaudio/AudioBufferSourceNode.cpp:
  23439. (WebCore::AudioBufferSourceNode::setBuffer):
  23440. * webaudio/AudioBufferSourceNode.h:
  23441. * webaudio/AudioBufferSourceNode.idl:
  23442. 2011-09-09 Dan Bernstein <mitz@apple.com>
  23443. RenderBlock::addOverhangingFloats() takes superfluous parameters
  23444. https://bugs.webkit.org/show_bug.cgi?id=67863
  23445. Reviewed by Dave Hyatt.
  23446. No new tests, because behavior is unchanged.
  23447. * rendering/RenderBlock.cpp:
  23448. (WebCore::RenderBlock::layoutBlock):
  23449. (WebCore::RenderBlock::layoutBlockChild):
  23450. (WebCore::RenderBlock::addOverhangingFloats): Removed the logical{Left, Top}Offset parameters,
  23451. since they were always the inverse of the logical{Left, Top}() of the child parameter.
  23452. * rendering/RenderBlock.h:
  23453. 2011-09-09 Rafael Antognolli <antognolli@profusion.mobi>
  23454. Add replacement functions for gdk ones.
  23455. https://bugs.webkit.org/show_bug.cgi?id=66323
  23456. Reviewed by Martin Robinson.
  23457. This will allow the EFL port to don't depend on gdk anymore.
  23458. No new functionality so no new tests.
  23459. * CMakeListsEfl.txt:
  23460. * platform/graphics/cairo/CairoUtilities.cpp:
  23461. (WebCore::appendRegionToCairoContext):
  23462. * platform/graphics/cairo/CairoUtilities.h:
  23463. * platform/graphics/pango/FontPango.cpp:
  23464. (WebCore::drawGlyphsShadow):
  23465. (WebCore::Font::drawComplexText):
  23466. * platform/graphics/pango/PangoUtilities.cpp: Added.
  23467. (WebCore::getLineClipRegionFromLayoutIter):
  23468. (WebCore::getClipRegionFromPangoLayoutLine):
  23469. * platform/graphics/pango/PangoUtilities.h: Added.
  23470. 2011-09-09 Mark Hahnenberg <mhahnenberg@apple.com>
  23471. Unzip initialization lists and constructors in JSCell hierarchy (5/7)
  23472. https://bugs.webkit.org/show_bug.cgi?id=67420
  23473. Reviewed by Geoffrey Garen.
  23474. No new tests.
  23475. Completed the fifth level of the refactoring to add finishCreation()
  23476. methods to all classes within the JSCell hierarchy with non-trivial
  23477. constructor bodies.
  23478. This primarily consists of pushing the calls to finishCreation() down
  23479. into the constructors of the subclasses of the second level of the hierarchy
  23480. as well as pulling the finishCreation() calls out into the class's corresponding
  23481. create() method if it has one. Doing both simultaneously allows us to
  23482. maintain the invariant that the finishCreation() method chain is called exactly
  23483. once during the creation of an object, since calling it any other number of
  23484. times (0, 2, or more) will cause an assertion failure.
  23485. * WebCore.exp.in:
  23486. * bindings/js/JSDOMBinding.h:
  23487. (WebCore::DOMConstructorObject::DOMConstructorObject):
  23488. * bindings/js/JSDOMGlobalObject.cpp:
  23489. (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
  23490. (WebCore::JSDOMGlobalObject::finishCreation):
  23491. * bindings/js/JSDOMGlobalObject.h:
  23492. * bindings/js/JSDOMWindowShell.cpp:
  23493. * bindings/js/JSDOMWindowShell.h:
  23494. (WebCore::JSDOMWindowShell::create):
  23495. * bindings/js/JSDOMWrapper.h:
  23496. (WebCore::JSDOMWrapper::JSDOMWrapper):
  23497. * bindings/scripts/CodeGeneratorJS.pm:
  23498. (GenerateImplementation):
  23499. * bindings/scripts/test/JS/JSTestInterface.cpp:
  23500. (WebCore::JSTestInterface::JSTestInterface):
  23501. * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  23502. (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
  23503. * bindings/scripts/test/JS/JSTestObj.cpp:
  23504. (WebCore::JSTestObj::JSTestObj):
  23505. * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  23506. (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
  23507. * bridge/c/CRuntimeObject.cpp:
  23508. (JSC::Bindings::CRuntimeObject::CRuntimeObject):
  23509. (JSC::Bindings::CRuntimeObject::finishCreation):
  23510. * bridge/c/CRuntimeObject.h:
  23511. * bridge/jni/jsc/JavaRuntimeObject.cpp:
  23512. (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
  23513. (JSC::Bindings::JavaRuntimeObject::finishCreation):
  23514. * bridge/jni/jsc/JavaRuntimeObject.h:
  23515. * bridge/objc/ObjCRuntimeObject.h:
  23516. * bridge/objc/ObjCRuntimeObject.mm:
  23517. (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
  23518. (JSC::Bindings::ObjCRuntimeObject::finishCreation):
  23519. * bridge/objc/objc_runtime.h:
  23520. (JSC::Bindings::ObjcFallbackObjectImp::create):
  23521. * bridge/objc/objc_runtime.mm:
  23522. (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
  23523. * bridge/qt/qt_instance.cpp:
  23524. (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
  23525. * bridge/qt/qt_pixmapruntime.cpp:
  23526. (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
  23527. * bridge/qt/qt_runtime.cpp:
  23528. (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
  23529. (JSC::Bindings::QtRuntimeMethod::finishCreation):
  23530. * bridge/qt/qt_runtime.h:
  23531. * bridge/runtime_array.cpp:
  23532. (JSC::RuntimeArray::RuntimeArray):
  23533. * bridge/runtime_array.h:
  23534. (JSC::RuntimeArray::create):
  23535. * bridge/runtime_method.cpp:
  23536. (JSC::RuntimeMethod::RuntimeMethod):
  23537. (JSC::RuntimeMethod::finishCreation):
  23538. * bridge/runtime_method.h:
  23539. * bridge/runtime_object.cpp:
  23540. (JSC::Bindings::RuntimeObject::RuntimeObject):
  23541. * bridge/runtime_object.h:
  23542. (JSC::Bindings::RuntimeObject::create):
  23543. 2011-09-09 Rafael Antognolli <antognolli@profusion.mobi>
  23544. Rename FontGtk.cpp to FontPango.cpp
  23545. https://bugs.webkit.org/show_bug.cgi?id=66323
  23546. Reviewed by Martin Robinson.
  23547. This file will be used by the EFL port too, and since it's not GTK
  23548. specific anymore, rename it to something better.
  23549. No new functionality so no new tests.
  23550. * GNUmakefile.list.am:
  23551. * platform/graphics/pango/FontPango.cpp: Renamed from Source/WebCore/platform/graphics/gtk/FontGtk.cpp.
  23552. 2011-09-09 Adam Klein <adamk@chromium.org>
  23553. Initialize ExceptionCode in Element::removeAttribute
  23554. https://bugs.webkit.org/show_bug.cgi?id=67820
  23555. Reviewed by Darin Adler.
  23556. Silences valgrind warning reported in http://crbug.com/76490.
  23557. No new tests since this would only very occasionally be flaky,
  23558. and in the codepath in the valgrind report, the ec is ignored anyway.
  23559. * dom/Element.cpp:
  23560. (WebCore::Element::removeAttribute): Initialize ec to 0.
  23561. 2011-09-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
  23562. [Qt] Remove common.pri
  23563. https://bugs.webkit.org/show_bug.cgi?id=67814
  23564. Reviewed by Andreas Kling.
  23565. No new tests, no change in functionality.
  23566. * CodeGenerators.pri:
  23567. * WebCore.pri:
  23568. 2011-09-09 Dominic Mazzoni <dmazzoni@google.com>
  23569. Assert being hit in AccessibilityRenderObject::addChildren()
  23570. https://bugs.webkit.org/show_bug.cgi?id=61805
  23571. Reviewed by Chris Fleizach.
  23572. Fix nextSibling and previousSibling to handle adjacent continuations
  23573. properly, otherwise nodes end up appearing in the accessibility
  23574. tree twice (or a debug assertion could be raised).
  23575. Test: accessibility/adjacent-continuations-cause-assertion-failure.html
  23576. * accessibility/AccessibilityRenderObject.cpp:
  23577. (WebCore::AccessibilityRenderObject::previousSibling):
  23578. (WebCore::AccessibilityRenderObject::nextSibling):
  23579. 2011-09-08 Kentaro Hara <haraken@google.com>
  23580. Implement a WebKitAnimationEvent constructor.
  23581. https://bugs.webkit.org/show_bug.cgi?id=67825
  23582. Reviewed by Sam Weinig.
  23583. There is no spec for the WebKitAnimationEvent constructor
  23584. since it is WebKit-specific. However, based on the current
  23585. IDL of initWebKitAnimationEvent(), the constructor IDL
  23586. should be as follows.
  23587. [Constructor(DOMString type, optional WebKitAnimationEventInit eventInitDict)]
  23588. interface WebKitAnimationEvent : Event {
  23589. ...;
  23590. }
  23591. dictionary WebKitAnimationEventInit : EventInit {
  23592. DOMString animationName;
  23593. double elapsedTime;
  23594. }
  23595. Test: fast/events/constructors/webkit-animation-event-constructor.html
  23596. * bindings/generic/EventConstructors.h: Added a definition for the WebKitAnimationEvent constructor.
  23597. * bindings/js/JSEventConstructors.cpp: Added #includes for WebKitAnimationEvent.
  23598. * dom/WebKitAnimationEvent.cpp:
  23599. (WebCore::WebKitAnimationEventInit::WebKitAnimationEventInit):
  23600. (WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
  23601. * dom/WebKitAnimationEvent.h: Added a definition for WebKitAnimationEventInit.
  23602. (WebCore::WebKitAnimationEvent::create):
  23603. * dom/WebKitAnimationEvent.idl: Makes WebKitAnimationEvent constructible.
  23604. 2011-09-08 Abhishek Arya <inferno@chromium.org>
  23605. :before content rendering issues with list markers and run-ins.
  23606. https://bugs.webkit.org/show_bug.cgi?id=67735
  23607. 1) Remove the isAnonymous checks for run-in detection since the
  23608. run-in can belong to a node.
  23609. 2) When the parent has block children, then the list marker will
  23610. be enclosed in an anonymous block. In that case, for going to the
  23611. next list marker, we need to traverse one level up. We don't need
  23612. this check when searching for generated run-in (loop 2), since we
  23613. know parent will have inline children, so the list marker wont be
  23614. enclosed in an anonymous block.
  23615. Reviewed by Dave Hyatt.
  23616. Tests: fast/lists/list-marker-before-content-table.html
  23617. fast/runin/runin-generated-before-content.html
  23618. * rendering/RenderObjectChildList.cpp:
  23619. (WebCore::RenderObjectChildList::beforePseudoElementRenderer):
  23620. 2011-09-09 Pavel Podivilov <podivilov@chromium.org>
  23621. Web Inspector: introduce JavaScriptSourceFrame class.
  23622. https://bugs.webkit.org/show_bug.cgi?id=67838
  23623. SourceFrame should not deal with JavaScript debugging since it is a base class for all source frame implementations.
  23624. Reviewed by Pavel Feldman.
  23625. * WebCore.gypi:
  23626. * WebCore.vcproj/WebCore.vcproj:
  23627. * inspector/front-end/JavaScriptSourceFrame.js: Added.
  23628. (WebInspector.JavaScriptSourceFrame):
  23629. (WebInspector.SourceFrameDelegateForScriptsPanel): moved from ScriptsPanel.js
  23630. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
  23631. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.debuggingSupported):
  23632. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setBreakpoint):
  23633. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.updateBreakpoint):
  23634. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.removeBreakpoint):
  23635. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.findBreakpoint):
  23636. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.continueToLine):
  23637. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.canEditScriptSource):
  23638. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSource):
  23639. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSourceIsBeingEdited):
  23640. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.debuggerPaused):
  23641. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.evaluateInSelectedCallFrame):
  23642. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.releaseEvaluationResult):
  23643. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
  23644. * inspector/front-end/ScriptsPanel.js:
  23645. (WebInspector.ScriptsPanel.prototype._createSourceFrame):
  23646. * inspector/front-end/WebKit.qrc:
  23647. * inspector/front-end/inspector.html:
  23648. 2011-09-09 Sheriff Bot <webkit.review.bot@gmail.com>
  23649. Unreviewed, rolling out r94845.
  23650. http://trac.webkit.org/changeset/94845
  23651. https://bugs.webkit.org/show_bug.cgi?id=67839
  23652. This patch kicked Qt-SL bots, but we don't need this
  23653. modification. (Requested by ossy_ on #webkit).
  23654. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  23655. * platform/mac/WebVideoFullscreenController.mm:
  23656. * platform/mac/WebVideoFullscreenHUDWindowController.mm:
  23657. 2011-09-09 Csaba Osztrogonác <ossy@webkit.org>
  23658. [Qt][Mac]REGRESSION(r94774): Build is broken
  23659. https://bugs.webkit.org/show_bug.cgi?id=67799
  23660. It seems these files didn't rebuilt because of a
  23661. dependency bug. Touch them to trigger a rebuild.
  23662. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  23663. * platform/mac/WebVideoFullscreenController.mm:
  23664. * platform/mac/WebVideoFullscreenHUDWindowController.mm:
  23665. 2011-09-09 Alexander Pavlov <apavlov@chromium.org>
  23666. Unreviewed, Chromium valgrind build fix.
  23667. Web Inspector: [Chromium] Valgrind signals use of uninitialized field in InspectorStyleSheetForInlineStyle
  23668. https://bugs.webkit.org/show_bug.cgi?id=67837
  23669. * inspector/InspectorStyleSheet.cpp:
  23670. (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
  23671. 2011-09-09 Sheriff Bot <webkit.review.bot@gmail.com>
  23672. Unreviewed, rolling out r94536.
  23673. http://trac.webkit.org/changeset/94536
  23674. https://bugs.webkit.org/show_bug.cgi?id=67836
  23675. breaks absoluteLocation() of RelatedMouseEvent (Requested by
  23676. jknotten on #webkit).
  23677. * dom/MouseRelatedEvent.cpp:
  23678. (WebCore::MouseRelatedEvent::MouseRelatedEvent):
  23679. 2011-09-08 Alexander Pavlov <apavlov@chromium.org>
  23680. Web Inspector: live edit both for JS and CSS is not discoverable.
  23681. https://bugs.webkit.org/show_bug.cgi?id=65962
  23682. Add the "Edit" button to SourceFrame, so that resources/scripts can be edited both in the
  23683. Resources and the Scripts panels. The button is grayed out if the resource/script is not editable.
  23684. Reviewed by Yury Semikhatsky.
  23685. * inspector/front-end/Images/statusbarButtonGlyphs.png:
  23686. * inspector/front-end/ResourceView.js:
  23687. (WebInspector.EditableResourceSourceFrame.prototype.canEditSource):
  23688. * inspector/front-end/ScriptsPanel.js:
  23689. (WebInspector.ScriptsPanel.prototype.get statusBarItems):
  23690. (WebInspector.ScriptsPanel.prototype.set visibleView):
  23691. * inspector/front-end/SourceFrame.js:
  23692. (WebInspector.SourceFrame):
  23693. (WebInspector.SourceFrame.prototype.get statusBarItems):
  23694. (WebInspector.SourceFrame.prototype._initializeTextViewer):
  23695. (WebInspector.SourceFrame.prototype._editButtonClicked):
  23696. (WebInspector.SourceFrame.prototype.canEditSource):
  23697. (WebInspector.SourceFrame.prototype.startEditing):
  23698. (WebInspector.SourceFrame.prototype.commitEditing):
  23699. (WebInspector.SourceFrame.prototype._setReadOnly):
  23700. (WebInspector.TextViewerDelegateForSourceFrame.prototype.doubleClick):
  23701. * inspector/front-end/TextViewer.js:
  23702. (WebInspector.TextEditorMainPanel.prototype.set readOnly):
  23703. (WebInspector.TextEditorMainPanel.prototype._updateSelectionOnStartEditing):
  23704. * inspector/front-end/inspector.css:
  23705. (button.edit-source-status-bar-item .glyph):
  23706. (button.edit-source-status-bar-item.toggled-on .glyph):
  23707. 2011-09-09 Shinya Kawanaka <shinyak@google.com>
  23708. Crashes in WebCore::AppendNodeCommand::create().
  23709. https://bugs.webkit.org/show_bug.cgi?id=67767
  23710. Reviewed by Darin Adler.
  23711. In CompositeEditCommand::closeParagraphUnderNewElement(), lastNode could be a non Element node.
  23712. The current code assumes lastNode is an Element node. This patch checks it.
  23713. Test: editing/execCommand/ident-crashes-topnode-is-text.html
  23714. * editing/CompositeEditCommand.cpp:
  23715. (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement): Added an element node check.
  23716. 2011-09-09 Shinya Kawanaka <shinyak@google.com>
  23717. Crashes in WebCore::ApplyStyleCommand.doApply()
  23718. https://bugs.webkit.org/show_bug.cgi?id=67765
  23719. Reviewed by Ryosuke Niwa.
  23720. WebCore::enclosingBlock may return null, but ApplyStyleCommand::applyBlockStyle did not check it. This patch make it to be checked.
  23721. Test: editing/style/remove-format-without-enclosing-block.html
  23722. * editing/ApplyStyleCommand.cpp:
  23723. (WebCore::ApplyStyleCommand::applyBlockStyle): Added null check.
  23724. 2011-09-09 James Simonsen <simonjam@chromium.org>
  23725. [Chromium] Fix leak of Skia stream with custom CSS fonts
  23726. https://bugs.webkit.org/show_bug.cgi?id=67815
  23727. Reviewed by Adam Barth.
  23728. Test: fast/css/font-face-opentype.html under valgrind
  23729. * platform/graphics/mac/FontCustomPlatformData.cpp:
  23730. (WebCore::createFontCustomPlatformData):
  23731. * platform/graphics/skia/FontCustomPlatformData.cpp:
  23732. (WebCore::createFontCustomPlatformData):
  23733. 2011-09-07 Ryosuke Niwa <rniwa@webkit.org>
  23734. Push more code from HTMLInputElement::setValue to TextFieldInputType::setValue
  23735. https://bugs.webkit.org/show_bug.cgi?id=67742
  23736. Reviewed by Darin Adler.
  23737. Moved more code in HTMLInputElement::setValue to TextFieldInputType::setValue, and merged
  23738. InputType::valueChanged into InputType::setValue. Also introduced
  23739. InputType::dispatchChangeEventInResponseToSetValue to be overridden by TextFieldInputType.
  23740. * html/BaseButtonInputType.cpp:
  23741. (WebCore::BaseButtonInputType::setValue):
  23742. * html/BaseButtonInputType.h:
  23743. * html/BaseCheckableInputType.cpp:
  23744. (WebCore::BaseCheckableInputType::setValue):
  23745. * html/BaseCheckableInputType.h:
  23746. * html/ColorInputType.cpp:
  23747. * html/ColorInputType.h:
  23748. * html/FileInputType.cpp:
  23749. (WebCore::FileInputType::setValue):
  23750. * html/FileInputType.h:
  23751. * html/HTMLInputElement.cpp:
  23752. (WebCore::HTMLInputElement::setValue):
  23753. * html/HTMLInputElement.h:
  23754. (WebCore::HTMLInputElement::cacheSelectionInResponseToSetValue):
  23755. * html/HiddenInputType.cpp:
  23756. (WebCore::HiddenInputType::setValue):
  23757. * html/HiddenInputType.h:
  23758. * html/InputType.cpp:
  23759. (WebCore::InputType::setValue):
  23760. (WebCore::InputType::dispatchChangeEventInResponseToSetValue):
  23761. * html/InputType.h:
  23762. * html/RangeInputType.cpp:
  23763. (WebCore::RangeInputType::setValue):
  23764. * html/RangeInputType.h:
  23765. * html/TextFieldInputType.cpp:
  23766. (WebCore::TextFieldInputType::setValue):
  23767. (WebCore::TextFieldInputType::dispatchChangeEventInResponseToSetValue):
  23768. * html/TextFieldInputType.h:
  23769. 2011-09-08 Annie Sullivan <sullivan@chromium.org>
  23770. Crashes in WebCore::InsertNodeBeforeCommand constructor.
  23771. https://bugs.webkit.org/show_bug.cgi?id=67763
  23772. Reviewed by Ryosuke Niwa.
  23773. Changes editableRootForPosition() to use the position's containerNode instead of deprecatedNode so that
  23774. positions which are before or after a given node cannot return that node as the editable root.
  23775. Test: editing/inserting/insert-paragraph-selection-outside-contenteditable.html
  23776. * editing/htmlediting.cpp:
  23777. (WebCore::editableRootForPosition): use containerNode instead of deprecatedNode.
  23778. 2011-09-08 James Weatherall <wez@chromium.org>
  23779. Release the reference to the HTMLPlugInElement's script object, when the element is removed from the document. This breaks a cyclical reference that would otherwise cause the element to be retained until the document is torn down.
  23780. https://bugs.webkit.org/show_bug.cgi?id=66181
  23781. Reviewed by Anders Carlsson.
  23782. No new tests - no functional change.
  23783. * html/HTMLPlugInElement.cpp:
  23784. (WebCore::HTMLPlugInElement::removedFromDocument):
  23785. * html/HTMLPlugInElement.h:
  23786. 2011-09-08 Daniel Bates <dbates@webkit.org>
  23787. XSS filter bypass via non-standard URL encoding
  23788. https://bugs.webkit.org/show_bug.cgi?id=66588
  23789. Reviewed by Adam Barth.
  23790. Tests: http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair.html
  23791. http/tests/security/xssAuditor/script-tag-with-16bit-unicode.html
  23792. http/tests/security/xssAuditor/script-tag-with-16bit-unicode2.html
  23793. http/tests/security/xssAuditor/script-tag-with-16bit-unicode3.html
  23794. http/tests/security/xssAuditor/script-tag-with-16bit-unicode4.html
  23795. http/tests/security/xssAuditor/script-tag-with-16bit-unicode5.html
  23796. http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode.html
  23797. http/tests/security/xssAuditor/window-open-without-url-should-not-assert.html
  23798. Implement support for decoding non-standard 16-bit Unicode escape sequences of
  23799. the form %u26C4 as described in <http://www.w3.org/International/iri-edit/draft-duerst-iri.html#anchor29>.
  23800. See also <http://en.wikipedia.org/wiki/Percent-encoding#Non-standard_implementations>.
  23801. * GNUmakefile.list.am: Added DecodeEscapeSequences.h.
  23802. * WebCore.gypi: Ditto.
  23803. * WebCore.pro: Ditto.
  23804. * WebCore.vcproj/WebCore.vcproj: Ditto.
  23805. * WebCore.xcodeproj/project.pbxproj: Ditto.
  23806. * html/parser/XSSAuditor.cpp:
  23807. (WebCore::decode16BitUnicodeEscapeSequences): Added.
  23808. (WebCore::decodeStandardURLEscapeSequences): Added.
  23809. (WebCore::fullyDecodeString): Modified to call decode16BitUnicodeEscapeSequences().
  23810. (WebCore::XSSAuditor::init): Modified to return early when the URL of the document
  23811. is the empty string. This can happen when opening a new browser window or calling
  23812. window.open("").
  23813. * platform/KURL.cpp:
  23814. (WebCore::decodeURLEscapeSequences): Abstracted code into template-function decodeEscapeSequences().
  23815. This function just calls decodeEscapeSequences<URLEscapeSequence>().
  23816. * platform/text/DecodeEscapeSequences.h: Added.
  23817. (WebCore::Unicode16BitEscapeSequence::findInString):
  23818. (WebCore::Unicode16BitEscapeSequence::matchStringPrefix):
  23819. (WebCore::Unicode16BitEscapeSequence::decodeRun):
  23820. (WebCore::URLEscapeSequence::findInString):
  23821. (WebCore::URLEscapeSequence::matchStringPrefix):
  23822. (WebCore::URLEscapeSequence::decodeRun):
  23823. (WebCore::decodeEscapeSequences):
  23824. 2011-09-08 Adam Barth <abarth@webkit.org>
  23825. DocumentWriter::deprecatedFrameEncoding doesn't need to refert to Settings
  23826. https://bugs.webkit.org/show_bug.cgi?id=67812
  23827. Reviewed by Eric Seidel.
  23828. The one caller of this function does this work already.
  23829. * loader/DocumentWriter.cpp:
  23830. (WebCore::DocumentWriter::deprecatedFrameEncoding):
  23831. 2011-09-08 Adam Klein <adamk@chromium.org>
  23832. Always zero-out m_sortedTextBoxesPosition to avoid uninitialized read in TextIterator
  23833. https://bugs.webkit.org/show_bug.cgi?id=67810
  23834. Reviewed by Tony Chang.
  23835. Reported as a valgrind failure in http://crbug.com/84777.
  23836. No possible change in behavior, so no tests. The unitialized read
  23837. could never have an impact:
  23838. if (m_sortedTextBoxesPosition + 1 < m_sortedTextBoxes.size()) ...
  23839. Since m_sortedTextBoxes.size() will be zero here if
  23840. m_sortedTextBoxesPosition is uninitialized, and they're both unsigned,
  23841. so no possible value of m_sortedTextBoxesPosition could be < 0.
  23842. * editing/TextIterator.cpp:
  23843. (WebCore::TextIterator::TextIterator):
  23844. 2011-09-08 Tony Chang <tony@chromium.org>
  23845. Cleanup of switch statements with default cases
  23846. https://bugs.webkit.org/show_bug.cgi?id=67808
  23847. Reviewed by Adam Barth.
  23848. No new tests, just a small refactoring.
  23849. * page/WebKitAnimation.cpp:
  23850. (WebCore::WebKitAnimation::fillMode):
  23851. * platform/audio/Distance.cpp:
  23852. (WebCore::DistanceEffect::gain):
  23853. 2011-09-08 Eric Seidel <eric@webkit.org>
  23854. [BiDi] Add support for the BDI element
  23855. https://bugs.webkit.org/show_bug.cgi?id=50913
  23856. Reviewed by Ryosuke Niwa.
  23857. This patch is ridiculously trivial now that we have unicode-bidi: isolate support in WebKit.
  23858. Test: css3/bdi-element.html
  23859. * css/html.css:
  23860. (bdi):
  23861. 2011-09-08 David Levin <levin@chromium.org>
  23862. [chromium] KURL::copy doesn't produce something usable on another thread.
  23863. https://bugs.webkit.org/show_bug.cgi?id=67809
  23864. Reviewed by Adam Barth.
  23865. No new functionality exposed so no new test. This was caught by testing code: the thread
  23866. sanitizer run in Chromium (http://code.google.com/p/chromium/issues/detail?id=93708).
  23867. * platform/KURLGoogle.cpp:
  23868. (WebCore::KURLGooglePrivate::copyTo): Clear out the invalid String so that it will
  23869. not be used on another thread.
  23870. 2011-09-08 Alexey Proskuryakov <ap@apple.com>
  23871. REGRESSION (r66874): Missing RefPtr in ScriptController
  23872. https://bugs.webkit.org/show_bug.cgi?id=67748
  23873. Reviewed by Adam Barth.
  23874. * bindings/ScriptControllerBase.cpp: (WebCore::ScriptController::executeScript):
  23875. 2011-09-08 Adam Barth <abarth@webkit.org>
  23876. Second attempt to fix Chromium build.
  23877. * dom/Document.h:
  23878. 2011-09-08 Oliver Hunt <oliver@apple.com>
  23879. Use bump allocator for initial property storage
  23880. https://bugs.webkit.org/show_bug.cgi?id=67494
  23881. Reviewed by Geoffrey Garen.
  23882. Add a forwarding header.
  23883. * ForwardingHeaders/runtime/StorageBarrier.h: Added.
  23884. 2011-09-08 Roland Steiner <rolandsteiner@chromium.org>
  23885. Unreviewed, rolling out r94809.
  23886. http://trac.webkit.org/changeset/94809
  23887. https://bugs.webkit.org/show_bug.cgi?id=67718
  23888. commit _still_ premature, despite CQ eagerness
  23889. * html/HTMLAttributeNames.in:
  23890. * html/HTMLStyleElement.cpp:
  23891. * html/HTMLStyleElement.h:
  23892. * html/HTMLStyleElement.idl:
  23893. 2011-09-08 Sam Weinig <sam@webkit.org>
  23894. Remove the Completion object from JSC, I have never liked it
  23895. https://bugs.webkit.org/show_bug.cgi?id=67755
  23896. Reviewed by Gavin Barraclough.
  23897. * bindings/js/JSDOMBinding.cpp:
  23898. (WebCore::reportException):
  23899. * bindings/js/JSEventListener.cpp:
  23900. (WebCore::JSEventListener::handleEvent):
  23901. * bindings/js/JSInjectedScriptManager.cpp:
  23902. (WebCore::InjectedScriptManager::createInjectedScript):
  23903. * bindings/js/JSMainThreadExecState.h:
  23904. (WebCore::JSMainThreadExecState::evaluate):
  23905. * bindings/js/ScriptController.cpp:
  23906. (WebCore::ScriptController::evaluateInWorld):
  23907. * bindings/js/WorkerScriptController.cpp:
  23908. (WebCore::WorkerScriptController::evaluate):
  23909. * bindings/objc/WebScriptObject.mm:
  23910. (-[WebScriptObject evaluateWebScript:]):
  23911. * bridge/NP_jsobject.cpp:
  23912. (_NPN_Evaluate):
  23913. * bridge/jni/jni_jsobject.mm:
  23914. (JavaJSObject::eval):
  23915. 2011-09-08 Adam Barth <abarth@webkit.org>
  23916. Inline DocumentWriter::encoding() into it's only caller: deprecatedFrameEncoding()
  23917. https://bugs.webkit.org/show_bug.cgi?id=67807
  23918. Reviewed by Eric Seidel.
  23919. This function is super nutty. We don't want any more folks to call it
  23920. thinking that it does something sane.
  23921. * loader/DocumentWriter.cpp:
  23922. (WebCore::DocumentWriter::deprecatedFrameEncoding):
  23923. * loader/DocumentWriter.h:
  23924. 2011-09-08 Roland Steiner <rolandsteiner@chromium.org>
  23925. <style scoped>: Add 'scoped' attribute
  23926. https://bugs.webkit.org/show_bug.cgi?id=67718
  23927. Add 'scoped' attribute to IDL and attribute list,
  23928. implement and test setting/resetting of the attribute.
  23929. Reviewed by Dimitri Glazkov.
  23930. Test: fast/css/style-scoped/basic-attribute.html
  23931. * html/HTMLAttributeNames.in:
  23932. * html/HTMLStyleElement.cpp:
  23933. (WebCore::HTMLStyleElement::scoped):
  23934. (WebCore::HTMLStyleElement::setScoped):
  23935. (WebCore::HTMLStyleElement::scopingElement):
  23936. * html/HTMLStyleElement.h:
  23937. * html/HTMLStyleElement.idl:
  23938. 2011-09-08 Sheriff Bot <webkit.review.bot@gmail.com>
  23939. Unreviewed, rolling out r94781.
  23940. http://trac.webkit.org/changeset/94781
  23941. https://bugs.webkit.org/show_bug.cgi?id=67806
  23942. Broke Objective-C binding on Mac (Requested by rniwa on
  23943. #webkit).
  23944. * dom/Element.idl:
  23945. * dom/Node.cpp:
  23946. (WebCore::Node::contains):
  23947. * dom/Node.idl:
  23948. * editing/DeleteSelectionCommand.cpp:
  23949. (WebCore::DeleteSelectionCommand::mergeParagraphs):
  23950. 2011-09-08 Eric Seidel <eric@webkit.org>
  23951. Remove DocumentWriter::setDecoder as a grep of WebKit shows no callers
  23952. https://bugs.webkit.org/show_bug.cgi?id=67803
  23953. Reviewed by Adam Barth.
  23954. Smells like dead code.
  23955. * loader/DocumentWriter.cpp:
  23956. * loader/DocumentWriter.h:
  23957. 2011-09-08 Shinya Kawanaka <shinyak@google.com>
  23958. Crashes in WebCore::ReplaceSelectionCommand::doApply
  23959. https://bugs.webkit.org/show_bug.cgi?id=67762
  23960. Reviewed by Ryosuke Niwa.
  23961. WebCore::enclosingBlock may return null, but its return value was not checked. This patch checks it.
  23962. Tests: editing/inserting/insert-without-enclosing-block.html
  23963. * editing/ReplaceSelectionCommand.cpp:
  23964. (WebCore::ReplaceSelectionCommand::doApply): Added null check.
  23965. 2011-09-08 Sheriff Bot <webkit.review.bot@gmail.com>
  23966. Unreviewed, rolling out r94784.
  23967. http://trac.webkit.org/changeset/94784
  23968. https://bugs.webkit.org/show_bug.cgi?id=67796
  23969. Commit was premature (Requested by rolandsteiner on #webkit).
  23970. * html/HTMLAttributeNames.in:
  23971. * html/HTMLStyleElement.cpp:
  23972. * html/HTMLStyleElement.h:
  23973. * html/HTMLStyleElement.idl:
  23974. 2011-09-08 W. James MacLean <wjmaclean@chromium.org>
  23975. [chromium] Add backend compositor support for rescaling (zooming) textures during zoom animation.
  23976. https://bugs.webkit.org/show_bug.cgi?id=66472
  23977. This patch contains plumbing from Internals to WebViewImpl that can be removed
  23978. at a later time when the zoom animator code is complete.
  23979. Reviewed by James Robinson.
  23980. Test: platform/chromium/compositing/zoom-animator-scale-test.html
  23981. * page/Settings.cpp:
  23982. (WebCore::Settings::Settings):
  23983. * page/Settings.h:
  23984. (WebCore::Settings::setZoomAnimatorScale):
  23985. (WebCore::Settings::zoomAnimatorScale):
  23986. * platform/graphics/chromium/LayerRendererChromium.cpp:
  23987. (WebCore::LayerRendererChromium::LayerRendererChromium):
  23988. (WebCore::LayerRendererChromium::drawLayersInternal):
  23989. * platform/graphics/chromium/LayerRendererChromium.h:
  23990. (WebCore::LayerRendererChromium::setZoomAnimatorScale):
  23991. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  23992. (WebCore::CCLayerTreeHost::CCLayerTreeHost):
  23993. (WebCore::CCLayerTreeHost::commitTo):
  23994. (WebCore::CCLayerTreeHost::setZoomAnimatorScale):
  23995. (WebCore::CCLayerTreeHost::updateLayers):
  23996. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  23997. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
  23998. (WebCore::CCLayerTreeHostImpl::setZoomAnimatorScale):
  23999. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
  24000. * testing/Internals.cpp:
  24001. (WebCore::Internals::setZoomAnimatorScale):
  24002. * testing/Internals.h:
  24003. * testing/Internals.idl:
  24004. 2011-09-08 Eric Carlson <eric.carlson@apple.com>
  24005. HTMLMediaElement is missing initialTime attribute
  24006. https://bugs.webkit.org/show_bug.cgi?id=67791
  24007. Reviewed by Darin Adler.
  24008. Test: media/media-initialTime.html
  24009. * html/HTMLMediaElement.cpp:
  24010. (WebCore::HTMLMediaElement::initialTime):
  24011. * html/HTMLMediaElement.h:
  24012. * html/HTMLMediaElement.idl:
  24013. * platform/graphics/MediaPlayer.cpp:
  24014. (WebCore::MediaPlayer::initialTime):
  24015. * platform/graphics/MediaPlayer.h:
  24016. * platform/graphics/MediaPlayerPrivate.h:
  24017. (WebCore::MediaPlayerPrivateInterface::initialTime):
  24018. 2011-09-03 Robert Hogan <robert@webkit.org>
  24019. Elements with position:absolute don't move to correct position after images load
  24020. https://bugs.webkit.org/show_bug.cgi?id=54611
  24021. Reviewed by Simon Fraser.
  24022. Test: fast/block/positioning/absolute-layout-after-image-load.html
  24023. In the test the 'label' block is an absolutely positioned child of an inline flow. So during layout,
  24024. this RenderBlock::layoutPositionedObjects fails to dirty it for rendering because it requires
  24025. the parent to be a BlockFlow. The code to do this was introduced in http://trac.webkit.org/changeset/8284.
  24026. There doesn't seem to be a good reason for requiring a BlockFlow, so remove the check.
  24027. Note: Although the issue is encountered only on first load without a fragment identifier, it
  24028. happens reliably when you include the fragment identifier in the url (#Footnote_1). This is so
  24029. because scrolling to the fragment always happens before the image has loaded, rendering the page
  24030. and clearing the initial dirty bits in the positioned element's renderer. When the image finally
  24031. loads in this scenario, the positioned element is otherwise clean and relies on the above code to get
  24032. re-rendered.
  24033. Note: This was originally landed in r94755 but positioned-float-layout-after-image-load.html exposed
  24034. an ASSERT bug, unrelated to this change, and was rolled out. That issue is tracked separately
  24035. in bug 67759.
  24036. * rendering/RenderBlock.cpp:
  24037. (WebCore::RenderBlock::layoutPositionedObjects): remove the check for r->parent()->isBlockFlow() when
  24038. deciding whether to mark children for layout
  24039. 2011-09-08 Roland Steiner <rolandsteiner@chromium.org>
  24040. <style scoped>: Add 'scoped' attribute
  24041. https://bugs.webkit.org/show_bug.cgi?id=67718
  24042. Add 'scoped' attribute to IDL and attribute list,
  24043. implement and test setting/resetting of the attribute.
  24044. Reviewed by Dimitri Glazkov.
  24045. Test: fast/css/style-scoped/basic-attribute.html
  24046. * html/HTMLAttributeNames.in:
  24047. * html/HTMLStyleElement.cpp:
  24048. (WebCore::HTMLStyleElement::scoped):
  24049. (WebCore::HTMLStyleElement::setScoped):
  24050. (WebCore::HTMLStyleElement::scopingElement):
  24051. * html/HTMLStyleElement.h:
  24052. * html/HTMLStyleElement.idl:
  24053. 2011-09-08 Erik Arvidsson <arv@chromium.org>
  24054. Move Element.contains to Node
  24055. https://bugs.webkit.org/show_bug.cgi?id=67651
  24056. Reviewed by Darin Adler.
  24057. This moves the contains method from Element to Node as in the DOM4 working draft:
  24058. http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-contains
  24059. This also special cases Document contains to make it O(1) instead of O(depth).
  24060. Tests: fast/dom/Node/contains-method.html
  24061. perf/document-contains.html
  24062. * dom/Element.idl:
  24063. * dom/Node.cpp:
  24064. (WebCore::Node::contains): Added document special case.
  24065. * dom/Node.idl:
  24066. * editing/DeleteSelectionCommand.cpp:
  24067. (WebCore::DeleteSelectionCommand::mergeParagraphs): Added a null check.
  24068. 2011-09-08 Chris Rogers <crogers@google.com>
  24069. Check AudioContext createChannelMerger() for thread safety
  24070. https://bugs.webkit.org/show_bug.cgi?id=67247
  24071. Reviewed by Kenneth Russell.
  24072. Test: webaudio/audiochannelmerger-stereo.html
  24073. * webaudio/AudioChannelMerger.cpp:
  24074. (WebCore::AudioChannelMerger::process):
  24075. (WebCore::AudioChannelMerger::checkNumberOfChannelsForInput):
  24076. * webaudio/AudioChannelMerger.h:
  24077. 2011-09-08 Ned Holbrook <nholbrook@apple.com>
  24078. Refactor hyphen measurement
  24079. https://bugs.webkit.org/show_bug.cgi?id=67728
  24080. Reviewed by Darin Adler.
  24081. No new tests, purely refactoring.
  24082. * rendering/RenderBlockLineLayout.cpp:
  24083. (WebCore::measureHyphenWidth): Added.
  24084. (WebCore::setLogicalWidthForTextRun): Use measureHyphenWidth().
  24085. (WebCore::tryHyphenating): Ditto.
  24086. (WebCore::RenderBlock::LineBreaker::nextLineBreak): Ditto.
  24087. 2011-09-08 Julien Chaffraix <jchaffraix@webkit.org>
  24088. Remove LayoutStateDisabler instances from RenderLayer
  24089. https://bugs.webkit.org/show_bug.cgi?id=66896
  24090. Reviewed by Simon Fraser.
  24091. As part of r93614, scrollTo does not call updateLayerPositions anymore.
  24092. This means that we don't need to disable LayoutState from the scrolling code
  24093. in RenderLayer.
  24094. This change is covered by the existing tests.
  24095. * rendering/RenderLayer.cpp:
  24096. (WebCore::RenderLayer::updateLayerPositions): Updated the comment
  24097. that was not accurate anymore. Also explained what is wrong with
  24098. LayoutState vs RenderLayer now. Note that the ASSERT is still
  24099. valid and will not trigger as the remaining calls to updateLayerPositions
  24100. are done *outside* layout() where LayoutState is not set (thus disabled).
  24101. (WebCore::RenderLayer::updateScrollInfoAfterLayout): Removed
  24102. 2 LayoutStateDisabler surrounding scrollToOffset.
  24103. 2011-09-08 Julien Chaffraix <jchaffraix@webkit.org>
  24104. Factor out the code to get the first non-null RenderTableSection in RenderTable
  24105. https://bugs.webkit.org/show_bug.cgi?id=66972
  24106. Reviewed by Darin Adler.
  24107. Refactoring only, covered by existing tests.
  24108. * accessibility/AccessibilityTable.cpp:
  24109. (WebCore::AccessibilityTable::addChildren):
  24110. (WebCore::AccessibilityTable::cellForColumnAndRow):
  24111. * accessibility/AccessibilityTableCell.cpp:
  24112. (WebCore::AccessibilityTableCell::rowIndexRange):
  24113. Updated those for the signature change in sectionBelow. Also added
  24114. a FIXME where topSection should be used instead of iterating
  24115. over the section (and likely missing some corner cases).
  24116. * rendering/FixedTableLayout.cpp:
  24117. (WebCore::FixedTableLayout::calcWidthArray):
  24118. * rendering/RenderTable.cpp:
  24119. (WebCore::RenderTable::calcBorderStart):
  24120. (WebCore::RenderTable::calcBorderEnd):
  24121. (WebCore::RenderTable::outerBorderBefore):
  24122. (WebCore::RenderTable::sectionAbove):
  24123. (WebCore::RenderTable::sectionBelow):
  24124. (WebCore::RenderTable::firstLineBoxBaseline):
  24125. Updated all those functions to use the newly added functions. Also changed
  24126. the variable names to match the functions.
  24127. (WebCore::RenderTable::layout):
  24128. (WebCore::RenderTable::topNonEmptySection): Newly added function
  24129. that returns the top non null section of the table that has at least a
  24130. row.
  24131. (WebCore::RenderTable::cellAbove):
  24132. (WebCore::RenderTable::cellBelow):
  24133. Update the signature of those 2 functions to take an enum as it makes the
  24134. rest of the code more readable.
  24135. * rendering/RenderTable.h:
  24136. (WebCore::RenderTable::topSection): Newly added function to return
  24137. the top non null section in the table.
  24138. 2011-04-19 Eric Seidel <eric@webkit.org>
  24139. Reviewed by Ryosuke Niwa.
  24140. [BiDi] [CSS3] MASTER: Add support for the unicode-bidi:isolate CSS property
  24141. https://bugs.webkit.org/show_bug.cgi?id=50912
  24142. This patch adds support for CSS3 unicode-bidi: isolate property, under the -webkit- vendor prefix.
  24143. Parsing support was added in a previous patch, this wires up the RenderStyle values
  24144. to code changes in the BidiResolver.
  24145. The effect of this patch is that it makes it possible to "isolate" runs of text
  24146. so that their RTL-ness or LTR-ness does not bleed out into the rest of your text
  24147. and effect layout. This is important because many unicode characters (like parenthesis, ':', '-', etc.)
  24148. do not have intrinsic directionality and are affected by whatever characters come before/after.
  24149. If you have usernames which include RTL text, if you inject those usernames in your page
  24150. you might end up with nearby characters moving!
  24151. (like 'RTL USERNAME - my awesome site' as a title, could end up as
  24152. 'my awesome site - USERNAME RTL' when correct would be 'USERNAME RTL - my awesome site'.)
  24153. This patch makes it possible to wrap sections of text in isolated spans, so that
  24154. they correctly order all their RTL/LTR contents, but also correctly participate in the
  24155. larger RTL/LTR ordering without affecting nearby characters.
  24156. Because much of this code is old and rarely touched, I've included extra background
  24157. information in hopes of expanding my set of potential reviewers:
  24158. WebKit uses the standard "Unicode Bidi Algorithm" henceforth known as the UBA.
  24159. The UBA is defined at http://unicode.org/reports/tr9/ for those not faint of heart.
  24160. Text layout is done per-block (<div>, <p>, etc), and begins with a string of text
  24161. (which in our case comes from the rendering tree) and a specified width.
  24162. First: Text is measured and wrapped into lines.
  24163. Second: The UBA is run over the lines of text.
  24164. Third: WebKit builds InlineBoxes (its linebox tree) and eventually render the text.
  24165. This patch modifies our UBA to ignore all text content inside "isolated" inlines (treating them as neutral characters)
  24166. and then adds another step after running the UBA, where we run the UBA recursively on any
  24167. previously identified "isolated" content.
  24168. The result of the UBA is an ordered list of "runs" of text with the RTL runs
  24169. correctly RTL and the LTR runs LTR.
  24170. The UBA does three things:
  24171. 1. It assigns a "class" to each character in a text stream (like neutral, strongly-RTL, strongly-LTR, etc.)
  24172. 2. Divides the text stream up into "runs" of characters of the same directionality (all RTL, all LTR).
  24173. 3. Re-orders those runs.
  24174. The UBA in WebKit is implemented by BidiResolver<T> in BidiResolver.h
  24175. The InlineBidiResolver (BidiResolver specialization which knows about the rendering tree)
  24176. walks along its InlineIterators, looking at each character and running the
  24177. Unicode Bidi Algorithm (UBA). It walks through the rendering tree subtree under
  24178. a block, using a (poorly named) bidiNext function which returns the next inline object.
  24179. Each inline object (or text character there-in) has a corresponding meaning in the UBA
  24180. such as a "strong RTL" character or a "neutral" character. The UBA reads these sequence
  24181. of characters, and figures out what direction (RTL or LTR) to assign to any neutral
  24182. characters it encounters, based on surrounding characters.
  24183. As the InlineBidiResolver is walking the rendering tree, the InlineIterator::advance()
  24184. function calls bidiNext(), which in turn can call notifyObserverEnteredObject/notifyObserverWillExitObject
  24185. notifying InlineBidiResolver that it is entering or exiting an "isolated"
  24186. span, at which point it will either start or stop ignoring the stream of characters
  24187. from the InlineIterator. When the InlineBidiResolver is ignoring the stream of
  24188. characters, instead of creating separate BidiRuns at each RTL/LTR boundary
  24189. as it normally would, it instead creates one "fake" run for the entire
  24190. isolated span. These fake runs participate in the normal UBA run ordering process,
  24191. but after the main UBA, a second pass is made where we examine
  24192. the list of isolatedRuns() and run the UBA on each of them, replacing the fake
  24193. run we previously inserted, with the resulting list of runs from that inner UBA run.
  24194. The way it "ignores" characters is by treating them all as neutral when inside an isolate.
  24195. Thus all the characters end up grouped in a single run, but their directionality (as a group)
  24196. is correctly affected by any surrounding strong characters.
  24197. If you understood that last paragraph, than the rest of the change is just plumbing.
  24198. I added a huge number of FIXMEs to this code, because this code has a variety of
  24199. design choices (or lack there of) which make some of this very difficult.
  24200. For example the bidiNext iterator function has two sets of mutually exclusive
  24201. parameters and can be used optionally with or without an observer. Prior to this
  24202. change there was only ever one object which cared about observing a walk over inlines
  24203. and that was InlineBidiResolver. This patch (regretfully) templatizes bidiNext
  24204. to support a new Observer type. The correct fix would be to rip bidiNext into
  24205. multiple functions and rip need for observation out of InlineBidiResolver.
  24206. Unfortunately I've tried both in separate bugs and failed. This code is very very
  24207. old and very poorly understood. We're slowly moving forward, this is another tiny step.
  24208. This is my fourth iteration of this patch (I'm happy to do more!), but I believe
  24209. it's a good compromise between fixing all of the design gotcha's of our bidi
  24210. system and doing the minimum amount to add this killer CSS feature.
  24211. I ran the PLT. (It averaged 0.2% faster with this change, but I attribute that to noise).
  24212. Test: css3/unicode-bidi-isolate-basic.html and css3/unicode-bidi-isolate-aharon.html
  24213. * platform/text/BidiResolver.h:
  24214. (WebCore::BidiCharacterRun::setNext):
  24215. - Needed by the new replaceRunWithRuns function.
  24216. (WebCore::BidiResolver::BidiResolver):
  24217. (WebCore::BidiResolver::~BidiResolver):
  24218. (WebCore::BidiResolver::enterIsolate):
  24219. (WebCore::BidiResolver::exitIsolate):
  24220. (WebCore::BidiResolver::inIsolate):
  24221. (WebCore::BidiResolver::isolatedRuns):
  24222. - Used to track isolated spans of text as they're encoutered.
  24223. They're stuffed away here to be processed recursively
  24224. after the main UBA has done its thang.
  24225. (WebCore::::appendRun):
  24226. (WebCore::::embed):
  24227. (WebCore::::commitExplicitEmbedding):
  24228. (WebCore::::createBidiRunsForLine):
  24229. * platform/text/BidiRunList.h:
  24230. (WebCore::::replaceRunWithRuns):
  24231. - This effectively takes all the runs from one runlist and adds them to
  24232. this one, replacing the fake run we inserted during a previous pass of the UBA.
  24233. - This RunList now owns the runs, so we call clear() on the other RunList
  24234. so that we don't end up double-freeing the runs.
  24235. (WebCore::::clear):
  24236. - This allows us to "take" runs from another run list and then clear it.
  24237. * rendering/BidiRun.h:
  24238. (WebCore::BidiRun::object):
  24239. * rendering/InlineIterator.h:
  24240. (WebCore::InlineIterator::object):
  24241. (WebCore::InlineIterator::offset):
  24242. (WebCore::notifyObserverEnteredObject): Mostly just renaming and adding a FIXME about plaintext.
  24243. (WebCore::notifyObserverWillExitObject): Mostly just renaming.
  24244. (WebCore::addPlaceholderRunForIsolatedInline):
  24245. (WebCore::isIsolatedInline):
  24246. (WebCore::InlineBidiResolver::appendRun):
  24247. * rendering/RenderBlockLineLayout.cpp:
  24248. (WebCore::statusWithDirection):
  24249. (WebCore::constructBidiRuns):
  24250. - This is the heavy-lifting of this change. This function
  24251. runs the UBA recursively on all the previously identified isolated spans.
  24252. - If we encounter more isolated spans in our run, we just add them to the
  24253. main list an keep going. Because the runs are linked lists and we have
  24254. direct pointers to our placeholder objects, we don't care what order
  24255. we process the placeholders in, so long as when we're done, they're all processed.
  24256. (WebCore::RenderBlock::layoutInlineChildren):
  24257. 2011-09-08 Kentaro Hara <haraken@google.com>
  24258. Implement a ProgressEvent constructor for JSC
  24259. https://bugs.webkit.org/show_bug.cgi?id=67537
  24260. Reviewed by Sam Weinig.
  24261. The spec for the ProgressEvent constructor is here:
  24262. http://www.w3.org/TR/progress-events/#interface-progressevent
  24263. Test: fast/events/constructors/progress-event-constructor.html
  24264. * bindings/generic/EventConstructors.h: Added a definition for the ProgressEvent constructor.
  24265. * bindings/js/JSDictionary.cpp:
  24266. (WebCore::JSDictionary::convertValue): Converts an ECMA-262 Number into an IDL unsigned long long value. Spec: http://www.w3.org/TR/WebIDL/#es-unsigned-long-long
  24267. * bindings/js/JSEventConstructors.cpp: Added #includes for ProgressEvent.
  24268. * dom/ProgressEvent.cpp:
  24269. (WebCore::ProgressEventInit::ProgressEventInit):
  24270. (WebCore::ProgressEvent::ProgressEvent):
  24271. * dom/ProgressEvent.h: Added a definition for ProgressEventInit.
  24272. (WebCore::ProgressEvent::create):
  24273. * dom/ProgressEvent.idl: Makes ProgressEvent constructible.
  24274. 2011-09-08 Ryosuke Niwa <rniwa@webkit.org>
  24275. Make bindings tests quiet after r94701.
  24276. * bindings/scripts/test/JS/JSTestInterface.cpp:
  24277. * bindings/scripts/test/JS/JSTestInterface.h:
  24278. (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
  24279. * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  24280. * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
  24281. (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
  24282. * bindings/scripts/test/JS/JSTestObj.cpp:
  24283. * bindings/scripts/test/JS/JSTestObj.h:
  24284. (WebCore::JSTestObjPrototype::JSTestObjPrototype):
  24285. * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  24286. * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
  24287. (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
  24288. 2011-09-07 Pavel Podivilov <podivilov@chromium.org>
  24289. Web Inspector: get rid of RawSourceCode.createSourceMappingIfNeeded.
  24290. https://bugs.webkit.org/show_bug.cgi?id=67717
  24291. Listen to SourceMappingUpdated event instead of using createSourceMappingIfNeeded.
  24292. Reviewed by Yury Semikhatsky.
  24293. * inspector/front-end/DebuggerPresentationModel.js:
  24294. (WebInspector.DebuggerPresentationModel):
  24295. (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
  24296. (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
  24297. (WebInspector.DebuggerPresentationModel.prototype._updateSourceMapping):
  24298. (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
  24299. (WebInspector.DebuggerPresentationModel.prototype._restoreConsoleMessages):
  24300. (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
  24301. (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
  24302. (WebInspector.DebuggerPresentationModel.prototype._createPresentationMessage):
  24303. (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
  24304. (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
  24305. (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
  24306. (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
  24307. (WebInspector.PresentationCallFrame.prototype.sourceLine.sourceMappingUpdated):
  24308. (WebInspector.PresentationCallFrame.prototype.sourceLine):
  24309. * inspector/front-end/SourceFile.js:
  24310. 2011-09-06 Pavel Podivilov <podivilov@chromium.org>
  24311. Web Inspector: do not re-create RawSourceCode when toggling pretty-print mode.
  24312. https://bugs.webkit.org/show_bug.cgi?id=67647
  24313. 1) Implement RawSourceCode.setFormatted that allows toggling pretty-print mode on the fly without resetting everything.
  24314. 2) Add RawSourceCode unit tests.
  24315. 3) Remove source mapping listeners and console messages from presentation model (they live in RawSourceCode now).
  24316. Reviewed by Yury Semikhatsky.
  24317. Test: inspector/debugger/raw-source-code.html
  24318. * inspector/front-end/DebuggerPresentationModel.js:
  24319. (WebInspector.DebuggerPresentationModel):
  24320. (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
  24321. (WebInspector.DebuggerPresentationModel.prototype._addScript):
  24322. (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
  24323. (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
  24324. (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
  24325. (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
  24326. * inspector/front-end/ScriptsPanel.js:
  24327. (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
  24328. * inspector/front-end/SourceFile.js:
  24329. (WebInspector.RawSourceCode):
  24330. (WebInspector.RawSourceCode.prototype.get uiSourceCode):
  24331. (WebInspector.RawSourceCode.prototype.setFormatted):
  24332. (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
  24333. (WebInspector.RawSourceCode.prototype._saveSourceMapping):
  24334. 2011-09-08 Alexander Pavlov <apavlov@chromium.org>
  24335. Web Inspector: [REGRESSION] Clear console shortcut Ctrl + L broken
  24336. https://bugs.webkit.org/show_bug.cgi?id=67711
  24337. Reviewed by Yury Semikhatsky.
  24338. * inspector/front-end/ConsoleView.js:
  24339. (WebInspector.ConsoleView.prototype._consoleCleared):
  24340. (WebInspector.ConsoleView.prototype._registerShortcuts):
  24341. (WebInspector.ConsoleView.prototype._promptKeyDown):
  24342. 2011-09-08 Andras Becsi <andras.becsi@nokia.com>
  24343. [Qt] Build fails with strict compiler
  24344. https://bugs.webkit.org/show_bug.cgi?id=67778
  24345. Reviewed by Csaba Osztrogonác.
  24346. No new tests needed.
  24347. * platform/graphics/TiledBackingStore.cpp:
  24348. (WebCore::TiledBackingStore::resizeEdgeTiles): Remove unused contentsRect variable
  24349. which's usage was removed in r94681 to fix the build with [-Werror=unused-but-set-variable].
  24350. 2011-09-08 Sheriff Bot <webkit.review.bot@gmail.com>
  24351. Unreviewed, rolling out r94695.
  24352. http://trac.webkit.org/changeset/94695
  24353. https://bugs.webkit.org/show_bug.cgi?id=67776
  24354. Hitting an assertion on Snow Leopard, Qt, GTK (Requested by
  24355. Zoltan on #webkit).
  24356. * rendering/RenderBlock.cpp:
  24357. (WebCore::RenderBlock::positionedFloatsNeedRelayout):
  24358. (WebCore::RenderBlock::layoutPositionedObjects):
  24359. 2011-09-08 Alexander Pavlov <apavlov@chromium.org>
  24360. Unreviewed, strip trailing whitespace in the Web Inspector frontend (*.js and *.css).
  24361. * inspector/front-end/ApplicationCacheItemsView.js:
  24362. * inspector/front-end/AuditResultView.js:
  24363. * inspector/front-end/BinarySearch.js:
  24364. * inspector/front-end/CSSStyleModel.js:
  24365. * inspector/front-end/ConsoleMessage.js:
  24366. * inspector/front-end/ConsoleModel.js:
  24367. * inspector/front-end/ConsoleView.js:
  24368. * inspector/front-end/CookieItemsView.js:
  24369. * inspector/front-end/CookieParser.js:
  24370. * inspector/front-end/DOMAgent.js:
  24371. * inspector/front-end/DOMStorage.js:
  24372. * inspector/front-end/DOMStorageItemsView.js:
  24373. * inspector/front-end/DataGrid.js:
  24374. * inspector/front-end/Database.js:
  24375. * inspector/front-end/DatabaseQueryView.js:
  24376. * inspector/front-end/DetailedHeapshotGridNodes.js:
  24377. * inspector/front-end/DetailedHeapshotView.js:
  24378. * inspector/front-end/ElementsTreeOutline.js:
  24379. * inspector/front-end/EmptyView.js:
  24380. * inspector/front-end/EventListenersSidebarPane.js:
  24381. * inspector/front-end/ExtensionCommon.js:
  24382. * inspector/front-end/GoToLineDialog.js:
  24383. * inspector/front-end/HeapSnapshot.js:
  24384. * inspector/front-end/HeapSnapshotProxy.js:
  24385. * inspector/front-end/HeapSnapshotWorkerDispatcher.js:
  24386. * inspector/front-end/ImageView.js:
  24387. * inspector/front-end/InjectedFakeWorker.js:
  24388. * inspector/front-end/InspectorFrontendHostStub.js:
  24389. * inspector/front-end/MetricsSidebarPane.js:
  24390. * inspector/front-end/NetworkManager.js:
  24391. * inspector/front-end/NetworkPanel.js:
  24392. * inspector/front-end/ObjectPropertiesSection.js:
  24393. * inspector/front-end/PartialQuickSort.js:
  24394. * inspector/front-end/ProfileView.js:
  24395. * inspector/front-end/ProfilesPanel.js:
  24396. * inspector/front-end/RemoteObject.js:
  24397. * inspector/front-end/Resource.js:
  24398. * inspector/front-end/ResourceCategory.js:
  24399. * inspector/front-end/ResourceHTMLView.js:
  24400. * inspector/front-end/ResourceHeadersView.js:
  24401. * inspector/front-end/ResourceJSONView.js:
  24402. * inspector/front-end/ResourceTimingView.js:
  24403. * inspector/front-end/ResourceTreeModel.js:
  24404. * inspector/front-end/ResourceView.js:
  24405. * inspector/front-end/ResourcesPanel.js:
  24406. * inspector/front-end/SearchController.js:
  24407. * inspector/front-end/SettingsScreen.js:
  24408. * inspector/front-end/ShortcutsScreen.js:
  24409. * inspector/front-end/SourceCSSTokenizer.js:
  24410. * inspector/front-end/SourceHTMLTokenizer.js:
  24411. * inspector/front-end/SourceJavaScriptTokenizer.js:
  24412. * inspector/front-end/StatusBarButton.js:
  24413. * inspector/front-end/TextEditorModel.js:
  24414. * inspector/front-end/TimelineGrid.js:
  24415. * inspector/front-end/View.js:
  24416. * inspector/front-end/heapProfiler.css:
  24417. * inspector/front-end/inspector.css:
  24418. * inspector/front-end/inspector.js:
  24419. * inspector/front-end/inspectorSyntaxHighlight.css:
  24420. * inspector/front-end/networkPanel.css:
  24421. * inspector/front-end/treeoutline.js:
  24422. * inspector/front-end/utilities.js:
  24423. 2011-09-07 Andrey Kosyakov <caseq@chromium.org>
  24424. Web Inspector: trying to scroll mouse wheel when in TextViewer's gutter pane causes EventException::DISPATCH_REQUEST_ERR
  24425. https://bugs.webkit.org/show_bug.cgi?id=67715
  24426. Reviewed by Yury Semikhatsky.
  24427. - avoid exception on attempt to dispatch an event that is being dispatched by cloning the event.
  24428. * inspector/front-end/TextViewer.js:
  24429. (WebInspector.TextViewer.forwardWheelEvent):
  24430. (WebInspector.TextViewer):
  24431. 2011-09-07 Sheriff Bot <webkit.review.bot@gmail.com>
  24432. Unreviewed, rolling out r94674 and r94689.
  24433. http://trac.webkit.org/changeset/94674
  24434. http://trac.webkit.org/changeset/94689
  24435. https://bugs.webkit.org/show_bug.cgi?id=67754
  24436. Broke inspector/debugger/script-formatter.html (Requested by
  24437. rniwa on #webkit).
  24438. * inspector/front-end/DebuggerPresentationModel.js:
  24439. (WebInspector.DebuggerPresentationModel):
  24440. (WebInspector.DebuggerPresentationModel.prototype.addSourceMappingListener):
  24441. (WebInspector.DebuggerPresentationModel.prototype.removeSourceMappingListener):
  24442. (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
  24443. (WebInspector.DebuggerPresentationModel.prototype._addScript):
  24444. (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
  24445. (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
  24446. (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
  24447. (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
  24448. (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
  24449. * inspector/front-end/ScriptsPanel.js:
  24450. (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
  24451. * inspector/front-end/SourceFile.js:
  24452. (WebInspector.RawSourceCode):
  24453. (WebInspector.RawSourceCode.prototype.get uiSourceCode):
  24454. (WebInspector.RawSourceCode.prototype.get rawSourceCode):
  24455. (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
  24456. (WebInspector.RawSourceCode.prototype.requestContent):
  24457. (WebInspector.RawSourceCode.prototype._saveSourceMapping):
  24458. 2011-09-07 Julien Chaffraix <jchaffraix@webkit.org>
  24459. offsetFromRoot optimization is disabled after r93837
  24460. https://bugs.webkit.org/show_bug.cgi?id=67677
  24461. Reviewed by Simon Fraser.
  24462. Unfortunately not covered by any test as it does not change updateLayerPosition complexity (it is still O(n^2)
  24463. because of clippedOverflowRectForRepaint). However it is a noticeable slowdown on some use cases but we don't
  24464. have a good test harness to cover such slowdown.
  24465. * rendering/RenderLayer.cpp:
  24466. (WebCore::RenderLayer::updateLayerPositions): Pass offsetFromRoot as not doing so means that we miss
  24467. the optimization altogether.
  24468. (WebCore::RenderLayer::computeRepaintRects):
  24469. (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
  24470. * rendering/RenderLayer.h:
  24471. Renamed |cachedOffset| to |offsetFromRoot| to be consistent with our latest renaming.
  24472. 2011-09-07 Ryosuke Niwa <rniwa@webkit.org>
  24473. Windows build fix after r94737.
  24474. * rendering/RenderBlock.cpp:
  24475. (WebCore::RenderBlock::adjustRectForColumns):
  24476. 2011-09-07 Dan Bernstein <mitz@apple.com>
  24477. Removed hyphenation function implementations for an usupported build configuration.
  24478. Reviewed by Sam Weinig.
  24479. * platform/text/cf/HyphenationCF.cpp:
  24480. 2011-09-07 David Hyatt <hyatt@apple.com>
  24481. https://bugs.webkit.org/show_bug.cgi?id=67739
  24482. adjustRectForColumns is O(# of columns) when it can be O(1). Fix the slow performance of this
  24483. function by removing the loop and just computing the start and end column for a repaint rect
  24484. and uniting everything in between.
  24485. Reviewed by Dan Bernstein.
  24486. * rendering/RenderBlock.cpp:
  24487. (WebCore::RenderBlock::adjustRectForColumns):
  24488. 2011-09-07 Sheriff Bot <webkit.review.bot@gmail.com>
  24489. Unreviewed, rolling out r94714 and r94723.
  24490. http://trac.webkit.org/changeset/94714
  24491. http://trac.webkit.org/changeset/94723
  24492. https://bugs.webkit.org/show_bug.cgi?id=67746
  24493. breaks gtk-linux tests with assertion failure (Requested by
  24494. thorton on #webkit).
  24495. * platform/graphics/GraphicsContext.cpp:
  24496. (WebCore::GraphicsContext::GraphicsContext):
  24497. (WebCore::GraphicsContext::~GraphicsContext):
  24498. * platform/graphics/GraphicsContext.h:
  24499. (WebCore::GraphicsContext::inTransparencyLayer):
  24500. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  24501. (WebCore::GraphicsContext::beginTransparencyLayer):
  24502. (WebCore::GraphicsContext::endTransparencyLayer):
  24503. * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
  24504. (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
  24505. (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
  24506. * platform/graphics/cg/GraphicsContextCG.cpp:
  24507. (WebCore::GraphicsContext::beginTransparencyLayer):
  24508. (WebCore::GraphicsContext::endTransparencyLayer):
  24509. * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
  24510. (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
  24511. (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
  24512. (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
  24513. (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
  24514. * platform/graphics/haiku/GraphicsContextHaiku.cpp:
  24515. (WebCore::GraphicsContext::beginTransparencyLayer):
  24516. (WebCore::GraphicsContext::endTransparencyLayer):
  24517. * platform/graphics/mac/FontMac.mm:
  24518. (WebCore::Font::drawGlyphs):
  24519. * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
  24520. (WebCore::GraphicsContext::beginTransparencyLayer):
  24521. (WebCore::GraphicsContext::endTransparencyLayer):
  24522. * platform/graphics/qt/GraphicsContextQt.cpp:
  24523. (WebCore::GraphicsContext::inTransparencyLayer):
  24524. (WebCore::GraphicsContext::beginTransparencyLayer):
  24525. (WebCore::GraphicsContext::endTransparencyLayer):
  24526. * platform/graphics/skia/GraphicsContextSkia.cpp:
  24527. (WebCore::GraphicsContext::beginTransparencyLayer):
  24528. (WebCore::GraphicsContext::endTransparencyLayer):
  24529. * platform/graphics/win/FontCGWin.cpp:
  24530. (WebCore::drawGDIGlyphs):
  24531. * platform/graphics/win/GraphicsContextCGWin.cpp:
  24532. (WebCore::GraphicsContext::releaseWindowsContext):
  24533. * platform/graphics/win/GraphicsContextCairoWin.cpp:
  24534. (WebCore::GraphicsContext::releaseWindowsContext):
  24535. * platform/graphics/win/GraphicsContextWin.cpp:
  24536. (WebCore::GraphicsContext::inTransparencyLayer):
  24537. (WebCore::GraphicsContext::getWindowsContext):
  24538. * platform/graphics/wince/GraphicsContextWinCE.cpp:
  24539. (WebCore::GraphicsContext::beginTransparencyLayer):
  24540. (WebCore::GraphicsContext::endTransparencyLayer):
  24541. * platform/graphics/wx/GraphicsContextWx.cpp:
  24542. (WebCore::GraphicsContext::beginTransparencyLayer):
  24543. (WebCore::GraphicsContext::endTransparencyLayer):
  24544. * platform/win/ScrollbarThemeWin.cpp:
  24545. (WebCore::ScrollbarThemeWin::paintTrackPiece):
  24546. (WebCore::ScrollbarThemeWin::paintButton):
  24547. (WebCore::ScrollbarThemeWin::paintThumb):
  24548. * plugins/win/PluginViewWin.cpp:
  24549. (WebCore::PluginView::paint):
  24550. * rendering/RenderThemeWin.cpp:
  24551. (WebCore::drawControl):
  24552. 2011-09-07 Chris Fleizach <cfleizach@apple.com>
  24553. Changes to aria-hidden don't change VO navigation
  24554. https://bugs.webkit.org/show_bug.cgi?id=67722
  24555. Reviewed by Darin Adler.
  24556. When altering aria-hidden, WebCore needs to update the children caches of
  24557. affected elements. However, for elements that were children, but ignored, their
  24558. caches did not get updated, and stale information would be propagated.
  24559. The fix is to always clearChildren() when a parent is asking for children. This
  24560. ensures information is always up to date when the parent itself is asking for new data.
  24561. Test: accessibility/aria-hidden-updates-alldescendants.html
  24562. * accessibility/AccessibilityObject.h:
  24563. * accessibility/AccessibilityRenderObject.cpp:
  24564. (WebCore::AccessibilityRenderObject::ariaIsHidden):
  24565. (WebCore::AccessibilityRenderObject::childrenChanged):
  24566. (WebCore::AccessibilityRenderObject::addChildren):
  24567. 2011-09-07 Tim Horton <timothy_horton@apple.com>
  24568. Text rendered with a simple (i.e. 0px blur) shadow inside a transparency layer has a double shadow
  24569. https://bugs.webkit.org/show_bug.cgi?id=67543
  24570. <rdar://problem/10070536>
  24571. Reviewed by Simon Fraser.
  24572. Generalize (begin|end)TransparencyLayer, which now forward
  24573. through to (begin|end)PlatformTransparencyLayer, so that
  24574. isInTransparencyLayer can exist on every platform.
  24575. Make use of isInTransparencyLayer in FontMac to disable
  24576. "simple" shadow drawing when the text is being rendered
  24577. into a transparency layer.
  24578. Test: svg/custom/simple-text-double-shadow.svg
  24579. * platform/graphics/GraphicsContext.cpp:
  24580. (WebCore::GraphicsContext::GraphicsContext):
  24581. (WebCore::GraphicsContext::~GraphicsContext):
  24582. (WebCore::GraphicsContext::beginTransparencyLayer):
  24583. (WebCore::GraphicsContext::endTransparencyLayer):
  24584. (WebCore::GraphicsContext::isInTransparencyLayer):
  24585. * platform/graphics/GraphicsContext.h:
  24586. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  24587. (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
  24588. (WebCore::GraphicsContext::endPlatformTransparencyLayer):
  24589. (WebCore::GraphicsContext::supportsTransparencyLayers):
  24590. * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
  24591. * platform/graphics/cg/GraphicsContextCG.cpp:
  24592. (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
  24593. (WebCore::GraphicsContext::endPlatformTransparencyLayer):
  24594. (WebCore::GraphicsContext::supportsTransparencyLayers):
  24595. * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
  24596. (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
  24597. * platform/graphics/haiku/GraphicsContextHaiku.cpp:
  24598. (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
  24599. (WebCore::GraphicsContext::endPlatformTransparencyLayer):
  24600. (WebCore::GraphicsContext::supportsTransparencyLayers):
  24601. * platform/graphics/mac/FontMac.mm:
  24602. (WebCore::Font::drawGlyphs):
  24603. * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
  24604. (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
  24605. (WebCore::GraphicsContext::endPlatformTransparencyLayer):
  24606. (WebCore::GraphicsContext::supportsTransparencyLayers):
  24607. * platform/graphics/qt/GraphicsContextQt.cpp:
  24608. (WebCore::GraphicsContext::isInTransparencyLayer):
  24609. (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
  24610. (WebCore::GraphicsContext::endPlatformTransparencyLayer):
  24611. (WebCore::GraphicsContext::supportsTransparencyLayers):
  24612. * platform/graphics/skia/GraphicsContextSkia.cpp:
  24613. (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
  24614. (WebCore::GraphicsContext::endPlatformTransparencyLayer):
  24615. (WebCore::GraphicsContext::supportsTransparencyLayers):
  24616. * platform/graphics/win/FontCGWin.cpp:
  24617. (WebCore::drawGDIGlyphs):
  24618. * platform/graphics/win/GraphicsContextCGWin.cpp:
  24619. (WebCore::GraphicsContext::releaseWindowsContext):
  24620. * platform/graphics/win/GraphicsContextCairoWin.cpp:
  24621. (WebCore::GraphicsContext::releaseWindowsContext):
  24622. * platform/graphics/win/GraphicsContextWin.cpp:
  24623. (WebCore::GraphicsContext::getWindowsContext):
  24624. * platform/graphics/wince/GraphicsContextWinCE.cpp:
  24625. (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
  24626. (WebCore::GraphicsContext::endPlatformTransparencyLayer):
  24627. (WebCore::GraphicsContext::supportsTransparencyLayers):
  24628. * platform/graphics/wx/GraphicsContextWx.cpp:
  24629. (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
  24630. (WebCore::GraphicsContext::endPlatformTransparencyLayer):
  24631. (WebCore::GraphicsContext::supportsTransparencyLayers):
  24632. * platform/win/ScrollbarThemeWin.cpp:
  24633. * plugins/win/PluginViewWin.cpp:
  24634. * rendering/RenderThemeWin.cpp:
  24635. 2011-09-07 Dan Bernstein <mitz@apple.com>
  24636. <rdar://problem/8881922> Support the hyphenate-limit-lines property
  24637. https://bugs.webkit.org/show_bug.cgi?id=67730
  24638. Reviewed by Dave Hyatt.
  24639. Tests: fast/css/parsing-hyphenate-limit-lines.html
  24640. fast/text/hyphenate-limit-lines.html
  24641. * css/CSSComputedStyleDeclaration.cpp:
  24642. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added hyphenate-limit-lines.
  24643. * css/CSSParser.cpp:
  24644. (WebCore::CSSParser::parseValue): Ditto. Valid values are non-negative integers and the keyword
  24645. "no-limit".
  24646. * css/CSSPropertyNames.in: Added -webkit-hyphenate-limit-lines.
  24647. * css/CSSStyleSelector.cpp:
  24648. (WebCore::CSSStyleSelector::applyProperty): Added hyphenate-limit-lines.
  24649. * css/CSSValueKeywords.in: Added the "no-limit" value keyword.
  24650. * rendering/RenderBlock.h:
  24651. * rendering/RenderBlockLineLayout.cpp:
  24652. (WebCore::RenderBlock::layoutRunsAndFloats): Count the number of consecutive hyphenated lines
  24653. before the start line and pass it to layoutRunsAndFloatsInRange().
  24654. (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Keep track of the number of consecutive
  24655. hyphenated lines before the current line and pass it to LineBreaker::nextLineBreak().
  24656. (WebCore::tryHyphenating): Added parameters for the number of consecutive hyphenated lines before
  24657. the current line and the limit on consecutive hyphenated lines, and an early return if the limit
  24658. has been reached.
  24659. (WebCore::RenderBlock::LineBreaker::nextLineBreak): Added a parameter for the number of consecutive
  24660. hyphenated lines before the current line, which is passed through to tryHyphenating, along with
  24661. the value of hyphenate-limit-lines.
  24662. * rendering/RootInlineBox.cpp:
  24663. (WebCore::RootInlineBox::isHyphenated): Added. Returns true if the line was hyphenated.
  24664. * rendering/RootInlineBox.h:
  24665. * rendering/style/RenderStyle.h:
  24666. (WebCore::InheritedFlags::hyphenationLimitLines): Added this getter.
  24667. (WebCore::InheritedFlags::setHyphenationLimitLines): Added this setter.
  24668. (WebCore::InheritedFlags::initialHyphenationLimitLines): Added. The initial value is -1,
  24669. corresponding to "no-limit".
  24670. * rendering/style/StyleRareInheritedData.cpp:
  24671. (WebCore::StyleRareInheritedData::StyleRareInheritedData): Initialize new member variable.
  24672. (WebCore::StyleRareInheritedData::operator==): Compare new member variable.
  24673. * rendering/style/StyleRareInheritedData.h:
  24674. 2011-09-02 Ojan Vafai <ojan@chromium.org>
  24675. split overrideSize into overrideHeight and overrideWidth
  24676. https://bugs.webkit.org/show_bug.cgi?id=67550
  24677. Reviewed by Sam Weinig.
  24678. All uses of overrideSize only set one of the width or the height.
  24679. This change removes a bool from RenderObject and removes some
  24680. flexbox specific logic from RenderBox.
  24681. The only downside is that we have two global maps where we used
  24682. to have one.
  24683. No functional changes so existing tests are sufficient.
  24684. * rendering/RenderBox.cpp:
  24685. (WebCore::RenderBox::hasOverrideHeight):
  24686. (WebCore::RenderBox::hasOverrideWidth):
  24687. (WebCore::RenderBox::setOverrideHeight):
  24688. (WebCore::RenderBox::setOverrideWidth):
  24689. (WebCore::RenderBox::clearOverrideSize):
  24690. (WebCore::RenderBox::overrideWidth):
  24691. (WebCore::RenderBox::overrideHeight):
  24692. (WebCore::RenderBox::computeLogicalWidth):
  24693. (WebCore::RenderBox::computeLogicalHeight):
  24694. (WebCore::RenderBox::computePercentageLogicalHeight):
  24695. * rendering/RenderBox.h:
  24696. * rendering/RenderDeprecatedFlexibleBox.cpp:
  24697. (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
  24698. (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
  24699. (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
  24700. * rendering/RenderFlexibleBox.cpp:
  24701. (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenHorizontal):
  24702. * rendering/RenderObject.cpp:
  24703. (WebCore::RenderObject::RenderObject):
  24704. * rendering/RenderObject.h:
  24705. * rendering/RenderTableCell.cpp:
  24706. (WebCore::RenderTableCell::setOverrideHeightFromRowHeight):
  24707. * rendering/RenderTableCell.h:
  24708. * rendering/RenderTableSection.cpp:
  24709. (WebCore::RenderTableSection::calcRowLogicalHeight):
  24710. (WebCore::RenderTableSection::layoutRows):
  24711. 2011-09-07 Alexei Svitkine <asvitkine@chromium.org>
  24712. Add test infrastructure to test rubber-banding overhang drawing along with layout tests for existing Chromium Mac overhang drawing in the non-gpu path.
  24713. https://bugs.webkit.org/show_bug.cgi?id=67511
  24714. Reviewed by Dimitri Glazkov.
  24715. Tests: platform/chromium-mac/rubberbanding/overhang-e.html
  24716. platform/chromium-mac/rubberbanding/overhang-n.html
  24717. platform/chromium-mac/rubberbanding/overhang-ne.html
  24718. platform/chromium-mac/rubberbanding/overhang-nw.html
  24719. platform/chromium-mac/rubberbanding/overhang-s.html
  24720. platform/chromium-mac/rubberbanding/overhang-se.html
  24721. platform/chromium-mac/rubberbanding/overhang-sw.html
  24722. platform/chromium-mac/rubberbanding/overhang-w.html
  24723. * WebCore.exp.in:
  24724. * platform/ScrollableArea.h:
  24725. * testing/Internals.cpp:
  24726. (WebCore::Internals::setScrollViewPosition):
  24727. * testing/Internals.h:
  24728. * testing/Internals.idl:
  24729. 2011-09-07 David Reveman <reveman@chromium.org>
  24730. [Chromium] Render surface anti-aliasing.
  24731. https://bugs.webkit.org/show_bug.cgi?id=66437
  24732. Reviewed by James Robinson.
  24733. Add CCLayerQuad class and CCLayerQuad::Edge subclass to allow
  24734. edge computations to be shared between tiled layers and render
  24735. surfaces. Move isCCW utility function to FloatQuad class and
  24736. add to2dTransform method to TransformationMatrix class. Add
  24737. necessary anti-aliasing shaders for render surfaces and use them
  24738. to avoid aliased edges.
  24739. Tests: compositing/reflections/nested-reflection-transformed.html (existing)
  24740. * WebCore.gypi:
  24741. * platform/graphics/FloatQuad.cpp:
  24742. (WebCore::FloatQuad::isCounterclockwise):
  24743. * platform/graphics/FloatQuad.h:
  24744. * platform/graphics/chromium/LayerChromium.cpp:
  24745. (WebCore::LayerChromium::drawTexturedQuad):
  24746. * platform/graphics/chromium/LayerChromium.h:
  24747. * platform/graphics/chromium/LayerRendererChromium.cpp:
  24748. (WebCore::LayerRendererChromium::LayerRendererChromium):
  24749. (WebCore::LayerRendererChromium::headsUpDisplayProgram):
  24750. (WebCore::LayerRendererChromium::renderSurfaceProgram):
  24751. (WebCore::LayerRendererChromium::renderSurfaceProgramAA):
  24752. (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
  24753. (WebCore::LayerRendererChromium::renderSurfaceMaskProgramAA):
  24754. (WebCore::LayerRendererChromium::tilerProgramSwizzle):
  24755. (WebCore::LayerRendererChromium::canvasLayerProgram):
  24756. (WebCore::LayerRendererChromium::pluginLayerProgram):
  24757. (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
  24758. (WebCore::LayerRendererChromium::videoLayerYUVProgram):
  24759. (WebCore::LayerRendererChromium::cleanupSharedObjects):
  24760. * platform/graphics/chromium/LayerRendererChromium.h:
  24761. (WebCore::LayerRendererChromium::sharedGeometryQuad):
  24762. * platform/graphics/chromium/ShaderChromium.cpp:
  24763. (WebCore::VertexShaderQuad::VertexShaderQuad):
  24764. (WebCore::VertexShaderQuad::init):
  24765. (WebCore::VertexShaderQuad::getShaderString):
  24766. (WebCore::FragmentShaderRGBATexAlphaAA::FragmentShaderRGBATexAlphaAA):
  24767. (WebCore::FragmentShaderRGBATexAlphaAA::init):
  24768. (WebCore::FragmentShaderRGBATexAlphaAA::getShaderString):
  24769. (WebCore::FragmentTexClampAlphaAABinding::FragmentTexClampAlphaAABinding):
  24770. (WebCore::FragmentTexClampAlphaAABinding::init):
  24771. (WebCore::FragmentShaderRGBATexClampAlphaAA::getShaderString):
  24772. (WebCore::FragmentShaderRGBATexClampSwizzleAlphaAA::getShaderString):
  24773. (WebCore::FragmentShaderRGBATexAlphaMaskAA::FragmentShaderRGBATexAlphaMaskAA):
  24774. (WebCore::FragmentShaderRGBATexAlphaMaskAA::init):
  24775. (WebCore::FragmentShaderRGBATexAlphaMaskAA::getShaderString):
  24776. * platform/graphics/chromium/ShaderChromium.h:
  24777. (WebCore::VertexShaderQuad::matrixLocation):
  24778. (WebCore::VertexShaderQuad::pointLocation):
  24779. (WebCore::FragmentShaderRGBATexAlphaAA::alphaLocation):
  24780. (WebCore::FragmentShaderRGBATexAlphaAA::samplerLocation):
  24781. (WebCore::FragmentShaderRGBATexAlphaAA::edgeLocation):
  24782. (WebCore::FragmentShaderRGBATexAlphaMaskAA::alphaLocation):
  24783. (WebCore::FragmentShaderRGBATexAlphaMaskAA::samplerLocation):
  24784. (WebCore::FragmentShaderRGBATexAlphaMaskAA::maskSamplerLocation):
  24785. (WebCore::FragmentShaderRGBATexAlphaMaskAA::edgeLocation):
  24786. * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
  24787. (WebCore::CCCanvasLayerImpl::draw):
  24788. * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
  24789. (WebCore::CCHeadsUpDisplay::draw):
  24790. * platform/graphics/chromium/cc/CCLayerQuad.cpp: Added.
  24791. (WebCore::CCLayerQuad::Edge::Edge):
  24792. (WebCore::CCLayerQuad::CCLayerQuad):
  24793. (WebCore::CCLayerQuad::floatQuad):
  24794. (WebCore::CCLayerQuad::toFloatArray):
  24795. * platform/graphics/chromium/cc/CCLayerQuad.h: Added.
  24796. (WebCore::CCLayerQuad::Edge::Edge):
  24797. (WebCore::CCLayerQuad::Edge::x):
  24798. (WebCore::CCLayerQuad::Edge::y):
  24799. (WebCore::CCLayerQuad::Edge::z):
  24800. (WebCore::CCLayerQuad::Edge::setX):
  24801. (WebCore::CCLayerQuad::Edge::setY):
  24802. (WebCore::CCLayerQuad::Edge::setZ):
  24803. (WebCore::CCLayerQuad::Edge::set):
  24804. (WebCore::CCLayerQuad::Edge::moveX):
  24805. (WebCore::CCLayerQuad::Edge::moveY):
  24806. (WebCore::CCLayerQuad::Edge::moveZ):
  24807. (WebCore::CCLayerQuad::Edge::move):
  24808. (WebCore::CCLayerQuad::Edge::scaleX):
  24809. (WebCore::CCLayerQuad::Edge::scaleY):
  24810. (WebCore::CCLayerQuad::Edge::scaleZ):
  24811. (WebCore::CCLayerQuad::Edge::scale):
  24812. (WebCore::CCLayerQuad::Edge::intersect):
  24813. (WebCore::CCLayerQuad::CCLayerQuad):
  24814. (WebCore::CCLayerQuad::left):
  24815. (WebCore::CCLayerQuad::top):
  24816. (WebCore::CCLayerQuad::right):
  24817. (WebCore::CCLayerQuad::bottom):
  24818. (WebCore::CCLayerQuad::inflateX):
  24819. (WebCore::CCLayerQuad::inflateY):
  24820. (WebCore::CCLayerQuad::inflate):
  24821. (WebCore::CCLayerQuad::inflateAntiAliasingDistance):
  24822. * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
  24823. (WebCore::CCPluginLayerImpl::draw):
  24824. * platform/graphics/chromium/cc/CCRenderSurface.cpp:
  24825. (WebCore::CCRenderSurface::draw):
  24826. (WebCore::CCRenderSurface::drawLayer):
  24827. (WebCore::CCRenderSurface::drawSurface):
  24828. * platform/graphics/chromium/cc/CCRenderSurface.h:
  24829. * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
  24830. (WebCore::CCTiledLayerImpl::draw):
  24831. (WebCore::CCTiledLayerImpl::drawTiles):
  24832. * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
  24833. * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
  24834. (WebCore::CCVideoLayerImpl::drawYUV):
  24835. (WebCore::CCVideoLayerImpl::drawRGBA):
  24836. * platform/graphics/transforms/TransformationMatrix.cpp:
  24837. (WebCore::TransformationMatrix::to2dTransform):
  24838. * platform/graphics/transforms/TransformationMatrix.h:
  24839. 2011-09-06 Oliver Hunt <oliver@apple.com>
  24840. Remove JSObjectWithGlobalObject
  24841. https://bugs.webkit.org/show_bug.cgi?id=67689
  24842. Reviewed by Geoff Garen.
  24843. Remove use of anonymous storage and JSObjectWithGlobalObject for
  24844. accessing a JSObject's global object now that they're available
  24845. on the object's structure.
  24846. * bindings/js/JSDOMWindowShell.cpp:
  24847. (WebCore::JSDOMWindowShell::setWindow):
  24848. * bindings/js/JSDOMWrapper.h:
  24849. (WebCore::JSDOMWrapper::globalObject):
  24850. (WebCore::JSDOMWrapper::JSDOMWrapper):
  24851. * bindings/js/WorkerScriptController.cpp:
  24852. (WebCore::WorkerScriptController::initScript):
  24853. * bindings/scripts/CodeGeneratorJS.pm:
  24854. (GenerateHeader):
  24855. (GenerateImplementation):
  24856. * bridge/objc/objc_runtime.h:
  24857. * bridge/objc/objc_runtime.mm:
  24858. (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
  24859. (JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
  24860. * bridge/runtime_object.cpp:
  24861. (JSC::Bindings::RuntimeObject::RuntimeObject):
  24862. (JSC::Bindings::RuntimeObject::finishCreation):
  24863. * bridge/runtime_object.h:
  24864. 2011-09-07 Ryosuke Niwa <rniwa@webkit.org>
  24865. Mac build fix after r94694.
  24866. * WebCore.xcodeproj/project.pbxproj:
  24867. 2011-09-07 Tim Horton <timothy_horton@apple.com>
  24868. FELighting is using width instead of height to determine skip for parallel(n>2) case
  24869. https://bugs.webkit.org/show_bug.cgi?id=67719
  24870. <rdar://problem/10086178>
  24871. Reviewed by Dirk Schulze.
  24872. No new tests, because the bug only exhibits under conditions which are currently
  24873. impossible by default (using more than 2 cores) on some platforms.
  24874. * platform/graphics/filters/FELighting.cpp:
  24875. (WebCore::FELighting::platformApplyGeneric):
  24876. 2011-09-07 W. James MacLean <wjmaclean@chromium.org>
  24877. Eliminate motion jitter in animated, blurred SVG image
  24878. https://bugs.webkit.org/show_bug.cgi?id=67503
  24879. Fixes filter shear-free transform applied to SVG images.
  24880. In applyResource() the shearFreeAbsoluteTransform is applied to the drawing region,
  24881. which is based on the object bounding box (which doesn't move). For a rotation
  24882. around the centre of the box, this should really just be the identity matrix,
  24883. since the BB should neither change size nor location. So really, we're just interested
  24884. in the scale change of the BB here, and not in moving it.
  24885. This impacts how slices are extracted, and affects the {x|y}Mid and {x|y}Max extractions
  24886. for vertical and horizontal slices, so the test verifies these.
  24887. Reviewed by Dirk Schulze.
  24888. Test: svg/W3C-SVG-1.1-SE/filters-image-05-f.svg
  24889. * rendering/svg/RenderSVGResourceFilter.cpp:
  24890. (WebCore::RenderSVGResourceFilter::applyResource):
  24891. 2011-09-03 Robert Hogan <robert@webkit.org>
  24892. Elements with position:absolute don't move to correct position after images load
  24893. https://bugs.webkit.org/show_bug.cgi?id=54611
  24894. Reviewed by Simon Fraser.
  24895. Test: fast/block/positioning/absolute-layout-after-image-load.html
  24896. fast/block/positioning/positioned-float-layout-after-image-load.html
  24897. In the test the 'label' block is an absolutely positioned child of an inline flow. So during layout,
  24898. this RenderBlock::layoutPositionedObjects fails to dirty it for rendering because it requires
  24899. the parent to be a BlockFlow. The code to do this was introduced in http://trac.webkit.org/changeset/8284.
  24900. There doesn't seem to be a good reason for requiring a BlockFlow, so remove the check. Do the same
  24901. for positioned floats in RenderBlock::positionedFloatsNeedRelayout(), although currently layoutPositionedObjects()
  24902. takes care of it this at least ensures no regression in future.
  24903. Note: Although the issue is encountered only on first load without a fragment identifier, it
  24904. happens reliably when you include the fragment identifier in the url (#Footnote_1). This is so
  24905. because scrolling to the fragment always happens before the image has loaded, rendering the page
  24906. and clearing the initial dirty bits in the positioned element's renderer. When the image finally
  24907. loads in this scenario, the positioned element is otherwise clean and relies on the above code to get
  24908. re-rendered.
  24909. * rendering/RenderBlock.cpp:
  24910. (WebCore::RenderBlock::layoutPositionedObjects): remove the check for r->parent()->isBlockFlow() when
  24911. deciding whether to mark children for layout
  24912. (WebCore::RenderBlock::positionedFloatsNeedRelayout): ditto
  24913. 2011-09-07 Anna Cavender <annacc@chromium.org>
  24914. Moving platform/track to html/track to avoid layering violation.
  24915. https://bugs.webkit.org/show_bug.cgi?id=67680
  24916. Reviewed by Adam Barth.
  24917. No new tests. No new functionality.
  24918. * CMakeLists.txt:
  24919. * GNUmakefile.am:
  24920. * GNUmakefile.list.am:
  24921. * WebCore.gyp/WebCore.gyp:
  24922. * WebCore.gypi:
  24923. * WebCore.pri:
  24924. * WebCore.pro:
  24925. * html/track/CueParser.cpp: Renamed from Source/WebCore/platform/track/CueParser.cpp.
  24926. * html/track/CueParser.h: Renamed from Source/WebCore/platform/track/CueParser.h.
  24927. * html/track/CueParserPrivate.h: Renamed from Source/WebCore/platform/track/CueParserPrivate.h.
  24928. * html/track/WebVTTParser.cpp: Renamed from Source/WebCore/platform/track/WebVTTParser.cpp.
  24929. * html/track/WebVTTParser.h: Renamed from Source/WebCore/platform/track/WebVTTParser.h.
  24930. * html/track/WebVTTToken.h: Renamed from Source/WebCore/platform/track/WebVTTToken.h.
  24931. * html/track/WebVTTTokenizer.cpp: Renamed from Source/WebCore/platform/track/WebVTTTokenizer.cpp.
  24932. * html/track/WebVTTTokenizer.h: Renamed from Source/WebCore/platform/track/WebVTTTokenizer.h.
  24933. 2011-09-07 David Hyatt <hyatt@apple.com>
  24934. https://bugs.webkit.org/show_bug.cgi?id=67286
  24935. REGRESSION: css2.1/t090204-display-change-01-b-ao.html fails after r94084.
  24936. Make sure that the trailing floats line box explicitly sets the line top with leading and line bottom with
  24937. leading to just be the block height.
  24938. Reviewed by Dan Bernstein.
  24939. * rendering/RenderBlockLineLayout.cpp:
  24940. (WebCore::RenderBlock::linkToEndLineIfNeeded):
  24941. 2011-09-06 Abhishek Arya <inferno@chromium.org>
  24942. Null owningRenderer crash in RenderScrollbar::updateScrollbarParts.
  24943. https://bugs.webkit.org/show_bug.cgi?id=67669
  24944. Reviewed by James Robinson.
  24945. Owning renderer can be cleared for custom scrollbars in clearOwningRenderer()
  24946. call. We need a null check in updateScrollbarParts, so that we do not crash.
  24947. No tests since issue seen in crash reports only and I donot know a way to
  24948. reproduce.
  24949. * rendering/RenderScrollbar.cpp:
  24950. (WebCore::RenderScrollbar::updateScrollbarParts):
  24951. 2011-09-05 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
  24952. [Qt][WK2] Make TiledDrawingArea request tiles only in the direction the viewport is panned to.
  24953. https://bugs.webkit.org/show_bug.cgi?id=67606
  24954. Reviewed by Noam Rosenthal.
  24955. TiledBackingStore previously used different values for horizontal and vertial multiplication
  24956. to calculate the cover area.
  24957. This patch replaces this mechanism, used to give a bigger panning range to vertical panning,
  24958. with the possibility to use the motion vector of the viewport to request tiles ahead instead.
  24959. This allows economies on rendering resources as tiles won't be rendered beside the trajectory
  24960. of the viewport.
  24961. * platform/graphics/TiledBackingStore.cpp:
  24962. (WebCore::TiledBackingStore::TiledBackingStore):
  24963. (WebCore::TiledBackingStore::setKeepAndCoverAreaMultipliers):
  24964. (WebCore::TiledBackingStore::setCoverAreaFocusVector):
  24965. (WebCore::TiledBackingStore::createTiles):
  24966. (WebCore::TiledBackingStore::calculateKeepRect):
  24967. (WebCore::TiledBackingStore::calculateCoverRect):
  24968. * platform/graphics/TiledBackingStore.h:
  24969. (WebCore::TiledBackingStore::getKeepAndCoverAreaMultipliers):
  24970. 2011-09-01 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
  24971. [Qt] TiledBackingStore: Import the resizeEdgeTiles logic from TiledDrawindAreaProxy.
  24972. https://bugs.webkit.org/show_bug.cgi?id=67416
  24973. Reviewed by Kenneth Rohde Christiansen.
  24974. Original code by Antti Koivisto.
  24975. With the current code, when the page is layouted during load, edge tiles will
  24976. get removed instead of continuing to show their front buffer while the tile
  24977. is being rendered for the new size.
  24978. * platform/graphics/Tile.h:
  24979. * platform/graphics/TiledBackingStore.cpp:
  24980. (WebCore::TiledBackingStore::createTiles):
  24981. (WebCore::TiledBackingStore::resizeEdgeTiles):
  24982. * platform/graphics/TiledBackingStore.h:
  24983. * platform/graphics/qt/TileQt.cpp:
  24984. (WebCore::TileQt::resize):
  24985. * platform/graphics/qt/TileQt.h:
  24986. 2011-09-07 Tim Horton <timothy_horton@apple.com>
  24987. Don't round-trip through TransformationMatrix in SVGImageBufferTools::clearAffineTransform2DRotation
  24988. https://bugs.webkit.org/show_bug.cgi?id=67242
  24989. <rdar://problem/10069770>
  24990. Reviewed by Dirk Schulze.
  24991. No new tests, minor performance improvement.
  24992. * platform/graphics/transforms/AffineTransform.cpp:
  24993. (WebCore::AffineTransform::blend):
  24994. (WebCore::AffineTransform::decompose):
  24995. (WebCore::AffineTransform::recompose):
  24996. * platform/graphics/transforms/AffineTransform.h:
  24997. * rendering/svg/SVGImageBufferTools.cpp:
  24998. (WebCore::SVGImageBufferTools::clear2DRotation):
  24999. 2011-09-06 Pavel Podivilov <podivilov@chromium.org>
  25000. Web Inspector: do not re-create RawSourceCode when toggling pretty-print mode.
  25001. https://bugs.webkit.org/show_bug.cgi?id=67647
  25002. 1) Implement RawSourceCode.setFormatted that allows toggling pretty-print mode on the fly without resetting everything.
  25003. 2) Add RawSourceCode unit tests.
  25004. 3) Remove source mapping listeners and console messages from presentation model (they live in RawSourceCode now).
  25005. Reviewed by Yury Semikhatsky.
  25006. Test: inspector/debugger/raw-source-code.html
  25007. * inspector/front-end/DebuggerPresentationModel.js:
  25008. (WebInspector.DebuggerPresentationModel):
  25009. (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
  25010. (WebInspector.DebuggerPresentationModel.prototype._addScript):
  25011. (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
  25012. (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
  25013. (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
  25014. (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
  25015. * inspector/front-end/ScriptsPanel.js:
  25016. (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
  25017. * inspector/front-end/SourceFile.js:
  25018. (WebInspector.RawSourceCode):
  25019. (WebInspector.RawSourceCode.prototype.get uiSourceCode):
  25020. (WebInspector.RawSourceCode.prototype.setFormatted):
  25021. (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
  25022. (WebInspector.RawSourceCode.prototype._saveSourceMapping):
  25023. 2011-09-07 Alexander Pavlov <apavlov@chromium.org>
  25024. Web Inspector: Implement circular tabbing through the Styles sidebar pane contents
  25025. https://bugs.webkit.org/show_bug.cgi?id=67127
  25026. Reviewed by Yury Semikhatsky.
  25027. * inspector/front-end/Section.js:
  25028. (WebInspector.Section.prototype.get firstSibling):
  25029. (WebInspector.Section.prototype.get lastSibling):
  25030. * inspector/front-end/StylesSidebarPane.js:
  25031. (WebInspector.StylePropertiesSection.prototype.nextEditableSibling):
  25032. (WebInspector.StylePropertiesSection.prototype.previousEditableSibling):
  25033. (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
  25034. (WebInspector.StylePropertiesSection.prototype._moveEditorFromSelector):
  25035. (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
  25036. (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
  25037. (WebInspector.StylePropertyTreeElement.prototype):
  25038. (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
  25039. 2011-09-02 Andrey Kosyakov <caseq@chromium.org>
  25040. Web Inspector: [Extensions API] expose console API
  25041. https://bugs.webkit.org/show_bug.cgi?id=67506
  25042. Reviewed by Pavel Feldman.
  25043. Test: inspector/extensions/extensions-console.html
  25044. * inspector/front-end/ConsoleMessage.js:
  25045. (WebInspector.ConsoleMessage.prototype.get text):
  25046. (WebInspector.ConsoleMessage.prototype.get parameters):
  25047. * inspector/front-end/ExtensionAPI.js:
  25048. (WebInspector.injectedExtensionAPI.InspectorExtensionAPI):
  25049. (WebInspector.injectedExtensionAPI):
  25050. (WebInspector.injectedExtensionAPI.Console.prototype.getMessages):
  25051. (WebInspector.injectedExtensionAPI.Console.prototype.addMessage):
  25052. (WebInspector.injectedExtensionAPI.Console.prototype.get MessageLevel):
  25053. (WebInspector.injectedExtensionAPI.Network.dispatchRequestEvent):
  25054. (WebInspector.injectedExtensionAPI.Network):
  25055. (WebInspector.injectedExtensionAPI.AuditCategoryImpl.dispatchAuditEvent):
  25056. (WebInspector.injectedExtensionAPI.AuditCategoryImpl):
  25057. (WebInspector.injectedExtensionAPI.InspectedWindow.dispatchResourceEvent):
  25058. (WebInspector.injectedExtensionAPI.InspectedWindow.dispatchResourceContentEvent):
  25059. (WebInspector.injectedExtensionAPI.InspectedWindow):
  25060. * inspector/front-end/ExtensionCommon.js:
  25061. (WebInspector.commonExtensionSymbols):
  25062. * inspector/front-end/ExtensionServer.js:
  25063. (WebInspector.ExtensionServer):
  25064. (WebInspector.ExtensionServer.prototype._notifyConsoleMessageAdded):
  25065. (WebInspector.ExtensionServer.prototype._onGetConsoleMessages):
  25066. (WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
  25067. (WebInspector.ExtensionServer.prototype._makeConsoleMessage):
  25068. (WebInspector.ExtensionServer.prototype._makeConsoleMessage.convertParameter):
  25069. (WebInspector.ExtensionServer.prototype._dispatchCallback):
  25070. (WebInspector.ExtensionServer.prototype.initExtensions):
  25071. 2011-09-05 Andrey Kosyakov <caseq@chromium.org>
  25072. Web Inspector: disable popover when a mouse button is pressed
  25073. https://bugs.webkit.org/show_bug.cgi?id=67610
  25074. Reviewed by Pavel Feldman.
  25075. - disable popover when a mouse button is pressed
  25076. - disable popover in a SourceFrame when the source is being edited
  25077. * inspector/front-end/Popover.js:
  25078. (WebInspector.PopoverHelper):
  25079. (WebInspector.PopoverHelper.prototype._mouseUp):
  25080. (WebInspector.PopoverHelper.prototype._mouseDown):
  25081. (WebInspector.PopoverHelper.prototype._handleMouseAction):
  25082. * inspector/front-end/SourceFrame.js:
  25083. (WebInspector.SourceFrame.prototype._onHidePopover):
  25084. (WebInspector.SourceFrame.prototype.doubleClick):
  25085. 2011-09-07 Antti Koivisto <antti@apple.com>
  25086. https://bugs.webkit.org/show_bug.cgi?id=67634
  25087. De-virtualize styleForRenderer()
  25088. Reviewed by Sam Weinig.
  25089. This has performance and code clarity benefits.
  25090. - move styleForRenderer from Node to Element
  25091. - get rid of the now unnecessary NodeRenderingContext parameter
  25092. - de-virtualize, add virtual customStyleForRenderer()
  25093. * dom/Element.cpp:
  25094. (WebCore::Element::customStyleForRenderer):
  25095. (WebCore::Element::styleForRenderer):
  25096. (WebCore::Element::recalcStyle):
  25097. * dom/Element.h:
  25098. * dom/Node.cpp:
  25099. * dom/Node.h:
  25100. (WebCore::Node::hasCustomWillOrDidRecalcStyle):
  25101. (WebCore::Node::setHasCustomWillOrDidRecalcStyle):
  25102. (WebCore::Node::hasCustomStyleForRenderer):
  25103. (WebCore::Node::setHasCustomStyleForRenderer):
  25104. Move styleForRenderer, add customStyleForRenderer, add a bit.
  25105. * dom/NodeRenderingContext.cpp:
  25106. (WebCore::NodeRendererFactory::createRendererAndStyle):
  25107. Handle non-element case separately since styleForRenderer was moved from Node to Element.
  25108. * html/HTMLNoScriptElement.cpp:
  25109. (WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
  25110. (WebCore::HTMLNoScriptElement::customStyleForRenderer):
  25111. * html/HTMLNoScriptElement.h:
  25112. Move a strange XHTMLMP special case to where it belongs.
  25113. * html/HTMLOptGroupElement.cpp:
  25114. (WebCore::HTMLOptGroupElement::attach):
  25115. * html/HTMLOptionElement.cpp:
  25116. (WebCore::HTMLOptionElement::attach):
  25117. * html/HTMLTitleElement.cpp:
  25118. (WebCore::HTMLTitleElement::textWithDirection):
  25119. * html/shadow/TextControlInnerElements.cpp:
  25120. (WebCore::TextControlInnerElement::TextControlInnerElement):
  25121. (WebCore::TextControlInnerElement::customStyleForRenderer):
  25122. (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
  25123. (WebCore::TextControlInnerTextElement::customStyleForRenderer):
  25124. * html/shadow/TextControlInnerElements.h:
  25125. * rendering/svg/SVGShadowTreeElements.cpp:
  25126. (WebCore::SVGShadowTreeContainerElement::customStyleForRenderer):
  25127. * rendering/svg/SVGShadowTreeElements.h:
  25128. * svg/SVGElement.cpp:
  25129. (WebCore::SVGElement::SVGElement):
  25130. (WebCore::SVGElement::customStyleForRenderer):
  25131. * svg/SVGElement.h:
  25132. Adopt customStyleForRenderer().
  25133. 2011-09-07 Ryosuke Niwa <rniwa@webkit.org>
  25134. Change event is not fired for input[type=number] when the user reverts a change made by script
  25135. https://bugs.webkit.org/show_bug.cgi?id=67697
  25136. Reviewed by Kent Tamura.
  25137. The bug was caused by HTMLInputElement::setValue not calling setTextAsOfLastFormControlChangeEvent
  25138. for text fields other than type=text.
  25139. Also fixed a that stepUpFromRenderer does not call setTextAsOfLastFormControlChangeEvent at appropriate
  25140. timing due to setValueAsNumber always passing sendChangeEvent=false to setValue by propagating values
  25141. through setValueAsNumber and applyStep. This refactoring allows us to remove calls to dispatch* in
  25142. stepUpFromRenderer because they're now called in setValueAsNumber or applyStep.
  25143. Test: fast/forms/number-input-changeevent.html
  25144. * html/BaseDateAndTimeInputType.cpp:
  25145. (WebCore::BaseDateAndTimeInputType::setValueAsNumber):
  25146. * html/BaseDateAndTimeInputType.h:
  25147. * html/HTMLInputElement.cpp:
  25148. (WebCore::HTMLInputElement::applyStep):
  25149. (WebCore::HTMLInputElement::stepUp):
  25150. (WebCore::HTMLInputElement::stepDown):
  25151. (WebCore::HTMLInputElement::setValue):
  25152. (WebCore::HTMLInputElement::setValueAsNumber):
  25153. (WebCore::HTMLInputElement::stepUpFromRenderer):
  25154. * html/HTMLInputElement.h:
  25155. * html/InputType.cpp:
  25156. (WebCore::InputType::setValueAsNumber):
  25157. * html/InputType.h:
  25158. * html/NumberInputType.cpp:
  25159. (WebCore::NumberInputType::setValueAsNumber):
  25160. * html/NumberInputType.h:
  25161. * html/RangeInputType.cpp:
  25162. (WebCore::RangeInputType::setValueAsNumber):
  25163. (WebCore::RangeInputType::handleKeydownEvent):
  25164. * html/RangeInputType.h:
  25165. 2011-09-07 Antti Koivisto <antti@apple.com>
  25166. Try to fix Qt build by moving the Qt specific include (which is not really allowed here!).
  25167. Not reviewed.
  25168. * css/CSSStyleSelector.cpp:
  25169. * css/SelectorChecker.cpp:
  25170. (WebCore::SelectorChecker::determineLinkStateSlowCase):
  25171. 2011-09-07 Antti Koivisto <antti@apple.com>
  25172. Move SelectorChecker out from CSSStyleSelector scope
  25173. https://bugs.webkit.org/show_bug.cgi?id=67648
  25174. Reviewed by Sam Weinig.
  25175. - Move SelectorChecker to SelectorChecker.h/cpp
  25176. - Make private functions private
  25177. - Make members private, add accessors
  25178. - Move m_sameOriginOnly to CSSStyleSelector as it is not used by SelectorChecker
  25179. * CMakeLists.txt:
  25180. * GNUmakefile.list.am:
  25181. * WebCore.gypi:
  25182. * WebCore.pro:
  25183. * WebCore.vcproj/WebCore.vcproj:
  25184. * WebCore.xcodeproj/project.pbxproj:
  25185. * css/CSSStyleSelector.cpp:
  25186. (WebCore::CSSStyleSelector::CSSStyleSelector):
  25187. (WebCore::CSSStyleSelector::matchRules):
  25188. (WebCore::CSSStyleSelector::matchRulesForList):
  25189. (WebCore::CSSStyleSelector::sortMatchedRules):
  25190. (WebCore::CSSStyleSelector::initForStyleResolve):
  25191. (WebCore::CSSStyleSelector::matchUARules):
  25192. (WebCore::CSSStyleSelector::styleForElement):
  25193. (WebCore::CSSStyleSelector::pseudoStyleForElement):
  25194. (WebCore::CSSStyleSelector::styleForPage):
  25195. (WebCore::CSSStyleSelector::adjustRenderStyle):
  25196. (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
  25197. (WebCore::CSSStyleSelector::checkSelector):
  25198. (WebCore::RuleData::RuleData):
  25199. (WebCore::CSSStyleSelector::applyProperty):
  25200. (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
  25201. (WebCore::CSSStyleSelector::setFontSize):
  25202. (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
  25203. * css/CSSStyleSelector.h:
  25204. (WebCore::CSSStyleSelector::style):
  25205. (WebCore::CSSStyleSelector::parentStyle):
  25206. (WebCore::CSSStyleSelector::rootElementStyle):
  25207. (WebCore::CSSStyleSelector::element):
  25208. (WebCore::CSSStyleSelector::fontDescription):
  25209. (WebCore::CSSStyleSelector::parentFontDescription):
  25210. (WebCore::CSSStyleSelector::setFontDescription):
  25211. (WebCore::CSSStyleSelector::setZoom):
  25212. (WebCore::CSSStyleSelector::setEffectiveZoom):
  25213. (WebCore::CSSStyleSelector::setTextSizeAdjust):
  25214. (WebCore::CSSStyleSelector::setStyle):
  25215. (WebCore::CSSStyleSelector::fontSelector):
  25216. (WebCore::CSSStyleSelector::allVisitedStateChanged):
  25217. (WebCore::CSSStyleSelector::visitedStateChanged):
  25218. (WebCore::CSSStyleSelector::usesSiblingRules):
  25219. (WebCore::CSSStyleSelector::usesFirstLineRules):
  25220. (WebCore::CSSStyleSelector::usesBeforeAfterRules):
  25221. (WebCore::CSSStyleSelector::usesLinkRules):
  25222. (WebCore::CSSStyleSelector::addMatchedRule):
  25223. (WebCore::CSSStyleSelector::isRightPage):
  25224. (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame):
  25225. (WebCore::CSSStyleSelector::styleNotYetAvailable):
  25226. * css/SelectorChecker.cpp: Added.
  25227. (WebCore::SelectorChecker::SelectorChecker):
  25228. (WebCore::linkAttribute):
  25229. (WebCore::SelectorChecker::determineLinkStateSlowCase):
  25230. (WebCore::SelectorChecker::checkSelector):
  25231. (WebCore::SelectorChecker::fastCheckSelector):
  25232. (WebCore::SelectorChecker::isFastCheckableSelector):
  25233. (WebCore::addLocalNameToSet):
  25234. (WebCore::createHtmlCaseInsensitiveAttributesSet):
  25235. (WebCore::htmlAttributeHasCaseInsensitiveValue):
  25236. (WebCore::attributeQualifiedNameMatches):
  25237. (WebCore::attributeValueMatches):
  25238. (WebCore::anyAttributeMatches):
  25239. (WebCore::SelectorChecker::checkOneSelector):
  25240. (WebCore::SelectorChecker::checkScrollbarPseudoClass):
  25241. (WebCore::SelectorChecker::allVisitedStateChanged):
  25242. (WebCore::SelectorChecker::visitedStateChanged):
  25243. * css/SelectorChecker.h: Added.
  25244. (WebCore::SelectorChecker::document):
  25245. (WebCore::SelectorChecker::strictParsing):
  25246. (WebCore::SelectorChecker::isCollectingRulesOnly):
  25247. (WebCore::SelectorChecker::setCollectingRulesOnly):
  25248. (WebCore::SelectorChecker::isMatchingVisitedPseudoClass):
  25249. (WebCore::SelectorChecker::setMatchingVisitedPseudoClass):
  25250. (WebCore::SelectorChecker::pseudoStyle):
  25251. (WebCore::SelectorChecker::setPseudoStyle):
  25252. (WebCore::SelectorChecker::hasUnknownPseudoElements):
  25253. (WebCore::SelectorChecker::clearHasUnknownPseudoElements):
  25254. (WebCore::SelectorChecker::determineLinkState):
  25255. * dom/Element.cpp:
  25256. (WebCore::Element::webkitMatchesSelector):
  25257. * dom/SelectorQuery.cpp:
  25258. (WebCore::SelectorQuery::SelectorQuery):
  25259. * dom/SelectorQuery.h:
  25260. 2011-09-07 Dmitry Lomov <dslomov@google.com>
  25261. https://bugs.webkit.org/show_bug.cgi?id=67413
  25262. [Chromium]Web Inspector: inspected page with dedicated worker crashes on refresh.
  25263. This patch enforces lifetime ordering between WorkerInspectorController and WorkerScriptController.
  25264. Reviewed by Yury Semikhatsky.
  25265. * workers/WorkerContext.cpp:
  25266. (WebCore::WorkerContext::clearInspector):
  25267. * workers/WorkerContext.h:
  25268. * workers/WorkerThread.cpp:
  25269. (WebCore::WorkerThreadShutdownFinishTask::performTask):
  25270. 2011-09-07 Sheriff Bot <webkit.review.bot@gmail.com>
  25271. Unreviewed, rolling out r94627 and r94632.
  25272. http://trac.webkit.org/changeset/94627
  25273. http://trac.webkit.org/changeset/94632
  25274. https://bugs.webkit.org/show_bug.cgi?id=67698
  25275. It broke tests on GTK and Qt (Requested by Ossy on #webkit).
  25276. * WebCore.exp.in:
  25277. * bindings/js/JSDOMBinding.h:
  25278. (WebCore::DOMConstructorObject::DOMConstructorObject):
  25279. * bindings/js/JSDOMGlobalObject.cpp:
  25280. (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
  25281. * bindings/js/JSDOMGlobalObject.h:
  25282. * bindings/js/JSDOMWindowShell.cpp:
  25283. (WebCore::JSDOMWindowShell::create):
  25284. * bindings/js/JSDOMWindowShell.h:
  25285. * bindings/js/JSDOMWrapper.h:
  25286. (WebCore::JSDOMWrapper::JSDOMWrapper):
  25287. * bindings/scripts/CodeGeneratorJS.pm:
  25288. (GenerateImplementation):
  25289. * bindings/scripts/test/JS/JSTestInterface.cpp:
  25290. (WebCore::JSTestInterface::JSTestInterface):
  25291. * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  25292. (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
  25293. * bindings/scripts/test/JS/JSTestObj.cpp:
  25294. (WebCore::JSTestObj::JSTestObj):
  25295. * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  25296. (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
  25297. * bridge/c/CRuntimeObject.cpp:
  25298. (JSC::Bindings::CRuntimeObject::CRuntimeObject):
  25299. * bridge/c/CRuntimeObject.h:
  25300. * bridge/jni/jsc/JavaRuntimeObject.cpp:
  25301. (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
  25302. * bridge/jni/jsc/JavaRuntimeObject.h:
  25303. * bridge/objc/ObjCRuntimeObject.h:
  25304. * bridge/objc/ObjCRuntimeObject.mm:
  25305. (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
  25306. * bridge/objc/objc_runtime.h:
  25307. (JSC::Bindings::ObjcFallbackObjectImp::create):
  25308. * bridge/objc/objc_runtime.mm:
  25309. (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
  25310. * bridge/qt/qt_instance.cpp:
  25311. (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
  25312. * bridge/qt/qt_pixmapruntime.cpp:
  25313. (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
  25314. * bridge/qt/qt_runtime.cpp:
  25315. (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
  25316. * bridge/qt/qt_runtime.h:
  25317. * bridge/runtime_array.cpp:
  25318. (JSC::RuntimeArray::RuntimeArray):
  25319. * bridge/runtime_array.h:
  25320. (JSC::RuntimeArray::create):
  25321. * bridge/runtime_method.cpp:
  25322. (JSC::RuntimeMethod::RuntimeMethod):
  25323. * bridge/runtime_method.h:
  25324. * bridge/runtime_object.cpp:
  25325. (JSC::Bindings::RuntimeObject::RuntimeObject):
  25326. * bridge/runtime_object.h:
  25327. (JSC::Bindings::RuntimeObject::create):
  25328. 2011-08-31 Yury Semikhatsky <yurys@chromium.org>
  25329. fast/workers/worker-script-error.html fails on Chromium after r94061
  25330. https://bugs.webkit.org/show_bug.cgi?id=67206
  25331. Default action should be prevented if window.onerror returned true and stay
  25332. not prevented otherwise.
  25333. Reviewed by Dmitry Titov.
  25334. Tests: fast/events/window-onerror14.html
  25335. fast/events/window-onerror15.html
  25336. fast/events/window-onerror16.html
  25337. * bindings/v8/V8AbstractEventListener.cpp:
  25338. (WebCore::V8AbstractEventListener::invokeEventHandler):
  25339. (WebCore::V8AbstractEventListener::shouldPreventDefault): allow specific
  25340. event listeners to decide when to prevent default action based on the handler
  25341. return value.
  25342. * bindings/v8/V8AbstractEventListener.h:
  25343. * bindings/v8/V8WindowErrorHandler.cpp:
  25344. (WebCore::V8WindowErrorHandler::callListenerFunction):
  25345. (WebCore::V8WindowErrorHandler::shouldPreventDefault):
  25346. * bindings/v8/V8WindowErrorHandler.h:
  25347. * bindings/v8/V8WorkerContextErrorHandler.cpp:
  25348. (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
  25349. (WebCore::V8WorkerContextErrorHandler::shouldPreventDefault):
  25350. * bindings/v8/V8WorkerContextErrorHandler.h:
  25351. 2011-09-06 Xianzhu Wang <wangxianzhu@chromium.org>
  25352. Replace usages of Vector<UChar> with existing StringBuilder
  25353. https://bugs.webkit.org/show_bug.cgi?id=67079
  25354. Reviewed by Gavin Barraclough.
  25355. No new tests. All existing unit tests and layout tests should run
  25356. as before.
  25357. * css/CSSOMUtils.cpp:
  25358. (WebCore::appendCharacter):
  25359. (WebCore::serializeCharacter):
  25360. (WebCore::serializeCharacterAsCodePoint):
  25361. (WebCore::serializeIdentifier):
  25362. (WebCore::serializeString):
  25363. * css/CSSOMUtils.h:
  25364. * css/CSSPrimitiveValue.cpp:
  25365. (WebCore::CSSPrimitiveValue::cssText):
  25366. * css/CSSStyleSelector.cpp:
  25367. (WebCore::CSSStyleSelector::SelectorChecker::determineLinkStateSlowCase):
  25368. * css/CSSWrapShapes.cpp:
  25369. (WebCore::CSSWrapShapeRect::cssText):
  25370. (WebCore::CSSWrapShapeCircle::cssText):
  25371. (WebCore::CSSWrapShapeEllipse::cssText):
  25372. (WebCore::CSSWrapShapePolygon::cssText):
  25373. * editing/HTMLInterchange.cpp:
  25374. (WebCore::convertHTMLTextToInterchangeFormat):
  25375. * editing/MarkupAccumulator.cpp:
  25376. (WebCore::appendCharactersReplacingEntities):
  25377. (WebCore::MarkupAccumulator::serializeNodes):
  25378. (WebCore::MarkupAccumulator::appendStartTag):
  25379. (WebCore::MarkupAccumulator::appendEndTag):
  25380. (WebCore::MarkupAccumulator::concatenateMarkup):
  25381. (WebCore::MarkupAccumulator::appendAttributeValue):
  25382. (WebCore::MarkupAccumulator::appendCustomAttributes):
  25383. (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
  25384. (WebCore::MarkupAccumulator::appendNodeValue):
  25385. (WebCore::MarkupAccumulator::appendNamespace):
  25386. (WebCore::MarkupAccumulator::appendText):
  25387. (WebCore::MarkupAccumulator::appendComment):
  25388. (WebCore::MarkupAccumulator::appendDocumentType):
  25389. (WebCore::MarkupAccumulator::appendProcessingInstruction):
  25390. (WebCore::MarkupAccumulator::appendElement):
  25391. (WebCore::MarkupAccumulator::appendOpenTag):
  25392. (WebCore::MarkupAccumulator::appendCloseTag):
  25393. (WebCore::MarkupAccumulator::appendAttribute):
  25394. (WebCore::MarkupAccumulator::appendCDATASection):
  25395. (WebCore::MarkupAccumulator::appendStartMarkup):
  25396. (WebCore::MarkupAccumulator::appendEndMarkup):
  25397. * editing/MarkupAccumulator.h:
  25398. * editing/markup.cpp:
  25399. (WebCore::StyledMarkupAccumulator::appendElement):
  25400. (WebCore::StyledMarkupAccumulator::wrapWithNode):
  25401. (WebCore::StyledMarkupAccumulator::wrapWithStyleNode):
  25402. (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
  25403. (WebCore::StyledMarkupAccumulator::takeResults):
  25404. (WebCore::StyledMarkupAccumulator::appendText):
  25405. (WebCore::urlToMarkup):
  25406. * html/DOMTokenList.cpp:
  25407. (WebCore::DOMTokenList::removeToken):
  25408. * html/HTMLFontElement.cpp:
  25409. (WebCore::parseFontSize):
  25410. * html/HTMLTextFormControlElement.cpp:
  25411. (WebCore::HTMLTextFormControlElement::strippedPlaceholder):
  25412. * html/parser/CSSPreloadScanner.cpp:
  25413. (WebCore::CSSPreloadScanner::emitRule):
  25414. * html/parser/CSSPreloadScanner.h:
  25415. * html/parser/HTMLEntityParser.cpp:
  25416. (WebCore::consumeHTMLEntity):
  25417. * html/parser/HTMLEntityParser.h:
  25418. * html/parser/HTMLParserIdioms.cpp:
  25419. (WebCore::parseHTMLInteger):
  25420. (WebCore::parseHTMLNonNegativeInteger):
  25421. * html/parser/HTMLTokenizer.cpp:
  25422. (WebCore::HTMLTokenizer::processEntity):
  25423. (WebCore::HTMLTokenizer::nextToken):
  25424. * html/parser/HTMLTreeBuilder.cpp:
  25425. (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::giveRemainingTo):
  25426. (WebCore::HTMLTreeBuilder::defaultForInTableText):
  25427. * html/parser/HTMLTreeBuilder.h:
  25428. * inspector/InspectorValues.cpp:
  25429. (WebCore::InspectorValue::toJSONString):
  25430. (WebCore::InspectorValue::writeJSON):
  25431. (WebCore::InspectorBasicValue::writeJSON):
  25432. (WebCore::InspectorString::writeJSON):
  25433. (WebCore::InspectorObject::writeJSON):
  25434. (WebCore::InspectorArray::writeJSON):
  25435. * inspector/InspectorValues.h:
  25436. * loader/CrossOriginAccessControl.cpp:
  25437. (WebCore::createAccessControlPreflightRequest):
  25438. * loader/appcache/ApplicationCacheStorage.cpp:
  25439. (WebCore::ApplicationCacheStorage::store):
  25440. * page/Chrome.cpp:
  25441. (WebCore::Chrome::setToolTip):
  25442. * page/PageSerializer.cpp:
  25443. (WebCore::SerializerMarkupAccumulator::appendText):
  25444. (WebCore::SerializerMarkupAccumulator::appendElement):
  25445. (WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
  25446. * page/SecurityOrigin.cpp:
  25447. (WebCore::SecurityOrigin::toString):
  25448. * platform/KURL.cpp:
  25449. (WebCore::KURL::deprecatedString):
  25450. (WebCore::decodeURLEscapeSequences):
  25451. * platform/LinkHash.cpp:
  25452. (WebCore::squeezeOutNullCharacters):
  25453. (WebCore::cleanSlashDotDotSlashes):
  25454. (WebCore::mergeDoubleSlashes):
  25455. (WebCore::cleanSlashDotSlashes):
  25456. (WebCore::cleanPath):
  25457. (WebCore::visitedURLInline):
  25458. (WebCore::visitedURL):
  25459. (WebCore::visitedLinkHash):
  25460. * platform/LinkHash.h:
  25461. * platform/gtk/DataObjectGtk.cpp:
  25462. (WebCore::DataObjectGtk::setURL):
  25463. * platform/network/HTTPParsers.cpp:
  25464. (WebCore::extractMIMETypeFromMediaType):
  25465. * platform/text/TextCodecICU.cpp:
  25466. (WebCore::TextCodecICU::decode):
  25467. * platform/text/TextStream.cpp:
  25468. (WebCore::TextStream::operator<<):
  25469. (WebCore::TextStream::release):
  25470. * platform/text/TextStream.h:
  25471. * plugins/PluginStream.cpp:
  25472. (WebCore::PluginStream::startStream):
  25473. * rendering/InlineTextBox.cpp:
  25474. (WebCore::adjustCharactersAndLengthForHyphen):
  25475. * rendering/InlineTextBox.h:
  25476. (WebCore::BufferForAppendingHyphen::BufferForAppendingHyphen):
  25477. * rendering/RenderListItem.cpp:
  25478. (WebCore::RenderListItem::markerTextWithSuffix):
  25479. * rendering/RenderListMarker.cpp:
  25480. (WebCore::toSymbolic):
  25481. (WebCore::RenderListMarker::paint):
  25482. (WebCore::RenderListMarker::suffix):
  25483. * rendering/RenderTreeAsText.cpp:
  25484. (WebCore::quoteAndEscapeNonPrintables):
  25485. * rendering/mathml/RenderMathMLFenced.cpp:
  25486. (WebCore::RenderMathMLFenced::updateFromElement):
  25487. * storage/IDBLevelDBCoding.cpp:
  25488. (WebCore::IDBLevelDBCoding::decodeString):
  25489. * xml/XMLHttpRequest.cpp:
  25490. (WebCore::XMLHttpRequest::getAllResponseHeaders):
  25491. * xml/XPathFunctions.cpp:
  25492. (WebCore::XPath::FunId::evaluate):
  25493. (WebCore::XPath::FunConcat::evaluate):
  25494. * xml/XPathUtil.cpp:
  25495. (WebCore::XPath::stringValue):
  25496. * xml/XSLTProcessorLibxslt.cpp:
  25497. (WebCore::writeToStringBuilder):
  25498. (WebCore::saveResultToString):
  25499. * xml/parser/CharacterReferenceParserInlineMethods.h:
  25500. (WebCore::unconsumeCharacters):
  25501. (WebCore::consumeCharacterReference):
  25502. * xml/parser/XMLCharacterReferenceParser.cpp:
  25503. (WebCore::consumeXMLCharacterReference):
  25504. * xml/parser/XMLCharacterReferenceParser.h:
  25505. * xml/parser/XMLTokenizer.cpp:
  25506. (WebCore::XMLTokenizer::nextToken):
  25507. 2011-09-05 Kent Tamura <tkent@chromium.org>
  25508. REGRESSION (Safari 5.1 - ToT): File input retains its file icon when the value is reset
  25509. https://bugs.webkit.org/show_bug.cgi?id=67567
  25510. Reviewed by Dimitri Glazkov.
  25511. - Introduce InputType::setValue(), which is called by HTMLInputElement::setValue().
  25512. - Clear m_icon in FileInputType::setValue().
  25513. Tests: fast/forms/file/file-reset-in-change-expected.html
  25514. fast/forms/file/file-reset-in-change.html
  25515. * html/BaseButtonInputType.cpp:
  25516. (WebCore::BaseButtonInputType::setValue):
  25517. Implemenation for the "default" mode.
  25518. http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-default
  25519. * html/BaseButtonInputType.h:
  25520. * html/BaseCheckableInputType.cpp:
  25521. (WebCore::BaseCheckableInputType::setValue):
  25522. Implemenation for the "default/on" mode.
  25523. http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-default-on
  25524. * html/BaseCheckableInputType.h:
  25525. * html/FileInputType.cpp:
  25526. (WebCore::FileInputType::setValue):
  25527. Implemenation for the "filename" mode, and clearing m_icon.
  25528. http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-filename
  25529. * html/FileInputType.h:
  25530. * html/HTMLInputElement.cpp:
  25531. (WebCore::HTMLInputElement::setValue):
  25532. Move some code to InputType::setValue().
  25533. (WebCore::HTMLInputElement::setValueInternal): A helper for InputType::setValue().
  25534. * html/HTMLInputElement.h:
  25535. * html/HiddenInputType.cpp:
  25536. (WebCore::HiddenInputType::setValue):
  25537. Implementation for the "default" mode.
  25538. * html/HiddenInputType.h:
  25539. * html/InputType.cpp:
  25540. (WebCore::InputType::setValue):
  25541. Implementation for the "value" mode.
  25542. http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-value
  25543. * html/InputType.h:
  25544. * html/TextFieldInputType.cpp:
  25545. (WebCore::TextFieldInputType::setValue):
  25546. In addition to the "value" mode processing, updates placeholder visibililty.
  25547. * html/TextFieldInputType.h:
  25548. 2011-09-06 Ryosuke Niwa <rniwa@webkit.org>
  25549. REGRESSION(r94274): The inner text value of an input element is not updated when input.value is set
  25550. https://bugs.webkit.org/show_bug.cgi?id=67681
  25551. Reviewed by Kent Tamura.
  25552. The bug was caused by HTMLInputElement::setValue's not clearing m_suggestedValue before updateInnerTextValue is called.
  25553. Since updateInnerTextValue uses the suggested value when one is present, we need to clear m_suggestedValue in advance.
  25554. Test: fast/forms/suggested-value-after-setvalue.html
  25555. * html/HTMLInputElement.cpp:
  25556. (WebCore::HTMLInputElement::setValue):
  25557. 2011-09-06 Adam Barth <abarth@webkit.org>
  25558. Attempt to fix GTK build.
  25559. * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
  25560. (WebKit::createHTMLElementWrapper):
  25561. 2011-09-06 Ryosuke Niwa <rniwa@webkit.org>
  25562. fast/forms/suggested-value-crash.html crashes on Windows
  25563. https://bugs.webkit.org/show_bug.cgi?id=67688
  25564. Reviewed by Adam Barth.
  25565. The crash was caused because functions in internals were accessing uninitialized QualifiedNames.
  25566. Fixed the bug by avoiding to link to inputTag and textareaTag. Instead, we resort to toInputElement
  25567. and string comparison.
  25568. * testing/Internals.cpp:
  25569. (WebCore::Internals::wasLastChangeUserEdit):
  25570. (WebCore::Internals::suggestedValue):
  25571. (WebCore::Internals::setSuggestedValue):
  25572. 2011-09-06 Mark Hahnenberg <mhahnenberg@apple.com>
  25573. Unzip initialization lists and constructors in JSCell hierarchy (5/7)
  25574. https://bugs.webkit.org/show_bug.cgi?id=67420
  25575. Reviewed by Geoffrey Garen.
  25576. No new tests.
  25577. Completed the fifth level of the refactoring to add finishCreation()
  25578. methods to all classes within the JSCell hierarchy with non-trivial
  25579. constructor bodies.
  25580. This primarily consists of pushing the calls to finishCreation() down
  25581. into the constructors of the subclasses of the second level of the hierarchy
  25582. as well as pulling the finishCreation() calls out into the class's corresponding
  25583. create() method if it has one. Doing both simultaneously allows us to
  25584. maintain the invariant that the finishCreation() method chain is called exactly
  25585. once during the creation of an object, since calling it any other number of
  25586. times (0, 2, or more) will cause an assertion failure.
  25587. * WebCore.exp.in:
  25588. * bindings/js/JSDOMBinding.h:
  25589. (WebCore::DOMConstructorObject::DOMConstructorObject):
  25590. * bindings/js/JSDOMGlobalObject.cpp:
  25591. (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
  25592. (WebCore::JSDOMGlobalObject::finishCreation):
  25593. * bindings/js/JSDOMGlobalObject.h:
  25594. * bindings/js/JSDOMWindowShell.cpp:
  25595. * bindings/js/JSDOMWindowShell.h:
  25596. (WebCore::JSDOMWindowShell::create):
  25597. * bindings/js/JSDOMWrapper.h:
  25598. (WebCore::JSDOMWrapper::JSDOMWrapper):
  25599. * bindings/scripts/CodeGeneratorJS.pm:
  25600. (GenerateImplementation):
  25601. * bindings/scripts/test/JS/JSTestInterface.cpp:
  25602. (WebCore::JSTestInterface::JSTestInterface):
  25603. * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  25604. (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
  25605. * bindings/scripts/test/JS/JSTestObj.cpp:
  25606. (WebCore::JSTestObj::JSTestObj):
  25607. * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  25608. (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
  25609. * bridge/c/CRuntimeObject.cpp:
  25610. (JSC::Bindings::CRuntimeObject::CRuntimeObject):
  25611. (JSC::Bindings::CRuntimeObject::finishCreation):
  25612. * bridge/c/CRuntimeObject.h:
  25613. * bridge/jni/jsc/JavaRuntimeObject.cpp:
  25614. (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
  25615. (JSC::Bindings::JavaRuntimeObject::finishCreation):
  25616. * bridge/jni/jsc/JavaRuntimeObject.h:
  25617. * bridge/objc/ObjCRuntimeObject.h:
  25618. * bridge/objc/ObjCRuntimeObject.mm:
  25619. (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
  25620. (JSC::Bindings::ObjCRuntimeObject::finishCreation):
  25621. * bridge/objc/objc_runtime.h:
  25622. (JSC::Bindings::ObjcFallbackObjectImp::create):
  25623. * bridge/objc/objc_runtime.mm:
  25624. (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
  25625. * bridge/qt/qt_instance.cpp:
  25626. (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
  25627. * bridge/qt/qt_pixmapruntime.cpp:
  25628. (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
  25629. * bridge/qt/qt_runtime.cpp:
  25630. (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
  25631. (JSC::Bindings::QtRuntimeMethod::finishCreation):
  25632. * bridge/qt/qt_runtime.h:
  25633. * bridge/runtime_array.cpp:
  25634. (JSC::RuntimeArray::RuntimeArray):
  25635. * bridge/runtime_array.h:
  25636. (JSC::RuntimeArray::create):
  25637. * bridge/runtime_method.cpp:
  25638. (JSC::RuntimeMethod::RuntimeMethod):
  25639. (JSC::RuntimeMethod::finishCreation):
  25640. * bridge/runtime_method.h:
  25641. * bridge/runtime_object.cpp:
  25642. (JSC::Bindings::RuntimeObject::RuntimeObject):
  25643. * bridge/runtime_object.h:
  25644. (JSC::Bindings::RuntimeObject::create):
  25645. 2011-09-06 Luke Macpherson <macpherson@chromium.org>
  25646. Implement list style properties in CSSStyleApplyProperty.
  25647. https://bugs.webkit.org/show_bug.cgi?id=67103
  25648. Reviewed by Eric Seidel.
  25649. No new tests / no behavioral changes.
  25650. * css/CSSStyleApplyProperty.cpp:
  25651. Add class to wrap call to CSSStyleSelector::styleImage().
  25652. (WebCore::ApplyPropertyStyleImage::ApplyPropertyStyleImage):
  25653. (WebCore::ApplyPropertyStyleImage::applyValue):
  25654. (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
  25655. Initialize handlers for list style properties.
  25656. * css/CSSStyleSelector.cpp:
  25657. (WebCore::CSSStyleSelector::applyProperty):
  25658. Remove existing property implementations.
  25659. 2011-09-06 Alexis Menard <alexis.menard@openbossa.org>
  25660. [Qt] Move away from QPointer as it is slow and it has a replacement QWeakPointer.
  25661. https://bugs.webkit.org/show_bug.cgi?id=67673
  25662. Reviewed by Ariya Hidayat.
  25663. Move away from QPointer to QWeakPointer, it is faster.
  25664. No new tests, the existing ones should cover.
  25665. * bridge/qt/qt_instance.cpp:
  25666. (JSC::Bindings::QtInstance::~QtInstance):
  25667. (JSC::Bindings::QtInstance::getClass):
  25668. (JSC::Bindings::QtField::name):
  25669. (JSC::Bindings::QtField::valueFromInstance):
  25670. * bridge/qt/qt_instance.h:
  25671. (JSC::Bindings::QtInstance::getObject):
  25672. * bridge/qt/qt_runtime.h:
  25673. * platform/qt/SharedTimerQt.cpp:
  25674. (WebCore::SharedTimerQt::inst):
  25675. 2011-09-06 Oliver Hunt <oliver@apple.com>
  25676. Update expected results of bindings tests.
  25677. * bindings/scripts/test/JS/JSTestInterface.cpp:
  25678. (WebCore::JSTestInterfaceConstructor::createStructure):
  25679. (WebCore::JSTestInterface::createPrototype):
  25680. * bindings/scripts/test/JS/JSTestInterface.h:
  25681. (WebCore::JSTestInterface::createStructure):
  25682. (WebCore::JSTestInterfacePrototype::createStructure):
  25683. * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  25684. (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
  25685. (WebCore::JSTestMediaQueryListListener::createPrototype):
  25686. * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
  25687. (WebCore::JSTestMediaQueryListListener::createStructure):
  25688. (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
  25689. * bindings/scripts/test/JS/JSTestObj.cpp:
  25690. (WebCore::JSTestObjConstructor::createStructure):
  25691. (WebCore::JSTestObj::createPrototype):
  25692. * bindings/scripts/test/JS/JSTestObj.h:
  25693. (WebCore::JSTestObj::createStructure):
  25694. (WebCore::JSTestObjPrototype::createStructure):
  25695. * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  25696. (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
  25697. (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
  25698. * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
  25699. (WebCore::JSTestSerializedScriptValueInterface::createStructure):
  25700. (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
  25701. 2011-09-06 Eric Seidel <eric@webkit.org>
  25702. Remove window.HTMLBlockquoteElement per HTML5 (and DOM Core 1)
  25703. https://bugs.webkit.org/show_bug.cgi?id=67678
  25704. Reviewed by Darin Adler.
  25705. This is why we can't have nice things.
  25706. There was some confusion in the original DOM HTML 1 spec about
  25707. the existence of HTMlBlockquoteElement which was clarified by
  25708. a later errata, removing HTMLBlockquoteElement:
  25709. http://www.w3.org/DOM/updates/REC-DOM-Level-1-19981001-errata.html
  25710. "This interface is an error and must be ignored. The Interface HTMLQuoteElement is used for both the Q and BLOCKQUOTE elements"
  25711. Le sigh. Personally I think having a separate HTMLBlockquoteElement
  25712. is clearer, but thats not how the web works. Removed it and updated test results.
  25713. * CMakeLists.txt:
  25714. * CodeGenerators.pri:
  25715. * DerivedSources.cpp:
  25716. * DerivedSources.make:
  25717. * GNUmakefile.list.am:
  25718. * WebCore.gypi:
  25719. * WebCore.pro:
  25720. * WebCore.vcproj/WebCore.vcproj:
  25721. * WebCore.xcodeproj/project.pbxproj:
  25722. * bindings/gobject/GNUmakefile.am:
  25723. * editing/IndentOutdentCommand.cpp:
  25724. * html/HTMLBlockquoteElement.cpp: Removed.
  25725. * html/HTMLBlockquoteElement.h: Removed.
  25726. * html/HTMLBlockquoteElement.idl: Removed.
  25727. * html/HTMLElementsAllInOne.cpp:
  25728. * html/HTMLQuoteElement.cpp:
  25729. (WebCore::HTMLQuoteElement::HTMLQuoteElement):
  25730. (WebCore::HTMLQuoteElement::insertedIntoDocument):
  25731. * html/HTMLTagNames.in:
  25732. * page/DOMWindow.idl:
  25733. 2011-09-06 Ryosuke Niwa <rniwa@webkit.org>
  25734. Rename confirmCompositionWithoutDisturbingSelection to cancelComposition
  25735. https://bugs.webkit.org/show_bug.cgi?id=67569
  25736. Reviewed by Antonio Gomes.
  25737. Renamed Editor::confirmCompositionWithoutDisturbingSelection to Editor::cancelComposition.
  25738. Also renamed the shared function from confirmComposition to setComposition.
  25739. * WebCore.exp.in:
  25740. * editing/Editor.cpp:
  25741. (WebCore::Editor::confirmComposition):
  25742. (WebCore::Editor::cancelComposition):
  25743. (WebCore::Editor::setComposition):
  25744. * editing/Editor.h:
  25745. 2011-09-06 Sam Weinig <sam@webkit.org>
  25746. WebVTTTokenizer files in the wrong place in the Xcode project.
  25747. * WebCore.xcodeproj/project.pbxproj:
  25748. Move WebVTTTokenizer files so they are in the right place in the project.
  25749. 2011-09-06 Chris Rogers <crogers@google.com>
  25750. MediaElementAudioSourceNode destruction triggers ASSERTS
  25751. https://bugs.webkit.org/show_bug.cgi?id=67665
  25752. Reviewed by Nate Chapin.
  25753. Test: webaudio/mediaelementaudiosourcenode-gc.html
  25754. * html/HTMLMediaElement.cpp:
  25755. (WebCore::HTMLMediaElement::setAudioSourceNode):
  25756. * webaudio/AudioContext.cpp:
  25757. (WebCore::AudioContext::uninitializeDispatch):
  25758. (WebCore::AudioContext::stop):
  25759. * webaudio/AudioContext.h:
  25760. 2011-09-05 Oliver Hunt <oliver@apple.com>
  25761. An object's structure should reference the global object responsible for its creation
  25762. https://bugs.webkit.org/show_bug.cgi?id=67624
  25763. Reviewed by Gavin Barraclough.
  25764. Update calls to Structure::create() to pass the globalObject in,
  25765. and update the CodeGenerator to generate appropriate createStructure
  25766. methods.
  25767. * bindings/js/JSAudioConstructor.h:
  25768. (WebCore::JSAudioConstructor::createStructure):
  25769. * bindings/js/JSDOMBinding.h:
  25770. (WebCore::DOMConstructorObject::createStructure):
  25771. (WebCore::getDOMStructure):
  25772. * bindings/js/JSDOMGlobalObject.h:
  25773. (WebCore::JSDOMGlobalObject::createStructure):
  25774. (WebCore::getDOMConstructor):
  25775. * bindings/js/JSDOMWindowBase.h:
  25776. (WebCore::JSDOMWindowBase::createStructure):
  25777. * bindings/js/JSDOMWindowShell.cpp:
  25778. (WebCore::JSDOMWindowShell::setWindow):
  25779. * bindings/js/JSDOMWindowShell.h:
  25780. (WebCore::JSDOMWindowShell::createStructure):
  25781. * bindings/js/JSDOMWrapper.h:
  25782. (WebCore::JSDOMWrapper::createStructure):
  25783. * bindings/js/JSImageConstructor.h:
  25784. (WebCore::JSImageConstructor::createStructure):
  25785. * bindings/js/JSImageDataCustom.cpp:
  25786. (WebCore::toJS):
  25787. * bindings/js/JSOptionConstructor.h:
  25788. (WebCore::JSOptionConstructor::createStructure):
  25789. * bindings/js/JSWorkerContextBase.h:
  25790. (WebCore::JSWorkerContextBase::createStructure):
  25791. * bindings/js/WorkerScriptController.cpp:
  25792. (WebCore::WorkerScriptController::initScript):
  25793. * bindings/scripts/CodeGeneratorJS.pm:
  25794. (GenerateHeader):
  25795. (GenerateImplementation):
  25796. (GenerateConstructorDeclaration):
  25797. * bridge/c/CRuntimeObject.h:
  25798. (JSC::Bindings::CRuntimeObject::createStructure):
  25799. * bridge/c/c_instance.cpp:
  25800. (JSC::Bindings::CRuntimeMethod::createStructure):
  25801. * bridge/jni/jsc/JavaInstanceJSC.cpp:
  25802. (JavaRuntimeMethod::createStructure):
  25803. * bridge/jni/jsc/JavaRuntimeObject.h:
  25804. (JSC::Bindings::JavaRuntimeObject::createStructure):
  25805. * bridge/objc/ObjCRuntimeObject.h:
  25806. (JSC::Bindings::ObjCRuntimeObject::createStructure):
  25807. * bridge/objc/objc_instance.mm:
  25808. (ObjCRuntimeMethod::createStructure):
  25809. * bridge/objc/objc_runtime.h:
  25810. (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
  25811. * bridge/runtime_array.h:
  25812. (JSC::RuntimeArray::createStructure):
  25813. * bridge/runtime_method.h:
  25814. (JSC::RuntimeMethod::createStructure):
  25815. * bridge/runtime_object.h:
  25816. (JSC::Bindings::RuntimeObject::createStructure):
  25817. 2011-09-06 Anders Carlsson <andersca@apple.com>
  25818. Move NPAPI headers in bridge to plugins
  25819. https://bugs.webkit.org/show_bug.cgi?id=67661
  25820. Reviewed by Darin Adler.
  25821. * WebCore.gypi:
  25822. * WebCore.pro:
  25823. * WebCore.vcproj/WebCore.vcproj:
  25824. * WebCore.xcodeproj/project.pbxproj:
  25825. Update build systems.
  25826. * bridge/npapi.h: Removed.
  25827. * bridge/npruntime.h: Removed.
  25828. * bridge/nptypes.h: Removed.
  25829. * plugins/npapi.h: Copied from Source/WebCore/bridge/npapi.h.
  25830. * plugins/npruntime.h: Copied from Source/WebCore/bridge/npruntime.h.
  25831. * plugins/nptypes.h: Copied from Source/WebCore/bridge/nptypes.h.
  25832. 2011-09-06 David Hyatt <hyatt@apple.com>
  25833. https://bugs.webkit.org/show_bug.cgi?id=67672
  25834. Improve background-size parsing. Make it actually dump auto values properly, and also make it omit
  25835. auto if it is the second value. Fix the parsing to not create a value list when only a singleton value
  25836. is specified.
  25837. Reviewed by Beth Dakin.
  25838. Covered well by existing tests.
  25839. * css/CSSComputedStyleDeclaration.cpp:
  25840. (WebCore::fillSizeToCSSValue):
  25841. * css/CSSParser.cpp:
  25842. (WebCore::CSSParser::parseFillSize):
  25843. * css/CSSStyleSelector.cpp:
  25844. (WebCore::CSSStyleSelector::mapFillSize):
  25845. 2011-09-06 David Hyatt <hyatt@apple.com>
  25846. https://bugs.webkit.org/show_bug.cgi?id=67657
  25847. Implement border-image-width. This patch stops short of converting -webkit-border-image to a shorthand.
  25848. I'll do that in the next patch.
  25849. Note that unlike the -webkit-border-image syntax, border-image-width does not actually set the border
  25850. width values. It simply makes cuts into the border image drawing area (which for now is just the border
  25851. box, but that will change once border-image-outset is implemented).
  25852. This means we need additional storage for the slices, since they are now separate from the border widths.
  25853. For backwards compatibility, -webkit-border-image will continue to set the border widths when
  25854. border-image-width is specified in the -webkit-border-image shorthand.
  25855. Reviewed by Beth Dakin.
  25856. Added new tests in fast/borders.
  25857. * css/CSSBorderImageSliceValue.cpp:
  25858. (WebCore::CSSBorderImageSliceValue::CSSBorderImageSliceValue):
  25859. (WebCore::CSSBorderImageSliceValue::cssText):
  25860. * css/CSSBorderImageSliceValue.h:
  25861. (WebCore::CSSBorderImageSliceValue::create):
  25862. (WebCore::CSSBorderImageSliceValue::slices):
  25863. Rename slices() to imageSlices() and add borderSlices() and m_borderSlices to hold the desired cuts
  25864. for the border image drawing area. Converted the slices over to the new Quad primitive value (a RectBase
  25865. subclass that is identical to Rect but dumps as a quad instead of a rect primitive).
  25866. * css/CSSBorderImageValue.cpp:
  25867. (WebCore::CSSBorderImageValue::CSSBorderImageValue):
  25868. (WebCore::CSSBorderImageValue::cssText):
  25869. * css/CSSBorderImageValue.h:
  25870. (WebCore::CSSBorderImageValue::create):
  25871. Make CSSBorderImageValue take the border slices during construction now.
  25872. * css/CSSComputedStyleDeclaration.cpp:
  25873. (WebCore::valueForNinePieceImageSlice):
  25874. (WebCore::valueForNinePieceImageWidth):
  25875. (WebCore::valueForNinePieceImageRepeat):
  25876. (WebCore::valueForNinePieceImage):
  25877. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  25878. Add support for computed style via valueForNinePieceImageWidth. Patch all of the border image properties
  25879. to dump the most compact form possible for the property values, e.g., "stretch stretch" becomes "stretch."
  25880. * css/CSSParser.cpp:
  25881. (WebCore::CSSParser::parseValue):
  25882. (WebCore::CSSParser::parseReflect):
  25883. (WebCore::BorderImageParseContext::BorderImageParseContext):
  25884. (WebCore::BorderImageParseContext::commitImageSlice):
  25885. (WebCore::BorderImageParseContext::commitBorderWidth):
  25886. (WebCore::BorderImageParseContext::commitBorderImage):
  25887. (WebCore::CSSParser::parseBorderImage):
  25888. (WebCore::isBorderImageRepeatKeyword):
  25889. (WebCore::CSSParser::parseBorderImageRepeat):
  25890. (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
  25891. (WebCore::CSSParser::parseBorderImageSlice):
  25892. (WebCore::BorderImageWidthParseContext::BorderImageWidthParseContext):
  25893. (WebCore::BorderImageWidthParseContext::allowNumber):
  25894. (WebCore::BorderImageWidthParseContext::allowFinalCommit):
  25895. (WebCore::BorderImageWidthParseContext::top):
  25896. (WebCore::BorderImageWidthParseContext::commitNumber):
  25897. (WebCore::BorderImageWidthParseContext::setAllowFinalCommit):
  25898. (WebCore::BorderImageWidthParseContext::setTop):
  25899. (WebCore::BorderImageWidthParseContext::commitBorderImageWidth):
  25900. (WebCore::CSSParser::parseBorderImageWidth):
  25901. * css/CSSParser.h:
  25902. Modify the border-image code to pass off border-image-width parsing to parseBorderImageWidth.
  25903. * css/CSSPrimitiveValue.cpp:
  25904. (WebCore::isValidCSSUnitTypeForDoubleConversion):
  25905. (WebCore::CSSPrimitiveValue::init):
  25906. (WebCore::CSSPrimitiveValue::cleanup):
  25907. (WebCore::CSSPrimitiveValue::getQuadValue):
  25908. (WebCore::CSSPrimitiveValue::cssText):
  25909. * css/CSSPrimitiveValue.h:
  25910. (WebCore::CSSPrimitiveValue::getQuadValue):
  25911. Add the new Quad value to CSSPrimitiveValue.
  25912. * css/CSSPropertyNames.in:
  25913. Add the new properties for border-image-width and -webkit-mask-box-image-width.
  25914. * css/CSSStyleSelector.cpp:
  25915. (WebCore::CSSStyleSelector::applyProperty):
  25916. (WebCore::CSSStyleSelector::mapNinePieceImage):
  25917. (WebCore::CSSStyleSelector::mapNinePieceImageSlice):
  25918. (WebCore::CSSStyleSelector::mapNinePieceImageWidth):
  25919. (WebCore::CSSStyleSelector::loadPendingImages):
  25920. * css/CSSStyleSelector.h:
  25921. Add the code to map the image width into border slices.
  25922. * css/Rect.h:
  25923. (WebCore::RectBase::top):
  25924. (WebCore::RectBase::right):
  25925. (WebCore::RectBase::bottom):
  25926. (WebCore::RectBase::left):
  25927. (WebCore::RectBase::setTop):
  25928. (WebCore::RectBase::setRight):
  25929. (WebCore::RectBase::setBottom):
  25930. (WebCore::RectBase::setLeft):
  25931. (WebCore::RectBase::RectBase):
  25932. (WebCore::RectBase::~RectBase):
  25933. (WebCore::Rect::create):
  25934. (WebCore::Rect::Rect):
  25935. (WebCore::Quad::create):
  25936. (WebCore::Quad::Quad):
  25937. Adding the new Quad value.
  25938. * rendering/RenderBoxModelObject.cpp:
  25939. (WebCore::computeBorderImageSide):
  25940. (WebCore::RenderBoxModelObject::paintNinePieceImage):
  25941. Modify painting to treat the border slices as separate from the border widths.
  25942. * rendering/style/NinePieceImage.cpp:
  25943. (WebCore::NinePieceImage::operator==):
  25944. * rendering/style/NinePieceImage.h:
  25945. (WebCore::NinePieceImage::NinePieceImage):
  25946. (WebCore::NinePieceImage::imageSlices):
  25947. (WebCore::NinePieceImage::setImageSlices):
  25948. (WebCore::NinePieceImage::borderSlices):
  25949. (WebCore::NinePieceImage::setBorderSlices):
  25950. (WebCore::NinePieceImage::copyImageSlicesFrom):
  25951. (WebCore::NinePieceImage::copyBorderSlicesFrom):
  25952. * rendering/style/StyleRareNonInheritedData.cpp:
  25953. Add the border slices.
  25954. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  25955. * rendering/style/StyleReflection.h:
  25956. (WebCore::StyleReflection::StyleReflection):
  25957. Make sure masks and reflections default border-image-width to auto instead of 1, since that matches
  25958. old behavior.
  25959. 2011-09-06 Noel Gordon <noel.gordon@gmail.com>
  25960. [chromium skia] JPEGImageEncoder: hoist constants out of the encoding loop
  25961. https://bugs.webkit.org/show_bug.cgi?id=67589
  25962. Reviewed by Kenneth Russell.
  25963. Change the row converter function signatures to be the same. Call them via a function
  25964. pointer during the encoding loop. Minor webkit style cleanup, remove unused include.
  25965. No new tests. Covered by existing canvas 2d and 3d tests.
  25966. canvas/philip/tests/toDataURL.jpeg.alpha.html
  25967. fast/canvas/webgl/premultiplyalpha-test.html
  25968. * platform/image-encoders/skia/JPEGImageEncoder.cpp: Remove SkUnPreMultiply.h (not used).
  25969. (WebCore::preMultipliedBGRAtoRGB): Use unsigned char* instead of void* for pixels.
  25970. (WebCore::RGBAtoRGB): pixels & pixelCount to match the preMultipliedBGRAtoRGB() signature.
  25971. (WebCore::encodePixels): Move constants out of the encoding loop: use a function pointer
  25972. to call preMultipliedBGRAtoRGB or RGBAtoRGB (now they have identical signatures), define
  25973. and use pixelRowStride constant.
  25974. (WebCore::JPEGImageEncoder::encode):
  25975. 2011-09-06 Aaron Colwell <acolwell@chromium.org>
  25976. Allow MediaSource API to be enabled at runtime.
  25977. https://bugs.webkit.org/show_bug.cgi?id=67306
  25978. Reviewed by Eric Carlson.
  25979. * bindings/generic/RuntimeEnabledFeatures.cpp:
  25980. * bindings/generic/RuntimeEnabledFeatures.h:
  25981. (WebCore::RuntimeEnabledFeatures::webkitMediaSourceEnabled):
  25982. (WebCore::RuntimeEnabledFeatures::setWebkitMediaSourceEnabled):
  25983. * html/HTMLMediaElement.idl:
  25984. 2011-09-06 Mike Reed <reed@google.com>
  25985. [skia] never draw with GDI, so that all text can be gpu-accelerated
  25986. https://bugs.webkit.org/show_bug.cgi?id=65203
  25987. Reviewed by Kenneth Russell.
  25988. * platform/graphics/chromium/FontChromiumWin.cpp:
  25989. (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
  25990. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
  25991. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
  25992. (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
  25993. (WebCore::drawGlyphsWin):
  25994. (WebCore::Font::drawComplexText):
  25995. * platform/graphics/chromium/UniscribeHelper.cpp:
  25996. (WebCore::UniscribeHelper::draw):
  25997. * platform/graphics/skia/PlatformContextSkia.cpp:
  25998. * platform/graphics/skia/PlatformContextSkia.h:
  25999. * platform/graphics/skia/SkiaFontWin.cpp:
  26000. (WebCore::skiaDrawText):
  26001. * platform/graphics/skia/SkiaFontWin.h:
  26002. 2011-09-06 Nat Duca <nduca@chromium.org>
  26003. [chromium] REGRESSION(94353): requestAnimationFrame not throttled in compositing path
  26004. https://bugs.webkit.org/show_bug.cgi?id=67621
  26005. CCSingleThreadProxy should not perform layout when called
  26006. via the compositeImmediately path. Doing so makes it look
  26007. like frame rate is unbounded.
  26008. Reviewed by James Robinson.
  26009. * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  26010. (WebCore::CCSingleThreadProxy::compositeAndReadback):
  26011. (WebCore::CCSingleThreadProxy::compositeImmediately):
  26012. (WebCore::CCSingleThreadProxy::commitIfNeeded):
  26013. * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
  26014. 2011-09-06 Ryosuke Niwa <rniwa@webkit.org>
  26015. REGRESSION(r94274): FormManagerTest.PreviewForm and FillFormNonEmptyField fail on chromium
  26016. https://bugs.webkit.org/show_bug.cgi?id=67453
  26017. Reviewed by Kent Tamura.
  26018. Fixed the bug by updating inner text value in setSuggestedValue.
  26019. Also added a suggestedValue and setSuggestedValue on window.internals for testing purposes.
  26020. Test: fast/forms/suggested-value.html
  26021. * WebCore.exp.in:
  26022. * testing/Internals.cpp:
  26023. (WebCore::Internals::suggestedValue):
  26024. (WebCore::Internals::setSuggestedValue):
  26025. * testing/Internals.h:
  26026. * testing/Internals.idl:
  26027. 2011-09-06 Eric Carlson <eric.carlson@apple.com>
  26028. load() does not reset the resource selection algorithm
  26029. https://bugs.webkit.org/show_bug.cgi?id=64917
  26030. Reviewed by Darin Adler.
  26031. Test: media/video-source-load.html
  26032. * html/HTMLMediaElement.cpp:
  26033. (WebCore::HTMLMediaElement::selectMediaResource): Reset m_nextChildNodeToConsider, update
  26034. comments and rearrange logic to more closely match logic in spec.
  26035. (WebCore::HTMLMediaElement::noneSupported): Update comments.
  26036. 2011-09-06 Abhishek Arya <inferno@chromium.org>
  26037. Style not propagated to anonymous boxes and anonymous
  26038. inline-blocks.
  26039. https://bugs.webkit.org/show_bug.cgi?id=67364
  26040. Reviewed by James Robinson.
  26041. Share propagateStyleToAnonymousChildren with RenderBlock::styleDidChange.
  26042. * rendering/RenderBlock.cpp:
  26043. (WebCore::RenderBlock::styleDidChange):
  26044. * rendering/RenderObject.cpp:
  26045. (WebCore::RenderObject::propagateStyleToAnonymousChildren):
  26046. * rendering/RenderObject.h:
  26047. 2011-09-06 Robin Cao <robin.cao@torchmobile.com.cn>
  26048. [skia] States of GraphicsContext may never be restored after clipToImageBuffer
  26049. https://bugs.webkit.org/show_bug.cgi?id=67358
  26050. beginLayerClippedToImage/applyClipFromImage are mismatched when clipping to
  26051. an empty ImageBuffer, which will make states of GraphicsContext incorrect.
  26052. Reviewed by James Robinson.
  26053. Test: fast/repaint/background-clip-text.html
  26054. * platform/graphics/skia/PlatformContextSkia.cpp:
  26055. (WebCore::PlatformContextSkia::beginLayerClippedToImage):
  26056. 2011-09-06 Raphael Kubo da Costa <kubo@profusion.mobi>
  26057. [EFL] Do not allocate memory for extremely large surfaces.
  26058. https://bugs.webkit.org/show_bug.cgi?id=65192
  26059. Reviewed by Martin Robinson.
  26060. So far, RenderThemeEfl tried to allocate a buffer and a cairo surface
  26061. the size of the whole form element passed to it.
  26062. In the case of
  26063. fast/overflow/overflow-height-float-not-removed-crash.html and others,
  26064. this meant extremely large widgets, which crashed the code.
  26065. We now only render the widgets if they are smaller than some hardcoded
  26066. and sufficiently large values which should work in most cases.
  26067. No new tests, as this was uncovered by existing ones.
  26068. * platform/efl/RenderThemeEfl.cpp:
  26069. (WebCore::RenderThemeEfl::isFormElementTooLargeToDisplay):
  26070. (WebCore::RenderThemeEfl::cacheThemePartNew):
  26071. (WebCore::RenderThemeEfl::paintThemePart):
  26072. * platform/efl/RenderThemeEfl.h:
  26073. 2011-08-30 Pavel Podivilov <podivilov@chromium.org>
  26074. Web Inspector: implement source map v3 consumer.
  26075. https://bugs.webkit.org/show_bug.cgi?id=67205
  26076. Reviewed by Yury Semikhatsky.
  26077. Test: inspector/debugger/compiler-source-mapping.html
  26078. * WebCore.gypi:
  26079. * WebCore.vcproj/WebCore.vcproj:
  26080. * inspector/front-end/CompilerSourceMapping.js: Added.
  26081. (WebInspector.CompilerSourceMapping):
  26082. (WebInspector.CompilerSourceMapping.prototype.compiledLocationToSourceLocation):
  26083. (WebInspector.CompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
  26084. (WebInspector.CompilerSourceMapping.prototype.get sources):
  26085. (WebInspector.ClosureCompilerSourceMapping):
  26086. (WebInspector.ClosureCompilerSourceMapping.prototype.compiledLocationToSourceLocation):
  26087. (WebInspector.ClosureCompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
  26088. (WebInspector.ClosureCompilerSourceMapping.prototype.get sources):
  26089. (WebInspector.ClosureCompilerSourceMapping.prototype._findMapping):
  26090. (WebInspector.ClosureCompilerSourceMapping.prototype._parsePayload):
  26091. (WebInspector.ClosureCompilerSourceMapping.prototype._isSeparator):
  26092. (WebInspector.ClosureCompilerSourceMapping.prototype._decodeVLQ):
  26093. (WebInspector.ClosureCompilerSourceMapping.StringCharIterator):
  26094. (WebInspector.ClosureCompilerSourceMapping.StringCharIterator.prototype.next):
  26095. (WebInspector.ClosureCompilerSourceMapping.StringCharIterator.prototype.peek):
  26096. (WebInspector.ClosureCompilerSourceMapping.StringCharIterator.prototype.hasNext):
  26097. * inspector/front-end/WebKit.qrc:
  26098. * inspector/front-end/inspector.html:
  26099. 2011-09-05 Pavel Podivilov <podivilov@chromium.org>
  26100. Web Inspector: re-implement RawSourceCode.
  26101. https://bugs.webkit.org/show_bug.cgi?id=67609
  26102. RawSourceCode content and source mapping loading logic is too complex, re-implement it using simpler semantics:
  26103. 1) Initially, RawSourceCode doesn't have any content or mapping because content loading and
  26104. formatting operations are asynchronous, it only has scripts metadata. We don't update UI right
  26105. after RawSourceCode creation until full RawSourceCode representation is ready (content + mapping).
  26106. 2) When RawSourceCode representation is ready (e.g. resource is finished, or content is formatted
  26107. if in pretty-print mode) we dispatch SourceMappingUpdated event to notify the listeners that
  26108. source code should be shown to user and raw locations should be converted to ui locations
  26109. (to show breakpoins, messages, call frames etc in UI). At this moment, all source file's content
  26110. is ready for loading and source mapping is available.
  26111. 3) Later, RawSourceCode representation may change again, e.g. if pretty-print mode is toggled, or
  26112. blocked resource is finished etc., in that case SourceMappingUpdated is dispatched again to update
  26113. source code, links and decorations in UI.
  26114. Reviewed by Yury Semikhatsky.
  26115. * inspector/front-end/DebuggerPresentationModel.js:
  26116. (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
  26117. (WebInspector.DebuggerPresentationModel.prototype._addScript):
  26118. (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
  26119. (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
  26120. (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
  26121. (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
  26122. (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
  26123. * inspector/front-end/ScriptsPanel.js:
  26124. (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
  26125. (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
  26126. * inspector/front-end/SourceFile.js:
  26127. (WebInspector.RawSourceCode):
  26128. (WebInspector.RawSourceCode.prototype.addScript):
  26129. (WebInspector.RawSourceCode.prototype.contentEdited):
  26130. (WebInspector.RawSourceCode.prototype._resourceFinished):
  26131. (WebInspector.RawSourceCode.prototype.requestContent):
  26132. (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded.sourceMappingUpdated):
  26133. (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded):
  26134. (WebInspector.RawSourceCode.prototype.forceLoadContent):
  26135. (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
  26136. (WebInspector.RawSourceCode.prototype._updateSourceMapping):
  26137. (WebInspector.RawSourceCode.prototype._createContentProvider):
  26138. (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
  26139. (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
  26140. (WebInspector.RawSourceCode.prototype._createSourceMapping):
  26141. (WebInspector.RawSourceCode.prototype._saveSourceMapping):
  26142. (WebInspector.StaticContentProvider):
  26143. (WebInspector.StaticContentProvider.prototype.requestContent):
  26144. 2011-09-06 Csaba Osztrogonác <ossy@webkit.org>
  26145. Unreviewed, rolling out r94564.
  26146. http://trac.webkit.org/changeset/94564
  26147. https://bugs.webkit.org/show_bug.cgi?id=67555
  26148. It broke many tests
  26149. * svg/SVGTRefElement.cpp:
  26150. (WebCore::SVGTRefElement::svgAttributeChanged):
  26151. 2011-09-06 Rob Buis <rbuis@rim.com>
  26152. use after free in WebCore::SVGTRefElement::updateReferencedText
  26153. https://bugs.webkit.org/show_bug.cgi?id=67555
  26154. Reviewed by Nikolas Zimmermann.
  26155. Do not install event listener if tref is not part of any document.
  26156. Test: svg/custom/tref-clone-crash.html
  26157. * svg/SVGTRefElement.cpp:
  26158. (WebCore::SVGTRefElement::svgAttributeChanged):
  26159. 2011-09-06 Sheriff Bot <webkit.review.bot@gmail.com>
  26160. Unreviewed, rolling out r94560.
  26161. http://trac.webkit.org/changeset/94560
  26162. https://bugs.webkit.org/show_bug.cgi?id=67636
  26163. It made inspector/debugger/script-formatter.html flakey
  26164. (Requested by Ossy on #webkit).
  26165. * inspector/front-end/BreakpointManager.js:
  26166. (WebInspector.BreakpointManager.prototype.set reset):
  26167. * inspector/front-end/DebuggerPresentationModel.js:
  26168. (WebInspector.DebuggerPresentationModel.prototype._addScript.didCreateSourceMapping):
  26169. (WebInspector.DebuggerPresentationModel.prototype._addScript):
  26170. (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeReplaced):
  26171. (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
  26172. (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
  26173. (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
  26174. (WebInspector.PresenationCallFrame.prototype.select):
  26175. * inspector/front-end/ScriptsPanel.js:
  26176. (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
  26177. (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
  26178. * inspector/front-end/SourceFile.js:
  26179. (WebInspector.RawSourceCode):
  26180. (WebInspector.RawSourceCode.prototype.addScript):
  26181. (WebInspector.RawSourceCode.prototype.contentEdited):
  26182. (WebInspector.RawSourceCode.prototype.requestContent):
  26183. (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded.didRequestContent):
  26184. (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded):
  26185. (WebInspector.RawSourceCode.prototype._setContentProvider):
  26186. (WebInspector.RawSourceCode.prototype.forceLoadContent):
  26187. (WebInspector.RawSourceCode.prototype._reload):
  26188. (WebInspector.RawSourceCode.prototype._requestContent):
  26189. (WebInspector.RawSourceCode.prototype._loadResourceContent):
  26190. (WebInspector.RawSourceCode.prototype._loadScriptContent):
  26191. (WebInspector.RawSourceCode.prototype._loadAndConcatenateScriptsContent):
  26192. (WebInspector.RawSourceCode.prototype._didRequestContent):
  26193. (WebInspector.RawSourceCode.prototype._hasPendingResource):
  26194. (WebInspector.FormattedContentProvider):
  26195. (WebInspector.FormattedContentProvider.prototype.requestContent.didRequestContent.didFormatContent):
  26196. (WebInspector.FormattedContentProvider.prototype.requestContent):
  26197. 2011-09-06 Antti Koivisto <antti@apple.com>
  26198. https://bugs.webkit.org/show_bug.cgi?id=67480
  26199. [Chromium] [REGRESSION] Layout Test svg/batik/text/textStyles.svg is failing
  26200. Reviewed by Dimitri Glazkov.
  26201. The text node needs willRecalcStyle mechanism too.
  26202. * dom/Text.cpp:
  26203. (WebCore::Text::recalcTextStyle):
  26204. * dom/Text.h:
  26205. (WebCore::Text::willRecalcTextStyle):
  26206. * svg/SVGTRefElement.cpp:
  26207. (WebCore::SVGTRefElement::SVGTRefElement):
  26208. (WebCore::SVGShadowText::SVGShadowText):
  26209. (WebCore::SVGShadowText::willRecalcTextStyle):
  26210. 2011-09-05 Pavel Podivilov <podivilov@chromium.org>
  26211. Web Inspector: re-implement RawSourceCode.
  26212. https://bugs.webkit.org/show_bug.cgi?id=67609
  26213. RawSourceCode content and source mapping loading logic is too complex, re-implement it using simpler semantics:
  26214. 1) Initially, RawSourceCode doesn't have any content or mapping because content loading and
  26215. formatting operations are asynchronous, it only has scripts metadata. We don't update UI right
  26216. after RawSourceCode creation until full RawSourceCode representation is ready (content + mapping).
  26217. 2) When RawSourceCode representation is ready (e.g. resource is finished, or content is formatted
  26218. if in pretty-print mode) we dispatch SourceMappingUpdated event to notify the listeners that
  26219. source code should be shown to user and raw locations should be converted to ui locations
  26220. (to show breakpoins, messages, call frames etc in UI). At this moment, all source file's content
  26221. is ready for loading and source mapping is available.
  26222. 3) Later, RawSourceCode representation may change again, e.g. if pretty-print mode is toggled, or
  26223. blocked resource is finished etc., in that case SourceMappingUpdated is dispatched again to update
  26224. source code, links and decorations in UI.
  26225. Reviewed by Yury Semikhatsky.
  26226. * inspector/front-end/DebuggerPresentationModel.js:
  26227. (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
  26228. (WebInspector.DebuggerPresentationModel.prototype._addScript):
  26229. (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
  26230. (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
  26231. (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
  26232. (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
  26233. (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
  26234. * inspector/front-end/ScriptsPanel.js:
  26235. (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
  26236. (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
  26237. * inspector/front-end/SourceFile.js:
  26238. (WebInspector.RawSourceCode):
  26239. (WebInspector.RawSourceCode.prototype.addScript):
  26240. (WebInspector.RawSourceCode.prototype.contentEdited):
  26241. (WebInspector.RawSourceCode.prototype._resourceFinished):
  26242. (WebInspector.RawSourceCode.prototype.requestContent):
  26243. (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded.sourceMappingUpdated):
  26244. (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded):
  26245. (WebInspector.RawSourceCode.prototype.forceLoadContent):
  26246. (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
  26247. (WebInspector.RawSourceCode.prototype._updateSourceMapping):
  26248. (WebInspector.RawSourceCode.prototype._createContentProvider):
  26249. (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
  26250. (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
  26251. (WebInspector.RawSourceCode.prototype._createSourceMapping):
  26252. (WebInspector.RawSourceCode.prototype._saveSourceMapping):
  26253. (WebInspector.StaticContentProvider):
  26254. (WebInspector.StaticContentProvider.prototype.requestContent):
  26255. 2011-09-06 Dirk Schulze <krit@webkit.org>
  26256. Return to transform multiplication: motion transform * other transforms
  26257. https://bugs.webkit.org/show_bug.cgi?id=67601
  26258. Reviewed by Nikolas Zimmermann.
  26259. Right now we take the current transform of a transformable SVG element, post multiply the animation transform
  26260. and post multiply the motion transform to the other both:
  26261. transform * animation transform * motion transform
  26262. We switched to this behavior with the clean up of AffineTransform.
  26263. While the specification of SVG demands us to do so, no other SVG viewer is doing it that way. Now switching back to:
  26264. motion transform * transform * animation transform
  26265. This is done by other SVG viewers as well. While their is no consense about how to multiply the different transforms
  26266. on the SVG WG, their is a consense that the current specified behavior is unwanted. See
  26267. http://lists.w3.org/Archives/Public/www-svg/2011Jan/0055.html for more details.
  26268. We pass the following tests of the official W3C SVG test suite again now:
  26269. - animate-elem-24-t.svg
  26270. - animate-elem-30-t.svg
  26271. * svg/SVGStyledTransformableElement.cpp:
  26272. (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
  26273. * svg/SVGTextElement.cpp:
  26274. (WebCore::SVGTextElement::animatedLocalTransform):
  26275. 2011-09-05 Adam Barth <abarth@webkit.org>
  26276. window.HTMLSpanElement does not exist
  26277. https://bugs.webkit.org/show_bug.cgi?id=67571
  26278. Reviewed by Sam Weinig.
  26279. We have these objects for most other elements and HTMLSpanElement
  26280. exists in Firefox and in the HTML5 spec. This patch adds it.
  26281. Test: fast/dom/wrapper-classes.html
  26282. * CMakeLists.txt:
  26283. * CodeGenerators.pri:
  26284. * DerivedSources.cpp:
  26285. * DerivedSources.make:
  26286. * GNUmakefile.list.am:
  26287. * WebCore.gypi:
  26288. * WebCore.pro:
  26289. * WebCore.vcproj/WebCore.vcproj:
  26290. * WebCore.xcodeproj/project.pbxproj:
  26291. * html/HTMLElementsAllInOne.cpp:
  26292. * html/HTMLSpanElement.cpp: Added.
  26293. (WebCore::HTMLSpanElement::HTMLSpanElement):
  26294. (WebCore::HTMLSpanElement::create):
  26295. * html/HTMLSpanElement.h: Added.
  26296. * html/HTMLSpanElement.idl: Added.
  26297. * html/HTMLTagNames.in:
  26298. * page/DOMWindow.idl:
  26299. 2011-09-04 Abhishek Arya <inferno@chromium.org>
  26300. Style not propagated to anonymous boxes and anonymous
  26301. inline-blocks.
  26302. https://bugs.webkit.org/show_bug.cgi?id=67364
  26303. Reviewed by James Robinson.
  26304. Tests: fast/ruby/ruby-block-style-not-updated-with-before-after-content.html
  26305. fast/ruby/ruby-block-style-not-updated.html
  26306. fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html
  26307. fast/ruby/ruby-inline-style-not-updated.html
  26308. fast/table/table-row-style-not-updated-with-after-content.html
  26309. fast/table/table-row-style-not-updated-with-before-content.html
  26310. fast/table/table-row-style-not-updated.html
  26311. fast/table/table-style-not-updated.html
  26312. * rendering/RenderObject.cpp:
  26313. (WebCore::RenderObject::propagateStyleToAnonymousChildren):
  26314. * rendering/RenderObject.h:
  26315. (WebCore::RenderObject::isBeforeAfterContent):
  26316. * rendering/RenderRuby.cpp:
  26317. (WebCore::RenderRubyAsInline::styleDidChange):
  26318. (WebCore::RenderRubyAsBlock::styleDidChange):
  26319. * rendering/RenderRuby.h:
  26320. * rendering/RenderTable.cpp:
  26321. (WebCore::RenderTable::styleDidChange):
  26322. * rendering/RenderTableRow.cpp:
  26323. (WebCore::RenderTableRow::styleDidChange):
  26324. (WebCore::RenderTableRow::addChild):
  26325. * rendering/RenderTableSection.cpp:
  26326. (WebCore::RenderTableSection::styleDidChange):
  26327. (WebCore::RenderTableSection::addChild):
  26328. * rendering/RenderTableSection.h:
  26329. 2011-09-05 Abhishek Arya <inferno@chromium.org>
  26330. Crash in RenderObjectChildList::destroyLeftOverChildren()
  26331. https://bugs.webkit.org/show_bug.cgi?id=64753
  26332. Reviewed by James Robinson.
  26333. If any of the ancestors between column span element and containing
  26334. column's block is a continuation, then don't attempt to render the
  26335. column span by splitting the block into continuations.
  26336. Test: fast/multicol/column-span-parent-continuation-crash.html
  26337. * rendering/RenderBlock.cpp:
  26338. (WebCore::RenderBlock::columnsBlockForSpanningElement):
  26339. 2011-09-05 Sheriff Bot <webkit.review.bot@gmail.com>
  26340. Unreviewed, rolling out r94537.
  26341. http://trac.webkit.org/changeset/94537
  26342. https://bugs.webkit.org/show_bug.cgi?id=67618
  26343. Does not compile on Chromium Mac (Requested by abarth_ on
  26344. #webkit).
  26345. * platform/image-encoders/skia/JPEGImageEncoder.cpp:
  26346. (WebCore::preMultipliedBGRAtoRGB):
  26347. (WebCore::RGBAtoRGB):
  26348. (WebCore::encodePixels):
  26349. (WebCore::JPEGImageEncoder::encode):
  26350. 2011-09-05 Noel Gordon <noel.gordon@gmail.com>
  26351. [chromium skia] JPEGImageEncoder: hoist contants out of the encoding loop
  26352. https://bugs.webkit.org/show_bug.cgi?id=67589
  26353. Reviewed by Adam Barth.
  26354. Change the row converter function signatures to be the same. Call them via a function
  26355. pointer during the encoding loop. Minor webkit stlye cleanup, remove unused include.
  26356. No new tests. Covered by existing canvas 2d and 3d tests.
  26357. canvas/philip/tests/toDataURL.jpeg.alpha.html
  26358. fast/canvas/webgl/premultiplyalpha-test.html
  26359. * platform/image-encoders/skia/JPEGImageEncoder.cpp: Remove SkUnPreMultiply.h (not used).
  26360. (WebCore::preMultipliedBGRAtoRGB): Use unsigned char* instead of void* for pixels.
  26361. (WebCore::RGBAtoRGB): pixels & pixelCount to match the preMultipliedBGRAtoRGB() signature.
  26362. (WebCore::encodePixels): Move contants out of the encoding loop: use a function pointer to
  26363. call preMultipliedBGRAtoRGB or RGBAtoRGB (now they have identical signatures) during the
  26364. image row encoding loop. Add/use pixelRowStride constant.
  26365. (WebCore::JPEGImageEncoder::encode): webkit style: no need to split lines.
  26366. 2011-09-05 John Knottenbelt <jknotten@chromium.org>
  26367. Take pageScaleFactor into account for MouseRelatedEvents.
  26368. https://bugs.webkit.org/show_bug.cgi?id=67592
  26369. Reviewed by Dimitri Glazkov.
  26370. Test: fast/events/page-scaled-mouse-click.html
  26371. * dom/MouseRelatedEvent.cpp:
  26372. (WebCore::MouseRelatedEvent::MouseRelatedEvent):
  26373. 2011-09-02 Pavel Podivilov <podivilov@chromium.org>
  26374. Web Inspector: rename RawSourceCode.reload to contentEdited.
  26375. https://bugs.webkit.org/show_bug.cgi?id=67504
  26376. Make RawSourceCode.reload private and remove RawSourceCode.content getter and setter
  26377. (RawSourceCode isn't supposed to have any content).
  26378. Reviewed by Yury Semikhatsky.
  26379. * inspector/front-end/DebuggerPresentationModel.js:
  26380. (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didEditScriptSource):
  26381. (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
  26382. (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
  26383. (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
  26384. (WebInspector.DebuggerPresentationModelResourceBinding.prototype._setContentWithInitialContent):
  26385. * inspector/front-end/SourceFile.js:
  26386. (WebInspector.RawSourceCode):
  26387. (WebInspector.RawSourceCode.prototype.contentEdited):
  26388. (WebInspector.RawSourceCode.prototype.forceLoadContent):
  26389. (WebInspector.RawSourceCode.prototype._reload):
  26390. (WebInspector.RawSourceCode.prototype._didRequestContent):
  26391. 2011-09-05 Leandro Gracia Gil <leandrogracia@chromium.org>
  26392. Fix the regression of bug 65333 introduced by 60170.
  26393. This caused the speech input bubble to appear in the wrong side for RTL text inputs.
  26394. https://bugs.webkit.org/show_bug.cgi?id=67597
  26395. Reviewed by Tony Gentilcore.
  26396. No new tests. Fixing regression.
  26397. * html/shadow/TextControlInnerElements.cpp:
  26398. (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
  26399. 2011-09-05 Alexander Pavlov <apavlov@chromium.org>
  26400. Web Inspector: F5 results in a Web Inspector frontend reload on non-Macs
  26401. https://bugs.webkit.org/show_bug.cgi?id=67602
  26402. Reviewed by Yury Semikhatsky.
  26403. * inspector/front-end/inspector.js:
  26404. (WebInspector.documentKeyDown):
  26405. 2011-09-05 Sheriff Bot <webkit.review.bot@gmail.com>
  26406. Unreviewed, rolling out r94525.
  26407. http://trac.webkit.org/changeset/94525
  26408. https://bugs.webkit.org/show_bug.cgi?id=67599
  26409. WinCE compilation failed. (Requested by loislo on #webkit).
  26410. * platform/text/TextBoundaries.cpp:
  26411. * platform/text/TextBreakIteratorICU.cpp:
  26412. * platform/text/qt/TextBoundariesQt.cpp:
  26413. * platform/text/qt/TextBreakIteratorQt.cpp:
  26414. 2011-09-05 Alexander Færøy <alexander.faeroy@nokia.com>
  26415. [Qt] Compiling using system ICU uses QTextBreakIterator in some cases.
  26416. https://bugs.webkit.org/show_bug.cgi?id=67391
  26417. Reviewed by Kenneth Rohde Christiansen.
  26418. * platform/text/TextBoundaries.cpp:
  26419. * platform/text/TextBreakIteratorICU.cpp:
  26420. * platform/text/qt/TextBoundariesQt.cpp:
  26421. * platform/text/qt/TextBreakIteratorQt.cpp:
  26422. 2011-09-05 Kaustubh Atrawalkar <kaustubh@motorola.com>
  26423. Logic from HTMLElement::deprecatedCreateContextualFragment moved into
  26424. Range::createContextualFragment function.
  26425. https://bugs.webkit.org/show_bug.cgi?id=67056
  26426. Reviewed by Ryosuke Niwa.
  26427. Code Refactoring for deprecatedCreateContextualFragment.
  26428. No new tests. Code Re-factoring.
  26429. * dom/Element.cpp:
  26430. * dom/Element.h:
  26431. * dom/Range.cpp:
  26432. (WebCore::insertIntoFragment):
  26433. (WebCore::Range::createDocumentFragmentForElement):
  26434. (WebCore::Range::createContextualFragment):
  26435. * dom/Range.h:
  26436. * editing/markup.cpp:
  26437. (WebCore::createFragmentFromMarkup):
  26438. * html/HTMLElement.cpp:
  26439. * html/HTMLElement.h:
  26440. 2011-09-04 James Kozianski <koz@chromium.org>
  26441. Unreviewed, rolling out r94510.
  26442. http://trac.webkit.org/changeset/94510
  26443. https://bugs.webkit.org/show_bug.cgi?id=66531
  26444. Causes layout test crashes.
  26445. * dom/Document.cpp:
  26446. (WebCore::Document::webkitWillEnterFullScreenForElement):
  26447. (WebCore::Document::webkitDidExitFullScreenForElement):
  26448. * dom/NodeRenderingContext.cpp:
  26449. (WebCore::wrapWithRenderFullScreen):
  26450. (WebCore::NodeRendererFactory::createRendererIfNeeded):
  26451. * rendering/RenderFullScreen.cpp:
  26452. (RenderFullScreen::createFullScreenStyle):
  26453. * rendering/RenderFullScreen.h:
  26454. 2011-09-04 Abhishek Arya <inferno@chromium.org>
  26455. Unreviewed. Compile fix for r94511.
  26456. * dom/Range.cpp:
  26457. (WebCore::Range::processContents):
  26458. (WebCore::Range::processAncestorsAndTheirSiblings):
  26459. 2011-09-04 Abhishek Arya <inferno@chromium.org>
  26460. Crash in Range::processAncestorsAndTheirSiblings.
  26461. https://bugs.webkit.org/show_bug.cgi?id=67556
  26462. Reviewed by Ryosuke Niwa.
  26463. Create a temporary RefPtr Node vector to keep all the ancestor's
  26464. childs so that we don't access removed child nodes.
  26465. Test: fast/dom/Range/range-delete-contents-event-fire-crash.html
  26466. * dom/Range.cpp:
  26467. (WebCore::Range::processContents):
  26468. (WebCore::Range::processAncestorsAndTheirSiblings):
  26469. 2011-09-04 Jeremy Apthorp <jeremya@google.com>
  26470. Don't detach elements from the render tree when entering fullscreen mode
  26471. https://bugs.webkit.org/show_bug.cgi?id=66531
  26472. This prevents plugin instances from being destroyed and reinstantiated
  26473. when entering fullscreen mode.
  26474. Reviewed by Darin Fisher.
  26475. Test: plugins/fullscreen-plugins-dont-reload.html
  26476. * dom/Document.cpp:
  26477. (WebCore::Document::webkitWillEnterFullScreenForElement):
  26478. (WebCore::Document::webkitDidExitFullScreenForElement):
  26479. * dom/NodeRenderingContext.cpp:
  26480. (WebCore::NodeRendererFactory::createRendererIfNeeded):
  26481. * rendering/RenderFullScreen.cpp:
  26482. (createFullScreenStyle):
  26483. (RenderFullScreen::wrapRenderer):
  26484. (RenderFullScreen::unwrapRenderer):
  26485. * rendering/RenderFullScreen.h:
  26486. 2011-09-04 Dan Bernstein <mitz@apple.com>
  26487. <rdar://problem/10071256> Retain retired custom fonts until the next style recalc
  26488. Reviewed by Darin Adler.
  26489. Test: fast/css/font-face-used-after-retired.html
  26490. During style recalc, existing renderers may reference their old style, including font data.
  26491. Allow them to do so safely by keeping retired custom font data around until after style recalc.
  26492. * css/CSSFontFace.cpp:
  26493. (WebCore::CSSFontFace::retireCustomFont): Added. Calls through to CSSFontSelector, if the font
  26494. face is still part of any segmented font face. Otherwise, deletes the custom font data.
  26495. * css/CSSFontFace.h:
  26496. * css/CSSFontFaceSource.cpp:
  26497. (WebCore::CSSFontFaceSource::pruneTable): Changed to call retireCustomFont() instead of deleting
  26498. retired font data.
  26499. * css/CSSFontSelector.cpp:
  26500. (WebCore::CSSFontSelector::retireCustomFont): Added. Calls through to the Document, if this is
  26501. still the active font selector for a document. Otherwise, deletes the custom font data.
  26502. * css/CSSFontSelector.h:
  26503. * css/CSSSegmentedFontFace.cpp:
  26504. (WebCore::CSSSegmentedFontFace::pruneTable): Changed to call retireCustomFont() instead of
  26505. deleting retired font data.
  26506. * dom/Document.cpp:
  26507. (WebCore::Document::~Document): Added a call to deleteRetiredCustomFonts(), in case the Document
  26508. is destroyed before getting a chance to recalc style after custom fonts have been retired.
  26509. (WebCore::Document::recalcStyle): Added a call to deleteRetiredCustomFonts() after style recalc.
  26510. (WebCore::Document::deleteRetiredCustomFonts): Added. Deletes all previously-retired custom font
  26511. data.
  26512. * dom/Document.h:
  26513. (WebCore::Document::retireCustomFont): Added.
  26514. 2011-09-04 Sam Weinig <sam@webkit.org>
  26515. Document.createEvent should support all the interfaces of Event we got
  26516. https://bugs.webkit.org/show_bug.cgi?id=67568
  26517. Reviewed by Anders Carlsson.
  26518. Updated fast/events/event-creation.html
  26519. * dom/BeforeLoadEvent.h:
  26520. (WebCore::BeforeLoadEvent::create):
  26521. (WebCore::BeforeLoadEvent::BeforeLoadEvent):
  26522. Added empty create.
  26523. * dom/Document.cpp:
  26524. (WebCore::Document::createEvent):
  26525. Add missing interfaces.
  26526. * dom/HashChangeEvent.h:
  26527. (WebCore::HashChangeEvent::create):
  26528. (WebCore::HashChangeEvent::HashChangeEvent):
  26529. Added empty create.
  26530. * page/SpeechInputEvent.cpp:
  26531. (WebCore::SpeechInputEvent::create):
  26532. (WebCore::SpeechInputEvent::SpeechInputEvent):
  26533. (WebCore::SpeechInputEvent::~SpeechInputEvent):
  26534. * page/SpeechInputEvent.h:
  26535. Added empty create.
  26536. 2011-09-04 Adam Barth <abarth@webkit.org>
  26537. [Chromium] Add memory threshold values to WebKitPlatformSupport.h
  26538. https://bugs.webkit.org/show_bug.cgi?id=67575
  26539. Reviewed by Darin Fisher.
  26540. Grab these memory thresholds from PlatformSupport rather than hard-coding them.
  26541. * bindings/v8/V8GCController.cpp:
  26542. (WebCore::V8GCController::checkMemoryUsage):
  26543. * platform/chromium/PlatformSupport.h:
  26544. * platform/qt/PlatformSupport.h:
  26545. (WebCore::PlatformSupport::lowMemoryUsageMB):
  26546. (WebCore::PlatformSupport::highMemoryUsageMB):
  26547. (WebCore::PlatformSupport::highUsageDeltaMB):
  26548. 2011-09-04 Kevin Ollivier <kevino@theolliviers.com>
  26549. [wx] Unreviewed build fix. Add new / moved files missing from last commit.
  26550. * platform/wx/LocalDC.h: Added.
  26551. (WebCore::LocalDC::LocalDC):
  26552. (WebCore::LocalDC::context):
  26553. (WebCore::LocalDC::~LocalDC):
  26554. * platform/wx/wxcode/cairo: Added.
  26555. * platform/wx/wxcode/cairo/non-kerned-drawing.cpp: Added.
  26556. (WebCore::pangoFontMap):
  26557. (WebCore::createPangoFontForFont):
  26558. (WebCore::createScaledFontForFont):
  26559. (WebCore::pango_font_get_glyph):
  26560. (WebCore::drawTextWithSpacing):
  26561. * platform/wx/wxcode/gdiplus: Added.
  26562. * platform/wx/wxcode/gdiplus/non-kerned-drawing.cpp: Added.
  26563. (dmin):
  26564. (dmax):
  26565. (DegToRad):
  26566. (RadToDeg):
  26567. (WebCore::drawTextWithSpacing):
  26568. 2011-09-04 Robin Dunn <robin@alldunn.com>
  26569. [wx] Enable wxWebKit to run using the wxGC Cairo backend on platforms other than GTK.
  26570. https://bugs.webkit.org/show_bug.cgi?id=67577
  26571. Reviewed by Kevin Ollivier.
  26572. * platform/graphics/GlyphBuffer.h:
  26573. (WebCore::GlyphBuffer::glyphAt):
  26574. (WebCore::GlyphBuffer::add):
  26575. * platform/graphics/wx/GraphicsContextWx.cpp:
  26576. (WebCore::GraphicsContext::clipOut):
  26577. (WebCore::GraphicsContext::clipPath):
  26578. * platform/graphics/wx/PathWx.cpp:
  26579. (WebCore::Path::Path):
  26580. (WebCore::Path::clear):
  26581. * platform/graphics/wx/TransformationMatrixWx.cpp:
  26582. (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
  26583. (WebCore::AffineTransform::operator wxGraphicsMatrix):
  26584. * platform/image-decoders/wx/ImageDecoderWx.cpp:
  26585. (WebCore::ImageFrame::asNewNativeImage):
  26586. * platform/wx/ContextMenuWx.cpp:
  26587. (ContextMenu::ContextMenu):
  26588. * platform/wx/LocalDC.h: Added.
  26589. (WebCore::LocalDC::LocalDC):
  26590. (WebCore::LocalDC::context):
  26591. (WebCore::LocalDC::~LocalDC):
  26592. * platform/wx/RenderThemeWx.cpp:
  26593. (WebCore::RenderThemeWx::paintButton):
  26594. (WebCore::RenderThemeWx::paintTextField):
  26595. (WebCore::RenderThemeWx::paintMenuList):
  26596. (WebCore::RenderThemeWx::paintMenuListButton):
  26597. * platform/wx/ScrollbarThemeWx.cpp:
  26598. (WebCore::ScrollbarThemeWx::paint):
  26599. * platform/wx/wxcode/cairo: Added.
  26600. * platform/wx/wxcode/cairo/non-kerned-drawing.cpp: Added.
  26601. (WebCore::pangoFontMap):
  26602. (WebCore::createPangoFontForFont):
  26603. (WebCore::createScaledFontForFont):
  26604. (WebCore::pango_font_get_glyph):
  26605. (WebCore::drawTextWithSpacing):
  26606. * platform/wx/wxcode/gdiplus: Added.
  26607. * platform/wx/wxcode/gdiplus/non-kerned-drawing.cpp: Added.
  26608. (dmin):
  26609. (dmax):
  26610. (DegToRad):
  26611. (RadToDeg):
  26612. (WebCore::drawTextWithSpacing):
  26613. * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: Removed.
  26614. * platform/wx/wxcode/win/non-kerned-drawing.cpp: Removed.
  26615. * platform/wx/wxcode/win/scrollbar_render.cpp:
  26616. (GraphicsHDC::GraphicsHDC):
  26617. (GraphicsHDC::~GraphicsHDC):
  26618. (wxRenderer_DrawScrollbar):
  26619. 2011-09-03 Laszlo Gombos <laszlo.1.gombos@nokia.com>
  26620. REGRESSION (r86268): Fix for qt_networkAccessAllowed()
  26621. https://bugs.webkit.org/show_bug.cgi?id=67570
  26622. Reviewed by Noam Rosenthal.
  26623. No new tests as this change only removes dead code.
  26624. Support for Qt 4.6 has been removed a while back.
  26625. * WebCore.pri:
  26626. * WebCore.pro:
  26627. * features.pri:
  26628. * platform/network/NetworkStateNotifier.h:
  26629. * platform/network/qt/NetworkStateNotifierQt.cpp:
  26630. 2011-09-03 Ryosuke Niwa <rniwa@webkit.org>
  26631. REGRESSION(r94274): selection-change-closes-typing.html fails
  26632. https://bugs.webkit.org/show_bug.cgi?id=67377
  26633. Reviewed by Kent Tamura.
  26634. The problem was that when the shadow DOM is updated by setInnerTextValue, WebKit layer detects the selection
  26635. change and calls confirmCompositionWithoutDisturbingSelection, which in turn modifies the shadow DOM by
  26636. inserting text.
  26637. Fixed the bug by not inserting text in confirmCompositionWithoutDisturbingSelection. It turned out that this
  26638. function is only used to cancel composition but never to confirming composition and restoring selection.
  26639. Test: platform/mac/editing/input/selection-change-closes-typing-2.html
  26640. * editing/Editor.cpp:
  26641. (WebCore::Editor::confirmCompositionWithoutDisturbingSelection):
  26642. (WebCore::Editor::confirmComposition):
  26643. 2011-09-03 Sam Weinig <sam@webkit.org>
  26644. Add missing Event constructors to DOMWindow.idl
  26645. https://bugs.webkit.org/show_bug.cgi?id=67449
  26646. Reviewed by Anders Carlsson.
  26647. Covered by existing tests.
  26648. * page/DOMWindow.idl:
  26649. 2011-08-27 Robert Hogan <robert@webkit.org>
  26650. div align="center" rendering problem
  26651. https://bugs.webkit.org/show_bug.cgi?id=4860
  26652. Reviewed by David Hyatt.
  26653. When an inline element with absolute position was the sole or first child of a render block with
  26654. centred alignment, it wasn't obeying its parent's alignment. However it would obey the
  26655. alignment if it was preceded by some text. The problem was that the element's render object
  26656. was getting skipped as leading white space, so it was not included in a normal line block in
  26657. a bidi run. Instead, its position was getting set by RenderBlockLineLayout::setStaticPositions()
  26658. which does not pay attention to alignment. Preceding the element with some text allowed the object
  26659. to get included in a Bidi run and so get a linebox which would get properly aligned.
  26660. The fix is to get RenderBlockLineLayout::setStaticPositions() to obey the alignment specified by
  26661. the object's container. This allows WebKit to get the same result on the test as Firefox and IE.
  26662. Opera has the same bug as unpatched WebKit.
  26663. Tests: fast/css/bug4860-absolute-block-child-does-not-inherit-alignment.html
  26664. - Ensure positioned block elements inherit alignment.
  26665. fast/css/bug4860-absolute-inline-child-inherits-alignment.html
  26666. - Ensure positioned inline elements inherit alignment.
  26667. fast/inline/absolute-positioned-inline-in-centred-block.html
  26668. - Ensure positioned inline element that's the sole or first child of a rendered block
  26669. obeys parents alignment.
  26670. fast/inline/absolute-positioned-block-in-centred-block.html
  26671. - As above, but a positioned block should not inherit alignment.
  26672. * rendering/RenderBlock.h:
  26673. * rendering/RenderBlockLineLayout.cpp:
  26674. (WebCore::RenderBlock::updateLogicalWidthForAlignment):
  26675. (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Move the alignment check to updateLogicalWidthForAlignment.
  26676. (WebCore::setStaticPositions): use startAlignedOffsetForLine and use startAlignedOffsetForBlock
  26677. (WebCore::RenderBlock::startAlignedOffsetForLine): New function, find the aligned offset using updateLogicalWidthForAlignment
  26678. 2011-09-03 Andreas Kling <kling@webkit.org>
  26679. Remove two unused functions from Element.
  26680. https://bugs.webkit.org/show_bug.cgi?id=67492
  26681. Reviewed by Benjamin Poulain.
  26682. Removed openTagStartToString() and setCStringAttribute() as they are
  26683. not called from anywhere.
  26684. * dom/Element.cpp:
  26685. * dom/Element.h:
  26686. 2011-09-03 Andrew Wason <rectalogic@rectalogic.com>
  26687. [Qt] Enable support for WebGL OES_standard_derivatives for Qt
  26688. https://bugs.webkit.org/show_bug.cgi?id=67430
  26689. Reviewed by Noam Rosenthal.
  26690. Tested using https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/extensions/oes-standard-derivatives.html
  26691. Enable existing support for OES_standard_derivatives for Qt.
  26692. * platform/graphics/opengl/Extensions3DOpenGL.cpp:
  26693. (WebCore::Extensions3DOpenGL::ensureEnabled):
  26694. (WebCore::Extensions3DOpenGL::isEnabled):
  26695. 2011-09-03 Yuta Kitamura <yutak@chromium.org>
  26696. WebSocket: Send ArrayBuffer as WebSocket binary message
  26697. https://bugs.webkit.org/show_bug.cgi?id=67477
  26698. Reviewed by Kent Tamura.
  26699. Tests: http/tests/websocket/tests/hybi/send-arraybuffer.html
  26700. http/tests/websocket/tests/hybi/workers/send-arraybuffer.html
  26701. http/tests/websocket/tests/hybi/bufferedAmount-after-close.html (updated)
  26702. * bindings/js/JSWebSocketCustom.cpp:
  26703. (WebCore::JSWebSocket::send):
  26704. * bindings/v8/custom/V8WebSocketCustom.cpp:
  26705. (WebCore::V8WebSocket::sendCallback):
  26706. * websockets/ThreadableWebSocketChannel.h:
  26707. * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
  26708. (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
  26709. (WebCore::ThreadableWebSocketChannelClientWrapper::sendRequestResult):
  26710. (WebCore::ThreadableWebSocketChannelClientWrapper::setSendRequestResult):
  26711. * websockets/ThreadableWebSocketChannelClientWrapper.h:
  26712. Rename "sent" to "sendRequestResult" to clarify the meaning. Messages from the script may not
  26713. be sent immediately, thus the return value of WebSocketChannel::send() indicates whether the
  26714. message has been queued successfully, rather than whether the message has been sent or not.
  26715. * websockets/WebSocket.cpp:
  26716. (WebCore::WebSocket::send):
  26717. Case of sending "[object ArrayBuffer]" is covered by an existing test
  26718. http/tests/websocket/tests/{hybi,hixie76}/send-object.html.
  26719. * websockets/WebSocket.h:
  26720. * websockets/WebSocket.idl:
  26721. * websockets/WebSocketChannel.cpp:
  26722. (WebCore::WebSocketChannel::send):
  26723. * websockets/WebSocketChannel.h:
  26724. * websockets/WorkerThreadableWebSocketChannel.cpp:
  26725. (WebCore::WorkerThreadableWebSocketChannel::send):
  26726. (WebCore::workerContextDidSend):
  26727. (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
  26728. (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendArrayBuffer):
  26729. Construct an ArrayBuffer from the data on Vector<char>.
  26730. (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
  26731. Copy the content into temporary buffer of Vector<char>, and send it to the main thread.
  26732. * websockets/WorkerThreadableWebSocketChannel.h:
  26733. 2011-09-02 Kentaro Hara <haraken@google.com>
  26734. Implement a CustomEvent constructor for V8
  26735. https://bugs.webkit.org/show_bug.cgi?id=67527
  26736. Reviewed by Sam Weinig.
  26737. Test: fast/events/constructors/custom-event-constructor.html
  26738. * bindings/v8/OptionsObject.h:
  26739. (WebCore::OptionsObject::getKeyValue): Returns ScriptValue corresponding to a given key.
  26740. * bindings/v8/custom/V8EventConstructors.cpp: Added the CustomEvent constructor.
  26741. * dom/CustomEvent.idl: Added a 'V8CustomConstructor' attribute.
  26742. 2011-09-02 Adrienne Walker <enne@google.com>
  26743. [chromium] Move updateLayers from LayerRendererChromium to CCLayerTreeHost
  26744. https://bugs.webkit.org/show_bug.cgi?id=67438
  26745. Reviewed by James Robinson.
  26746. Covered by existing tests.
  26747. Move functionality used by both CCLayerTreeHost and
  26748. LayerRendererChromium into CCLayerTreeHostCommon. Move update, paint,
  26749. and updateCompositorResource functions into CClayerTreeHost.
  26750. * WebCore.gypi:
  26751. * platform/graphics/chromium/LayerChromium.cpp:
  26752. (WebCore::sortLayers):
  26753. * platform/graphics/chromium/LayerChromium.h:
  26754. * platform/graphics/chromium/LayerRendererChromium.cpp:
  26755. (WebCore::LayerRendererChromium::textureMemoryReclaimLimit):
  26756. (WebCore::LayerRendererChromium::drawLayers):
  26757. (WebCore::LayerRendererChromium::drawLayersInternal):
  26758. * platform/graphics/chromium/LayerRendererChromium.h:
  26759. * platform/graphics/chromium/cc/CCLayerImpl.cpp:
  26760. (WebCore::sortLayers):
  26761. * platform/graphics/chromium/cc/CCLayerImpl.h:
  26762. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  26763. (WebCore::CCLayerTreeHost::commitTo):
  26764. (WebCore::CCLayerTreeHost::updateLayers):
  26765. (WebCore::paintContentsIfDirty):
  26766. (WebCore::CCLayerTreeHost::paintLayerContents):
  26767. (WebCore::CCLayerTreeHost::updateCompositorResources):
  26768. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  26769. * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: Added.
  26770. (WebCore::CCLayerTreeHostCommon::isScaleOrTranslation):
  26771. (WebCore::CCLayerTreeHostCommon::calculateVisibleRect):
  26772. (WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
  26773. * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h: Added.
  26774. (WebCore::CCLayerTreeHostCommon::calculateDrawTransformsAndVisibility):
  26775. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
  26776. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
  26777. * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  26778. (WebCore::CCSingleThreadProxy::commitIfNeeded):
  26779. 2011-09-02 Chris Marrin <cmarrin@apple.com>
  26780. https://bugs.webkit.org/show_bug.cgi?id=67510
  26781. Crash can occur when doing a PlatformCAAnimation::copy() with no valueFunction
  26782. Reviewed by Simon Fraser.
  26783. Do a null check in two places to avoid sending nulls to CACF ValueFunction API.
  26784. Test: animations/pause-crash.html
  26785. * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
  26786. (PlatformCAAnimation::valueFunction):
  26787. (PlatformCAAnimation::setValueFunction):
  26788. 2011-09-02 Bill Budge <bbudge@chromium.org>
  26789. Add a 'didDownloadData' method to ResourceLoader, SubresourceLoader,
  26790. SubresourceLoaderClient, DocumentThreadableLoader, ResourceHandleClient,
  26791. and ThreadableLoaderClient for the Chromium port only, so we can pass
  26792. these notifications from our ResourceHandle implementation through the
  26793. WebCore loader framework.
  26794. https://bugs.webkit.org/show_bug.cgi?id=67229
  26795. Reviewed by Darin Fisher.
  26796. No new tests. Exposes no new functionality.
  26797. * WebCore.gypi:
  26798. * loader/DocumentThreadableLoader.h:
  26799. * loader/ResourceLoader.h:
  26800. * loader/SubresourceLoader.h:
  26801. * loader/SubresourceLoaderClient.h:
  26802. (WebCore::SubresourceLoaderClient::didDownloadData):
  26803. * loader/ThreadableLoaderClient.h:
  26804. (WebCore::ThreadableLoaderClient::didDownloadData):
  26805. * loader/ThreadableLoaderClientWrapper.h:
  26806. (WebCore::ThreadableLoaderClientWrapper::didDownloadData):
  26807. * loader/chromium: Added.
  26808. * loader/chromium/DocumentThreadableLoaderChromium.cpp: Added.
  26809. (WebCore::DocumentThreadableLoader::didDownloadData):
  26810. * loader/chromium/ResourceLoaderChromium.cpp: Added.
  26811. (WebCore::ResourceLoader::didDownloadData):
  26812. * loader/chromium/SubresourceLoaderChromium.cpp: Added.
  26813. (WebCore::SubresourceLoader::didDownloadData):
  26814. * platform/network/ResourceHandleClient.h:
  26815. (WebCore::ResourceHandleClient::didDownloadData):
  26816. 2011-09-02 Jeff Miller <jeffm@apple.com>
  26817. Assert that PlatformCALayerWinInternal::displayCallback() is only called on the main thread
  26818. https://bugs.webkit.org/show_bug.cgi?id=67541
  26819. Reviewed by Simon Fraser.
  26820. No new tests, covered by existing media tests.
  26821. * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
  26822. (PlatformCALayerWinInternal::displayCallback): Assert that is function is only called on the main thread.
  26823. 2011-09-02 Julien Chaffraix <jchaffraix@webkit.org>
  26824. Enable RenderLayer::updateLayerPosition's cachedOffset optimization for more cases
  26825. https://bugs.webkit.org/show_bug.cgi?id=66901
  26826. Reviewed by Simon Fraser.
  26827. Test: fast/layers/assert-RenderLayer-update-positions.html
  26828. Also covered by existing tests under the new ASSERT.
  26829. This change extends the range of callers making use of the cachedOffset optimization.
  26830. Most callers did not make use of cachedOffset as it did not work when called on a subtree.
  26831. This limitation is now gone thus we can enable it more widely.
  26832. The semantics of the optimization are changed a bit as we now return if it is enabled whereas
  26833. the old code would check if it was *disabled*. Also there were some renames done to match more
  26834. closely what was going on (s/cachedOffset/offsetFromRoot/ and s/cachedOffsetDisabled/hasLayerOffset/).
  26835. Note that this is an optimistic optimization: if cachedOffset is not used, then we have
  26836. done at least an extra traversal up to the root. I have found it to be a wash on file
  26837. cycler (alexa) but to be a nice improvement (~20%) on some table benchmarks (modifying
  26838. a cell, scrolling).
  26839. * page/FrameView.cpp:
  26840. (WebCore::FrameView::layout): Extended the use of cachedOffset to subtree layouts.
  26841. * rendering/RenderBoxModelObject.cpp:
  26842. (WebCore::RenderBoxModelObject::styleDidChange): Forbid the use cachedOffset in this
  26843. case as we have only a single layer to update.
  26844. * rendering/RenderLayer.cpp:
  26845. (WebCore::RenderLayer::computeOffsetFromRoot): Added this function to get the offset from the root
  26846. layer at a certain point in the RenderLayer's tree. It gets the root layer's checking if no layer
  26847. in between would prevent convertToLayerCoords to work and return the position relative to
  26848. this layer.
  26849. (WebCore::RenderLayer::updateLayerPositions): Added a new ASSERT to make sure our cachedOffset
  26850. is always fine. Also added a comment about calling convertToLayerCoords.
  26851. (WebCore::RenderLayer::removeOnlyThisLayer): Added cachedOffset here too as we may have to
  26852. update several layers. We save the offset prior to being removed from the hierarchy for
  26853. correctness.
  26854. (WebCore::RenderLayer::paintChildLayerIntoColumns): Added a comment here about calling convertToLayerCoords.
  26855. * rendering/RenderLayer.h: Swapped the argument in updateLayerPositions to make
  26856. cachedOffset a mandatory field. Patched all the callers.
  26857. (WebCore::RenderLayer::canUseConvertToLayerCoords): Added this helper method to know when a
  26858. renderer prevents convertToLayerCoords from working. Added some FIXME around suspicious use
  26859. of convertToLayerCoords.
  26860. 2011-08-30 Matthew Delaney <mdelaney@apple.com>
  26861. Read out of bounds in sUnpremultiplyData_RGBA8888 / ImageBufferData::getData
  26862. https://bugs.webkit.org/show_bug.cgi?id=65352
  26863. Reviewed by Simon Fraser.
  26864. New test: fast/canvas/canvas-getImageData-large-crash.html
  26865. This patch prevents overflows from happening in getImageData, createImageData, and canvas creation
  26866. calls that specify widths and heights that end up overflowing the ints that we store those values in
  26867. as well as derived values such as area and maxX / maxY of the bounding rects involved. Overflow of integer
  26868. arithmetic is detected via the use of the new Checked type that was introduced in r94207.
  26869. * html/HTMLCanvasElement.cpp:
  26870. (WebCore::HTMLCanvasElement::convertLogicalToDevice): Removed dependency on ints, using FloatRects/Sizes instead.
  26871. (WebCore::HTMLCanvasElement::createImageBuffer): Moved the check for max canvas area and dimensions here.
  26872. Added in check that prevents us from having canvases of sizes that will cause overflows.
  26873. (WebCore::HTMLCanvasElement::baseTransform): Updated use of convertLogicalToDevice.
  26874. * html/HTMLCanvasElement.h: Updated method signatures.
  26875. * html/canvas/CanvasRenderingContext2D.cpp:
  26876. (WebCore::createEmptyImageData): Added in check to prevent creating ImageData objects that will cause overflow when computing their size.
  26877. (WebCore::CanvasRenderingContext2D::createImageData): Avoid creating ImageData objects of size that will overflow later.
  26878. (WebCore::CanvasRenderingContext2D::getImageData): Added in check to prevent trying to get ImageData objects that will cause overflow when computing their size.
  26879. * platform/graphics/FloatRect.cpp:
  26880. (WebCore::FloatRect::isExpressibleAsIntRect): New method that tests whether a FloatRect can become an IntRect without overflow or having to be clamped.
  26881. * platform/graphics/FloatRect.h:
  26882. * platform/graphics/FloatSize.cpp:
  26883. (WebCore::FloatSize::isExpressibleAsIntSize): Same as FloatRect, but for FloatSize->IntSize.
  26884. * platform/graphics/FloatSize.h:
  26885. * platform/graphics/cg/ImageBufferCG.cpp: Added check for overflow.
  26886. (WebCore::ImageBuffer::ImageBuffer):
  26887. 2011-09-02 Dan Bernstein <mitz@apple.com>
  26888. <rdar://problem/9755843> anonymous RenderMathMLOperator sets itself as the renderer of its parent mfenced node
  26889. Reviewed by Darin Adler.
  26890. Test: mathml/operator-hijacks-fenced-node.xhtml
  26891. * rendering/mathml/RenderMathMLOperator.cpp:
  26892. (WebCore::RenderMathMLOperator::updateFromElement): Rather than unconditionally setting the
  26893. node’s renderer to this, just restore it to whatever it was before calling destroyLeftoverChildren().
  26894. 2011-09-02 Mark Hahnenberg <mhahnenberg@apple.com>
  26895. Incorporate newer, faster dtoa library
  26896. https://bugs.webkit.org/show_bug.cgi?id=66346
  26897. Reviewed by Oliver Hunt.
  26898. No new tests.
  26899. Added new dtoa library at http://code.google.com/p/double-conversion/.
  26900. Replaced old call to dtoa. The new library is much faster than the old one.
  26901. We still use the old dtoa for some stuff in WebCore as well as the old strtod,
  26902. but we can phase these out eventually as well.
  26903. * ForwardingHeaders/wtf/dtoa/double-conversion.h: Added.
  26904. * WebCore.vcproj/copyForwardingHeaders.cmd:
  26905. * css/CSSPrimitiveValue.cpp:
  26906. (WebCore::formatNumber):
  26907. * html/parser/HTMLParserIdioms.cpp:
  26908. (WebCore::serializeForNumberType):
  26909. * inspector/InspectorValues.cpp:
  26910. (WebCore::InspectorBasicValue::writeJSON):
  26911. * platform/graphics/Color.cpp:
  26912. (WebCore::Color::serialized):
  26913. 2011-09-02 Nat Duca <nduca@chromium.org>
  26914. [chromium] Check for null context when reinitializing compositor
  26915. https://bugs.webkit.org/show_bug.cgi?id=67507
  26916. Reviewed by James Robinson.
  26917. * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  26918. (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
  26919. 2011-09-02 Sam Weinig <sam@webkit.org>
  26920. Remove BeforeProcessEvent, it was never meant to be
  26921. https://bugs.webkit.org/show_bug.cgi?id=67493
  26922. Reviewed by Anders Carlsson.
  26923. BeforeProcessEvent was added, never hooked up, and never removed.
  26924. Now it is being removed.
  26925. * CodeGenerators.pri:
  26926. * DerivedSources.make:
  26927. * GNUmakefile.list.am:
  26928. * WebCore.gypi:
  26929. * WebCore.pro:
  26930. * WebCore.vcproj/WebCore.vcproj:
  26931. * WebCore.xcodeproj/project.pbxproj:
  26932. * dom/BeforeProcessEvent.cpp: Removed.
  26933. * dom/BeforeProcessEvent.h: Removed.
  26934. * dom/BeforeProcessEvent.idl: Removed.
  26935. * dom/DOMAllInOne.cpp:
  26936. * dom/Document.cpp:
  26937. (WebCore::Document::addListenerTypeIfNeeded):
  26938. * dom/Document.h:
  26939. * dom/EventNames.h:
  26940. * html/HTMLAttributeNames.in:
  26941. * html/HTMLScriptElement.cpp:
  26942. (WebCore::HTMLScriptElement::parseMappedAttribute):
  26943. * html/HTMLStyleElement.cpp:
  26944. (WebCore::HTMLStyleElement::parseMappedAttribute):
  26945. 2011-09-02 Adrienne Walker <enne@google.com>
  26946. [chromium] Remove LayerRendererChromium references from the LayerChromium tree
  26947. https://bugs.webkit.org/show_bug.cgi?id=66430
  26948. Reviewed by James Robinson.
  26949. Covered by existing tests.
  26950. Replace references to LayerRendererChromium in the LayerChromium tree
  26951. with references to LayerTreeHost. The LayerRendererChromium property
  26952. is no longer synced and instead is set recursively on the CCLayerImpl
  26953. tree during commit.
  26954. WebGLLayerChromium's paintRenderedResultsToCanvas function is
  26955. temporarily turned off for threaded compositing because it needs
  26956. access to the compositor context.
  26957. Previously, changing the layer renderer on a layer called cleanup
  26958. resources on that layer. Now, call that explicitly clean up all
  26959. resources explicitly from the proxy when the layer renderer gets
  26960. created. This cleans up all of the ManagedTexture objects which may be
  26961. hanging onto stale GraphicsContext3D pointers.
  26962. * platform/graphics/chromium/LayerChromium.cpp:
  26963. (WebCore::LayerChromium::cleanupResourcesRecursive):
  26964. (WebCore::LayerChromium::setLayerTreeHost):
  26965. (WebCore::LayerChromium::pushPropertiesTo):
  26966. * platform/graphics/chromium/LayerChromium.h:
  26967. (WebCore::LayerChromium::layerTreeHost):
  26968. * platform/graphics/chromium/LayerRendererChromium.cpp:
  26969. (WebCore::LayerRendererChromium::drawLayers):
  26970. (WebCore::LayerRendererChromium::paintLayerContents):
  26971. * platform/graphics/chromium/RenderSurfaceChromium.cpp:
  26972. * platform/graphics/chromium/RenderSurfaceChromium.h:
  26973. * platform/graphics/chromium/TiledLayerChromium.cpp:
  26974. (WebCore::TiledLayerChromium::TiledLayerChromium):
  26975. (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
  26976. (WebCore::TiledLayerChromium::setLayerTreeHost):
  26977. (WebCore::TiledLayerChromium::textureManager):
  26978. * platform/graphics/chromium/TiledLayerChromium.h:
  26979. * platform/graphics/chromium/VideoLayerChromium.cpp:
  26980. (WebCore::VideoLayerChromium::VideoLayerChromium):
  26981. (WebCore::VideoLayerChromium::cleanupResources):
  26982. (WebCore::VideoLayerChromium::setLayerTreeHost):
  26983. (WebCore::VideoLayerChromium::reserveTextures):
  26984. * platform/graphics/chromium/VideoLayerChromium.h:
  26985. * platform/graphics/chromium/WebGLLayerChromium.cpp:
  26986. (WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
  26987. (WebCore::WebGLLayerChromium::setTextureUpdated):
  26988. (WebCore::WebGLLayerChromium::layerRendererContext):
  26989. * platform/graphics/chromium/WebGLLayerChromium.h:
  26990. * platform/graphics/chromium/cc/CCLayerImpl.cpp:
  26991. (WebCore::CCLayerImpl::setLayerRendererRecursive):
  26992. * platform/graphics/chromium/cc/CCLayerImpl.h:
  26993. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  26994. (WebCore::CCLayerTreeHost::commitTo):
  26995. (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
  26996. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
  26997. (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
  26998. 2011-09-02 Alexey Proskuryakov <ap@apple.com>
  26999. Build fix.
  27000. * platform/network/mac/CookieStorageMac.mm: (WebCore::setCookieStoragePrivateBrowsingEnabled):
  27001. Can't use BUILDING_ON_SNOW_LEOPARD without defined() when not on Snow Leopard.
  27002. 2011-09-02 Sheriff Bot <webkit.review.bot@gmail.com>
  27003. Unreviewed, rolling out r94421.
  27004. http://trac.webkit.org/changeset/94421
  27005. https://bugs.webkit.org/show_bug.cgi?id=67496
  27006. Broke a number of tests on Chromium builders (including the
  27007. "cr-linux" EWS bot) (Requested by apavlov on #webkit).
  27008. * accessibility/AXObjectCache.cpp:
  27009. (WebCore::nodeHasRole):
  27010. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
  27011. (webkit_accessible_get_name):
  27012. * dom/Document.cpp:
  27013. (WebCore::Document::buildAccessKeyMap):
  27014. (WebCore::Document::recalcStyleSelector):
  27015. * dom/Element.cpp:
  27016. (WebCore::Element::baseURI):
  27017. (WebCore::Element::formatForDebugger):
  27018. (WebCore::Element::spellcheckAttributeState):
  27019. * dom/NameNodeList.cpp:
  27020. (WebCore::NameNodeList::nodeMatches):
  27021. * editing/ApplyStyleCommand.cpp:
  27022. (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
  27023. * editing/SplitElementCommand.cpp:
  27024. (WebCore::SplitElementCommand::doUnapply):
  27025. * editing/markup.cpp:
  27026. (WebCore::shouldIncludeWrapperForFullySelectedRoot):
  27027. (WebCore::createMarkup):
  27028. * html/HTMLAnchorElement.cpp:
  27029. (WebCore::HTMLAnchorElement::draggable):
  27030. (WebCore::HTMLAnchorElement::href):
  27031. (WebCore::HTMLAnchorElement::name):
  27032. (WebCore::HTMLAnchorElement::target):
  27033. (WebCore::HTMLAnchorElement::sendPings):
  27034. (WebCore::HTMLAnchorElement::handleClick):
  27035. * html/HTMLAppletElement.cpp:
  27036. (WebCore::HTMLAppletElement::createRenderer):
  27037. * html/HTMLAreaElement.cpp:
  27038. (WebCore::HTMLAreaElement::target):
  27039. * html/HTMLBodyElement.cpp:
  27040. (WebCore::HTMLBodyElement::aLink):
  27041. (WebCore::HTMLBodyElement::bgColor):
  27042. (WebCore::HTMLBodyElement::link):
  27043. (WebCore::HTMLBodyElement::text):
  27044. (WebCore::HTMLBodyElement::vLink):
  27045. (WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
  27046. * html/HTMLButtonElement.cpp:
  27047. (WebCore::HTMLButtonElement::value):
  27048. * html/HTMLCanvasElement.cpp:
  27049. (WebCore::HTMLCanvasElement::reset):
  27050. * html/HTMLCollection.cpp:
  27051. (WebCore::HTMLCollection::checkForNameMatch):
  27052. (WebCore::HTMLCollection::updateNameCache):
  27053. * html/HTMLDocument.cpp:
  27054. (WebCore::HTMLDocument::dir):
  27055. * html/HTMLElement.cpp:
  27056. (WebCore::HTMLElement::parseMappedAttribute):
  27057. (WebCore::HTMLElement::draggable):
  27058. (WebCore::HTMLElement::title):
  27059. (WebCore::setHasDirAutoFlagRecursively):
  27060. (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
  27061. (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
  27062. (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
  27063. * html/HTMLEmbedElement.cpp:
  27064. (WebCore::HTMLEmbedElement::updateWidget):
  27065. (WebCore::HTMLEmbedElement::insertedIntoDocument):
  27066. (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs):
  27067. * html/HTMLFormCollection.cpp:
  27068. (WebCore::HTMLFormCollection::getNamedFormItem):
  27069. (WebCore::HTMLFormCollection::updateNameCache):
  27070. * html/HTMLFormControlElement.cpp:
  27071. (WebCore::HTMLFormControlElement::autofocus):
  27072. (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
  27073. * html/HTMLFormElement.cpp:
  27074. (WebCore::HTMLFormElement::name):
  27075. (WebCore::HTMLFormElement::action):
  27076. (WebCore::HTMLFormElement::method):
  27077. (WebCore::HTMLFormElement::target):
  27078. * html/HTMLFrameElement.cpp:
  27079. (WebCore::HTMLFrameElement::noResize):
  27080. * html/HTMLFrameElementBase.cpp:
  27081. (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
  27082. (WebCore::HTMLFrameElementBase::location):
  27083. (WebCore::HTMLFrameElementBase::allowFullScreen):
  27084. * html/HTMLHtmlElement.cpp:
  27085. (WebCore::HTMLHtmlElement::insertedByParser):
  27086. * html/HTMLImageElement.cpp:
  27087. (WebCore::HTMLImageElement::altText):
  27088. (WebCore::HTMLImageElement::width):
  27089. (WebCore::HTMLImageElement::height):
  27090. (WebCore::HTMLImageElement::alt):
  27091. (WebCore::HTMLImageElement::draggable):
  27092. (WebCore::HTMLImageElement::src):
  27093. (WebCore::HTMLImageElement::addSubresourceAttributeURLs):
  27094. * html/HTMLInputElement.cpp:
  27095. (WebCore::HTMLInputElement::finishParsingChildren):
  27096. (WebCore::HTMLInputElement::altText):
  27097. (WebCore::HTMLInputElement::reset):
  27098. (WebCore::HTMLInputElement::searchEventsShouldBeDispatched):
  27099. (WebCore::HTMLInputElement::isSpeechEnabled):
  27100. * html/HTMLLabelElement.cpp:
  27101. (WebCore::HTMLLabelElement::control):
  27102. * html/HTMLLinkElement.cpp:
  27103. (WebCore::HTMLLinkElement::process):
  27104. (WebCore::HTMLLinkElement::href):
  27105. (WebCore::HTMLLinkElement::rel):
  27106. (WebCore::HTMLLinkElement::target):
  27107. (WebCore::HTMLLinkElement::type):
  27108. * html/HTMLMapElement.cpp:
  27109. (WebCore::HTMLMapElement::imageElement):
  27110. * html/HTMLMediaElement.cpp:
  27111. (WebCore::HTMLMediaElement::attributeChanged):
  27112. (WebCore::HTMLMediaElement::insertedIntoDocument):
  27113. * html/HTMLMetaElement.cpp:
  27114. (WebCore::HTMLMetaElement::content):
  27115. (WebCore::HTMLMetaElement::httpEquiv):
  27116. (WebCore::HTMLMetaElement::name):
  27117. * html/HTMLMeterElement.cpp:
  27118. (WebCore::HTMLMeterElement::min):
  27119. (WebCore::HTMLMeterElement::max):
  27120. (WebCore::HTMLMeterElement::value):
  27121. (WebCore::HTMLMeterElement::low):
  27122. (WebCore::HTMLMeterElement::high):
  27123. (WebCore::HTMLMeterElement::optimum):
  27124. * html/HTMLNameCollection.cpp:
  27125. (WebCore::HTMLNameCollection::itemAfter):
  27126. * html/HTMLObjectElement.cpp:
  27127. (WebCore::HTMLObjectElement::updateWidget):
  27128. (WebCore::HTMLObjectElement::containsJavaApplet):
  27129. (WebCore::HTMLObjectElement::addSubresourceAttributeURLs):
  27130. * html/HTMLOptGroupElement.cpp:
  27131. (WebCore::HTMLOptGroupElement::groupLabelText):
  27132. * html/HTMLProgressElement.cpp:
  27133. (WebCore::HTMLProgressElement::max):
  27134. * html/HTMLScriptElement.cpp:
  27135. (WebCore::HTMLScriptElement::sourceAttributeValue):
  27136. (WebCore::HTMLScriptElement::charsetAttributeValue):
  27137. (WebCore::HTMLScriptElement::typeAttributeValue):
  27138. (WebCore::HTMLScriptElement::languageAttributeValue):
  27139. (WebCore::HTMLScriptElement::forAttributeValue):
  27140. (WebCore::HTMLScriptElement::eventAttributeValue):
  27141. * html/HTMLSourceElement.cpp:
  27142. (WebCore::HTMLSourceElement::media):
  27143. (WebCore::HTMLSourceElement::type):
  27144. * html/HTMLStyleElement.cpp:
  27145. (WebCore::HTMLStyleElement::media):
  27146. (WebCore::HTMLStyleElement::type):
  27147. * html/HTMLTableCellElement.cpp:
  27148. (WebCore::HTMLTableCellElement::abbr):
  27149. (WebCore::HTMLTableCellElement::axis):
  27150. (WebCore::HTMLTableCellElement::headers):
  27151. (WebCore::HTMLTableCellElement::scope):
  27152. (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs):
  27153. * html/HTMLTableColElement.cpp:
  27154. (WebCore::HTMLTableColElement::width):
  27155. * html/HTMLTableElement.cpp:
  27156. (WebCore::HTMLTableElement::rules):
  27157. (WebCore::HTMLTableElement::summary):
  27158. (WebCore::HTMLTableElement::addSubresourceAttributeURLs):
  27159. * html/HTMLTableSectionElement.cpp:
  27160. (WebCore::HTMLTableSectionElement::align):
  27161. (WebCore::HTMLTableSectionElement::ch):
  27162. (WebCore::HTMLTableSectionElement::chOff):
  27163. (WebCore::HTMLTableSectionElement::vAlign):
  27164. * html/HTMLTextAreaElement.cpp:
  27165. (WebCore::HTMLTextAreaElement::maxLength):
  27166. * html/HTMLTextFormControlElement.cpp:
  27167. (WebCore::HTMLTextFormControlElement::strippedPlaceholder):
  27168. (WebCore::HTMLTextFormControlElement::isPlaceholderEmpty):
  27169. * html/HTMLTrackElement.cpp:
  27170. (WebCore::HTMLTrackElement::src):
  27171. (WebCore::HTMLTrackElement::kind):
  27172. (WebCore::HTMLTrackElement::srclang):
  27173. (WebCore::HTMLTrackElement::label):
  27174. (WebCore::HTMLTrackElement::isDefault):
  27175. (WebCore::HTMLTrackElement::load):
  27176. * html/HTMLVideoElement.cpp:
  27177. (WebCore::HTMLVideoElement::width):
  27178. (WebCore::HTMLVideoElement::height):
  27179. * html/StepRange.cpp:
  27180. (WebCore::StepRange::StepRange):
  27181. * html/shadow/TextControlInnerElements.cpp:
  27182. (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
  27183. * inspector/InspectorPageAgent.cpp:
  27184. (WebCore::InspectorPageAgent::buildObjectForFrame):
  27185. * loader/FormSubmission.cpp:
  27186. (WebCore::FormSubmission::create):
  27187. * loader/ImageLoader.cpp:
  27188. (WebCore::ImageLoader::updateFromElement):
  27189. * page/Frame.cpp:
  27190. (WebCore::Frame::matchLabelsAgainstElement):
  27191. * page/PageSerializer.cpp:
  27192. (WebCore::PageSerializer::serializeFrame):
  27193. * page/mac/FrameMac.mm:
  27194. (WebCore::Frame::matchLabelsAgainstElement):
  27195. * platform/chromium/ClipboardChromium.cpp:
  27196. (WebCore::writeImageToDataObject):
  27197. * platform/chromium/PasteboardChromium.cpp:
  27198. (WebCore::Pasteboard::writeImage):
  27199. * platform/gtk/PasteboardGtk.cpp:
  27200. (WebCore::getURLForImageNode):
  27201. * platform/mac/HTMLConverter.mm:
  27202. (fileWrapperForElement):
  27203. * platform/win/ClipboardWin.cpp:
  27204. (WebCore::writeImageToDataObject):
  27205. (WebCore::ClipboardWin::declareAndWriteDragImage):
  27206. * rendering/HitTestResult.cpp:
  27207. (WebCore::HitTestResult::altDisplayString):
  27208. (WebCore::HitTestResult::absoluteImageURL):
  27209. (WebCore::HitTestResult::absoluteLinkURL):
  27210. * rendering/RenderDetails.cpp:
  27211. (WebCore::RenderDetails::isOpen):
  27212. * rendering/RenderMenuList.cpp:
  27213. (WebCore::RenderMenuList::itemAccessibilityText):
  27214. * rendering/RenderObject.cpp:
  27215. (WebCore::RenderObject::addPDFURLRect):
  27216. * rendering/RenderTableCell.cpp:
  27217. (WebCore::RenderTableCell::computePreferredLogicalWidths):
  27218. * rendering/RenderTextControlSingleLine.cpp:
  27219. (WebCore::RenderTextControlSingleLine::autosaveName):
  27220. * rendering/RenderVideo.cpp:
  27221. (WebCore::RenderVideo::calculateIntrinsicSize):
  27222. * rendering/mathml/RenderMathMLFenced.cpp:
  27223. (WebCore::RenderMathMLFenced::updateFromElement):
  27224. * rendering/mathml/RenderMathMLFraction.cpp:
  27225. (WebCore::RenderMathMLFraction::updateFromElement):
  27226. * rendering/mathml/RenderMathMLOperator.cpp:
  27227. (WebCore::RenderMathMLOperator::updateFromElement):
  27228. * svg/SVGFontData.cpp:
  27229. (WebCore::SVGFontData::applySVGGlyphSelection):
  27230. 2011-09-02 Alexey Proskuryakov <ap@apple.com>
  27231. REGRESSION (r94093): Private browsing doesn't start with a clean state on Snow Leopard
  27232. https://bugs.webkit.org/show_bug.cgi?id=67356
  27233. Reviewed by Darin Adler.
  27234. * platform/network/mac/CookieStorageMac.mm: (WebCore::setCookieStoragePrivateBrowsingEnabled):
  27235. Don't enable old-style private browsing when using sessions - it would take precedence over
  27236. session cookie storage on Snow Leopard.
  27237. 2011-09-02 Mihnea Ovidenie <mihnea@adobe.com>
  27238. BORDER attribute percent with the input image tag not working.
  27239. https://bugs.webkit.org/show_bug.cgi?id=66467
  27240. Reviewed by Simon Fraser.
  27241. This patch fixes 2 issues regarding the border attribute of an input image element.
  27242. 1. The border attribute, if specified, is now taken into account and the border of the input image element is displayed.
  27243. 2. If the border attribute contains percent, the border is displayed.
  27244. The value of the border attribute for input image element is now parsed according to the rules for parsing non-negative integers.
  27245. This implies that when percent is specified in the border attribute, parsing takes place and the percent is ignored.
  27246. If after parsing, the value of the border is greater than zero, the border of the input image element is displayed.
  27247. * html/HTMLElement.cpp:
  27248. (WebCore::parseBorderWidthAttribute):
  27249. (WebCore::HTMLElement::applyBorderAttribute):
  27250. * html/HTMLElement.h:
  27251. * html/HTMLImageElement.cpp:
  27252. (WebCore::HTMLImageElement::parseMappedAttribute):
  27253. * html/HTMLInputElement.cpp:
  27254. (WebCore::HTMLInputElement::parseMappedAttribute):
  27255. * html/HTMLObjectElement.cpp:
  27256. (WebCore::HTMLObjectElement::parseMappedAttribute):
  27257. 2011-09-02 Kentaro Hara <haraken@google.com>
  27258. Implement the Event constructor for V8.
  27259. https://bugs.webkit.org/show_bug.cgi?id=66756
  27260. Reviewed by Adam Barth.
  27261. The spec of the Event constructor is here:
  27262. http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-event-constructor
  27263. This patch implements the Event constructor for V8 in V8EventConstructors.cpp,
  27264. similar to the implementation for JSC in JSEventConstructors.cpp.
  27265. * WebCore.gypi: Added V8EventConstructors.cpp.
  27266. * WebCore.pro: Ditto.
  27267. * bindings/scripts/CodeGeneratorV8.pm:
  27268. * bindings/v8/OptionsObject.cpp:
  27269. (WebCore::OptionsObject::getKeyDouble): Returns a value of type double corresponding to a given key.
  27270. * bindings/v8/OptionsObject.h:
  27271. (WebCore::OptionsObject::getKeyValue): Returns a value corresponding to a given key.
  27272. * bindings/v8/custom/V8EventConstructors.cpp: Added.
  27273. (WebCore::constructV8Event): AllowAllocation::current() means that a DOM object created by WebCore is going to be just wrapped into a V8 object. In this case, we skip the code of constructorCallback().
  27274. * dom/Event.idl: Added |V8CustomConstructor|.
  27275. 2011-09-02 Anton Muhin <antonm@chromium.org>
  27276. [v8] Use size_t instead of unsigned when iterating over Vector in V8DOMStringMap
  27277. https://bugs.webkit.org/show_bug.cgi?id=67484
  27278. Reviewed by Yury Semikhatsky.
  27279. No new tests, minor cleanup.
  27280. * bindings/v8/custom/V8DOMStringMapCustom.cpp:
  27281. (WebCore::V8DOMStringMap::namedPropertyEnumerator):
  27282. 2011-09-02 Sheriff Bot <webkit.review.bot@gmail.com>
  27283. Unreviewed, rolling out r94404.
  27284. http://trac.webkit.org/changeset/94404
  27285. https://bugs.webkit.org/show_bug.cgi?id=67490
  27286. "Patch is wrong, new API needs two reviewers, we are already
  27287. working on how to add notifications elsewhere" (Requested by
  27288. xan_ on #webkit).
  27289. * bindings/gobject/GNUmakefile.am:
  27290. 2011-09-02 Andreas Kling <kling@webkit.org>
  27291. Use fastGetAttribute() and fastHasAttribute() where appropriate.
  27292. https://bugs.webkit.org/show_bug.cgi?id=67394
  27293. Reviewed by Darin Adler.
  27294. Change call sites that don't check the "style" or SVG animatable
  27295. attributes to use fastGetAttribute()/fastHasAttribute() instead
  27296. of getAttribute()/hasAttribute().
  27297. No new tests, this is a minor performance optimization.
  27298. * accessibility/AXObjectCache.cpp:
  27299. (WebCore::nodeHasRole):
  27300. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
  27301. (webkit_accessible_get_name):
  27302. * dom/Document.cpp:
  27303. (WebCore::Document::buildAccessKeyMap):
  27304. (WebCore::Document::recalcStyleSelector):
  27305. * dom/Element.cpp:
  27306. (WebCore::Element::baseURI):
  27307. (WebCore::Element::formatForDebugger):
  27308. (WebCore::Element::spellcheckAttributeState):
  27309. * dom/NameNodeList.cpp:
  27310. (WebCore::NameNodeList::nodeMatches):
  27311. * editing/ApplyStyleCommand.cpp:
  27312. (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
  27313. * editing/SplitElementCommand.cpp:
  27314. (WebCore::SplitElementCommand::doUnapply):
  27315. * editing/markup.cpp:
  27316. (WebCore::shouldIncludeWrapperForFullySelectedRoot):
  27317. (WebCore::createMarkup):
  27318. * html/HTMLAnchorElement.cpp:
  27319. (WebCore::HTMLAnchorElement::draggable):
  27320. (WebCore::HTMLAnchorElement::href):
  27321. (WebCore::HTMLAnchorElement::name):
  27322. (WebCore::HTMLAnchorElement::target):
  27323. (WebCore::HTMLAnchorElement::sendPings):
  27324. (WebCore::HTMLAnchorElement::handleClick):
  27325. * html/HTMLAppletElement.cpp:
  27326. (WebCore::HTMLAppletElement::createRenderer):
  27327. * html/HTMLAreaElement.cpp:
  27328. (WebCore::HTMLAreaElement::target):
  27329. * html/HTMLBodyElement.cpp:
  27330. (WebCore::HTMLBodyElement::aLink):
  27331. (WebCore::HTMLBodyElement::bgColor):
  27332. (WebCore::HTMLBodyElement::link):
  27333. (WebCore::HTMLBodyElement::text):
  27334. (WebCore::HTMLBodyElement::vLink):
  27335. (WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
  27336. * html/HTMLButtonElement.cpp:
  27337. (WebCore::HTMLButtonElement::value):
  27338. * html/HTMLCanvasElement.cpp:
  27339. (WebCore::HTMLCanvasElement::reset):
  27340. * html/HTMLCollection.cpp:
  27341. (WebCore::HTMLCollection::checkForNameMatch):
  27342. (WebCore::HTMLCollection::updateNameCache):
  27343. * html/HTMLDocument.cpp:
  27344. (WebCore::HTMLDocument::dir):
  27345. * html/HTMLElement.cpp:
  27346. (WebCore::HTMLElement::parseMappedAttribute):
  27347. (WebCore::HTMLElement::draggable):
  27348. (WebCore::HTMLElement::title):
  27349. (WebCore::setHasDirAutoFlagRecursively):
  27350. (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
  27351. (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
  27352. (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
  27353. * html/HTMLEmbedElement.cpp:
  27354. (WebCore::HTMLEmbedElement::updateWidget):
  27355. (WebCore::HTMLEmbedElement::insertedIntoDocument):
  27356. (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs):
  27357. * html/HTMLFormCollection.cpp:
  27358. (WebCore::HTMLFormCollection::getNamedFormItem):
  27359. (WebCore::HTMLFormCollection::updateNameCache):
  27360. * html/HTMLFormControlElement.cpp:
  27361. (WebCore::HTMLFormControlElement::autofocus):
  27362. (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
  27363. * html/HTMLFormElement.cpp:
  27364. (WebCore::HTMLFormElement::name):
  27365. (WebCore::HTMLFormElement::action):
  27366. (WebCore::HTMLFormElement::method):
  27367. (WebCore::HTMLFormElement::target):
  27368. * html/HTMLFrameElement.cpp:
  27369. (WebCore::HTMLFrameElement::noResize):
  27370. * html/HTMLFrameElementBase.cpp:
  27371. (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
  27372. (WebCore::HTMLFrameElementBase::location):
  27373. (WebCore::HTMLFrameElementBase::allowFullScreen):
  27374. * html/HTMLHtmlElement.cpp:
  27375. (WebCore::HTMLHtmlElement::insertedByParser):
  27376. * html/HTMLImageElement.cpp:
  27377. (WebCore::HTMLImageElement::altText):
  27378. (WebCore::HTMLImageElement::width):
  27379. (WebCore::HTMLImageElement::height):
  27380. (WebCore::HTMLImageElement::alt):
  27381. (WebCore::HTMLImageElement::draggable):
  27382. (WebCore::HTMLImageElement::src):
  27383. (WebCore::HTMLImageElement::addSubresourceAttributeURLs):
  27384. * html/HTMLInputElement.cpp:
  27385. (WebCore::HTMLInputElement::finishParsingChildren):
  27386. (WebCore::HTMLInputElement::altText):
  27387. (WebCore::HTMLInputElement::reset):
  27388. (WebCore::HTMLInputElement::searchEventsShouldBeDispatched):
  27389. (WebCore::HTMLInputElement::isSpeechEnabled):
  27390. * html/HTMLLabelElement.cpp:
  27391. (WebCore::HTMLLabelElement::control):
  27392. * html/HTMLLinkElement.cpp:
  27393. (WebCore::HTMLLinkElement::process):
  27394. (WebCore::HTMLLinkElement::href):
  27395. (WebCore::HTMLLinkElement::rel):
  27396. (WebCore::HTMLLinkElement::target):
  27397. (WebCore::HTMLLinkElement::type):
  27398. * html/HTMLMapElement.cpp:
  27399. (WebCore::HTMLMapElement::imageElement):
  27400. * html/HTMLMediaElement.cpp:
  27401. (WebCore::HTMLMediaElement::attributeChanged):
  27402. (WebCore::HTMLMediaElement::insertedIntoDocument):
  27403. * html/HTMLMetaElement.cpp:
  27404. (WebCore::HTMLMetaElement::content):
  27405. (WebCore::HTMLMetaElement::httpEquiv):
  27406. (WebCore::HTMLMetaElement::name):
  27407. * html/HTMLMeterElement.cpp:
  27408. (WebCore::HTMLMeterElement::min):
  27409. (WebCore::HTMLMeterElement::max):
  27410. (WebCore::HTMLMeterElement::value):
  27411. (WebCore::HTMLMeterElement::low):
  27412. (WebCore::HTMLMeterElement::high):
  27413. (WebCore::HTMLMeterElement::optimum):
  27414. * html/HTMLNameCollection.cpp:
  27415. (WebCore::HTMLNameCollection::itemAfter):
  27416. * html/HTMLObjectElement.cpp:
  27417. (WebCore::HTMLObjectElement::updateWidget):
  27418. (WebCore::HTMLObjectElement::containsJavaApplet):
  27419. (WebCore::HTMLObjectElement::addSubresourceAttributeURLs):
  27420. * html/HTMLOptGroupElement.cpp:
  27421. (WebCore::HTMLOptGroupElement::groupLabelText):
  27422. * html/HTMLProgressElement.cpp:
  27423. (WebCore::HTMLProgressElement::max):
  27424. * html/HTMLScriptElement.cpp:
  27425. (WebCore::HTMLScriptElement::sourceAttributeValue):
  27426. (WebCore::HTMLScriptElement::charsetAttributeValue):
  27427. (WebCore::HTMLScriptElement::typeAttributeValue):
  27428. (WebCore::HTMLScriptElement::languageAttributeValue):
  27429. (WebCore::HTMLScriptElement::forAttributeValue):
  27430. (WebCore::HTMLScriptElement::eventAttributeValue):
  27431. * html/HTMLSourceElement.cpp:
  27432. (WebCore::HTMLSourceElement::media):
  27433. (WebCore::HTMLSourceElement::type):
  27434. * html/HTMLStyleElement.cpp:
  27435. (WebCore::HTMLStyleElement::media):
  27436. (WebCore::HTMLStyleElement::type):
  27437. * html/HTMLTableCellElement.cpp:
  27438. (WebCore::HTMLTableCellElement::abbr):
  27439. (WebCore::HTMLTableCellElement::axis):
  27440. (WebCore::HTMLTableCellElement::headers):
  27441. (WebCore::HTMLTableCellElement::scope):
  27442. (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs):
  27443. * html/HTMLTableColElement.cpp:
  27444. (WebCore::HTMLTableColElement::width):
  27445. * html/HTMLTableElement.cpp:
  27446. (WebCore::HTMLTableElement::rules):
  27447. (WebCore::HTMLTableElement::summary):
  27448. (WebCore::HTMLTableElement::addSubresourceAttributeURLs):
  27449. * html/HTMLTableSectionElement.cpp:
  27450. (WebCore::HTMLTableSectionElement::align):
  27451. (WebCore::HTMLTableSectionElement::ch):
  27452. (WebCore::HTMLTableSectionElement::chOff):
  27453. (WebCore::HTMLTableSectionElement::vAlign):
  27454. * html/HTMLTextAreaElement.cpp:
  27455. (WebCore::HTMLTextAreaElement::maxLength):
  27456. * html/HTMLTextFormControlElement.cpp:
  27457. (WebCore::HTMLTextFormControlElement::strippedPlaceholder):
  27458. (WebCore::HTMLTextFormControlElement::isPlaceholderEmpty):
  27459. * html/HTMLTrackElement.cpp:
  27460. (WebCore::HTMLTrackElement::src):
  27461. (WebCore::HTMLTrackElement::kind):
  27462. (WebCore::HTMLTrackElement::srclang):
  27463. (WebCore::HTMLTrackElement::label):
  27464. (WebCore::HTMLTrackElement::isDefault):
  27465. (WebCore::HTMLTrackElement::load):
  27466. * html/HTMLVideoElement.cpp:
  27467. (WebCore::HTMLVideoElement::width):
  27468. (WebCore::HTMLVideoElement::height):
  27469. * html/StepRange.cpp:
  27470. (WebCore::StepRange::StepRange):
  27471. * html/shadow/TextControlInnerElements.cpp:
  27472. (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
  27473. * inspector/InspectorPageAgent.cpp:
  27474. (WebCore::InspectorPageAgent::buildObjectForFrame):
  27475. * loader/FormSubmission.cpp:
  27476. (WebCore::FormSubmission::create):
  27477. * loader/ImageLoader.cpp:
  27478. (WebCore::ImageLoader::updateFromElement):
  27479. * page/Frame.cpp:
  27480. (WebCore::Frame::matchLabelsAgainstElement):
  27481. * page/PageSerializer.cpp:
  27482. (WebCore::PageSerializer::serializeFrame):
  27483. * page/mac/FrameMac.mm:
  27484. (WebCore::Frame::matchLabelsAgainstElement):
  27485. * platform/chromium/ClipboardChromium.cpp:
  27486. (WebCore::writeImageToDataObject):
  27487. * platform/chromium/PasteboardChromium.cpp:
  27488. (WebCore::Pasteboard::writeImage):
  27489. * platform/gtk/PasteboardGtk.cpp:
  27490. (WebCore::getURLForImageNode):
  27491. * platform/mac/HTMLConverter.mm:
  27492. (fileWrapperForElement):
  27493. * platform/win/ClipboardWin.cpp:
  27494. (WebCore::writeImageToDataObject):
  27495. (WebCore::ClipboardWin::declareAndWriteDragImage):
  27496. * rendering/HitTestResult.cpp:
  27497. (WebCore::HitTestResult::altDisplayString):
  27498. (WebCore::HitTestResult::absoluteImageURL):
  27499. (WebCore::HitTestResult::absoluteLinkURL):
  27500. * rendering/RenderDetails.cpp:
  27501. (WebCore::RenderDetails::isOpen):
  27502. * rendering/RenderMenuList.cpp:
  27503. (WebCore::RenderMenuList::itemAccessibilityText):
  27504. * rendering/RenderObject.cpp:
  27505. (WebCore::RenderObject::addPDFURLRect):
  27506. * rendering/RenderTableCell.cpp:
  27507. (WebCore::RenderTableCell::computePreferredLogicalWidths):
  27508. * rendering/RenderTextControlSingleLine.cpp:
  27509. (WebCore::RenderTextControlSingleLine::autosaveName):
  27510. * rendering/RenderVideo.cpp:
  27511. (WebCore::RenderVideo::calculateIntrinsicSize):
  27512. * rendering/mathml/RenderMathMLFenced.cpp:
  27513. (WebCore::RenderMathMLFenced::updateFromElement):
  27514. * rendering/mathml/RenderMathMLFraction.cpp:
  27515. (WebCore::RenderMathMLFraction::updateFromElement):
  27516. * rendering/mathml/RenderMathMLOperator.cpp:
  27517. (WebCore::RenderMathMLOperator::updateFromElement):
  27518. * svg/SVGFontData.cpp:
  27519. (WebCore::SVGFontData::applySVGGlyphSelection):
  27520. 2011-09-01 David Hyatt <hyatt@apple.com>
  27521. https://bugs.webkit.org/show_bug.cgi?id=67431
  27522. Implement border-image-repeat. Similar to how border-image-slice was implemented, the parsing of the two
  27523. repeat values has been moved into separate functions. The value is represented as a Pair (similar to how we
  27524. handle border radius).
  27525. Reviewed by Beth Dakin.
  27526. Added fast/borders/border-image-repeat.html.
  27527. * css/CSSBorderImageValue.cpp:
  27528. (WebCore::CSSBorderImageValue::CSSBorderImageValue):
  27529. (WebCore::CSSBorderImageValue::cssText):
  27530. * css/CSSBorderImageValue.h:
  27531. (WebCore::CSSBorderImageValue::create):
  27532. Modified the CSSBorderImageValue (you're living on borrowed time, my friend!) to have a CSSValue that
  27533. contains a Pair.
  27534. * css/CSSComputedStyleDeclaration.cpp:
  27535. (WebCore::valueForRepeatRule):
  27536. (WebCore::valueForNinePieceImageRepeat):
  27537. (WebCore::valueForNinePieceImage):
  27538. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  27539. Add support for the new properties. Break out the value retrieval for the image repeat rules into its
  27540. own function, valueForNinePieceImageRepeat.
  27541. * css/CSSParser.cpp:
  27542. (WebCore::CSSParser::parseValue):
  27543. (WebCore::BorderImageParseContext::BorderImageParseContext):
  27544. (WebCore::BorderImageParseContext::allowRepeat):
  27545. (WebCore::BorderImageParseContext::commitSlice):
  27546. (WebCore::BorderImageParseContext::commitSlash):
  27547. (WebCore::BorderImageParseContext::commitWidth):
  27548. (WebCore::BorderImageParseContext::commitRepeat):
  27549. (WebCore::BorderImageParseContext::commitBorderImage):
  27550. (WebCore::CSSParser::parseBorderImage):
  27551. Modified the parsing of border image to call into parseBorderImageRepeat for the repeat values.
  27552. (WebCore::isBorderImageRepeatKeyword):
  27553. (WebCore::CSSParser::parseBorderImageRepeat):
  27554. The new parsing code for border-image-repeat is here. It will build up a CSSValue containing a Pair and
  27555. return the result.
  27556. * css/CSSParser.h:
  27557. * css/CSSPropertyNames.in:
  27558. Add the new properties.
  27559. * css/CSSStyleSelector.cpp:
  27560. (WebCore::CSSStyleSelector::applyProperty):
  27561. (WebCore::CSSStyleSelector::mapNinePieceImage):
  27562. (WebCore::CSSStyleSelector::mapNinePieceImageRepeat):
  27563. * css/CSSStyleSelector.h:
  27564. The mapping into the front end is done the same way as border-image-slice. Factor out the image repeat rules
  27565. portion into mapNinePieceImageRepeat.
  27566. * platform/graphics/Image.cpp:
  27567. (WebCore::Image::drawTiled):
  27568. * platform/graphics/Image.h:
  27569. Add the new 'space' value as a valid image tiling rule. It's not yet supported and, like the 'round' value,
  27570. is just mapped to 'repeat' for now.
  27571. * rendering/style/NinePieceImage.h:
  27572. (WebCore::NinePieceImage::copyRepeatFrom):
  27573. Helper for copying only the repeat rules from another NinePieceImage.
  27574. 2011-09-02 Jarred Nicholls <jarred@sencha.com>
  27575. [Qt] number input not rendering spin buttons properly in RTL direction
  27576. https://bugs.webkit.org/show_bug.cgi?id=67445
  27577. Properly render Qt's number input with RTL direction, and fix Plastique styling.
  27578. Reviewed by Andreas Kling.
  27579. * platform/qt/RenderThemeQt.cpp:
  27580. (WebCore::RenderThemeQt::paintInnerSpinButton):
  27581. 2011-09-02 Arko Saha <nghq36@motorola.com>
  27582. Resetting media controls when the src is changed from a valid url to an
  27583. invalid url.
  27584. https://bugs.webkit.org/show_bug.cgi?id=64880
  27585. Reviewed by Eric Carlson.
  27586. Test: media/media-controls-invalid-url.html
  27587. * html/HTMLMediaElement.cpp:
  27588. (WebCore::HTMLMediaElement::mediaLoadingFailed):
  27589. 2011-09-02 Vsevolod Vlasov <vsevik@chromium.org>
  27590. Web Inspector: Make it more clear when requests are loaded from cache on network panel.
  27591. https://bugs.webkit.org/show_bug.cgi?id=67396
  27592. Reviewed by Pavel Feldman.
  27593. * inspector/front-end/NetworkPanel.js:
  27594. (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
  27595. * inspector/front-end/ResourceHeadersView.js:
  27596. (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation):
  27597. * inspector/front-end/networkPanel.css:
  27598. (.resource-headers-view .outline-disclosure li .status-from-cache):
  27599. 2011-09-02 Vsevolod Vlasov <vsevik@chromium.org>
  27600. Web Inspector: Should remove resource highlight on sort/filter in network panel.
  27601. https://bugs.webkit.org/show_bug.cgi?id=67411
  27602. Reviewed by Pavel Feldman.
  27603. * inspector/front-end/NetworkPanel.js:
  27604. (WebInspector.NetworkLogView.prototype._sortItems):
  27605. (WebInspector.NetworkLogView.prototype._sortByTimeline):
  27606. (WebInspector.NetworkLogView.prototype._updateFilter):
  27607. 2011-09-02 Vsevolod Vlasov <vsevik@chromium.org>
  27608. Web Inspector: Network: jump to initiator's record in case of redirect
  27609. https://bugs.webkit.org/show_bug.cgi?id=67367
  27610. Reviewed by Pavel Feldman.
  27611. * English.lproj/localizedStrings.js:
  27612. * inspector/front-end/NetworkManager.js:
  27613. (WebInspector.NetworkDispatcher.prototype._appendRedirect):
  27614. * inspector/front-end/NetworkPanel.js:
  27615. (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
  27616. * inspector/front-end/Resource.js:
  27617. (WebInspector.Resource.prototype.get redirectSource):
  27618. (WebInspector.Resource.prototype.set redirectSource):
  27619. 2011-09-02 Antti Koivisto <antti@apple.com>
  27620. De-virtualize recalcStyle()
  27621. https://bugs.webkit.org/show_bug.cgi?id=67378
  27622. Reviewed by Dimitri Glazkov.
  27623. Element::recalcStyle() does not need to be virtual, there are very few legit overrides. This will
  27624. also make it possible to de-recursify it later.
  27625. Added willRecalcStyle()/didRecalcStyle() virtual function for subclasses that need custom style recalc.
  27626. These are only invoked if hasCustomWillOrDidRecalcStyle() bit is set.
  27627. * dom/Document.cpp:
  27628. (WebCore::Document::recalcStyle):
  27629. * dom/Document.h:
  27630. * dom/Element.cpp:
  27631. (WebCore::Element::recalcStyle):
  27632. * dom/Element.h:
  27633. (WebCore::Element::willRecalcStyle):
  27634. (WebCore::Element::didRecalcStyle):
  27635. * dom/Node.h:
  27636. (WebCore::Node::hasCustomWillOrDidRecalcStyle):
  27637. (WebCore::Node::setHasCustomWillOrDidRecalcStyle):
  27638. * dom/ShadowRoot.cpp:
  27639. (WebCore::ShadowRoot::recalcShadowTreeStyle):
  27640. * dom/ShadowRoot.h:
  27641. * dom/Text.cpp:
  27642. (WebCore::Text::recalcTextStyle):
  27643. * dom/Text.h:
  27644. * html/HTMLFormControlElement.cpp:
  27645. (WebCore::HTMLFormControlElement::HTMLFormControlElement):
  27646. (WebCore::HTMLFormControlElement::didRecalcStyle):
  27647. * html/HTMLFormControlElement.h:
  27648. * html/HTMLFrameSetElement.cpp:
  27649. (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
  27650. (WebCore::HTMLFrameSetElement::willRecalcStyle):
  27651. * html/HTMLFrameSetElement.h:
  27652. * html/HTMLMediaElement.cpp:
  27653. (WebCore::HTMLMediaElement::HTMLMediaElement):
  27654. (WebCore::HTMLMediaElement::didRecalcStyle):
  27655. * html/HTMLMediaElement.h:
  27656. * html/HTMLNoScriptElement.cpp:
  27657. (WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
  27658. (WebCore::HTMLNoScriptElement::willRecalcStyle):
  27659. * html/HTMLNoScriptElement.h:
  27660. * html/HTMLPlugInImageElement.cpp:
  27661. (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
  27662. (WebCore::HTMLPlugInImageElement::willRecalcStyle):
  27663. * html/HTMLPlugInImageElement.h:
  27664. * html/HTMLSelectElement.cpp:
  27665. * html/HTMLSelectElement.h:
  27666. * svg/SVGTRefElement.cpp:
  27667. (WebCore::SVGTRefElement::SVGTRefElement):
  27668. (WebCore::SVGShadowText::willRecalcStyle):
  27669. * svg/SVGUseElement.cpp:
  27670. (WebCore::SVGUseElement::SVGUseElement):
  27671. (WebCore::SVGUseElement::willRecalcStyle):
  27672. (WebCore::SVGUseElement::didRecalcStyle):
  27673. * svg/SVGUseElement.h:
  27674. 2011-09-02 Yuta Kitamura <yutak@chromium.org>
  27675. WebSocket: Send Blob as WebSocket binary message
  27676. https://bugs.webkit.org/show_bug.cgi?id=67465
  27677. Reviewed by Kent Tamura.
  27678. Re-lands r94399 with a fix for Leopard builds.
  27679. * bindings/js/JSWebSocketCustom.cpp:
  27680. (WebCore::JSWebSocket::send):
  27681. * bindings/v8/custom/V8WebSocketCustom.cpp:
  27682. (WebCore::V8WebSocket::sendCallback):
  27683. * websockets/ThreadableWebSocketChannel.h:
  27684. * websockets/WebSocket.cpp:
  27685. (WebCore::WebSocket::send):
  27686. * websockets/WebSocket.h:
  27687. * websockets/WebSocket.idl:
  27688. * websockets/WebSocketChannel.cpp:
  27689. (WebCore::WebSocketChannel::send):
  27690. * websockets/WebSocketChannel.h:
  27691. * websockets/WorkerThreadableWebSocketChannel.cpp:
  27692. (WebCore::WorkerThreadableWebSocketChannel::send):
  27693. (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
  27694. (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendBlob):
  27695. (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
  27696. * websockets/WorkerThreadableWebSocketChannel.h:
  27697. 2011-09-02 Patrick Gansterer <paroga@webkit.org>
  27698. [GTK] Generate gobject bindings for Notification and NotificationCenter
  27699. https://bugs.webkit.org/show_bug.cgi?id=67380
  27700. Reviewed by Philippe Normand.
  27701. * bindings/gobject/GNUmakefile.am:
  27702. 2011-09-02 Kenichi Ishibashi <bashi@chromium.org>
  27703. [chromium] editing/selection/regional-indicators.html timing out on Linux
  27704. https://bugs.webkit.org/show_bug.cgi?id=66510
  27705. Reviewed by Kent Tamura.
  27706. Uses SurrogatePairAwareTextIerator in ComplexTextControllerLinux to handle surrogate pairs correctly.
  27707. No new tests. editing/selection/regional-indicators.html should pass with this patch.
  27708. * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
  27709. (WebCore::ComplexTextController::nextScriptRun): Used SurrogatePairAwareTextIterator to split run.
  27710. (WebCore::surrogatePairAwareFirstCharacter): Added.
  27711. (WebCore::ComplexTextController::setupFontForScriptRun): Used surrogatePairAwareFirstCharacter() to get appropriate FontData.
  27712. 2011-09-02 Sheriff Bot <webkit.review.bot@gmail.com>
  27713. Unreviewed, rolling out r94399.
  27714. http://trac.webkit.org/changeset/94399
  27715. https://bugs.webkit.org/show_bug.cgi?id=67471
  27716. Broke Leopard build (Requested by yutak on #webkit).
  27717. * bindings/js/JSWebSocketCustom.cpp:
  27718. * bindings/v8/custom/V8WebSocketCustom.cpp:
  27719. * websockets/ThreadableWebSocketChannel.h:
  27720. * websockets/WebSocket.cpp:
  27721. * websockets/WebSocket.h:
  27722. * websockets/WebSocket.idl:
  27723. * websockets/WebSocketChannel.cpp:
  27724. (WebCore::WebSocketChannel::send):
  27725. * websockets/WebSocketChannel.h:
  27726. * websockets/WorkerThreadableWebSocketChannel.cpp:
  27727. * websockets/WorkerThreadableWebSocketChannel.h:
  27728. 2011-09-02 Sheriff Bot <webkit.review.bot@gmail.com>
  27729. Unreviewed, rolling out r94393.
  27730. http://trac.webkit.org/changeset/94393
  27731. https://bugs.webkit.org/show_bug.cgi?id=67470
  27732. It broke Qt-SL build (Requested by ossy on #webkit).
  27733. * WebCore.pro:
  27734. 2011-09-02 Kenichi Ishibashi <bashi@chromium.org>
  27735. [Chromium] Webfonts display bold in Windows
  27736. https://bugs.webkit.org/show_bug.cgi?id=67387
  27737. Uses font's default weight for webfonts by setting FW_DONTCARE.
  27738. Reviewed by Kent Tamura.
  27739. No new tests. We don't have fonts to test this change.
  27740. * platform/graphics/skia/FontCustomPlatformData.cpp:
  27741. (WebCore::FontCustomPlatformData::fontPlatformData): Sets FW_DONTCARE to use default font weight.
  27742. 2011-09-02 Yuta Kitamura <yutak@chromium.org>
  27743. WebSocket: Send Blob as WebSocket binary message
  27744. https://bugs.webkit.org/show_bug.cgi?id=67465
  27745. Reviewed by Kent Tamura.
  27746. Tests: http/tests/websocket/tests/hixie76/send-empty.html
  27747. http/tests/websocket/tests/hixie76/send-object.html
  27748. http/tests/websocket/tests/hybi/send-blob.html
  27749. http/tests/websocket/tests/hybi/send-empty.html
  27750. http/tests/websocket/tests/hybi/send-file-blob-fail.html
  27751. http/tests/websocket/tests/hybi/send-file-blob.html
  27752. http/tests/websocket/tests/hybi/workers/send-blob.html
  27753. http/tests/websocket/tests/hybi/bufferedAmount-after-close.html (updated)
  27754. * bindings/js/JSWebSocketCustom.cpp:
  27755. (WebCore::JSWebSocket::send):
  27756. * bindings/v8/custom/V8WebSocketCustom.cpp:
  27757. (WebCore::V8WebSocket::sendCallback):
  27758. * websockets/ThreadableWebSocketChannel.h:
  27759. * websockets/WebSocket.cpp:
  27760. (WebCore::WebSocket::send):
  27761. * websockets/WebSocket.h:
  27762. * websockets/WebSocket.idl:
  27763. Fixing code generator did not sound easy, because there are some classes depending on
  27764. broken behavior of current code generator (one such example is CanvasRenderingContext2D).
  27765. As a temporary workaround, new custom handlers for send() are added.
  27766. * websockets/WebSocketChannel.cpp:
  27767. (WebCore::WebSocketChannel::send):
  27768. * websockets/WebSocketChannel.h:
  27769. * websockets/WorkerThreadableWebSocketChannel.cpp:
  27770. (WebCore::WorkerThreadableWebSocketChannel::send):
  27771. (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
  27772. (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendBlob):
  27773. A Blob can be deserialized from url, type and size.
  27774. (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
  27775. KURL, String and long long (corresponding to url, type and size, respectively) can be passed
  27776. safely across threads.
  27777. * websockets/WorkerThreadableWebSocketChannel.h:
  27778. 2011-09-02 Philippe Normand <pnormand@igalia.com>
  27779. [WebAudio] Undeclared dependency to VIDEO
  27780. https://bugs.webkit.org/show_bug.cgi?id=66893
  27781. Reviewed by Kenneth Russell.
  27782. Build MediaAudioSourceNode only if VIDEO is enabled
  27783. * webaudio/AudioContext.cpp:
  27784. * webaudio/AudioContext.h:
  27785. * webaudio/AudioContext.idl:
  27786. * webaudio/MediaElementAudioSourceNode.cpp:
  27787. * webaudio/MediaElementAudioSourceNode.h:
  27788. * webaudio/MediaElementAudioSourceNode.idl:
  27789. 2011-09-02 Csaba Osztrogonác <ossy@webkit.org>
  27790. [Qt][WK2] Unreviewed speculative buildfix.
  27791. * WebCore.pro: Add platform/graphics/GlyphPageTreeNode.cpp to SOURCES.
  27792. 2011-09-02 Sheriff Bot <webkit.review.bot@gmail.com>
  27793. Unreviewed, rolling out r94389.
  27794. http://trac.webkit.org/changeset/94389
  27795. https://bugs.webkit.org/show_bug.cgi?id=67468
  27796. breaks mac build (Requested by philn-tp on #webkit).
  27797. * webaudio/AudioContext.cpp:
  27798. (WebCore::AudioContext::createMediaElementSource):
  27799. * webaudio/AudioContext.h:
  27800. * webaudio/AudioContext.idl:
  27801. * webaudio/MediaElementAudioSourceNode.cpp:
  27802. * webaudio/MediaElementAudioSourceNode.h:
  27803. * webaudio/MediaElementAudioSourceNode.idl:
  27804. 2011-09-02 Kentaro Hara <haraken@google.com>
  27805. Generate an EventSource constructor of V8 using the IDL 'Constructor' extended attribute
  27806. https://bugs.webkit.org/show_bug.cgi?id=67459
  27807. Reviewed by Adam Barth.
  27808. Tests: fast/eventsource/eventsource-constructor.html
  27809. fast/eventsource/eventsource-attribute-listeners.html
  27810. * WebCore.gypi: Removed V8EventSourceConstructor.cpp.
  27811. * WebCore.pro: Removed V8EventSourceConstructor.cpp.
  27812. * bindings/v8/custom/V8EventSourceConstructor.cpp: Removed.
  27813. * page/EventSource.idl: Added the 'Constructor' extended attribute.
  27814. 2011-09-02 Philippe Normand <pnormand@igalia.com>
  27815. [WebAudio] Undeclared dependency to VIDEO
  27816. https://bugs.webkit.org/show_bug.cgi?id=66893
  27817. Reviewed by Kenneth Russell.
  27818. Build MediaAudioSourceNode only if VIDEO is enabled
  27819. * webaudio/AudioContext.cpp:
  27820. * webaudio/AudioContext.h:
  27821. * webaudio/AudioContext.idl:
  27822. * webaudio/MediaElementAudioSourceNode.cpp:
  27823. * webaudio/MediaElementAudioSourceNode.h:
  27824. * webaudio/MediaElementAudioSourceNode.idl:
  27825. 2011-09-01 Takashi Toyoshima <toyoshim@chromium.org>
  27826. [WebSocket] Implement WebSocket::close() code and reason handling.
  27827. https://bugs.webkit.org/show_bug.cgi?id=66925
  27828. Reviewed by Kent Tamura.
  27829. Tests: http/tests/websocket/tests/hybi/close.html
  27830. http/tests/websocket/tests/hybi/workers/close.html
  27831. * bindings/js/JSWebSocketCustom.cpp:
  27832. (WebCore::JSWebSocket::close):
  27833. * bindings/v8/custom/V8WebSocketCustom.cpp:
  27834. (WebCore::V8WebSocket::closeCallback):
  27835. Add custom bridge for WebSocket::close().
  27836. * websockets/ThreadableWebSocketChannel.h:
  27837. * websockets/WebSocket.cpp:
  27838. (WebCore::WebSocket::close):
  27839. * websockets/WebSocket.h:
  27840. * websockets/WebSocket.idl:
  27841. * websockets/WebSocketChannel.cpp:
  27842. (WebCore::WebSocketChannel::close):
  27843. Add code and reason arguments handling.
  27844. (WebCore::WebSocketChannel::startClosingHandshake):
  27845. Send a close frame without code and reason on server initiated closing handshakes.
  27846. (WebCore::WebSocketChannel::processFrame):
  27847. (WebCore::WebSocketChannel::processFrameHixie76):
  27848. * websockets/WebSocketChannel.h:
  27849. * websockets/WorkerThreadableWebSocketChannel.cpp:
  27850. (WebCore::WorkerThreadableWebSocketChannel::close):
  27851. (WebCore::WorkerThreadableWebSocketChannel::Peer::close):
  27852. (WebCore::WorkerThreadableWebSocketChannel::mainThreadClose):
  27853. (WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
  27854. * websockets/WorkerThreadableWebSocketChannel.h:
  27855. Add code and reason arguments handling.
  27856. 2011-09-01 Mark Rowe <mrowe@apple.com>
  27857. Fix the build by adding some more missing return types.
  27858. * page/mac/WebCoreViewFactory.m:
  27859. (-[WebCoreViewFactory init]):
  27860. 2011-09-01 Michael Nordman <michaeln@google.com>
  27861. [Chromium] Fix a crashing bug due to raciness around SQL database shutdown.
  27862. https://bugs.webkit.org/show_bug.cgi?id=67457
  27863. The removeOpenDatabase() method can get called multiple times.
  27864. Subsequent calls to it should be harmeless instead of cause a crash.
  27865. Reviewed by David Levin.
  27866. * storage/chromium/DatabaseTrackerChromium.cpp:
  27867. (WebCore::DatabaseTracker::removeOpenDatabase):
  27868. 2011-09-01 Kent Tamura <tkent@chromium.org>
  27869. The filename text color of a file upload control should be inherited.
  27870. https://bugs.webkit.org/show_bug.cgi?id=67368
  27871. Reviewed by Darin Adler.
  27872. * css/html.css:
  27873. (input[type="file"]):
  27874. Add 'color: inherit'.
  27875. The declaration for 'input' contains 'color: initial;'. So a file
  27876. upload control has had black foreground color unless it has been
  27877. specified 'color' property explicitly.
  27878. Because a file upload control uses inherited background color, the
  27879. foreground color also should be inherited.
  27880. 2011-09-01 Kentaro Hara <haraken@google.com>
  27881. Generate a Worker constructor of V8 using the IDL 'Constructor' extended attribute
  27882. https://bugs.webkit.org/show_bug.cgi?id=67447
  27883. Reviewed by Dimitri Glazkov.
  27884. Test: fast/workers/worker-constructor.html
  27885. fast/workers/worker-event-listener.html
  27886. * bindings/v8/custom/V8WorkerCustom.cpp: Removed constructorCallback().
  27887. * workers/Worker.idl: Added the 'Constructor' extended attribute.
  27888. 2011-09-01 Kentaro Hara <haraken@google.com>
  27889. Generate a FileReader constructor of V8 using the IDL 'Constructor' extended attribute
  27890. https://bugs.webkit.org/show_bug.cgi?id=67412
  27891. Reviewed by Adam Barth.
  27892. Test: fast/files/blob-slice-test.html
  27893. fast/files/file-reader-abort.html
  27894. * bindings/v8/custom/V8FileReaderCustom.cpp: Removed constructorCallback().
  27895. * fileapi/FileReader.idl: Added the 'Constructor' extended attribute.
  27896. 2011-09-01 Robert Kroeger <rjkroege@chromium.org>
  27897. [chromium] Code cleanup FIXME in Chromium recognizer
  27898. https://bugs.webkit.org/show_bug.cgi?id=67448
  27899. Reviewed by Adam Barth.
  27900. * page/EventHandler.cpp:
  27901. (WebCore::EventHandler::handleGestureEvent):
  27902. Fixed a bug noticed by a benjaminp while reviewing a different
  27903. ndonned patch where global positions were not being set correctly
  27904. on gesture-driven mouse wheel events.
  27905. * platform/chromium/GestureRecognizerChromium.cpp:
  27906. Changed static per-edge functions into methods and improves
  27907. encapsulation. No new functionality is present.
  27908. (WebCore::GestureRecognizerChromium::GestureRecognizerChromium):
  27909. (WebCore::GestureRecognizerChromium::reset):
  27910. (WebCore::GestureRecognizerChromium::~GestureRecognizerChromium):
  27911. (WebCore::GestureRecognizerChromium::addEdgeFunction):
  27912. (WebCore::GestureRecognizerChromium::isInClickTimeWindow):
  27913. (WebCore::GestureRecognizerChromium::isInsideManhattanSquare):
  27914. (WebCore::GestureRecognizerChromium::appendClickGestureEvent):
  27915. (WebCore::GestureRecognizerChromium::processTouchEventForGestures):
  27916. (WebCore::GestureRecognizerChromium::appendScrollGestureBegin):
  27917. (WebCore::GestureRecognizerChromium::appendScrollGestureEnd):
  27918. (WebCore::GestureRecognizerChromium::appendScrollGestureUpdate):
  27919. (WebCore::GestureRecognizerChromium::updateValues):
  27920. (WebCore::GestureRecognizerChromium::signature):
  27921. (WebCore::GestureRecognizerChromium::touchDown):
  27922. (WebCore::GestureRecognizerChromium::scrollEnd):
  27923. (WebCore::GestureRecognizerChromium::noGesture):
  27924. (WebCore::GestureRecognizerChromium::click):
  27925. (WebCore::GestureRecognizerChromium::isClickOrScroll):
  27926. (WebCore::GestureRecognizerChromium::inScroll):
  27927. * platform/chromium/GestureRecognizerChromium.h:
  27928. (WebCore::GestureRecognizerChromium::setState):
  27929. 2011-09-01 Julien Chaffraix <jchaffraix@webkit.org>
  27930. Move LayoutRepainter to its own class
  27931. https://bugs.webkit.org/show_bug.cgi?id=66255
  27932. Reviewed by Hajime Morita.
  27933. No new tests, code movement only.
  27934. * rendering/RenderObject.h: Moved code from here ...
  27935. * rendering/LayoutRepainter.cpp: Added.
  27936. (WebCore::LayoutRepainter::LayoutRepainter):
  27937. (WebCore::LayoutRepainter::repaintAfterLayout):
  27938. * rendering/LayoutRepainter.h: Added.
  27939. (WebCore::LayoutRepainter::checkForRepaint):
  27940. ... to those 2 files.
  27941. * CMakeLists.txt:
  27942. * GNUmakefile.list.am:
  27943. * WebCore.gypi:
  27944. * WebCore.pro:
  27945. * WebCore.vcproj/WebCore.vcproj:
  27946. * WebCore.xcodeproj/project.pbxproj:
  27947. Updated our build systems.
  27948. * rendering/RenderingAllInOne.cpp:
  27949. Needed for the Windows bot.
  27950. * rendering/RenderBlock.cpp:
  27951. * rendering/RenderDeprecatedFlexibleBox.cpp:
  27952. * rendering/RenderReplaced.cpp:
  27953. * rendering/RenderTable.cpp:
  27954. * rendering/svg/RenderSVGContainer.cpp:
  27955. * rendering/svg/RenderSVGForeignObject.cpp:
  27956. * rendering/svg/RenderSVGImage.cpp:
  27957. * rendering/svg/RenderSVGPath.cpp:
  27958. * rendering/svg/RenderSVGRoot.cpp:
  27959. * rendering/svg/RenderSVGText.cpp:
  27960. Added #include "LayoutRepainter".
  27961. 2011-09-01 Ada Chan <adachan@apple.com>
  27962. Cleanup refactoring for https://bugs.webkit.org/show_bug.cgi?id=67160
  27963. Don't ifdef out the data member xslStyleSheets in MemoryCache::Statistics to cut down
  27964. the ifdefs in getWebCoreMemoryCacheStatistics() in WebKit2/WebProcess/WebProcess.cpp.
  27965. Reviewed by Darin Adler.
  27966. No new tests required. Just small code refactoring.
  27967. * loader/cache/MemoryCache.h:
  27968. 2011-09-01 Julien Chaffraix <jchaffraix@webkit.org>
  27969. REGRESSION (r84327-r84329): CSS stylesheets fail to load on www.flagstar.com login page
  27970. https://bugs.webkit.org/show_bug.cgi?id=65140
  27971. Reviewed by Darin Adler.
  27972. Tests: fast/css/stylesheet-enable-first-alternate-link.html
  27973. fast/css/stylesheet-enable-first-alternate-on-load-link.html
  27974. fast/css/stylesheet-enable-first-alternate-on-load-sheet.html
  27975. fast/css/stylesheet-enable-second-alternate-link.html
  27976. fast/css/stylesheet-enable-second-alternate-on-load-link.html
  27977. fast/css/stylesheet-enable-second-alternate-on-load-sheet.html
  27978. http/tests/css/link-css-disabled-value-with-slow-loading-sheet-in-error.html
  27979. http/tests/css/link-css-disabled-value-with-slow-loading-sheet.html
  27980. This patch basically reverts 88479 and 84329 while keeping the tests
  27981. we developped during the implementation.
  27982. Following discussion, it looks like HTML5 will need to be amended.
  27983. In the meantime, we will just revert the changes so that we can come
  27984. up with a better change.
  27985. * dom/Document.cpp:
  27986. (WebCore::Document::recalcStyleSelector):
  27987. * html/HTMLLinkElement.cpp:
  27988. (WebCore::HTMLLinkElement::HTMLLinkElement):
  27989. (WebCore::HTMLLinkElement::setDisabledState):
  27990. (WebCore::HTMLLinkElement::parseMappedAttribute):
  27991. (WebCore::HTMLLinkElement::process):
  27992. Revert those method to their original content.
  27993. * html/HTMLLinkElement.h:
  27994. (WebCore::HTMLLinkElement::isDisabled):
  27995. (WebCore::HTMLLinkElement::isEnabledViaScript):
  27996. (WebCore::HTMLLinkElement::isAlternate):
  27997. Re-introduced the DisabledState enum.
  27998. * html/HTMLLinkElement.idl: |disabled| is Reflect'ed again.
  27999. 2011-09-01 Dan Bernstein <mitz@apple.com>
  28000. Fix layout test regressions from r94352.
  28001. Reviewed by Anders Carlsson.
  28002. * platform/graphics/mac/FontCacheMac.mm:
  28003. (WebCore::FontCache::getFontDataForCharacters): In the custom font case (that is, when there is
  28004. not base NSFont) always get and use the best variation.
  28005. 2011-09-01 Ryosuke Niwa <rniwa@webkit.org>
  28006. Revert r94355 because it caused bunch of builds to break.
  28007. * page/DOMWindow.idl:
  28008. 2011-09-01 Mark Rowe <mrowe@apple.com>
  28009. <rdar://problem/10063411> WebScriptObject.h declares an Objective-C method without a return type.
  28010. Rubber-stamped by Anders Carlsson.
  28011. * bridge/objc/WebScriptObject.h:
  28012. 2011-09-01 Mark Hahnenberg <mhahnenberg@apple.com>
  28013. Unzip initialization lists and constructors in JSCell hierarchy (4/7)
  28014. https://bugs.webkit.org/show_bug.cgi?id=67174
  28015. Reviewed by Oliver Hunt.
  28016. No new tests.
  28017. Completed the fourth level of the refactoring to add finishCreation()
  28018. methods to all classes within the JSCell hierarchy with non-trivial
  28019. constructor bodies.
  28020. This primarily consists of pushing the calls to finishCreation() down
  28021. into the constructors of the subclasses of the second level of the hierarchy
  28022. as well as pulling the finishCreation() calls out into the class's corresponding
  28023. create() method if it has one. Doing both simultaneously allows us to
  28024. maintain the invariant that the finishCreation() method chain is called exactly
  28025. once during the creation of an object, since calling it any other number of
  28026. times (0, 2, or more) will cause an assertion failure.
  28027. * bindings/js/JSDOMWindowShell.cpp:
  28028. (WebCore::JSDOMWindowShell::JSDOMWindowShell):
  28029. (WebCore::JSDOMWindowShell::create):
  28030. * bindings/js/JSDOMWindowShell.h:
  28031. * bindings/js/JSDOMWrapper.h:
  28032. (WebCore::JSDOMWrapper::JSDOMWrapper):
  28033. * bindings/js/ScriptController.cpp:
  28034. (WebCore::ScriptController::createWindowShell):
  28035. * bindings/scripts/CodeGeneratorJS.pm:
  28036. (GenerateHeader):
  28037. * bindings/scripts/test/JS/JSTestInterface.h:
  28038. (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
  28039. * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
  28040. (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
  28041. * bindings/scripts/test/JS/JSTestObj.h:
  28042. (WebCore::JSTestObjPrototype::JSTestObjPrototype):
  28043. * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
  28044. (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
  28045. * bridge/objc/objc_runtime.h:
  28046. * bridge/objc/objc_runtime.mm:
  28047. (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
  28048. (JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
  28049. * bridge/runtime_array.cpp:
  28050. (JSC::RuntimeArray::RuntimeArray):
  28051. (JSC::RuntimeArray::finishCreation):
  28052. * bridge/runtime_array.h:
  28053. * bridge/runtime_object.cpp:
  28054. (JSC::Bindings::RuntimeObject::RuntimeObject):
  28055. (JSC::Bindings::RuntimeObject::finishCreation):
  28056. * bridge/runtime_object.h:
  28057. 2011-08-31 Adrienne Walker <enne@google.com>
  28058. [chromium] Remove unsafe raw GraphicsContext3D pointer from ProgramBinding
  28059. https://bugs.webkit.org/show_bug.cgi?id=67003
  28060. Reviewed by James Robinson.
  28061. ProgramBinding now takes an explicit cleanup call to destroy its
  28062. resources. This will assert if it is not called and will leak no
  28063. longer potentially dereference a dead pointer.
  28064. * platform/graphics/chromium/LayerRendererChromium.cpp:
  28065. (WebCore::LayerRendererChromium::borderProgram):
  28066. (WebCore::LayerRendererChromium::headsUpDisplayProgram):
  28067. (WebCore::LayerRendererChromium::renderSurfaceProgram):
  28068. (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
  28069. (WebCore::LayerRendererChromium::tilerProgram):
  28070. (WebCore::LayerRendererChromium::tilerProgramSwizzle):
  28071. (WebCore::LayerRendererChromium::tilerProgramAA):
  28072. (WebCore::LayerRendererChromium::tilerProgramSwizzleAA):
  28073. (WebCore::LayerRendererChromium::canvasLayerProgram):
  28074. (WebCore::LayerRendererChromium::pluginLayerProgram):
  28075. (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
  28076. (WebCore::LayerRendererChromium::videoLayerYUVProgram):
  28077. (WebCore::LayerRendererChromium::cleanupSharedObjects):
  28078. * platform/graphics/chromium/ProgramBinding.cpp:
  28079. (WebCore::ProgramBindingBase::ProgramBindingBase):
  28080. (WebCore::ProgramBindingBase::~ProgramBindingBase):
  28081. (WebCore::ProgramBindingBase::init):
  28082. (WebCore::ProgramBindingBase::cleanup):
  28083. (WebCore::ProgramBindingBase::loadShader):
  28084. (WebCore::ProgramBindingBase::createShaderProgram):
  28085. * platform/graphics/chromium/ProgramBinding.h:
  28086. (WebCore::ProgramBinding::ProgramBinding):
  28087. (WebCore::ProgramBinding::initialize):
  28088. 2011-09-01 Patrick Gansterer <paroga@webkit.org>
  28089. Don't include unnecessary headers in V8 bindings
  28090. https://bugs.webkit.org/show_bug.cgi?id=67435
  28091. Reviewed by Darin Adler.
  28092. When an IDL attribue is Conditonal the corresponding headers
  28093. need to be surrounded with the correct #if ENABLE().
  28094. * bindings/scripts/CodeGeneratorV8.pm:
  28095. * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
  28096. * bindings/scripts/test/CPP/WebDOMTestObj.h:
  28097. * bindings/scripts/test/JS/JSTestObj.cpp:
  28098. * bindings/scripts/test/JS/JSTestObj.h:
  28099. * bindings/scripts/test/ObjC/DOMTestObj.h:
  28100. * bindings/scripts/test/ObjC/DOMTestObj.mm:
  28101. * bindings/scripts/test/TestObj.idl:
  28102. * bindings/scripts/test/V8/V8TestObj.cpp:
  28103. 2011-09-01 Pratik Solanki <psolanki@apple.com>
  28104. Rename CFNETWORK_DATA_ARRAY_CALLBACK to NETWORK_CFDATA_ARRAY_CALLBACK
  28105. https://bugs.webkit.org/show_bug.cgi?id=67348
  28106. Reviewed by Alexey Proskuryakov.
  28107. * loader/ResourceLoader.h:
  28108. * loader/SubresourceLoader.h:
  28109. * loader/cf/SubresourceLoaderCF.cpp:
  28110. * loader/mac/ResourceLoaderMac.mm:
  28111. * platform/SharedBuffer.cpp:
  28112. (WebCore::SharedBuffer::clear):
  28113. (WebCore::SharedBuffer::buffer):
  28114. * platform/SharedBuffer.h:
  28115. * platform/cf/SharedBufferCF.cpp:
  28116. * platform/network/ResourceHandle.h:
  28117. * platform/network/ResourceHandleClient.h:
  28118. * platform/network/cf/ResourceHandleCFNet.cpp:
  28119. (WebCore::ResourceHandle::createCFURLConnection):
  28120. * platform/network/mac/ResourceHandleMac.mm:
  28121. 2011-09-01 Kentaro Hara <haraken@google.com>
  28122. TypeError should be thrown when a constructor is called as a normal function.
  28123. https://bugs.webkit.org/show_bug.cgi?id=67381
  28124. Reviewed by Darin Adler.
  28125. The spec is here: http://www.w3.org/TR/WebIDL/#es-interface-call
  28126. For example, "Image()" or "XMLHttpRequest()" should throw TypeError.
  28127. Test: fast/dom/call-a-constructor-as-a-function.html
  28128. * bindings/v8/custom/V8ArrayBufferCustom.cpp:
  28129. (WebCore::V8ArrayBuffer::constructorCallback): Throws TypeError if args.IsConstructCall() is false.
  28130. * bindings/v8/custom/V8ArrayBufferViewCustom.h:
  28131. (WebCore::constructWebGLArray): Ditto.
  28132. * bindings/v8/custom/V8AudioContextCustom.cpp:
  28133. (WebCore::V8AudioContext::constructorCallback): Ditto.
  28134. * bindings/v8/custom/V8DOMFormDataCustom.cpp:
  28135. (WebCore::V8DOMFormData::constructorCallback): Ditto.
  28136. * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
  28137. (WebCore::v8HTMLAudioElementConstructorCallback): Ditto.
  28138. * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
  28139. (WebCore::v8HTMLImageElementConstructorCallback): Ditto.
  28140. * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
  28141. (WebCore::v8HTMLOptionElementConstructorCallback): Ditto.
  28142. * bindings/v8/custom/V8MessageChannelConstructor.cpp:
  28143. (WebCore::V8MessageChannel::constructorCallback): Ditto.
  28144. * bindings/v8/custom/V8SharedWorkerCustom.cpp:
  28145. (WebCore::V8SharedWorker::constructorCallback): Ditto.
  28146. * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
  28147. (WebCore::V8WebKitCSSMatrix::constructorCallback): Ditto.
  28148. * bindings/v8/custom/V8WebKitPointConstructor.cpp:
  28149. (WebCore::V8WebKitPoint::constructorCallback): Ditto.
  28150. * bindings/v8/custom/V8WebSocketCustom.cpp:
  28151. (WebCore::V8WebSocket::constructorCallback): Ditto.
  28152. * bindings/v8/custom/V8WorkerCustom.cpp:
  28153. (WebCore::V8Worker::constructorCallback): Ditto.
  28154. 2011-08-31 Adrienne Walker <enne@google.com>
  28155. [chromium] TextureManager overestimates the size of non-RGBA texture formats
  28156. https://bugs.webkit.org/show_bug.cgi?id=66917
  28157. Reviewed by James Robinson.
  28158. Use GraphicsContext3D to determine the size of a given texture format.
  28159. Also, make TextureManager use more GraphicsContext3D types.
  28160. * platform/graphics/GraphicsContext3D.h:
  28161. * platform/graphics/chromium/TextureManager.cpp:
  28162. (WebCore::memoryUseBytes):
  28163. * platform/graphics/chromium/TextureManager.h:
  28164. 2011-09-01 Sam Weinig <sam@webkit.org>
  28165. Add missing Event constructors to DOMWindow.idl
  28166. https://bugs.webkit.org/show_bug.cgi?id=67449
  28167. Reviewed by Anders Carlsson.
  28168. Covered by existing tests.
  28169. * page/DOMWindow.idl:
  28170. 2011-09-01 Patrick Gansterer <paroga@webkit.org>
  28171. Consider Conditional attribute in CodeGenerator for methods
  28172. https://bugs.webkit.org/show_bug.cgi?id=67409
  28173. Reviewed by Darin Adler.
  28174. This change adds appropriate #if ENABLE() lines for the preprocessor around the
  28175. generated functions depending on the Conditional attribute in the IDL file.
  28176. * bindings/scripts/CodeGeneratorCPP.pm:
  28177. (GenerateImplementation):
  28178. * bindings/scripts/CodeGeneratorJS.pm:
  28179. (GenerateImplementation):
  28180. * bindings/scripts/CodeGeneratorObjC.pm:
  28181. (GenerateImplementation):
  28182. * bindings/scripts/CodeGeneratorV8.pm:
  28183. (GenerateImplementation):
  28184. * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
  28185. * bindings/scripts/test/CPP/WebDOMTestObj.h:
  28186. * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
  28187. * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
  28188. * bindings/scripts/test/JS/JSTestObj.cpp:
  28189. * bindings/scripts/test/JS/JSTestObj.h:
  28190. * bindings/scripts/test/ObjC/DOMTestObj.h:
  28191. * bindings/scripts/test/ObjC/DOMTestObj.mm:
  28192. * bindings/scripts/test/TestObj.idl:
  28193. * bindings/scripts/test/V8/V8TestObj.cpp:
  28194. 2011-08-29 Nat Duca <nduca@chromium.org>
  28195. [chromium] Introduce CCSingleThreadProxy in order to move LayerRenderer to CCLayerTreeHostImpl
  28196. https://bugs.webkit.org/show_bug.cgi?id=66807
  28197. Reviewed by James Robinson.
  28198. * WebCore.gypi:
  28199. * platform/graphics/chromium/ContentLayerChromium.cpp:
  28200. (WebCore::ContentLayerChromium::createTextureUpdater):
  28201. * platform/graphics/chromium/ImageLayerChromium.cpp:
  28202. (WebCore::ImageLayerChromium::createTextureUpdater):
  28203. * platform/graphics/chromium/LayerChromium.cpp:
  28204. (WebCore::LayerChromium::setLayerRendererRecursive):
  28205. * platform/graphics/chromium/LayerChromium.h:
  28206. * platform/graphics/chromium/LayerRendererChromium.cpp:
  28207. (WebCore::LayerRendererChromium::create):
  28208. (WebCore::LayerRendererChromium::LayerRendererChromium):
  28209. (WebCore::LayerRendererChromium::initialize):
  28210. (WebCore::LayerRendererChromium::close):
  28211. (WebCore::LayerRendererChromium::updateLayers):
  28212. (WebCore::LayerRendererChromium::drawLayers):
  28213. (WebCore::LayerRendererChromium::drawLayersInternal):
  28214. (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
  28215. (WebCore::LayerRendererChromium::isContextLost):
  28216. * platform/graphics/chromium/LayerRendererChromium.h:
  28217. (WebCore::LayerRendererChromium::capabilities):
  28218. (WebCore::LayerRendererChromium::rootLayerImpl):
  28219. (WebCore::LayerRendererChromium::contextSupportsMapSub):
  28220. (WebCore::LayerRendererChromium::viewportSize):
  28221. * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
  28222. * platform/graphics/chromium/TiledLayerChromium.cpp:
  28223. (WebCore::TiledLayerChromium::setLayerTreeHost):
  28224. * platform/graphics/chromium/VideoLayerChromium.cpp:
  28225. (WebCore::VideoLayerChromium::reserveTextures):
  28226. * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
  28227. (WebCore::CCCanvasLayerImpl::draw):
  28228. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  28229. (WebCore::CCLayerTreeHost::CCLayerTreeHost):
  28230. (WebCore::CCLayerTreeHost::initialize):
  28231. (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
  28232. (WebCore::CCLayerTreeHost::animateAndLayout):
  28233. (WebCore::CCLayerTreeHost::preCommit):
  28234. (WebCore::CCLayerTreeHost::commitTo):
  28235. (WebCore::CCLayerTreeHost::createCompositorThread):
  28236. (WebCore::CCLayerTreeHost::createLayerTreeHostContext3D):
  28237. (WebCore::CCLayerTreeHost::createLayerTreeHostImpl):
  28238. (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
  28239. (WebCore::CCLayerTreeHost::scheduleComposite):
  28240. (WebCore::CCLayerTreeHost::context):
  28241. (WebCore::CCLayerTreeHost::compositeAndReadback):
  28242. (WebCore::CCLayerTreeHost::finishAllRendering):
  28243. (WebCore::CCLayerTreeHost::layerRendererCapabilities):
  28244. (WebCore::CCLayerTreeHost::setRootLayer):
  28245. (WebCore::CCLayerTreeHost::skiaContext):
  28246. (WebCore::CCLayerTreeHost::setViewport):
  28247. (WebCore::CCLayerTreeHost::setVisible):
  28248. (WebCore::CCLayerTreeHost::loseCompositorContext):
  28249. (WebCore::CCLayerTreeHost::contentsTextureManager):
  28250. (WebCore::CCLayerTreeHost::composite):
  28251. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  28252. (WebCore::CCSettings::CCSettings):
  28253. (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
  28254. * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.h: Removed.
  28255. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
  28256. (WebCore::CCLayerTreeHostImpl::create):
  28257. (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
  28258. (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
  28259. (WebCore::CCLayerTreeHostImpl::commitComplete):
  28260. (WebCore::CCLayerTreeHostImpl::context):
  28261. (WebCore::CCLayerTreeHostImpl::drawLayers):
  28262. (WebCore::CCLayerTreeHostImpl::finishAllRendering):
  28263. (WebCore::CCLayerTreeHostImpl::isContextLost):
  28264. (WebCore::CCLayerTreeHostImpl::layerRendererCapabilities):
  28265. (WebCore::CCLayerTreeHostImpl::present):
  28266. (WebCore::CCLayerTreeHostImpl::readback):
  28267. (WebCore::CCLayerTreeHostImpl::setRootLayer):
  28268. (WebCore::CCLayerTreeHostImpl::setVisible):
  28269. (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
  28270. (WebCore::CCLayerTreeHostImpl::updateLayers):
  28271. (WebCore::CCLayerTreeHostImpl::setViewport):
  28272. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
  28273. (WebCore::CCLayerTreeHostImpl::layerRenderer):
  28274. (WebCore::CCLayerTreeHostImpl::rootLayer):
  28275. (WebCore::CCLayerTreeHostImpl::viewportSize):
  28276. * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp: Removed.
  28277. * platform/graphics/chromium/cc/CCMainThreadTask.h:
  28278. (WebCore::MainThreadTask4::create):
  28279. (WebCore::MainThreadTask4::MainThreadTask4):
  28280. (WebCore::MainThreadTask4::performTask):
  28281. (WebCore::MainThreadTask5::create):
  28282. (WebCore::MainThreadTask5::MainThreadTask5):
  28283. (WebCore::MainThreadTask5::performTask):
  28284. (WebCore::createMainThreadTask):
  28285. * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
  28286. (WebCore::CCPluginLayerImpl::draw):
  28287. * platform/graphics/chromium/cc/CCProxy.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommitter.cpp.
  28288. (WebCore::CCProxy::isMainThread):
  28289. (WebCore::CCProxy::isImplThread):
  28290. (WebCore::CCProxy::setImplThread):
  28291. * platform/graphics/chromium/cc/CCProxy.h: Added.
  28292. (WebCore::CCProxy::~CCProxy):
  28293. (WebCore::CCProxy::CCProxy):
  28294. * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: Added.
  28295. (WebCore::ScopedSetImplThread::ScopedSetImplThread):
  28296. (WebCore::ScopedSetImplThread::~ScopedSetImplThread):
  28297. (WebCore::CCSingleThreadProxy::create):
  28298. (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
  28299. (WebCore::CCSingleThreadProxy::start):
  28300. (WebCore::CCSingleThreadProxy::~CCSingleThreadProxy):
  28301. (WebCore::CCSingleThreadProxy::compositeAndReadback):
  28302. (WebCore::CCSingleThreadProxy::context):
  28303. (WebCore::CCSingleThreadProxy::finishAllRendering):
  28304. (WebCore::CCSingleThreadProxy::isStarted):
  28305. (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
  28306. (WebCore::CCSingleThreadProxy::layerRendererCapabilities):
  28307. (WebCore::CCSingleThreadProxy::loseCompositorContext):
  28308. (WebCore::CCSingleThreadProxy::setNeedsCommitAndRedraw):
  28309. (WebCore::CCSingleThreadProxy::setNeedsRedraw):
  28310. (WebCore::CCSingleThreadProxy::stop):
  28311. (WebCore::CCSingleThreadProxy::skiaContext):
  28312. (WebCore::CCSingleThreadProxy::contentsTextureManager):
  28313. (WebCore::CCSingleThreadProxy::compositeImmediately):
  28314. (WebCore::CCSingleThreadProxy::compositeIfNeeded):
  28315. (WebCore::CCSingleThreadProxy::doComposite):
  28316. * platform/graphics/chromium/cc/CCSingleThreadProxy.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h.
  28317. * platform/graphics/chromium/cc/CCThreadProxy.cpp: Added.
  28318. (WebCore::CCThreadProxy::create):
  28319. (WebCore::CCThreadProxy::CCThreadProxy):
  28320. (WebCore::CCThreadProxy::~CCThreadProxy):
  28321. (WebCore::CCThreadProxy::compositeAndReadback):
  28322. (WebCore::CCThreadProxy::context):
  28323. (WebCore::CCThreadProxy::finishAllRendering):
  28324. (WebCore::CCThreadProxy::isStarted):
  28325. (WebCore::CCThreadProxy::initializeLayerRenderer):
  28326. (WebCore::CCThreadProxy::layerRendererCapabilities):
  28327. (WebCore::CCThreadProxy::loseCompositorContext):
  28328. (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
  28329. (WebCore::CCThreadProxy::setNeedsRedraw):
  28330. (WebCore::CCThreadProxy::start):
  28331. (WebCore::CCThreadProxy::stop):
  28332. (WebCore::CCThreadProxy::skiaContext):
  28333. (WebCore::CCThreadProxy::contentsTextureManager):
  28334. (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
  28335. (WebCore::CCThreadProxy::beginFrameAndCommit):
  28336. (WebCore::CCThreadProxy::commitOnCCThread):
  28337. (WebCore::CCThreadProxy::drawLayersOnCCThread):
  28338. (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
  28339. (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
  28340. (WebCore::CCThreadProxy::initializeImplOnCCThread):
  28341. (WebCore::CCThreadProxy::initializeLayerRendererOnCCThread):
  28342. (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
  28343. * platform/graphics/chromium/cc/CCThreadProxy.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h.
  28344. * platform/graphics/chromium/cc/CCThreadTask.h:
  28345. (WebCore::CCThreadTask5::create):
  28346. (WebCore::CCThreadTask5::CCThreadTask5):
  28347. (WebCore::CCThreadTask5::performTask):
  28348. (WebCore::createCCThreadTask):
  28349. * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
  28350. * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
  28351. (WebCore::CCVideoLayerImpl::draw):
  28352. 2011-09-01 Dan Bernstein <mitz@apple.com>
  28353. <rdar://problem/9528843> STIX glyphs not rendered on this stackoverflow answer
  28354. https://bugs.webkit.org/show_bug.cgi?id=67444
  28355. Reviewed by Darin Adler.
  28356. Test: fast/text/fallback-traits-fixup.html
  28357. After obtaining STIX Regular as a fallback font for some characters, getFontDataForCharacters()
  28358. proceeded to ask for a font from the same family having the desired traits and weight (because
  28359. wkGetFontInLanguageForRange() does not preserve traits and weight). The returned font was different
  28360. and happened to not contain the desired character.
  28361. * platform/graphics/mac/FontCacheMac.mm:
  28362. (WebCore::FontCache::getFontDataForCharacters): Only ask for a family member with the desired
  28363. traits and weight if the substitute font does not already have them, and only use the returned
  28364. member if it actually contains the desired character.
  28365. 2011-09-01 Kentaro Hara <haraken@google.com>
  28366. Generate an XSLTProcessor constructor of V8 using the IDL 'Constructor' extended attribute
  28367. https://bugs.webkit.org/show_bug.cgi?id=67414
  28368. Reviewed by Dimitri Glazkov.
  28369. Test: fast/dom/Window/custom-constructors.html
  28370. fast/xsl/default-html.html
  28371. * bindings/v8/custom/V8XSLTProcessorCustom.cpp: Removed constructorCallback().
  28372. * xml/XSLTProcessor.idl: Added the 'Constructor' extended attribute.
  28373. 2011-09-01 Eric Carlson <eric.carlson@apple.com>
  28374. HTMLMediaElement should use fastHasAttribute instead of hasAttribute
  28375. https://bugs.webkit.org/show_bug.cgi?id=67421
  28376. Reviewed by Simon Fraser.
  28377. Use fastHasAttribute instead of hasAttribute because it is faster, and HTMLMediaElement
  28378. doesn't ever need to check style or SVG animated attributes.
  28379. No new tests required, this is just an optimization.
  28380. * html/HTMLMediaElement.cpp:
  28381. (WebCore::HTMLMediaElement::selectMediaResource): hasAttribute -> fastHasAttribute.
  28382. (WebCore::HTMLMediaElement::loadResource): Ditto.
  28383. (WebCore::HTMLMediaElement::autoplay): Ditto.
  28384. (WebCore::HTMLMediaElement::loop): Ditto.
  28385. (WebCore::HTMLMediaElement::controls): Ditto.
  28386. (WebCore::HTMLMediaElement::selectNextSourceChild): Ditto.
  28387. (WebCore::HTMLMediaElement::sourceWasAdded): Ditto.
  28388. 2011-09-01 Dominic Mazzoni <dmazzoni@google.com>
  28389. Add API functions to enable starting and stopping speech input,
  28390. and checking the current speech input state.
  28391. https://bugs.webkit.org/show_bug.cgi?id=60170
  28392. Reviewed by Dimitri Glazkov.
  28393. Test: fast/speech/input-text-speechstart.html
  28394. * html/shadow/TextControlInnerElements.cpp:
  28395. (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
  28396. (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
  28397. (WebCore::InputFieldSpeechButtonElement::stopSpeechInput):
  28398. * html/shadow/TextControlInnerElements.h:
  28399. * rendering/RenderTextControlSingleLine.cpp:
  28400. (WebCore::RenderTextControlSingleLine::speechButtonElement):
  28401. * rendering/RenderTextControlSingleLine.h:
  28402. 2011-09-01 Tim Horton <timothy_horton@apple.com>
  28403. REGRESSION: Rendering artifacts on a rotated, pattern filled SVG shape
  28404. https://bugs.webkit.org/show_bug.cgi?id=53055
  28405. <rdar://problem/8910917>
  28406. Reviewed by Simon Fraser.
  28407. Make use of wkCGPatternCreateWithImageAndTransform
  28408. when tiling patterns in both directions. This helps to avoid
  28409. pixel-cracking along pattern tiling boundaries.
  28410. Ignore 2D rotation when computing the size of a pattern's tile image,
  28411. as it artificially inflates the size of the tile, which can cause
  28412. pixel-cracking.
  28413. Test: svg/custom/pattern-rotate-gaps.svg
  28414. * platform/graphics/cg/PatternCG.cpp:
  28415. (WebCore::Pattern::createPlatformPattern):
  28416. * rendering/svg/RenderSVGResourcePattern.cpp:
  28417. * rendering/svg/SVGImageBufferTools.cpp:
  28418. (WebCore::SVGImageBufferTools::roundedImageBufferSize):
  28419. * rendering/svg/SVGImageBufferTools.h:
  28420. 2011-09-01 Patrick Gansterer <paroga@webkit.org>
  28421. Unreviewed, rolling out r94284.
  28422. http://trac.webkit.org/changeset/94284
  28423. https://bugs.webkit.org/show_bug.cgi?id=65050
  28424. Broke building without SVG enabled on Chromium.
  28425. * page/DOMWindow.idl:
  28426. 2011-09-01 Alexey Proskuryakov <ap@apple.com>
  28427. REGRESSION (r93247): 2 http/tests/misc tests failing on SnowLeopard Intel Release (Tests)
  28428. https://bugs.webkit.org/show_bug.cgi?id=67374
  28429. Reviewed by Simon Fraser.
  28430. * platform/network/cf/ResourceHandleCFNet.cpp:
  28431. (WebCore::applyBasicAuthorizationHeader):
  28432. * platform/network/mac/ResourceHandleMac.mm:
  28433. (WebCore::applyBasicAuthorizationHeader):
  28434. Some versions of CFNetwork carry along an Authorization header, some don't. We shouldn't
  28435. repeat its value twice, this is not one of those headers that allow comma separated lists
  28436. of values.
  28437. 2011-09-01 Noel Gordon <noel.gordon@gmail.com>
  28438. [chromium] Move ImageBuffer::platformLayer()
  28439. https://bugs.webkit.org/show_bug.cgi?id=67372
  28440. Reviewed by Kenneth Russell.
  28441. No new tests: refactoring only, covered by existting tests.
  28442. * platform/graphics/skia/ImageBufferSkia.cpp:
  28443. (WebCore::ImageBuffer::platformLayer): Move it away from the toDataURL code.
  28444. 2011-09-01 Kulanthaivel Palanichamy <kulanthaivel@codeaurora.org>
  28445. Focus ring is rendered incorrectly for a block with -webkit-writing-mode
  28446. https://bugs.webkit.org/show_bug.cgi?id=62915
  28447. Reviewed by Simon Fraser.
  28448. RenderBlock::addFocusRingRects() should consider physical box position and
  28449. dimension instead of logical values for focus ring rects calculation.
  28450. Test: fast/css/focus-ring-multiline-writingmode-vertical.html
  28451. * rendering/RenderBlock.cpp:
  28452. (WebCore::RenderBlock::addFocusRingRects):
  28453. 2011-09-01 Philippe Normand <pnormand@igalia.com>
  28454. Unreviewed, GTK build fix after r94299.
  28455. * GNUmakefile.list.am:
  28456. 2011-09-01 Brian Salomon <bsalomon@google.com>
  28457. [Chromium/Skia] Use GraphicsContext3D::grContext() to create GrContext for accelerated drawing
  28458. https://bugs.webkit.org/show_bug.cgi?id=67419
  28459. Reviewed by James Robinson.
  28460. Accelerated drawing is not enabled in layout tests. However, once it is this change will be tested by every test.
  28461. * platform/graphics/chromium/ContentLayerChromium.cpp:
  28462. (WebCore::ContentLayerChromium::createTextureUpdater):
  28463. * platform/graphics/chromium/LayerRendererChromium.cpp:
  28464. (WebCore::contextSupportsAcceleratedPainting):
  28465. (WebCore::LayerRendererChromium::initialize):
  28466. * platform/graphics/chromium/LayerRendererChromium.h:
  28467. * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
  28468. (WebCore::LayerTextureUpdaterSkPicture::create):
  28469. (WebCore::LayerTextureUpdaterSkPicture::LayerTextureUpdaterSkPicture):
  28470. (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
  28471. (WebCore::LayerTextureUpdaterSkPicture::createFrameBuffer):
  28472. * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
  28473. 2011-09-01 Dominik Röttsches <dominik.rottsches@linux.intel.com>
  28474. Rename GraphicsContext3DInternal to GraphicsContext3DPrivate and add a dummy version of this class for Mac
  28475. https://bugs.webkit.org/show_bug.cgi?id=67172
  28476. Build fix, completing rename for GTK file.
  28477. Reviewed by Chris Marrin.
  28478. * platform/graphics/gtk/GraphicsContext3DPrivate.cpp: Renamed from Source/WebCore/platform/graphics/gtk/GraphicsContext3DInternal.cpp.
  28479. (sharedDisplay):
  28480. (WebCore::activeGraphicsContexts):
  28481. (WebCore::GraphicsContext3DPrivate::addActiveGraphicsContext):
  28482. (WebCore::GraphicsContext3DPrivate::removeActiveGraphicsContext):
  28483. (WebCore::GraphicsContext3DPrivate::cleanupActiveContextsAtExit):
  28484. (WebCore::GraphicsContext3DPrivate::create):
  28485. (WebCore::GraphicsContext3DPrivate::createPbufferContext):
  28486. (WebCore::GraphicsContext3DPrivate::createPixmapContext):
  28487. (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
  28488. (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
  28489. (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
  28490. 2011-09-01 Simon Fraser <simon.fraser@apple.com>
  28491. REGRESSION (r94259): Two tests doing hit testing were broken by this change.
  28492. https://bugs.webkit.org/show_bug.cgi?id=67353
  28493. Reviewed by Chris Marrin.
  28494. Fix a regression from r94259; that change missed a fix in RenderView,
  28495. which affects coordinate transforms in position:fixed elements.
  28496. This fixes these tests:
  28497. fast/events/document-elementFromPoint.html
  28498. fast/events/offsetX-offsetY.html
  28499. plugins/mouse-events-fixedpos.html
  28500. * rendering/RenderView.cpp:
  28501. (WebCore::RenderView::mapAbsoluteToLocalPoint):
  28502. 2011-09-01 Tony Gentilcore <tonyg@chromium.org>
  28503. [chromium] Fonts returned by FontCache::getFontDataForCharacters() are never released
  28504. https://bugs.webkit.org/show_bug.cgi?id=66673
  28505. Reviewed by James Robinson.
  28506. This was fixed for other ports in http://trac.webkit.org/changeset/88260.
  28507. However, it was missed in FontCacheLinux likely due to similar param in the nested call to getCachedFontPlatformData().
  28508. No new tests because no directly observable change in behavior.
  28509. * platform/graphics/chromium/FontCacheLinux.cpp:
  28510. (WebCore::FontCache::getFontDataForCharacters):
  28511. 2011-08-31 Mikhail Naganov <mnaganov@chromium.org>
  28512. Web Inspector: [Chromium] Perform a more effective JS GC
  28513. https://bugs.webkit.org/show_bug.cgi?id=67304
  28514. Reviewed by Pavel Feldman.
  28515. * bindings/v8/ScriptProfiler.cpp:
  28516. (WebCore::ScriptProfiler::collectGarbage):
  28517. 2011-09-01 Sam Weinig <sam@webkit.org>
  28518. WebGLContextEvent should have its own JS wrapper
  28519. https://bugs.webkit.org/show_bug.cgi?id=67352
  28520. Reviewed by Anders Carlsson.
  28521. The WebGLContextEvent was missing a proper JS wrapper, and thus
  28522. anyone using one in an EventListener was actually just getting
  28523. a plain old Event. Rectify this by generating the wrapper and
  28524. wrapping it on creating.
  28525. Test: fast/canvas/webgl/WebGLContextEvent.html
  28526. * CodeGenerators.pri:
  28527. Add WebGLContextEvent.idl
  28528. * DerivedSources.make:
  28529. Add WebGLContextEvent and sort.
  28530. * WebCore.xcodeproj/project.pbxproj:
  28531. Add generated JSWebGLContextEvent.h/cpp.
  28532. * bindings/js/JSEventCustom.cpp:
  28533. (WebCore::toJS):
  28534. Wrap WebGLContextEvents as JSWebGLContextEvents.
  28535. * dom/Event.cpp:
  28536. (WebCore::Event::isWebGLContextEvent):
  28537. * dom/Event.h:
  28538. * html/canvas/WebGLContextEvent.cpp:
  28539. (WebCore::WebGLContextEvent::isWebGLContextEvent):
  28540. * html/canvas/WebGLContextEvent.h:
  28541. Add predicate for WebGLContextEvent.
  28542. 2011-09-01 Eric Carlson <eric.carlson@apple.com>
  28543. Add 'muted' content attribute to HTMLMediaElement
  28544. https://bugs.webkit.org/show_bug.cgi?id=58369
  28545. Reviewed by Darin Adler.
  28546. Test: media/video-defaultmuted.html
  28547. * html/HTMLAttributeNames.in: Add muted.
  28548. * html/HTMLMediaElement.cpp:
  28549. (WebCore::HTMLMediaElement::loadResource): Deal with the 'muted' attribute.
  28550. * html/HTMLMediaElement.idl: Add defaultMuted.
  28551. 2011-09-01 Tim Horton <timothy_horton@apple.com>
  28552. REGRESSION: Rendering artifacts on a rotated, pattern filled shape
  28553. https://bugs.webkit.org/show_bug.cgi?id=53055
  28554. <rdar://problem/8910917>
  28555. Reviewed by Simon Fraser.
  28556. Introduce wkCGPatternCreateWithImageAndTransform.
  28557. * WebCore.exp.in:
  28558. * platform/mac/WebCoreSystemInterface.h:
  28559. * platform/mac/WebCoreSystemInterface.mm:
  28560. 2011-08-30 Adrienne Walker <enne@google.com>
  28561. [chromium] Fix scissor rects on clipped nested iframes
  28562. https://bugs.webkit.org/show_bug.cgi?id=67221
  28563. Reviewed by James Robinson.
  28564. Layers that mask to bounds (like iframes) weren't being properly
  28565. clipped if their parent scissor rect was empty. This case happens
  28566. when a parent iframe is clipped. Fixed by propagating the empty
  28567. scissor rect to child layers rather than ignoring it.
  28568. Test: compositing/iframes/nested-composited-iframe.html
  28569. * platform/graphics/chromium/LayerRendererChromium.cpp:
  28570. 2011-08-31 Yury Semikhatsky <yurys@chromium.org>
  28571. Web Inspector: close dedicated worker inspectors when page inspector is closing
  28572. https://bugs.webkit.org/show_bug.cgi?id=67366
  28573. Close all dedicated worker inspector windows when page inspector is closing.
  28574. Reviewed by Pavel Feldman.
  28575. * inspector/front-end/WorkerManager.js:
  28576. (WebInspector.WorkerManager.prototype._openInspectorWindow):
  28577. (WebInspector.WorkerManager.prototype._pageInspectorClosing):
  28578. (WebInspector.WorkerManager.prototype._workerInspectorClosing):
  28579. * inspector/front-end/inspector.js:
  28580. (WebInspector.close):
  28581. 2011-08-31 Yury Semikhatsky <yurys@chromium.org>
  28582. [Chromium] Web Inspector: dedicated worker inspection is broken
  28583. https://bugs.webkit.org/show_bug.cgi?id=67279
  28584. Provide transport for inspector messages between Page and DedicatedWorker inspectors
  28585. in case of in-process workers.
  28586. Reviewed by Pavel Feldman.
  28587. * inspector/CodeGeneratorInspector.pm: sendMessageObjectToBackend should accept message
  28588. object which is ready for sending to backend. This method is overriden in WorkerManager
  28589. for dedicated workers and we don't want to replicate request id assignment there.
  28590. * workers/WorkerMessagingProxy.cpp:
  28591. (WebCore::PostMessageToPageInspectorTask::create):
  28592. (WebCore::PostMessageToPageInspectorTask::PostMessageToPageInspectorTask):
  28593. (WebCore::PostMessageToPageInspectorTask::performTask):
  28594. (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
  28595. (WebCore::connectToWorkerContextInspectorTask):
  28596. (WebCore::WorkerMessagingProxy::connectToInspector):
  28597. (WebCore::disconnectFromWorkerContextInspectorTask):
  28598. (WebCore::WorkerMessagingProxy::disconnectFromInspector):
  28599. (WebCore::dispatchOnInspectorBackendTask):
  28600. (WebCore::WorkerMessagingProxy::sendMessageToInspector):
  28601. (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
  28602. * workers/WorkerMessagingProxy.h:
  28603. 2011-09-01 Csaba Osztrogonác <ossy@webkit.org>
  28604. [CSS3 Backgrounds and Borders] Implement border-image-slice
  28605. https://bugs.webkit.org/show_bug.cgi?id=67321
  28606. * WebCore.pro: Unreviewed buildfix after Dave "scattered" Hyatt (r94299).
  28607. 2011-09-01 Ned Holbrook <nholbrook@apple.com>
  28608. Typesetting features need not force complex for single-character runs
  28609. https://bugs.webkit.org/show_bug.cgi?id=66498
  28610. Typesetting features have no effect on a solitary character, so they shouldn't enable complex layout
  28611. unless multiple characters are present.
  28612. Reviewed by Dan Bernstein.
  28613. No new tests, this is merely a performance optimization.
  28614. * platform/graphics/Font.cpp:
  28615. (WebCore::Font::codePath): typesettingFeatures() only forces Complex for multiple-character runs.
  28616. 2011-08-31 Jeff Miller <jeffm@apple.com>
  28617. Defer creating AVPlayer and AVPlayerItem in MediaPlayerPrivateAVFoundation::setPreload()
  28618. https://bugs.webkit.org/show_bug.cgi?id=66253
  28619. Reviewed by Jon Honeycutt.
  28620. No new tests, should be covered by existing media tests.
  28621. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
  28622. (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Use the same code on Mac and Windows to only create the AVPlayer and AVPlayerItem when needed.
  28623. * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
  28624. (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Assign any existing AVPlayerItem to the new AVPlayer.
  28625. (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Allow creation of the AVPlayerItem before the AVPlayer.
  28626. 2011-08-31 David Hyatt <hyatt@apple.com>
  28627. https://bugs.webkit.org/show_bug.cgi?id=67321
  28628. Implement border-image-slice. This will eventually be a component of the new border-image shorthand
  28629. property. It holds the cuts that you make into the border image along with a new optional "fill"
  28630. keyword that indicates whether or not the center should be filled with the middle slice of the image.
  28631. By default -webkit-border-image has always filled, but this does not match the specification. To preserve
  28632. backwards compatibility, -webkit-border-image will continue to fill by default, but this does slightly affect
  28633. computed style results, since the "fill" keyword will now be included in property dumps.
  28634. Reviewed by Beth Dakin.
  28635. Added fast/borders/border-image-slices.html.
  28636. * CMakeLists.txt:
  28637. * WebCore.gypi:
  28638. * WebCore.pro:
  28639. * WebCore.vcproj/WebCore.vcproj:
  28640. * WebCore.xcodeproj/project.pbxproj:
  28641. * css/CSSBorderImageSliceValue.cpp: Added.
  28642. (WebCore::CSSBorderImageSliceValue::CSSBorderImageSliceValue):
  28643. (WebCore::CSSBorderImageSliceValue::~CSSBorderImageSliceValue):
  28644. (WebCore::CSSBorderImageSliceValue::cssText):
  28645. * css/CSSBorderImageSliceValue.h: Added.
  28646. (WebCore::CSSBorderImageSliceValue::create):
  28647. (WebCore::CSSBorderImageSliceValue::isBorderImageSliceValue):
  28648. Add a new CSSBorderImageSliceValue that holds both the four slices (as a CSS rect) and the
  28649. fill keyword (as a boolean). Note that the cssText() dumping of the slices has been refined
  28650. to be smarter, and it will no longer dump repeating values.
  28651. * css/CSSBorderImageValue.cpp:
  28652. (WebCore::CSSBorderImageValue::CSSBorderImageValue):
  28653. (WebCore::CSSBorderImageValue::cssText):
  28654. * css/CSSBorderImageValue.h:
  28655. (WebCore::CSSBorderImageValue::create):
  28656. CSSBorderImageValue now owns a CSSBorderImageSliceValue instead of just a CSS rect.
  28657. * css/CSSComputedStyleDeclaration.cpp:
  28658. (WebCore::valueForNinePieceImageSlice):
  28659. (WebCore::valueForNinePieceImage):
  28660. Add a new method, valueForNinePieceImageSlice, for getting the slices plus the fill value
  28661. from the NinePieceImage and putting it into a CSSBorderImageSliceValue. This method is now used by
  28662. valueForNinePieceImage to get the CSSBorderImageSliceValue that is part of the overall
  28663. CSSBorderImageValue.
  28664. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  28665. Adding support for the new properties: border-image-slice and -webkit-mask-box-image-slice.
  28666. * css/CSSParser.cpp:
  28667. (WebCore::CSSParser::parseValue):
  28668. (WebCore::BorderImageParseContext::BorderImageParseContext):
  28669. (WebCore::BorderImageParseContext::allowBreak):
  28670. (WebCore::BorderImageParseContext::commitImage):
  28671. (WebCore::BorderImageParseContext::commitSlice):
  28672. (WebCore::BorderImageParseContext::commitSlash):
  28673. (WebCore::BorderImageParseContext::commitBorderImage):
  28674. (WebCore::CSSParser::parseBorderImage):
  28675. Modify parseBorderImage to no longer parse the slices itself. Instead it farms out the parsing
  28676. to parseBorderImageSlice.
  28677. (WebCore::BorderImageSliceParseContext::BorderImageSliceParseContext):
  28678. (WebCore::BorderImageSliceParseContext::allowNumber):
  28679. (WebCore::BorderImageSliceParseContext::allowFill):
  28680. (WebCore::BorderImageSliceParseContext::allowFinalCommit):
  28681. (WebCore::BorderImageSliceParseContext::top):
  28682. (WebCore::BorderImageSliceParseContext::commitNumber):
  28683. (WebCore::BorderImageSliceParseContext::commitFill):
  28684. (WebCore::BorderImageSliceParseContext::setAllowFinalCommit):
  28685. (WebCore::BorderImageSliceParseContext::setTop):
  28686. (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
  28687. (WebCore::CSSParser::parseBorderImageSlice):
  28688. Slice parsing has now been broken out so that it can be parsed as a single property. In addition
  28689. support for the "fill" keyword has been added to control image filling.
  28690. * css/CSSParser.h:
  28691. Modified to add the new parseBorderImageSlice method.
  28692. * css/CSSPropertyNames.in:
  28693. Add the new properties: border-image-slice and -webkit-mask-box-image-slice.
  28694. * css/CSSStyleSelector.cpp:
  28695. (WebCore::CSSStyleSelector::applyProperty):
  28696. (WebCore::CSSStyleSelector::mapNinePieceImage):
  28697. Rework mapNinePieceImage to call mapNinePieceImageSlice so that the mapping can be done just for
  28698. the slices.
  28699. (WebCore::CSSStyleSelector::mapNinePieceImageSlice):
  28700. A new method that handles mapping just the slices into the front-end NinePieceImage.
  28701. (WebCore::CSSStyleSelector::loadPendingImages):
  28702. Modified to ensure the fill value is preserved when box-reflect makes a new NinePieceImage.
  28703. * css/CSSStyleSelector.h:
  28704. Added the new mapNinePieceImageSlice method.
  28705. * css/CSSValue.h:
  28706. (WebCore::CSSValue::isBorderImageSliceValue):
  28707. Virtual function for identifying border image slice values.
  28708. * rendering/RenderBoxModelObject.cpp:
  28709. (WebCore::RenderBoxModelObject::paintNinePieceImage):
  28710. The painting of the nine piece image has been modified to match the specification. The "fill"
  28711. keyword controls whether or not the middle is painted.
  28712. * rendering/style/NinePieceImage.cpp:
  28713. (WebCore::NinePieceImage::operator==):
  28714. The fill keyword has to be checked now for equality.
  28715. * rendering/style/NinePieceImage.h:
  28716. (WebCore::NinePieceImage::NinePieceImage):
  28717. (WebCore::NinePieceImage::fill):
  28718. (WebCore::NinePieceImage::setFill):
  28719. Added the fill keyword to the front end NinePieceImage.
  28720. (WebCore::NinePieceImage::copySlicesFrom):
  28721. Added a helper to copy only the slices over from another NinePieceImage. Used when inheriting
  28722. the border-image-slice property from a parent style.
  28723. 2011-09-01 Vsevolod Vlasov <vsevik@chromium.org>
  28724. Web Inspector: Decode query/form parameters names as well as values.
  28725. https://bugs.webkit.org/show_bug.cgi?id=67393
  28726. Reviewed by Yury Semikhatsky.
  28727. * inspector/front-end/ResourceHeadersView.js:
  28728. (WebInspector.ResourceHeadersView.prototype._decodeURIComponent):
  28729. (WebInspector.ResourceHeadersView.prototype._refreshParms):
  28730. 2011-08-31 Pavel Podivilov <podivilov@chromium.org>
  28731. Web Inspector: remove PresentationBreakpoint class.
  28732. https://bugs.webkit.org/show_bug.cgi?id=67275
  28733. Reviewed by Yury Semikhatsky.
  28734. * inspector/front-end/BreakpointsSidebarPane.js:
  28735. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint.didRequestContent):
  28736. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
  28737. * inspector/front-end/DebuggerPresentationModel.js:
  28738. (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
  28739. (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
  28740. 2011-08-31 Steve Block <steveblock@google.com>
  28741. Clean up all mentions of Android in comments
  28742. https://bugs.webkit.org/show_bug.cgi?id=67303
  28743. Also removes some superfluous guards and methods added for Android.
  28744. Reviewed by Darin Adler.
  28745. No new tests, removing dead code only.
  28746. * WebCorePrefix.h:
  28747. Chromium uses this file only on Mac, so these Android guards are no
  28748. longer required.
  28749. * bindings/v8/NPV8Object.cpp:
  28750. * bindings/v8/NPV8Object.h:
  28751. Including npruntime.h for non-Chromium ports was added in
  28752. http://trac.webkit.org/changeset/53634 for Android. However, this
  28753. file is included in WebCore.pro, so leaving the guard in place.
  28754. * bindings/v8/ScriptCachedFrameData.h:
  28755. This code was added for Android in
  28756. http://trac.webkit.org/changeset/56716 but is now also used by QT. The
  28757. comment should have been removed in
  28758. http://trac.webkit.org/changeset/93573.
  28759. * dom/Document.cpp:
  28760. (WebCore::Document::Document):
  28761. (WebCore::Document::isLayoutTimerActive):
  28762. (WebCore::Document::minimumLayoutDelay):
  28763. * dom/Document.h:
  28764. This method was added for Android in
  28765. http://trac.webkit.org/changeset/52919 and modified in
  28766. http://trac.webkit.org/changeset/79775. It is no longer needed.
  28767. 2011-09-01 Kristóf Kosztyó <kkristof@inf.u-szeged.hu>
  28768. [Qt] Build dependency problems
  28769. https://bugs.webkit.org/show_bug.cgi?id=38054
  28770. Make clean build after the defines are changed.
  28771. Reviewed by Csaba Osztrogonác.
  28772. * features.pri:
  28773. 2011-09-01 Vsevolod Vlasov <vsevik@chromium.org>
  28774. Web Inspector: Network error messages in console should link to the respective request in network panel if there is one.
  28775. https://bugs.webkit.org/show_bug.cgi?id=65550
  28776. Reviewed by Yury Semikhatsky.
  28777. * inspector/front-end/ConsoleMessage.js:
  28778. (WebInspector.ConsoleMessage.prototype._formatMessage):
  28779. * inspector/front-end/NetworkPanel.js:
  28780. (WebInspector.NetworkLogView.prototype.refresh):
  28781. (WebInspector.NetworkLogView.prototype.switchToBriefView):
  28782. (WebInspector.NetworkLogView.prototype.searchCanceled):
  28783. (WebInspector.NetworkLogView.prototype.revealAndHighlightResource):
  28784. (WebInspector.NetworkLogView.prototype._removeAllNodeHighlights):
  28785. (WebInspector.NetworkLogView.prototype._highlightNode):
  28786. (WebInspector.NetworkPanel.prototype._resourceByAnchor):
  28787. (WebInspector.NetworkPanel.prototype.canShowAnchorLocation):
  28788. (WebInspector.NetworkPanel.prototype.showAnchorLocation):
  28789. * inspector/front-end/networkLogView.css:
  28790. (.network-log-grid tr.highlighted-row):
  28791. (from):
  28792. (to):
  28793. 2011-09-01 Patrick Gansterer <paroga@webkit.org>
  28794. Replace preprocessor statements in DOMWindow.idl with Conditional attribute
  28795. https://bugs.webkit.org/show_bug.cgi?id=65050
  28796. Reviewed by Brent Fulgham.
  28797. Many attributes use the [Conditional=XXX] syntax already.
  28798. Unify the declaration of conditional attributes of DOMWindow
  28799. with the corresponding Conditional attribute.
  28800. This reduces the need of the preprocessor which is the
  28801. the source of much pain on native windows.
  28802. * page/DOMWindow.idl:
  28803. 2011-09-01 Yuta Kitamura <yutak@chromium.org>
  28804. WebSocket: Fix bufferedAmount after WebSocket is closed
  28805. https://bugs.webkit.org/show_bug.cgi?id=67363
  28806. Reviewed by Kent Tamura.
  28807. Test: http/tests/websocket/tests/hybi/bufferedAmount-after-close.html (updated)
  28808. * websockets/WebSocket.cpp:
  28809. (WebCore::WebSocket::send):
  28810. (WebCore::WebSocket::getFramingOverhead):
  28811. * websockets/WebSocket.h:
  28812. 2011-09-01 Keishi Hattori <keishi@webkit.org>
  28813. Rename colorSelected to didChooseColor
  28814. https://bugs.webkit.org/show_bug.cgi?id=67271
  28815. Reviewed by Kent Tamura.
  28816. * WebCore.exp.in:
  28817. * html/ColorInputType.cpp:
  28818. (WebCore::ColorInputType::didChooseColor): Renamed colorSelected to didChooseColor so it follows common naming practice.
  28819. * html/ColorInputType.h:
  28820. * platform/ColorChooser.cpp:
  28821. (WebCore::ColorChooser::didChooseColor): Renamed.
  28822. * platform/ColorChooser.h:
  28823. 2011-09-01 Adam Barth <abarth@webkit.org>
  28824. Attempt to fix Windows build.
  28825. * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
  28826. 2011-08-31 Adam Barth <abarth@webkit.org>
  28827. [Chromium] Rename PlatformBridge to PlatformSupport
  28828. https://bugs.webkit.org/show_bug.cgi?id=67349
  28829. Reviewed by Darin Fisher.
  28830. This matches the WebKitPlatformSupport embedder API.
  28831. * WebCore.gypi:
  28832. * WebCore.pro:
  28833. * bindings/v8/NPV8Object.cpp:
  28834. (_NPN_Evaluate):
  28835. * bindings/v8/ScriptController.cpp:
  28836. (WebCore::ScriptController::createScriptInstanceForWidget):
  28837. * bindings/v8/V8DOMWindowShell.cpp:
  28838. (WebCore::reportFatalErrorInV8):
  28839. * bindings/v8/V8GCController.cpp:
  28840. * bindings/v8/V8Proxy.cpp:
  28841. (WebCore::V8Proxy::handleOutOfMemory):
  28842. (WebCore::V8Proxy::evaluate):
  28843. * bindings/v8/V8Proxy.h:
  28844. * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
  28845. (WebCore::histogramEnumeration):
  28846. * page/PageGroup.cpp:
  28847. (WebCore::PageGroup::isLinkVisited):
  28848. * platform/audio/chromium/AudioBusChromium.cpp:
  28849. (WebCore::AudioBus::loadPlatformResource):
  28850. (WebCore::createBusFromInMemoryAudioFile):
  28851. * platform/chromium/ChromiumDataObject.cpp:
  28852. (WebCore::ChromiumDataObject::types):
  28853. (WebCore::ChromiumDataObject::getData):
  28854. (WebCore::ChromiumDataObject::getSequenceNumber):
  28855. (WebCore::ChromiumDataObject::containsFilenames):
  28856. * platform/chromium/DataTransferItemChromium.cpp:
  28857. (WebCore::DataTransferItemChromium::getAsString):
  28858. (WebCore::DataTransferItemChromium::getAsFile):
  28859. * platform/chromium/DragDataChromium.cpp:
  28860. (WebCore::DragData::asURL):
  28861. * platform/chromium/FileSystemChromium.cpp:
  28862. (WebCore::deleteFile):
  28863. (WebCore::deleteEmptyDirectory):
  28864. (WebCore::getFileSize):
  28865. (WebCore::getFileModificationTime):
  28866. (WebCore::revealFolderInOS):
  28867. (WebCore::directoryName):
  28868. (WebCore::pathByAppendingComponent):
  28869. (WebCore::makeAllDirectories):
  28870. (WebCore::fileExists):
  28871. (WebCore::openFile):
  28872. (WebCore::closeFile):
  28873. (WebCore::seekFile):
  28874. (WebCore::truncateFile):
  28875. (WebCore::readFromFile):
  28876. (WebCore::writeToFile):
  28877. * platform/chromium/LanguageChromium.cpp:
  28878. (WebCore::platformDefaultLanguage):
  28879. * platform/chromium/LinkHashChromium.cpp:
  28880. (WebCore::visitedLinkHash):
  28881. * platform/chromium/MIMETypeRegistryChromium.cpp:
  28882. (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
  28883. (WebCore::MIMETypeRegistry::getWellKnownMIMETypeForExtension):
  28884. (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
  28885. (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
  28886. (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
  28887. (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
  28888. * platform/chromium/PasteboardChromium.cpp:
  28889. (WebCore::Pasteboard::writeSelection):
  28890. (WebCore::Pasteboard::writePlainText):
  28891. (WebCore::Pasteboard::writeURL):
  28892. (WebCore::Pasteboard::writeImage):
  28893. (WebCore::Pasteboard::canSmartReplace):
  28894. (WebCore::Pasteboard::plainText):
  28895. (WebCore::Pasteboard::documentFragment):
  28896. * platform/chromium/PlatformBridge.h: Removed.
  28897. * platform/chromium/PlatformScreenChromium.cpp:
  28898. (WebCore::screenDepth):
  28899. (WebCore::screenDepthPerComponent):
  28900. (WebCore::screenIsMonochrome):
  28901. (WebCore::screenRect):
  28902. (WebCore::screenAvailableRect):
  28903. * platform/chromium/PlatformSupport.h: Copied from Source/WebCore/platform/chromium/PlatformBridge.h.
  28904. * platform/chromium/SSLKeyGeneratorChromium.cpp:
  28905. (WebCore::signedPublicKeyAndChallengeString):
  28906. * platform/chromium/ScrollbarThemeChromium.cpp:
  28907. * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
  28908. (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
  28909. (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
  28910. (WebCore::ScrollbarThemeChromiumLinux::paintButton):
  28911. (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
  28912. (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
  28913. (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
  28914. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  28915. (WebCore::scrollbarStateToThemeState):
  28916. (WebCore::ScrollbarThemeChromiumMac::paint):
  28917. * platform/chromium/ScrollbarThemeChromiumWin.cpp:
  28918. (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
  28919. (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
  28920. (WebCore::ScrollbarThemeChromiumWin::paintButton):
  28921. (WebCore::ScrollbarThemeChromiumWin::paintThumb):
  28922. (WebCore::ScrollbarThemeChromiumWin::buttonSize):
  28923. * platform/chromium/SharedTimerChromium.cpp:
  28924. (WebCore::setSharedTimerFiredFunction):
  28925. (WebCore::setSharedTimerFireInterval):
  28926. (WebCore::stopSharedTimer):
  28927. * platform/chromium/SuddenTerminationChromium.cpp:
  28928. (WebCore::disableSuddenTermination):
  28929. (WebCore::enableSuddenTermination):
  28930. * platform/chromium/TraceEvent.h:
  28931. (WebCore::internal::ScopeTracer::ScopeTracer):
  28932. (WebCore::internal::ScopeTracer::~ScopeTracer):
  28933. * platform/graphics/chromium/ContentLayerChromium.cpp:
  28934. (WebCore::ContentLayerPainter::paint):
  28935. * platform/graphics/chromium/CrossProcessFontLoading.mm:
  28936. * platform/graphics/chromium/FontCacheChromiumWin.cpp:
  28937. (WebCore::fontContainsCharacter):
  28938. (WebCore::FillLogFont):
  28939. * platform/graphics/chromium/FontCacheLinux.cpp:
  28940. (WebCore::FontCache::getFontDataForCharacters):
  28941. * platform/graphics/chromium/FontChromiumWin.cpp:
  28942. (WebCore::drawGlyphsWin):
  28943. * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
  28944. (WebCore::FontPlatformData::scriptFontProperties):
  28945. * platform/graphics/chromium/FontPlatformDataLinux.cpp:
  28946. (WebCore::FontPlatformData::querySystemForRenderStyle):
  28947. * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
  28948. (WebCore::fillBMPGlyphs):
  28949. * platform/graphics/chromium/ImageChromium.cpp:
  28950. (WebCore::Image::loadPlatformResource):
  28951. * platform/graphics/chromium/ImageChromiumMac.mm:
  28952. (WebCore::Image::loadPlatformResource):
  28953. * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
  28954. (WebCore::SimpleFontData::platformInit):
  28955. (WebCore::SimpleFontData::determinePitch):
  28956. (WebCore::SimpleFontData::platformWidthForGlyph):
  28957. * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
  28958. (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
  28959. * platform/graphics/skia/FontCustomPlatformData.cpp:
  28960. (WebCore::FontCustomPlatformData::fontPlatformData):
  28961. * platform/network/chromium/CookieJarChromium.cpp:
  28962. (WebCore::setCookies):
  28963. (WebCore::cookies):
  28964. (WebCore::cookieRequestHeaderFieldValue):
  28965. (WebCore::cookiesEnabled):
  28966. (WebCore::getRawCookies):
  28967. (WebCore::deleteCookie):
  28968. * platform/network/chromium/DNSChromium.cpp:
  28969. (WebCore::prefetchDNS):
  28970. * platform/qt/PlatformBridge.h: Removed.
  28971. * platform/qt/PlatformBridgeQt.cpp: Removed.
  28972. * platform/qt/PlatformSupport.h: Copied from Source/WebCore/platform/qt/PlatformBridge.h.
  28973. * platform/qt/PlatformSupportQt.cpp: Copied from Source/WebCore/platform/qt/PlatformBridgeQt.cpp.
  28974. (WebCore::PlatformSupport::popupsAllowed):
  28975. (WebCore::PlatformSupport::pluginScriptableObject):
  28976. * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
  28977. (WebCore::SQLiteFileSystem::deleteDatabaseFile):
  28978. (WebCore::SQLiteFileSystem::getDatabaseFileSize):
  28979. * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
  28980. * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
  28981. * plugins/chromium/PluginDataChromium.cpp:
  28982. (WebCore::PluginCache::plugins):
  28983. * rendering/RenderThemeChromiumLinux.cpp:
  28984. (WebCore::getWebThemeState):
  28985. (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
  28986. (WebCore::RenderThemeChromiumLinux::paintCheckbox):
  28987. (WebCore::RenderThemeChromiumLinux::setCheckboxSize):
  28988. (WebCore::RenderThemeChromiumLinux::paintRadio):
  28989. (WebCore::RenderThemeChromiumLinux::setRadioSize):
  28990. (WebCore::RenderThemeChromiumLinux::paintButton):
  28991. (WebCore::RenderThemeChromiumLinux::paintTextField):
  28992. (WebCore::RenderThemeChromiumLinux::paintMenuList):
  28993. (WebCore::RenderThemeChromiumLinux::paintSliderTrack):
  28994. (WebCore::RenderThemeChromiumLinux::paintSliderThumb):
  28995. (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle):
  28996. (WebCore::RenderThemeChromiumLinux::paintInnerSpinButton):
  28997. (WebCore::RenderThemeChromiumLinux::paintProgressBar):
  28998. * rendering/RenderThemeChromiumMac.mm:
  28999. (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
  29000. * rendering/RenderThemeChromiumSkia.cpp:
  29001. (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
  29002. * rendering/RenderThemeChromiumWin.cpp:
  29003. (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
  29004. (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
  29005. (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
  29006. (WebCore::RenderThemeChromiumWin::systemColor):
  29007. (WebCore::RenderThemeChromiumWin::paintButton):
  29008. (WebCore::RenderThemeChromiumWin::paintSliderTrack):
  29009. (WebCore::menuListButtonWidth):
  29010. (WebCore::RenderThemeChromiumWin::paintMenuList):
  29011. (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
  29012. (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
  29013. (WebCore::RenderThemeChromiumWin::paintProgressBar):
  29014. * storage/chromium/IDBFactoryBackendInterface.cpp:
  29015. (WebCore::IDBFactoryBackendInterface::create):
  29016. * storage/chromium/IDBKeyPathBackendImpl.cpp:
  29017. (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
  29018. (WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
  29019. * storage/chromium/QuotaTracker.cpp:
  29020. (WebCore::QuotaTracker::getDatabaseSizeAndSpaceAvailableToOrigin):
  29021. 2011-08-31 Ryosuke Niwa <rniwa@webkit.org>
  29022. Crash when inserting text with a trailing newline into a textarea via JS
  29023. https://bugs.webkit.org/show_bug.cgi?id=66241
  29024. Reviewed by Darin Adler and Kent Tamura.
  29025. The crash was caused by updateFromElement biting on the editing code.
  29026. When there is a style rule that applies on text nodes inside the shadow DOM, DOM modifications made
  29027. by the editing code may trigger style recalculation on input or textarea elements in the midst of editing
  29028. commands. In response to this style recalculation, HTMLInputElement::updateFromElement and
  29029. HTMLTextAreaElement::updateFromElement call setInnerTextValue to re-create the text nodes in the
  29030. shadow DOM. The editing code blows up because setInnerTextValue detaches old text nodes referenced by
  29031. Positions and VisiblePositions held by the editing commands in progress.
  29032. Fixed the crash by stop calling setInnerTextValue in updateFromElement. Instead, WebKit now creates
  29033. the text nodes when attributes, descendent nodes, etc... of input or textarea element changes.
  29034. Tests: fast/forms/update-from-element-during-editing-crash-1.html
  29035. fast/forms/update-from-element-during-editing-crash-2.html
  29036. * html/HTMLInputElement.cpp:
  29037. (WebCore::HTMLInputElement::updateType): Force calling setInnerTextValue when input type changes.
  29038. (WebCore::HTMLInputElement::updateInnerTextValue): Extracted from RenderTextControlSingleLine's
  29039. updateElement.
  29040. (WebCore::HTMLInputElement::parseMappedAttribute): Calls updateInnerTextValue; force calling
  29041. setInnerTextValue when -webkit-speech attribute changes. In the theory, we should be able to call it less
  29042. frequently but there are too many cases to consider at the moment.
  29043. (WebCore::HTMLInputElement::setValue): Calls updateInnerTextValue when the value actually changed.
  29044. Note we need to call it before we set or restore selection.
  29045. * html/HTMLInputElement.h:
  29046. * html/HTMLTextAreaElement.cpp:
  29047. (WebCore::HTMLTextAreaElement::childrenChanged): Calls updateInnerTextValue when textarea's descendants
  29048. nodes are changed by parser or scripts.
  29049. (WebCore::HTMLTextAreaElement::setValueCommon): Calls updateInnerTextValue when the value changes.
  29050. * html/HTMLTextFormControlElement.h:
  29051. * html/NumberInputType.cpp:
  29052. (WebCore::NumberInputType::willBlur): Calls updateInnerTextValue because input[type=number] forces
  29053. the value to be valid on blur.
  29054. * rendering/RenderTextControlMultiLine.cpp: Removed RenderTextControlMultiLine::updateFromElement.
  29055. * rendering/RenderTextControlMultiLine.h: Ditto.
  29056. * rendering/RenderTextControlSingleLine.cpp:
  29057. (WebCore::RenderTextControlSingleLine::updateFromElement):
  29058. 2011-08-31 Tom Zakrajsek <tomz@codeaurora.org>
  29059. Fix snow-leopard regression caused by r93982
  29060. https://bugs.webkit.org/show_bug.cgi?id=67301
  29061. Reviewed by Kenneth Russell.
  29062. Test: canvas/philip/tests/2d.path.stroke.prune.arc.html
  29063. * html/canvas/CanvasRenderingContext2D.cpp:
  29064. (WebCore::CanvasRenderingContext2D::arc):
  29065. 2011-08-31 Keishi Hattori <keishi@webkit.org>
  29066. Rename closeColorChooser to cleanupColorChooser
  29067. https://bugs.webkit.org/show_bug.cgi?id=67270
  29068. Reviewed by Kent Tamura.
  29069. * html/ColorInputType.cpp:
  29070. (WebCore::ColorInputType::~ColorInputType):
  29071. (WebCore::ColorInputType::detach):
  29072. (WebCore::ColorInputType::cleanupColorChooserIfCurrentClient): NSColorPanel shouldn't be closed but the color
  29073. chooser listeners need to be taken care of. Therefore closeColorChooser will be renamed to cleanupColorChooser.
  29074. This will close the color chooser on platforms where appropriate.
  29075. * html/ColorInputType.h:
  29076. * loader/EmptyClients.h:
  29077. (WebCore::EmptyChromeClient::cleanupColorChooser): Rename.
  29078. * page/Chrome.cpp:
  29079. (WebCore::Chrome::cleanupColorChooser): Rename.
  29080. * page/Chrome.h:
  29081. * page/ChromeClient.h:
  29082. 2011-08-31 Kent Tamura <tkent@chromium.org>
  29083. REGRESSION(r88115): "Choose File" button doesn't respect font-size property for the <input>
  29084. https://bugs.webkit.org/show_bug.cgi?id=67181
  29085. Reviewed by Dimitri Glazkov.
  29086. r88115 removed the code to make inherited style of the owner input
  29087. element, and html.css contains "font: -webkit-small-control" for
  29088. input element. So -webkit-file-upload-button always had
  29089. -webkit-small-control font.
  29090. Test: fast/forms/file/file-style-inheritance.html
  29091. * css/html.css:
  29092. (input[type="file"]::-webkit-file-upload-button):
  29093. Specify font-size:inherit explicitly.
  29094. 2011-08-31 Chris Rogers <crogers@google.com>
  29095. Do more rigorous bounds checking in AudioBufferSourceNode::renderFromBuffer()
  29096. https://bugs.webkit.org/show_bug.cgi?id=67351
  29097. Reviewed by Dirk Pranke.
  29098. No new tests since this does not change JavaScript API.
  29099. * webaudio/AudioBufferSourceNode.cpp:
  29100. (WebCore::AudioBufferSourceNode::renderFromBuffer):
  29101. 2011-08-31 Keishi Hattori <keishi@webkit.org>
  29102. Remove closeColorChooser call from FrameLoader::transitionToCommitted
  29103. https://bugs.webkit.org/show_bug.cgi?id=67267
  29104. Reviewed by Darin Adler.
  29105. * html/ColorInputType.cpp:
  29106. (WebCore::ColorInputType::closeColorChooserIfCurrentClient): Moved order to match header.
  29107. * html/ColorInputType.h:
  29108. * loader/FrameLoader.cpp:
  29109. (WebCore::FrameLoader::transitionToCommitted): Remove ColorInputType::closeColorChooserIfCurrentClient call.
  29110. It wasn't the right place to directly manipulate the UI.
  29111. 2011-08-31 Chris Rogers <crogers@google.com>
  29112. Add defensive bounds checking for AudioNode methods
  29113. https://bugs.webkit.org/show_bug.cgi?id=67346
  29114. Reviewed by Anders Carlsson.
  29115. No new tests since this does not change JavaScript API.
  29116. * webaudio/AudioNode.cpp:
  29117. (WebCore::AudioNode::input):
  29118. (WebCore::AudioNode::output):
  29119. 2011-08-31 Simon Fraser <simon.fraser@apple.com>
  29120. TransformState.move() should be negated in the unapply code path
  29121. https://bugs.webkit.org/show_bug.cgi?id=66246
  29122. Reviewed by Chris Marrin.
  29123. Code using TransformState was confused about when to negate the arguments
  29124. to move() in the "UnapplyInverseTransform" direction (used by mapAbsoluteToLocal).
  29125. Made the move() path equivalent to the applyTransform() path by not requiring
  29126. the caller to negate, and instead negating inside move().
  29127. Fixed the erroneous negation in TransformState::move() when accumulating;
  29128. that negation will happen later via matrix inversion.
  29129. No behavior change.
  29130. * platform/graphics/ca/GraphicsLayerCA.cpp:
  29131. (WebCore::GraphicsLayerCA::recursiveCommitChanges):
  29132. * platform/graphics/transforms/TransformState.cpp:
  29133. (WebCore::TransformState::move):
  29134. * rendering/RenderBox.cpp:
  29135. (WebCore::RenderBox::mapAbsoluteToLocalPoint):
  29136. * rendering/RenderInline.cpp:
  29137. (WebCore::RenderInline::mapAbsoluteToLocalPoint):
  29138. 2011-08-31 Pratik Solanki <psolanki@apple.com>
  29139. Fix compile issues when enabling HAVE(CFNETWORK_DATA_ARRAY_CALLBACK)
  29140. https://bugs.webkit.org/show_bug.cgi?id=67332
  29141. Reviewed by Darin Adler.
  29142. * loader/mac/ResourceLoaderMac.mm:
  29143. (WebCore::ResourceLoader::didReceiveDataArray):
  29144. * platform/network/cf/ResourceHandleCFNet.cpp:
  29145. 2011-08-31 Dan Bernstein <mitz@apple.com>
  29146. Refined the heuristic introduced to fix <rdar://problem/10002140> Text gets clipped in
  29147. multi-column layouts when overflow:auto is used.
  29148. https://bugs.webkit.org/show_bug.cgi?id=67212
  29149. Reviewed by Dave Hyatt.
  29150. Test: fast/multicol/overflow-across-columns-percent-height.html
  29151. * rendering/RenderBox.cpp:
  29152. (WebCore::percentageLogicalHeightIsResolvable): Added. This follows logic similar to the one
  29153. in computePercentageLogicalHeight() to determine whether percentage values for height properties
  29154. are resolved or treated as "auto".
  29155. (WebCore::RenderBox::hasUnsplittableScrollingOverflow): If min-height or max-height are specified
  29156. as a percentage but actually resolve to "auto", don’t let that prevent splitting.
  29157. 2011-08-31 Ryosuke Niwa <rniwa@webkit.org>
  29158. Move text() and textWithHardLineBreaks() from RenderTextControl to HTMLTextFormControlElement
  29159. https://bugs.webkit.org/show_bug.cgi?id=67320
  29160. Reviewed by Darin Adler.
  29161. Moved and renamed RenderText::text and RenderText::textWithHardLineBreaks to
  29162. HTMLTextFormControlElement::innerTextValue and HTMLTextFormControlElement::valueWithHardLineBreaks.
  29163. * accessibility/AccessibilityRenderObject.cpp:
  29164. (WebCore::AccessibilityRenderObject::text):
  29165. * html/HTMLInputElement.cpp:
  29166. (WebCore::HTMLInputElement::subtreeHasChanged):
  29167. * html/HTMLTextAreaElement.cpp:
  29168. (WebCore::HTMLTextAreaElement::appendFormData): Calls valueWithHardLineBreaks. It doesn't have to check
  29169. the existence of renderer anymore because valueWithHardLineBreaks returns value() when renderer do not
  29170. exist unlike RenderText::textWithHardLineBreaks returned emptyString() in such cases. This is the only place
  29171. valueWithHardLineBreaks is ever called; but we can't move valueWithHardLineBreaks because it calls
  29172. finishText.
  29173. (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
  29174. (WebCore::HTMLTextAreaElement::updateValue):
  29175. * html/HTMLTextFormControlElement.cpp:
  29176. (WebCore::HTMLTextFormControlElement::selectedText):
  29177. (WebCore::HTMLTextFormControlElement::setInnerTextValue):
  29178. (WebCore::finishText): Moved from RenderText.cpp
  29179. (WebCore::HTMLTextFormControlElement::innerTextValue): Ditto.
  29180. (WebCore::getNextSoftBreak): Ditto.
  29181. (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks): Ditto; this function returns value()
  29182. when there are no renderers or root inline boxes instead of emptyString().
  29183. * html/HTMLTextFormControlElement.h:
  29184. * html/NumberInputType.cpp:
  29185. (WebCore::NumberInputType::hasUnacceptableValue):
  29186. * html/SearchInputType.cpp:
  29187. (WebCore::SearchInputType::startSearchEventTimer):
  29188. * html/TextFieldInputType.cpp:
  29189. (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
  29190. * rendering/RenderTextControl.cpp:
  29191. * rendering/RenderTextControl.h:
  29192. 2011-08-31 Jeff Miller <jeffm@apple.com>
  29193. REGRESSION(92210): AVFoundation media engine is disabled on OS X
  29194. https://bugs.webkit.org/show_bug.cgi?id=67316
  29195. Move the definition of WTF_USE_AVFOUNDATION on the Mac back to JavaScriptCore/wtf/Platform.h,
  29196. since WebKit2 doesn't have access to WebCore/config.h on this platform. This reverts the
  29197. changes that were made in r92210.
  29198. Reviewed by Darin Adler.
  29199. No new tests, covered by existing media tests.
  29200. * config.h: Removed definition of WTF_USE_AVFOUNDATION on the Mac, add a comment about fixing this on Windows in the future.
  29201. 2011-08-31 Sailesh Agrawal <sail@chromium.org>
  29202. [Chromium] Switching between overlay and opaque scrollbars causes glitches
  29203. https://bugs.webkit.org/show_bug.cgi?id=62686
  29204. Reviewed by Beth Dakin.
  29205. When switching from opaque scrollbars to overlay scrollbars the page content size wouldn't change leaving a empty region under the overlay scrollbar.
  29206. The problem was that we were relying on ScrollView::updateScrollbars() to kick off a layout. Unfortunately this doesn't happen because updateScrollbars doesn't distinguish between overlay and opaque scrollbars.
  29207. To fix this I'm explicitly invalidating the layout when ScrollView::scrollbarStyleChanged() is called.
  29208. No tests because there are no Mac 10.7 chromium bots yet. Bug 66504 will track the work to add these tests once the bots are in place.
  29209. * platform/ScrollView.cpp:
  29210. (WebCore::ScrollView::scrollbarStyleChanged):
  29211. 2011-08-31 Alexey Proskuryakov <ap@apple.com>
  29212. http/tests/eventsource/workers/eventsource-simple.html is a flaky crash because of
  29213. eventsource-status-error-iframe-crash.html
  29214. https://bugs.webkit.org/show_bug.cgi?id=61523
  29215. Reviewed by Nate Chapin.
  29216. The problem here was that canceling EventSource during frame removal erroneously resulted
  29217. in event dispatch, and event handler re-entered frame destruction code.
  29218. * page/EventSource.h: Renamed endRequest() to networkRequestEnded(), because this method
  29219. doesn't end request. It implements "reestablish the connection" or "fail the connection"
  29220. algotithms from the spec, depending on current state.
  29221. Removed m_failSilently, since we can make this decision with existing data, and want to
  29222. fail silently by default (e.g. when detaching a frame cancels all loads).
  29223. * page/EventSource.cpp:
  29224. (WebCore::EventSource::EventSource): Don't initialize m_failSilently.
  29225. (WebCore::EventSource::~EventSource): Assert taht we are in a correct state.
  29226. (WebCore::EventSource::connect): Ditto.
  29227. (WebCore::EventSource::networkRequestEnded): Moved errorevent dispatch elsewhere.
  29228. (WebCore::EventSource::scheduleReconnect): Error event should always be queued when
  29229. reconnecting; firing it synchronously after starting m_reconnectTimer implements that.
  29230. (WebCore::EventSource::reconnectTimerFired): Assert that state is correct (the timer is
  29231. stopped if EventSource is stopped while waiting on the timer).
  29232. (WebCore::EventSource::close): Don't set m_state before calling cancel() - it will indirectly
  29233. call didFail(), which asserts that EventSource is not stopped yet.
  29234. (WebCore::EventSource::didReceiveResponse): Explicitly dispatch an error event, since it
  29235. is no longer dispatched when canceling, and canceling is the only way to stop a ThreadableLoader.
  29236. Removed a special case for 2xx responses, since it's no longer in the spec.
  29237. (WebCore::EventSource::didReceiveData): Assert that state is correct.
  29238. (WebCore::EventSource::didFinishLoading): Don't set state to CONNECTING after parsing remaining
  29239. response bytes - that may well result in dispatching an event whose handler calls close().
  29240. (WebCore::EventSource::didFail): It's simple now - we always reconnect unless the request
  29241. got canceled.
  29242. (WebCore::EventSource::didFailRedirectCheck): Dispatch error event explicitly, as we are
  29243. not going to attempt reconnecting.
  29244. 2011-08-31 Sheriff Bot <webkit.review.bot@gmail.com>
  29245. Unreviewed, rolling out r94116.
  29246. http://trac.webkit.org/changeset/94116
  29247. https://bugs.webkit.org/show_bug.cgi?id=67323
  29248. caused a lot of tests failures (Requested by thorton on
  29249. #webkit).
  29250. * platform/graphics/cg/PathCG.cpp:
  29251. (WebCore::Path::boundingRect):
  29252. 2011-08-31 Alexei Svitkine <asvitkine@chromium.org>
  29253. Chromium Mac: Tweak rubber banding overhang shadows. Add a drop shadow from the browser's toolbar.
  29254. https://bugs.webkit.org/show_bug.cgi?id=67289
  29255. Chromium bug: http://crbug.com/93228
  29256. Reviewed by Dimitri Glazkov.
  29257. No new tests, since this merely tweaks Chromium overhang area appearance.
  29258. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  29259. (WebCore::ScrollbarThemeChromiumMac::paintGivenTickmarks):
  29260. (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
  29261. 2011-08-31 Tony Chang <tony@chromium.org>
  29262. Remove webcore_bindings (including DerivedSources##.cpp) from the critical path
  29263. https://bugs.webkit.org/show_bug.cgi?id=67168
  29264. Reviewed by Adam Barth.
  29265. webcore_bindings_sources, debugger_script_source, injected_script_source, and
  29266. inspector_protocol_sources generates various files (e.g., CSSPropertyNames,
  29267. DerivedSources, HTMLNames, etc). webcore_bindings depends on *_sources and compiles
  29268. these files. Previously, the other webcore libs (webcore_svg, webcore_html,
  29269. webcore_remaining, etc) depended on webcore_bindings. This moves the *_sources
  29270. dependencies from webcore_bindings to the other webcore libs so the build can
  29271. parallelize the compile of webcore_bindings and the other webcore_* libs.
  29272. Also copy over the include dirs that we used to get from webcore_bindings'
  29273. direct_dependent_settings.
  29274. No new tests, just changing the build dependencies.
  29275. * WebCore.gyp/WebCore.gyp:
  29276. 2011-08-31 Tony Gentilcore <tonyg@chromium.org>
  29277. Minor cleanup: remove inScriptExecution()
  29278. https://bugs.webkit.org/show_bug.cgi?id=67276
  29279. Reviewed by Adam Barth.
  29280. At one point inScriptExecution() existed as a non-virtual duplicate of isExecutingScript()
  29281. to avoid virtual method calls from a tight loop. Now we aren't calling it anywhere perf
  29282. sensitive, so remove the duplication.
  29283. No new tests because no change in functionality.
  29284. * html/parser/HTMLDocumentParser.cpp:
  29285. (WebCore::HTMLDocumentParser::isExecutingScript):
  29286. (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
  29287. (WebCore::HTMLDocumentParser::notifyFinished):
  29288. * html/parser/HTMLDocumentParser.h:
  29289. (WebCore::HTMLDocumentParser::shouldDelayEnd):
  29290. 2011-08-31 Tom Sepez <tsepez@chromium.org>
  29291. Fix XSS filter bypass by multiply decoding both the URL and the body
  29292. snippet until they are in the most minimal form before comparison.
  29293. https://bugs.webkit.org/show_bug.cgi?id=66585
  29294. Reviewed by Adam Barth.
  29295. * html/parser/XSSAuditor.cpp:
  29296. (WebCore::fullyDecodeString):
  29297. (WebCore::XSSAuditor::init):
  29298. (WebCore::XSSAuditor::filterToken):
  29299. (WebCore::XSSAuditor::isContainedInRequest):
  29300. 2011-08-31 Simon Fraser <simon.fraser@apple.com>
  29301. Crash with -webkit-radial-gradient(top) gradient
  29302. https://bugs.webkit.org/show_bug.cgi?id=66686
  29303. Reviewed by Darin Adler.
  29304. Null-check the current value after calling parseFillPosition(),
  29305. since it may be null for gradients with degenerate arguments.
  29306. Test: fast/gradients/css3-radial-gradient-crash.html
  29307. * css/CSSParser.cpp:
  29308. (WebCore::CSSParser::parseRadialGradient):
  29309. 2011-08-31 Nico Weber <thakis@chromium.org>
  29310. Make ScrollAnimator(Chromium)?Mac check scrollAnimatorEnabled()
  29311. https://bugs.webkit.org/show_bug.cgi?id=67297
  29312. Reviewed by Tony Chang.
  29313. I need this to disable smooth scrolling in chromium tests. I'm making
  29314. the change to ScrollAnimatorMac to make unforking the file easier. I
  29315. changed scrollAnimatorEnabled() to default to true so that this change
  29316. is a no-op for Safari; in chromium the flag is set explicitly to true
  29317. or false anyway.
  29318. * page/Settings.cpp:
  29319. (WebCore::Settings::Settings):
  29320. * platform/chromium/ScrollAnimatorChromiumMac.mm:
  29321. (WebCore::ScrollAnimatorChromiumMac::scroll):
  29322. * platform/mac/ScrollAnimatorMac.mm:
  29323. (WebCore::ScrollAnimatorMac::scroll):
  29324. 2011-08-31 Nate Chapin <japhet@chromium.org>
  29325. Don't load resources with empty urls, since this
  29326. will resolve to the current document.
  29327. https://bugs.webkit.org/show_bug.cgi?id=30303
  29328. Reviewed by Darin Adler.
  29329. Test: http/tests/loading/empty-urls.html
  29330. * dom/ScriptElement.cpp:
  29331. (WebCore::ScriptElement::requestScript): If src="", fail through
  29332. to the error event case.
  29333. * html/HTMLLinkElement.cpp:
  29334. (WebCore::HTMLLinkElement::parseMappedAttribute): Ensure the url
  29335. stays empty if we try to resolve an empty href.
  29336. * loader/ImageLoader.cpp:
  29337. (WebCore::ImageLoader::updateFromElement): Throw an error instead of
  29338. loading if the src is empty in all cases, not just local files.
  29339. 2011-08-28 Robert Hogan <robert@webkit.org>
  29340. CSS 2.1 failure: margin-applies-to-015 fails, WebKit does not respect top margin for table captions
  29341. https://bugs.webkit.org/show_bug.cgi?id=34763
  29342. Reviewed by Simon Fraser.
  29343. * rendering/RenderTable.cpp:
  29344. (WebCore::RenderTable::adjustLogicalHeightForCaption): Added the caption's margin to the position calculation.
  29345. 2011-08-30 Oliver Hunt <oliver@apple.com>
  29346. Add support for checked arithmetic
  29347. https://bugs.webkit.org/show_bug.cgi?id=67095
  29348. Reviewed by Sam Weinig.
  29349. Add a forwarding header for CheckedArithmetic.h
  29350. * ForwardingHeaders/wtf/CheckedArithmetic.h: Added.
  29351. 2011-08-31 David Hyatt <hyatt@apple.com>
  29352. https://bugs.webkit.org/show_bug.cgi?id=67300
  29353. Add the new border-image-source property (and its corresponding analogue for masks, mask-box-image-source).
  29354. Change the border-image parsing code to no longer consider "none" to represent the entire border-image
  29355. expression, but instead to just mean "none" for the image component of the expression.
  29356. Change the pending image code for border-image and mask-box-image to use the new *-source properties when
  29357. loading the image so that they're considered the same.
  29358. This is the first step towards eliminating the border-image parsing code in favor of just parsing it as
  29359. a shorthand instead, but for now I'm implementing each property one by one, and once they're all there,
  29360. we can cut over to border-image as a true shorthand.
  29361. Reviewed by Beth Dakin.
  29362. Added fast/borders/border-image-source.html.
  29363. * css/CSSComputedStyleDeclaration.cpp:
  29364. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  29365. * css/CSSParser.cpp:
  29366. (WebCore::CSSParser::parseValue):
  29367. (WebCore::CSSParser::parseBorderImage):
  29368. * css/CSSPropertyNames.in:
  29369. * css/CSSStyleSelector.cpp:
  29370. (WebCore::CSSStyleSelector::applyProperty):
  29371. (WebCore::CSSStyleSelector::mapNinePieceImage):
  29372. (WebCore::CSSStyleSelector::loadPendingImages):
  29373. * rendering/style/NinePieceImage.h:
  29374. (WebCore::NinePieceImage::setImage):
  29375. * rendering/style/RenderStyle.h:
  29376. (WebCore::InheritedFlags::borderImageSource):
  29377. (WebCore::InheritedFlags::maskBoxImageSource):
  29378. (WebCore::InheritedFlags::setBorderImageSource):
  29379. (WebCore::InheritedFlags::setMaskBoxImageSource):
  29380. (WebCore::InheritedFlags::initialBorderImageSource):
  29381. (WebCore::InheritedFlags::initialMaskBoxImageSource):
  29382. 2011-08-31 Stephen White <senorblanco@chromium.org>
  29383. [chromium] Set the GrContext before SkGpuDevice is destroyed.
  29384. https://bugs.webkit.org/show_bug.cgi?id=67296
  29385. When SkGpuDevice is destroyed, it frees the FBO used for accelerated
  29386. rendering. If the wrong context is set (e.g., compositor context),
  29387. a crash may result.
  29388. Reviewed by Kenneth Russell.
  29389. No new tests. (Unfortunately, wrong-context bugs are difficult to
  29390. express in a layout test).
  29391. * platform/graphics/skia/ImageBufferSkia.cpp:
  29392. (WebCore::ImageBuffer::~ImageBuffer):
  29393. 2011-08-31 Eric Carlson <eric.carlson@apple.com>
  29394. Clean up HTMLMediaElement behavior restrictions
  29395. https://bugs.webkit.org/show_bug.cgi?id=67231
  29396. Reviewed by Darin Adler.
  29397. No new tests, cleanup only.
  29398. * html/HTMLMediaElement.cpp:
  29399. (WebCore::HTMLMediaElement::HTMLMediaElement): Deal with enum and function renaming.
  29400. (WebCore::HTMLMediaElement::load): Call userGestureRequiredForLoad() instead of testing bits
  29401. directly.
  29402. (WebCore::HTMLMediaElement::loadInternal): Deal with enum and function renaming.
  29403. (WebCore::HTMLMediaElement::play): Call userGestureRequiredForRateChange() instead of testing bits
  29404. directly.
  29405. (WebCore::HTMLMediaElement::pause): Ditto.
  29406. * html/HTMLMediaElement.h:
  29407. (WebCore::HTMLMediaElement::userGestureRequiredForLoad): Renamed.
  29408. (WebCore::HTMLMediaElement::userGestureRequiredForRateChange):
  29409. (WebCore::HTMLMediaElement::userGestureRequiredForFullscreen):
  29410. (WebCore::HTMLMediaElement::pageConsentRequiredForLoad):
  29411. (WebCore::HTMLMediaElement::addBehaviorRestriction):
  29412. (WebCore::HTMLMediaElement::removeBehaviorRestriction):
  29413. * html/HTMLVideoElement.cpp:
  29414. (WebCore::HTMLVideoElement::webkitEnterFullscreen): requireUserGestureForFullScreen renamed to
  29415. userGestureRequiredForFullscreen.
  29416. 2011-08-31 Andrei Popescu <andreip@google.com>
  29417. Investigate current uses of OS(ANDROID)
  29418. https://bugs.webkit.org/show_bug.cgi?id=66761
  29419. Reviewed by Darin Adler.
  29420. Remove the last legacy Android code.
  29421. No new tests needed as the code wasn't tested in the first place.
  29422. * bridge/jni/JNIUtility.cpp:
  29423. (JSC::Bindings::getJNIEnv):
  29424. 2011-08-31 Sheriff Bot <webkit.review.bot@gmail.com>
  29425. Unreviewed, rolling out r94082.
  29426. http://trac.webkit.org/changeset/94082
  29427. https://bugs.webkit.org/show_bug.cgi?id=67291
  29428. Breaks trunk (not canary) Chromium Mac builders upon WebKit
  29429. roll (Requested by apavlov on #webkit).
  29430. * WebCore.gyp/WebCore.gyp:
  29431. 2011-08-31 No'am Rosenthal <noam.rosenthal@nokia.com>
  29432. [Qt] Add a convenience function to cast a QTransform to TransformationMatrix
  29433. https://bugs.webkit.org/show_bug.cgi?id=67246
  29434. Reviewed by Andreas Kling.
  29435. No new functionality so no new tests.
  29436. * platform/graphics/qt/TransformationMatrixQt.cpp:
  29437. (WebCore::TransformationMatrix::TransformationMatrix):
  29438. * platform/graphics/transforms/TransformationMatrix.h:
  29439. 2011-08-31 Sheriff Bot <webkit.review.bot@gmail.com>
  29440. Unreviewed, rolling out r94176.
  29441. http://trac.webkit.org/changeset/94176
  29442. https://bugs.webkit.org/show_bug.cgi?id=67290
  29443. This does not fix the build failure on Macs (Requested by
  29444. apavlov on #webkit).
  29445. * WebCore.gyp/WebCore.gyp:
  29446. 2011-08-31 Mike Reed <reed@google.com>
  29447. [skia] antialias images if we're rotated
  29448. https://bugs.webkit.org/show_bug.cgi?id=67207
  29449. Reviewed by Stephen White.
  29450. * platform/graphics/skia/ImageSkia.cpp:
  29451. (WebCore::hasNon90rotation):
  29452. (WebCore::paintSkBitmap):
  29453. 2011-08-31 Alexander Pavlov <apavlov@chromium.org>
  29454. Web Inspector: Having the "Metrics" pane open affects the node highlight display
  29455. https://bugs.webkit.org/show_bug.cgi?id=67278
  29456. Reviewed by Yury Semikhatsky.
  29457. * inspector/front-end/MetricsSidebarPane.js:
  29458. (WebInspector.MetricsSidebarPane.prototype._updateMetrics):
  29459. 2011-08-31 Ilya Tikhonovsky <loislo@chromium.org>
  29460. Web Inspector: console view does a style recalculation per each addMessage call.
  29461. https://bugs.webkit.org/show_bug.cgi?id=67198
  29462. It is bad from the performance point of view.
  29463. Reviewed by Yury Semikhatsky.
  29464. * inspector/front-end/ConsoleView.js:
  29465. (WebInspector.ConsoleView.prototype._isScrollIntoViewScheduled):
  29466. (WebInspector.ConsoleView.prototype._appendConsoleMessage):
  29467. 2011-08-31 Alexander Pavlov <apavlov@chromium.org>
  29468. [Chromium] Unreviewed build fix. Restore debugger_script_source target dependency
  29469. broken in http://trac.webkit.org/changeset/94082.
  29470. * WebCore.gyp/WebCore.gyp:
  29471. 2011-08-30 Alexander Pavlov <apavlov@chromium.org>
  29472. Early return in CSSPrimitiveValue::getDoubleValueInternal() omits additional invalid enums
  29473. https://bugs.webkit.org/show_bug.cgi?id=67139
  29474. Reviewed by Darin Adler.
  29475. * css/CSSPrimitiveValue.cpp:
  29476. (WebCore::isValidCSSUnitTypeForDoubleConversion): Check if a given unit type can be converted to a double.
  29477. (WebCore::CSSPrimitiveValue::getDoubleValueInternal): Make use of the new method that explicitly lists all unit types.
  29478. 2011-08-30 Pavel Podivilov <podivilov@chromium.org>
  29479. Web Inspector: rename sourceFile to uiSourceCode and get rid of sourceFileId where possible.
  29480. https://bugs.webkit.org/show_bug.cgi?id=67136
  29481. Reviewed by Yury Semikhatsky.
  29482. * inspector/front-end/BreakpointManager.js:
  29483. (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
  29484. (WebInspector.BreakpointManager.prototype.breakpointsForUISourceCode):
  29485. (WebInspector.BreakpointManager.prototype.setBreakpoint):
  29486. (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
  29487. (WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
  29488. (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
  29489. (WebInspector.BreakpointManager.prototype._deleteBreakpointFromUI):
  29490. (WebInspector.BreakpointManager.prototype.set reset):
  29491. (WebInspector.BreakpointManager.prototype.debuggerReset):
  29492. * inspector/front-end/BreakpointsSidebarPane.js:
  29493. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
  29494. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.removeBreakpoint):
  29495. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.highlightBreakpoint):
  29496. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._createBreakpointItemId):
  29497. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointClicked):
  29498. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
  29499. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenu):
  29500. * inspector/front-end/CallStackSidebarPane.js:
  29501. (WebInspector.CallStackSidebarPane.prototype.update.didGetSourceLine):
  29502. (WebInspector.CallStackSidebarPane.prototype.update):
  29503. * inspector/front-end/DebuggerPresentationModel.js:
  29504. (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor.didGetLocation):
  29505. (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
  29506. (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
  29507. (WebInspector.DebuggerPresentationModel.prototype._addScript.didCreateSourceMapping):
  29508. (WebInspector.DebuggerPresentationModel.prototype._addScript):
  29509. (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeReplaced):
  29510. (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
  29511. (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
  29512. (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
  29513. (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
  29514. (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
  29515. (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
  29516. (WebInspector.DebuggerPresentationModel.prototype.breakpointsForUISourceCode):
  29517. (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
  29518. (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
  29519. (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
  29520. (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
  29521. (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
  29522. (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
  29523. (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
  29524. (WebInspector.PresentationBreakpoint):
  29525. (WebInspector.PresentationBreakpoint.prototype.get url):
  29526. (WebInspector.PresentationBreakpoint.prototype.loadSnippet):
  29527. (WebInspector.PresenationCallFrame):
  29528. (WebInspector.PresenationCallFrame.prototype.get url):
  29529. (WebInspector.PresenationCallFrame.prototype.select):
  29530. (WebInspector.PresenationCallFrame.prototype.sourceLine):
  29531. * inspector/front-end/ScriptsPanel.js:
  29532. (WebInspector.ScriptsPanel.prototype.get statusBarItems):
  29533. (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded.get if):
  29534. (WebInspector.ScriptsPanel.prototype._showScriptFoldersSettingChanged):
  29535. (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
  29536. (WebInspector.ScriptsPanel.prototype.setScriptSourceIsBeingEdited):
  29537. (WebInspector.ScriptsPanel.prototype._consoleMessagesCleared):
  29538. (WebInspector.ScriptsPanel.prototype._consoleMessageAdded):
  29539. (WebInspector.ScriptsPanel.prototype._breakpointAdded):
  29540. (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
  29541. (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
  29542. (WebInspector.ScriptsPanel.prototype._debuggerPaused):
  29543. (WebInspector.ScriptsPanel.prototype.reset):
  29544. (WebInspector.ScriptsPanel.prototype._resetFilesSelect):
  29545. (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
  29546. (WebInspector.ScriptsPanel.prototype._showSourceLine):
  29547. (WebInspector.ScriptsPanel.prototype._showSourceFrameAndAddToHistory):
  29548. (WebInspector.ScriptsPanel.prototype._createSourceFrame):
  29549. (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
  29550. (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
  29551. (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
  29552. (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation):
  29553. (WebInspector.ScriptsPanel.prototype._callFrameSelected):
  29554. (WebInspector.ScriptsPanel.prototype._filesSelectChanged):
  29555. (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
  29556. (WebInspector.SourceFrameDelegateForScriptsPanel):
  29557. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
  29558. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setBreakpoint):
  29559. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.updateBreakpoint):
  29560. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.removeBreakpoint):
  29561. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.findBreakpoint):
  29562. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.continueToLine):
  29563. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.canEditScriptSource):
  29564. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSource):
  29565. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSourceIsBeingEdited):
  29566. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
  29567. 2011-08-31 Yuta Kitamura <yutak@chromium.org>
  29568. WebSocket: Load Blob in WebSocketChannel
  29569. https://bugs.webkit.org/show_bug.cgi?id=67013
  29570. Reviewed by Kent Tamura.
  29571. Add WebSocketChannel::enqueueBlobFrame(). It makes WebSocketChannel start loading a Blob
  29572. and send a WebSocket frame after the Blob is loaded.
  29573. While a Blob is being loaded, subsequent send() requests cannot be processed and are blocked.
  29574. Pending requests are stored in m_outgoingFrameQueue. When we have finished loading a Blob,
  29575. requests in the queue are allowed to get processed.
  29576. No new tests are added, because nobody uses enqueueBlobFrame() yet. New tests will be added
  29577. when WebSocket.send(Blob) is implemented, and they will cover this code change.
  29578. * websockets/WebSocketChannel.cpp:
  29579. ref() is called when m_blobLoader is allocated, and deref() is called in didFinishLoading()
  29580. or didFail(). This is necessary because WebSocketChannel must be able to receive callbacks
  29581. from FileReaderLoader even if the channel is referred from no other objects.
  29582. (WebCore::WebSocketChannel::WebSocketChannel):
  29583. (WebCore::WebSocketChannel::didStartLoading):
  29584. (WebCore::WebSocketChannel::didReceiveData):
  29585. (WebCore::WebSocketChannel::didFinishLoading):
  29586. (WebCore::WebSocketChannel::didFail):
  29587. When we have failed to load a Blob, fail() is called, and eventually didCloseSocketStream()
  29588. will be called. It will clean up the pending requests in the queue.
  29589. (WebCore::WebSocketChannel::enqueueBlobFrame):
  29590. (WebCore::WebSocketChannel::processOutgoingFrameQueue):
  29591. (WebCore::WebSocketChannel::abortOutgoingFrameQueue):
  29592. Cancel the Blob loader when the outgoing request queue is about to be aborted. The loader
  29593. will not invoke didFail() callback once it is canceled, thus we need to call didFail()
  29594. manually so that we can free up the loader and decrement the reference count.
  29595. 2011-08-31 Yuta Kitamura <yutak@chromium.org>
  29596. WebSocket: Receive binary message as ArrayBuffer
  29597. https://bugs.webkit.org/show_bug.cgi?id=67180
  29598. Reviewed by Kent Tamura.
  29599. Tests: http/tests/websocket/tests/hybi/receive-arraybuffer.html
  29600. http/tests/websocket/tests/hybi/workers/receive-arraybuffer.html
  29601. * bindings/js/JSMessageEventCustom.cpp:
  29602. (WebCore::JSMessageEvent::data): Convert ArrayBuffer to JSValue.
  29603. * bindings/v8/custom/V8MessageEventCustom.cpp:
  29604. (WebCore::V8MessageEvent::dataAccessorGetter): Convert ArrayBuffer to v8::Value.
  29605. * dom/MessageEvent.cpp:
  29606. (WebCore::MessageEvent::MessageEvent):
  29607. * dom/MessageEvent.h:
  29608. Added DataTypeArrayBuffer and ArrayBuffer-related functions.
  29609. (WebCore::MessageEvent::create):
  29610. (WebCore::MessageEvent::dataAsArrayBuffer):
  29611. * websockets/WebSocket.cpp:
  29612. (WebCore::WebSocket::didReceiveBinaryData):
  29613. Construct an ArrayBuffer from binaryData and raise MessageEvent.
  29614. 2011-08-31 Keishi Hattori <keishi@webkit.org>
  29615. input color: onchange event is not fired when changing color from color chooser
  29616. https://bugs.webkit.org/show_bug.cgi?id=66848
  29617. Reviewed by Kent Tamura.
  29618. Test: fast/forms/color/input-color-onchange-event.html
  29619. * WebCore.exp.in: Added calls used in Internals.cpp.
  29620. * html/ColorInputType.cpp:
  29621. (WebCore::ColorInputType::colorSelected): Dispatch change event.
  29622. * html/HTMLInputElement.cpp:
  29623. (WebCore::HTMLInputElement::connectToColorChooser): Added. Called from Internals::connectColorChooserClient.
  29624. * html/HTMLInputElement.h:
  29625. * testing/Internals.cpp:
  29626. (WebCore::Internals::connectColorChooserClient): Added. Connects element as client to color chooser.
  29627. (WebCore::Internals::selectColorInColorChooser): Added. Simulate color selection in color chooser.
  29628. * testing/Internals.h:
  29629. * testing/Internals.idl:
  29630. 2011-08-31 Kentaro Hara <haraken@google.com>
  29631. Implement Web IDL Constructor extended attribute in IDLParser.pm and CodeGeneratorV8.pm.
  29632. https://bugs.webkit.org/show_bug.cgi?id=66536
  29633. Reviewed by Adam Barth.
  29634. The spec is here: http://www.w3.org/TR/WebIDL/#Constructor
  29635. [1] Introduced Web IDL 'Constructor' extended attribute.
  29636. [2] Added 'ConstructorWith=ScriptExecutionContext' extended attribute.
  29637. - The constructor passes ScriptExecutionContext to a XXX::create() method,
  29638. like XXX::create(..., context, ...).
  29639. [3] Added 'V8ConstructorSetsActiveDOMWrapper' extended attribute.
  29640. - The constructor calls V8DOMWrapper::setJSWrapperForActiveDOMObject()
  29641. instead of V8DOMWrapper::setJSWrapperForDOMObject().
  29642. [4] Added 'ConstructorRaisesException' extended attribute.
  29643. - A placeholder for ExceptionCode is passed to a XXX::create() method,
  29644. like XXX::create(..., ec).
  29645. - We can use 'ConstructorRaisesException' and 'ConstructorWith=ScriptExecutionContext' together.
  29646. Note:
  29647. - Constructor overloading is not yet implemented.
  29648. - We cannot yet specify [Optional] without CallWithDefaultValue.
  29649. Test: Source/WebCore/bindings/scripts/test/TestInterface.idl
  29650. Source/WebCore/bindings/scripts/test/TestObj.idl
  29651. * bindings/scripts/CodeGeneratorV8.pm:
  29652. (GenerateHeader): Generates constructorCallback() header, if 'Constructor' is specified.
  29653. (GenerateFunctionCallback): Uses GenerateArgumentsCountCheck() and GenerateParametersCheck().
  29654. (GenerateArgumentsCountCheck): Splits out of GenerateFunctionCallback() for reuse.
  29655. (GenerateParametersCheck): Ditto.
  29656. (GenerateConstructorCallback): Generates constructorCallback() definition.
  29657. (GenerateImplementation):
  29658. * bindings/scripts/IDLParser.pm:
  29659. (parseExtendedAttributes): Previously, only a string in the "A=B, C, D, E=F" format can be parsed. This patch enables to parse a string in the "A=B, C, D, E=F, G(in DOMString s, in [H, I, J] DOMString t)" format.
  29660. (parseParameters): Splits out of ParseInterface() for reuse.
  29661. (ParseInterface): Uses parseParameters().
  29662. * bindings/scripts/IDLStructure.pm: Added domClass{constructor}. Changed the regular expression to extract the list of extended attributes.
  29663. * bindings/scripts/test/TestInterface.idl: Added all the extended attributes that this patch is going to introduce.
  29664. * bindings/scripts/test/TestObj.idl: Added 'Constructor'.
  29665. * bindings/scripts/test/V8/V8TestInterface.cpp: Updated the test result.
  29666. (WebCore::V8TestInterface::constructorCallback):
  29667. (WebCore::ConfigureV8TestInterfaceTemplate):
  29668. * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Ditto.
  29669. * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
  29670. (WebCore::V8TestObj::constructorCallback):
  29671. * bindings/scripts/test/V8/V8TestObj.h: Ditto.
  29672. 2011-08-30 Philippe Normand <pnormand@igalia.com>
  29673. [GTK] gstreamer/ files directly related to the MediaPlayer need VIDEO guards
  29674. https://bugs.webkit.org/show_bug.cgi?id=67196
  29675. Reviewed by Martin Robinson.
  29676. Guard those files with ENABLE(VIDEO) so other features using
  29677. GStreamer can be built even with VIDEO disabled.
  29678. * platform/graphics/gstreamer/GStreamerGWorld.cpp:
  29679. * platform/graphics/gstreamer/GStreamerGWorld.h:
  29680. * platform/graphics/gstreamer/ImageGStreamer.h:
  29681. * platform/graphics/gstreamer/ImageGStreamerCG.mm:
  29682. * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
  29683. * platform/graphics/gstreamer/ImageGStreamerQt.cpp:
  29684. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  29685. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  29686. * platform/graphics/gstreamer/PlatformVideoWindow.h:
  29687. * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp:
  29688. * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
  29689. * platform/graphics/gstreamer/VideoSinkGStreamer.h:
  29690. * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
  29691. * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h:
  29692. 2011-08-30 Sheriff Bot <webkit.review.bot@gmail.com>
  29693. Unreviewed, rolling out r94142, r94144, r94145, and r94148.
  29694. http://trac.webkit.org/changeset/94142
  29695. http://trac.webkit.org/changeset/94144
  29696. http://trac.webkit.org/changeset/94145
  29697. http://trac.webkit.org/changeset/94148
  29698. https://bugs.webkit.org/show_bug.cgi?id=67262
  29699. Broke isindex element (Requested by rniwa on #webkit).
  29700. * WebCore.order:
  29701. * accessibility/AXObjectCache.cpp:
  29702. (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
  29703. * accessibility/AccessibilityRenderObject.cpp:
  29704. (WebCore::AccessibilityRenderObject::isPasswordField):
  29705. (WebCore::AccessibilityRenderObject::isIndeterminate):
  29706. (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
  29707. (WebCore::AccessibilityRenderObject::isChecked):
  29708. * css/CSSStyleSelector.cpp:
  29709. (WebCore::CSSStyleSelector::canShareStyleWithControl):
  29710. (WebCore::CSSStyleSelector::adjustRenderStyle):
  29711. (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
  29712. (WebCore::CSSStyleSelector::applyProperty):
  29713. * dom/CheckedRadioButtons.cpp:
  29714. (WebCore::CheckedRadioButtons::addButton):
  29715. (WebCore::CheckedRadioButtons::removeButton):
  29716. * dom/Node.cpp:
  29717. (WebCore::Node::toInputElement):
  29718. * dom/Node.h:
  29719. * editing/FrameSelection.cpp:
  29720. (WebCore::FrameSelection::isInPasswordField):
  29721. * html/HTMLInputElement.h:
  29722. (WebCore::HTMLInputElement::toInputElement):
  29723. * html/shadow/SliderThumbElement.cpp:
  29724. (WebCore::sliderThumbElementOf):
  29725. (WebCore::RenderSliderThumb::layout):
  29726. (WebCore::RenderSliderContainer::layout):
  29727. (WebCore::SliderThumbElement::hostInput):
  29728. (WebCore::trackLimiterElementOf):
  29729. * html/shadow/TextControlInnerElements.cpp:
  29730. (WebCore::SearchFieldResultsButtonElement::shadowPseudoId):
  29731. (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
  29732. (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
  29733. (WebCore::SpinButtonElement::defaultEventHandler):
  29734. (WebCore::SpinButtonElement::repeatingTimerFired):
  29735. (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
  29736. (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
  29737. * page/DragController.cpp:
  29738. (WebCore::asFileInput):
  29739. * platform/efl/RenderThemeEfl.cpp:
  29740. (WebCore::RenderThemeEfl::paintThemePart):
  29741. * rendering/RenderTextControlSingleLine.cpp:
  29742. (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
  29743. (WebCore::RenderTextControlSingleLine::inputElement):
  29744. * rendering/RenderTheme.cpp:
  29745. (WebCore::RenderTheme::isChecked):
  29746. (WebCore::RenderTheme::isIndeterminate):
  29747. 2011-08-30 David Levin <levin@chromium.org>
  29748. Quick fix for crashing tests caused by r94142.
  29749. Tests:
  29750. editing/execCommand/remove-format-elements.html
  29751. fast/block/child-not-removed-from-parent-lineboxes-crash.html
  29752. fast/forms/implicit-submission.html
  29753. * rendering/RenderTextControlSingleLine.cpp:
  29754. (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): Allow
  29755. for isIndex element which is derived from HTMLInputElement.
  29756. 2011-08-30 Sam Weinig <sam@webkit.org>
  29757. Add constructor for CustomEvent
  29758. https://bugs.webkit.org/show_bug.cgi?id=67248
  29759. Reviewed by Dan Bernstein.
  29760. Test: fast/events/constructors/custom-event-constructor.html
  29761. * bindings/generic/EventConstructors.h:
  29762. Add definition for CustomEvent constructor.
  29763. * bindings/js/JSEventConstructors.cpp:
  29764. Add CustomEvent #includes.
  29765. * dom/CustomEvent.cpp:
  29766. (WebCore::CustomEventInit::CustomEventInit):
  29767. (WebCore::CustomEvent::CustomEvent):
  29768. * dom/CustomEvent.h:
  29769. (WebCore::CustomEvent::create):
  29770. Add Initializer./
  29771. * dom/CustomEvent.idl:
  29772. Make constructible.
  29773. * page/DOMWindow.idl:
  29774. Add CustomEvent attribute.
  29775. 2011-08-30 Ryosuke Niwa <rniwa@webkit.org>
  29776. Get rid of toInputElement()
  29777. https://bugs.webkit.org/show_bug.cgi?id=67175
  29778. Reviewed by Darin Adler.
  29779. Got rid of Node::toInputElement and HTMLInputElement::toInputElement and replaced them by
  29780. a global toHTMLInputElement.
  29781. * WebCore.order:
  29782. * accessibility/AXObjectCache.cpp:
  29783. (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
  29784. * accessibility/AccessibilityRenderObject.cpp:
  29785. (WebCore::AccessibilityRenderObject::isPasswordField):
  29786. (WebCore::AccessibilityRenderObject::isIndeterminate):
  29787. (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
  29788. (WebCore::AccessibilityRenderObject::isChecked):
  29789. * css/CSSStyleSelector.cpp:
  29790. (WebCore::CSSStyleSelector::canShareStyleWithControl):
  29791. (WebCore::CSSStyleSelector::adjustRenderStyle):
  29792. (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
  29793. (WebCore::CSSStyleSelector::applyProperty):
  29794. * dom/CheckedRadioButtons.cpp:
  29795. (WebCore::CheckedRadioButtons::addButton):
  29796. (WebCore::CheckedRadioButtons::removeButton):
  29797. * dom/Node.cpp:
  29798. * dom/Node.h:
  29799. * editing/FrameSelection.cpp:
  29800. (WebCore::FrameSelection::isInPasswordField):
  29801. * html/HTMLInputElement.h:
  29802. (WebCore::toHTMLInputElement):
  29803. * html/shadow/SliderThumbElement.cpp:
  29804. (WebCore::sliderThumbElementOf):
  29805. (WebCore::RenderSliderThumb::layout):
  29806. (WebCore::RenderSliderContainer::layout):
  29807. (WebCore::SliderThumbElement::hostInput):
  29808. (WebCore::trackLimiterElementOf):
  29809. * html/shadow/TextControlInnerElements.cpp:
  29810. (WebCore::SearchFieldResultsButtonElement::shadowPseudoId):
  29811. (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
  29812. (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
  29813. (WebCore::SpinButtonElement::defaultEventHandler):
  29814. (WebCore::SpinButtonElement::repeatingTimerFired):
  29815. (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
  29816. (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
  29817. * page/DragController.cpp:
  29818. (WebCore::asFileInput):
  29819. * platform/efl/RenderThemeEfl.cpp:
  29820. (WebCore::RenderThemeEfl::paintThemePart):
  29821. * rendering/RenderTextControlSingleLine.cpp:
  29822. (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
  29823. (WebCore::RenderTextControlSingleLine::inputElement):
  29824. * rendering/RenderTheme.cpp:
  29825. (WebCore::RenderTheme::isChecked):
  29826. (WebCore::RenderTheme::isIndeterminate):
  29827. 2011-08-30 Ryosuke Niwa <rniwa@webkit.org>
  29828. Speculative WinCairo build fix after r94093.
  29829. * platform/network/ResourceHandle.h:
  29830. 2011-08-30 Ryosuke Niwa <rniwa@webkit.org>
  29831. Mac build fix after r94128.
  29832. * WebCore.xcodeproj/project.pbxproj:
  29833. 2011-08-30 Alice Boxhall <aboxhall@chromium.org>
  29834. Correctly report selected text range for accessibility APIs for role=textbox
  29835. https://bugs.webkit.org/show_bug.cgi?id=65900
  29836. Reviewed by Chris Fleizach.
  29837. Test: accessibility/textbox-role-reports-selection.html
  29838. * accessibility/AccessibilityRenderObject.cpp:
  29839. (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
  29840. (WebCore::AccessibilityRenderObject::rootEditableElementForPosition):
  29841. (WebCore::AccessibilityRenderObject::nodeIsTextControl):
  29842. (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
  29843. * accessibility/AccessibilityRenderObject.h:
  29844. 2011-08-30 Rachel Blum <groby@chromium.org>
  29845. The "port" property of an <a> whose href does not specify a port returns the wrong value
  29846. https://bugs.webkit.org/show_bug.cgi?id=66081
  29847. HTMLAnchorElement now returns "" instead of "0" for unset port
  29848. Fixed KURLGoogle.cpp to have same behavior as KURL.cpp when setting port 0
  29849. Fixed Location.cpp to have same behavior as KURL.cpp when setting port 0
  29850. Reviewed by Adam Barth.
  29851. Tests: fast/dom/HTMLAnchorElement/get-href-attribute-port.html
  29852. fast/dom/HTMLAnchorElement/set-href-attribute-port.html
  29853. fast/loader/location-port.html
  29854. fast/url/segments-from-data-url.html
  29855. fast/url/segments.html
  29856. fast/url/trivial-segments.html
  29857. platform/chromium/fast/dom/HTMLAnchorElement/set-href-attribute-port.html
  29858. * html/HTMLAnchorElement.cpp:
  29859. (WebCore::HTMLAnchorElement::port):
  29860. * page/Location.cpp:
  29861. (WebCore::Location::host):
  29862. (WebCore::Location::port):
  29863. (WebCore::Location::setPort):
  29864. * platform/KURLGoogle.cpp:
  29865. (WebCore::KURL::setPort):
  29866. 2011-08-30 Scott Byer <scottbyer@chromium.org>
  29867. Fix pan scrolling on Windows to be clamped
  29868. https://bugs.webkit.org/show_bug.cgi?id=66910
  29869. With the recent change to support rubberband scrolling on the Mac, pan
  29870. scrolling of overflow divs became unclamped and would scroll infinitely
  29871. and along an axis without a scrollbar.
  29872. Reviewed by Simon Fraser
  29873. Test: platform/win/fast/events/panScroll-correct-direction.html
  29874. * rendering/RenderLayer.cpp:
  29875. (WebCore::RenderLayer::panScrollFromPoint):
  29876. (WebCore::RenderLayer::scrollByRecursively):
  29877. * rendering/RenderLayer.h:
  29878. 2011-08-30 Bill Budge <bbudge@chromium.org>
  29879. This patch makes the XMLHttpRequest method/header validation logic available as
  29880. static methods so URL loaders can perform the same checks for untrusted HTTP requests
  29881. coming from plugins.
  29882. https://bugs.webkit.org/show_bug.cgi?id=66909
  29883. Reviewed by David Levin.
  29884. No new tests. Exposes no new functionality.
  29885. * CMakeLists.txt:
  29886. * GNUmakefile.list.am:
  29887. * WebCore.gypi:
  29888. * WebCore.pro:
  29889. * WebCore.vcproj/WebCore.vcproj:
  29890. * platform/network/HTTPValidation.cpp: Added.
  29891. (WebCore::isValidHTTPToken):
  29892. (WebCore::isValidHTTPHeaderValue):
  29893. * platform/network/HTTPValidation.h: Added.
  29894. * xml/XMLHttpRequest.cpp:
  29895. (WebCore::XMLHttpRequest::isAllowedHTTPMethod):
  29896. (WebCore::XMLHttpRequest::uppercaseKnownHTTPMethod):
  29897. (WebCore::XMLHttpRequest::isAllowedHTTPHeader):
  29898. (WebCore::XMLHttpRequest::open):
  29899. (WebCore::XMLHttpRequest::setRequestHeader):
  29900. * xml/XMLHttpRequest.h:
  29901. 2011-08-30 Chris Rogers <crogers@google.com>
  29902. Don't allow nodes of one context to be connected to nodes of another context
  29903. https://bugs.webkit.org/show_bug.cgi?id=67245
  29904. Reviewed by Dimitri Glazkov.
  29905. Tests: updated webaudio/audionode.html
  29906. * webaudio/AudioNode.cpp:
  29907. (WebCore::AudioNode::connect):
  29908. 2011-08-30 Dan Bernstein <mitz@apple.com>
  29909. WebCore part of <rdar://problem/9281695> Add text search API for getting the DOM range of a text match
  29910. https://bugs.webkit.org/show_bug.cgi?id=67230
  29911. Reviewed by Darin Adler.
  29912. Test: TestWebKitAPI/Tests/mac/DOMRangeOfString.
  29913. * WebCore.exp.in: Export Page::rangeOfString().
  29914. * dom/Range.h: Added a default ASSERT_NO_EXCEPTION to a few more member functions.
  29915. * editing/Editor.cpp:
  29916. (WebCore::Editor::findString): Moved most of the logic into rangeOfString(), which this function
  29917. now calls, passing in the current selection as the reference range and setting the selection to
  29918. the returned range.
  29919. (WebCore::Editor::rangeOfString): Added. Contains the find logic from findString().
  29920. * editing/Editor.h:
  29921. * page/Page.cpp:
  29922. (WebCore::Page::rangeOfString): Added. This function is similar to findString(), but it takes an optional
  29923. reference range and returns a Range, rather than using the current selection as the reference range and setting the
  29924. selection to the next match.
  29925. * page/Page.h:
  29926. 2011-08-30 Sam Weinig <sam@webkit.org>
  29927. Add additional convertValue overloads to JSDictionary
  29928. https://bugs.webkit.org/show_bug.cgi?id=67244
  29929. Reviewed by Darin Adler.
  29930. Add overloads for convertValue that will be needed for Event
  29931. constructors.
  29932. * bindings/js/JSDictionary.cpp:
  29933. (WebCore::JSDictionary::convertValue):
  29934. * bindings/js/JSDictionary.h:
  29935. Add overloads. Remove #include of <runtime/Error.h> and just include
  29936. <interpreter/CallFrame.h>
  29937. * bindings/js/JSEventConstructors.cpp:
  29938. Add now necessary #include of <runtime/Error.h>.
  29939. 2011-08-30 Aaron Colwell <acolwell@chromium.org>
  29940. Add MediaSource API to HTMLMediaElement
  29941. https://bugs.webkit.org/show_bug.cgi?id=64731
  29942. Reviewed by Eric Carlson.
  29943. Tests: http/tests/media/media-source/webm/video-media-source-errors.html
  29944. http/tests/media/media-source/webm/video-media-source-play.html
  29945. http/tests/media/media-source/webm/video-media-source-seek.html
  29946. http/tests/media/media-source/webm/video-media-source-state-changes.html
  29947. * Configurations/FeatureDefines.xcconfig:
  29948. * GNUmakefile.am:
  29949. * dom/EventNames.h:
  29950. * features.pri:
  29951. * html/HTMLMediaElement.cpp:
  29952. (WebCore::HTMLMediaElement::HTMLMediaElement): Added initializers for new member variables.
  29953. (WebCore::HTMLMediaElement::prepareForLoad): Close the media source before starting a new load.
  29954. (WebCore::HTMLMediaElement::loadResource):
  29955. Fail loading if the media source url from another media element is used.
  29956. (WebCore::HTMLMediaElement::mediaEngineError):
  29957. Make sure the source is in the closed state before firing an emptied event.
  29958. (WebCore::HTMLMediaElement::mediaPlayerSourceOpened):
  29959. New method called by WebCore::MediaPlayer to signal when the source is open.
  29960. (WebCore::HTMLMediaElement::mediaPlayerSourceURL):
  29961. New method called by the WebCore::MediaPlayer to determine what the media source URL is for this
  29962. HTMLMediaElement instance.
  29963. (WebCore::HTMLMediaElement::seek):
  29964. Disabled noSeekRequired optimization if a media source is open and resets the source state to SOURCE_OPEN if
  29965. it was in the SOURCE_ENDED state when seek() was called.
  29966. (WebCore::HTMLMediaElement::webkitSourceAppend):
  29967. New method for passing media data from JavaScript to the WebCore::MediaPlayer.
  29968. (WebCore::HTMLMediaElement::webkitSourceEndOfStream):
  29969. New method that allows JavaScript to signal the end of the stream.
  29970. (WebCore::HTMLMediaElement::webkitSourceState): New method allowing JavaScript to read the current source state.
  29971. (WebCore::HTMLMediaElement::setSourceState): New method for updating the current source state.
  29972. (WebCore::HTMLMediaElement::userCancelledLoad):
  29973. Transitions an open source to the closed state before firing an emptied event.
  29974. * html/HTMLMediaElement.h:
  29975. (WebCore::HTMLMediaElement::webkitMediaSourceURL):
  29976. New method providing the media source URL to JavaScript for this HTMLMediaElement instance.
  29977. * html/HTMLMediaElement.idl: Added new methods, attributes, and constants for the media source api.
  29978. * platform/graphics/MediaPlayer.cpp:
  29979. (WebCore::NullMediaPlayerPrivate::sourceAppend):
  29980. Stub implementation of new WebCore::MediaPlayerPrivateInterface::sourceAppend.
  29981. (WebCore::NullMediaPlayerPrivate::sourceEndOfStream):
  29982. Stub implementation of new WebCore::MediaPlayerPrivateInterface::sourceEndOfStream.
  29983. (WebCore::MediaPlayer::sourceAppend): New method for receiving media data from WebCore::HTMLMediaElement.
  29984. (WebCore::MediaPlayer::sourceEndOfStream): New method for receiving end of stream from WebCore::HTMLMediaElement.
  29985. (WebCore::MediaPlayer::sourceOpened):
  29986. New method called by the MediaPlayerPrivate object to notify the MediaPlayer when the source has opened.
  29987. (WebCore::MediaPlayer::sourceURL):
  29988. New method called by the MediaPlayerPrivate implementation to get the media source URL from the MediaPlayer.
  29989. * platform/graphics/MediaPlayer.h:
  29990. (WebCore::MediaPlayerClient::mediaPlayerSourceOpened):
  29991. Interface method used by the MediaPlayer to tell the HTMLMediaElement when the media source has been opened.
  29992. (WebCore::MediaPlayerClient::mediaPlayerSourceURL):
  29993. Interface method used by the MediaPlayer to get the media source URL from the HTMLMediaElement.
  29994. * platform/graphics/MediaPlayerPrivate.h:
  29995. (WebCore::MediaPlayerPrivateInterface::sourceAppend):
  29996. Interface method used by the MediaPlayer to pass media data to the MediaPlayerPrivate object.
  29997. (WebCore::MediaPlayerPrivateInterface::sourceEndOfStream):
  29998. Interface method used by the MediaPlayer to pass end of stream information to the MediaPlayerPrivate object.
  29999. 2011-08-30 Sam Weinig <sam@webkit.org>
  30000. Refactor JS dictionary code into helper class and covert geolocation code to use it
  30001. https://bugs.webkit.org/show_bug.cgi?id=67213
  30002. Reviewed by Darin Adler.
  30003. * GNUmakefile.list.am:
  30004. * UseJSC.cmake:
  30005. * WebCore.gypi:
  30006. * WebCore.pro:
  30007. * WebCore.vcproj/WebCore.vcproj:
  30008. * WebCore.xcodeproj/project.pbxproj:
  30009. * bindings/js/JSBindingsAllInOne.cpp:
  30010. Add new files.
  30011. * bindings/js/JSDictionary.cpp: Added.
  30012. (WebCore::JSDictionary::convertValue):
  30013. * bindings/js/JSDictionary.h: Added.
  30014. (WebCore::JSDictionary::JSDictionary):
  30015. (WebCore::JSDictionary::tryGetProperty):
  30016. Encapsulate dictionary initialization code into JSDictionary class.
  30017. * bindings/js/JSEventConstructors.cpp:
  30018. (WebCore::constructJSEventWithInitializer):
  30019. Use JSDictionary.
  30020. * bindings/js/JSGeolocationCustom.cpp:
  30021. (WebCore::setEnableHighAccuracy):
  30022. (WebCore::setTimeout):
  30023. (WebCore::setMaximumAge):
  30024. (WebCore::createPositionOptions):
  30025. Use JSDictionary.
  30026. 2011-08-30 Scott Byer <scottbyer@chromium.org>
  30027. Switch chromium to use ScrollAnimatorNone on Windows.
  30028. https://bugs.webkit.org/show_bug.cgi?id=67000
  30029. Reviewed by Adam Barth.
  30030. Testing covered by Chromium webkit_unit_tests ScrollAnimatorNoneTest.*
  30031. * WebCore.gyp/WebCore.gyp:
  30032. * WebCore.gypi:
  30033. 2011-08-30 Tony Chang <tony@chromium.org>
  30034. refactor and cleanup RenderFlexibleBox
  30035. https://bugs.webkit.org/show_bug.cgi?id=67165
  30036. Reviewed by Ojan Vafai.
  30037. No new tests, just refactoring code.
  30038. * rendering/RenderFlexibleBox.cpp:
  30039. (WebCore::RenderFlexibleBox::layoutHorizontalBlock):
  30040. (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmHorizontal): Make childSizes a param so we can pass the results to layoutAndPlaceChildrenHorizontal.
  30041. (WebCore::hasPackingSpace): Move closer to where it's used.
  30042. (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenHorizontal):
  30043. Pull this code out into its own function because it's not part of running the free space allocation algorithm.
  30044. * rendering/RenderFlexibleBox.h:
  30045. 2011-08-30 Tim Horton <timothy_horton@apple.com>
  30046. getBBox() on a SVGPathElement with curves incorrectly includes control points
  30047. https://bugs.webkit.org/show_bug.cgi?id=53512
  30048. <rdar://problem/9861154>
  30049. Reviewed by Dirk Schulze.
  30050. The CoreGraphics implementation of Path::boundingRect() called
  30051. CGPathGetBoundingBox, which includes the path's control points in its
  30052. calculations. Snow Leopard added CGPathGetPathBoundingBox, which
  30053. finds the bounding box of only points within the path, and does not
  30054. include control points. On Snow Leopard and above, we now use the latter.
  30055. Test: svg/custom/getBBox-path.svg
  30056. * platform/graphics/cg/PathCG.cpp:
  30057. (WebCore::Path::boundingRect):
  30058. 2011-08-30 Tim Horton <timothy_horton@apple.com>
  30059. SVG panning y-axis is flipped in WebKit2
  30060. https://bugs.webkit.org/show_bug.cgi?id=65800
  30061. <rdar://problem/9908012>
  30062. Reviewed by Darin Adler.
  30063. We previously were not transforming the pointer coordinates passed
  30064. to SVGDocument's panning implementation into the coordinate space of
  30065. the contents, so on different platforms, the drag direction was different.
  30066. Test: svg/custom/pan-direction.svg
  30067. * page/EventHandler.cpp:
  30068. (WebCore::EventHandler::handleMousePressEvent):
  30069. (WebCore::EventHandler::handleMouseMoveEvent):
  30070. (WebCore::EventHandler::handleMouseReleaseEvent):
  30071. * svg/SVGDocument.cpp:
  30072. (WebCore::SVGDocument::startPan):
  30073. (WebCore::SVGDocument::updatePan):
  30074. 2011-08-30 Adam Barth <abarth@webkit.org>
  30075. Flaky crash with JavaScript URLs
  30076. https://bugs.webkit.org/show_bug.cgi?id=66360
  30077. Reviewed by Nate Chapin.
  30078. This patch teaches DocumentWriter::begin to make a copy of the URL
  30079. before beginning a new document to avoid a crash.
  30080. Test: fast/loader/javascript-url-iframe-crash.html
  30081. * loader/DocumentWriter.cpp:
  30082. (WebCore::DocumentWriter::begin):
  30083. 2011-08-30 Tony Gentilcore <tonyg@chromium.org>
  30084. PreloadScanner shouldn't load images inside noscript via doc.write
  30085. https://bugs.webkit.org/show_bug.cgi?id=67214
  30086. Reviewed by Adam Barth.
  30087. The problem was that the tokenizer state was lost between each call to document.write.
  30088. This works around that bug by making all document.write()s in the same script block share
  30089. the same tokenizer state.
  30090. Test: fast/preloader/document-write-noscript.html
  30091. * html/parser/HTMLDocumentParser.cpp:
  30092. (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
  30093. (WebCore::HTMLDocumentParser::detach):
  30094. (WebCore::HTMLDocumentParser::insert):
  30095. * html/parser/HTMLDocumentParser.h:
  30096. 2011-08-30 Dmitry Titov <dimich@chromium.org>
  30097. https://bugs.webkit.org/show_bug.cgi?id=67210
  30098. [Chromium] Use after free in ScheduledAction::execute(WebCore::V8Proxy*)
  30099. Reviewed by David Levin.
  30100. * bindings/v8/ScheduledAction.cpp:
  30101. (WebCore::ScheduledAction::execute):
  30102. Removed usage of V8Proxy instance after it could have been deleted.
  30103. * bindings/v8/V8Proxy.cpp:
  30104. (WebCore::V8Proxy::V8Proxy):
  30105. * bindings/v8/V8Proxy.h:
  30106. Removed unused timerCallback() and setTimerCallback().
  30107. 2011-08-30 Abhishek Arya <inferno@chromium.org>
  30108. Style not updated for table parts in :before, :after content.
  30109. https://bugs.webkit.org/show_bug.cgi?id=66141
  30110. Reviewed by Dave Hyatt.
  30111. Tests: fast/table/table-before-child-style-update.html
  30112. fast/table/table-row-before-child-style-update.html
  30113. * rendering/RenderObjectChildList.cpp:
  30114. (WebCore::RenderObjectChildList::updateBeforeAfterContent):
  30115. 2011-08-30 Tony Chang <tony@chromium.org>
  30116. refactor box-ordinal-group handling so we don't timeout on large values
  30117. https://bugs.webkit.org/show_bug.cgi?id=65783
  30118. Reviewed by David Hyatt.
  30119. The old code walked from 1 to the last box-ordinal-group while
  30120. iterating over each flex item. The new code collects ordinals as
  30121. we do the first walk and sorts them. Each additional iteration
  30122. through the flex items gets the next oridnal from the sorted list.
  30123. This maintains the single pass for the common case of no
  30124. box-ordinal-groups specified. If there are ordinal groups,
  30125. the runtime is O(n*m + m lg m) where n is the # of flex items and
  30126. m is the number of unique box-ordinal-group values. The memory
  30127. usage is O(2m).
  30128. Test: fast/flexbox/box-ordinal-group.html
  30129. * rendering/RenderDeprecatedFlexibleBox.cpp:
  30130. (WebCore::FlexBoxIterator::FlexBoxIterator):
  30131. (WebCore::FlexBoxIterator::reset):
  30132. (WebCore::FlexBoxIterator::next):
  30133. (WebCore::FlexBoxIterator::compareFlexOrder):
  30134. 2011-08-30 Abhishek Arya <inferno@chromium.org>
  30135. Removed m_owner accessed in custom scrollbars.
  30136. https://bugs.webkit.org/show_bug.cgi?id=64737
  30137. Reviewed by David Hyatt.
  30138. Problem does not reproduce in DRT, even with Eventhandler tricks
  30139. and gc(). So, adding a manual test.
  30140. * manual-tests/custom-scrollbar-renderer-removed-crash.html: Added.
  30141. * page/FrameView.cpp:
  30142. (WebCore::FrameView::clearOwningRendererForCustomScrollbars):
  30143. * page/FrameView.h:
  30144. * rendering/RenderBox.cpp:
  30145. (WebCore::RenderBox::willBeDestroyed): when this renderbox is getting
  30146. destroyed, clear the custom scrollbar in this frameview having this renderbox
  30147. as its owning renderer.
  30148. * rendering/RenderScrollbar.cpp:
  30149. (WebCore::RenderScrollbar::getScrollbarPseudoStyle): fix the null check.
  30150. 2011-08-30 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
  30151. Emit last progress notification before calling dispatchDidFinishLoad
  30152. https://bugs.webkit.org/show_bug.cgi?id=28851
  30153. Reviewed by Adam Barth.
  30154. Original patch by Xan Lopez. Change FrameLoader to dispatch the notifications in
  30155. a more natural sequence.
  30156. Test: http/tests/loading/progress-finished-callback.html
  30157. * loader/FrameLoader.cpp:
  30158. (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
  30159. 2011-08-30 Ojan Vafai <ojan@chromium.org>
  30160. CSS parsing for -webkit-flex-flow
  30161. https://bugs.webkit.org/show_bug.cgi?id=67224
  30162. Reviewed by Tony Chang.
  30163. Adds support for the first value of -webkit-flex-flow.
  30164. Later we'll need to add support for the second "wrap" value,
  30165. but that can wait until we are ready to implement multiline
  30166. flex and the spec has stabilized a bit.
  30167. * css/CSSComputedStyleDeclaration.cpp:
  30168. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  30169. * css/CSSParser.cpp:
  30170. (WebCore::CSSParser::parseValue):
  30171. * css/CSSPrimitiveValueMappings.h:
  30172. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  30173. (WebCore::CSSPrimitiveValue::operator EFlexFlow):
  30174. * css/CSSPropertyNames.in:
  30175. * css/CSSStyleApplyProperty.cpp:
  30176. (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
  30177. * css/CSSStyleSelector.cpp:
  30178. (WebCore::CSSStyleSelector::applyProperty):
  30179. * css/CSSValueKeywords.in:
  30180. * rendering/style/RenderStyle.h:
  30181. (WebCore::InheritedFlags::flexFlow):
  30182. (WebCore::InheritedFlags::setFlexFlow):
  30183. (WebCore::InheritedFlags::initialFlexFlow):
  30184. * rendering/style/RenderStyleConstants.h:
  30185. * rendering/style/StyleFlexibleBoxData.cpp:
  30186. (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
  30187. (WebCore::StyleFlexibleBoxData::operator==):
  30188. * rendering/style/StyleFlexibleBoxData.h:
  30189. 2011-08-30 Dawit Alemayehu <adawit@kde.org>
  30190. [Qt] Replace QLibrary("libgtk-x11-2.0.so.0") with QLibrary("libgtk-x11-2.0", 0)
  30191. https://bugs.webkit.org/show_bug.cgi?id=66627
  30192. Reviewed by Simon Hausmann.
  30193. * plugins/qt/PluginPackageQt.cpp:
  30194. (WebCore::initializeGtk):
  30195. 2011-08-29 Oliver Hunt <oliver@apple.com>
  30196. TypedArrays don't ensure that denormalised values are normalised
  30197. https://bugs.webkit.org/show_bug.cgi?id=67178
  30198. Reviewed by Gavin Barraclough.
  30199. Ensure that we convert singaling nans to silent nans when loading
  30200. from a typed array.
  30201. * bindings/scripts/CodeGeneratorJS.pm:
  30202. (GenerateImplementation):
  30203. 2011-08-29 Alexey Proskuryakov <ap@apple.com>
  30204. DumpRenderTree should begin each test with an empty cookie store
  30205. https://bugs.webkit.org/show_bug.cgi?id=63545
  30206. <rdar://problem/5666907>
  30207. Reviewed by Darin Adler.
  30208. Use a clean CFURLStorageSession when this functionality is available.
  30209. * WebCore.exp.in: Added exports.
  30210. * WebCore.xcodeproj/project.pbxproj: Made CookieStorageCFNet.h private, as currentCFHTTPCookieStorage
  30211. is used in WebKit.
  30212. * platform/mac/CookieJar.mm:
  30213. (WebCore::cookies):
  30214. (WebCore::cookieRequestHeaderFieldValue):
  30215. (WebCore::setCookies):
  30216. (WebCore::cookiesEnabled):
  30217. (WebCore::getRawCookies):
  30218. (WebCore::deleteCookie):
  30219. Updated to use currentCFHTTPCookieStorage().
  30220. * platform/network/CookieStorage.h: Moved CFNetwork specific declarations to CookieStorageCFNet.h.
  30221. * platform/network/ResourceHandle.cpp: Moved CFNetwork specific code to ResourceHandleCFNet.cpp.
  30222. * platform/network/ResourceHandle.h: Exposed default session support on Mac, too. Made
  30223. privateBrowsingStorageSession() private, as callers shouldn't be concerned about where the
  30224. current sssion came from.
  30225. * platform/network/cf/CookieJarCFNet.cpp:
  30226. (WebCore::setCookies):
  30227. (WebCore::cookies):
  30228. (WebCore::cookieRequestHeaderFieldValue):
  30229. (WebCore::cookiesEnabled):
  30230. (WebCore::getRawCookies):
  30231. (WebCore::deleteCookie):
  30232. (WebCore::getHostnamesWithCookies):
  30233. (WebCore::deleteCookiesForHostname):
  30234. (WebCore::deleteAllCookies):
  30235. Updated to use currentCFHTTPCookieStorage().
  30236. * platform/network/cf/CookieStorageCFNet.cpp:
  30237. (WebCore::cookieStorageOverride): Make it clear that this override is only for a Windows API.
  30238. (WebCore::overrideCookieStorage): Ditto.
  30239. (WebCore::currentCFHTTPCookieStorage): We no longer store a cookie storage in a static variable,
  30240. unless it has been overridden on Windows. We can always get it from a session.
  30241. (WebCore::setCookieStoragePrivateBrowsingEnabled): There is nothing to do here - we'll just
  30242. use private session's storage. Note that Mac has a separate code path for OS versions that
  30243. don't support sessions.
  30244. (WebCore::startObservingCookieChanges): Updated to use currentCFHTTPCookieStorage().
  30245. (WebCore::stopObservingCookieChanges): Ditto.
  30246. * platform/network/cf/CookieStorageCFNet.h: Changed exposed methods for more clarity.
  30247. * platform/network/cf/ResourceHandleCFNet.cpp:
  30248. (WebCore::makeFinalRequest): Updated for currentCookieStorage->currentCFHTTPCookieStorage change.
  30249. (WebCore::ResourceHandle::createPrivateBrowsingStorageSession): Moved out of USE(CFNETWORK),
  30250. as this function is also used with NSURLConnection when sessions are enabled.
  30251. (WebCore::ResourceHandle::currentStorageSession): Ditto. Removed an #if since default session
  30252. is now supported on Mac, too.
  30253. (WebCore::defaultCFURLStorageSession): Moved out of USE(CFNETWORK).
  30254. (WebCore::ResourceHandle::setDefaultStorageSession): Moved out of USE(CFNETWORK). No longer
  30255. adopt the session, because nothing in method name says that it will steal a reference from
  30256. the caller.
  30257. (WebCore::ResourceHandle::defaultStorageSession): Moved out of USE(CFNETWORK).
  30258. (WebCore::privateStorageSession): Moved from ResourceHandle.cpp.
  30259. (WebCore::privateBrowsingStorageSessionIdentifierBase): Moved from ResourceHandle.cpp.
  30260. (WebCore::ResourceHandle::setPrivateBrowsingEnabled): Moved from ResourceHandle.cpp.
  30261. (WebCore::ResourceHandle::privateBrowsingStorageSession): Moved from ResourceHandle.cpp.
  30262. (WebCore::ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase): Moved from ResourceHandle.cpp.
  30263. (WebCore::ResourceHandle::privateBrowsingStorageSessionIdentifierDefaultBase): Moved from ResourceHandle.cpp.
  30264. * platform/network/mac/CookieStorageMac.mm: (WebCore::setCookieStoragePrivateBrowsingEnabled):
  30265. We no longer store a reference to cookie storage in a static variable, so nothing to do here.
  30266. On older OS versiosn, we still need to enable legacy private browsing mode.
  30267. * platform/network/mac/ResourceHandleMac.mm:
  30268. (WebCore::shouldRelaxThirdPartyCookiePolicy): Updated to use the new currentCFHTTPCookieStorage function.
  30269. (WebCore::ResourceHandle::createNSURLConnection): Updated to use currentStorageSession()
  30270. instead of privateBrowsingStorageSession().
  30271. (WebCore::ResourceHandle::willSendRequest): Ditto.
  30272. 2011-08-30 David Hyatt <hyatt@apple.com>
  30273. <rdar://problem/10002140> 9A309: Text gets clipped in book because of overflow:auto
  30274. https://bugs.webkit.org/show_bug.cgi?id=67212 - Text gets clipped in multi-column layouts when overflow:auto
  30275. is used.
  30276. Revise our overflow:auto pagination behavior. If the overflow block doesn't specify any logical height
  30277. information, then we'll just assume the plan is for it to enclose its contents, and we will be willing
  30278. to paginate in those circumstances.
  30279. Reviewed by Dan Bernstein.
  30280. Added overflow-across-columns.html and overflow-unsplittable.html
  30281. * rendering/LayoutState.cpp:
  30282. (WebCore::LayoutState::LayoutState):
  30283. * rendering/RenderBlock.cpp:
  30284. (WebCore::RenderBlock::adjustForUnsplittableChild):
  30285. * rendering/RenderBox.cpp:
  30286. (WebCore::RenderBox::hasUnsplittableScrollingOverflow):
  30287. * rendering/RenderBox.h:
  30288. 2011-08-30 Antti Koivisto <antti@apple.com>
  30289. querySelector/querySelectorAll should use selector checker fast path
  30290. https://bugs.webkit.org/show_bug.cgi?id=67161
  30291. Reviewed by Sam Weinig.
  30292. Descendant and child selectors can be matches substantially faster using
  30293. SelectorChecker::fastCheckSelector() path. Currently it is used for style matching only.
  30294. Add SelectorQuery class that can do both querySelector and querySelectorAll efficiently using
  30295. fast path. Use inlined loop for DOM traversal.
  30296. The patch is ~25% speedup in the overall native score of http://www.webkit.org/perf/slickspeed/.
  30297. Some individual subtests (using child or descendant selectors) execute twice as fast.
  30298. * CMakeLists.txt:
  30299. * GNUmakefile.list.am:
  30300. * WebCore.gypi:
  30301. * WebCore.pro:
  30302. * WebCore.vcproj/WebCore.vcproj:
  30303. * WebCore.xcodeproj/project.pbxproj:
  30304. * css/CSSStyleSelector.cpp:
  30305. (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
  30306. (WebCore::CSSStyleSelector::SelectorChecker::isFastCheckableSelector):
  30307. (WebCore::RuleData::RuleData):
  30308. * css/CSSStyleSelector.h:
  30309. Make fast path checking available outside CSSStyleSelector.
  30310. * dom/DOMAllInOne.cpp:
  30311. * dom/Node.cpp:
  30312. (WebCore::Node::querySelector):
  30313. (WebCore::Node::querySelectorAll):
  30314. Switch to SelectorQuery.
  30315. * dom/SelectorNodeList.cpp: Removed.
  30316. * dom/SelectorNodeList.h: Removed.
  30317. SelectorQuery makes these obsolete.
  30318. * dom/SelectorQuery.cpp: Added.
  30319. (WebCore::SelectorQuery::SelectorQuery):
  30320. (WebCore::SelectorQuery::queryAll):
  30321. (WebCore::SelectorQuery::queryFirst):
  30322. (WebCore::SelectorQuery::canUseIdLookup):
  30323. (WebCore::SelectorQuery::execute):
  30324. * dom/SelectorQuery.h: Added.
  30325. Class for selector matching in tree.
  30326. 2011-08-30 Dmitry Titov <dimich@chromium.org>
  30327. REGRESSION (r93913): Failures in fast/replaced/frame-removed-during-resize.html and scrollbars/scrollable-iframe-remove-crash.html
  30328. https://bugs.webkit.org/show_bug.cgi?id=67074
  30329. Reviewed by Darin Adler.
  30330. Added flag m_isClosed to prevent events that cause Frame to be destroyed
  30331. from posting more events into EventQueue of a dying Document.
  30332. The tests mentioned above should now pass.
  30333. * dom/Document.cpp:
  30334. (WebCore::Document::detach):
  30335. * dom/EventQueue.cpp:
  30336. (WebCore::EventQueue::EventQueue):
  30337. (WebCore::EventQueue::enqueueEvent):
  30338. (WebCore::EventQueue::close): Renamed method to reflect better what it does.
  30339. * dom/EventQueue.h:
  30340. 2011-08-30 Tony Chang <tony@chromium.org>
  30341. Fix compile warning on clang:
  30342. error: 'WebKit::ChromeClientImpl::scrollRectIntoView' hides overloaded virtual function [-Werror,-Woverloaded-virtual]
  30343. virtual void scrollRectIntoView(
  30344. ^
  30345. ../../WebCore/page/ChromeClient.h:171:22: note: hidden overloaded virtual function 'WebCore::ChromeClient::scrollRectIntoView' declared here
  30346. virtual void scrollRectIntoView(const IntRect&) { }; // Currently only Mac has a non empty implementation.
  30347. * page/ChromeClient.h:
  30348. (WebCore::ChromeClient::scrollRectIntoView):
  30349. 2011-08-30 David Hyatt <hyatt@apple.com>
  30350. <rdar://problem/8832814> With large line-height, column break can happen anywhere in the
  30351. inter-line gap, causing staggered lines.
  30352. https://bugs.webkit.org/show_bug.cgi?id=67202 Handle positive leading when paginating lines.
  30353. Technically we should paginate lines based solely off their line top and line bottom with
  30354. leading included. However there are two issues with always doing so. The first is that overflow
  30355. can cause lines to overlap, and the second is that negative leading can cause lines to overlap.
  30356. Since we're incapable of dealing with overlap until we stop clipping column boxes and allow them
  30357. to have a form of specialized overflow, we still have to at least factor in overflow and ignore
  30358. negative leading for now. However we can at least honor positive leading when the lines don't
  30359. overlap. This patch provides basic support for paginating when positive leading is involved.
  30360. Reviewed by Dan Bernstein.
  30361. Added fast/multicol/positive-leading.html.
  30362. * rendering/RenderBlock.cpp:
  30363. (WebCore::RenderBlock::markLinesDirtyInBlockRange):
  30364. Renamed blockLogicalHeight() to lineBottomWithLeading(). The value is the same.
  30365. (WebCore::RenderBlock::adjustLinePositionForPagination):
  30366. Grow the top and extent of the line to include our leading when deciding how to paginate
  30367. the line.
  30368. * rendering/RenderBlockLineLayout.cpp:
  30369. (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
  30370. (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
  30371. (WebCore::RenderBlock::linkToEndLineIfNeeded):
  30372. (WebCore::RenderBlock::checkFloatsInCleanLine):
  30373. (WebCore::RenderBlock::determineStartPosition):
  30374. (WebCore::RenderBlock::determineEndPosition):
  30375. (WebCore::RenderBlock::matchedEndLine):
  30376. Renamed blockLogicalHeight() to lineBottomWithLeading(). The value is the same.
  30377. * rendering/RootInlineBox.cpp:
  30378. (WebCore::RootInlineBox::RootInlineBox):
  30379. (WebCore::RootInlineBox::adjustPosition):
  30380. (WebCore::RootInlineBox::alignBoxesInBlockDirection):
  30381. * rendering/RootInlineBox.h:
  30382. (WebCore::RootInlineBox::lineTopWithLeading):
  30383. (WebCore::RootInlineBox::lineBottomWithLeading):
  30384. (WebCore::RootInlineBox::setLineTopBottomPositions):
  30385. Instead of one member variable, blockLogicalHeight(), RootInlineBoxes now know both their top and
  30386. bottom including leading. These values are obtainable using lineTopWithLeading() and lineBottomWithLeading().
  30387. Add these two values to the setLineTopBottomPositions setter and remove setBlockLogicalHeight.
  30388. * rendering/svg/SVGRootInlineBox.cpp:
  30389. (WebCore::SVGRootInlineBox::layoutRootBox):
  30390. Renamed blockLogicalHeight() to lineBottomWithLeading(). The value is the same.
  30391. 2011-08-29 Chris Marrin <cmarrin@apple.com>
  30392. Rename GraphicsContext3DInternal to GraphicsContext3DPrivate and add a dummy version of this class for Mac
  30393. https://bugs.webkit.org/show_bug.cgi?id=67172
  30394. Reviewed by Kenneth Russell.
  30395. * GNUmakefile.list.am:
  30396. * platform/graphics/GraphicsContext3D.h:
  30397. * platform/graphics/chromium/Extensions3DChromium.h:
  30398. * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
  30399. (WebCore::GraphicsContext3D::create):
  30400. (WebCore::GraphicsContext3D::GraphicsContext3D):
  30401. (WebCore::GraphicsContext3D::~GraphicsContext3D):
  30402. (WebCore::GraphicsContext3D::makeContextCurrent):
  30403. (WebCore::GraphicsContext3D::platformGraphicsContext3D):
  30404. * platform/graphics/gtk/GraphicsContext3DInternal.h: Removed.
  30405. * platform/graphics/gtk/GraphicsContext3DPrivate.h: Copied from Source/WebCore/platform/graphics/gtk/GraphicsContext3DInternal.h.
  30406. * platform/graphics/mac/GraphicsContext3DMac.mm:
  30407. (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
  30408. (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
  30409. (WebCore::GraphicsContext3D::GraphicsContext3D):
  30410. * platform/graphics/qt/GraphicsContext3DQt.cpp:
  30411. (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
  30412. (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
  30413. (WebCore::GraphicsContext3DPrivate::getViewportGLWidget):
  30414. (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
  30415. (WebCore::GraphicsContext3DPrivate::boundingRect):
  30416. (WebCore::GraphicsContext3DPrivate::paint):
  30417. (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebuffer):
  30418. (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebufferAndRestoreContext):
  30419. (WebCore::GraphicsContext3D::create):
  30420. (WebCore::GraphicsContext3D::GraphicsContext3D):
  30421. (WebCore::GraphicsContext3D::~GraphicsContext3D):
  30422. (WebCore::GraphicsContext3D::platformGraphicsContext3D):
  30423. (WebCore::GraphicsContext3D::platformLayer):
  30424. (WebCore::GraphicsContext3D::makeContextCurrent):
  30425. (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
  30426. (WebCore::GraphicsContext3D::reshape):
  30427. (WebCore::GraphicsContext3D::activeTexture):
  30428. (WebCore::GraphicsContext3D::attachShader):
  30429. (WebCore::GraphicsContext3D::getAttachedShaders):
  30430. (WebCore::GraphicsContext3D::bindAttribLocation):
  30431. (WebCore::GraphicsContext3D::bindBuffer):
  30432. (WebCore::GraphicsContext3D::bindFramebuffer):
  30433. (WebCore::GraphicsContext3D::bindRenderbuffer):
  30434. (WebCore::GraphicsContext3D::bindTexture):
  30435. (WebCore::GraphicsContext3D::blendColor):
  30436. (WebCore::GraphicsContext3D::blendEquation):
  30437. (WebCore::GraphicsContext3D::blendEquationSeparate):
  30438. (WebCore::GraphicsContext3D::blendFunc):
  30439. (WebCore::GraphicsContext3D::blendFuncSeparate):
  30440. (WebCore::GraphicsContext3D::bufferData):
  30441. (WebCore::GraphicsContext3D::bufferSubData):
  30442. (WebCore::GraphicsContext3D::checkFramebufferStatus):
  30443. (WebCore::GraphicsContext3D::clearColor):
  30444. (WebCore::GraphicsContext3D::clear):
  30445. (WebCore::GraphicsContext3D::clearDepth):
  30446. (WebCore::GraphicsContext3D::clearStencil):
  30447. (WebCore::GraphicsContext3D::colorMask):
  30448. (WebCore::GraphicsContext3D::compileShader):
  30449. (WebCore::GraphicsContext3D::copyTexImage2D):
  30450. (WebCore::GraphicsContext3D::copyTexSubImage2D):
  30451. (WebCore::GraphicsContext3D::cullFace):
  30452. (WebCore::GraphicsContext3D::depthFunc):
  30453. (WebCore::GraphicsContext3D::depthMask):
  30454. (WebCore::GraphicsContext3D::depthRange):
  30455. (WebCore::GraphicsContext3D::detachShader):
  30456. (WebCore::GraphicsContext3D::disable):
  30457. (WebCore::GraphicsContext3D::disableVertexAttribArray):
  30458. (WebCore::GraphicsContext3D::drawArrays):
  30459. (WebCore::GraphicsContext3D::drawElements):
  30460. (WebCore::GraphicsContext3D::enable):
  30461. (WebCore::GraphicsContext3D::enableVertexAttribArray):
  30462. (WebCore::GraphicsContext3D::finish):
  30463. (WebCore::GraphicsContext3D::flush):
  30464. (WebCore::GraphicsContext3D::framebufferRenderbuffer):
  30465. (WebCore::GraphicsContext3D::framebufferTexture2D):
  30466. (WebCore::GraphicsContext3D::frontFace):
  30467. (WebCore::GraphicsContext3D::generateMipmap):
  30468. (WebCore::GraphicsContext3D::getActiveAttrib):
  30469. (WebCore::GraphicsContext3D::getActiveUniform):
  30470. (WebCore::GraphicsContext3D::getAttribLocation):
  30471. (WebCore::GraphicsContext3D::getError):
  30472. (WebCore::GraphicsContext3D::getString):
  30473. (WebCore::GraphicsContext3D::hint):
  30474. (WebCore::GraphicsContext3D::isBuffer):
  30475. (WebCore::GraphicsContext3D::isEnabled):
  30476. (WebCore::GraphicsContext3D::isFramebuffer):
  30477. (WebCore::GraphicsContext3D::isProgram):
  30478. (WebCore::GraphicsContext3D::isRenderbuffer):
  30479. (WebCore::GraphicsContext3D::isShader):
  30480. (WebCore::GraphicsContext3D::isTexture):
  30481. (WebCore::GraphicsContext3D::lineWidth):
  30482. (WebCore::GraphicsContext3D::linkProgram):
  30483. (WebCore::GraphicsContext3D::pixelStorei):
  30484. (WebCore::GraphicsContext3D::polygonOffset):
  30485. (WebCore::GraphicsContext3D::readPixels):
  30486. (WebCore::GraphicsContext3D::releaseShaderCompiler):
  30487. (WebCore::GraphicsContext3D::renderbufferStorage):
  30488. (WebCore::GraphicsContext3D::sampleCoverage):
  30489. (WebCore::GraphicsContext3D::scissor):
  30490. (WebCore::GraphicsContext3D::shaderSource):
  30491. (WebCore::GraphicsContext3D::stencilFunc):
  30492. (WebCore::GraphicsContext3D::stencilFuncSeparate):
  30493. (WebCore::GraphicsContext3D::stencilMask):
  30494. (WebCore::GraphicsContext3D::stencilMaskSeparate):
  30495. (WebCore::GraphicsContext3D::stencilOp):
  30496. (WebCore::GraphicsContext3D::stencilOpSeparate):
  30497. (WebCore::GraphicsContext3D::texParameterf):
  30498. (WebCore::GraphicsContext3D::texParameteri):
  30499. (WebCore::GraphicsContext3D::uniform1f):
  30500. (WebCore::GraphicsContext3D::uniform1fv):
  30501. (WebCore::GraphicsContext3D::uniform2f):
  30502. (WebCore::GraphicsContext3D::uniform2fv):
  30503. (WebCore::GraphicsContext3D::uniform3f):
  30504. (WebCore::GraphicsContext3D::uniform3fv):
  30505. (WebCore::GraphicsContext3D::uniform4f):
  30506. (WebCore::GraphicsContext3D::uniform4fv):
  30507. (WebCore::GraphicsContext3D::uniform1i):
  30508. (WebCore::GraphicsContext3D::uniform1iv):
  30509. (WebCore::GraphicsContext3D::uniform2i):
  30510. (WebCore::GraphicsContext3D::uniform2iv):
  30511. (WebCore::GraphicsContext3D::uniform3i):
  30512. (WebCore::GraphicsContext3D::uniform3iv):
  30513. (WebCore::GraphicsContext3D::uniform4i):
  30514. (WebCore::GraphicsContext3D::uniform4iv):
  30515. (WebCore::GraphicsContext3D::uniformMatrix2fv):
  30516. (WebCore::GraphicsContext3D::uniformMatrix3fv):
  30517. (WebCore::GraphicsContext3D::uniformMatrix4fv):
  30518. (WebCore::GraphicsContext3D::useProgram):
  30519. (WebCore::GraphicsContext3D::validateProgram):
  30520. (WebCore::GraphicsContext3D::vertexAttrib1f):
  30521. (WebCore::GraphicsContext3D::vertexAttrib1fv):
  30522. (WebCore::GraphicsContext3D::vertexAttrib2f):
  30523. (WebCore::GraphicsContext3D::vertexAttrib2fv):
  30524. (WebCore::GraphicsContext3D::vertexAttrib3f):
  30525. (WebCore::GraphicsContext3D::vertexAttrib3fv):
  30526. (WebCore::GraphicsContext3D::vertexAttrib4f):
  30527. (WebCore::GraphicsContext3D::vertexAttrib4fv):
  30528. (WebCore::GraphicsContext3D::vertexAttribPointer):
  30529. (WebCore::GraphicsContext3D::viewport):
  30530. (WebCore::GraphicsContext3D::getBooleanv):
  30531. (WebCore::GraphicsContext3D::getBufferParameteriv):
  30532. (WebCore::GraphicsContext3D::getFloatv):
  30533. (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
  30534. (WebCore::GraphicsContext3D::getIntegerv):
  30535. (WebCore::GraphicsContext3D::getProgramiv):
  30536. (WebCore::GraphicsContext3D::getProgramInfoLog):
  30537. (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
  30538. (WebCore::GraphicsContext3D::getShaderiv):
  30539. (WebCore::GraphicsContext3D::getShaderInfoLog):
  30540. (WebCore::GraphicsContext3D::getShaderSource):
  30541. (WebCore::GraphicsContext3D::getTexParameterfv):
  30542. (WebCore::GraphicsContext3D::getTexParameteriv):
  30543. (WebCore::GraphicsContext3D::getUniformfv):
  30544. (WebCore::GraphicsContext3D::getUniformiv):
  30545. (WebCore::GraphicsContext3D::getUniformLocation):
  30546. (WebCore::GraphicsContext3D::getVertexAttribfv):
  30547. (WebCore::GraphicsContext3D::getVertexAttribiv):
  30548. (WebCore::GraphicsContext3D::getVertexAttribOffset):
  30549. (WebCore::GraphicsContext3D::texImage2D):
  30550. (WebCore::GraphicsContext3D::texSubImage2D):
  30551. (WebCore::GraphicsContext3D::createBuffer):
  30552. (WebCore::GraphicsContext3D::createFramebuffer):
  30553. (WebCore::GraphicsContext3D::createProgram):
  30554. (WebCore::GraphicsContext3D::createRenderbuffer):
  30555. (WebCore::GraphicsContext3D::createShader):
  30556. (WebCore::GraphicsContext3D::createTexture):
  30557. (WebCore::GraphicsContext3D::deleteBuffer):
  30558. (WebCore::GraphicsContext3D::deleteFramebuffer):
  30559. (WebCore::GraphicsContext3D::deleteProgram):
  30560. (WebCore::GraphicsContext3D::deleteRenderbuffer):
  30561. (WebCore::GraphicsContext3D::deleteShader):
  30562. (WebCore::GraphicsContext3D::deleteTexture):
  30563. 2011-08-30 Tony Chang <tony@chromium.org>
  30564. Remove webcore_bindings (including DerivedSources##.cpp) from the critical path
  30565. https://bugs.webkit.org/show_bug.cgi?id=67168
  30566. Reviewed by Adam Barth.
  30567. webcore_bindings_sources generates various files (e.g., CSSPropertyNames,
  30568. DerivedSources, HTMLNames, etc). webcore_bindings depends on webcore_bindings_sources
  30569. and compiles these files. Previously, the other webcore libs (webcore_svg,
  30570. webcore_html, webcore_remaining, etc) depended on webcore_bindings. This changes the
  30571. dependency on webocre_bindings_sources so the build can parallelize the compile of
  30572. webcore_bindings and the other webcore_* libs.
  30573. No new tests, just changing the build dependencies. Manually copy over the
  30574. include dirs that we used to get from webcore_bindings' direct_dependent_settings.
  30575. * WebCore.gyp/WebCore.gyp:
  30576. 2011-08-30 Kaustubh Atrawalkar <kaustubh@motorola.com>
  30577. The unused ScrollView* argument can and should be removed from
  30578. scrollRectIntoView.
  30579. https://bugs.webkit.org/show_bug.cgi?id=67117
  30580. Reviewed by Darin Adler.
  30581. * loader/EmptyClients.h:
  30582. (WebCore::EmptyChromeClient::scrollRectIntoView):
  30583. * page/Chrome.cpp:
  30584. (WebCore::Chrome::scrollRectIntoView):
  30585. * page/ChromeClient.h:
  30586. (WebCore::ChromeClient::scrollRectIntoView):
  30587. 2011-08-30 Ben Wells <benwells@chromium.org>
  30588. Update registerProtocolHandler scheme whitelist to match spec
  30589. https://bugs.webkit.org/show_bug.cgi?id=67104
  30590. Reviewed by Darin Adler.
  30591. * page/Navigator.cpp:
  30592. (WebCore::initProtocolHandlerWhitelist):
  30593. 2011-08-30 Vsevolod Vlasov <vsevik@chromium.org>
  30594. Web Inspector: Inspected page sometimes crashes in InspectorResourceAgent::didFailLoading
  30595. https://bugs.webkit.org/show_bug.cgi?id=67193
  30596. Reviewed by Pavel Feldman.
  30597. * inspector/InspectorResourceAgent.cpp:
  30598. (WebCore::InspectorResourceAgent::didFailLoading):
  30599. 2011-08-30 Ademar de Souza Reis Jr. <ademar.reis@openbossa.org>
  30600. [Qt] Do not unconditionally use pkg-config in .pro files
  30601. https://bugs.webkit.org/show_bug.cgi?id=67055
  30602. Reviewed by Andreas Kling.
  30603. Original patch from Rohan McGovern <rohan.mcgovern@nokia.com>
  30604. Using the first pkg-config in PATH is prone to errors when cross
  30605. compiling inside the Qt repository (using Qt's build-system).
  30606. This patch protect calls for pkg-config with
  30607. !contains(QT_CONFIG, no-pkg-config). no-pkg-config is added to
  30608. QT_CONFIG by Qt's 'configure' when cross-compiling on systems
  30609. without pkg-config.
  30610. The respective change in Qt's configure has been submited already.
  30611. No new tests as this is just a build change.
  30612. * features.pri: protect pkg-config calls
  30613. 2011-08-30 Andreas Kling <kling@webkit.org>
  30614. HTMLImageElement: Don't cache "ismap" and "usemap" attributes.
  30615. https://bugs.webkit.org/show_bug.cgi?id=66784
  30616. Reviewed by Darin Adler.
  30617. * html/HTMLImageElement.h: Remove the "ismap" and "usemap" members,
  30618. shrinking HTMLImageElement by 16 bytes (on 64-bit.)
  30619. * html/HTMLImageElement.cpp:
  30620. (WebCore::HTMLImageElement::HTMLImageElement):
  30621. (WebCore::HTMLImageElement::parseMappedAttribute): Most of the logic
  30622. for "ismap" and "usemap" moved into isServerMap().
  30623. (WebCore::HTMLImageElement::isServerMap): Out-of-lined and implemented
  30624. using fast*Attribute().
  30625. 2011-08-30 Ryosuke Niwa <rniwa@webkit.org>
  30626. lastChangeWasUserEdit continues to return true when innerText or textContent is modified
  30627. https://bugs.webkit.org/show_bug.cgi?id=67183
  30628. Reviewed by Kent Tamura.
  30629. Fixed the bug by calling setLastChangeWasNotUserEdit in HTMLTextAreaElement::childrenChanged.
  30630. Also got rid of HTMLTextFormControlElement::subtreeHasChanged because it was a needless indirection.
  30631. * html/HTMLInputElement.cpp:
  30632. (WebCore::HTMLInputElement::subtreeHasChanged): No longer calls HTMLTextFormControlElement::subtreeHasChanged.
  30633. * html/HTMLTextAreaElement.cpp:
  30634. (WebCore::HTMLTextAreaElement::childrenChanged): Calls setLastChangeWasNotUserEdit.
  30635. (WebCore::HTMLTextAreaElement::subtreeHasChanged): No longer calls HTMLTextFormControlElement::subtreeHasChanged.
  30636. * html/HTMLTextFormControlElement.cpp:
  30637. (WebCore::HTMLTextFormControlElement::defaultEventHandler): Merged subtreeHasChanged.
  30638. (WebCore::HTMLTextFormControlElement::setInnerTextValue): No longer set m_lastChangeWasUserEdit to false
  30639. since this is now done when renderers are set dirty.
  30640. * html/HTMLTextFormControlElement.h: Made subtreeHasChanged a pure virtual function.
  30641. 2011-08-29 Yury Semikhatsky <yurys@chromium.org>
  30642. Web Inspector: wrong script display name when there is a slash in its URL query parameters
  30643. https://bugs.webkit.org/show_bug.cgi?id=67120
  30644. Fixed folder name computation in ScriptsPanel. Now search query is ignored
  30645. when searching for the script folder name.
  30646. Reviewed by Pavel Feldman.
  30647. * inspector/front-end/ScriptsPanel.js:
  30648. (WebInspector.ScriptsPanel.prototype._folderAndDisplayNameForScriptURL):
  30649. 2011-08-29 Yury Semikhatsky <yurys@chromium.org>
  30650. Return value of window.onerror has inverted semantics
  30651. https://bugs.webkit.org/show_bug.cgi?id=67119
  30652. Error is now treated as handled only when window.onerror function returns true.
  30653. Reviewed by Darin Adler.
  30654. Test: fast/events/window-onerror13.html
  30655. * bindings/js/JSErrorHandler.cpp:
  30656. (WebCore::JSErrorHandler::handleEvent):
  30657. * bindings/v8/V8WindowErrorHandler.cpp:
  30658. (WebCore::V8WindowErrorHandler::callListenerFunction):
  30659. * bindings/v8/V8WorkerContextErrorHandler.cpp:
  30660. (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
  30661. 2011-08-29 Ryosuke Niwa <rniwa@webkit.org>
  30662. Touch Internals.cpp in an attempt to fix GTK+ build.
  30663. * testing/Internals.cpp:
  30664. 2011-08-29 Ryosuke Niwa <rniwa@webkit.org>
  30665. Move setInnerTextValue from RenderTextControl to HTMLTextFormControlElement
  30666. https://bugs.webkit.org/show_bug.cgi?id=67152
  30667. Reviewed by Darin Adler.
  30668. Moved setInnerTextValue from RenderTextControl to HTMLTextFormControlElement.
  30669. Also moved m_lastChangeWasUserEdit from RenderTextControl to HTMLTextFormControlElement
  30670. and related inline functions from RenderTextControl to HTMLTextFormControlElement.
  30671. Because m_lastChangeWasUserEdit is no longer reset when RenderTextControl is recreated,
  30672. added explicit calls to setLastChangeWasNotUserEdit in setValue functions of HTMLInputElement
  30673. and HTMLTextAreaElement.
  30674. This patch also fixes the bug that lastChangeWasUserEdit() incorrectly returns false
  30675. when input or textarea don't have renderer (e.g. invisible).
  30676. Unfortunately, there is no way to test this behavioral change from layout tests.
  30677. * WebCore.exp.in: Exports lastChangeWasUserEdit in HTMLTextFormControlElement instead of
  30678. that of HTMLInputElement and HTMLTextAreaElement.
  30679. * html/HTMLInputElement.cpp:
  30680. (WebCore::HTMLInputElement::setValue): Explicitly calls setLastChangeWasNotUserEdit.
  30681. * html/HTMLInputElement.h:
  30682. * html/HTMLTextAreaElement.cpp:
  30683. (WebCore::HTMLTextAreaElement::setValueCommon): Ditto.
  30684. * html/HTMLTextAreaElement.h:
  30685. * html/HTMLTextFormControlElement.cpp:
  30686. (WebCore::HTMLTextFormControlElement::HTMLTextFormControlElement):
  30687. (WebCore::HTMLTextFormControlElement::subtreeHasChanged): Sets m_lastChangeWasUserEdit true
  30688. as it used to do via respondToChangeByUser.
  30689. (WebCore::HTMLTextFormControlElement::lastChangeWasUserEdit): Moved from HTMLInputElement
  30690. and HTMLTextAreaElement.
  30691. (WebCore::HTMLTextFormControlElement::setInnerTextValue): Moved from RenderTextControl.
  30692. * html/HTMLTextFormControlElement.h:
  30693. (WebCore::HTMLTextFormControlElement::setLastChangeWasNotUserEdit): Added.
  30694. * rendering/RenderTextControl.cpp:
  30695. (WebCore::RenderTextControl::RenderTextControl): No longer initializes m_lastChangeWasUserEdit.
  30696. * rendering/RenderTextControl.h:
  30697. * rendering/RenderTextControlSingleLine.cpp:
  30698. (WebCore::RenderTextControlSingleLine::updateFromElement): Calls setInnerTextValue.
  30699. * rendering/RenderTextControlMultiLine.cpp:
  30700. (WebCore::RenderTextControlMultiLine::updateFromElement): Ditto.
  30701. 2011-08-25 Kent Tamura <tkent@chromium.org>
  30702. REGRESSION(r88115): Disabling a file upload control causes an endless busyloop.
  30703. https://bugs.webkit.org/show_bug.cgi?id=66659
  30704. Reviewed by Darin Adler.
  30705. Test: fast/forms/file/disabling-file-busy-loop.html
  30706. * rendering/RenderFileUploadControl.cpp:
  30707. (WebCore::RenderFileUploadControl::updateFromElement):
  30708. Don't call setDisabled() if the disabled status is not changed.
  30709. setDisabled() causes styleRecalc(), and
  30710. HTMLFormControlElement::styleRecalc() causes
  30711. updateFromElement(). updateFromElement() should not call
  30712. setDisabled() again.
  30713. 2011-08-29 Daniel Bates <dbates@webkit.org>
  30714. Add HAVE(VASPRINTF) macro to test for vasprintf() support
  30715. https://bugs.webkit.org/show_bug.cgi?id=67156
  30716. Reviewed by Darin Adler.
  30717. * xml/parser/XMLDocumentParserLibxml2.cpp:
  30718. (WebCore::XMLDocumentParser::error): Modified to use HAVE(VASPRINTF).
  30719. 2011-08-29 Yuta Kitamura <yutak@chromium.org>
  30720. WebSocket: Receive binary message as Blob
  30721. https://bugs.webkit.org/show_bug.cgi?id=67115
  30722. Reviewed by Kent Tamura.
  30723. Make WebSocketChannel be able to receive WebSocket binary messages and deliver them via
  30724. didReceiveBinaryData() callback of WebSocketChannelClient.
  30725. Tests: http/tests/websocket/tests/hybi/fragmented-binary-frames.html
  30726. http/tests/websocket/tests/hybi/receive-blob.html
  30727. http/tests/websocket/tests/hybi/workers/receive-blob.html
  30728. * bindings/js/JSMessageEventCustom.cpp:
  30729. (WebCore::JSMessageEvent::data): Convert Blob to JSValue.
  30730. * bindings/v8/custom/V8MessageEventCustom.cpp:
  30731. (WebCore::V8MessageEvent::dataAccessorGetter): Convert Blob to v8::Value.
  30732. * dom/MessageEvent.cpp:
  30733. (WebCore::MessageEvent::MessageEvent):
  30734. * dom/MessageEvent.h:
  30735. Added DataTypeBlob and Blob-related functions.
  30736. (WebCore::MessageEvent::create):
  30737. (WebCore::MessageEvent::dataAsBlob):
  30738. * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
  30739. (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
  30740. (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryDataCallback):
  30741. * websockets/ThreadableWebSocketChannelClientWrapper.h:
  30742. * websockets/WebSocket.cpp:
  30743. (WebCore::WebSocket::didReceiveBinaryData):
  30744. If binaryType attribute is "blob", construct a Blob using BlobData filled with the given
  30745. binary message.
  30746. * websockets/WebSocket.h:
  30747. * websockets/WebSocketChannel.cpp:
  30748. (WebCore::WebSocketChannel::processFrame):
  30749. Create continuousFrameData as OwnPtr<> rather than stack-allocated value so we can easily
  30750. pass it to didReceiveBinaryData() callback.
  30751. Save the content of a fragmented message even if it is a binary opcode.
  30752. * websockets/WebSocketChannelClient.h:
  30753. (WebCore::WebSocketChannelClient::didReceiveBinaryData):
  30754. * websockets/WorkerThreadableWebSocketChannel.cpp:
  30755. (WebCore::workerContextDidReceiveBinaryData):
  30756. (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
  30757. Pass binaryData as PassOwnPtr<Vector<char> > to deliver the value efficiently (without
  30758. copying the content) across threads.
  30759. * websockets/WorkerThreadableWebSocketChannel.h:
  30760. 2011-08-29 Ryosuke Niwa <rniwa@webkit.org>
  30761. Add a test for lastChangeWasUserEdit in HTMLInputElement and HTMLTextAreaElement
  30762. https://bugs.webkit.org/show_bug.cgi?id=67173
  30763. Reviewed by Darin Adler.
  30764. Exposed HTMLInputElement::lastChangeWasUserEdit and HTMLTextAreaElement::lastChangeWasUserEdit
  30765. via internals.wasLastChangeUserEdit(Element*, ExceptionCode&). The first argument must be
  30766. an input element or a textarea element lastChangeWasUserEdit is called upon.
  30767. Test: fast/forms/textfield-lastchange-was-useredit.html
  30768. * testing/Internals.cpp:
  30769. (WebCore::Internals::wasLastChangeUserEdit):
  30770. * testing/Internals.h:
  30771. * testing/Internals.idl:
  30772. 2011-08-29 Luke Macpherson <macpherson@chromium.org>
  30773. Implement CSSPropertyWebkitColumns in CSSStyleApplyProperty.
  30774. https://bugs.webkit.org/show_bug.cgi?id=67106
  30775. Reviewed by Darin Adler.
  30776. Tests:
  30777. LayoutTests/fast/multicol/inherit-column-values.html
  30778. LayoutTests/fast/multicol/initial-column-values.html
  30779. * css/CSSStyleApplyProperty.cpp:
  30780. (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
  30781. Initialize handler for CSSPropertyWebkitColumns.
  30782. * css/CSSStyleSelector.cpp:
  30783. (WebCore::CSSStyleSelector::applyProperty):
  30784. Remove existing implementation for CSSPropertyWebkitColumns.
  30785. 2011-08-29 Mark Hahnenberg <mhahnenberg@apple.com>
  30786. Unzip initialization lists and constructors in JSCell hierarchy (3/7)
  30787. https://bugs.webkit.org/show_bug.cgi?id=67064
  30788. Reviewed by Darin Adler.
  30789. No new tests.
  30790. Completed the third level of the refactoring to add finishCreation()
  30791. methods to all classes within the JSCell hierarchy with non-trivial
  30792. constructor bodies.
  30793. This primarily consists of pushing the calls to finishCreation() down
  30794. into the constructors of the subclasses of the second level of the hierarchy
  30795. as well as pulling the finishCreation() calls out into the class's corresponding
  30796. create() method if it has one. Doing both simultaneously allows us to
  30797. maintain the invariant that the finishCreation() method chain is called exactly
  30798. once during the creation of an object, since calling it any other number of
  30799. times (0, 2, or more) will cause an assertion failure.
  30800. * bindings/js/JSDOMWindowShell.cpp:
  30801. (WebCore::JSDOMWindowShell::JSDOMWindowShell):
  30802. (WebCore::JSDOMWindowShell::finishCreation):
  30803. * bindings/js/JSDOMWindowShell.h:
  30804. 2011-08-29 John Bauman <jbauman@chromium.org>
  30805. Speed up texImage from BGRA
  30806. https://bugs.webkit.org/show_bug.cgi?id=66884
  30807. Reviewed by Kenneth Russell.
  30808. BGRA input is common coming from skia, so optimize BGRA->RGBA
  30809. conversion and also avoid the pointless RGBA to RGBA conversion.
  30810. * platform/graphics/GraphicsContext3D.cpp:
  30811. (WebCore::doUnpackingAndPacking):
  30812. 2011-08-29 Matthew Delaney <mdelaney@apple.com>
  30813. [CG] ImageBufferCG should handle IOSurface allocation failure gracefully
  30814. https://bugs.webkit.org/show_bug.cgi?id=67099
  30815. Reviewed by Simon Fraser.
  30816. No new tests. Testing the "fallback to old path" behavior is not easily testable.
  30817. * platform/graphics/cg/ImageBufferCG.cpp: Rearranged backing store creation to fall back to
  30818. old path if IOSurface creation path fails.
  30819. (WebCore::ImageBuffer::ImageBuffer):
  30820. 2011-08-29 Cary Clark <caryclark@google.com>
  30821. Only enable font smoothing as requested (Skia on Mac)
  30822. https://bugs.webkit.org/show_bug.cgi?id=67143
  30823. This adjusts LayoutTest pixel output to more closely
  30824. match other platforms.
  30825. Reviewed by Kenneth Russell.
  30826. No new tests. This platform is not yet enabled.
  30827. * platform/graphics/skia/FontSkia.cpp:
  30828. (WebCore::setupPaint):
  30829. LCD text was always enabled to test the code path. With this change,
  30830. it is only enabled when instructed by the font state.
  30831. 2011-08-29 Julien Chaffraix <jchaffraix@webkit.org>
  30832. Assertion failure in RenderLayer::computeRepaintRects when scrolling
  30833. https://bugs.webkit.org/show_bug.cgi?id=67140
  30834. Reviewed by David Hyatt.
  30835. Test: fast/repaint/scroll-fixed-layer-with-no-visible-content.html
  30836. * rendering/RenderLayer.cpp:
  30837. (WebCore::RenderLayer::computeRepaintRects): Fixed style after r93837.
  30838. (WebCore::RenderLayer::updateLayerPositionsAfterScroll): Tweaked the code
  30839. to bail early if our layer has no visible content. This avoids the ASSERT
  30840. and also makes sense as we shouldn't repaint / update empty layers.
  30841. 2011-08-29 Anna Cavender <annacc@chromium.org>
  30842. Implement WebVTT Cue Text Parsing rules and DOM construction
  30843. https://bugs.webkit.org/show_bug.cgi?id=64132
  30844. Reviewed by Adam Barth.
  30845. Tests in media/track, particularly track-webvtt-tc[022 - 028]*.
  30846. * CMakeLists.txt:
  30847. * GNUmakefile.list.am:
  30848. * WebCore.gypi:
  30849. * WebCore.pro:
  30850. * WebCore.xcodeproj/project.pbxproj:
  30851. * html/TextTrackCue.cpp:
  30852. * html/TextTrackCue.h:
  30853. * platform/track/CueParser.cpp:
  30854. * platform/track/CueParser.h:
  30855. * platform/track/WebVTTParser.cpp:
  30856. * platform/track/WebVTTParser.h:
  30857. * platform/track/WebVTTToken.h: Added.
  30858. * platform/track/WebVTTTokenizer.cpp: Added.
  30859. * platform/track/WebVTTTokenizer.h: Added.
  30860. 2011-08-29 Patrick Gansterer <paroga@webkit.org>
  30861. Add parsing support for extended attributes on IDL constants
  30862. https://bugs.webkit.org/show_bug.cgi?id=65046
  30863. Reviewed by Brent Fulgham.
  30864. With support for extended attributes on constants we can
  30865. replace some preprocessor lines from the IDL files with
  30866. the corresponding [Conditional=XXX] later.
  30867. Using the preprocessor causes much pain on native windows.
  30868. CodeGenerator support will be added in separate patches.
  30869. * bindings/scripts/IDLParser.pm:
  30870. * bindings/scripts/IDLStructure.pm:
  30871. 2011-08-29 Ryosuke Niwa <rniwa@webkit.org>
  30872. Cleanup: notifyFormStateChanged, formControlValueMatchesRenderer, and setFormControlValueMatchesRenderer
  30873. https://bugs.webkit.org/show_bug.cgi?id=67141
  30874. Reviewed by Eric Seidel.
  30875. No new tests since this is a refactoring.
  30876. * dom/Element.h: Removed formControlValueMatchesRenderer and setFormControlValueMatchesRenderer.
  30877. * html/HTMLInputElement.cpp: Removed notifyFormStateChanged.
  30878. * html/HTMLInputElement.h:
  30879. * html/HTMLTextAreaElement.cpp:
  30880. (WebCore::HTMLTextAreaElement::updateValue): Calls notifyFormStateChanged; modifies m_wasModifiedByUser.
  30881. (WebCore::HTMLTextAreaElement::setValueCommon): Calls notifyFormStateChanged; also renamed value to newValue
  30882. to avoid the conflict with value().
  30883. * html/HTMLTextAreaElement.h: Made m_wasModifiedByUser mutable.
  30884. * html/HTMLTextFormControlElement.cpp:
  30885. (WebCore::HTMLTextFormControlElement::notifyFormStateChanged): Extracted from notifyFormStateChanged in
  30886. HTMLInputElement.cpp and HTMLTextAreaElement.cpp.
  30887. * html/HTMLTextFormControlElement.h:
  30888. * rendering/RenderTextControl.cpp:
  30889. (WebCore::RenderTextControl::setInnerTextValue): Calls setFormControlValueMatchesRenderer.
  30890. 2011-08-29 Sheriff Bot <webkit.review.bot@gmail.com>
  30891. Unreviewed, rolling out r93987, r93992, r93995, r93998, and
  30892. r93999.
  30893. http://trac.webkit.org/changeset/93987
  30894. http://trac.webkit.org/changeset/93992
  30895. http://trac.webkit.org/changeset/93995
  30896. http://trac.webkit.org/changeset/93998
  30897. http://trac.webkit.org/changeset/93999
  30898. https://bugs.webkit.org/show_bug.cgi?id=67147
  30899. Many failing tests (Requested by ap on #webkit).
  30900. * WebCore.exp.in:
  30901. * platform/mac/CookieJar.mm:
  30902. (WebCore::cookies):
  30903. (WebCore::cookieRequestHeaderFieldValue):
  30904. (WebCore::setCookies):
  30905. (WebCore::cookiesEnabled):
  30906. (WebCore::getRawCookies):
  30907. (WebCore::deleteCookie):
  30908. * platform/network/CookieStorage.h:
  30909. * platform/network/ResourceHandle.cpp:
  30910. (WebCore::privateStorageSession):
  30911. (WebCore::privateBrowsingStorageSessionIdentifierBase):
  30912. (WebCore::ResourceHandle::setPrivateBrowsingEnabled):
  30913. (WebCore::ResourceHandle::privateBrowsingStorageSession):
  30914. (WebCore::ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase):
  30915. * platform/network/ResourceHandle.h:
  30916. * platform/network/cf/CookieJarCFNet.cpp:
  30917. (WebCore::setCookies):
  30918. (WebCore::cookies):
  30919. (WebCore::cookieRequestHeaderFieldValue):
  30920. (WebCore::cookiesEnabled):
  30921. (WebCore::getRawCookies):
  30922. (WebCore::deleteCookie):
  30923. (WebCore::getHostnamesWithCookies):
  30924. (WebCore::deleteCookiesForHostname):
  30925. (WebCore::deleteAllCookies):
  30926. * platform/network/cf/CookieStorageCFNet.cpp:
  30927. (WebCore::privateBrowsingCookieStorage):
  30928. (WebCore::defaultSessionCookieStorage):
  30929. (WebCore::defaultCookieStorage):
  30930. (WebCore::currentCookieStorage):
  30931. (WebCore::setCurrentCookieStorage):
  30932. (WebCore::setCookieStoragePrivateBrowsingEnabled):
  30933. (WebCore::startObservingCookieChanges):
  30934. (WebCore::stopObservingCookieChanges):
  30935. * platform/network/cf/CookieStorageCFNet.h:
  30936. * platform/network/cf/ResourceHandleCFNet.cpp:
  30937. (WebCore::makeFinalRequest):
  30938. (WebCore::ResourceHandle::createPrivateBrowsingStorageSession):
  30939. (WebCore::ResourceHandle::privateBrowsingStorageSessionIdentifierDefaultBase):
  30940. (WebCore::ResourceHandle::currentStorageSession):
  30941. (WebCore::defaultCFURLStorageSession):
  30942. (WebCore::ResourceHandle::setDefaultStorageSession):
  30943. (WebCore::ResourceHandle::defaultStorageSession):
  30944. * platform/network/mac/CookieStorageMac.mm:
  30945. (WebCore::setCookieStoragePrivateBrowsingEnabled):
  30946. * platform/network/mac/ResourceHandleMac.mm:
  30947. (WebCore::shouldRelaxThirdPartyCookiePolicy):
  30948. (WebCore::ResourceHandle::createPrivateBrowsingStorageSession):
  30949. 2011-08-29 Nayan Kumar K <nayankk@motorola.com>
  30950. As per HTML specification, default font style of dfn tag should be italic.
  30951. https://bugs.webkit.org/show_bug.cgi?id=56670
  30952. Reviewed by Adam Barth.
  30953. Test: fast/css/dfn-default-font-style.html
  30954. * css/html.css:
  30955. (i, cite, em, var, address, dfn):
  30956. 2011-08-29 Patrick Gansterer <paroga@webkit.org>
  30957. Consider Conditional attribute in CodeGeneratorJS' JSValueToNative and NativeToJSValue function
  30958. https://bugs.webkit.org/show_bug.cgi?id=65040
  30959. Reviewed by Brent Fulgham.
  30960. JSValueToNative and NativeToJSValue add additional include statements
  30961. to the implementation and need to handle the Conditional attribute from
  30962. the IDL file. The Conditional attribute adds appropriate #if ENABLE()
  30963. lines for the preprocessor around the include statements to remove
  30964. some unneeded build dependencies.
  30965. * bindings/scripts/CodeGeneratorJS.pm:
  30966. 2011-08-29 Nate Chapin <japhet@chromium.org>
  30967. Plumb ResourceLoaderOptions out to CachedResourceLoader::requestResource().
  30968. This will be needed in order for DocumentThreadableLoader to become a CachedResourceClient.
  30969. https://bugs.webkit.org/show_bug.cgi?id=66018
  30970. Reviewed by Antti Koivisto.
  30971. No new tests, refactor only.
  30972. * loader/cache/CachedImage.cpp:
  30973. (WebCore::CachedImage::load):
  30974. * loader/cache/CachedResource.cpp:
  30975. (WebCore::CachedResource::CachedResource):
  30976. (WebCore::CachedResource::load):
  30977. * loader/cache/CachedResource.h:
  30978. (WebCore::CachedResource::load):
  30979. (WebCore::CachedResource::setResourceLoaderOptions):
  30980. (WebCore::CachedResource::sendResourceLoadCallbacks):
  30981. * loader/cache/CachedResourceLoader.cpp:
  30982. (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
  30983. (WebCore::CachedResourceLoader::requestResource):
  30984. (WebCore::CachedResourceLoader::loadResource):
  30985. * loader/cache/CachedResourceLoader.h:
  30986. * loader/cache/CachedResourceRequest.cpp:
  30987. (WebCore::CachedResourceRequest::load):
  30988. * loader/cache/CachedResourceRequest.h:
  30989. 2011-08-29 Chris Palmer <palmer@google.com>
  30990. Fix failures when FFT size is changed.
  30991. https://bugs.webkit.org/show_bug.cgi?id=66916
  30992. Reviewed by Kenneth Russell.
  30993. Test: webaudio/fft-sizing.html
  30994. * webaudio/RealtimeAnalyser.cpp:
  30995. (WebCore::RealtimeAnalyser::setFftSize): Assert size sanity.
  30996. (WebCore::RealtimeAnalyser::doFFTAnalysis): Iterate the correct number of times over magnitudeBuffer.
  30997. * webaudio/RealtimeAnalyser.h: Put member fields in the correct order (Min before Max).
  30998. 2011-08-29 Abhishek Arya <inferno@chromium.org>
  30999. Crash in InlineBox::deleteLine due to accessing removed
  31000. renderer.
  31001. https://bugs.webkit.org/show_bug.cgi?id=66015
  31002. Reviewed by Simon Fraser.
  31003. Test: fast/block/line-layout/inline-box-wrapper-crash.html
  31004. * rendering/RenderBox.cpp:
  31005. (WebCore::RenderBox::positionLineBox): Make sure that the
  31006. previous inline box wrapper is destroyed properly, before
  31007. setting a new one.
  31008. 2011-08-29 Alexey Proskuryakov <ap@apple.com>
  31009. Lion build fix.
  31010. * WebCore.exp.in: We have different definitions of CFURLStorageSessionRef on different versions
  31011. of Mac OS X, and need separate exports.
  31012. 2011-08-29 Tony Chang <tony@chromium.org>
  31013. Implement -webkit-flex-pack for horizontal flexboxen
  31014. https://bugs.webkit.org/show_bug.cgi?id=66898
  31015. Reviewed by Ojan Vafai.
  31016. Test: css3/flexbox/004.html
  31017. * rendering/RenderFlexibleBox.cpp:
  31018. (WebCore::RenderFlexibleBox::layoutHorizontalBlock):
  31019. (WebCore::hasPackingSpace):
  31020. (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmHorizontal):
  31021. 2011-08-29 Alexey Proskuryakov <ap@apple.com>
  31022. Windows build fix.
  31023. * platform/network/cf/CookieJarCFNet.cpp:
  31024. (WebCore::setCookies):
  31025. (WebCore::cookies):
  31026. (WebCore::cookieRequestHeaderFieldValue):
  31027. (WebCore::cookiesEnabled):
  31028. (WebCore::getRawCookies):
  31029. (WebCore::deleteCookie):
  31030. (WebCore::getHostnamesWithCookies):
  31031. (WebCore::deleteCookiesForHostname):
  31032. (WebCore::deleteAllCookies):
  31033. Updated for new function name and signature: currentCFHTTPCookieStorage().
  31034. 2011-08-29 Alexey Proskuryakov <ap@apple.com>
  31035. Mac build fix.
  31036. * platform/network/cf/CookieStorageCFNet.cpp: Move Windows specific includes into PLATFORM(WIN).
  31037. 2011-08-29 Andreas Kling <kling@webkit.org>
  31038. Viewing a post on reddit.com wastes a lot of memory on event listeners.
  31039. https://bugs.webkit.org/show_bug.cgi?id=67133
  31040. Reviewed by Darin Adler.
  31041. Specialize the HashMap used to store registered listeners on an EventTarget
  31042. to have a minimum size of 32 (rather than the default 64.)
  31043. It's very rare for pages to register listeners for so many different events
  31044. and this cuts memory consumption in half for the common case.
  31045. As an example, for a typical post on the reddit.com front page,
  31046. this reduces memory used by ~700kB on 64-bit.
  31047. * dom/EventTarget.h:
  31048. 2011-08-29 Stephen White <senorblanco@chromium.org>
  31049. Skia's accelerated canvas 2D implementation should use GrTexture, not DrawingBuffer
  31050. https://bugs.webkit.org/show_bug.cgi?id=67050
  31051. Reviewed by Kenneth Russell.
  31052. Covered by existing tests.
  31053. * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
  31054. (WebCore::Canvas2DLayerChromium::create):
  31055. (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
  31056. (WebCore::Canvas2DLayerChromium::drawsContent):
  31057. Construct Canvas2DLayerChromium with a GraphicsContext3D, not a
  31058. DrawingBuffer.
  31059. (WebCore::Canvas2DLayerChromium::updateCompositorResources):
  31060. Flush the GrContext and GraphicsContext3D on compositor update.
  31061. * platform/graphics/chromium/Canvas2DLayerChromium.h:
  31062. * platform/graphics/chromium/CanvasLayerChromium.cpp:
  31063. (WebCore::CanvasLayerChromium::CanvasLayerChromium):
  31064. * platform/graphics/chromium/CanvasLayerChromium.h:
  31065. Put textureId() back on the base class (CanvasLayerChromium) and
  31066. de-virtualize it.
  31067. (WebCore::CanvasLayerChromium::textureId):
  31068. (WebCore::CanvasLayerChromium::setTextureId):
  31069. Move m_textureId from WebGLLayerChromium, since canvas2D now uses
  31070. it too. Provide getters and setters.
  31071. * platform/graphics/chromium/DrawingBufferChromium.cpp:
  31072. (WebCore::DrawingBuffer::DrawingBuffer):
  31073. (WebCore::DrawingBuffer::~DrawingBuffer):
  31074. Remove all Canvas2D-related calls from DrawingBuffer.
  31075. (WebCore::DrawingBuffer::publishToPlatformLayer):
  31076. Remove GrContext::flush call, since it's now handled by the platform layer.
  31077. (WebCore::DrawingBuffer::platformLayer):
  31078. Return NULL for now (WebGL may rescussitate this later).
  31079. * platform/graphics/chromium/GraphicsLayerChromium.cpp:
  31080. Remove a useless #include.
  31081. * platform/graphics/chromium/ImageBufferDataSkia.h:
  31082. Add ownership of the Canvas2DLayerChromium.
  31083. * platform/graphics/chromium/WebGLLayerChromium.cpp:
  31084. (WebCore::WebGLLayerChromium::WebGLLayerChromium):
  31085. * platform/graphics/chromium/WebGLLayerChromium.h:
  31086. Remove all texture ID stuff (now on base class).
  31087. * platform/graphics/gpu/DrawingBuffer.h:
  31088. Remove Canvas2DLayerChromium and all Ganesh datatypes from
  31089. DrawingBuffer, since it's no longer used by canvas2D.
  31090. * platform/graphics/skia/ImageBufferSkia.cpp:
  31091. (WebCore::ImageBuffer::ImageBuffer):
  31092. On accelerated ImageBuffer creation, create a GrTexture instead of a
  31093. DrawingBuffer. If all is cool, create and set the SkGpuDevice here,
  31094. and create a Canvas2DLayerChromium platform layer.
  31095. (WebCore::ImageBuffer::platformLayer):
  31096. * platform/graphics/skia/PlatformContextSkia.cpp:
  31097. (WebCore::PlatformContextSkia::setGraphicsContext3D):
  31098. * platform/graphics/skia/PlatformContextSkia.h:
  31099. Remove all GrContext creation and DrawingBuffer "scraping" from
  31100. PlatformContextSkia::setGraphicsContext3D(). This is handled in
  31101. the ImageBuffer constructor instead.
  31102. 2011-08-26 Alexey Proskuryakov <ap@apple.com>
  31103. DumpRenderTree should begin each test with an empty cookie store
  31104. https://bugs.webkit.org/show_bug.cgi?id=63545
  31105. <rdar://problem/5666907>
  31106. Reviewed by Darin Adler.
  31107. Use a clean CFURLStorageSession when this functionality is available.
  31108. * WebCore.exp.in: Added exports
  31109. * platform/mac/CookieJar.mm:
  31110. (WebCore::cookies):
  31111. (WebCore::cookieRequestHeaderFieldValue):
  31112. (WebCore::setCookies):
  31113. (WebCore::cookiesEnabled):
  31114. (WebCore::getRawCookies):
  31115. (WebCore::deleteCookie):
  31116. Updated for privateBrowsingCookieStorage->currentCFHTTPCookieStorage change.
  31117. * platform/network/CookieStorage.h: Moved CFNetwork specific declarations to CookieStorageCFNet.h.
  31118. * platform/network/ResourceHandle.cpp: Moved CFNetwork specific code to ResourceHandleCFNet.cpp.
  31119. This file contains cross platform functionality, and we no longer need to put code in it to
  31120. share it between Mac and Windows.
  31121. * platform/network/ResourceHandle.h: Expose methods to manipulate default session on Mac, too.
  31122. * platform/network/cf/CookieStorageCFNet.cpp:
  31123. (WebCore::cookieStorageOverride): Make it clear that this override is only for a Windows API.
  31124. (WebCore::overrideCookieStorage): Ditto.
  31125. (WebCore::currentCFHTTPCookieStorage): We no longer store a cookie storage in a static variable,
  31126. unless it has been overridden on Windows. We can always get it from a session.
  31127. (WebCore::setCookieStoragePrivateBrowsingEnabled): There is nothing to do here - we'll just
  31128. use private session's storage. Note that Mac has a separate code path for OS versions that
  31129. don't support sessions.
  31130. * platform/network/cf/CookieStorageCFNet.h: Changed exposed methods for more clarity.
  31131. * platform/network/cf/ResourceHandleCFNet.cpp:
  31132. (WebCore::makeFinalRequest): Updated for currentCookieStorage->currentCFHTTPCookieStorage change.
  31133. (WebCore::ResourceHandle::createPrivateBrowsingStorageSession): Moved out of USE(CFNETWORK),
  31134. as this function is also used with NSURLConnection when sessions are enabled.
  31135. (WebCore::ResourceHandle::currentStorageSession): Ditto. Removed an #if since default session
  31136. is now supported on Mac, too.
  31137. (WebCore::defaultCFURLStorageSession): Moved out of USE(CFNETWORK).
  31138. (WebCore::ResourceHandle::setDefaultStorageSession): Moved out of USE(CFNETWORK). No longer
  31139. adopt the session, because nothing in method name says that it will steal a reference from
  31140. the caller.
  31141. (WebCore::ResourceHandle::defaultStorageSession): Moved out of USE(CFNETWORK).
  31142. (WebCore::privateStorageSession): Moved from ResourceHandle.cpp.
  31143. (WebCore::privateBrowsingStorageSessionIdentifierBase): Moved from ResourceHandle.cpp.
  31144. (WebCore::ResourceHandle::setPrivateBrowsingEnabled): Moved from ResourceHandle.cpp.
  31145. (WebCore::ResourceHandle::privateBrowsingStorageSession): Moved from ResourceHandle.cpp.
  31146. (WebCore::ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase): Moved from ResourceHandle.cpp.
  31147. (WebCore::ResourceHandle::privateBrowsingStorageSessionIdentifierDefaultBase): Moved from ResourceHandle.cpp.
  31148. * platform/network/mac/CookieStorageMac.mm: (WebCore::setCookieStoragePrivateBrowsingEnabled):
  31149. We no longer store a reference to cookie storage in a static variable, so nothing to do here.
  31150. On older OS versiosn, we still need to enable legacy private browsing mode.
  31151. * platform/network/mac/ResourceHandleMac.mm: (WebCore::shouldRelaxThirdPartyCookiePolicy):
  31152. Updated to use the new currentCFHTTPCookieStorage function.
  31153. 2011-08-22 David Levin <levin@chromium.org>
  31154. postMessage raises INVALID_STATE_ERR instead of DATA_CLONE_ERR in many cases.
  31155. https://bugs.webkit.org/show_bug.cgi?id=66713
  31156. Reviewed by Dmitry Titov.
  31157. See http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#posting-messages for postMessage
  31158. * bindings/js/JSMessagePortCustom.cpp:
  31159. (WebCore::fillMessagePortArray):
  31160. * bindings/v8/custom/V8MessagePortCustom.cpp:
  31161. (WebCore::getMessagePortArray):
  31162. * dom/MessagePort.cpp:
  31163. (WebCore::MessagePort::postMessage):
  31164. (WebCore::MessagePort::disentanglePorts):
  31165. 2011-08-29 Tom Zakrajsek <tomz@codeaurora.org>
  31166. canvas arc() missing line to start of arc if swing is zero
  31167. https://bugs.webkit.org/show_bug.cgi?id=55696
  31168. Reviewed by Andreas Kling.
  31169. Test: fast/canvas/canvas-arc-zero-lineto.html
  31170. * html/canvas/CanvasRenderingContext2D.cpp:
  31171. (WebCore::CanvasRenderingContext2D::arc):
  31172. 2011-08-23 Chris Marrin <cmarrin@apple.com>
  31173. [mac] requestAnimationFrame support for mac port
  31174. https://bugs.webkit.org/show_bug.cgi?id=59146
  31175. Reviewed by Simon Fraser.
  31176. Enable REQUEST_ANIMATION_FRAME logic and add ScriptedAnimationController
  31177. to build. Added JavaScript support for Mac, too.
  31178. * CodeGenerators.pri:
  31179. * Configurations/FeatureDefines.xcconfig:
  31180. * DerivedSources.make:
  31181. * WebCore.exp.in:
  31182. * WebCore.xcodeproj/project.pbxproj:
  31183. * bindings/js/JSRequestAnimationFrameCallbackCustom.cpp: Added.
  31184. (WebCore::JSRequestAnimationFrameCallback::handleEvent):
  31185. * bindings/scripts/CodeGeneratorJS.pm:
  31186. (AddIncludesForType):
  31187. * dom/RequestAnimationFrameCallback.idl:
  31188. 2011-08-29 Alexander Pavlov <apavlov@chromium.org>
  31189. Web Inspector: <button hidden>..</button> has a different computed "display" value than "none"
  31190. https://bugs.webkit.org/show_bug.cgi?id=67124
  31191. Attribute styles have a higher priority than user agent styles and thus should be rendered above them.
  31192. Reviewed by Yury Semikhatsky.
  31193. * inspector/front-end/StylesSidebarPane.js:
  31194. (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
  31195. (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules.get continue):
  31196. 2011-08-25 Pavel Podivilov <podivilov@chromium.org>
  31197. Web Inspector: rename sourceFile to (raw|ui)SourceCode in DebuggerPresentationModel.
  31198. https://bugs.webkit.org/show_bug.cgi?id=66769
  31199. Reviewed by Pavel Feldman.
  31200. * inspector/front-end/DebuggerPresentationModel.js:
  31201. (WebInspector.DebuggerPresentationModel):
  31202. (WebInspector.DebuggerPresentationModel.prototype.uiSourceCode):
  31203. (WebInspector.DebuggerPresentationModel.prototype._scriptLocationToUILocation.didCreateSourceMapping):
  31204. (WebInspector.DebuggerPresentationModel.prototype._scriptLocationToUILocation):
  31205. (WebInspector.DebuggerPresentationModel.prototype._uiLocationToScriptLocation.didCreateSourceMapping):
  31206. (WebInspector.DebuggerPresentationModel.prototype._uiLocationToScriptLocation):
  31207. (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor.didGetLocation):
  31208. (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
  31209. (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
  31210. (WebInspector.DebuggerPresentationModel.prototype._addScript.didCreateSourceMapping):
  31211. (WebInspector.DebuggerPresentationModel.prototype._addScript):
  31212. (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeReplaced):
  31213. (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
  31214. (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didEditScriptSource):
  31215. (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
  31216. (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
  31217. (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
  31218. (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
  31219. (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
  31220. (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
  31221. (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
  31222. (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
  31223. (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
  31224. (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
  31225. (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
  31226. (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
  31227. (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
  31228. (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
  31229. (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
  31230. (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
  31231. (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
  31232. (WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
  31233. (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
  31234. (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
  31235. (WebInspector.PresentationBreakpoint):
  31236. (WebInspector.PresenationCallFrame.prototype.sourceLine.didGetUILocation):
  31237. (WebInspector.PresenationCallFrame.prototype.sourceLine):
  31238. (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
  31239. (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
  31240. (WebInspector.DebuggerPresentationModelResourceBinding.prototype._setContentWithInitialContent):
  31241. * inspector/front-end/ScriptsPanel.js:
  31242. (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
  31243. (WebInspector.ScriptsPanel.prototype._createSourceFrame):
  31244. (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
  31245. (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation):
  31246. (WebInspector.ScriptsPanel.prototype._callFrameSelected):
  31247. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
  31248. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
  31249. * inspector/front-end/SourceFile.js:
  31250. (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
  31251. (WebInspector.UILocation):
  31252. 2011-08-29 Ilya Tikhonovsky <loislo@chromium.org>
  31253. Web Inspector: cached permanent redirects don't show redirect code and text in Network panel.
  31254. https://bugs.webkit.org/show_bug.cgi?id=67126
  31255. Reviewed by Yury Semikhatsky.
  31256. * inspector/InspectorResourceAgent.cpp:
  31257. (WebCore::buildObjectForResourceResponse):
  31258. * inspector/front-end/NetworkPanel.js:
  31259. (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
  31260. 2011-08-25 Pavel Podivilov <podivilov@chromium.org>
  31261. Web Inspector: extract FormattedContentProvider from RawSourceCode.
  31262. https://bugs.webkit.org/show_bug.cgi?id=66938
  31263. Reviewed by Pavel Feldman.
  31264. * inspector/front-end/SourceFile.js:
  31265. (WebInspector.RawSourceCode.prototype._setContentProvider):
  31266. (WebInspector.RawSourceCode.prototype._loadResourceContent):
  31267. (WebInspector.RawSourceCode.prototype._loadScriptContent):
  31268. (WebInspector.RawSourceCode.prototype._loadAndConcatenateScriptsContent):
  31269. (WebInspector.RawSourceCode.prototype._didRequestContent):
  31270. (WebInspector.FormattedContentProvider):
  31271. (WebInspector.FormattedContentProvider.prototype.requestContent.didRequestContent.didFormatContent):
  31272. (WebInspector.FormattedContentProvider.prototype.requestContent):
  31273. 2011-08-25 Pavel Podivilov <podivilov@chromium.org>
  31274. Web Inspector: link UISourceCode to RawSourceCode.
  31275. https://bugs.webkit.org/show_bug.cgi?id=66944
  31276. Reviewed by Pavel Feldman.
  31277. * inspector/front-end/UISourceCode.js:
  31278. (WebInspector.UISourceCode):
  31279. (WebInspector.UISourceCode.prototype.get rawSourceCode):
  31280. 2011-08-25 Pavel Podivilov <podivilov@chromium.org>
  31281. Web Inspector: remove RawSourceCode.setFormatted.
  31282. https://bugs.webkit.org/show_bug.cgi?id=66947
  31283. Reviewed by Pavel Feldman.
  31284. * inspector/front-end/DebuggerPresentationModel.js:
  31285. * inspector/front-end/SourceFile.js:
  31286. (WebInspector.RawSourceCode):
  31287. 2011-08-26 Pavel Podivilov <podivilov@chromium.org>
  31288. Web Inspector: Debugger.setBreakpointByUrl should return error when setting breakpoint on the same location twice.
  31289. https://bugs.webkit.org/show_bug.cgi?id=67030
  31290. Reviewed by Pavel Feldman.
  31291. Test: inspector/debugger/set-breakpoint.html
  31292. * inspector/InspectorDebuggerAgent.cpp:
  31293. (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
  31294. 2011-08-29 Matthew Delaney <mdelaney@apple.com>
  31295. fast/canvas/shadow-offset-*.html fail on Leopard/Snow Leopard when removing the work around for <rdar://problem/5539388>.
  31296. https://bugs.webkit.org/show_bug.cgi?id=67107
  31297. Reviewed by David Levin.
  31298. No new tests. Effectively reverting the change from https://bugs.webkit.org/show_bug.cgi?id=67052 for Leopard and SL
  31299. because it caused test regressions on Leopard and SL, but not Lion.
  31300. * platform/graphics/cg/GraphicsContextCG.cpp:
  31301. (WebCore::GraphicsContext::setPlatformShadow):
  31302. 2011-08-29 Zoltan Herczeg <zherczeg@webkit.org>
  31303. [Qt] Unreviewed minimal-build buildfix after r93937.
  31304. * platform/qt/RenderThemeQt.cpp:
  31305. (WebCore::RenderThemeQt::paintInnerSpinButton):
  31306. * platform/qt/RenderThemeQt.h:
  31307. 2011-08-28 Keishi Hattori <keishi@webkit.org>
  31308. Chromium Win: Setting square-button appearance reaches NOTREACHED
  31309. https://bugs.webkit.org/show_bug.cgi?id=66918
  31310. Reviewed by Kent Tamura.
  31311. Test: fast/css/square-button-appearance.html
  31312. * rendering/RenderThemeChromiumWin.cpp:
  31313. (WebCore::supportsFocus): Add case for SquareButtonPart.
  31314. (WebCore::RenderThemeChromiumWin::supportsFocusRing): Add case for SquareButtonPart.
  31315. (WebCore::RenderThemeChromiumWin::getThemeData): Add case for SquareButtonPart.
  31316. 2011-08-28 Luke Macpherson <macpherson@chromium.org>
  31317. Fix reference counting of values in CSSSelector.
  31318. https://bugs.webkit.org/show_bug.cgi?id=66452
  31319. Reviewed by Darin Adler.
  31320. No new tests / no functionality changed.
  31321. Call deref when reassigning the value.
  31322. * css/CSSSelector.h:
  31323. (WebCore::CSSSelector::setValue):
  31324. 2011-08-28 Sam Weinig <sam@webkit.org>
  31325. Add support for constructor syntax for Events
  31326. https://bugs.webkit.org/show_bug.cgi?id=63878
  31327. Reviewed by Oliver Hunt.
  31328. Add basic support for Event constructors, starting with just supporting
  31329. the constructor for the base Event class and just JSC support. This lays
  31330. the infrastructure for the other events as well.
  31331. Test: fast/events/event-constructors.html
  31332. * GNUmakefile.list.am:
  31333. * UseJSC.cmake:
  31334. * WebCore.gypi:
  31335. * WebCore.pro:
  31336. * WebCore.vcproj/WebCore.vcproj:
  31337. * WebCore.xcodeproj/project.pbxproj:
  31338. * bindings/js/JSBindingsAllInOne.cpp:
  31339. Add files.
  31340. * bindings/generic/EventConstructors.h: Added.
  31341. Add binding agnostic header that defines the Event initializers
  31342. using a macro based DSL.
  31343. * bindings/js/JSEventConstructors.cpp: Added.
  31344. (WebCore::convertValue):
  31345. (WebCore::tryGetProperty):
  31346. (WebCore::constructJSEventWithInitializer):
  31347. Add JSC implementation of Event initializer DSL.
  31348. * dom/Event.cpp:
  31349. (WebCore::EventInit::EventInit):
  31350. (WebCore::Event::Event):
  31351. * dom/Event.h:
  31352. (WebCore::Event::create):
  31353. Add Event initializer interface for base Event.
  31354. * dom/Event.idl:
  31355. Mark Event as having a custom constructor function.
  31356. 2011-08-27 Andreas Kling <kling@webkit.org>
  31357. SQLiteStatement::getColumnText() could construct WTF::String result more efficiently.
  31358. https://bugs.webkit.org/show_bug.cgi?id=67090
  31359. Reviewed by Darin Adler.
  31360. * platform/sql/SQLiteStatement.cpp:
  31361. (WebCore::SQLiteStatement::getColumnText): Use sqlite3_column_bytes16()
  31362. to get the length of the column text without looking for the null terminator.
  31363. 2011-08-07 Robert Hogan <robert@webkit.org>
  31364. The child div element with position:absolute will overlap with its parent div when a 'break' element is present in between
  31365. https://bugs.webkit.org/show_bug.cgi?id=21934
  31366. Reviewed by David Hyatt.
  31367. Test: fast/block/positioning/absolute-appended-to-inline.html
  31368. Appending a positioned child node to an inline flow should dirty the lines in the flow, just as
  31369. inserting a positioned child node does. Treating an appended and inserted node differently meant that updating the display type
  31370. from 'none' to 'block' for the following markup would result in the div getting positioned correctly under
  31371. the line block:
  31372. <div><a onMouseOver="mopen()">Hover</a><div style="display:none; position:absolute; background:#4682b4; height:10px; width:20px"><br></div></div>
  31373. but this would not happen with the following markup (the <br> is before the child div rather than after it):
  31374. <div><a onMouseOver="mopen()">Hover</a><br><div style="display:none; position:absolute; background:#4682b4; height:10px; width:20px"></div></div>
  31375. This problem is specific to cases where an object is appended to a line block whose last child is a <br>. When the line is relaid out after appending
  31376. the positioned object the last line in the line block is always considered dirty unless it broke cleanly (ie. with a <br>, see RenderBlock::determineStartPosition),
  31377. So in the second case above, the clean break and failing to dirty any lines in the block when appending the object means that the line block doesn't get relaid out
  31378. to position the new positioned object relative to its containing line block.
  31379. So the change could special-case appending a node when the previous sibling isBR(), but it seems just as well to behave the same way as insertChildNode().
  31380. * rendering/RenderObjectChildList.cpp:
  31381. (WebCore::RenderObjectChildList::appendChildNode):
  31382. Call dirtyLinesFromChangedChild() if the child is positioned, just like insertChildNode().
  31383. 2011-08-27 Anders Carlsson <andersca@apple.com>
  31384. iChat: Receiving a message containing only a single-quote (') causes bubble to fail
  31385. https://bugs.webkit.org/show_bug.cgi?id=67076
  31386. <rdar://problem/10026089>
  31387. Reviewed by Dan Bernstein.
  31388. Test: fast/borders/border-fit-2.html
  31389. * rendering/RenderBlock.cpp:
  31390. (WebCore::RenderBlock::borderFitAdjust):
  31391. Make sure that the resulting rect isn't smaller than the border + padding.
  31392. (WebCore::RenderBlock::clearTruncation):
  31393. Fix blatant coding style violations.
  31394. 2011-08-27 Andreas Kling <kling@webkit.org>
  31395. Shrink RenderLayer.
  31396. https://bugs.webkit.org/show_bug.cgi?id=67089
  31397. Reviewed by Antonio Gomes.
  31398. * rendering/RenderLayer.cpp:
  31399. (WebCore::RenderLayer::RenderLayer):
  31400. * rendering/RenderLayer.h: Make m_inResizeMode a bitfield,
  31401. shrinking RenderLayer by 8 bytes (on 64-bit.)
  31402. 2011-08-27 Young Han Lee <joybro@company100.net>
  31403. Reviewed by Dirk Schulze.
  31404. SVG animation fill="freeze" doesn't set baseVal to current animVal if animation stops before reaching the end
  31405. https://bugs.webkit.org/show_bug.cgi?id=63553
  31406. calculateAnimationPercentAndRepeat() is returning 1, which means 100%, whenever
  31407. elapsed >= m_intervalEnd, but this is wrong because m_intervalEnd can be in the middle
  31408. of the animation duration. (e.g. begin="0s" end="2s" dur="3s")
  31409. This change makes the function return the animations's true progress instead of 100%
  31410. when the animation ends.
  31411. Test: svg/animations/animate-end-attribute.html
  31412. * svg/animation/SVGSMILElement.cpp:
  31413. (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
  31414. 2011-08-27 Jarred Nicholls <jarred@sencha.com>
  31415. [Qt] Need spin-button implementation
  31416. https://bugs.webkit.org/show_bug.cgi?id=65896
  31417. Reviewed by Kenneth Rohde Christiansen.
  31418. * platform/qt/RenderThemeQt.cpp:
  31419. (WebCore::RenderThemeQt::adjustInnerSpinButtonStyle):
  31420. (WebCore::RenderThemeQt::paintInnerSpinButton):
  31421. * platform/qt/RenderThemeQt.h:
  31422. 2011-08-26 Xiaomei Ji <xji@chromium.org>
  31423. Regression(91788): Bad cast in WebCore::blockWithNextLineBox
  31424. https://bugs.webkit.org/show_bug.cgi?id=66090
  31425. Reviewed by Ryosuke Niwa.
  31426. This is more like (but not exactly) a revert of r91788.
  31427. It does not search for previous or next root inline box in different
  31428. render object, which completely eliminates the cause of this issue.
  31429. And it removes createPositionAvoidingIgnoredNode(), changed its caller
  31430. to use createLegacyEditingPosition(). createPositionAvoidingIgnoredNode
  31431. is not correct when node is a replaced element whose caretMaxOffset
  31432. could be greater than 1.
  31433. Tests: editing/selection/move-by-word-visually-crash-test-1.html
  31434. editing/selection/move-by-word-visually-crash-test-2.html
  31435. editing/selection/move-by-word-visually-crash-test-3.html
  31436. editing/selection/move-by-word-visually-crash-test-4.html
  31437. * editing/htmlediting.cpp:
  31438. * editing/htmlediting.h:
  31439. * editing/visible_units.cpp:
  31440. (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality):
  31441. (WebCore::leftmostPositionInRTLBoxInLTRBlock):
  31442. (WebCore::rightmostPositionInLTRBoxInRTLBlock):
  31443. (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
  31444. (WebCore::appendPositionAtLogicalEndOfLine):
  31445. (WebCore::leftInlineBox):
  31446. (WebCore::rightInlineBox):
  31447. 2011-08-26 James Robinson <jamesr@chromium.org>
  31448. [Chromium] Possible leak of LayerRendererChromium
  31449. https://bugs.webkit.org/show_bug.cgi?id=66981
  31450. Reviewed by Kenneth Russell.
  31451. Fix a number of reference cycle leaks that prevent LayerRendererChromiums from being destroyed when a tab is
  31452. closed.
  31453. Not possible to write a layout test where an entire WebView goes away.
  31454. * platform/graphics/chromium/GraphicsLayerChromium.cpp:
  31455. (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
  31456. * platform/graphics/chromium/LayerRendererChromium.cpp:
  31457. (WebCore::LayerRendererChromium::clearRenderSurfacesOnCCLayerImplRecursive):
  31458. (WebCore::LayerRendererChromium::clearRootCCLayerImpl):
  31459. (WebCore::LayerRendererChromium::cleanupSharedObjects):
  31460. * platform/graphics/chromium/LayerRendererChromium.h:
  31461. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  31462. (WebCore::CCLayerTreeHost::setRootLayer):
  31463. 2011-08-26 Nate Chapin <japhet@chromium.org>
  31464. Move allowCredentials from ThreadableLoaderOptions down
  31465. to ResourceLoaderOptions. This allows us to remove
  31466. getShouldUseCredentialStorage() from SubresourceLoaderClient
  31467. and check allowCredentials in ResourceLoader.
  31468. https://bugs.webkit.org/show_bug.cgi?id=65330
  31469. Reviewed by Alexey Proskuryakov.
  31470. No new tests, refractor only.
  31471. * loader/DocumentThreadableLoader.cpp:
  31472. * loader/DocumentThreadableLoader.h:
  31473. * loader/MainResourceLoader.cpp:
  31474. * loader/NetscapePlugInStreamLoader.cpp:
  31475. * loader/ResourceLoadScheduler.h:
  31476. * loader/ResourceLoader.cpp:
  31477. (WebCore::ResourceLoader::shouldUseCredentialStorage): Check
  31478. m_options.allowCredentials instead of calling a client.
  31479. * loader/ResourceLoaderOptions.h:
  31480. * loader/SubresourceLoader.cpp:
  31481. * loader/SubresourceLoader.h:
  31482. * loader/SubresourceLoaderClient.h:
  31483. * loader/ThreadableLoader.h:
  31484. * loader/cache/CachedResourceRequest.cpp:
  31485. 2011-08-26 Ojan Vafai <ojan@chromium.org>
  31486. change the default preferred width of the flex() function to 0px per the new spec
  31487. https://bugs.webkit.org/show_bug.cgi?id=67067
  31488. Reviewed by Tony Chang.
  31489. * css/CSSParser.cpp:
  31490. (WebCore::CSSParser::parseFlex):
  31491. 2011-08-26 Matthew Delaney <mdelaney@apple.com>
  31492. Remove offset hack from GraphicsContextCG setShadow code
  31493. https://bugs.webkit.org/show_bug.cgi?id=67052
  31494. Reviewed by Simon Fraser.
  31495. No new tests - current tests cover it.
  31496. * platform/graphics/cg/GraphicsContextCG.cpp:
  31497. Removing the offset hack introduced in http://trac.webkit.org/changeset/28714
  31498. for an issue with offsets in an old version of CoreGraphics that's long since been fixed.
  31499. 2011-08-26 Alexey Proskuryakov <ap@apple.com>
  31500. Get rid of frame life support timer
  31501. https://bugs.webkit.org/show_bug.cgi?id=66874
  31502. Reviewed by Geoff Garen. V8 fixes courtesy of Dmitry Titov.
  31503. Test: fast/frames/detached-frame-property.html
  31504. * bindings/js/JSDOMWindowBase.cpp:
  31505. * bindings/js/JSDOMWindowBase.h:
  31506. * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld):
  31507. * bindings/v8/ScriptController.cpp: (WebCore::ScriptController::evaluate):
  31508. * bindings/v8/V8Proxy.cpp:
  31509. (WebCore::V8Proxy::runScript):
  31510. (WebCore::V8Proxy::callFunction):
  31511. (WebCore::V8Proxy::newInstance):
  31512. * page/Frame.cpp:
  31513. (WebCore::Frame::Frame):
  31514. (WebCore::Frame::~Frame):
  31515. (WebCore::Frame::pageDestroyed):
  31516. * page/Frame.h:
  31517. * page/Page.cpp: (WebCore::Page::~Page):
  31518. Removed all code that dealt with the life support timer. Protect Frame inside runScript()
  31519. and callFunction() for v8 bindings.
  31520. * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent):
  31521. Replaced ref/deref calls on self with a RefPtr.
  31522. 2011-08-26 Ned Holbrook <nholbrook@apple.com>
  31523. RenderText::computePreferredLogicalWidths() should measure words with trailing spaces
  31524. https://bugs.webkit.org/show_bug.cgi?id=66733
  31525. Reviewed by Dan Bernstein.
  31526. Test: fast/text/complex-preferred-logical-widths.html
  31527. * rendering/RenderText.cpp:
  31528. (WebCore::RenderText::computePreferredLogicalWidths): Apply logic from RenderBlock::LineBreaker::nextLineBreak().
  31529. 2011-08-26 Tony Chang <tony@chromium.org>
  31530. Add CSS parsing for -webkit-flex-align
  31531. https://bugs.webkit.org/show_bug.cgi?id=66726
  31532. Reviewed by Ojan Vafai.
  31533. * css/CSSComputedStyleDeclaration.cpp:
  31534. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  31535. * css/CSSParser.cpp:
  31536. (WebCore::CSSParser::parseValue):
  31537. * css/CSSPrimitiveValueMappings.h:
  31538. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  31539. (WebCore::CSSPrimitiveValue::operator EFlexAlign):
  31540. * css/CSSPropertyNames.in:
  31541. * css/CSSStyleApplyProperty.cpp:
  31542. (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
  31543. * css/CSSStyleSelector.cpp:
  31544. (WebCore::CSSStyleSelector::applyProperty):
  31545. * css/CSSValueKeywords.in:
  31546. * rendering/style/RenderStyle.h:
  31547. (WebCore::InheritedFlags::flexAlign):
  31548. (WebCore::InheritedFlags::setFlexAlign):
  31549. (WebCore::InheritedFlags::initialFlexAlign):
  31550. * rendering/style/RenderStyleConstants.h:
  31551. * rendering/style/StyleFlexibleBoxData.cpp:
  31552. (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
  31553. (WebCore::StyleFlexibleBoxData::operator==):
  31554. * rendering/style/StyleFlexibleBoxData.h:
  31555. 2011-08-26 Nate Chapin <japhet@chromium.org>
  31556. Fix http/tests/misc/willCacheResponse-delegate-callback.html
  31557. after r93886. We're implicitly converting an enum to a bool.
  31558. Rubber-stamped by David Levin.
  31559. * loader/mac/ResourceLoaderMac.mm:
  31560. (WebCore::ResourceLoader::willCacheResponse):
  31561. 2011-08-26 Chris Rogers <crogers@google.com>
  31562. Add MediaPlayer::audioSourceProvider() method for audio stream access by the Web Audio API.
  31563. https://bugs.webkit.org/show_bug.cgi?id=66398
  31564. Reviewed by Eric Carlson.
  31565. * html/HTMLMediaElement.cpp:
  31566. (WebCore::HTMLMediaElement::HTMLMediaElement):
  31567. (WebCore::HTMLMediaElement::prepareForLoad):
  31568. (WebCore::HTMLMediaElement::loadNextSourceChild):
  31569. (WebCore::HTMLMediaElement::ensureMediaPlayer):
  31570. (WebCore::HTMLMediaElement::createMediaPlayer):
  31571. MediaPlayer creation has now been put into createMediaPlayer() instead of it being created
  31572. separately in these various methods. It has been made thread-safe for use with the Web Audio API
  31573. in conjunction with an MediaElementAudioSourceNode.
  31574. (WebCore::HTMLMediaElement::setAudioSourceNode):
  31575. (WebCore::HTMLMediaElement::audioSourceProvider):
  31576. * html/HTMLMediaElement.h:
  31577. (WebCore::HTMLMediaElement::audioSourceNode):
  31578. The HTMLMediaElement now keeps track of an optional MediaElementAudioSourceNode if
  31579. the audio stream is being processed using the Web Audio API.
  31580. * platform/graphics/MediaPlayer.cpp:
  31581. (WebCore::MediaPlayer::audioSourceProvider):
  31582. * platform/graphics/MediaPlayer.h:
  31583. * platform/graphics/MediaPlayerPrivate.h:
  31584. (WebCore::MediaPlayerPrivateInterface::audioSourceProvider):
  31585. MediaPlayer now has an audioSourceProvider() method with a default "empty" implementation.
  31586. audioSourceProvider() returns an AudioSourceProvider object which the Web Audio API's
  31587. MediaElementAudioSourceNode uses (indirectly through an HTMLMediaElement method) to get the rendered audio stream.
  31588. * webaudio/AudioContext.cpp:
  31589. (WebCore::AudioContext::createMediaElementSource):
  31590. * webaudio/AudioContext.h:
  31591. * webaudio/AudioContext.idl:
  31592. AudioContext::createMediaElementSource() is now more careful to check that an HTMLMediaElement
  31593. doesn't already have a MediaElementAudioSourceNode attached to it.
  31594. * webaudio/MediaElementAudioSourceNode.cpp:
  31595. (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
  31596. (WebCore::MediaElementAudioSourceNode::~MediaElementAudioSourceNode):
  31597. (WebCore::MediaElementAudioSourceNode::process):
  31598. (WebCore::MediaElementAudioSourceNode::lock):
  31599. (WebCore::MediaElementAudioSourceNode::unlock):
  31600. * webaudio/MediaElementAudioSourceNode.h:
  31601. Implement thread-safe processing (replacing the old stub implementation).
  31602. 2011-08-23 Stephen White <senorblanco@chromium.org>
  31603. Assertion fires if canvas is resized while save() active
  31604. https://bugs.webkit.org/show_bug.cgi?id=66710
  31605. Reviewed by Simon Fraser.
  31606. Test: fast/canvas/resize-while-save-active.html
  31607. * html/HTMLCanvasElement.cpp:
  31608. (WebCore::HTMLCanvasElement::reset):
  31609. Call CanvasRenderingContext2D::reset() before resizing the canvas,
  31610. so that the GraphicsContext state stack can be unwound.
  31611. * html/canvas/CanvasRenderingContext2D.cpp:
  31612. (WebCore::CanvasRenderingContext2D::unwindStateStack):
  31613. (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
  31614. Refactor the state stack unwinding code from the destructor to
  31615. unwindStateStack() (new).
  31616. (WebCore::CanvasRenderingContext2D::reset):
  31617. Unwind the GraphicsContext state stack when the context is reset.
  31618. * html/canvas/CanvasRenderingContext2D.h:
  31619. 2011-08-26 Darin Adler <darin@apple.com>
  31620. [Mac] Use the progress cursor instead of the wristwatch for CSS "wait" cursor
  31621. https://bugs.webkit.org/show_bug.cgi?id=67049
  31622. Reviewed by Beth Dakin.
  31623. * platform/mac/CursorMac.mm:
  31624. (WebCore::Cursor::ensurePlatformCursor): Use BusyButClickable cursor for wait
  31625. as well as for Progress.
  31626. 2011-08-26 Nate Chapin <japhet@chromium.org>
  31627. Fix gtk build after r93886.
  31628. * platform/track/CueParser.cpp:
  31629. (WebCore::CueParser::load):
  31630. 2011-08-26 Raphael Kubo da Costa <kubo@profusion.mobi>
  31631. [EFL] Update searchableIndexIntroduction() to match GTK+'s.
  31632. https://bugs.webkit.org/show_bug.cgi?id=66885
  31633. Reviewed by Gustavo Noronha Silva.
  31634. Using this new string allows us to share the test expectations with
  31635. other ports, and thus makes
  31636. fast/replaced/table-percent-height-text-controls.html pass.
  31637. No new tests, as this is covered by an existing one.
  31638. * platform/efl/LocalizedStringsEfl.cpp:
  31639. (WebCore::searchableIndexIntroduction):
  31640. 2011-08-26 Raphael Kubo da Costa <kubo@profusion.mobi>
  31641. [EFL] Do not log an error if a fallback cursor cannot be found.
  31642. https://bugs.webkit.org/show_bug.cgi?id=67037
  31643. Reviewed by Gustavo Noronha Silva.
  31644. Ecore_X does not necessarily have to be used (DumpRenderTree does not
  31645. use it, for example), so showing an error message here is bogus.
  31646. No new tests, as it just removes erroneous error messages from
  31647. when running DRT with existing tests.
  31648. * platform/efl/WidgetEfl.cpp:
  31649. (WebCore::Widget::applyFallbackCursor):
  31650. 2011-08-26 Nate Chapin <japhet@chromium.org>
  31651. Change a bunch of nondescript bools to
  31652. descriptive enums in ResourceLoaderOptions and
  31653. ThreadableLoaderOptions.
  31654. https://bugs.webkit.org/show_bug.cgi?id=66984
  31655. Reviewed by David Levin.
  31656. No new tests, no functionality change intended.
  31657. * WebCore.exp.in:
  31658. * fileapi/FileReaderLoader.cpp:
  31659. * html/MediaDocument.cpp:
  31660. * html/PluginDocument.cpp:
  31661. * loader/CrossOriginAccessControl.cpp:
  31662. * loader/CrossOriginAccessControl.h:
  31663. * loader/CrossOriginPreflightResultCache.cpp:
  31664. * loader/CrossOriginPreflightResultCache.h:
  31665. * loader/DocumentThreadableLoader.cpp:
  31666. * loader/FrameLoader.h:
  31667. * loader/ImageLoader.cpp:
  31668. * loader/MainResourceLoader.cpp:
  31669. * loader/NetscapePlugInStreamLoader.cpp:
  31670. * loader/ResourceLoadScheduler.h:
  31671. * loader/ResourceLoader.cpp:
  31672. * loader/ResourceLoader.h:
  31673. * loader/ResourceLoaderOptions.h:
  31674. * loader/ThreadableLoader.h:
  31675. * loader/cache/CachedResource.cpp:
  31676. * loader/cache/CachedResourceRequest.cpp:
  31677. * loader/cf/ResourceLoaderCFNet.cpp:
  31678. * loader/mac/ResourceLoaderMac.mm:
  31679. * page/EventSource.cpp:
  31680. * platform/network/ResourceHandle.h:
  31681. * workers/WorkerScriptLoader.cpp:
  31682. * xml/XMLHttpRequest.cpp:
  31683. 2011-08-26 Andreas Kling <kling@webkit.org>
  31684. HTMLMetaElement: Don't cache "http-equiv" and "content" attributes.
  31685. https://bugs.webkit.org/show_bug.cgi?id=67040
  31686. Reviewed by Darin Adler.
  31687. * html/HTMLMetaElement.h: Remove m_equiv and m_content members,
  31688. shrinking HTMLMetaElement by 16 bytes (on 64-bit.)
  31689. * html/HTMLMetaElement.cpp:
  31690. (WebCore::HTMLMetaElement::parseMappedAttribute):
  31691. (WebCore::HTMLMetaElement::process): Implemented using fastGetAttribute().
  31692. 2011-08-26 Pavel Feldman <pfeldman@google.com>
  31693. Web Inspector: [REGRESSION] No way to expand hovered objects while debugging.
  31694. https://bugs.webkit.org/show_bug.cgi?id=67039
  31695. Reviewed by Yury Semikhatsky.
  31696. * inspector/front-end/Popover.js:
  31697. (WebInspector.Popover):
  31698. (WebInspector.Popover.prototype.show):
  31699. (WebInspector.PopoverHelper.prototype._mouseDown):
  31700. (WebInspector.PopoverHelper.prototype._hidePopover):
  31701. (WebInspector.PopoverHelper.prototype._mouseHover):
  31702. (WebInspector.PopoverHelper.prototype._killHidePopoverTimer):
  31703. 2011-08-26 Pavel Podivilov <podivilov@chromium.org>
  31704. Unreviewed, rolling out r93870.
  31705. http://trac.webkit.org/changeset/93870
  31706. https://bugs.webkit.org/show_bug.cgi?id=65203
  31707. Broke i18n chromium tests
  31708. * platform/graphics/chromium/FontChromiumWin.cpp:
  31709. (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
  31710. (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init):
  31711. (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
  31712. (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
  31713. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
  31714. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
  31715. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
  31716. (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc):
  31717. (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
  31718. (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter):
  31719. (WebCore::drawGlyphsWin):
  31720. (WebCore::Font::drawComplexText):
  31721. * platform/graphics/chromium/UniscribeHelper.cpp:
  31722. (WebCore::UniscribeHelper::draw):
  31723. * platform/graphics/skia/PlatformContextSkia.cpp:
  31724. (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
  31725. * platform/graphics/skia/PlatformContextSkia.h:
  31726. * platform/graphics/skia/SkiaFontWin.cpp:
  31727. (WebCore::windowsCanHandleDrawTextShadow):
  31728. (WebCore::windowsCanHandleTextDrawing):
  31729. (WebCore::windowsCanHandleTextDrawingWithoutShadow):
  31730. * platform/graphics/skia/SkiaFontWin.h:
  31731. 2011-08-26 Alexei Svitkine <asvitkine@chromium.org>
  31732. Chromium Mac: Use a custom pattern image for rubber banding overhang area
  31733. https://bugs.webkit.org/show_bug.cgi?id=66707
  31734. Also roll Chromium revision to 98101, to include dependency: http://codereview.chromium.org/7714036/
  31735. Reviewed by Dimitri Glazkov.
  31736. No new tests since its just changing the Chromium-specific overhang pattern.
  31737. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  31738. (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
  31739. (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
  31740. 2011-08-26 Eric Carlson <eric.carlson@apple.com>
  31741. <video> playlist can not advance when playing in background tab
  31742. https://bugs.webkit.org/show_bug.cgi?id=66978
  31743. Reviewed by Darin Adler.
  31744. No new tests added because it isn't possible to simulate a background tab in DRT.
  31745. * html/HTMLMediaElement.cpp:
  31746. (WebCore::HTMLMediaElement::HTMLMediaElement): Set RequirePageConsentToLoadMedia restriction.
  31747. (WebCore::HTMLMediaElement::loadInternal): Don't consider page->canStartMedia if it has ever
  31748. allowed a file to load.
  31749. * html/HTMLMediaElement.h:
  31750. (WebCore::HTMLMediaElement::requirePageConsentToLoadMedia): New.
  31751. (WebCore::HTMLMediaElement::removeBehaviorRestriction): New.
  31752. 2011-08-26 Andreas Kling <kling@webkit.org>
  31753. [Qt] Path::boundingRect() is unnecessarily slow.
  31754. https://bugs.webkit.org/show_bug.cgi?id=66854
  31755. Reviewed by Benjamin Poulain.
  31756. * html/canvas/CanvasRenderingContext2D.cpp:
  31757. (WebCore::CanvasRenderingContext2D::stroke): Remove Qt-specific optimization
  31758. since calling Path::boundingRect() will now do exactly the same thing.
  31759. * platform/graphics/qt/PathQt.cpp:
  31760. (WebCore::Path::boundingRect): Return QPainterPath::controlPointRect() since
  31761. that is much faster than computing the (precise) QPainterPath::boundingRect()
  31762. and Path::boundingRect() is not expected to be 100% precise anyway.
  31763. 2011-08-26 Gavin Peters <gavinp@chromium.org>
  31764. add a state enumeration to track down cause of null CachedScript execution
  31765. https://bugs.webkit.org/show_bug.cgi?id=66939
  31766. Reviewed by Alexey Proskuryakov.
  31767. Over in http://code.google.com/p/chromium/issues/detail?id=75604 I
  31768. have a bug I cannot reproduce. I added an earlier crash in
  31769. https://bugs.webkit.org/show_bug.cgi?id=65563 , and we've since
  31770. gotten many good stacks, all coming in through a failed request that
  31771. eventually calls notifyFinished() on a ScriptElement with a NULL
  31772. m_cachedScript.
  31773. I'd like to know how this got NULL. This enumeration should let
  31774. me find that in stack dumps from reproductions.
  31775. No new tests, as my goal here is to get telemetry on a bug that I cannot reproduce.
  31776. * dom/ScriptElement.cpp:
  31777. (WebCore::ScriptElement::ScriptElement):
  31778. (WebCore::ScriptElement::requestScript):
  31779. (WebCore::ScriptElement::stopLoadRequest):
  31780. (WebCore::ScriptElement::notifyFinished):
  31781. * dom/ScriptElement.h:
  31782. 2011-08-26 Mike Reed <reed@google.com>
  31783. [skia] never draw with GDI, so that all text can be gpu-accelerated
  31784. https://bugs.webkit.org/show_bug.cgi?id=65203
  31785. Reviewed by Kenneth Russell.
  31786. * platform/graphics/chromium/FontChromiumWin.cpp:
  31787. (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
  31788. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
  31789. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
  31790. (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
  31791. (WebCore::drawGlyphsWin):
  31792. (WebCore::Font::drawComplexText):
  31793. * platform/graphics/chromium/UniscribeHelper.cpp:
  31794. (WebCore::UniscribeHelper::draw):
  31795. * platform/graphics/skia/PlatformContextSkia.cpp:
  31796. * platform/graphics/skia/PlatformContextSkia.h:
  31797. * platform/graphics/skia/SkiaFontWin.cpp:
  31798. * platform/graphics/skia/SkiaFontWin.h:
  31799. 2011-08-26 Ilya Tikhonovsky <loislo@chromium.org>
  31800. Web Inspector: in some cases Popover code is failing to calculate popover box position.
  31801. https://bugs.webkit.org/show_bug.cgi?id=67029
  31802. Reviewed by Yury Semikhatsky.
  31803. * inspector/front-end/Popover.js:
  31804. (WebInspector.Popover.prototype._positionElement):
  31805. 2011-08-26 Nikolas Zimmermann <nzimmermann@rim.com>
  31806. [Qt] http/tests/misc/object-embedding-svg-delayed-size-negotiation-2.htm fails intermittently
  31807. https://bugs.webkit.org/show_bug.cgi?id=65969
  31808. Reviewed by Zoltan Herczeg.
  31809. Fix intrinsic size negotiation flakiness, most visible on the Qt port.
  31810. The http/tests/misc/object-embedding-svg-delayed-size-negotiation-2.htm testcase triggered
  31811. an assertion on a Qt debug build indicating that the HashSet updateLayoutAndStyleIfNeededRecursive()
  31812. operates on is mutated while its iterated, leading to an assertion/crash. Due the new forceLayoutParentViewIfNeeded()
  31813. logic it's no longer safe to directly use the children() HashSet in that method - we have to make a copy first.
  31814. The second part of the fix is to stop entering forceLayoutParentViewIfNeeded(), if the origin of that call
  31815. is forceLayoutParentViewIfNeeded() itself. Set m_inLayoutParentView to true before calling FrameView::layout()
  31816. on our parent frame view - this is only an optimization to avoid doing layout() twice.
  31817. The third part of the fix is to call updateWidgetPositions() on the parent FrameView, _before_ calling layout()
  31818. on the parent view itself, as the SVG document needs to report the correct intrinsic size (which can depend
  31819. on the host object/embed/iframe) when we're running RenderReplaced::layout() on the host renderer.
  31820. * page/FrameView.cpp:
  31821. (WebCore::FrameView::FrameView):
  31822. (WebCore::collectFrameViewChildren):
  31823. (WebCore::FrameView::forceLayoutParentViewIfNeeded):
  31824. (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
  31825. * page/FrameView.h:
  31826. 2011-08-26 Mikhail Naganov <mnaganov@chromium.org>
  31827. Web Inspector: [Chromium] Double clicking on numbers in Count & size columns doesn't toggle between values and percents in the Heap Snapshot.
  31828. https://bugs.webkit.org/show_bug.cgi?id=66988
  31829. Reviewed by Pavel Feldman.
  31830. * inspector/front-end/DetailedHeapshotView.js:
  31831. (WebInspector.DetailedHeapshotView.prototype._mouseClickInContentsGrid):
  31832. (WebInspector.DetailedHeapshotView.prototype._mouseDownInContentsGrid):
  31833. 2011-08-26 Shinya Kawanaka <shinyak@google.com>
  31834. REGRESSION(r93390): Empty or invalid maxlength of an input tag should be ignored.
  31835. https://bugs.webkit.org/show_bug.cgi?id=67015
  31836. Reviewed by Kent Tamura.
  31837. * html/HTMLInputElement.cpp:
  31838. (WebCore::HTMLInputElement::parseMaxLengthAttribute):
  31839. Checks the validity of maxlength attribute when converting it to integer.
  31840. 2011-08-25 Yuta Kitamura <yutak@chromium.org>
  31841. WebSocket: Fix indentation of WebSocket header files
  31842. https://bugs.webkit.org/show_bug.cgi?id=67018
  31843. Reviewed by Kent Tamura.
  31844. No new tests. Style fix only.
  31845. * websockets/WebSocket.h:
  31846. (WebCore::WebSocket::create):
  31847. (WebCore::WebSocket::toWebSocket):
  31848. (WebCore::WebSocket::refEventTarget):
  31849. (WebCore::WebSocket::derefEventTarget):
  31850. * websockets/WebSocketChannel.h:
  31851. Removed formal parameter name of resumeTimerFired().
  31852. (WebCore::WebSocketChannel::create):
  31853. (WebCore::WebSocketChannel::refThreadableWebSocketChannel):
  31854. (WebCore::WebSocketChannel::derefThreadableWebSocketChannel):
  31855. (WebCore::WebSocketChannel::isNonControlOpCode):
  31856. (WebCore::WebSocketChannel::isControlOpCode):
  31857. (WebCore::WebSocketChannel::isReservedOpCode):
  31858. * websockets/WebSocketHandshake.h:
  31859. Removed formal parameter name of setClientProtocol().
  31860. 2011-08-25 Martin Robinson <mrobinson@igalia.com>
  31861. Touch GtkVersioning.c so that the release bot rebuilds it. This
  31862. is necessary because of the switch to GTK+ 3.x.
  31863. * platform/gtk/GtkVersioning.c: Touch this file.
  31864. 2011-08-25 Ben Wells <benwells@chromium.org>
  31865. Use PATH_BASED_BORDER_RADIUS_DRAWING for skia
  31866. https://bugs.webkit.org/show_bug.cgi?id=65583
  31867. This change brings in the new border rendering for Skia. To support this without aliasing the skia
  31868. graphics context has been updated to support anti-aliased clipping around convex polygons and also
  31869. anti-aliased clipping outside a path.
  31870. Reviewed by James Robinson.
  31871. * platform/graphics/skia/GraphicsContextSkia.cpp:
  31872. (WebCore::GraphicsContext::clipOut):
  31873. (WebCore::GraphicsContext::clipConvexPolygon):
  31874. * platform/graphics/skia/PlatformContextSkia.cpp:
  31875. (WebCore::PlatformContextSkia::clipPathAntiAliased):
  31876. * rendering/RenderObject.h:
  31877. 2011-08-25 Luke Macpherson <macpherson@chromium.org>
  31878. Implement animation and transition properties in CSSStyleApplyProperty.
  31879. https://bugs.webkit.org/show_bug.cgi?id=66126
  31880. Reviewed by Dean Jackson.
  31881. No new tests. This is essentially a refactoring of the HANDLE_ANIMATION* and HANDLE_TRANSITION* macros in CSSStyleSelector.cpp.
  31882. The only functional change is to iterate correctly over the lists instead of setting only the first element. See bug 66118 for details on that.
  31883. * css/CSSStyleApplyProperty.cpp:
  31884. Added new class ApplyPropertyAnimation to handle animation and transition properties.
  31885. (WebCore::ApplyPropertyAnimation::ApplyPropertyAnimation):
  31886. (WebCore::ApplyPropertyAnimation::applyInheritValue):
  31887. (WebCore::ApplyPropertyAnimation::applyInitialValue):
  31888. (WebCore::ApplyPropertyAnimation::applyValue):
  31889. (WebCore::ApplyPropertyAnimation::setValue):
  31890. (WebCore::ApplyPropertyAnimation::value):
  31891. (WebCore::ApplyPropertyAnimation::test):
  31892. (WebCore::ApplyPropertyAnimation::clear):
  31893. (WebCore::ApplyPropertyAnimation::initial):
  31894. (WebCore::ApplyPropertyAnimation::map):
  31895. (WebCore::ApplyPropertyAnimation::accessAnimations):
  31896. (WebCore::ApplyPropertyAnimation::animations):
  31897. (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
  31898. * css/CSSStyleSelector.cpp:
  31899. Removed animation and transition macros (celebrate!)
  31900. (WebCore::CSSStyleSelector::applyProperty):
  31901. Removed old implementations of animation and transition properties.
  31902. * platform/animation/Animation.h:
  31903. Changed return types of initial values to match the setters and getters.
  31904. (WebCore::Animation::initialAnimationDelay):
  31905. (WebCore::Animation::initialAnimationName):
  31906. (WebCore::Animation::initialAnimationTimingFunction):
  31907. 2011-08-25 Julien Chaffraix <jchaffraix@webkit.org>
  31908. Concentrate RenderLayer repaint rects updates
  31909. https://bugs.webkit.org/show_bug.cgi?id=64993
  31910. Reviewed by David Hyatt.
  31911. The change moves the update of the repaint rects to 2 methods
  31912. (computeRepaintRects and clearRepaintRects) to better track
  31913. those changes.
  31914. No new test, refactoring covered by the existing test cases.
  31915. * rendering/RenderLayer.cpp:
  31916. (WebCore::RenderLayer::updateLayerPositions): Reverse the logic and
  31917. calculate the new bounds upfront. This should have no impact as none
  31918. of the methods rely on the internal value.
  31919. (WebCore::RenderLayer::computeRepaintRects): Added the cachedOffset parameter
  31920. to avoid breaking the performance optimization in updateLayerPositions. Added
  31921. some ASSERTS.
  31922. (WebCore::RenderLayer::clearRepaintRects): Added some ASSERTs here.
  31923. (WebCore::RenderLayer::updateRepaintRectsAfterScroll): Added a FIXME as this
  31924. method could use the cachedOffset trick too.
  31925. (WebCore::RenderLayer::setHasVisibleContent): Changed the code to use
  31926. computeRepaintRects.
  31927. * rendering/RenderLayer.h: Updated the signature of computeRepaintRects and moved
  31928. those 2 methods into the private section of the class.
  31929. 2011-08-25 Van Lam <vanlam@google.com>
  31930. Remove use of magic number -1 in WebCore/editing/visible_units.cpp
  31931. https://bugs.webkit.org/show_bug.cgi?id=66980
  31932. Reviewed by Ryosuke Niwa.
  31933. Replaced use of magic number -1 with constant offsetNotFound.
  31934. * editing/visible_units.cpp:
  31935. (WebCore::greatestOffsetUnder):
  31936. (WebCore::smallestOffsetAbove):
  31937. 2011-08-25 Igor Oliveira <igor.oliveira@openbossa.org>
  31938. Rollout r93799: Caused bad clipping on the bottom of tall glyphs inside a button label
  31939. * rendering/RenderBlockLineLayout.cpp:
  31940. (WebCore::RenderBlock::layoutInlineChildren):
  31941. * rendering/RenderBox.cpp:
  31942. * rendering/RenderBox.h:
  31943. (WebCore::RenderBox::hasControlClip):
  31944. (WebCore::RenderBox::controlClipRect):
  31945. * rendering/RenderButton.cpp:
  31946. (WebCore::RenderButton::setupInnerStyle):
  31947. 2011-08-25 Ademar de Souza Reis Jr. <ademar.reis@openbossa.org>
  31948. [Qt] Enable password echo on Symbian builds
  31949. https://bugs.webkit.org/show_bug.cgi?id=66954
  31950. Reviewed by Chang Shu.
  31951. No tests, as this is just a build change.
  31952. * config.h:
  31953. 2011-08-25 Nate Chapin <japhet@chromium.org>
  31954. Windows build fix after r93811.
  31955. * loader/cf/ResourceLoaderCFNet.cpp:
  31956. (WebCore::ResourceLoader::shouldCacheResponse):
  31957. 2011-08-25 Nate Chapin <japhet@chromium.org>
  31958. Split some of the variables out of ThreadableLoaderOptions
  31959. into a superclass, ResourceLoaderOptions. Use ResourceLoaderOptions
  31960. all the way down to ResourceLoader.
  31961. https://bugs.webkit.org/show_bug.cgi?id=63301
  31962. Reviewed by David Levin.
  31963. No new tests, refractor only.
  31964. * GNUmakefile.list.am:
  31965. * WebCore.gypi:
  31966. * WebCore.vcproj/WebCore.vcproj:
  31967. * WebCore.xcodeproj/project.pbxproj:
  31968. * loader/DocumentThreadableLoader.cpp:
  31969. * loader/MainResourceLoader.cpp:
  31970. * loader/NetscapePlugInStreamLoader.cpp:
  31971. * loader/ResourceLoadScheduler.cpp:
  31972. * loader/ResourceLoadScheduler.h:
  31973. * loader/ResourceLoader.cpp:
  31974. * loader/ResourceLoader.h:
  31975. * loader/ResourceLoaderOptions.h: Added.
  31976. * loader/SubresourceLoader.cpp:
  31977. * loader/SubresourceLoader.h:
  31978. * loader/ThreadableLoader.h:
  31979. * loader/cache/CachedResourceRequest.cpp:
  31980. * loader/mac/ResourceLoaderMac.mm:
  31981. 2011-08-25 Adam Klein <adamk@chromium.org>
  31982. use strict in CodeGeneratorJS and CodeGeneratorV8
  31983. https://bugs.webkit.org/show_bug.cgi?id=66915
  31984. Reviewed by Darin Adler.
  31985. Making these files "use strict" makes changing them less
  31986. time-consuming and error-prone, and helps avoid accidentally
  31987. adding dead code (added a FIXME for one such case).
  31988. No expected change in behavior.
  31989. * bindings/scripts/CodeGeneratorJS.pm:
  31990. (AddIncludesForType):
  31991. (GenerateParametersCheckExpression):
  31992. (GenerateFunctionParametersCheck):
  31993. (GenerateImplementation):
  31994. (GenerateImplementationFunctionCall):
  31995. (NativeToJSValue):
  31996. (GenerateHashValue):
  31997. * bindings/scripts/CodeGeneratorV8.pm:
  31998. (AddIncludesForType):
  31999. (GenerateHeaderNamedAndIndexedPropertyAccessors):
  32000. (GenerateNormalAttrSetter):
  32001. (GetFunctionTemplateCallbackName):
  32002. (GenerateNewFunctionTemplate):
  32003. (GenerateParametersCheckExpression):
  32004. (GenerateFunctionParametersCheck):
  32005. (GenerateImplementation):
  32006. ():
  32007. 2011-08-25 Dean Jackson <dino@apple.com>
  32008. https://bugs.webkit.org/show_bug.cgi?id=21586
  32009. Apply CSS animations and transitions to SVG properties
  32010. Reviewed by Simon Fraser.
  32011. Expose the applicable SVG properties from SVGRenderStyle to
  32012. RenderStyle and add them to the list of animatable
  32013. properties. There aren't many SVG properties that are
  32014. animatable directly. SVGPaint (used in "fill" and "stroke")
  32015. is supported only when both ends of the animation are
  32016. a Color. Also updated SVGLength to have some methods
  32017. for converting to and from user space units.
  32018. Test: transitions/svg-transitions.html
  32019. * page/animation/AnimationBase.cpp:
  32020. (WebCore::blendFunc):
  32021. Calls the blend method on SVGLength
  32022. (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
  32023. New property wrapper type for SVGPaint
  32024. (WebCore::PropertyWrapperSVGPaint::equals):
  32025. (WebCore::PropertyWrapperSVGPaint::blend):
  32026. (WebCore::AnimationBase::ensurePropertyMap):
  32027. * rendering/style/RenderStyle.h:
  32028. (WebCore::InheritedFlags::fillPaintType):
  32029. (WebCore::InheritedFlags::fillPaintColor):
  32030. (WebCore::InheritedFlags::setFillPaintColor):
  32031. (WebCore::InheritedFlags::strokePaintType):
  32032. (WebCore::InheritedFlags::strokePaintColor):
  32033. (WebCore::InheritedFlags::setStrokePaintColor):
  32034. (WebCore::InheritedFlags::strokeWidth):
  32035. (WebCore::InheritedFlags::setStrokeWidth):
  32036. (WebCore::InheritedFlags::strokeDashOffset):
  32037. (WebCore::InheritedFlags::setStrokeDashOffset):
  32038. (WebCore::InheritedFlags::strokeMiterLimit):
  32039. (WebCore::InheritedFlags::setStrokeMiterLimit):
  32040. (WebCore::InheritedFlags::stopOpacity):
  32041. (WebCore::InheritedFlags::setStopOpacity):
  32042. (WebCore::InheritedFlags::setStopColor):
  32043. (WebCore::InheritedFlags::setFloodColor):
  32044. (WebCore::InheritedFlags::setLightingColor):
  32045. (WebCore::InheritedFlags::baselineShiftValue):
  32046. (WebCore::InheritedFlags::setBaselineShiftValue):
  32047. (WebCore::InheritedFlags::kerning):
  32048. (WebCore::InheritedFlags::setKerning):
  32049. (WebCore::InheritedFlags::stopColor):
  32050. (WebCore::InheritedFlags::floodColor):
  32051. (WebCore::InheritedFlags::lightingColor):
  32052. * rendering/style/SVGRenderStyle.h:
  32053. (WebCore::SVGRenderStyle::stopColor):
  32054. (WebCore::SVGRenderStyle::floodColor):
  32055. (WebCore::SVGRenderStyle::lightingColor):
  32056. * svg/SVGLength.cpp:
  32057. (WebCore::SVGLength::value):
  32058. (WebCore::SVGLength::setValue):
  32059. (WebCore::SVGLength::convertValueFromUserUnits):
  32060. (WebCore::SVGLength::convertValueToUserUnits):
  32061. New conversion functions used when setting and getting values
  32062. * svg/SVGLength.h:
  32063. (WebCore::SVGLength::isZero):
  32064. (WebCore::SVGLength::blend):
  32065. Custom blend function that takes into account
  32066. whether the units of a length can be converted
  32067. in an animation, where you don't necessarily have
  32068. an SVGElement for context.
  32069. 2011-08-25 Kent Tamura <tkent@chromium.org>
  32070. REGRESSION(r90971): Fix an assertion failure with textarea placeholder.
  32071. https://bugs.webkit.org/show_bug.cgi?id=66164
  32072. Reviewed by Dave Hyatt.
  32073. Minor patch nits addressed by inferno@chromium.org, on Hyatt's
  32074. review.
  32075. Test: fast/forms/textarea-placeholder-relayout-assertion.html
  32076. * rendering/RenderTextControl.cpp:
  32077. (WebCore::RenderTextControl::layoutSpecialExcludedChild):
  32078. Pass 'false' to the 'markParents' argument of setChildNeedsLayout().
  32079. We don't need to propagate needsLayout for ancestors because
  32080. layoutSpecialExcludedChild() is called from layout() of the
  32081. parent.
  32082. 2011-08-25 Igor Oliveira <igor.oliveira@openbossa.org>
  32083. Text-overflow is broken for button elements
  32084. https://bugs.webkit.org/show_bug.cgi?id=53438
  32085. Fix text-overflow for button elements. Make the element inside
  32086. the button inherit the button controlClip.
  32087. Reviewed by David Hyatt.
  32088. Test: fast/css/button-overflow-ellipsis.html
  32089. * rendering/RenderBlockLineLayout.cpp:
  32090. (WebCore::RenderBlock::layoutInlineChildren):
  32091. * rendering/RenderBox.cpp:
  32092. (WebCore::RenderBox::controlClipRect):
  32093. * rendering/RenderBox.h:
  32094. (WebCore::RenderBox::hasControlClip):
  32095. * rendering/RenderButton.cpp:
  32096. (WebCore::RenderButton::setupInnerStyle):
  32097. 2011-08-24 Adrienne Walker <enne@google.com>
  32098. [chromium] Update VideoLayerChromium to not access GC3D on the main thread
  32099. https://bugs.webkit.org/show_bug.cgi?id=66434
  32100. Reviewed by James Robinson.
  32101. Covered by existing tests.
  32102. This change allows the main thread VideoLayerChromium to not depend on
  32103. compositor thread resources (GC3D, LayerRendererChromium). The texture
  32104. allocation in VideoLayerChromium was changed to use ManagedTexture so
  32105. that textures can now be evicted when there is texture memory pressure
  32106. and so that destruction can be automatically deferred until a GC3D is
  32107. available.
  32108. * platform/graphics/chromium/LayerRendererChromium.cpp:
  32109. * platform/graphics/chromium/LayerRendererChromium.h:
  32110. * platform/graphics/chromium/ManagedTexture.cpp:
  32111. * platform/graphics/chromium/ManagedTexture.h:
  32112. (WebCore::ManagedTexture::size):
  32113. (WebCore::ManagedTexture::format):
  32114. * platform/graphics/chromium/VideoLayerChromium.cpp:
  32115. (WebCore::VideoLayerChromium::VideoLayerChromium):
  32116. (WebCore::VideoLayerChromium::~VideoLayerChromium):
  32117. (WebCore::VideoLayerChromium::cleanupResources):
  32118. (WebCore::VideoLayerChromium::updateCompositorResources):
  32119. (WebCore::VideoLayerChromium::pushPropertiesTo):
  32120. (WebCore::VideoLayerChromium::setLayerTreeHost):
  32121. (WebCore::VideoLayerChromium::determineTextureFormat):
  32122. (WebCore::VideoLayerChromium::reserveTextures):
  32123. (WebCore::VideoLayerChromium::updateTexture):
  32124. (WebCore::VideoLayerChromium::releaseCurrentFrame):
  32125. * platform/graphics/chromium/VideoLayerChromium.h:
  32126. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  32127. (WebCore::CCLayerTreeHost::contentsTextureManager):
  32128. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  32129. * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
  32130. (WebCore::CCVideoLayerImpl::setTexture):
  32131. (WebCore::CCVideoLayerImpl::drawYUV):
  32132. (WebCore::CCVideoLayerImpl::drawRGBA):
  32133. * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
  32134. 2011-08-25 Abhishek Arya <inferno@chromium.org>
  32135. Incorrect layout of :before and :after content, with display
  32136. table, table-row and table-cell.
  32137. https://bugs.webkit.org/show_bug.cgi?id=66699
  32138. Reviewed by David Hyatt.
  32139. Tests: fast/table/table-after-child-in-table.html
  32140. fast/table/table-before-child-in-table.html
  32141. fast/table/table-cell-after-child-in-block.html
  32142. fast/table/table-cell-after-child-in-table.html
  32143. fast/table/table-cell-before-child-in-block.html
  32144. fast/table/table-cell-before-child-in-table.html
  32145. fast/table/table-row-after-child-in-block.html
  32146. fast/table/table-row-after-child-in-table.html
  32147. fast/table/table-row-before-child-in-block.html
  32148. fast/table/table-row-before-child-in-table.html
  32149. * rendering/RenderBlock.cpp:
  32150. (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
  32151. Fix the looping condition to detect :after child correctly.
  32152. isAnonymousBlock() does not apply to tables, instead
  32153. using isAnonymous().
  32154. * rendering/RenderTableRow.cpp:
  32155. (WebCore::RenderTableRow::addChild): Don't add the new child
  32156. in the generatedContainer with :before, :after content.
  32157. * rendering/RenderTableSection.cpp:
  32158. (WebCore::RenderTableSection::addChild): Don't add the new child
  32159. in the generatedContainer with :before, :after content.
  32160. 2011-08-25 Sam Weinig <sam@webkit.org>
  32161. JSHTMLImageElement (and associated Node) is abandoned when image load is canceled via beforeload
  32162. <rdar://problem/9925630>
  32163. https://bugs.webkit.org/show_bug.cgi?id=66906
  32164. Reviewed by Darin Adler.
  32165. * loader/ImageLoader.cpp:
  32166. (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
  32167. Very similar fix to the one in r93717 except this patches the case where the image load was
  32168. canceled via beforeload.
  32169. 2011-08-25 John Bates <jbates@google.com>
  32170. [chromium] Leaking SkBitmaps for background images
  32171. https://bugs.webkit.org/show_bug.cgi?id=66488
  32172. Reviewed by Stephen White.
  32173. This patch simply changes NativeImageSkia to have a SkBitmap instead of
  32174. deriving from SkBitmap. All dependent code updated to access the member
  32175. instead of calling SkBitmap methods on NativeImageSkia objects. This
  32176. may or may not fix the memory leak, but it's definitely a bug that could
  32177. cause memory leaks.
  32178. * platform/chromium/DragImageChromiumSkia.cpp:
  32179. (WebCore::createDragImageFromImage):
  32180. * platform/graphics/chromium/PlatformImage.cpp:
  32181. (WebCore::PlatformImage::updateFromImage):
  32182. * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
  32183. (WebCore::BitmapImageSingleFrameSkia::currentFrameHasAlpha):
  32184. (WebCore::BitmapImageSingleFrameSkia::size):
  32185. (WebCore::BitmapImageSingleFrameSkia::notSolidColor):
  32186. * platform/graphics/skia/GraphicsContext3DSkia.cpp:
  32187. (WebCore::GraphicsContext3D::getImageData):
  32188. * platform/graphics/skia/ImageSkia.cpp:
  32189. (WebCore::paintSkBitmap):
  32190. (WebCore::Image::drawPattern):
  32191. (WebCore::BitmapImage::checkForSolidColor):
  32192. * platform/graphics/skia/NativeImageSkia.cpp:
  32193. (WebCore::NativeImageSkia::NativeImageSkia):
  32194. (WebCore::NativeImageSkia::decodedSize):
  32195. (WebCore::NativeImageSkia::resizedBitmap):
  32196. * platform/graphics/skia/NativeImageSkia.h:
  32197. (WebCore::NativeImageSkia::bitmap):
  32198. * platform/graphics/skia/PatternSkia.cpp:
  32199. (WebCore::Pattern::platformPattern):
  32200. * platform/image-decoders/ImageDecoder.h:
  32201. (WebCore::ImageFrame::getAddr):
  32202. * platform/image-decoders/skia/ImageDecoderSkia.cpp:
  32203. (WebCore::ImageFrame::operator=):
  32204. (WebCore::ImageFrame::clearPixelData):
  32205. (WebCore::ImageFrame::zeroFillPixelData):
  32206. (WebCore::ImageFrame::copyBitmapData):
  32207. (WebCore::ImageFrame::setSize):
  32208. (WebCore::ImageFrame::hasAlpha):
  32209. (WebCore::ImageFrame::setHasAlpha):
  32210. (WebCore::ImageFrame::width):
  32211. (WebCore::ImageFrame::height):
  32212. 2011-08-25 Sheriff Bot <webkit.review.bot@gmail.com>
  32213. Unreviewed, rolling out r93774.
  32214. http://trac.webkit.org/changeset/93774
  32215. https://bugs.webkit.org/show_bug.cgi?id=66945
  32216. It broke 26 tests on the Qt bot (Requested by ossy on
  32217. #webkit).
  32218. * html/canvas/CanvasRenderingContext2D.cpp:
  32219. (WebCore::CanvasRenderingContext2D::stroke):
  32220. * platform/graphics/qt/PathQt.cpp:
  32221. (WebCore::Path::boundingRect):
  32222. 2011-08-25 Andrey Kosyakov <caseq@chromium.org>
  32223. Web Inspector: [refactoring] use PopoverHelper to implement popup in the SourceFrame
  32224. https://bugs.webkit.org/show_bug.cgi?id=66858
  32225. Reviewed by Pavel Feldman.
  32226. * inspector/front-end/DetailedHeapshotView.js:
  32227. (WebInspector.DetailedHeapshotView.prototype._showStringContentPopover):
  32228. * inspector/front-end/NetworkPanel.js:
  32229. (WebInspector.NetworkLogView.prototype.initializeView):
  32230. (WebInspector.NetworkLogView.prototype.willHide):
  32231. (WebInspector.NetworkLogView.prototype._reset):
  32232. (WebInspector.NetworkLogView.prototype.switchToBriefView):
  32233. (WebInspector.NetworkLogView.prototype._showPopover):
  32234. * inspector/front-end/Popover.js:
  32235. (WebInspector.Popover):
  32236. (WebInspector.Popover.prototype.show):
  32237. (WebInspector.Popover.prototype.dispose):
  32238. (WebInspector.PopoverHelper):
  32239. (WebInspector.PopoverHelper.prototype._mouseMove.doHide):
  32240. (WebInspector.PopoverHelper.prototype._mouseMove):
  32241. (WebInspector.PopoverHelper.prototype.hidePopover):
  32242. (WebInspector.PopoverHelper.prototype._hidePopover):
  32243. (WebInspector.PopoverHelper.prototype._mouseHover):
  32244. (WebInspector.PopoverHelper.prototype._killHidePopupTimer):
  32245. * inspector/front-end/SourceFrame.js:
  32246. (WebInspector.SourceFrame.prototype.willHide):
  32247. (WebInspector.SourceFrame.prototype._initializeTextViewer):
  32248. (WebInspector.SourceFrame.prototype._scroll):
  32249. (WebInspector.SourceFrame.prototype._mouseDown):
  32250. (WebInspector.SourceFrame.prototype._onHidePopover):
  32251. (WebInspector.SourceFrame.prototype._shouldShowPopover):
  32252. (WebInspector.SourceFrame.prototype._getPopoverAnchor):
  32253. (WebInspector.SourceFrame.prototype._highlightExpression):
  32254. (WebInspector.SourceFrame.prototype._onShowPopover.showObjectPopover):
  32255. (WebInspector.SourceFrame.prototype._onShowPopover):
  32256. * inspector/front-end/TimelinePanel.js:
  32257. (WebInspector.TimelinePanel):
  32258. (WebInspector.TimelinePanel.prototype._showPopover):
  32259. (WebInspector.TimelinePanel.prototype._closeRecordDetails):
  32260. 2011-08-25 Pavel Feldman <pfeldman@google.com>
  32261. [Qt] REGRESSION(93769): inspector/console/console-tests.html fails
  32262. https://bugs.webkit.org/show_bug.cgi?id=66930
  32263. Reviewed by Yury Semikhatsky.
  32264. Test: inspector/console/console-repeat-count.html
  32265. * inspector/front-end/ConsoleModel.js:
  32266. (WebInspector.ConsoleModel):
  32267. (WebInspector.ConsoleModel.prototype.addMessage):
  32268. (WebInspector.ConsoleModel.prototype.clearMessages):
  32269. (WebInspector.ConsoleModel.prototype.interruptRepeatCount):
  32270. (WebInspector.ConsoleModel.prototype._messageRepeatCountUpdated):
  32271. (WebInspector.ConsoleDispatcher.prototype.messageRepeatCountUpdated):
  32272. * inspector/front-end/ConsoleView.js:
  32273. (WebInspector.ConsoleView.prototype._consoleMessageAdded):
  32274. * inspector/front-end/inspector.js:
  32275. 2011-08-25 Mikhail Naganov <mnaganov@chromium.org>
  32276. Chromium: expose MemoryCache::prune and FontCache::purgeInactiveFontData.
  32277. https://bugs.webkit.org/show_bug.cgi?id=66132
  32278. Reviewed by Tony Gentilcore.
  32279. * loader/cache/MemoryCache.cpp:
  32280. (WebCore::MemoryCache::prune):
  32281. (WebCore::MemoryCache::pruneToPercentage):
  32282. * loader/cache/MemoryCache.h: Methods moved from .h to .cpp to work around compilation problem with the Win Chromium port.
  32283. 2011-08-25 Sheriff Bot <webkit.review.bot@gmail.com>
  32284. Unreviewed, rolling out r93771.
  32285. http://trac.webkit.org/changeset/93771
  32286. https://bugs.webkit.org/show_bug.cgi?id=66933
  32287. Broke css3/font-feature-settings-rendering.html on chromium
  32288. mac 10.5 (Requested by podivilov on #webkit).
  32289. * platform/graphics/mac/FontCustomPlatformData.cpp:
  32290. (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
  32291. (WebCore::createFontCustomPlatformData):
  32292. * platform/graphics/mac/FontCustomPlatformData.h:
  32293. (WebCore::FontCustomPlatformData::FontCustomPlatformData):
  32294. 2011-08-23 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
  32295. [Qt][WK2] Drive tiling from the WebProcess and reuse TiledBackingStore.
  32296. https://bugs.webkit.org/show_bug.cgi?id=66771
  32297. Reviewed by Tor Arne Vestbø.
  32298. We need the tiling logic to be moved to the web process to allow invalidated tile rects to be
  32299. rendered with the same layout. This also allows the web process to render tiles into
  32300. buffers readable directly by the GPU (on supported platforms). We also take the opportunity
  32301. to use the TiledBackingStore in WebCore to have only one tiling implementation.
  32302. Before this patch:
  32303. - TiledDrawingAreaProxy manages tiles from the UI process.
  32304. - TiledDrawingArea received rendering requests for a rect and returns the result
  32305. to the proxy through shared memory.
  32306. After this patch:
  32307. - TiledDrawingArea uses a TiledBackingStore to manage tiles from the web process.
  32308. - TiledBackingStoreRemoteTile forwards tile creations, update and removals to the proxy.
  32309. - TiledDrawingAreaProxy updates the scene graph directly from requests.
  32310. It also implements tile buffer swapping correctly in SGTileNode, triggered by the DidRenderFrame message.
  32311. Render throttling is implemented by waiting in TiledDrawingArea for the UI process to
  32312. notify us when the last rendered frame is ready to make it to the screen.
  32313. TiledDrawingAreaTileSets have been replaced by using two instances of TiledBackingStore instead.
  32314. * platform/graphics/TiledBackingStore.cpp:
  32315. (WebCore::TiledBackingStore::updateTileBuffers):
  32316. (WebCore::TiledBackingStore::coverageRatio):
  32317. (WebCore::TiledBackingStore::startTileBufferUpdateTimer):
  32318. * platform/graphics/TiledBackingStore.h:
  32319. * platform/graphics/TiledBackingStoreClient.h:
  32320. (WebCore::TiledBackingStoreClient::tiledBackingStoreIsUpdatingAllowed):
  32321. 2011-08-23 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
  32322. TiledBackingStore: Untie the tile implementation from the platform.
  32323. https://bugs.webkit.org/show_bug.cgi?id=66760
  32324. Reviewed by Kenneth Rohde Christiansen.
  32325. Make the Tile class polymorphic and introduce TiledBackingStoreBackend as a Tile factory.
  32326. * platform/graphics/Tile.h:
  32327. (WebCore::Tile::~Tile):
  32328. * platform/graphics/TiledBackingStore.cpp:
  32329. (WebCore::TiledBackingStore::TiledBackingStore):
  32330. (WebCore::TiledBackingStore::paint):
  32331. (WebCore::TiledBackingStore::createTiles):
  32332. * platform/graphics/TiledBackingStore.h:
  32333. (WebCore::TiledBackingStore::client):
  32334. * platform/graphics/TiledBackingStoreBackend.h: Added.
  32335. (WebCore::TiledBackingStoreBackend::create):
  32336. (WebCore::TiledBackingStoreBackend::~TiledBackingStoreBackend):
  32337. (WebCore::TiledBackingStoreBackend::TiledBackingStoreBackend):
  32338. * platform/graphics/qt/TileQt.cpp:
  32339. (WebCore::TileQt::TileQt):
  32340. (WebCore::TileQt::~TileQt):
  32341. (WebCore::TileQt::isDirty):
  32342. (WebCore::TileQt::isReadyToPaint):
  32343. (WebCore::TileQt::invalidate):
  32344. (WebCore::TileQt::updateBackBuffer):
  32345. (WebCore::TileQt::swapBackBufferToFront):
  32346. (WebCore::TileQt::paint):
  32347. (WebCore::TiledBackingStoreBackend::paintCheckerPattern):
  32348. (WebCore::TiledBackingStoreBackend::createTile):
  32349. * platform/graphics/qt/TileQt.h: Copied from Source/WebCore/platform/graphics/Tile.h.
  32350. (WebCore::TileQt::create):
  32351. (WebCore::TileQt::coordinate):
  32352. (WebCore::TileQt::rect):
  32353. 2011-08-25 Andreas Kling <kling@webkit.org>
  32354. [Qt] Path::boundingRect() is unnecessarily slow.
  32355. https://bugs.webkit.org/show_bug.cgi?id=66854
  32356. Reviewed by Benjamin Poulain.
  32357. * html/canvas/CanvasRenderingContext2D.cpp:
  32358. (WebCore::CanvasRenderingContext2D::stroke): Remove Qt-specific optimization
  32359. since calling Path::boundingRect() will now do exactly the same thing.
  32360. * platform/graphics/qt/PathQt.cpp:
  32361. (WebCore::Path::boundingRect): Return QPainterPath::controlPointRect() since
  32362. that is much faster than computing the (precise) QPainterPath::boundingRect()
  32363. and Path::boundingRect() is not expected to be 100% precise anyway.
  32364. 2011-08-25 Yuta Kitamura <yutak@chromium.org>
  32365. WebSocket: Queue messages to be sent
  32366. https://bugs.webkit.org/show_bug.cgi?id=66298
  32367. Reviewed by Kent Tamura.
  32368. Blobs must be read asynchronously and thus cannot be sent immediately. Therefore, we need to
  32369. create a queue of messages to be sent in order to handle pending requests.
  32370. No new tests. Strictly speaking, there is a small change in behavior but it is hard to
  32371. reproduce in tests. See description of WebSocketChannel::send below.
  32372. * websockets/WebSocketChannel.cpp:
  32373. (WebCore::WebSocketChannel::WebSocketChannel):
  32374. (WebCore::WebSocketChannel::send):
  32375. Now, this function always returns true if hybi-10 protocol is selected. The impact of this change
  32376. should be minimum, because the current WebSocket API defines the return type of WebSocket.send()
  32377. is void (see also bug 65850).
  32378. It's hard to make SocketStreamHandle::send() fail deliberately, therefore it's difficult to write
  32379. a test to detect this behavior change.
  32380. (WebCore::WebSocketChannel::didCloseSocketStream):
  32381. (WebCore::WebSocketChannel::startClosingHandshake):
  32382. (WebCore::WebSocketChannel::processFrame):
  32383. (WebCore::WebSocketChannel::enqueueTextFrame):
  32384. (WebCore::WebSocketChannel::enqueueRawFrame):
  32385. (WebCore::WebSocketChannel::processOutgoingFrameQueue):
  32386. (WebCore::WebSocketChannel::abortOutgoingFrameQueue):
  32387. * websockets/WebSocketChannel.h:
  32388. 2011-08-24 Alexander Pavlov <apavlov@chromium.org>
  32389. Web Inspector: Directional arrow on element info box looks terrible
  32390. https://bugs.webkit.org/show_bug.cgi?id=66819
  32391. Beautify the tooltip arrow, give it a better alignment in some edge cases,
  32392. and fix the tooltip font on Macs.
  32393. Reviewed by Pavel Feldman.
  32394. * inspector/DOMNodeHighlighter.cpp:
  32395. 2011-08-25 Jeremy Moskovich <jeremy@chromium.org>
  32396. Remove ATSFont*() functions in favor of CGFont in FontCustomPlatformData.cpp
  32397. https://bugs.webkit.org/show_bug.cgi?id=66629
  32398. As of r72774 and dropping support for OS X 10.4, we can safely
  32399. remove the ATS APIs from FontCustomPlatformData.cpp in favor of just the
  32400. CGFont code.
  32401. This change is motivated by a bug in ATSFontDeactivite() on 10.7 which
  32402. affects the Chromium port, due to its compiling once against the 10.5
  32403. SDK for all platforms - See crbug.com/93191 or rdar://9976774 .
  32404. Reviewed by Dan Bernstein.
  32405. No new tests - covered by existing tests.
  32406. * platform/graphics/mac/FontCustomPlatformData.cpp:
  32407. (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
  32408. (WebCore::createFontCustomPlatformData):
  32409. * platform/graphics/mac/FontCustomPlatformData.h:
  32410. (WebCore::FontCustomPlatformData::FontCustomPlatformData):
  32411. 2011-08-25 Pavel Feldman <pfeldman@google.com>
  32412. Not reviewed: rollout r93768 for breaking build.
  32413. * inspector/DOMNodeHighlighter.cpp:
  32414. 2011-08-24 Pavel Feldman <pfeldman@google.com>
  32415. Web Inspector: split ConsoleView into the View and the Model.
  32416. https://bugs.webkit.org/show_bug.cgi?id=66861
  32417. Reviewed by Yury Semikhatsky.
  32418. * WebCore.gypi:
  32419. * WebCore.vcproj/WebCore.vcproj:
  32420. * inspector/compile-front-end.sh:
  32421. * inspector/front-end/BreakpointManager.js:
  32422. * inspector/front-end/ConsoleMessage.js:
  32423. (WebInspector.ConsoleMessage.prototype._format):
  32424. * inspector/front-end/ConsoleModel.js: Added.
  32425. (WebInspector.ConsoleModel):
  32426. (WebInspector.ConsoleModel.prototype._setConsoleMessageExpiredCount):
  32427. (WebInspector.ConsoleModel.prototype.addMessage):
  32428. (WebInspector.ConsoleModel.prototype._incrementErrorWarningCount):
  32429. (WebInspector.ConsoleModel.prototype.requestClearMessages):
  32430. (WebInspector.ConsoleModel.prototype.clearMessages):
  32431. (WebInspector.ConsoleDispatcher):
  32432. (WebInspector.ConsoleDispatcher.prototype.messageAdded):
  32433. (WebInspector.ConsoleDispatcher.prototype.messageRepeatCountUpdated):
  32434. * inspector/front-end/ConsolePanel.js:
  32435. (WebInspector.ConsolePanel):
  32436. (WebInspector.ConsolePanel.prototype.performSearch):
  32437. * inspector/front-end/ConsoleView.js:
  32438. (WebInspector.ConsoleView):
  32439. (WebInspector.ConsoleView.prototype._consoleMessageAdded):
  32440. (WebInspector.ConsoleView.prototype._appendConsoleCommand):
  32441. (WebInspector.ConsoleView.prototype._appendConsoleCommandResult):
  32442. (WebInspector.ConsoleView.prototype._appendConsoleMessage):
  32443. (WebInspector.ConsoleView.prototype._consoleCleared):
  32444. (WebInspector.ConsoleView.prototype._registerShortcuts):
  32445. (WebInspector.ConsoleView.prototype._requestClearMessages):
  32446. * inspector/front-end/DebuggerModel.js:
  32447. * inspector/front-end/DebuggerPresentationModel.js:
  32448. (WebInspector.DebuggerPresentationModel):
  32449. (WebInspector.DebuggerPresentationModel.prototype.addSourceMappingListener):
  32450. (WebInspector.DebuggerPresentationModel.prototype.removeSourceMappingListener):
  32451. * inspector/front-end/NetworkLog.js: Copied from Source/WebCore/inspector/front-end/externs.js.
  32452. (WebInspector.NetworkLog):
  32453. (WebInspector.NetworkLog.prototype.get resources):
  32454. (WebInspector.NetworkLog.prototype._frameNavigated):
  32455. (WebInspector.NetworkLog.prototype._onResourceStarted):
  32456. * inspector/front-end/NetworkManager.js:
  32457. (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
  32458. (WebInspector.NetworkDispatcher.prototype._mimeTypeIsConsistentWithType):
  32459. * inspector/front-end/Resource.js:
  32460. (WebInspector.Resource.prototype.set finished):
  32461. * inspector/front-end/ResourceTreeModel.js:
  32462. (WebInspector.ResourceTreeModel):
  32463. * inspector/front-end/SourceFile.js:
  32464. (WebInspector.RawSourceCode.prototype._scriptForRawLocation):
  32465. (WebInspector.ScriptContentProvider.prototype.requestContent):
  32466. (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent.appendChunk):
  32467. (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
  32468. * inspector/front-end/UISourceCode.js:
  32469. (WebInspector.ContentProvider):
  32470. (WebInspector.ContentProvider.prototype.requestContent):
  32471. * inspector/front-end/WatchExpressionsSidebarPane.js:
  32472. (WebInspector.WatchExpressionsSection.prototype.update):
  32473. * inspector/front-end/WebKit.qrc:
  32474. * inspector/front-end/externs.js:
  32475. (WebInspector.linkifyURLAsNode):
  32476. (WebInspector.formatLinkText):
  32477. * inspector/front-end/inspector.html:
  32478. * inspector/front-end/inspector.js:
  32479. (WebInspector._createGlobalStatusBarItems):
  32480. (WebInspector._updateErrorAndWarningCounts):
  32481. (WebInspector.showConsole):
  32482. 2011-08-24 Alexander Pavlov <apavlov@chromium.org>
  32483. Web Inspector: Directional arrow on element info box looks terrible
  32484. https://bugs.webkit.org/show_bug.cgi?id=66819
  32485. Beautify the tooltip arrow, give it a better alignment in some edge cases,
  32486. and fix the tooltip font on Macs.
  32487. Reviewed by Pavel Feldman.
  32488. * inspector/DOMNodeHighlighter.cpp:
  32489. 2011-08-25 Yuta Kitamura <yutak@chromium.org>
  32490. Let MessageEvent.data hold SerializedScriptValue or String selectively
  32491. https://bugs.webkit.org/show_bug.cgi?id=66841
  32492. Reviewed by Adam Barth.
  32493. MessageEvent from WebSocket contains a String in its "data" attribute, but it does not have
  32494. to be serialized.
  32495. No new tests are added, because this is refactoring and the behavior should not change.
  32496. * bindings/js/JSMessageEventCustom.cpp:
  32497. (WebCore::JSMessageEvent::data):
  32498. To call putAnonymousValue(), "this" needs to be converted to non-const using const_cast<>.
  32499. (WebCore::JSMessageEvent::initMessageEvent):
  32500. Update the cache value as well.
  32501. * bindings/v8/custom/V8MessageEventCustom.cpp:
  32502. (WebCore::V8MessageEvent::dataAccessorGetter):
  32503. ForceSet() is used to cache a value. This is the same as what the code generated by
  32504. CodeGeneratorV8 does.
  32505. (WebCore::V8MessageEvent::initMessageEventCallback):
  32506. * dom/MessageEvent.cpp:
  32507. (WebCore::MessageEvent::MessageEvent):
  32508. (WebCore::MessageEvent::initMessageEvent):
  32509. (WebCore::MessageEvent::data):
  32510. This is only used within the Objective-C bindings (JSC and V8 have the custom functions).
  32511. Since Objective-C code generator does not support [CustomGetter] IDL attribute, there is
  32512. no good way to return a variant value for Objective-C bindings.
  32513. * dom/MessageEvent.h:
  32514. (WebCore::MessageEvent::create):
  32515. (WebCore::MessageEvent::dataType):
  32516. (WebCore::MessageEvent::dataAsSerializedScriptValue):
  32517. (WebCore::MessageEvent::dataAsString):
  32518. * dom/MessageEvent.idl:
  32519. * websockets/WebSocket.cpp:
  32520. (WebCore::WebSocket::didReceiveMessage):
  32521. Construct a MessageEvent without serializing the received message.
  32522. 2011-08-25 MORITA Hajime <morrita@google.com>
  32523. Unreviewed, rolling out r93762.
  32524. http://trac.webkit.org/changeset/93762
  32525. https://bugs.webkit.org/show_bug.cgi?id=66756
  32526. IndexedDb tests crash
  32527. * WebCore.gypi:
  32528. * WebCore.pro:
  32529. * bindings/generic/EventConstructors.h: Removed.
  32530. * bindings/v8/OptionsObject.cpp:
  32531. * bindings/v8/OptionsObject.h:
  32532. * bindings/v8/custom/V8EventConstructors.cpp: Removed.
  32533. * dom/Event.cpp:
  32534. * dom/Event.h:
  32535. (WebCore::Event::create):
  32536. * dom/Event.idl:
  32537. 2011-08-24 Kentaro Hara <haraken@google.com>
  32538. Implement an Event constructor.
  32539. https://bugs.webkit.org/show_bug.cgi?id=66756
  32540. Reviewed by Adam Barth.
  32541. The spec of the Event constructor is here:
  32542. http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-event-constructor.
  32543. This patch added the Event constructor to EventConstructors.h using
  32544. JavaScript implementation-independent macros. This patch also added the V8
  32545. implementation of these macros to V8EventConstructors.cpp.
  32546. The bug 63878 has been implementing the Event constructors for JSC.
  32547. Our plan is to first implement all the Event constructors for V8
  32548. using EventConstructors.h proposed in the JSC patch, and then merge
  32549. the JSC patch with these V8 patches. In any case, we are going to split
  32550. the patches for V8 and those for JSC in order to avoid hard regression.
  32551. Test: fast/events/event-constructors.html
  32552. * WebCore.gypi: Added V8EventConstructors.cpp.
  32553. * WebCore.pro: Added V8EventConstructors.cpp.
  32554. * bindings/generic/EventConstructors.h: Added. The Event constructor. This is written using JavaScript implementation-independent macros. The V8 implementation of these macros is written in bindings/v8/custom/V8EventConstructors.cpp.
  32555. * bindings/v8/OptionsObject.cpp:
  32556. (WebCore::OptionsObject::getKeyDouble): Returns the value of a given key of type double.
  32557. (WebCore::OptionsObject::getKey): Returns true whenever the given key is found, even if the value is null or undefined.
  32558. * bindings/v8/OptionsObject.h:
  32559. (WebCore::OptionsObject::getKeyValue): Returns the value of the given key. We need to overload getKeyValue() for all types required to EventConfiguration members.
  32560. * bindings/v8/custom/V8EventConstructors.cpp: Added. Implemented macros used in EventConstructors.h.
  32561. (WebCore::constructV8Event): The Event constructor.
  32562. * dom/Event.cpp:
  32563. (WebCore::EventConfiguration::EventConfiguration): A constructor of EventConfiguration.
  32564. (WebCore::Event::Event): A constructor of the Event class.
  32565. * dom/Event.h: Added EventConfiguration, which manages attributes of the Event class.
  32566. (WebCore::Event::create): A factory method of the Event class with EventConfiguration.
  32567. * dom/Event.idl: Added 'CanBeConstructed' and 'V8CustomConstructor'.
  32568. 2011-08-24 Philippe Normand <pnormand@igalia.com>
  32569. [GTK] bump GStreamer requirement to 0.10.30
  32570. https://bugs.webkit.org/show_bug.cgi?id=66860
  32571. Reviewed by Martin Robinson.
  32572. Use fast element linking by default.
  32573. * platform/graphics/gstreamer/GStreamerGWorld.cpp:
  32574. (WebCore::GStreamerGWorld::enterFullscreen):
  32575. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  32576. (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
  32577. 2011-08-24 James Robinson <jamesr@chromium.org>
  32578. Some layerTreeAsText compositing tests are flaky
  32579. https://bugs.webkit.org/show_bug.cgi?id=66913
  32580. Reviewed by Simon Fraser.
  32581. Remove compositingLayerUpdatePending() and unconditionally update compositing layers when
  32582. RenderLayerCompositor::layerTreeAsText(). compositingLayerUpdatePending() was only used by test code and is
  32583. unreliable.
  32584. Covered by compositing/ layerTreeAsText tests.
  32585. * rendering/RenderLayerCompositor.cpp:
  32586. (WebCore::RenderLayerCompositor::layerTreeAsText):
  32587. * rendering/RenderLayerCompositor.h:
  32588. 2011-08-24 Kentaro Hara <haraken@google.com>
  32589. Implement a keypath parser strictly following the specification
  32590. https://bugs.webkit.org/show_bug.cgi?id=62288
  32591. Reviewed by Tony Chang.
  32592. Implemented a keypath parser that accepts either an empty string, a JavaScript
  32593. identifier, or multiple JavaScript identifiers separated by periods.
  32594. We fixed createObjectStore() and createIndex() so that they parse and check
  32595. their |keypath| argument and return an appropriate exception if the |keypath|
  32596. is not valid. We also added unit tests for the new keypath parser in keypath-basics.html.
  32597. Tests: storage/indexeddb/keypath-fetch-key.html
  32598. storage/indexeddb/keypath-basics.html
  32599. * bindings/v8/IDBBindingUtilities.cpp:
  32600. (WebCore::createIDBKeyFromSerializedValueAndKeyPath): Replaced IDBKeyPathElement with String
  32601. (WebCore::injectIDBKeyIntoSerializedValue): Replaced IDBKeyPathElement with String
  32602. * bindings/v8/IDBBindingUtilities.h:
  32603. * bindings/v8/OptionsObject.cpp:
  32604. (WebCore::OptionsObject::getKeyStringWithUndefinedOrNullCheck): Returns false when a given value is null or undefined
  32605. (WebCore::OptionsObject::getKey): Removed undefined check
  32606. * storage/IDBDatabase.cpp:
  32607. (WebCore::IDBDatabase::createObjectStore): Checks if a |keypath| argument is valid, and returns a NON_TRANSIENT_ERR if it is not valid
  32608. * storage/IDBDatabaseBackendImpl.cpp:
  32609. (WebCore::IDBDatabaseBackendImpl::createObjectStore): Removed null check of a keypath
  32610. * storage/IDBKeyPath.cpp:
  32611. (WebCore::IDBKeyPathLexer::currentElement): Part of the keypath parser
  32612. (WebCore::IDBKeyPathLexer::lex): Part of the keypath parser
  32613. (WebCore::IDBKeyPathLexer::lexIdentifier): Part of the keypath parser
  32614. (WebCore::IDBIsValidKeyPath): Checks if a keypath is valid
  32615. (WebCore::IDBParseKeyPath): Part of the keypath parser
  32616. * storage/IDBKeyPath.h: Replaced IDBKeyPathElement with String
  32617. * storage/IDBObjectStore.cpp:
  32618. (WebCore::IDBObjectStore::createIndex): Checks if a |keypath| argument is valid, and returns a NON_TRANSIENT_ERR if it is not valid
  32619. * storage/IDBObjectStore.idl:
  32620. 2011-08-24 Eric Uhrhane <ericu@chromium.org>
  32621. Reviewed by Adam Barth.
  32622. [filesystem/Chromium] Filesystem paths need proper URL escaping
  32623. https://bugs.webkit.org/show_bug.cgi?id=62811
  32624. Fix http://code.google.com/p/chromium/issues/detail?id=78860 by making
  32625. KURLChromium.cpp's escaping code actually work.
  32626. Make encodeWithURLEscapeSequences call into googleurl to do proper
  32627. escaping. Tested in WebKit/chromium/tests/KURLTest.cpp.
  32628. * platform/KURLGoogle.cpp:
  32629. (WebCore::encodeWithURLEscapeSequences):
  32630. 2011-08-24 Chris Palmer <palmer@google.com>
  32631. Resolve potential integer overflow in memory allocation, and ensure
  32632. that allocation succeeds.
  32633. Reviewed by Kenneth Russell.
  32634. * platform/audio/AudioArray.h:
  32635. (WebCore::AudioArray::allocate): Check for integer overflow.
  32636. (WebCore::AudioArray::at): Document the safety assertion.
  32637. (WebCore::AudioArray::zero): Document the safety assertion.
  32638. (WebCore::AudioArray::zeroRange): Document the safety assertion.
  32639. (WebCore::AudioArray::copyToRange): Document the safety assertion.
  32640. 2011-08-24 Raphael Kubo da Costa <kubo@profusion.mobi>
  32641. [EFL] Fix build with ENABLE_GEOLOCATION.
  32642. https://bugs.webkit.org/show_bug.cgi?id=66881
  32643. Use adoptPtr() to create a new GeolocationService instance, otherwise
  32644. the build will fail when creating the PassOwnPtr object.
  32645. * platform/efl/GeolocationServiceEfl.cpp:
  32646. (WebCore::GeolocationServiceEfl::create):
  32647. 2011-08-24 Raphael Kubo da Costa <kubo@profusion.mobi>
  32648. [CMake] Fix build with ENABLE_BLOB or ENABLE_FILE_SYSTEM.
  32649. https://bugs.webkit.org/show_bug.cgi?id=66880
  32650. Generate and build some additional files required by these options.
  32651. No new tests, as this is a build fix for some build options.
  32652. * CMakeLists.txt:
  32653. 2011-08-24 Iain Merrick <husky@google.com>
  32654. [chromium] Don't call glDeleteTexture(0) in TextureManager
  32655. https://bugs.webkit.org/show_bug.cgi?id=66862
  32656. Delete(0) is allowed in standard OpenGL, but not in Chrome.
  32657. See http://code.google.com/p/chromium/issues/detail?id=85268
  32658. Reviewed by James Robinson.
  32659. * platform/graphics/chromium/TextureManager.cpp:
  32660. (WebCore::TextureManager::deleteEvictedTextures):
  32661. 2011-08-24 Adrienne Walker <enne@google.com>
  32662. [chromium] Properly initialize CCTiledLayerImpl::m_skipsDraw
  32663. https://bugs.webkit.org/show_bug.cgi?id=66889
  32664. Reviewed by James Robinson.
  32665. * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
  32666. (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
  32667. 2011-08-24 Tom Sepez <tsepez@chromium.org>
  32668. chromium WebFrameImpl - don't load javascript URLs against chrome internal
  32669. pages. Adds a mechanism for registering sensitive schemes which should
  32670. not be subject to manipulation by javascript urls typed into a location bar
  32671. or, more importantly, their bookmarklet equivalents.
  32672. https://bugs.webkit.org/show_bug.cgi?id=66720
  32673. Reviewed by Adam Barth.
  32674. Test: Chromium WebKit API unit test in chromium specific directory.
  32675. * platform/SchemeRegistry.cpp:
  32676. (WebCore::notAllowingJavascriptURLsSchemes):
  32677. (WebCore::SchemeRegistry::registerURLSchemeAsNotAllowingJavascriptURLs):
  32678. (WebCore::SchemeRegistry::shouldTreatURLSchemeAsNotAllowingJavascriptURLs):
  32679. * platform/SchemeRegistry.h:
  32680. 2011-08-24 Alexandru Chiculita <achicu@adobe.com>
  32681. [CSSRegions] Fix Element::getBoundingClientRect and Element::getClientRects for content flow
  32682. https://bugs.webkit.org/show_bug.cgi?id=66641
  32683. Original author of the patch is Mihnea Ovidenie <mihnea@adobe.com>.
  32684. Redirected the mapLocalToContainer method to the appropriate RenderRegion.
  32685. Note: RenderObject::absoluteQuads method needs some refactor to support multiple regions,
  32686. will do that in a separate bug.
  32687. Reviewed by David Hyatt.
  32688. Tests: fast/regions/flowed-content-bounding-client-rect-horizontal-bt.html
  32689. fast/regions/flowed-content-bounding-client-rect-vertical-rl.html
  32690. fast/regions/flowed-content-bounding-client-rect-vertical.html
  32691. fast/regions/flowed-content-bounding-client-rect.html
  32692. fast/regions/flowed-content-transform-bounding-client-rect.html
  32693. * rendering/RenderBox.cpp:
  32694. (WebCore::RenderBox::mapLocalToContainer):
  32695. * rendering/RenderFlowThread.cpp:
  32696. (WebCore::RenderFlowThread::renderRegionForLine):
  32697. (WebCore::RenderFlowThread::mapFromFlowToRegion):
  32698. * rendering/RenderFlowThread.h:
  32699. 2011-08-24 Alok Priyadarshi <alokp@chromium.org>
  32700. [chromium] Root layer is not updated when only a portion of tile is updated
  32701. https://bugs.webkit.org/show_bug.cgi?id=66506
  32702. This only happened in the accelerated path which changes stencil state.
  32703. Incorrect stencil state was used to draw the root layer.
  32704. Reviewed by James Robinson.
  32705. Test: compositing/overflow/overflow-scroll.html (existing)
  32706. * platform/graphics/chromium/LayerRendererChromium.cpp:
  32707. (WebCore::LayerRendererChromium::drawLayersInternal):
  32708. * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
  32709. (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
  32710. 2011-08-24 Nate Chapin <japhet@chromium.org>
  32711. Fix an intermittent crash in EventSource, when a
  32712. reconnect timer triggers after a navigation
  32713. away from the current page begins.
  32714. https://bugs.webkit.org/show_bug.cgi?id=45202
  32715. Reviewed by Alexey Proskuryakov.
  32716. Test: http/tests/eventsource/eventsource-reconnect-during-navigate-crash.html
  32717. * page/EventSource.cpp:
  32718. (WebCore::EventSource::connect): Don't set m_requestInFlight
  32719. to true if ThreadableLoader::create() failed.
  32720. 2011-08-24 Mike Reed <reed@google.com>
  32721. Change clip routine to promote the clipbounds up to (local) floats and then perform the intersection,
  32722. rather than rounding the srcRect down to integers.
  32723. https://bugs.webkit.org/show_bug.cgi?id=66810
  32724. Reviewed by Kenneth Russell.
  32725. No new tests. Existing tests that resize images will exercise this code path
  32726. * platform/graphics/skia/SkiaUtils.cpp:
  32727. (WebCore::ClipRectToCanvas):
  32728. 2011-08-24 Alexandru Chiculita <achicu@adobe.com>
  32729. [CSSRegions] RenderRegion is not used if there's another renderer after it
  32730. https://bugs.webkit.org/show_bug.cgi?id=66844
  32731. There was no call to attachRegion in RenderObjectChildList::insertChildNode, so
  32732. the region was not added to the RenderFlowThread.
  32733. Reviewed by David Hyatt.
  32734. Test: fast/regions/content-flowed-into-regions-dynamically-inserted.html
  32735. * rendering/RenderObjectChildList.cpp:
  32736. (WebCore::RenderObjectChildList::insertChildNode):
  32737. 2011-08-24 Sam Weinig <sam@webkit.org>
  32738. JSHTMLImageElement (and associated Node) is abandoned when image load is canceled
  32739. <rdar://problem/9925630>
  32740. https://bugs.webkit.org/show_bug.cgi?id=66864
  32741. Reviewed by Anders Carlsson.
  32742. In the JSC bindings, we use HTMLImageElement::hasPendingActivity() (which in turn calls
  32743. HTMLImageLoader::haveFiredLoadEvent()) to reason about the liveness of JSHTMLImageElements.
  32744. In the case that an image load is canceled, the haveFiredLoadEvent never true, so the
  32745. JSHTMLImageElement is kept alive forever (and since it references the global object, it
  32746. keeps the entire graph alive as well).
  32747. * loader/ImageLoader.cpp:
  32748. (WebCore::ImageLoader::notifyFinished):
  32749. Set m_firedLoad to true in the case of a canceled load, to reset the state back to
  32750. its initial values.
  32751. 2011-08-24 Tommy Widenflycht <tommyw@google.com>
  32752. MediaStream API: add createObjectURL functionality
  32753. https://bugs.webkit.org/show_bug.cgi?id=65925
  32754. This patch introduces the functionality for generating the url associated with a MediaStream,
  32755. which can then be assigned to the src attribute of the <video> tag for example.
  32756. Reviewed by Adam Barth.
  32757. * CMakeLists.txt:
  32758. * GNUmakefile.list.am:
  32759. * WebCore.gypi:
  32760. * WebCore.pro:
  32761. * WebCore.vcproj/WebCore.vcproj:
  32762. * WebCore.xcodeproj/project.pbxproj:
  32763. * dom/ScriptExecutionContext.cpp:
  32764. (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
  32765. (WebCore::ScriptExecutionContext::createPublicBlobURL):
  32766. (WebCore::ScriptExecutionContext::revokePublicBlobURL):
  32767. * dom/ScriptExecutionContext.h:
  32768. * html/DOMURL.cpp:
  32769. (WebCore::DOMURL::createObjectURL):
  32770. * html/DOMURL.h:
  32771. * html/DOMURL.idl:
  32772. * platform/MediaStreamRegistry.cpp: Added.
  32773. (WebCore::MediaStreamRegistry::registry):
  32774. (WebCore::MediaStreamRegistry::registerMediaStreamURL):
  32775. (WebCore::MediaStreamRegistry::unregisterMediaStreamURL):
  32776. (WebCore::MediaStreamRegistry::mediaStream):
  32777. * platform/MediaStreamRegistry.h: Copied from Source/WebCore/html/DOMURL.h.
  32778. Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
  32779. 2011-08-23 David Levin <levin@chromium.org>
  32780. MessageEvent.ports shouldn't ever be null.
  32781. https://bugs.webkit.org/show_bug.cgi?id=66789
  32782. Reviewed by Darin Adler.
  32783. * bindings/js/JSMessageEventCustom.cpp:
  32784. (WebCore::JSMessageEvent::ports): Never return null.
  32785. * bindings/v8/custom/V8MessageEventCustom.cpp:
  32786. (WebCore::V8MessageEvent::portsAccessorGetter): Ditto.
  32787. 2011-08-24 Alexandru Chiculita <achicu@adobe.com>
  32788. https://bugs.webkit.org/show_bug.cgi?id=66799
  32789. RenderFlowThread creates a list of child elements, so that it can search
  32790. the insertion point of a new element without searching the whole DOM.
  32791. The issue is that it used addChild/removeChild, but that wasn't taking care of
  32792. elements added in anonymous blocks created inside the RenderFlowThread.
  32793. Reviewed by David Hyatt.
  32794. Test: fast/regions/flow-anonymous-children.html
  32795. * rendering/RenderFlowThread.cpp:
  32796. (WebCore::RenderFlowThread::nextRendererForNode):
  32797. (WebCore::RenderFlowThread::previousRendererForNode):
  32798. (WebCore::RenderFlowThread::addFlowChild):
  32799. (WebCore::RenderFlowThread::removeFlowChild):
  32800. * rendering/RenderFlowThread.h:
  32801. * rendering/RenderObjectChildList.cpp:
  32802. (WebCore::renderFlowThreadContainer):
  32803. (WebCore::RenderObjectChildList::removeChildNode):
  32804. (WebCore::RenderObjectChildList::appendChildNode):
  32805. (WebCore::RenderObjectChildList::insertChildNode):
  32806. 2011-08-24 Pavel Feldman <pfeldman@google.com>
  32807. Web Inspector: Add 9 more javascript files to the compilation.
  32808. https://bugs.webkit.org/show_bug.cgi?id=66847
  32809. Reviewed by Yury Semikhatsky.
  32810. * WebCore.gypi:
  32811. * WebCore.vcproj/WebCore.vcproj:
  32812. * inspector/compile-front-end.sh:
  32813. * inspector/front-end/BreakpointManager.js:
  32814. * inspector/front-end/CSSStyleModel.js:
  32815. * inspector/front-end/Checkbox.js:
  32816. * inspector/front-end/ConsoleMessage.js: Added.
  32817. (WebInspector.ConsoleStackFrame):
  32818. (WebInspector.ConsoleMessage):
  32819. (WebInspector.ConsoleMessage.createTextMessage):
  32820. (WebInspector.ConsoleMessage.prototype.get stackTrace):
  32821. * inspector/front-end/ConsoleView.js:
  32822. (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded):
  32823. (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageRepeatCountUpdated):
  32824. * inspector/front-end/CookieParser.js:
  32825. * inspector/front-end/DOMAgent.js:
  32826. * inspector/front-end/DOMStorage.js:
  32827. * inspector/front-end/Database.js:
  32828. * inspector/front-end/DebuggerModel.js:
  32829. * inspector/front-end/DebuggerPresentationModel.js:
  32830. * inspector/front-end/InspectorFrontendHostStub.js:
  32831. (WebInspector.isMac):
  32832. * inspector/front-end/NetworkManager.js:
  32833. * inspector/front-end/RemoteObject.js:
  32834. (WebInspector.RemoteObject.prototype.setPropertyValue):
  32835. * inspector/front-end/Resource.js:
  32836. (WebInspector.Resource):
  32837. (WebInspector.Resource.Type.Document.0.Stylesheet.1.Image.2.Font.3.Script.4.XHR.5.WebSocket.7.Other.8.isTextType):
  32838. (WebInspector.Resource.Type.toUIString):
  32839. (WebInspector.Resource.Type.toString):
  32840. (WebInspector.Resource.prototype._checkWarnings):
  32841. (WebInspector.ResourceDomainModelBinding):
  32842. (WebInspector.ResourceDomainModelBinding.prototype.canSetContent):
  32843. (WebInspector.ResourceDomainModelBinding.prototype.setContent):
  32844. * inspector/front-end/ResourceCategory.js:
  32845. (WebInspector.ResourceCategory):
  32846. (WebInspector.ResourceCategory.prototype.toString):
  32847. (WebInspector.ResourceCategory.prototype.get title):
  32848. * inspector/front-end/ResourceTreeModel.js:
  32849. * inspector/front-end/ScriptFormatter.js:
  32850. (WebInspector.ScriptFormatter.prototype._didFormatContent):
  32851. (WebInspector.FormatterMappingPayload):
  32852. * inspector/front-end/TimelineManager.js:
  32853. * inspector/front-end/WebKit.qrc:
  32854. * inspector/front-end/externs.js:
  32855. (console.assert):
  32856. (WebInspector.linkifyURLAsNode):
  32857. (WebInspector.linkifyStringAsFragment):
  32858. (WebInspector.UIString):
  32859. (Element.prototype.scrollIntoViewIfNeeded):
  32860. * inspector/front-end/inspector.html:
  32861. * inspector/front-end/inspector.js:
  32862. (WebInspector.UIString):
  32863. * inspector/front-end/treeoutline.js:
  32864. * inspector/front-end/utilities.js:
  32865. * inspector/generate-protocol-externs:
  32866. 2011-08-24 Pavel Feldman <pfeldman@google.com>
  32867. Web Inspector: extract ConsoleMessage into a separate file.
  32868. https://bugs.webkit.org/show_bug.cgi?id=66853
  32869. Reviewed by Yury Semikhatsky.
  32870. * WebCore.gypi:
  32871. * WebCore.vcproj/WebCore.vcproj:
  32872. * inspector/front-end/ConsoleMessage.js: Added.
  32873. (WebInspector.ConsoleMessage):
  32874. (WebInspector.ConsoleMessage.createTextMessage):
  32875. (WebInspector.ConsoleMessage.prototype._formatMessage):
  32876. (WebInspector.ConsoleMessage.prototype._linkifyLocation):
  32877. (WebInspector.ConsoleMessage.prototype._linkifyCallFrame):
  32878. (WebInspector.ConsoleMessage.prototype.isErrorOrWarning):
  32879. (WebInspector.ConsoleMessage.prototype._format):
  32880. (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString.valueFormatter):
  32881. (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString.append):
  32882. (WebInspector.ConsoleMessage.prototype.clearHighlight):
  32883. (WebInspector.ConsoleMessage.prototype.highlightSearchResults):
  32884. (WebInspector.ConsoleMessage.prototype.matchesRegex):
  32885. (WebInspector.ConsoleMessage.prototype.toMessageElement):
  32886. (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
  32887. (WebInspector.ConsoleMessage.prototype._updateRepeatCount):
  32888. (WebInspector.ConsoleMessage.prototype.toString):
  32889. (WebInspector.ConsoleMessage.prototype.isEqual):
  32890. (WebInspector.ConsoleMessage.prototype.get stackTrace):
  32891. * inspector/front-end/ConsoleView.js:
  32892. * inspector/front-end/WebKit.qrc:
  32893. 2011-08-24 Tatiana Meshkova <tatiana.meshkova@nokia.com>
  32894. Paint SliderTrack and SliderThumb independently.
  32895. https://bugs.webkit.org/show_bug.cgi?id=50453
  32896. Also fixes https://bugs.webkit.org/show_bug.cgi?id=65456 crash.
  32897. Reviewed by Kenneth Rohde Christiansen.
  32898. RenderSlider works only with <input type=range>. Nowadays RenderTheme
  32899. supports painting of SliderTrack and SliderThumb without range input.
  32900. In order to be in sync with other platforms this patch gets rid of
  32901. upcasting in RenderThemeQt::paintSliderTrack and allows to paint
  32902. SliderTrack and SliderThumb independently.
  32903. Test: platform/qt/fast/forms/range/slider-crash.html
  32904. * platform/qt/RenderThemeQt.cpp:
  32905. (WebCore::RenderThemeQt::paintSliderTrack): Draw SC_SliderGroove.
  32906. Allow paintSliderThumb() to care about SC_SliderHandle. We don't need
  32907. to setup value and position anymore, since handle is drawn separately.
  32908. Draw focus explicitly, since QStyleOptionSlider doesn't allow to focus
  32909. on CC_Slider without handle subcontrol.
  32910. (WebCore::RenderThemeQt::paintSliderThumb): Draw SC_SliderHandle.
  32911. 2011-08-23 Pavel Feldman <pfeldman@google.com>
  32912. Web Inspector: annotate and prepare for compilation first 14 JavaScript files within 4 modules.
  32913. https://bugs.webkit.org/show_bug.cgi?id=66776
  32914. Reviewed by Yury Semikhatsky.
  32915. * inspector/compile-front-end.sh:
  32916. * inspector/front-end/ContextMenu.js:
  32917. * inspector/front-end/DOMAgent.js:
  32918. (WebInspector.DOMAgent.prototype._loadNodeAttributes):
  32919. (WebInspector.DOMAgent.prototype._childNodeRemoved):
  32920. (WebInspector.DOMAgent.prototype._inspectElementRequested):
  32921. (WebInspector.DOMDispatcher.prototype.inspectElementRequested):
  32922. * inspector/front-end/DebuggerModel.js:
  32923. (WebInspector.DebuggerModel.Location):
  32924. * inspector/front-end/ElementsPanel.js:
  32925. (WebInspector.ElementsPanel):
  32926. (WebInspector.ElementsPanel.prototype._inspectElementRequested):
  32927. * inspector/front-end/InspectorFrontendHostStub.js:
  32928. * inspector/front-end/KeyboardShortcut.js:
  32929. * inspector/front-end/Object.js:
  32930. (WebInspector.Object.prototype.addEventListener):
  32931. (WebInspector.Object.prototype.removeEventListener):
  32932. (WebInspector.Object.prototype.hasEventListeners):
  32933. * inspector/front-end/Panel.js:
  32934. (WebInspector.Panel):
  32935. * inspector/front-end/Placard.js:
  32936. * inspector/front-end/Popover.js:
  32937. (WebInspector.Popover.prototype.show):
  32938. * inspector/front-end/ResourcesPanel.js:
  32939. (WebInspector.ResourcesPanel):
  32940. (WebInspector.StorageCategoryTreeElement):
  32941. * inspector/front-end/Script.js:
  32942. (WebInspector.Script.prototype.editSource):
  32943. * inspector/front-end/ScriptsPanel.js:
  32944. * inspector/front-end/Settings.js:
  32945. (WebInspector.Settings):
  32946. (WebInspector.Settings.prototype.createSetting):
  32947. * inspector/front-end/SoftContextMenu.js:
  32948. (.WebInspector.SoftContextMenu.prototype._menuItemMouseUp):
  32949. (.WebInspector.SoftContextMenu.prototype._triggerAction):
  32950. (.WebInspector.SoftContextMenu.prototype._menuKeyDown):
  32951. * inspector/front-end/TabbedPane.js:
  32952. * inspector/front-end/TextPrompt.js:
  32953. * inspector/front-end/UserMetrics.js:
  32954. * inspector/front-end/View.js:
  32955. * inspector/front-end/externs.js:
  32956. (JSON.parse):
  32957. (JSON.stringify):
  32958. * inspector/front-end/inspector.js:
  32959. ():
  32960. * inspector/generate-protocol-externs:
  32961. 2011-08-24 Andreas Kling <kling@webkit.org>
  32962. SelectElementData: Reorder members to reduce memory usage.
  32963. https://bugs.webkit.org/show_bug.cgi?id=66787
  32964. Reviewed by Darin Adler.
  32965. Reduced the size of SelectElementData by 24 bytes on 64-bit by rearranging
  32966. its data members.
  32967. Also added missing initialization of m_userDrivenChange.
  32968. * dom/SelectElement.cpp:
  32969. (WebCore::SelectElementData::SelectElementData):
  32970. * dom/SelectElement.h:
  32971. 2011-08-24 Pavel Feldman <pfeldman@google.com>
  32972. Web Inspector: clearPseudoState should retain Element while clearing
  32973. its state.
  32974. https://bugs.webkit.org/show_bug.cgi?id=66790
  32975. Reviewed by Yury Semikhatsky.
  32976. * inspector/InspectorCSSAgent.cpp:
  32977. (WebCore::InspectorCSSAgent::clearPseudoState):
  32978. 2011-08-23 Mark Hahnenberg <mhahnenberg@apple.com>
  32979. Add checks to ensure allocation does not take place during initialization of GC-managed objects
  32980. https://bugs.webkit.org/show_bug.cgi?id=65288
  32981. Reviewed by Darin Adler.
  32982. No new tests.
  32983. Adding the new validation functionality. In its current state, it will performs checks,
  32984. but they don't fail unless you do allocation in the arguments to the parent constructor in the
  32985. initialization list of a class. The allocateCell() method turns on the global flag disallowing any new
  32986. allocations, and the constructorBody() method in JSCell turns it off. This way, allocation is still
  32987. allowed in constructor bodies while other refactoring efforts continue.
  32988. * bindings/js/JSDOMWindowShell.cpp:
  32989. (WebCore::JSDOMWindowShell::operator new):
  32990. * bindings/js/JSDOMWindowShell.h:
  32991. 2011-08-23 Scott Byer <scottbyer@chromium.org>
  32992. ScrollAnimatorNone coasting implementation
  32993. https://bugs.webkit.org/show_bug.cgi?id=66258
  32994. Increase the animation time based on the velocity of the scroll, up to a
  32995. maximum amount. Fix bugs found by additional unit testing.
  32996. Reviewed by James Robinson.
  32997. Additional tests in ScrollAnimatorNoneTest: CurveMathQuartic, CurveMathCoast,
  32998. ScrollOnceQuartic, ScrollTwiceCubic, ScrollLotsCubic, ScrollLotsCubicSmoothed,
  32999. ScrollUpToBumperCoast, ScrollDownToBumperCoast, VaryingInputsEquivalency,
  33000. VaryingInputsEquivalencyCoast, VaryingInputsEquivalencyCoastLarge,
  33001. VaryingInputsEquivalencyCoastSteep
  33002. * platform/ScrollAnimatorNone.cpp:
  33003. (WebCore::ScrollAnimatorNone::Parameters::Parameters):
  33004. (WebCore::ScrollAnimatorNone::PerAxisData::curveAt):
  33005. (WebCore::ScrollAnimatorNone::PerAxisData::coastCurve):
  33006. (WebCore::ScrollAnimatorNone::PerAxisData::curveIntegralAt):
  33007. (WebCore::ScrollAnimatorNone::PerAxisData::attackArea):
  33008. (WebCore::ScrollAnimatorNone::PerAxisData::releaseArea):
  33009. (WebCore::ScrollAnimatorNone::PerAxisData::PerAxisData):
  33010. (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
  33011. (WebCore::ScrollAnimatorNone::PerAxisData::updateVisibleLength):
  33012. (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
  33013. (WebCore::ScrollAnimatorNone::scroll):
  33014. (WebCore::ScrollAnimatorNone::willEndLiveResize):
  33015. (WebCore::ScrollAnimatorNone::didAddVerticalScrollbar):
  33016. (WebCore::ScrollAnimatorNone::didAddHorizontalScrollbar):
  33017. (WebCore::ScrollAnimatorNone::updateVisibleLengths):
  33018. * platform/ScrollAnimatorNone.h:
  33019. 2011-08-23 James Robinson <jamesr@chromium.org>
  33020. [chromium] Need a way to test lost compositor context recovery
  33021. https://bugs.webkit.org/show_bug.cgi?id=66820
  33022. Reviewed by Kenneth Russell.
  33023. Adds support for recreating a context as if it was lost, and fixes
  33024. compositeAndReadback() to attempt context recovery.
  33025. Test: platform/chromium/compositing/lost-compositor-context.html
  33026. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  33027. (WebCore::CCLayerTreeHost::compositeAndReadback):
  33028. (WebCore::CCLayerTreeHost::loseCompositorContext):
  33029. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  33030. 2011-08-23 Nat Duca <nduca@chromium.org>
  33031. [chromium] Implement CCThread in terms of WebThread
  33032. https://bugs.webkit.org/show_bug.cgi?id=66610
  33033. Reviewed by Darin Fisher.
  33034. * WebCore.gypi:
  33035. * platform/graphics/chromium/cc/CCCompletionEvent.h:
  33036. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  33037. (WebCore::CCLayerTreeHost::client):
  33038. * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
  33039. (WebCore::CCLayerTreeHostImplProxy::CCLayerTreeHostImplProxy):
  33040. * platform/graphics/chromium/cc/CCThread.h:
  33041. (WebCore::CCThread::~CCThread):
  33042. 2011-08-23 Iain Merrick <husky@google.com>
  33043. [chromium] Renderer crashes when about:gpucrash is loaded
  33044. https://bugs.webkit.org/show_bug.cgi?id=66814
  33045. WebViewImpl::didRecreateGraphicsContext() was calling
  33046. setRootLayer() on the CC layer tree, but the root layer
  33047. doesn't actually change and the code wasn't defensive
  33048. against this. This CL adds some asserts to catch tree
  33049. corruption and removes the unnecessary calls.
  33050. Reviewed by James Robinson.
  33051. * platform/graphics/GraphicsLayer.cpp:
  33052. (WebCore::GraphicsLayer::setParent):
  33053. * platform/graphics/GraphicsLayer.h:
  33054. * platform/graphics/chromium/LayerChromium.cpp:
  33055. (WebCore::LayerChromium::setParent):
  33056. (WebCore::LayerChromium::hasAncestor):
  33057. * platform/graphics/chromium/LayerChromium.h:
  33058. 2011-08-23 Sheriff Bot <webkit.review.bot@gmail.com>
  33059. Unreviewed, rolling out r93645.
  33060. http://trac.webkit.org/changeset/93645
  33061. https://bugs.webkit.org/show_bug.cgi?id=66828
  33062. Broke webkit_unit_tests on chromium mac (Requested by jamesr
  33063. on #webkit).
  33064. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  33065. (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
  33066. (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
  33067. 2011-08-23 Beth Dakin <bdakin@apple.com>
  33068. https://bugs.webkit.org/show_bug.cgi?id=66244
  33069. Cached pages don't fully update when going back after changing the display scale
  33070. factor
  33071. -and corresponding-
  33072. <rdar://problem/9955656>
  33073. Reviewed by Darin Adler.
  33074. This patch adds a generalized concept of needing a full style recalc to the
  33075. BackForwardController. So when the display scale factor is changed, the
  33076. BackForwardController can be informed that all pages will need a full style recalc
  33077. when they come out of the cache. This same mechanism is also used to fix a long-
  33078. standing bug with full-page/text zoom.
  33079. Iterate through the HistoryItems and mark all CachedPages as needing a full style
  33080. recalc.
  33081. * history/BackForwardController.cpp:
  33082. (WebCore::BackForwardController::markPagesForFullStyleRecalc):
  33083. * history/BackForwardController.h:
  33084. ChachedPage has a new bool -- m_needsFullStyleRecalc -- to track whether a full
  33085. style recalc is needed when the CachedPage is restored.
  33086. * history/CachedPage.cpp:
  33087. (WebCore::CachedPage::CachedPage):
  33088. (WebCore::CachedPage::restore):
  33089. (WebCore::CachedPage::clear):
  33090. * history/CachedPage.h:
  33091. (WebCore::CachedPage::markForFullStyleRecalc):
  33092. HistoryItem actually takes care of calling into CachedPage.
  33093. * history/HistoryItem.cpp:
  33094. (WebCore::HistoryItem::markForFullStyleRecalc):
  33095. * history/HistoryItem.h:
  33096. Fix style recalc issues for full-page/text zoom by calling our new function on
  33097. PageCache.
  33098. * page/Frame.cpp:
  33099. (WebCore::Frame::setPageAndTextZoomFactors):
  33100. Fix style recalc issues for display scale factor changes by calling our new
  33101. function on PageCache.
  33102. * page/Page.cpp:
  33103. (WebCore::Page::setDeviceScaleFactor):
  33104. 2011-08-23 Anders Carlsson <andersca@apple.com>
  33105. Fix build.
  33106. * inspector/InstrumentingAgents.cpp:
  33107. 2011-08-23 Chang Shu <cshu@webkit.org>
  33108. Added support for momentarily revealing last typed character in password input.
  33109. Code change was partially based on Apple's iOS code and Samuel Nevala's work.
  33110. https://bugs.webkit.org/show_bug.cgi?id=32509
  33111. Reviewed by Alexey Proskuryakov.
  33112. * editing/InsertIntoTextNodeCommand.cpp:
  33113. (WebCore::InsertIntoTextNodeCommand::doApply):
  33114. * rendering/RenderText.cpp:
  33115. (WebCore::SecureTextTimer::SecureTextTimer):
  33116. (WebCore::SecureTextTimer::restartWithNewText):
  33117. (WebCore::SecureTextTimer::invalidate):
  33118. (WebCore::SecureTextTimer::lastTypedCharacterOffset):
  33119. (WebCore::SecureTextTimer::fired):
  33120. (WebCore::RenderText::willBeDestroyed):
  33121. (WebCore::RenderText::setTextInternal):
  33122. (WebCore::RenderText::secureText):
  33123. (WebCore::RenderText::momentarilyRevealLastTypedCharacter):
  33124. * rendering/RenderText.h:
  33125. (WebCore::RenderText::isSecure):
  33126. * testing/Internals.cpp:
  33127. (WebCore::Internals::setPasswordEchoEnabled): Fixed some silly coding in Internals.
  33128. (WebCore::Internals::setPasswordEchoDurationInSeconds):
  33129. (WebCore::Internals::reset):
  33130. 2011-08-23 Dmitry Lomov <Dmitry Lomov (dslomov@google.com)>
  33131. https://bugs.webkit.org/show_bug.cgi?id=66751
  33132. [Chromium]WebWorkerClientImpl should always invoke
  33133. InspectorIntrumentation on main thread.
  33134. The fix moves calls to InspectorInstrumentation from
  33135. WebWorkerClientImpl to unedrlying WorkerMessagingProxy.
  33136. Reviewed by Pavel Feldman.
  33137. Covered by existing tests.
  33138. * inspector/InstrumentingAgents.cpp:
  33139. (WebCore::instrumentationForPage):
  33140. * workers/WorkerMessagingProxy.cpp:
  33141. (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
  33142. (WebCore::WorkerMessagingProxy::terminateWorkerContext):
  33143. 2011-08-23 Misha Tyutyunik <michael.tyutyunik@nokia.com>
  33144. [Qt] Button text is invisible when mobile theme is in use and application palette set to use light text color.
  33145. https://bugs.webkit.org/show_bug.cgi?id=66635
  33146. When mobile theme is in use and application palette is using light
  33147. color to display text button text becomes invisible. The reason for
  33148. that is that in RenderThemeQt::systemFont() we are using application
  33149. pallete while when are painting buttons lightGrayPalette is used.
  33150. Calling setPaletteFromPageClientIfExists() takes care of the issue.
  33151. Reviewed by Andreas Kling.
  33152. Covered by existing tests.
  33153. * platform/qt/RenderThemeQt.cpp:
  33154. (WebCore::RenderThemeQt::systemColor):
  33155. 2011-08-23 Tony Chang <tony@chromium.org>
  33156. Add handling of mix-width and max-width for flexitems
  33157. https://bugs.webkit.org/show_bug.cgi?id=66723
  33158. Reviewed by David Hyatt.
  33159. If we flex past a min/max width value, we need to mark the flexitem as
  33160. a fixed width and re-start the flexing algorithm. We use a HashMap to
  33161. keep track of fixed width items.
  33162. This patch also split out the size computation from the actual layout
  33163. to avoid unnecessary layouts caused by restarting the flexing algorithm.
  33164. Test: css3/flexbox/003.html
  33165. * rendering/RenderFlexibleBox.cpp:
  33166. (WebCore::RenderFlexibleBox::layoutHorizontalBlock):
  33167. (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm):
  33168. * rendering/RenderFlexibleBox.h:
  33169. 2011-08-23 Pratik Solanki <psolanki@apple.com>
  33170. ResourceRequest::setStorageSession should update NSURLRequest as well
  33171. https://bugs.webkit.org/show_bug.cgi?id=66811
  33172. Reviewed by Darin Adler.
  33173. * platform/network/cf/ResourceRequestCFNet.cpp:
  33174. (WebCore::ResourceRequest::setStorageSession): Update the m_nsRequest field as well since we
  33175. have a new CFURLRequestRef.
  33176. 2011-08-23 James Robinson <jamesr@chromium.org>
  33177. [chromium] Remove obsolete child context list from LayerRendererChromium
  33178. https://bugs.webkit.org/show_bug.cgi?id=66743
  33179. Reviewed by Kenneth Russell.
  33180. Before we had proper semantics for flush() in the command buffer, we
  33181. used a scheme of latches across contexts to ensure consistent frames
  33182. were presented for WebGL and canvas. We no longer have latches and
  33183. flush is a proper synchronization primative, so the child context list
  33184. no longer does anything. Canvas2DLayerChromium and
  33185. WebGLLayerChromium's implementations of updateCompositorResources() do
  33186. flushes on the appropriate context already - canvas layers via
  33187. DrawingBuffer::publishToPlatformLayer(), and WebGL layers via the call
  33188. to prepareTexture().
  33189. No new tests since the code being removed doesn't do anything.
  33190. * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
  33191. (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
  33192. (WebCore::Canvas2DLayerChromium::setDrawingBuffer):
  33193. * platform/graphics/chromium/Canvas2DLayerChromium.h:
  33194. * platform/graphics/chromium/LayerRendererChromium.cpp:
  33195. (WebCore::LayerRendererChromium::drawLayers):
  33196. * platform/graphics/chromium/LayerRendererChromium.h:
  33197. * platform/graphics/chromium/WebGLLayerChromium.cpp:
  33198. (WebCore::WebGLLayerChromium::~WebGLLayerChromium):
  33199. (WebCore::WebGLLayerChromium::setContext):
  33200. * platform/graphics/chromium/WebGLLayerChromium.h:
  33201. 2011-08-23 Alexei Svitkine <asvitkine@chromium.org>
  33202. Chromium Mac: Use a custom pattern image for rubber banding overhang area
  33203. https://bugs.webkit.org/show_bug.cgi?id=66707
  33204. Reviewed by Dimitri Glazkov.
  33205. No new tests since its just changing the Chromium-specific overhang pattern.
  33206. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  33207. (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
  33208. (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
  33209. 2011-08-23 Tatiana Meshkova <tatiana.meshkova@nokia.com>
  33210. Prepare to paint slider thumb separately.
  33211. Provide proper size values for vertical SliderThumb.
  33212. https://bugs.webkit.org/show_bug.cgi?id=66732
  33213. Reviewed by Kenneth Rohde Christiansen.
  33214. * platform/qt/RenderThemeQt.cpp:
  33215. (WebCore::RenderThemeQt::adjustSliderThumbSize):
  33216. Swap length and thickness for sliderthumb-vertical.
  33217. 2011-08-23 Adrienne Walker <enne@google.com>
  33218. [chromium] Fix potential nullptr deref in TiledLayerChromium::pushPropertiesTo
  33219. https://bugs.webkit.org/show_bug.cgi?id=66808
  33220. Reviewed by James Robinson.
  33221. * platform/graphics/chromium/TiledLayerChromium.cpp:
  33222. (WebCore::TiledLayerChromium::pushPropertiesTo):
  33223. * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
  33224. (WebCore::CCTiledLayerImpl::draw):
  33225. 2011-08-23 Peter Kasting <pkasting@google.com>
  33226. Unreviewed, rolling out r93452.
  33227. http://trac.webkit.org/changeset/93452
  33228. https://bugs.webkit.org/show_bug.cgi?id=66423
  33229. Broke Leopard, Snowleopard, and Chromium bots
  33230. * xml/parser/XMLDocumentParserLibxml2.cpp:
  33231. (WebCore::XMLDocumentParser::XMLDocumentParser):
  33232. 2011-08-23 Ahmad Sharif <asharif@chromium.org>
  33233. Fixed warnings produced by gcc-4.6.0.
  33234. https://bugs.webkit.org/show_bug.cgi?id=62168
  33235. Reviewed by Adam Barth.
  33236. * dom/Element.cpp:
  33237. (WebCore::Element::recalcStyle):
  33238. * platform/ScrollAnimatorNone.cpp:
  33239. (WebCore::ScrollAnimatorNone::PerAxisData::curveAt):
  33240. (WebCore::ScrollAnimatorNone::PerAxisData::curveDerivativeAt):
  33241. * thirdparty: Copied from Source/WebCore/thirdparty.
  33242. 2011-08-23 Alexandru Chiculita <achicu@adobe.com>
  33243. Text overlaps with the floats
  33244. https://bugs.webkit.org/show_bug.cgi?id=66671
  33245. The problem was that LineWidth::fitBelowFloats is not updating the m_left and m_right fields.
  33246. Next time LineWidth::shrinkAvailableWidthForNewFloatIfNeeded was called the width was recalculated
  33247. using the old values, making the line bigger.
  33248. Reviewed by David Hyatt.
  33249. Test: fast/block/float/fit_line_below_floats.html
  33250. * rendering/RenderBlockLineLayout.cpp:
  33251. (WebCore::LineWidth::fitBelowFloats):
  33252. 2011-08-23 Alexandru Chiculita <achicu@adobe.com>
  33253. [CSSRegions] RenderFlowThread layout should use the attached region sizes
  33254. https://bugs.webkit.org/show_bug.cgi?id=66143
  33255. When RenderFlowThread is doing the layout it also sets the current RenderFlowThread on
  33256. the RenderView. RenderFlowThread cannot be nested inside a single RenderView, so there's no
  33257. need to put that on the LayoutState.
  33258. The right offset used to layout the inlines inside a RenderFlowThread
  33259. is now adjusted to fit inside the current region.
  33260. Reviewed by David Hyatt.
  33261. Tests: fast/regions/webkit-flow-floats-inside-regions-bounds.html
  33262. fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl.html
  33263. fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical.html
  33264. fast/regions/webkit-flow-inlines-inside-regions-bounds.html
  33265. * rendering/LayoutState.cpp:
  33266. (WebCore::LayoutState::LayoutState):
  33267. * rendering/RenderBlock.cpp:
  33268. (WebCore::RenderBlock::layoutBlock):
  33269. (WebCore::RenderBlock::adjustForRegionFittingIfNeeded):
  33270. (WebCore::RenderBlock::logicalRightOffsetForLine):
  33271. * rendering/RenderBlock.h:
  33272. * rendering/RenderFlowThread.cpp:
  33273. (WebCore::RenderFlowThread::RenderFlowThread):
  33274. (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
  33275. (WebCore::CurrentRenderFlowThreadMaintainer::~CurrentRenderFlowThreadMaintainer):
  33276. (WebCore::RenderFlowThread::layout):
  33277. (WebCore::RenderFlowThread::renderRegionForLine):
  33278. (WebCore::RenderFlowThread::regionLogicalWidthForLine):
  33279. * rendering/RenderFlowThread.h:
  33280. (WebCore::RegionFittingDisabler::RegionFittingDisabler):
  33281. (WebCore::RegionFittingDisabler::~RegionFittingDisabler):
  33282. * rendering/RenderRegion.cpp:
  33283. (WebCore::RenderRegion::layout):
  33284. * rendering/RenderRegion.h:
  33285. * rendering/RenderView.cpp:
  33286. (WebCore::RenderView::RenderView):
  33287. * rendering/RenderView.h:
  33288. (WebCore::RenderView::hasRenderFlowThread):
  33289. (WebCore::RenderView::currentRenderFlowThread):
  33290. (WebCore::RenderView::setCurrentRenderFlowThread):
  33291. (WebCore::RenderView::pushLayoutState):
  33292. 2011-08-23 Alexandru Chiculita <achicu@adobe.com>
  33293. Text-indent and floats push the text out of the container box
  33294. https://bugs.webkit.org/show_bug.cgi?id=66662
  33295. Text indent was not propagated when a new float was pushed on the line.
  33296. It was only calculated when the logicalLeft/RightOffsetForLine was called.
  33297. Because of that RenderBlock::LineBreaker::nextLineBreak used a bigger width
  33298. than actually available and made the line render on top of the borders.
  33299. Reviewed by David Hyatt.
  33300. Tests: fast/block/float/floats-and-text-indent-rl.html
  33301. fast/block/float/floats-and-text-indent.html
  33302. * rendering/RenderBlock.cpp:
  33303. (WebCore::RenderBlock::textIndentOffset):
  33304. (WebCore::RenderBlock::logicalLeftOffsetForLine):
  33305. (WebCore::RenderBlock::logicalRightOffsetForLine):
  33306. * rendering/RenderBlock.h:
  33307. * rendering/RenderBlockLineLayout.cpp:
  33308. (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
  33309. 2011-08-23 Al Patrick <apatrick@chromium.org>
  33310. Add shareResources flag to 3D graphics context attributes
  33311. https://bugs.webkit.org/show_bug.cgi?id=66516
  33312. Reviewed by James Robinson.
  33313. * html/canvas/WebGLRenderingContext.cpp:
  33314. (WebCore::WebGLRenderingContext::create):
  33315. * platform/graphics/GraphicsContext3D.h:
  33316. (WebCore::GraphicsContext3D::Attributes::Attributes):
  33317. * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
  33318. (WebCore::SharedGraphicsContext3D::create):
  33319. 2011-08-23 Sheriff Bot <webkit.review.bot@gmail.com>
  33320. Unreviewed, rolling out r93616.
  33321. http://trac.webkit.org/changeset/93616
  33322. https://bugs.webkit.org/show_bug.cgi?id=66796
  33323. "causes fast/css/absolute-child-with-percent-height-inside-
  33324. relative-parent.html to fail" (Requested by mwenge2 on
  33325. #webkit).
  33326. * rendering/RenderBlock.cpp:
  33327. (WebCore::RenderBlock::adjustPositionedBlock):
  33328. * rendering/RenderBlock.h:
  33329. * rendering/RenderBlockLineLayout.cpp:
  33330. (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
  33331. (WebCore::setStaticPositions):
  33332. (WebCore::RenderBlock::LineBreaker::nextLineBreak):
  33333. 2011-07-25 Robert Hogan <robert@webkit.org>
  33334. div align="center" rendering problem
  33335. https://bugs.webkit.org/show_bug.cgi?id=4860
  33336. Reviewed by David Hyatt.
  33337. Tests: fast/inline/absolute-positioned-block-in-centred-block.html
  33338. fast/inline/absolute-positioned-inline-in-centred-block.html
  33339. When an element with absolute position was the sole or first child of a render block with
  33340. centred alignment, it wasn't obeying its parent's alignment. However it would obey the
  33341. alignment if it was preceded by some text. The problem was that the element's render object
  33342. was getting skipped as leading white space, so it was not included in a normal line block in
  33343. a bidi run. Instead, its position was getting set by RenderBlockLineLayout::setStaticPositions()
  33344. which does not pay attention to alignment. Preceding the element with some text allowed the object
  33345. to get included in a Bidi run and so get a linebox which would get properly aligned.
  33346. The fix is to get RenderBlockLineLayout::setStaticPositions() to obey the alignment specified by
  33347. the object's container. This allows WebKit to get the same result on the test as Firefox and IE.
  33348. Opera has the same bug as unpatched WebKit.
  33349. * rendering/RenderBlock.cpp:
  33350. (WebCore::RenderBlock::adjustPositionedBlock): use startAlignedOffsetForBlock
  33351. * rendering/RenderBlock.h:
  33352. * rendering/RenderBlockLineLayout.cpp:
  33353. (WebCore::RenderBlock::updateLogicalWidthForAlignment):
  33354. (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Move the alignment check to updateLogicalWidthForAlignment.
  33355. (WebCore::setStaticPositions): use startAlignedOffsetForLine and use startAlignedOffsetForBlock
  33356. (WebCore::RenderBlock::LineBreaker::nextLineBreak): use startAlignedOffsetForLine
  33357. (WebCore::RenderBlock::startAlignedOffsetForBlock): New function, find the aligned offset using updateLogicalWidthForAlignment
  33358. (WebCore::RenderBlock::startAlignedOffsetForLine): ditto
  33359. * rendering/RenderBlock.h:
  33360. * rendering/RenderBlockLineLayout.cpp:
  33361. (WebCore::RenderBlock::updateLogicalWidthForAlignment):
  33362. (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Move the alignment check to updateLogicalWidthForAlignment.
  33363. (WebCore::setStaticPositions): use startAlignedOffsetForLine.
  33364. (WebCore::RenderBlock::startAlignedOffsetForLine): New function, find the aligned offset using updateLogicalWidthForAlignment
  33365. 2011-08-23 Adrienne Walker <enne@google.com>
  33366. [chromium] Remove LayerRendererChromium references from TiledLayerChromium
  33367. https://bugs.webkit.org/show_bug.cgi?id=66433
  33368. Reviewed by James Robinson.
  33369. Covered by existing tests.
  33370. Updated TiledLayerChromium and the texture updater classes to not
  33371. access LayerRendererChromium or cache GraphicsContext3D. Some settings
  33372. like max texture size were moved from LayerRendererChromium to
  33373. CCLayerTreeHost in order to facilitate this refactoring.
  33374. LayerTextureUpdaterSkPicture has been #ifdef'd to only work when the
  33375. compositor is not threaded. It will need to be refactored more in
  33376. order to not own graphics resources from the main thread.
  33377. * platform/graphics/chromium/ContentLayerChromium.cpp:
  33378. (WebCore::ContentLayerChromium::paintContentsIfDirty):
  33379. (WebCore::ContentLayerChromium::createTextureUpdater):
  33380. * platform/graphics/chromium/ContentLayerChromium.h:
  33381. * platform/graphics/chromium/ImageLayerChromium.cpp:
  33382. (WebCore::ImageLayerTextureUpdater::create):
  33383. (WebCore::ImageLayerTextureUpdater::updateTextureRect):
  33384. (WebCore::ImageLayerTextureUpdater::ImageLayerTextureUpdater):
  33385. (WebCore::ImageLayerChromium::paintContentsIfDirty):
  33386. (WebCore::ImageLayerChromium::createTextureUpdater):
  33387. * platform/graphics/chromium/ImageLayerChromium.h:
  33388. * platform/graphics/chromium/LayerChromium.cpp:
  33389. (WebCore::LayerChromium::setLayerRenderer):
  33390. (WebCore::LayerChromium::setLayerTreeHost):
  33391. * platform/graphics/chromium/LayerChromium.h:
  33392. * platform/graphics/chromium/LayerRendererChromium.cpp:
  33393. * platform/graphics/chromium/LayerRendererChromium.h:
  33394. * platform/graphics/chromium/LayerTextureUpdater.h:
  33395. (WebCore::LayerTextureUpdater::LayerTextureUpdater):
  33396. * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
  33397. (WebCore::LayerTextureUpdaterCanvas::LayerTextureUpdaterCanvas):
  33398. (WebCore::LayerTextureUpdaterBitmap::create):
  33399. (WebCore::LayerTextureUpdaterBitmap::LayerTextureUpdaterBitmap):
  33400. (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
  33401. (WebCore::LayerTextureUpdaterSkPicture::create):
  33402. (WebCore::LayerTextureUpdaterSkPicture::LayerTextureUpdaterSkPicture):
  33403. (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
  33404. * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
  33405. (WebCore::LayerTextureUpdaterSkPicture::context):
  33406. * platform/graphics/chromium/TiledLayerChromium.cpp:
  33407. (WebCore::TiledLayerChromium::setLayerTreeHost):
  33408. (WebCore::TiledLayerChromium::updateCompositorResources):
  33409. (WebCore::TiledLayerChromium::invalidateRect):
  33410. (WebCore::TiledLayerChromium::prepareToUpdate):
  33411. * platform/graphics/chromium/TiledLayerChromium.h:
  33412. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  33413. (WebCore::CCLayerTreeHost::CCLayerTreeHost):
  33414. (WebCore::CCLayerTreeHost::initialize):
  33415. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  33416. (WebCore::CCLayerTreeHost::layerRenderer):
  33417. (WebCore::CCLayerTreeHost::contextSupportsMapSub):
  33418. (WebCore::CCLayerTreeHost::maxTextureSize):
  33419. (WebCore::CCLayerTreeHost::bestTextureFormat):
  33420. 2011-08-23 Julien Chaffraix <jchaffraix@webkit.org>
  33421. Reduce the amount of RenderLayer rectangles' update when scrolling
  33422. https://bugs.webkit.org/show_bug.cgi?id=66618
  33423. Reviewed by David Hyatt.
  33424. This patch avoids recomputing the RenderLayers rectangles if not needed.
  33425. The current code path for scrolling would update RenderLayers' repaint rectangles
  33426. twice. However we do need to update only children of a fixed element as they are
  33427. the only type of layers that move during a scroll.
  33428. We just change a call to updateLayerPositions for a call to updateLayerPositionsAfterScroll.
  33429. updateLayerPositions being pessimist about the layer's state - because it is called after layout -
  33430. it is missing some optimization that can be done during scrolling.
  33431. Tests: fast/repaint/scroll-absolute-layer-with-reflection.html
  33432. fast/repaint/scroll-fixed-layer-with-reflection.html
  33433. fast/repaint/scroll-fixed-layer-with-transformed-parent-layer.html
  33434. fast/repaint/scroll-fixed-reflected-layer.html
  33435. fast/repaint/scroll-in-clipped-layer.html
  33436. fast/repaint/scroll-in-fixed-layer.html
  33437. fast/repaint/scroll-in-transformed-layer.html
  33438. fast/repaint/scroll-with-transformed-parent-layer.html
  33439. * rendering/RenderLayer.h:
  33440. * page/FrameView.cpp:
  33441. (WebCore::FrameView::repaintFixedElementsAfterScrolling):
  33442. Updated those 2 call sites after updateRepaintRectsAfterScroll renaming.
  33443. * rendering/RenderLayer.cpp:
  33444. (WebCore::RenderLayer::updateLayerPositionsAfterScroll): Beefed up the method
  33445. to take care of also updating the layer's position (that sounded like a bug in
  33446. the previous code that is covered by the tests above). Note that we don't care
  33447. if one of our ancestor has a fixed position as we are scrolling *inside* this
  33448. ancestor.
  33449. (WebCore::RenderLayer::scrollTo): Call updateLayerPositionsAfterScroll instead of
  33450. updateLayerPositions.
  33451. 2011-08-23 Jeffrey Pfau <jpfau@apple.com>
  33452. New XML parser: pretty XML tree viewer
  33453. https://bugs.webkit.org/show_bug.cgi?id=66489
  33454. Reviewed by Adam Barth.
  33455. * xml/parser/NewXMLDocumentParser.cpp:
  33456. (WebCore::NewXMLDocumentParser::finish):
  33457. 2011-08-23 Jessie Berlin <jberlin@apple.com>
  33458. Build fix.
  33459. * inspector/InspectorDOMAgent.h:
  33460. HighlightData is a struct, not a class.
  33461. 2011-08-23 Andrey Kosyakov <caseq@chromium.org>
  33462. Web Inspector: [Extensions API] provide access to page resources
  33463. https://bugs.webkit.org/show_bug.cgi?id=66767
  33464. Reviewed by Pavel Feldman.
  33465. Test: inspector/extensions/extensions-resources.html
  33466. * inspector/front-end/ExtensionAPI.js:
  33467. (WebInspector.injectedExtensionAPI.EventSinkImpl.prototype.addListener):
  33468. (WebInspector.injectedExtensionAPI):
  33469. (WebInspector.injectedExtensionAPI.RequestImpl.prototype.getContent):
  33470. (WebInspector.injectedExtensionAPI.InspectedWindow.resourceDispatch):
  33471. (WebInspector.injectedExtensionAPI.InspectedWindow.resourceContentDispatch):
  33472. (WebInspector.injectedExtensionAPI.InspectedWindow):
  33473. (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.eval):
  33474. (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.getResources):
  33475. (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.getResources.callbackWrapper):
  33476. (WebInspector.injectedExtensionAPI.ResourceImpl.prototype.get url):
  33477. (WebInspector.injectedExtensionAPI.ResourceImpl.prototype.get type):
  33478. (WebInspector.injectedExtensionAPI.ResourceImpl.prototype.getContent):
  33479. (WebInspector.injectedExtensionAPI.ResourceImpl.prototype.setContent):
  33480. * inspector/front-end/ExtensionServer.js:
  33481. (WebInspector.ExtensionServer):
  33482. (WebInspector.ExtensionServer.prototype._notifyResourceAdded):
  33483. (WebInspector.ExtensionServer.prototype.notifyResourceContentCommitted):
  33484. (WebInspector.ExtensionServer.prototype._makeResource):
  33485. (WebInspector.ExtensionServer.prototype._onGetPageResources):
  33486. (WebInspector.ExtensionServer.prototype._getResourceContent):
  33487. (WebInspector.ExtensionServer.prototype._onGetRequestContent):
  33488. (WebInspector.ExtensionServer.prototype._onGetResourceContent):
  33489. (WebInspector.ExtensionServer.prototype._onSetResourceContent):
  33490. (WebInspector.ExtensionServer.prototype.initExtensions):
  33491. * inspector/front-end/Resource.js:
  33492. (WebInspector.Resource.prototype.addRevision):
  33493. 2011-08-23 Pavel Feldman <pfeldman@google.com>
  33494. Not reviewed: fixing build. One line drive-by typo fix in the inspector shortcut (Esc -> Backspace).
  33495. * inspector/InspectorDOMAgent.cpp:
  33496. (WebCore::InspectorDOMAgent::highlightFrame):
  33497. * inspector/front-end/treeoutline.js:
  33498. (TreeOutline.prototype._treeKeyDown):
  33499. 2011-08-23 Alexander Pavlov <apavlov@chromium.org>
  33500. Web Inspector: differentiate element highlight colors for margin and padding
  33501. https://bugs.webkit.org/show_bug.cgi?id=37768
  33502. The highlighting WIP API is slightly changed: clients will specify colors for certain elements of the highlighted objects,
  33503. rather than a generic "highlighting mode". This allows to:
  33504. - use entirely custom colors for highlighting (and vary them over time);
  33505. - display any combination of fill/outline for the highlighted area;
  33506. - highlight any combinations of element parts.
  33507. Reviewed by Pavel Feldman.
  33508. * inspector/DOMNodeHighlighter.cpp:
  33509. (WebCore::DOMNodeHighlighter::drawHighlight):
  33510. * inspector/DOMNodeHighlighter.h:
  33511. * inspector/Inspector.json:
  33512. * inspector/InspectorDOMAgent.cpp:
  33513. (WebCore::parseColor):
  33514. (WebCore::parseConfigColor):
  33515. (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
  33516. (WebCore::InspectorDOMAgent::clearFrontend):
  33517. (WebCore::InspectorDOMAgent::highlightedNode):
  33518. (WebCore::InspectorDOMAgent::handleMousePress):
  33519. (WebCore::InspectorDOMAgent::mouseDidMoveOverElement):
  33520. (WebCore::InspectorDOMAgent::setSearchingForNode):
  33521. (WebCore::InspectorDOMAgent::setInspectModeEnabled):
  33522. (WebCore::InspectorDOMAgent::setHighlightDataFromConfig):
  33523. (WebCore::InspectorDOMAgent::highlight):
  33524. (WebCore::InspectorDOMAgent::highlightRect):
  33525. (WebCore::InspectorDOMAgent::highlightNode):
  33526. (WebCore::InspectorDOMAgent::highlightFrame):
  33527. (WebCore::InspectorDOMAgent::hideHighlight):
  33528. (WebCore::InspectorDOMAgent::drawHighlight):
  33529. * inspector/InspectorDOMAgent.h:
  33530. * inspector/front-end/Color.js:
  33531. (WebInspector.Color.fromRGBA):
  33532. (WebInspector.Color.prototype.toProtocolRGBA):
  33533. * inspector/front-end/ElementsPanel.js:
  33534. (WebInspector.ElementsPanel.prototype.setSearchingForNode):
  33535. * inspector/front-end/MetricsSidebarPane.js:
  33536. (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode.handleMouseOver):
  33537. (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode.handleMouseOut):
  33538. (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode):
  33539. * inspector/front-end/ResourcesPanel.js:
  33540. (WebInspector.FrameTreeElement.prototype.set hovered):
  33541. * inspector/front-end/TimelinePanel.js:
  33542. (WebInspector.TimelinePanel.prototype._highlightRect):
  33543. * inspector/front-end/inspector.css:
  33544. * inspector/front-end/inspector.js:
  33545. (WebInspector.buildHighlightConfig):
  33546. (WebInspector.highlightDOMNode):
  33547. 2011-08-23 Sheriff Bot <webkit.review.bot@gmail.com>
  33548. Unreviewed, rolling out r93579.
  33549. http://trac.webkit.org/changeset/93579
  33550. https://bugs.webkit.org/show_bug.cgi?id=66774
  33551. "ASSERTION FAILED: m_purgePreventCount" (Requested by tonyg-cr
  33552. on #webkit).
  33553. * platform/graphics/chromium/FontCacheLinux.cpp:
  33554. (WebCore::FontCache::getFontDataForCharacters):
  33555. 2011-08-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
  33556. [Qt] Fix build on Lion
  33557. https://bugs.webkit.org/show_bug.cgi?id=66770
  33558. Reviewed by Andreas Kling.
  33559. We were mistakenly picking up mac/WebCoreSystemInterface.h instead of
  33560. the Qt one, and building on Lion revealed this when a typedef for
  33561. IOSurfaceRef was wrapped in PLATFORM(MAC).
  33562. For now we fix this by including WebCoreSystemInterface using
  33563. brackets, so that we'll pick up the right file based on the
  33564. include paths. This also means exposing a few missing enums
  33565. in our own version of the file, so those were added.
  33566. Lasty, we need to link against the right system interface library
  33567. on Lion.
  33568. * platform/mac/WebVideoFullscreenHUDWindowController.mm:
  33569. * platform/qt/WebCoreSystemInterface.h:
  33570. 2011-08-23 Steve Block <steveblock@google.com>
  33571. Remove last occurrences of PLATFORM(ANDROID)
  33572. https://bugs.webkit.org/show_bug.cgi?id=66763
  33573. Reviewed by Tony Gentilcore.
  33574. No new tests, removing dead code only.
  33575. * bindings/v8/V8GCController.cpp:
  33576. (WebCore::V8GCController::checkMemoryUsage):
  33577. 2011-08-23 Steve Block <steveblock@google.com>
  33578. Remove Android-specific modifications to non-client-based Geolocation
  33579. https://bugs.webkit.org/show_bug.cgi?id=66759
  33580. Reviewed by Tony Gentilcore.
  33581. No new tests, removing dead code only.
  33582. * page/Geolocation.cpp:
  33583. * page/Geolocation.h:
  33584. * platform/GeolocationService.h:
  33585. * platform/efl/GeolocationServiceEfl.cpp:
  33586. * platform/efl/GeolocationServiceEfl.h:
  33587. * platform/gtk/GeolocationServiceGtk.cpp:
  33588. * platform/gtk/GeolocationServiceGtk.h:
  33589. 2011-08-19 Pavel Podivilov <podivilov@chromium.org>
  33590. Web Inspector: switch to using BreakpointManager.
  33591. https://bugs.webkit.org/show_bug.cgi?id=66225
  33592. Reviewed by Pavel Feldman.
  33593. * inspector/front-end/DebuggerPresentationModel.js:
  33594. (WebInspector.DebuggerPresentationModel):
  33595. (WebInspector.DebuggerPresentationModel.prototype._addScript.didCreateSourceMapping):
  33596. (WebInspector.DebuggerPresentationModel.prototype._addScript):
  33597. (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
  33598. (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
  33599. (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
  33600. (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
  33601. (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
  33602. (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
  33603. (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
  33604. (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
  33605. (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
  33606. (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
  33607. (WebInspector.PresentationBreakpoint.prototype.loadSnippet):
  33608. * inspector/front-end/SourceFile.js:
  33609. (WebInspector.RawSourceCode):
  33610. 2011-08-23 Steve Block <steveblock@google.com>
  33611. Remove all mention of removed Android files from build scripts
  33612. https://bugs.webkit.org/show_bug.cgi?id=66755
  33613. Reviewed by Tony Gentilcore.
  33614. No new tests, removing dead code only.
  33615. * WebCore.gyp/WebCore.gyp:
  33616. * WebCore.gypi:
  33617. * gyp/WebCore.gyp:
  33618. 2011-08-23 Mikhail Naganov <mnaganov@chromium.org>
  33619. Web Inspector: [Chromium] Fix handling of aggregate names in profiler.
  33620. https://bugs.webkit.org/show_bug.cgi?id=66753
  33621. Reviewed by Pavel Feldman.
  33622. * inspector/front-end/HeapSnapshot.js:
  33623. (WebInspector.HeapSnapshot.prototype._buildAggregates):
  33624. 2011-08-23 Adam Barth <abarth@webkit.org>
  33625. Remove WebCore/editing/android and other Android-specific directories
  33626. https://bugs.webkit.org/show_bug.cgi?id=66739
  33627. Reviewed by Steve Block.
  33628. Now that Android shares more code with Chromium, we don't need these
  33629. Android-specific files.
  33630. * editing/android: Removed.
  33631. * editing/android/EditorAndroid.cpp: Removed.
  33632. * history/android: Removed.
  33633. * history/android/AndroidWebHistoryBridge.h: Removed.
  33634. * history/android/HistoryItemAndroid.cpp: Removed.
  33635. * page/android: Removed.
  33636. * page/android/DragControllerAndroid.cpp: Removed.
  33637. * page/android/EventHandlerAndroid.cpp: Removed.
  33638. * platform/network/android: Removed.
  33639. * platform/network/android/AuthenticationChallenge.h: Removed.
  33640. * platform/network/android/CookieJarAndroid.cpp: Removed.
  33641. * platform/network/android/ProxyServerAndroid.cpp: Removed.
  33642. * platform/network/android/ResourceError.h: Removed.
  33643. * platform/network/android/ResourceHandleAndroid.cpp: Removed.
  33644. * platform/network/android/ResourceLoaderAndroid.h: Removed.
  33645. * platform/network/android/ResourceRequest.h: Removed.
  33646. * platform/network/android/ResourceRequestAndroid.cpp: Removed.
  33647. * platform/network/android/ResourceResponse.h: Removed.
  33648. * platform/text/android: Removed.
  33649. * platform/text/android/HyphenationAndroid.cpp: Removed.
  33650. * platform/text/android/TextBreakIteratorInternalICU.cpp: Removed.
  33651. 2011-08-23 Adam Barth <abarth@webkit.org>
  33652. Remove WebCore/platform/android
  33653. https://bugs.webkit.org/show_bug.cgi?id=66734
  33654. Reviewed by Steve Block.
  33655. This directory is not needed now that Android shares more code with
  33656. Chromium.
  33657. * platform/android: Removed.
  33658. * platform/android/ClipboardAndroid.cpp: Removed.
  33659. * platform/android/ClipboardAndroid.h: Removed.
  33660. * platform/android/CursorAndroid.cpp: Removed.
  33661. * platform/android/DragDataAndroid.cpp: Removed.
  33662. * platform/android/EventLoopAndroid.cpp: Removed.
  33663. * platform/android/FileSystemAndroid.cpp: Removed.
  33664. * platform/android/GeolocationServiceAndroid.cpp: Removed.
  33665. * platform/android/GeolocationServiceAndroid.h: Removed.
  33666. * platform/android/GeolocationServiceBridge.cpp: Removed.
  33667. * platform/android/GeolocationServiceBridge.h: Removed.
  33668. * platform/android/KeyEventAndroid.cpp: Removed.
  33669. * platform/android/LanguageAndroid.cpp: Removed.
  33670. * platform/android/LocalizedStringsAndroid.cpp: Removed.
  33671. * platform/android/PlatformBridge.h: Removed.
  33672. * platform/android/PlatformTouchEventAndroid.cpp: Removed.
  33673. * platform/android/PlatformTouchPointAndroid.cpp: Removed.
  33674. * platform/android/PopupMenuAndroid.cpp: Removed.
  33675. * platform/android/RenderThemeAndroid.cpp: Removed.
  33676. * platform/android/RenderThemeAndroid.h: Removed.
  33677. * platform/android/SSLKeyGeneratorAndroid.cpp: Removed.
  33678. * platform/android/ScreenAndroid.cpp: Removed.
  33679. * platform/android/ScrollViewAndroid.cpp: Removed.
  33680. * platform/android/SearchPopupMenuAndroid.cpp: Removed.
  33681. * platform/android/SharedTimerAndroid.cpp: Removed.
  33682. * platform/android/SoundAndroid.cpp: Removed.
  33683. * platform/android/SystemTimeAndroid.cpp: Removed.
  33684. * platform/android/TemporaryLinkStubs.cpp: Removed.
  33685. * platform/android/WidgetAndroid.cpp: Removed.
  33686. 2011-08-23 Pavel Feldman <pfeldman@google.com>
  33687. Not reviewed. Adding a file that slipped from r93586.
  33688. * inspector/generate-protocol-externs: Added.
  33689. 2011-08-22 Pavel Feldman <pfeldman@google.com>
  33690. Web Inspector: generate protocol externs API for the front-end compilation.
  33691. https://bugs.webkit.org/show_bug.cgi?id=66677
  33692. Reviewed by Tony Gentilcore.
  33693. * inspector/Inspector.json:
  33694. * inspector/InspectorDOMAgent.cpp:
  33695. (WebCore::InspectorDOMAgent::setAttributesText):
  33696. * inspector/InspectorDOMAgent.h:
  33697. * inspector/InspectorDebuggerAgent.cpp:
  33698. (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
  33699. * inspector/InspectorDebuggerAgent.h:
  33700. * inspector/compile-front-end.sh: Added.
  33701. * inspector/front-end/DOMAgent.js:
  33702. (WebInspector.DOMNode.prototype.setAttribute):
  33703. * inspector/front-end/DebuggerModel.js:
  33704. (WebInspector.DebuggerModel.prototype.setBreakpoint):
  33705. * inspector/front-end/externs.js: Added.
  33706. (console.warn):
  33707. 2011-08-22 Pavel Feldman <pfeldman@google.com>
  33708. Web Inspector: Prepare utilities.js for compilation.
  33709. https://bugs.webkit.org/show_bug.cgi?id=66656
  33710. Removes "this" usage in functions, does not define getters for offsets.
  33711. Reviewed by Tony Gentilcore.
  33712. * inspector/front-end/ConsoleView.js:
  33713. (WebInspector.ConsoleMessage.prototype._format):
  33714. (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString.valueFormatter):
  33715. * inspector/front-end/DOMAgent.js:
  33716. (WebInspector.DOMNode.prototype.appropriateSelectorFor):
  33717. (WebInspector.DOMNode.prototype.isAncestor):
  33718. (WebInspector.DOMNode.prototype.isDescendant):
  33719. (WebInspector.DOMNode.prototype.isWhitespace):
  33720. * inspector/front-end/DataGrid.js:
  33721. (WebInspector.DataGrid.prototype._resizerDragging):
  33722. (WebInspector.DataGridNode.prototype.isEventWithinDisclosureTriangle):
  33723. * inspector/front-end/Drawer.js:
  33724. (WebInspector.Drawer.prototype.get savedHeight):
  33725. (WebInspector.Drawer.prototype.onResize):
  33726. (WebInspector.Drawer.prototype._startStatusBarDragging):
  33727. (WebInspector.Drawer.prototype._statusBarDragging):
  33728. * inspector/front-end/ElementsPanel.js:
  33729. (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
  33730. (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
  33731. (WebInspector.ElementsPanel.prototype.updateBreadcrumbSizes.crumbsAreSmallerThanContainer):
  33732. * inspector/front-end/ElementsTreeOutline.js:
  33733. (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
  33734. (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
  33735. ():
  33736. * inspector/front-end/RemoteObject.js:
  33737. (WebInspector.RemoteObject):
  33738. * inspector/front-end/ResourceTimingView.js:
  33739. (WebInspector.ResourceTimingView.createTimingTable):
  33740. * inspector/front-end/ResourcesPanel.js:
  33741. (WebInspector.BaseStorageTreeElement.prototype.isEventWithinDisclosureTriangle):
  33742. * inspector/front-end/ScriptsPanel.js:
  33743. (WebInspector.ScriptsPanel.prototype._startSidebarResizeDrag):
  33744. * inspector/front-end/SoftContextMenu.js:
  33745. (.WebInspector.SoftContextMenu.prototype.show):
  33746. * inspector/front-end/Toolbar.js:
  33747. (WebInspector.ToolbarDropdown.prototype.show):
  33748. * inspector/front-end/WatchExpressionsSidebarPane.js:
  33749. (WebInspector.WatchExpressionsSection.prototype._updateHoveredElement):
  33750. * inspector/front-end/inspector.js:
  33751. (Number.secondsToString):
  33752. (Number.bytesToString):
  33753. * inspector/front-end/treeoutline.js:
  33754. (TreeElement.prototype.isEventWithinDisclosureTriangle):
  33755. * inspector/front-end/utilities.js:
  33756. (setupPrototypeUtilities.Element.prototype.totalOffsetLeft):
  33757. (setupPrototypeUtilities.Element.prototype.totalOffsetTop):
  33758. (setupPrototypeUtilities.Element.prototype.offsetRelativeToWindow):
  33759. (setupPrototypeUtilities):
  33760. (setupPrototypeUtilities.):
  33761. ():
  33762. 2011-08-22 John Bates <jbates@google.com>
  33763. Implemented skia support for caching resizes of cropped images.
  33764. https://bugs.webkit.org/show_bug.cgi?id=65587
  33765. Reviewed by Darin Fisher.
  33766. Previously, resizes of cropped images would not be cached. This causes various websites to have janky CSS animations in software compositing mode.
  33767. * platform/graphics/skia/ImageSkia.cpp:
  33768. (WebCore::drawResampledBitmap): Changed to use new APIs for subset caching.
  33769. (WebCore::Image::drawPattern): Added allowCaching parameter.
  33770. * platform/graphics/skia/NativeImageSkia.cpp:
  33771. (WebCore::NativeImageSkia::NativeImageSkia):
  33772. (WebCore::NativeImageSkia::CachedImageInfo::CachedImageInfo):
  33773. (WebCore::NativeImageSkia::CachedImageInfo::isEqual):
  33774. (WebCore::NativeImageSkia::CachedImageInfo::set):
  33775. (WebCore::NativeImageSkia::hasResizedBitmap): Changed this method so that it does not modify caching data. Added a second version used for cropped image resizes.
  33776. (WebCore::NativeImageSkia::resizedBitmap): Added parameter to let caller specify whether caching is allowed.
  33777. (WebCore::NativeImageSkia::shouldCacheResampling): Added a second version used for cropped image resizes.
  33778. (WebCore::NativeImageSkia::shouldCacheResamplingInternal): Both shouldCacheResampling methods call down to this for the shared logic.
  33779. * platform/graphics/skia/NativeImageSkia.h: Added CachedImageInfo to uniquely identify the cached or requested image resize operation.
  33780. 2011-08-22 Tony Gentilcore <tonyg@chromium.org>
  33781. [chromium] Fonts returned by FontCache::getFontDataForCharacters() are never released
  33782. https://bugs.webkit.org/show_bug.cgi?id=66673
  33783. Reviewed by James Robinson.
  33784. This was fixed for other ports in http://trac.webkit.org/changeset/88260.
  33785. However, it was missed in FontCacheLinux likely due to similar param in the nested call to getCachedFontPlatformData().
  33786. No new tests because no directly observable change in behavior.
  33787. * platform/graphics/chromium/FontCacheLinux.cpp:
  33788. (WebCore::FontCache::getFontDataForCharacters):
  33789. 2011-08-22 Sheriff Bot <webkit.review.bot@gmail.com>
  33790. Unreviewed, rolling out r93565.
  33791. http://trac.webkit.org/changeset/93565
  33792. https://bugs.webkit.org/show_bug.cgi?id=66745
  33793. Breaks layout tests (Requested by koz2 on #webkit).
  33794. * accessibility/AccessibilityRenderObject.cpp:
  33795. (WebCore::AccessibilityRenderObject::ariaLabeledByElements):
  33796. (WebCore::AccessibilityRenderObject::ariaLabeledByAttribute):
  33797. (WebCore::AccessibilityRenderObject::title):
  33798. (WebCore::AccessibilityRenderObject::hasTextAlternative):
  33799. * accessibility/AccessibilityRenderObject.h:
  33800. 2011-08-22 Alice Boxhall <aboxhall@chromium.org>
  33801. Range::setEnd(const Position&, ExceptionCode) calls setStart() instead of setEnd()
  33802. https://bugs.webkit.org/show_bug.cgi?id=66638
  33803. Reviewed by Ryosuke Niwa.
  33804. Relevant layout test coming in a future patch (see https://bugs.webkit.org/show_bug.cgi?id=65900)
  33805. * dom/Range.cpp:
  33806. (WebCore::Range::setEnd):
  33807. 2011-08-22 Adam Barth <abarth@webkit.org>
  33808. Remove PLATFORM(ANDROID)
  33809. https://bugs.webkit.org/show_bug.cgi?id=66741
  33810. Reviewed by Darin Adler.
  33811. PLATFORM(CHROMIUM) && OS(ANDROID) is the new hotness. These special
  33812. cases can be removed now that Android shares more code with Chromium.
  33813. * bindings/js/JSDOMWindowBase.cpp:
  33814. (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
  33815. * bindings/v8/ScriptCachedFrameData.cpp:
  33816. * bindings/v8/ScriptCachedFrameData.h:
  33817. * bindings/v8/V8GCController.cpp:
  33818. * bridge/jni/jsc/JavaInstanceJSC.cpp:
  33819. (JavaInstance::invokeMethod):
  33820. * history/HistoryItem.cpp:
  33821. (WebCore::HistoryItem::~HistoryItem):
  33822. (WebCore::HistoryItem::setDocumentState):
  33823. (WebCore::HistoryItem::clearDocumentState):
  33824. (WebCore::HistoryItem::setIsTargetItem):
  33825. (WebCore::HistoryItem::addChildItem):
  33826. (WebCore::HistoryItem::setFormInfoFromRequest):
  33827. * history/HistoryItem.h:
  33828. * loader/cache/CachedFont.cpp:
  33829. * platform/DragImage.h:
  33830. * platform/PlatformTouchEvent.h:
  33831. * platform/PlatformTouchPoint.h:
  33832. (WebCore::PlatformTouchPoint::PlatformTouchPoint):
  33833. * platform/Widget.h:
  33834. * platform/network/NetworkStateNotifier.cpp:
  33835. * platform/network/NetworkStateNotifier.h:
  33836. * platform/network/NetworkingContext.h:
  33837. * platform/network/ResourceHandle.h:
  33838. * platform/network/ResourceHandleInternal.h:
  33839. * platform/network/ResourceRequestBase.cpp:
  33840. 2011-08-22 Adrienne Walker <enne@google.com>
  33841. [chromium] Remove compositing assertions about creating layers when painting
  33842. https://bugs.webkit.org/show_bug.cgi?id=66731
  33843. Reviewed by James Robinson.
  33844. The trigger for this assertion would cause a real rendering issue, but
  33845. it is both intermittent and in the wrong place in the codebase to
  33846. catch the source of the problem.
  33847. * platform/graphics/chromium/LayerChromium.cpp:
  33848. (WebCore::LayerChromium::LayerChromium):
  33849. (WebCore::LayerChromium::~LayerChromium):
  33850. * platform/graphics/chromium/LayerRendererChromium.cpp:
  33851. (WebCore::LayerRendererChromium::updateLayers):
  33852. * platform/graphics/chromium/LayerRendererChromium.h:
  33853. 2011-08-22 Alexey Proskuryakov <ap@apple.com>
  33854. showModalDialog does not correctly return the defined returnValue in case domain relaxing is used
  33855. https://bugs.webkit.org/show_bug.cgi?id=53191
  33856. <rdar://problem/8629478>
  33857. Reviewed by Geoff Garen.
  33858. Cannot test domain relaxing, we only have 127.0.0.1 and localhost.
  33859. * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::getOwnPropertySlot):
  33860. Added a FIXME about a difference with Firefox.
  33861. (WebCore::DialogHandler::DialogHandler):
  33862. (WebCore::DialogHandler::dialogCreated):
  33863. (WebCore::DialogHandler::returnValue):
  33864. Changed to fetch returnValue from the global object that's in the frame when the dialog is
  33865. dismissed. A dialog can navigate itself, and it also creates a new JSDOMWindow on first load
  33866. if the origin doesn't match opener origin (which the case with domain relaxing).
  33867. Re-added a security check for returnValue that got lost in r73829, so that we don't send the
  33868. result across origins. This matches Firefox.
  33869. * bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::setWindow): Added an assertion
  33870. against a very confusing case that should no longer occur.
  33871. * page/Frame.cpp: (WebCore::Frame::pageDestroyed): Don't clear the window shell, it doesn't
  33872. seem necessary, but prevents DialogHandler from fetching the return value. Added a keepAlive
  33873. call to avoid changing life support timer behavior in this patch.
  33874. 2011-08-22 Alice Boxhall <aboxhall@chromium.org>
  33875. Reviewed by Chris Fleizach.
  33876. aria-labelledby should be used in preference to aria-labeledby
  33877. https://bugs.webkit.org/show_bug.cgi?id=62351
  33878. Test: accessibility/aria-labelledby-overrides-aria-labeledby.html
  33879. * accessibility/AccessibilityRenderObject.cpp:
  33880. (WebCore::AccessibilityRenderObject::ariaLabelledByElements): Renamed from ariaLabeledByElements.
  33881. (WebCore::AccessibilityRenderObject::ariaLabelledByAttribute): Renamed from ariaLabeledByAttribute,
  33882. and re-ordered to prefer the standard spelling.
  33883. (WebCore::AccessibilityRenderObject::title):
  33884. (WebCore::AccessibilityRenderObject::hasTextAlternative):
  33885. * accessibility/AccessibilityRenderObject.h:
  33886. 2011-08-22 Nat Duca <nduca@chromium.org>
  33887. Make GraphicsContext3D::isResourceSafe a function and, on Chromium, determine its value lazily
  33888. https://bugs.webkit.org/show_bug.cgi?id=66708
  33889. Reviewed by Kenneth Russell.
  33890. * platform/graphics/GraphicsContext3D.cpp:
  33891. (WebCore::GraphicsContext3D::texImage2DResourceSafe):
  33892. * platform/graphics/GraphicsContext3D.h:
  33893. * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
  33894. (WebCore::GraphicsContext3D::GraphicsContext3D):
  33895. * platform/graphics/mac/GraphicsContext3DMac.mm:
  33896. (WebCore::GraphicsContext3D::GraphicsContext3D):
  33897. * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
  33898. (WebCore::GraphicsContext3D::isResourceSafe):
  33899. * platform/graphics/qt/GraphicsContext3DQt.cpp:
  33900. (WebCore::GraphicsContext3D::GraphicsContext3D):
  33901. 2011-08-22 Adam Barth <abarth@webkit.org>
  33902. HTMLSourceTracker crashes when network packets break poorly
  33903. https://bugs.webkit.org/show_bug.cgi?id=66728
  33904. Reviewed by Darin Adler.
  33905. If there is a network packet boundary in the middle of an attribute
  33906. that begins with the letters "on", then the HTMLSourceTracker will get
  33907. confused and try to extract too many characters from future input. If
  33908. the future input is small enough, that will walk off the end of the
  33909. input and crash.
  33910. Test: http/tests/security/xssAuditor/crash-while-loading-tag-with-pause.html
  33911. * html/parser/HTMLSourceTracker.cpp:
  33912. (WebCore::HTMLSourceTracker::sourceForToken):
  33913. 2011-08-22 Eric Seidel <eric@webkit.org>
  33914. Attempt to clean up bidiNext usage
  33915. https://bugs.webkit.org/show_bug.cgi?id=66721
  33916. Reviewed by Ryosuke Niwa.
  33917. bidiNext and bidiFirst are horribly confusing.
  33918. Even worse is that bidiNext takes a bunch of mutually exclusive options.
  33919. It appears that there is a "return me every inline, even if its empty"
  33920. mode which is only used for simplified inline layout in RenderBlock.cpp.
  33921. To support that mode, there is a endOfInline pointer which keeps track
  33922. of if we just returned at the end of an inline to so we don't get stuck in
  33923. and empty inline (unable to distinguish the start from the finish).
  33924. The actual bidi/line-layout code uses bidiNext/bidiFirst in a "skip empty inlines"
  33925. mode. (Since empty inlines do not participate in the Unicode Bidi Algorithm.)
  33926. This change renames bidiNext to bidiNextShared (still a horrible name) and moves
  33927. all callers to explicitly calling bidiNextSkippingEmptyInlines or bidiNextIncludingEmptyInlines.
  33928. It becomes obvious which code uses which.
  33929. In reviewing this code be aware that the previous bidiNext default was to "skip empty inlines" (skipInlines = true).
  33930. Thus any caller who didn't pass true/false should now be calling bidiNextSkippingEmptyInlines instead.
  33931. No functional change, thus no tests.
  33932. * rendering/InlineIterator.h:
  33933. (WebCore::bidiNextShared):
  33934. (WebCore::bidiNextSkippingEmptyInlines):
  33935. (WebCore::bidiNextIncludingEmptyInlines):
  33936. (WebCore::bidiFirstSkippingEmptyInlines):
  33937. (WebCore::bidiFirstIncludingEmptyInlines):
  33938. (WebCore::InlineWalker::InlineWalker):
  33939. (WebCore::InlineWalker::advance):
  33940. (WebCore::InlineIterator::increment):
  33941. (WebCore::InlineBidiResolver::appendRun):
  33942. * rendering/RenderBlockLineLayout.cpp:
  33943. (WebCore::RenderBlock::determineStartPosition):
  33944. (WebCore::shouldSkipWhitespaceAfterStartObject):
  33945. (WebCore::RenderBlock::LineBreaker::nextLineBreak):
  33946. 2011-08-22 David Levin <levin@chromium.org>
  33947. Fix usage of PassRefPtr in postMessage and structured clone code.
  33948. https://bugs.webkit.org/show_bug.cgi?id=66725
  33949. Reviewed by Darin Adler.
  33950. No new functionality exposed so no new tests.
  33951. * bindings/js/JSDOMWindowCustom.cpp:
  33952. (WebCore::JSDOMWindow::postMessage): Changed PassRefPtr to RefPtr and added release when handed off.
  33953. * bindings/js/JSMessageEventCustom.cpp:
  33954. (WebCore::JSMessageEvent::initMessageEvent): Ditto.
  33955. * bindings/js/JSMessagePortCustom.h:
  33956. (WebCore::handlePostMessage): Ditto.
  33957. * bindings/js/SerializedScriptValue.cpp:
  33958. (WebCore::SerializedScriptValue::create): Ditto.
  33959. * workers/SharedWorkerContext.cpp:
  33960. (WebCore::createConnectEvent): Added release() when a RefPtr is returned.
  33961. 2011-08-22 Luke Macpherson <macpherson@chromium.org>
  33962. Implement cast between CSSPrimitiveValue and EBackfaceVisibility, use in CSSStyleSelector::applyProperty.
  33963. https://bugs.webkit.org/show_bug.cgi?id=66648
  33964. Reviewed by Dan Bernstein.
  33965. No new tests / no functionality changed.
  33966. * css/CSSPrimitiveValueMappings.h:
  33967. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  33968. Support cast from EBackfaceVisibility.
  33969. (WebCore::CSSPrimitiveValue::operator EBackfaceVisibility):
  33970. Support cast from EBackfaceVisibility.
  33971. * css/CSSStyleSelector.cpp:
  33972. (WebCore::CSSStyleSelector::applyProperty):
  33973. Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro.
  33974. 2011-08-22 Peter Kasting <pkasting@google.com>
  33975. Unreviewed, rolling out r93538.
  33976. http://trac.webkit.org/changeset/93538
  33977. https://bugs.webkit.org/show_bug.cgi?id=66143
  33978. Broke Leopard, SnowLeopard, and Chromium Mac bots
  33979. * rendering/LayoutState.cpp:
  33980. (WebCore::LayoutState::LayoutState):
  33981. * rendering/RenderBlock.cpp:
  33982. (WebCore::RenderBlock::layoutBlock):
  33983. (WebCore::RenderBlock::logicalRightOffsetForLine):
  33984. * rendering/RenderBlock.h:
  33985. * rendering/RenderFlowThread.cpp:
  33986. (WebCore::RenderFlowThread::RenderFlowThread):
  33987. (WebCore::RenderFlowThread::layout):
  33988. (WebCore::RenderFlowThread::repaintRectangleInRegions):
  33989. * rendering/RenderFlowThread.h:
  33990. * rendering/RenderRegion.cpp:
  33991. * rendering/RenderRegion.h:
  33992. * rendering/RenderView.cpp:
  33993. (WebCore::RenderView::RenderView):
  33994. * rendering/RenderView.h:
  33995. (WebCore::RenderView::pushLayoutState):
  33996. 2011-08-22 Tony Chang <tony@chromium.org>
  33997. Add CSS parsing of -webkit-flex-pack
  33998. https://bugs.webkit.org/show_bug.cgi?id=66701
  33999. Reviewed by Eric Seidel.
  34000. * css/CSSComputedStyleDeclaration.cpp:
  34001. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  34002. * css/CSSParser.cpp:
  34003. (WebCore::CSSParser::parseValue):
  34004. * css/CSSPrimitiveValueMappings.h:
  34005. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  34006. (WebCore::CSSPrimitiveValue::operator EFlexPack):
  34007. * css/CSSPropertyNames.in:
  34008. * css/CSSStyleApplyProperty.cpp:
  34009. (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
  34010. * css/CSSStyleSelector.cpp:
  34011. (WebCore::CSSStyleSelector::applyProperty):
  34012. * rendering/style/RenderStyle.h:
  34013. (WebCore::InheritedFlags::flexPack):
  34014. (WebCore::InheritedFlags::setFlexPack):
  34015. (WebCore::InheritedFlags::initialFlexPack):
  34016. * rendering/style/RenderStyleConstants.h:
  34017. * rendering/style/StyleFlexibleBoxData.cpp:
  34018. (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
  34019. (WebCore::StyleFlexibleBoxData::operator==):
  34020. * rendering/style/StyleFlexibleBoxData.h:
  34021. 2011-08-22 Tony Chang <tony@chromium.org>
  34022. handle child margin values when flexing
  34023. https://bugs.webkit.org/show_bug.cgi?id=65887
  34024. Reviewed by David Hyatt.
  34025. Test: css3/flexbox/002.html
  34026. * rendering/RenderBox.cpp:
  34027. (WebCore::RenderBox::computeLogicalWidth):
  34028. * rendering/RenderFlexibleBox.cpp:
  34029. (WebCore::RenderFlexibleBox::layoutHorizontalBlock):
  34030. (WebCore::RenderFlexibleBox::computePreferredSize): If the margin is
  34031. auto, treat it as flex(1 0 0).
  34032. * rendering/RenderObject.cpp:
  34033. (WebCore::RenderObject::isFlexibleBoxIncludingDeprecated): Added.
  34034. 2011-08-22 Nat Duca <nduca@chromium.org>
  34035. [chromium] Make compositor context current before querying for extensions
  34036. https://bugs.webkit.org/show_bug.cgi?id=66696
  34037. Reviewed by James Robinson.
  34038. * platform/graphics/chromium/LayerRendererChromium.cpp:
  34039. (WebCore::LayerRendererChromium::initialize):
  34040. 2011-08-22 Cary Clark <caryclark@google.com>
  34041. Webkit Mac10.6 Builder-Tester (Skia)(deps)(dbg) has compile failures
  34042. https://bugs.webkit.org/show_bug.cgi?id=66703
  34043. This error was detected by the debug build of the Chromium WebKit
  34044. Canary.
  34045. Reviewed by James Robinson.
  34046. No new tests. This change suppresses a compile-time warning
  34047. but does not affect the generated code.
  34048. * platform/graphics/mac/FontCustomPlatformData.h:
  34049. Replaced struct with class in a forward reference.
  34050. 2011-08-22 Alexandru Chiculita <achicu@adobe.com>
  34051. [CSSRegions] RenderFlowThread layout should use the attached region sizes
  34052. https://bugs.webkit.org/show_bug.cgi?id=66143
  34053. When RenderFlowThread is doing the layout it also sets the current RenderFlowThread on
  34054. the RenderView. RenderFlowThread cannot be nested inside a single RenderView, so there's no
  34055. need to put that on the LayoutState.
  34056. The right offset used to layout the inlines inside a RenderFlowThread
  34057. is now adjusted to fit inside the current region.
  34058. Reviewed by David Hyatt.
  34059. Tests: fast/regions/webkit-flow-floats-inside-regions-bounds.html
  34060. fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-lr.html
  34061. fast/regions/webkit-flow-inlines-inside-regions-bounds.html
  34062. * rendering/LayoutState.cpp:
  34063. (WebCore::LayoutState::LayoutState):
  34064. * rendering/RenderBlock.cpp:
  34065. (WebCore::RenderBlock::layoutBlock):
  34066. (WebCore::RenderBlock::adjustForRegionFittingIfNeeded):
  34067. (WebCore::RenderBlock::logicalRightOffsetForLine):
  34068. * rendering/RenderBlock.h:
  34069. * rendering/RenderFlowThread.cpp:
  34070. (WebCore::RenderFlowThread::RenderFlowThread):
  34071. (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
  34072. (WebCore::CurrentRenderFlowThreadMaintainer::~CurrentRenderFlowThreadMaintainer):
  34073. (WebCore::RenderFlowThread::layout):
  34074. (WebCore::RenderFlowThread::renderRegionForLine):
  34075. (WebCore::RenderFlowThread::regionLogicalWidthForLine):
  34076. * rendering/RenderFlowThread.h:
  34077. (WebCore::RegionFittingDisabler::RegionFittingDisabler):
  34078. (WebCore::RegionFittingDisabler::~RegionFittingDisabler):
  34079. * rendering/RenderRegion.cpp:
  34080. (WebCore::RenderRegion::layout):
  34081. * rendering/RenderRegion.h:
  34082. * rendering/RenderView.cpp:
  34083. (WebCore::RenderView::RenderView):
  34084. * rendering/RenderView.h:
  34085. (WebCore::RenderView::hasRenderFlowThread):
  34086. (WebCore::RenderView::currentRenderFlowThread):
  34087. (WebCore::RenderView::setCurrentRenderFlowThread):
  34088. (WebCore::RenderView::pushLayoutState):
  34089. 2011-08-22 Peter Kasting <pkasting@google.com>
  34090. Unreviewed, rolling out r93517.
  34091. http://trac.webkit.org/changeset/93517
  34092. https://bugs.webkit.org/show_bug.cgi?id=63553
  34093. Breaks GTK Linux and Chromium Win
  34094. * svg/animation/SVGSMILElement.cpp:
  34095. (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
  34096. 2011-08-22 Wyatt Carss <wcarss@chromium.org>
  34097. FrameSelection::setNonDirectionalSelectionIfNeeded should not have a FrameSelection passed to it
  34098. https://bugs.webkit.org/show_bug.cgi?id=66636
  34099. Reviewed by Darin Adler.
  34100. setNonDirectionalSelection was moved into FrameSelection in r93134 for
  34101. bug 60529, and still took a FrameSelection as an argument, which has been removed.
  34102. * editing/FrameSelection.cpp:
  34103. (WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded):
  34104. 2011-08-22 Tony Chang <tony@chromium.org>
  34105. Add CSS parsing of -webkit-flex-order
  34106. https://bugs.webkit.org/show_bug.cgi?id=65384
  34107. The property is an int described here:
  34108. http://dev.w3.org/csswg/css3-flexbox/#flex-order
  34109. Doesn't do anything yet, just hooking it up.
  34110. Reviewed by Ojan Vafai.
  34111. * css/CSSComputedStyleDeclaration.cpp:
  34112. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  34113. * css/CSSParser.cpp:
  34114. (WebCore::CSSParser::parseValue):
  34115. * css/CSSPropertyNames.in:
  34116. * css/CSSStyleApplyProperty.cpp:
  34117. (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
  34118. * css/CSSStyleSelector.cpp:
  34119. (WebCore::CSSStyleSelector::applyProperty):
  34120. * rendering/style/RenderStyle.h:
  34121. (WebCore::InheritedFlags::flexOrder):
  34122. (WebCore::InheritedFlags::setFlexOrder):
  34123. (WebCore::InheritedFlags::initialFlexOrder):
  34124. * rendering/style/StyleFlexibleBoxData.cpp:
  34125. (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
  34126. (WebCore::StyleFlexibleBoxData::operator==):
  34127. * rendering/style/StyleFlexibleBoxData.h:
  34128. 2011-08-22 Adrienne Walker <enne@google.com>
  34129. [chromium] Fix nullptr deref when switching composited tabs
  34130. https://bugs.webkit.org/show_bug.cgi?id=66691
  34131. Reviewed by James Robinson.
  34132. * platform/graphics/chromium/TiledLayerChromium.cpp:
  34133. (WebCore::TiledLayerChromium::protectTileTextures):
  34134. 2011-08-22 James Robinson <jamesr@chromium.org>
  34135. [chromium] Content and render surface textures not freed when compositor context destroyed
  34136. https://bugs.webkit.org/show_bug.cgi?id=66589
  34137. Reviewed by Kenneth Russell.
  34138. Explicitly delete all managed textures when destroying the compositor
  34139. context. This regressed due to a combination of using share groups
  34140. (so destroying a context no longer implicitly releases all resources
  34141. in that context) and switching the TextureManager over to support
  34142. deferred texture destruction.
  34143. We sadly don't have a way to construct automated tests for resource
  34144. leaks currently.
  34145. * platform/graphics/chromium/LayerRendererChromium.cpp:
  34146. (WebCore::LayerRendererChromium::cleanupSharedObjects):
  34147. 2011-08-22 Nate Chapin <japhet@chromium.org>
  34148. Unload events can crash us when they blank out
  34149. a parent frame.
  34150. https://bugs.webkit.org/show_bug.cgi?id=64741
  34151. Reviewed by Adam Barth.
  34152. Test: fast/loader/document-destruction-within-unload.html
  34153. * loader/FrameLoader.cpp:
  34154. (WebCore::FrameLoader::stopLoading): Prevent unload events
  34155. from going into infinite recursion.
  34156. (WebCore::FrameLoader::setDocumentLoader): Ensure we don't
  34157. let set m_documentLoader to a DocumentLoader with a null Frame*.
  34158. (WebCore::FrameLoader::detachChildren): Save off a vector of
  34159. children to detach, rather than doing it inline.
  34160. 2011-08-22 Young Han Lee <joybro@company100.net>
  34161. Reviewed by Dirk Schulze.
  34162. SVG animation fill="freeze" doesn't set baseVal to current animVal if animation stops before reaching the end
  34163. https://bugs.webkit.org/show_bug.cgi?id=63553
  34164. calculateAnimationPercentAndRepeat() is returning 1, which means 100%, whenever
  34165. elapsed >= m_intervalEnd, but this is wrong because m_intervalEnd can be in the middle
  34166. of the animation duration. (e.g. begin="0s" end="2s" dur="3s")
  34167. This change makes the function return the animations's true progress instead of 100%
  34168. when the animation ends.
  34169. Test: svg/animations/animate-end-attribute.html
  34170. * svg/animation/SVGSMILElement.cpp:
  34171. (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
  34172. 2011-08-22 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  34173. Fix build error when inspector is disabled.
  34174. https://bugs.webkit.org/show_bug.cgi?id=66644
  34175. Reviewed by Darin Adler.
  34176. * inspector/InspectorDatabaseResource.h: Add ENABLE(INSPECTOR) macro.
  34177. 2011-08-22 Abhishek Arya <inferno@chromium.org>
  34178. Crash in FocusController::advanceFocusInDocumentOrder
  34179. https://bugs.webkit.org/show_bug.cgi?id=66678
  34180. RefPtr the focusable node to prevent getting deleted by mutation
  34181. event.
  34182. Reviewed by Dave Hyatt.
  34183. Test: fast/frames/focus-controller-crash-change-event.html
  34184. * page/FocusController.cpp:
  34185. (WebCore::FocusController::advanceFocusInDocumentOrder):
  34186. 2011-08-22 Justin Novosad <junov@chromium.org>
  34187. [Chromium] Crash when allocation of very large canvas fails
  34188. https://bugs.webkit.org/show_bug.cgi?id=66563
  34189. Replacing the crash with a more graceful failure: canvas
  34190. will not render.
  34191. Reviewed by Stephen White.
  34192. * platform/graphics/skia/ImageBufferSkia.cpp:
  34193. (WebCore::ImageBuffer::ImageBuffer):
  34194. Invoking TryCreateBitmapCanvas instead of CreateBitmapCanvas
  34195. This is the non-crashing version of the factory function.
  34196. It returns NULL if allocation fails. Code for handling
  34197. NULL pointer was already in place.
  34198. 2011-08-22 Ilya Tikhonovsky <loislo@chromium.org>
  34199. Web Inspector: bind registerDomainDispatcher to domain names.
  34200. https://bugs.webkit.org/show_bug.cgi?id=66670
  34201. jscompiler can't be used for validating domain events dispatchers because registerDomainDispatcher is too generic.
  34202. I'd like to introduce named versions per each domain.
  34203. Reviewed by Pavel Feldman.
  34204. * inspector/CodeGeneratorInspector.pm:
  34205. (GenerateInterface):
  34206. (generateBackendStubJS):
  34207. * inspector/front-end/ApplicationCacheItemsView.js:
  34208. * inspector/front-end/ConsoleView.js:
  34209. * inspector/front-end/DOMAgent.js:
  34210. (WebInspector.DOMAgent):
  34211. * inspector/front-end/DOMStorage.js:
  34212. * inspector/front-end/Database.js:
  34213. * inspector/front-end/DebuggerModel.js:
  34214. (WebInspector.DebuggerModel):
  34215. * inspector/front-end/NetworkManager.js:
  34216. (WebInspector.NetworkDispatcher):
  34217. * inspector/front-end/ProfilesPanel.js:
  34218. * inspector/front-end/ResourceTreeModel.js:
  34219. (WebInspector.ResourceTreeModel):
  34220. * inspector/front-end/TimelineManager.js:
  34221. (WebInspector.TimelineDispatcher):
  34222. * inspector/front-end/WorkerManager.js:
  34223. (WebInspector.WorkerManager):
  34224. * inspector/front-end/inspector.js:
  34225. 2011-08-22 Benjamin Poulain <benjamin@webkit.org>
  34226. Fix generate-inspector-idl for Python3 after r93396
  34227. https://bugs.webkit.org/show_bug.cgi?id=66663
  34228. Reviewed by Andreas Kling.
  34229. In Python3, print is a function instead of a language keyword. Using parentheses
  34230. around the argument ensures the code works for both Python 2 and 3.
  34231. * inspector/generate-inspector-idl:
  34232. 2011-08-22 Keishi Hattori <keishi@webkit.org>
  34233. Chrome::setSelectedColorInColorChooser shouldn't be called when color chooser sets a new color
  34234. https://bugs.webkit.org/show_bug.cgi?id=66658
  34235. Reviewed by Kent Tamura.
  34236. * html/ColorInputType.cpp:
  34237. (WebCore::ColorInputType::colorSelected): Call setValueFromRenderer instead of setValue.
  34238. * html/ColorInputType.h:
  34239. 2011-08-18 Pavel Podivilov <podivilov@chromium.org>
  34240. Web Inspector: extract breakpoint management code to a separate class and add tests.
  34241. https://bugs.webkit.org/show_bug.cgi?id=66224
  34242. Reviewed by Pavel Feldman.
  34243. Test: inspector/debugger/breakpoint-manager.html
  34244. * WebCore.gypi:
  34245. * WebCore.vcproj/WebCore.vcproj:
  34246. * inspector/front-end/BreakpointManager.js: Added.
  34247. (WebInspector.BreakpointManager):
  34248. (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
  34249. (WebInspector.BreakpointManager.prototype.breakpointsForUISourceCode):
  34250. (WebInspector.BreakpointManager.prototype.setBreakpoint):
  34251. (WebInspector.BreakpointManager.prototype.removeBreakpoint):
  34252. (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
  34253. (WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
  34254. (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
  34255. (WebInspector.BreakpointManager.prototype._deleteBreakpointFromUI):
  34256. (WebInspector.BreakpointManager.prototype._moveBreakpointInUI):
  34257. (WebInspector.BreakpointManager.prototype._breakpoints):
  34258. (WebInspector.BreakpointManager.prototype._breakpoint):
  34259. (WebInspector.BreakpointManager.prototype._forEachBreakpoint):
  34260. (WebInspector.BreakpointManager.prototype._setBreakpointInDebugger):
  34261. (WebInspector.BreakpointManager.prototype._removeBreakpointFromDebugger):
  34262. (WebInspector.BreakpointManager.prototype._breakpointResolved):
  34263. (WebInspector.BreakpointManager.prototype.serializeBreakpoints):
  34264. (WebInspector.BreakpointManager.prototype.reset):
  34265. (WebInspector.BreakpointManager.prototype.debuggerReset):
  34266. (WebInspector.Breakpoint):
  34267. (WebInspector.Breakpoint.prototype.serialize):
  34268. (WebInspector.Breakpoint.deserialize):
  34269. * inspector/front-end/DebuggerModel.js:
  34270. (WebInspector.DebuggerModel.prototype.setBreakpointByScriptLocation):
  34271. * inspector/front-end/SourceFile.js:
  34272. (WebInspector.RawSourceCode.prototype.get rawSourceCode):
  34273. * inspector/front-end/WebKit.qrc:
  34274. * inspector/front-end/inspector.html:
  34275. 2011-08-21 Martin Robinson <mrobinson@igalia.com>
  34276. Fix 'make dist' for WebKitGTK+.
  34277. * GNUmakefile.am: Add a missing file to the EXTRA_DIST list.
  34278. * GNUmakefile.list.am: Update the sources list to reflect reality.
  34279. 2011-08-20 Nebojsa Ciric <cira@chromium.org>
  34280. Point build system and #include headers to v8-i18n library instead of v8 library.
  34281. We forked a new code.google.com/p/v8-i18n project from v8/extensions/experimental.
  34282. https://bugs.webkit.org/show_bug.cgi?id=66573
  34283. Reviewed by Kent Tamura.
  34284. Covered by existing tests, and no code was changed.
  34285. * WebCore.gyp/WebCore.gyp:
  34286. * bindings/v8/V8DOMWindowShell.cpp:
  34287. (WebCore::V8DOMWindowShell::createNewContext):
  34288. 2011-08-20 Tom Zakrajsek <tomz@codeaurora.org>
  34289. instanceof HTMLSourceElement Fails
  34290. https://bugs.webkit.org/show_bug.cgi?id=65013
  34291. Reviewed by Eric Carlson.
  34292. Add HTMLSourceElement to DOMWindow.idl for consistency. Constructors for
  34293. all elements should be available on DOMWindow.
  34294. * bindings/generic/RuntimeEnabledFeatures.cpp:
  34295. (WebCore::RuntimeEnabledFeatures::htmlSourceElementEnabled):
  34296. * bindings/generic/RuntimeEnabledFeatures.h:
  34297. * page/DOMWindow.idl:
  34298. 2011-08-20 Darin Adler <darin@apple.com>
  34299. If Range::insertNode is passed an empty document fragment, it creates a broken DOM tree
  34300. https://bugs.webkit.org/show_bug.cgi?id=65015
  34301. Reviewed by Alexey Proskuryakov.
  34302. Test: fast/dom/Range/insertNode-empty-fragment-crash.html
  34303. * dom/Range.cpp: (WebCore::Range::insertNode): Don't adjust the range after insertion
  34304. if we didn't add anything. Otherwise the code will put a wrong "child before" value into
  34305. the range end boundary point.
  34306. 2011-08-20 Ken Buchanan <kenrb@chromium.org>
  34307. OOB Read in WebCore::SVGAnimationElement
  34308. https://bugs.webkit.org/show_bug.cgi?id=65858
  34309. Reviewed by Nikolas Zimmermann.
  34310. Potential crash resulting from incorrect keySpline array lengths. This fix validates the length in startedActiveInterval.
  34311. Test: svg/animations/animate-calcMode-spline-crash-bad-array-length.xhtml
  34312. * svg/SVGAnimationElement.cpp:
  34313. (WebCore::SVGAnimationElement::parseMappedAttribute):
  34314. (WebCore::SVGAnimationElement::calculateKeyTimesIndex):
  34315. 2011-08-19 Sheriff Bot <webkit.review.bot@gmail.com>
  34316. Unreviewed, rolling out r93415.
  34317. http://trac.webkit.org/changeset/93415
  34318. https://bugs.webkit.org/show_bug.cgi?id=66623
  34319. Introduces failing test (Requested by pfeldman on #webkit).
  34320. * WebCore.gypi:
  34321. * WebCore.vcproj/WebCore.vcproj:
  34322. * inspector/front-end/BreakpointManager.js: Removed.
  34323. * inspector/front-end/DebuggerModel.js:
  34324. * inspector/front-end/SourceFile.js:
  34325. * inspector/front-end/WebKit.qrc:
  34326. * inspector/front-end/inspector.html:
  34327. 2011-08-19 Chris Fleizach <cfleizach@apple.com>
  34328. AX WK2 Regression: WebKit outputs incorrect AX position in frames/iframes
  34329. https://bugs.webkit.org/show_bug.cgi?id=61289
  34330. Update the code to determine the position of accessibility elements on Mac for WK2,
  34331. so that elements within iframes are positioned correctly.
  34332. Reviewed by Darin Adler..
  34333. * accessibility/AccessibilityObject.cpp:
  34334. (WebCore::AccessibilityObject::page):
  34335. * accessibility/AccessibilityObject.h:
  34336. * accessibility/mac/AccessibilityObjectWrapper.mm:
  34337. (-[AccessibilityObjectWrapper position]):
  34338. 2011-08-19 Jeffrey Pfau <jpfau@apple.com>
  34339. New XML parser: text nodes outside of root element not created for document fragments
  34340. https://bugs.webkit.org/show_bug.cgi?id=66604
  34341. When intializing a fragment parser, declare that the first element has been seen. Also, flush the text nodes when finishing parsing a document.
  34342. Reviewed by Darin Adler.
  34343. * xml/parser/NewXMLDocumentParser.cpp:
  34344. (WebCore::NewXMLDocumentParser::finish):
  34345. * xml/parser/XMLTreeBuilder.cpp:
  34346. (WebCore::XMLTreeBuilder::XMLTreeBuilder):
  34347. (WebCore::XMLTreeBuilder::processToken):
  34348. (WebCore::XMLTreeBuilder::finish):
  34349. * xml/parser/XMLTreeBuilder.h:
  34350. 2011-08-19 Jeff Miller <jeffm@apple.com>
  34351. MediaPlayerPrivateAVFoundationCF should use AVCFURLAssetCopyAudiovisualMIMETypes() to get list of supported MIME types
  34352. https://bugs.webkit.org/show_bug.cgi?id=66612
  34353. Reviewed by Darin Adler.
  34354. No new tests, should be covered by existing media tests.
  34355. * platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Added AVCFURLAssetCopyAudiovisualMIMETypes().
  34356. * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
  34357. (WebCore::mimeTypeCache): Use AVCFURLAssetCopyAudiovisualMIMETypes() to build the cache of supported MIME types.
  34358. 2011-08-19 Adrienne Walker <enne@google.com>
  34359. [chromium] Regression: Fix clang errors from r93424
  34360. https://bugs.webkit.org/show_bug.cgi?id=66609
  34361. Reviewed by James Robinson.
  34362. The invalidateRect function does not appear to be used anywhere
  34363. because the setNeedsDisplay function is used instead. Fix the Clang
  34364. error by just removing this unused vestigial base class function.
  34365. * platform/graphics/chromium/LayerChromium.h:
  34366. 2011-08-19 Anders Carlsson <andersca@apple.com>
  34367. Add new enums to npapi.h
  34368. https://bugs.webkit.org/show_bug.cgi?id=66608
  34369. Reviewed by Sam Weinig.
  34370. * bridge/npapi.h:
  34371. 2011-08-19 Jeffrey Pfau <jpfau@apple.com>
  34372. libxml2 fragment parser loses prefix namespaces
  34373. https://bugs.webkit.org/show_bug.cgi?id=66423
  34374. This makes the loop over the elements outside of the context actually update the element it's processing.
  34375. Reviewed by Darin Adler.
  34376. Test: fast/parser/innerhtml-with-prefixed-elements.xhtml
  34377. * xml/parser/XMLDocumentParserLibxml2.cpp:
  34378. (WebCore::XMLDocumentParser::XMLDocumentParser):
  34379. 2011-08-19 Beth Dakin <bdakin@apple.com>
  34380. https://bugs.webkit.org/show_bug.cgi?id=66590
  34381. Re-name scrollbar painter types
  34382. Reviewed by Sam Weinig.
  34383. Names changed to remove references to WebKitSystemInterface since the
  34384. implementation is now in WebCore. And the type names changed to be more Objective-
  34385. Cish instead of C++ish
  34386. WTF_USE_WK_SCROLLBAR_PAINTER -> WTF_USE_SCROLLBAR_PAINTER
  34387. WKScrollbarPainterRef -> ScrollbarPainter
  34388. WKScrollbarPainterControllerRef -> ScrollbarPainterController
  34389. * platform/mac/NSScrollerImpDetails.h:
  34390. * platform/mac/ScrollAnimatorMac.h:
  34391. * platform/mac/ScrollAnimatorMac.mm:
  34392. (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
  34393. (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
  34394. (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
  34395. (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
  34396. (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
  34397. (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
  34398. (WebCore::ScrollAnimatorMac::notifyPositionChanged):
  34399. (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
  34400. (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
  34401. (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
  34402. (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
  34403. (WebCore::ScrollAnimatorMac::willStartLiveResize):
  34404. (WebCore::ScrollAnimatorMac::contentsResized):
  34405. (WebCore::ScrollAnimatorMac::willEndLiveResize):
  34406. (WebCore::ScrollAnimatorMac::contentAreaDidShow):
  34407. (WebCore::ScrollAnimatorMac::contentAreaDidHide):
  34408. (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
  34409. (WebCore::ScrollAnimatorMac::didEndScrollGesture):
  34410. (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
  34411. (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
  34412. (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
  34413. (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
  34414. (WebCore::ScrollAnimatorMac::cancelAnimations):
  34415. (WebCore::ScrollAnimatorMac::setIsActive):
  34416. (WebCore::ScrollAnimatorMac::updateScrollerStyle):
  34417. * platform/mac/ScrollViewMac.mm:
  34418. (WebCore::ScrollView::platformSetScrollbarOverlayStyle):
  34419. * platform/mac/ScrollbarThemeMac.h:
  34420. * platform/mac/ScrollbarThemeMac.mm:
  34421. (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
  34422. (WebCore::updateArrowPlacement):
  34423. (WebCore::ScrollbarThemeMac::registerScrollbar):
  34424. (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
  34425. (WebCore::ScrollbarThemeMac::painterForScrollbar):
  34426. (WebCore::ScrollbarThemeMac::scrollbarThickness):
  34427. (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
  34428. (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
  34429. (WebCore::ScrollbarThemeMac::hasThumb):
  34430. (WebCore::ScrollbarThemeMac::minimumThumbLength):
  34431. (WebCore::ScrollbarThemeMac::updateEnabledState):
  34432. (WebCore::scrollbarPainterPaint):
  34433. (WebCore::ScrollbarThemeMac::paint):
  34434. 2011-08-19 Van Lam <vanlam@google.com>
  34435. Rename VisiblePosition::honorEditableBoundary* to VisiblePosition::honorEditingBoundary*
  34436. https://bugs.webkit.org/show_bug.cgi?id=66499
  34437. Reviewed by Ryosuke Niwa.
  34438. Renamed VisiblePosition::honorEditableBoundary* to
  34439. honorEditingBoundary.
  34440. * editing/VisiblePosition.cpp:
  34441. (WebCore::VisiblePosition::next):
  34442. (WebCore::VisiblePosition::previous):
  34443. (WebCore::VisiblePosition::left):
  34444. (WebCore::VisiblePosition::right):
  34445. (WebCore::VisiblePosition::honorEditingBoundaryAtOrBefore):
  34446. (WebCore::VisiblePosition::honorEditingBoundaryAtOrAfter):
  34447. * editing/VisiblePosition.h:
  34448. * editing/visible_units.cpp:
  34449. (WebCore::previousWordPosition):
  34450. (WebCore::nextWordPosition):
  34451. (WebCore::startOfLine):
  34452. (WebCore::endOfLine):
  34453. (WebCore::previousSentencePosition):
  34454. (WebCore::nextSentencePosition):
  34455. (WebCore::logicalStartOfLine):
  34456. (WebCore::logicalEndOfLine):
  34457. (WebCore::leftWordPosition):
  34458. (WebCore::rightWordPosition):
  34459. 2011-08-19 James Robinson <jamesr@chromium.org>
  34460. REGRESSION(r91628): 3 canvas tests crash on Chromium Linux and one test fail on Chromium Mac
  34461. https://bugs.webkit.org/show_bug.cgi?id=65063
  34462. Reviewed by Darin Fisher.
  34463. Fixes crashes due to a bad cast from Image to BitmapImage on skia ports
  34464. that use BitmapImageSingleFrameSkia. In the skia port
  34465. Image::isBitmapImage() returning true does not necessarily mean that
  34466. Image is of type BitmapImage.
  34467. Covered by fast/canvas/canvas-as-image.html and many other canvas
  34468. tests.
  34469. Patch originally by Tom Hudson.
  34470. * platform/graphics/BitmapImage.h:
  34471. (WebCore::BitmapImage::currentFrameHasAlpha):
  34472. (WebCore::BitmapImage::notSolidColor):
  34473. * platform/graphics/Image.cpp:
  34474. (WebCore::Image::drawTiled):
  34475. * platform/graphics/Image.h:
  34476. (WebCore::Image::currentFrameHasAlpha):
  34477. (WebCore::Image::notSolidColor):
  34478. * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
  34479. (WebCore::BitmapImageSingleFrameSkia::currentFrameHasAlpha):
  34480. (WebCore::BitmapImageSingleFrameSkia::notSolidColor):
  34481. * rendering/RenderImage.cpp:
  34482. (WebCore::RenderImage::backgroundIsObscured):
  34483. 2011-08-19 Emil A Eklund <eae@chromium.org>
  34484. Switch clipping for svg to to new layout types
  34485. https://bugs.webkit.org/show_bug.cgi?id=66586
  34486. Reviewed by Eric Seidel.
  34487. No new tests as no new functionality.
  34488. * rendering/svg/RenderSVGForeignObject.h:
  34489. * rendering/svg/RenderSVGGradientStop.h:
  34490. (WebCore::RenderSVGGradientStop::clippedOverflowRectForRepaint):
  34491. * rendering/svg/RenderSVGHiddenContainer.h:
  34492. (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
  34493. * rendering/svg/RenderSVGInline.cpp:
  34494. (WebCore::RenderSVGInline::clippedOverflowRectForRepaint):
  34495. (WebCore::RenderSVGInline::computeRectForRepaint):
  34496. * rendering/svg/RenderSVGInline.h:
  34497. * rendering/svg/RenderSVGModelObject.cpp:
  34498. (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint):
  34499. (WebCore::RenderSVGModelObject::computeRectForRepaint):
  34500. * rendering/svg/RenderSVGModelObject.h:
  34501. * rendering/svg/RenderSVGText.cpp:
  34502. (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
  34503. (WebCore::RenderSVGText::computeRectForRepaint):
  34504. * rendering/svg/RenderSVGText.h:
  34505. * svg/SVGSVGElement.cpp:
  34506. (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
  34507. * svg/SVGSVGElement.h:
  34508. (WebCore::SVGSVGElement::setContainerSize):
  34509. (WebCore::SVGSVGElement::containerSize):
  34510. * svg/graphics/SVGImage.cpp:
  34511. (WebCore::SVGImageChromeClient::invalidateContentsAndWindow):
  34512. (WebCore::SVGImage::setContainerSize):
  34513. * svg/graphics/SVGImage.h:
  34514. 2011-08-19 Sheriff Bot <webkit.review.bot@gmail.com>
  34515. Unreviewed, rolling out r93425.
  34516. http://trac.webkit.org/changeset/93425
  34517. https://bugs.webkit.org/show_bug.cgi?id=66591
  34518. "The newly-added ASSERT is being triggered on several bots"
  34519. (Requested by jchaffraix on #webkit).
  34520. * html/HTMLLinkElement.cpp:
  34521. (WebCore::HTMLLinkElement::HTMLLinkElement):
  34522. (WebCore::HTMLLinkElement::setDisabled):
  34523. (WebCore::HTMLLinkElement::sheetLoaded):
  34524. (WebCore::HTMLLinkElement::disabled):
  34525. * html/HTMLLinkElement.h:
  34526. (WebCore::HTMLLinkElement::isEnabledViaScript):
  34527. 2011-08-18 Adrienne Walker <enne@google.com>
  34528. [chromium] Refactor updateCompositorResources to take an explicit GraphicsContext3D
  34529. https://bugs.webkit.org/show_bug.cgi?id=66432
  34530. Reviewed by James Robinson.
  34531. Covered by existing tests.
  34532. * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
  34533. (WebCore::Canvas2DLayerChromium::updateCompositorResources):
  34534. * platform/graphics/chromium/Canvas2DLayerChromium.h:
  34535. * platform/graphics/chromium/LayerChromium.h:
  34536. (WebCore::LayerChromium::updateCompositorResources):
  34537. * platform/graphics/chromium/LayerRendererChromium.cpp:
  34538. (WebCore::LayerRendererChromium::updateCompositorResources):
  34539. * platform/graphics/chromium/TiledLayerChromium.cpp:
  34540. (WebCore::TiledLayerChromium::updateCompositorResources):
  34541. * platform/graphics/chromium/TiledLayerChromium.h:
  34542. * platform/graphics/chromium/VideoLayerChromium.cpp:
  34543. (WebCore::VideoLayerChromium::updateCompositorResources):
  34544. * platform/graphics/chromium/VideoLayerChromium.h:
  34545. * platform/graphics/chromium/WebGLLayerChromium.cpp:
  34546. (WebCore::WebGLLayerChromium::updateCompositorResources):
  34547. * platform/graphics/chromium/WebGLLayerChromium.h:
  34548. 2011-08-19 Victoria Kirst <vrk@chromium.org>
  34549. Tell media player to prepareToPlay() at end of HTMLMediaElement::load()
  34550. https://bugs.webkit.org/show_bug.cgi?id=66414
  34551. Reviewed by Eric Carlson.
  34552. Test: media/video-load-preload-none.html
  34553. * html/HTMLMediaElement.cpp:
  34554. (WebCore::HTMLMediaElement::load):
  34555. 2011-08-19 Emil A Eklund <eae@chromium.org>
  34556. Switch RenderBlock to to new layout types
  34557. https://bugs.webkit.org/show_bug.cgi?id=66502
  34558. Reviewed by Eric Seidel.
  34559. Convert RenderBlock to new layout abstraction. Leave m_lineHight as a 30
  34560. bit int for now to avoid unnecessarily increasing the memory usage.
  34561. No new tests as no new functionality.
  34562. * rendering/RenderBlock.cpp:
  34563. * rendering/RenderBlock.h:
  34564. 2011-08-19 Emil A Eklund <eae@chromium.org>
  34565. Switch RenderBoxModelObject to to new layout types
  34566. https://bugs.webkit.org/show_bug.cgi?id=66534
  34567. Reviewed by Eric Seidel.
  34568. Convert RenderBoxModelObject to new layout abstraction.
  34569. No new tests as no new functionality.
  34570. * rendering/RenderBoxModelObject.cpp:
  34571. (WebCore::ImageQualityController::set):
  34572. (WebCore::ImageQualityController::shouldPaintAtLowQuality):
  34573. (WebCore::RenderBoxModelObject::shouldPaintAtLowQuality):
  34574. (WebCore::backgroundRectAdjustedForBleedAvoidance):
  34575. (WebCore::RenderBoxModelObject::paintFillLayerExtended):
  34576. (WebCore::RenderBoxModelObject::calculateFillTileSize):
  34577. (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
  34578. (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
  34579. (WebCore::RenderBoxModelObject::paintNinePieceImage):
  34580. (WebCore::borderWillArcInnerEdge):
  34581. (WebCore::RenderBoxModelObject::paintOneBorderSide):
  34582. (WebCore::RenderBoxModelObject::paintBorderSides):
  34583. (WebCore::RenderBoxModelObject::paintBorder):
  34584. (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
  34585. (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
  34586. (WebCore::areaCastingShadowInHole):
  34587. (WebCore::RenderBoxModelObject::paintBoxShadow):
  34588. (WebCore::RenderBoxModelObject::containingBlockLogicalWidthForContent):
  34589. * rendering/RenderBoxModelObject.h:
  34590. 2011-08-19 Mihnea Ovidenie <mihnea@adobe.com>
  34591. [CSSRegions]Speed up RenderFlowThread repaint of regions
  34592. https://bugs.webkit.org/show_bug.cgi?id=66566
  34593. Reviewed by David Hyatt.
  34594. When in printing or the repaint rectangle is empty, there is no need to iterate
  34595. the render flow regions in order to repaint.
  34596. Covered by existing tests.
  34597. * rendering/RenderFlowThread.cpp:
  34598. (WebCore::RenderFlowThread::shouldRepaint):
  34599. (WebCore::RenderFlowThread::repaintRectangleInRegions):
  34600. * rendering/RenderFlowThread.h:
  34601. 2011-08-19 Mihnea Ovidenie <mihnea@adobe.com>
  34602. [CSSRegions]Parse -webkit-region-break(after, before, inside)
  34603. https://bugs.webkit.org/show_bug.cgi?id=66559
  34604. Reviewed by David Hyatt.
  34605. * css/CSSComputedStyleDeclaration.cpp:
  34606. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  34607. * css/CSSMutableStyleDeclaration.cpp:
  34608. * css/CSSParser.cpp:
  34609. (WebCore::CSSParser::parseValue):
  34610. * css/CSSPropertyNames.in:
  34611. * css/CSSStyleSelector.cpp:
  34612. (WebCore::CSSStyleSelector::applyProperty):
  34613. * rendering/style/RenderStyle.h:
  34614. (WebCore::InheritedFlags::regionBreakBefore):
  34615. (WebCore::InheritedFlags::regionBreakInside):
  34616. (WebCore::InheritedFlags::regionBreakAfter):
  34617. (WebCore::InheritedFlags::setRegionBreakBefore):
  34618. (WebCore::InheritedFlags::setRegionBreakInside):
  34619. (WebCore::InheritedFlags::setRegionBreakAfter):
  34620. * rendering/style/StyleRareNonInheritedData.cpp:
  34621. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  34622. (WebCore::StyleRareNonInheritedData::operator==):
  34623. * rendering/style/StyleRareNonInheritedData.h:
  34624. 2011-08-19 Emil A Eklund <eae@chromium.org>
  34625. Switch RenderLayer to to new layout types
  34626. https://bugs.webkit.org/show_bug.cgi?id=66507
  34627. Reviewed by Eric Seidel.
  34628. Convert RenderLayer to new layout abstraction.
  34629. No new tests as no new functionality.
  34630. * rendering/LayoutTypes.h:
  34631. (WebCore::flooredLayoutSize):
  34632. * rendering/RenderLayer.cpp:
  34633. * rendering/RenderLayer.h:
  34634. * rendering/RenderLayerBacking.cpp:
  34635. * rendering/RenderLayerBacking.h:
  34636. * rendering/RenderLayerCompositor.cpp:
  34637. * rendering/RenderLayerCompositor.h:
  34638. 2011-08-19 Mihnea Ovidenie <mihnea@adobe.com>
  34639. [CSSRegions]Content displayed in regions should not be scrollable
  34640. https://bugs.webkit.org/show_bug.cgi?id=66459
  34641. Reviewed by Darin Adler.
  34642. Initially, when creating the style for the RenderFlowThread, overflowX and overflowY were both set to hidden,
  34643. so that RenderView did not display scrollbars when a RenderFlowThread exists. However, this allowed the possibility
  34644. of scrolling the content displayed in region.
  34645. Now, the RenderFlowThread objects are ignored in RenderBlock::insertPositionedObject and the style of the RenderFlowThread
  34646. can be set to visible, thus preventing scrolling of the content displayed in regions.
  34647. Test: fast/regions/content-flowed-into-regions-no-scroll.html
  34648. * rendering/RenderFlowThread.cpp:
  34649. (WebCore::RenderFlowThread::createFlowThreadStyle):
  34650. 2011-08-19 Julien Chaffraix <jchaffraix@webkit.org>
  34651. REGRESSION (r84327-r84329): CSS stylesheets fail to load on www.flagstar.com login page
  34652. https://bugs.webkit.org/show_bug.cgi?id=65140
  34653. <rdar://problem/9835905>
  34654. Reviewed by Antti Koivisto.
  34655. Tests: fast/css/stylesheet-enable-first-alternate-on-load.html
  34656. fast/css/stylesheet-enable-first-alternate.html
  34657. fast/css/stylesheet-enable-second-alternate-on-load.html
  34658. fast/css/stylesheet-enable-second-alternate.html
  34659. http/tests/css/link-css-disabled-value-with-slow-loading-sheet-in-error.html
  34660. http/tests/css/link-css-disabled-value-with-slow-loading-sheet.html
  34661. The gist of the issue is that we were ignoring calls to HTMLLinkElement::setDisabled that would enable a
  34662. style sheet when we were loading a stylesheet (m_sheet was 0 and thus ignored the call per the spec).
  34663. FF goes against the CSS OM spec in this case and always keep an associated sheet as long as 'rel' hints
  34664. at a stylesheet link and href is present. Instead of siding with FF, I continued to follow the
  34665. specification and store the enabled via javascript state into m_scriptState (renamed from
  34666. m_isEnabledViaScript). This information gets merged back into the style sheet disabled state when it is
  34667. available.
  34668. While debugging the case at hand, I found some cases that were not properly handled and were fixed as
  34669. part of this change.
  34670. * html/HTMLLinkElement.cpp:
  34671. (WebCore::HTMLLinkElement::HTMLLinkElement): Updated after m_isEnabledViaScript rename.
  34672. (WebCore::HTMLLinkElement::setDisabled): Always call setIsEnabledViaScript so that
  34673. the information is properly stored (either for recalcStyleSelector or just to store
  34674. the state during loading).
  34675. (WebCore::HTMLLinkElement::sheetLoaded): Merge back the state from m_scriptState to
  34676. the sheet's disabled state.
  34677. (WebCore::HTMLLinkElement::disabled): Account for the temporary state and return the
  34678. right value. It matches FF and what people would expect.
  34679. (WebCore::HTMLLinkElement::areDisabledAndScriptStatesConsistent): Debug only method
  34680. that checks that disabled() and isEnabledViaScript() are consistent with each other
  34681. (under some circumstances).
  34682. * html/HTMLLinkElement.h:
  34683. (WebCore::HTMLLinkElement::isEnabledViaScript): Updated after m_isEnabledViaScript rename.
  34684. (WebCore::HTMLLinkElement::setIsEnabledViaScript): Added setter.
  34685. 2011-08-17 Adrienne Walker <enne@google.com>
  34686. [chromium] Split tiler into main thread / compositor thread versions
  34687. https://bugs.webkit.org/show_bug.cgi?id=66065
  34688. Reviewed by James Robinson.
  34689. Covered by existing tests.
  34690. LayerTilerChromium is renamed to be CCLayerTilingData. Invalidation
  34691. and paint functionality is pushed into TiledLayerChromium and drawing
  34692. with GL is pushed into CCTiledLayerImpl. During tree synchronization,
  34693. the tiler properties and texture IDs are synchronized into
  34694. CCTiledLayerImpl.
  34695. * WebCore.gypi:
  34696. * platform/graphics/chromium/ContentLayerChromium.cpp:
  34697. (WebCore::ContentLayerChromium::paintContentsIfDirty):
  34698. (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
  34699. * platform/graphics/chromium/ContentLayerChromium.h:
  34700. * platform/graphics/chromium/ImageLayerChromium.cpp:
  34701. (WebCore::ImageLayerChromium::paintContentsIfDirty):
  34702. * platform/graphics/chromium/LayerRendererChromium.cpp:
  34703. (WebCore::LayerRendererChromium::bestTextureFormat):
  34704. (WebCore::LayerRendererChromium::initializeSharedObjects):
  34705. (WebCore::LayerRendererChromium::tilerProgram):
  34706. (WebCore::LayerRendererChromium::tilerProgramSwizzle):
  34707. (WebCore::LayerRendererChromium::tilerProgramAA):
  34708. (WebCore::LayerRendererChromium::tilerProgramSwizzleAA):
  34709. * platform/graphics/chromium/LayerRendererChromium.h:
  34710. * platform/graphics/chromium/LayerTextureUpdater.h:
  34711. * platform/graphics/chromium/LayerTilerChromium.cpp: Removed.
  34712. * platform/graphics/chromium/ManagedTexture.h:
  34713. (WebCore::ManagedTexture::textureId):
  34714. * platform/graphics/chromium/TiledLayerChromium.cpp:
  34715. (WebCore::UpdatableTile::UpdatableTile):
  34716. (WebCore::UpdatableTile::texture):
  34717. (WebCore::UpdatableTile::dirty):
  34718. (WebCore::UpdatableTile::clearDirty):
  34719. (WebCore::TiledLayerChromium::TiledLayerChromium):
  34720. (WebCore::TiledLayerChromium::cleanupResources):
  34721. (WebCore::TiledLayerChromium::drawsContent):
  34722. (WebCore::TiledLayerChromium::createTilerIfNeeded):
  34723. (WebCore::TiledLayerChromium::updateCompositorResources):
  34724. (WebCore::TiledLayerChromium::pushPropertiesTo):
  34725. (WebCore::TiledLayerChromium::dumpLayerProperties):
  34726. (WebCore::TiledLayerChromium::textureManager):
  34727. (WebCore::TiledLayerChromium::tileAt):
  34728. (WebCore::TiledLayerChromium::createTile):
  34729. (WebCore::TiledLayerChromium::invalidateTiles):
  34730. (WebCore::TiledLayerChromium::invalidateRect):
  34731. (WebCore::TiledLayerChromium::protectVisibleTileTextures):
  34732. (WebCore::TiledLayerChromium::protectTileTextures):
  34733. (WebCore::TiledLayerChromium::prepareToUpdate):
  34734. * platform/graphics/chromium/TiledLayerChromium.h:
  34735. * platform/graphics/chromium/cc/CCLayerTilingData.cpp: Added.
  34736. (WebCore::CCLayerTilingData::create):
  34737. (WebCore::CCLayerTilingData::CCLayerTilingData):
  34738. (WebCore::CCLayerTilingData::setTileSize):
  34739. (WebCore::CCLayerTilingData::operator=):
  34740. (WebCore::CCLayerTilingData::addTile):
  34741. (WebCore::CCLayerTilingData::takeTile):
  34742. (WebCore::CCLayerTilingData::tileAt):
  34743. (WebCore::CCLayerTilingData::reset):
  34744. (WebCore::CCLayerTilingData::contentRectToTileIndices):
  34745. (WebCore::CCLayerTilingData::contentRectToLayerRect):
  34746. (WebCore::CCLayerTilingData::layerRectToContentRect):
  34747. (WebCore::CCLayerTilingData::tileContentRect):
  34748. (WebCore::CCLayerTilingData::tileLayerRect):
  34749. (WebCore::CCLayerTilingData::setLayerPosition):
  34750. (WebCore::CCLayerTilingData::growLayerToContain):
  34751. * platform/graphics/chromium/cc/CCLayerTilingData.h: Renamed from Source/WebCore/platform/graphics/chromium/LayerTilerChromium.h.
  34752. (WebCore::CCLayerTilingData::numTiles):
  34753. (WebCore::CCLayerTilingData::numTilesX):
  34754. (WebCore::CCLayerTilingData::numTilesY):
  34755. (WebCore::CCLayerTilingData::tileBounds):
  34756. (WebCore::CCLayerTilingData::textureOffset):
  34757. (WebCore::CCLayerTilingData::tileSize):
  34758. (WebCore::CCLayerTilingData::hasBorderTexels):
  34759. (WebCore::CCLayerTilingData::isEmpty):
  34760. (WebCore::CCLayerTilingData::Tile::Tile):
  34761. (WebCore::CCLayerTilingData::Tile::i):
  34762. (WebCore::CCLayerTilingData::Tile::j):
  34763. (WebCore::CCLayerTilingData::Tile::moveTo):
  34764. (WebCore::CCLayerTilingData::TileMapKeyTraits::emptyValue):
  34765. (WebCore::CCLayerTilingData::TileMapKeyTraits::constructDeletedValue):
  34766. (WebCore::CCLayerTilingData::TileMapKeyTraits::isDeletedValue):
  34767. (WebCore::CCLayerTilingData::tiles):
  34768. * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
  34769. (WebCore::DrawableTile::DrawableTile):
  34770. (WebCore::DrawableTile::textureId):
  34771. (WebCore::DrawableTile::setTextureId):
  34772. (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
  34773. (WebCore::CCTiledLayerImpl::bindContentsTexture):
  34774. (WebCore::CCTiledLayerImpl::tileAt):
  34775. (WebCore::CCTiledLayerImpl::createTile):
  34776. (WebCore::CCTiledLayerImpl::draw):
  34777. (WebCore::CCTiledLayerImpl::setTilingData):
  34778. (WebCore::CCTiledLayerImpl::syncTextureId):
  34779. (WebCore::isCCW):
  34780. (WebCore::computeEdge):
  34781. (WebCore::intersect):
  34782. (WebCore::CCTiledLayerImpl::drawTiles):
  34783. * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
  34784. (WebCore::CCTiledLayerImpl::setSkipsDraw):
  34785. (WebCore::CCTiledLayerImpl::setTextureOrientation):
  34786. (WebCore::CCTiledLayerImpl::setSampledTexelFormat):
  34787. * platform/graphics/gpu/TilingData.h:
  34788. 2011-08-19 Dan Bernstein <mitz@apple.com>
  34789. Better build fix after r93384.
  34790. * rendering/RenderBlockLineLayout.cpp:
  34791. (WebCore::RenderBlock::LineBreaker::nextLineBreak): Use WTF::Unicode wrapper instead of ICU.
  34792. 2011-08-19 Pavel Podivilov <podivilov@chromium.org>
  34793. Web Inspector: update scope variables upon value changes via console.
  34794. https://bugs.webkit.org/show_bug.cgi?id=54720
  34795. Reviewed by Pavel Feldman.
  34796. * inspector/front-end/ScriptsPanel.js:
  34797. (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
  34798. 2011-08-18 Pavel Podivilov <podivilov@chromium.org>
  34799. Web Inspector: extract breakpoint management code to a separate class and add tests.
  34800. https://bugs.webkit.org/show_bug.cgi?id=66224
  34801. Reviewed by Pavel Feldman.
  34802. Test: inspector/debugger/breakpoint-manager.html
  34803. * WebCore.gypi:
  34804. * WebCore.vcproj/WebCore.vcproj:
  34805. * inspector/front-end/BreakpointManager.js: Added.
  34806. (WebInspector.BreakpointManager):
  34807. (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
  34808. (WebInspector.BreakpointManager.prototype.breakpointsForUISourceCode):
  34809. (WebInspector.BreakpointManager.prototype.setBreakpoint):
  34810. (WebInspector.BreakpointManager.prototype.removeBreakpoint):
  34811. (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
  34812. (WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
  34813. (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
  34814. (WebInspector.BreakpointManager.prototype._deleteBreakpointFromUI):
  34815. (WebInspector.BreakpointManager.prototype._moveBreakpointInUI):
  34816. (WebInspector.BreakpointManager.prototype._breakpoints):
  34817. (WebInspector.BreakpointManager.prototype._breakpoint):
  34818. (WebInspector.BreakpointManager.prototype._forEachBreakpoint):
  34819. (WebInspector.BreakpointManager.prototype._setBreakpointInDebugger):
  34820. (WebInspector.BreakpointManager.prototype._removeBreakpointFromDebugger):
  34821. (WebInspector.BreakpointManager.prototype._breakpointResolved):
  34822. (WebInspector.BreakpointManager.prototype.serializeBreakpoints):
  34823. (WebInspector.BreakpointManager.prototype.reset):
  34824. (WebInspector.BreakpointManager.prototype.debuggerReset):
  34825. (WebInspector.Breakpoint):
  34826. (WebInspector.Breakpoint.prototype.serialize):
  34827. (WebInspector.Breakpoint.deserialize):
  34828. * inspector/front-end/DebuggerModel.js:
  34829. (WebInspector.DebuggerModel.prototype.setBreakpointByScriptLocation):
  34830. * inspector/front-end/SourceFile.js:
  34831. (WebInspector.RawSourceCode.prototype.get rawSourceCode):
  34832. * inspector/front-end/WebKit.qrc:
  34833. * inspector/front-end/inspector.html:
  34834. 2011-08-19 Adam Roben <aroben@apple.com>
  34835. Fix typo
  34836. * dom/DOMAllInOne.cpp:
  34837. 2011-08-19 Adam Roben <aroben@apple.com>
  34838. Windows build fix after r93385
  34839. * dom/DOMAllInOne.cpp: Added EventDispatcMediator.cpp.
  34840. 2011-08-19 Pavel Feldman <pfeldman@google.com>
  34841. Web Inspector: getAttributes should work on a single node, not array.
  34842. https://bugs.webkit.org/show_bug.cgi?id=66544
  34843. Reviewed by Adam Roben.
  34844. * inspector/Inspector.json:
  34845. * inspector/InspectorDOMAgent.cpp:
  34846. (WebCore::InspectorDOMAgent::getAttributes):
  34847. * inspector/InspectorDOMAgent.h:
  34848. * inspector/front-end/DOMAgent.js:
  34849. (WebInspector.DOMAgent.prototype._loadNodeAttributes):
  34850. 2011-08-19 Anton Muhin <antonm@chromium.org>
  34851. [v8] CSS wrapper objects retention
  34852. https://bugs.webkit.org/show_bug.cgi?id=66377
  34853. Reviewed by Pavel Feldman.
  34854. Disable object grouping for CSS object wrappers.
  34855. This logic leads to hard to debug use-after-free problems.
  34856. * bindings/v8/V8GCController.cpp:
  34857. (WebCore::GrouperVisitor::visitDOMWrapper):
  34858. 2011-08-19 Pavel Feldman <pfeldman@google.com>
  34859. Web Inspector: introduce NodeId inherited from integer in the DOM domain description.
  34860. https://bugs.webkit.org/show_bug.cgi?id=66491
  34861. Drive-by rename of couple of DOM domain protocol methods.
  34862. Reviewed by Adam Roben.
  34863. * inspector/Inspector.json:
  34864. * inspector/InspectorDOMAgent.cpp:
  34865. (WebCore::InspectorDOMAgent::requestChildNodes):
  34866. (WebCore::InspectorDOMAgent::getAttributes):
  34867. (WebCore::InspectorDOMAgent::requestNode):
  34868. (WebCore::InspectorDOMAgent::buildObjectForNode):
  34869. * inspector/InspectorDOMAgent.h:
  34870. * inspector/front-end/DOMAgent.js:
  34871. (WebInspector.DOMNode):
  34872. (WebInspector.DOMNode.prototype.getChildNodes):
  34873. (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
  34874. (WebInspector.DOMAgent.prototype._loadNodeAttributes):
  34875. (WebInspector.DOMAgent.prototype._setDocument):
  34876. (WebInspector.DOMAgent.prototype._setDetachedRoot):
  34877. * inspector/generate-inspector-idl:
  34878. 2011-08-19 Jochen Eisinger <jochen@chromium.org>
  34879. IDBSQLiteBackingStore::deleteObjectStore should maintain referential integrity.
  34880. https://bugs.webkit.org/show_bug.cgi?id=66470
  34881. Reviewed by Tony Gentilcore.
  34882. * storage/IDBSQLiteBackingStore.cpp:
  34883. (WebCore::IDBSQLiteBackingStore::deleteObjectStore):
  34884. 2011-08-19 Takashi Toyoshima <toyoshim@chromium.org>
  34885. [WebSocket] CloseEvent's code and reason properties support.
  34886. https://bugs.webkit.org/show_bug.cgi?id=66362
  34887. Reviewed by Kent Tamura.
  34888. Current WebSocket implementation miss code and reason properties
  34889. in CloseEvent. This change expose incoming closing frame's code
  34890. and reason to JavaScript API.
  34891. Tests: http/tests/websocket/tests/hybi/close-code-and-reason.html
  34892. http/tests/websocket/tests/hybi/workers/close-code-and-reason.html
  34893. * websockets/CloseEvent.h:
  34894. (WebCore::CloseEvent::initCloseEvent):
  34895. (WebCore::CloseEvent::code):
  34896. (WebCore::CloseEvent::reason):
  34897. (WebCore::CloseEvent::CloseEvent):
  34898. * websockets/CloseEvent.idl:
  34899. Add code and reason properies.
  34900. * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
  34901. (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
  34902. (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
  34903. * websockets/ThreadableWebSocketChannelClientWrapper.h:
  34904. * websockets/WebSocket.cpp:
  34905. (WebCore::WebSocket::didConnect):
  34906. (WebCore::WebSocket::didClose):
  34907. * websockets/WebSocket.h:
  34908. Add implement to handle code and reason.
  34909. * websockets/WebSocketChannel.cpp:
  34910. (WebCore::WebSocketChannel::WebSocketChannel):
  34911. (WebCore::WebSocketChannel::didCloseSocketStream):
  34912. (WebCore::WebSocketChannel::processFrame):
  34913. * websockets/WebSocketChannel.h:
  34914. Add closing frame payload parser.
  34915. * websockets/WebSocketChannelClient.h:
  34916. (WebCore::WebSocketChannelClient::didClose):
  34917. * websockets/WorkerThreadableWebSocketChannel.cpp:
  34918. (WebCore::workerContextDidClose):
  34919. (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
  34920. * websockets/WorkerThreadableWebSocketChannel.h:
  34921. Add implement to handle code and reason.
  34922. 2011-08-19 MORITA Hajime <morrita@google.com>
  34923. Spell-checking doesn't recognize word boundaries on contests inserted by execCommand('insertHTML')
  34924. https://bugs.webkit.org/show_bug.cgi?id=65902
  34925. Reviewed by Ryosuke Niwa.
  34926. markMisspellingsAndBadGrammar() was using markSpelling() and markBadGrammar().
  34927. But these are low-level API and caller should take care of word boundary.
  34928. This change replaced these call with overloaded version of markMisspellingsAndBadGrammar(),
  34929. which handles word boundary correctly.
  34930. Test: editing/spelling/spelling-insert-html.html
  34931. * WebCore.exp.in:
  34932. * editing/Editor.cpp:
  34933. (WebCore::Editor::markMisspellingsAndBadGrammar):
  34934. * testing/Internals.cpp:
  34935. (WebCore::Internals::markerCountOf): Added.
  34936. (WebCore::Internals::markedRangeAt): Added.
  34937. * testing/Internals.h:
  34938. * testing/Internals.idl:
  34939. 2011-08-19 Nayan Kumar K <nayankk@motorola.com>
  34940. Run-time error fix in WebKit-GTK with video support disabled.
  34941. https://bugs.webkit.org/show_bug.cgi?id=66541
  34942. Definition of the function extraFullScreenStyleSheet() in webkit-gtk
  34943. lies outside ENABLE(VIDEO) guard, resulting in runtime error while
  34944. trying to launch GtkLauncher with video support disabled.
  34945. Reviewed by Philippe Normand.
  34946. Run-time error fix. No test cases were added.
  34947. * platform/gtk/RenderThemeGtk.h:
  34948. 2011-08-19 Shinya Kawanaka <shinyak@google.com>
  34949. input[maxlength=0] should ignore text input.
  34950. https://bugs.webkit.org/show_bug.cgi?id=65497
  34951. Reviewed by Kent Tamura.
  34952. Changed the valid range of maxlength.
  34953. * html/HTMLInputElement.cpp:
  34954. (WebCore::HTMLInputElement::parseMaxLengthAttribute):
  34955. Changed maxlength check condition.
  34956. 2011-08-19 Ilya Tikhonovsky <loislo@chromium.org>
  34957. Web Inspector: backend js api: an ability to skip optional arguments in the middle of the argument list is required.
  34958. https://bugs.webkit.org/show_bug.cgi?id=66482
  34959. There are functions in the API with multiple optional arguments.
  34960. When we call it we have to specify an optional argument as 'undefined' if we want to pass non default value for the next one.
  34961. This can be solved with passing the arguments as an object.
  34962. Reviewed by Pavel Feldman.
  34963. * inspector/CodeGeneratorInspector.pm:
  34964. * inspector/front-end/RemoteObject.js:
  34965. 2011-08-19 Zoltan Horvath <zoltan@webkit.org>
  34966. [Qt] Build fix after r93384.
  34967. * rendering/RenderBlockLineLayout.cpp:
  34968. (WebCore::RenderBlock::LineBreaker::nextLineBreak):
  34969. 2011-08-18 Shawn Singh <shawnsingh@chromium.org>
  34970. Computing screen-space transform for LayerChromium and CCLayerImpl
  34971. https://bugs.webkit.org/show_bug.cgi?id=66114
  34972. Added a data member to LayerChromium and CCLayerImpl that holds
  34973. the screen-space transform. The transform is computed in
  34974. calculateDrawTransformsAndVisibility(), which is used during
  34975. updating (LayerChromium) and drawing (CCLayerImpl).
  34976. Also fixed a FIXME in LayerRendererChromium::drawLayer, which
  34977. was not computing the entire hierarchy of transforms to determine
  34978. back-face visibility. Now it simply uses the world space transform.
  34979. Reviewed by James Robinson.
  34980. Test: compositing/backface-visibility-hierarchical-transform.html
  34981. * platform/graphics/chromium/LayerChromium.h:
  34982. (WebCore::LayerChromium::screenSpaceTransform):
  34983. (WebCore::LayerChromium::setScreenSpaceTransform):
  34984. * platform/graphics/chromium/LayerRendererChromium.cpp:
  34985. (WebCore::LayerRendererChromium::updateLayers):
  34986. (WebCore::LayerRendererChromium::drawLayersInternal):
  34987. (WebCore::LayerRendererChromium::drawLayer):
  34988. * platform/graphics/chromium/cc/CCLayerImpl.h:
  34989. (WebCore::CCLayerImpl::screenSpaceTransform):
  34990. (WebCore::CCLayerImpl::setScreenSpaceTransform):
  34991. 2011-08-18 Ben Wells <benwells@chromium.org>
  34992. [skia] -webkit-transform breaks -webkit-mask
  34993. https://bugs.webkit.org/show_bug.cgi?id=66442
  34994. The problem here is that in RenderBox::paintMaskImages, if we are in
  34995. a transform with a rotation, scale or skew we set the composite mode to
  34996. be DestinationIn and then create a transparency layer, then paint the
  34997. mask with SourceOver and end the transparency layer. (The normal case
  34998. is just to use DestinationIn to paint the mask.)
  34999. In skia when we create transparency layers we don't pass on the composite
  35000. mode, so when we end the transparency layer it is composited back using
  35001. SourceOver. The fix is to pass on the composite mode when creating
  35002. transparency layers in skia.
  35003. Reviewed by Stephen White.
  35004. * platform/graphics/skia/GraphicsContextSkia.cpp:
  35005. (WebCore::GraphicsContext::beginTransparencyLayer):
  35006. * platform/graphics/skia/PlatformContextSkia.cpp:
  35007. (WebCore::PlatformContextSkia::getXfermodeMode):
  35008. * platform/graphics/skia/PlatformContextSkia.h:
  35009. 2011-08-18 Hayato Ito <hayato@chromium.org>
  35010. Isolate EventDispatchMediator into a separate file.
  35011. https://bugs.webkit.org/show_bug.cgi?id=66458
  35012. Reviewed by Ryosuke Niwa.
  35013. Extracted EventDispatchMediator.h and EventDispatchMediator.cpp
  35014. out of Event.h and Event.cpp Also moved FocusEventDispatchMediator
  35015. and BlurEventDispatchMediator from Event.{h|cpp} to
  35016. EventDispatchMediator.{h|cpp}.
  35017. No new tests since this is just refactoring.
  35018. * CMakeLists.txt:
  35019. * GNUmakefile.list.am:
  35020. * WebCore.gypi:
  35021. * WebCore.pro:
  35022. * WebCore.vcproj/WebCore.vcproj:
  35023. * WebCore.xcodeproj/project.pbxproj:
  35024. * dom/Event.cpp:
  35025. * dom/Event.h:
  35026. * dom/EventDispatchMediator.cpp: Added.
  35027. (WebCore::EventDispatchMediator::create):
  35028. (WebCore::EventDispatchMediator::EventDispatchMediator):
  35029. (WebCore::EventDispatchMediator::dispatchEvent):
  35030. (WebCore::FocusEventDispatchMediator::create):
  35031. (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
  35032. (WebCore::FocusEventDispatchMediator::dispatchEvent):
  35033. (WebCore::BlurEventDispatchMediator::create):
  35034. (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
  35035. (WebCore::BlurEventDispatchMediator::dispatchEvent):
  35036. * dom/EventDispatchMediator.h: Added.
  35037. (WebCore::EventDispatchMediator::~EventDispatchMediator):
  35038. (WebCore::EventDispatchMediator::event):
  35039. (WebCore::EventDispatchMediator::EventDispatchMediator):
  35040. (WebCore::EventDispatchMediator::setEvent):
  35041. * dom/EventDispatcher.cpp:
  35042. * dom/KeyboardEvent.h:
  35043. * dom/MouseEvent.h:
  35044. * dom/Node.cpp:
  35045. * dom/ScopedEventQueue.cpp:
  35046. * dom/UIEvent.h:
  35047. * dom/WheelEvent.h:
  35048. 2011-08-18 Dan Bernstein <mitz@apple.com>
  35049. Mid-word break can occur between a character and a combining mark
  35050. https://bugs.webkit.org/show_bug.cgi?id=66529
  35051. Reviewed by Simon Fraser.
  35052. No test added because I could not find a combining mark with a non-zero advance in
  35053. any of the system fonts and tests fonts.
  35054. * rendering/RenderBlockLineLayout.cpp:
  35055. (WebCore::RenderBlock::LineBreaker::nextLineBreak): Disallow a mid-word break before a
  35056. combining mark.
  35057. 2011-08-18 Kent Tamura <tkent@chromium.org>
  35058. REGRESSION(r90971): Null pointer dereference with placeholder and webkit-scrollbar-corner
  35059. https://bugs.webkit.org/show_bug.cgi?id=66453
  35060. Reviewed by Simon Fraser.
  35061. Test: fast/forms/placeholder-crash-with-scrollbar-corner.html
  35062. * rendering/RenderObjectChildList.cpp:
  35063. (WebCore::RenderObjectChildList::removeChildNode): Add a NULL check for owner's layer.
  35064. 2011-08-18 Jeffrey Pfau <jpfau@apple.com>
  35065. New XML parser: scripting support
  35066. https://bugs.webkit.org/show_bug.cgi?id=66406
  35067. Reviewed by Adam Barth.
  35068. * xml/parser/NewXMLDocumentParser.cpp:
  35069. (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
  35070. (WebCore::NewXMLDocumentParser::resumeParsing):
  35071. (WebCore::NewXMLDocumentParser::processScript):
  35072. (WebCore::NewXMLDocumentParser::append): Add support for pausing the parsing
  35073. (WebCore::NewXMLDocumentParser::finish): Add support for pausing the parsing
  35074. (WebCore::NewXMLDocumentParser::notifyFinished):
  35075. * xml/parser/NewXMLDocumentParser.h:
  35076. (WebCore::NewXMLDocumentParser::pauseParsing):
  35077. * xml/parser/XMLTreeBuilder.cpp: Add a shared function between self-closing and end tags
  35078. (WebCore::XMLTreeBuilder::closeElement): Registers scripts and pops the stack
  35079. (WebCore::XMLTreeBuilder::processStartTag):
  35080. (WebCore::XMLTreeBuilder::processEndTag):
  35081. * xml/parser/XMLTreeBuilder.h:
  35082. 2011-08-18 Mark Hahnenberg <mhahnenberg@apple.com>
  35083. Move allocation in constructors into separate constructorBody() methods
  35084. https://bugs.webkit.org/show_bug.cgi?id=66265
  35085. Reviewed by Oliver Hunt.
  35086. No new tests.
  35087. Refactoring to put all allocations that need to be done after the object's
  35088. initialization list has executed but before the object is ready for use
  35089. into a separate constructorBody() method. This method is still called by the constructor,
  35090. so the patch doesn't resolve any potential issues, it's just to set up the code for further refactoring.
  35091. * bridge/objc/ObjCRuntimeObject.h:
  35092. (JSC::Bindings::ObjCRuntimeObject::create):
  35093. * bridge/objc/ObjCRuntimeObject.mm:
  35094. * bridge/objc/objc_instance.mm:
  35095. (ObjCRuntimeMethod::create):
  35096. (ObjCRuntimeMethod::ObjCRuntimeMethod):
  35097. * bridge/runtime_array.cpp:
  35098. * bridge/runtime_array.h:
  35099. (JSC::RuntimeArray::create):
  35100. 2011-08-18 Beth Dakin <bdakin@apple.com>
  35101. https://bugs.webkit.org/show_bug.cgi?id=66495
  35102. Lion-specific scroller SPIs can use forward declaration instead of
  35103. WebKitSystemInterface
  35104. Reviewed by Sam Weinig.
  35105. * WebCore.exp.in:
  35106. * WebCore.xcodeproj/project.pbxproj:
  35107. * platform/mac/NSScrollerImpDetails.h: Added.
  35108. * platform/mac/ScrollAnimatorMac.h:
  35109. * platform/mac/ScrollAnimatorMac.mm:
  35110. (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
  35111. (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
  35112. (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
  35113. (-[ScrollbarPartAnimation setCurrentProgress:]):
  35114. (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
  35115. (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
  35116. (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
  35117. (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
  35118. (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
  35119. (WebCore::ScrollAnimatorMac::notifyPositionChanged):
  35120. (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
  35121. (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
  35122. (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
  35123. (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
  35124. (WebCore::ScrollAnimatorMac::willStartLiveResize):
  35125. (WebCore::ScrollAnimatorMac::contentsResized):
  35126. (WebCore::ScrollAnimatorMac::willEndLiveResize):
  35127. (WebCore::ScrollAnimatorMac::contentAreaDidShow):
  35128. (WebCore::ScrollAnimatorMac::contentAreaDidHide):
  35129. (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
  35130. (WebCore::ScrollAnimatorMac::didEndScrollGesture):
  35131. (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
  35132. (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
  35133. (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
  35134. (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
  35135. (WebCore::ScrollAnimatorMac::updateScrollerStyle):
  35136. (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
  35137. * platform/mac/ScrollbarThemeMac.h:
  35138. * platform/mac/ScrollbarThemeMac.mm:
  35139. (WebCore::ScrollbarThemeMac::registerScrollbar):
  35140. (WebCore::ScrollbarThemeMac::scrollbarThickness):
  35141. (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
  35142. (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
  35143. (WebCore::ScrollbarThemeMac::hasThumb):
  35144. (WebCore::ScrollbarThemeMac::minimumThumbLength):
  35145. (WebCore::ScrollbarThemeMac::updateEnabledState):
  35146. (WebCore::scrollbarPainterPaint):
  35147. (WebCore::ScrollbarThemeMac::paint):
  35148. * platform/mac/WebCoreSystemInterface.h:
  35149. * platform/mac/WebCoreSystemInterface.mm:
  35150. 2011-08-18 Dan Bernstein <mitz@apple.com>
  35151. <rdar://problem/9973194> Fonts that specify a positive descender value are treated as having descenders ending above the baseline
  35152. https://bugs.webkit.org/show_bug.cgi?id=66515
  35153. Reviewed by Darin Adler.
  35154. No test because none of the system fonts and test fonts have an incorrectly-specified descender value.
  35155. * platform/graphics/mac/SimpleFontDataMac.mm:
  35156. (WebCore::SimpleFontData::platformInit): If the font specifies a positive descender, assume that it meant
  35157. the same amount, but negative. This is consistent with what Core Text does.
  35158. 2011-08-18 Ryosuke Niwa <rniwa@webkit.org>
  35159. positionForPoint returns wrong VisiblePosition at bidi boundaries
  35160. https://bugs.webkit.org/show_bug.cgi?id=65356
  35161. Reviewed by David Hyatt.
  35162. The bug was caused by RenderText::positionForPoint's assuming that the position will always reside
  35163. inside the inline box that contains the point, which is not true at the boundaries of bidi-runs.
  35164. For example, in aDC12BAb where AB12CD is a RTL text, the offset on the right of A is 7 even though
  35165. the inline box for "BA" only contains offsets 1, 2, and 3. We must traverse the bidi-run "DC12BA"
  35166. until the end to obtain the offset 7 from the inline box for "DC".
  35167. Fixed the bug by introducing createVisiblePositionAfterAdjustingOffsetForBiDi which traverses runs
  35168. on the left or the right of the position to compute the appropriate offset following the NSTextView convention.
  35169. This patch also fixes a regression from r74971 that caret is placed incorrectly between inline boxes of
  35170. LTR or RTL text in a RTL or LTR block respectively.
  35171. Test: editing/selection/caret-at-bidi-boundary.html
  35172. * rendering/InlineTextBox.cpp:
  35173. (WebCore::InlineTextBox::offsetForPosition):
  35174. * rendering/RenderText.cpp:
  35175. (WebCore::lineDirectionPointFitsInBox): Takes ShouldAffinityBeDownstream instead of EAfinity.
  35176. (WebCore::createVisiblePositionForBox):
  35177. (WebCore::createVisiblePositionAfterAdjustingOffsetForBiDi):
  35178. (WebCore::RenderText::positionForPoint):
  35179. 2011-08-18 Xiaomei Ji <xji@chromium.org>
  35180. --webkit-visual-word renaming right/leftWordPositionAcrossBoundary
  35181. https://bugs.webkit.org/show_bug.cgi?id=66436
  35182. Reviewed by Ryosuke Niwa.
  35183. Rename them to right/leftWordPositionIgnoringEditingBoundary.
  35184. * editing/visible_units.cpp:
  35185. (WebCore::leftWordPositionIgnoringEditingBoundary):
  35186. (WebCore::rightWordPositionIgnoringEditingBoundary):
  35187. (WebCore::leftWordPosition):
  35188. (WebCore::rightWordPosition):
  35189. 2011-08-18 Jeff Miller <jeffm@apple.com>
  35190. Soft link against AVFoundationCF and CoreMedia
  35191. https://bugs.webkit.org/show_bug.cgi?id=65725
  35192. Add new macros to SoftLinking.h to support soft-linking to functions and variables decorated with __declspec(dllimport),
  35193. and use them to soft-link to AVFoundationCF and CoreMedia. I verified that the WebProcess doesn't load these DLLs
  35194. until a media element is used.
  35195. Reviewed by Eric Carlson.
  35196. No new tests as no change in functionality.
  35197. * WebCore.vcproj/WebCore.vcproj: Added AVFoundationCFSoftLinking.h and CoreMediaSoftLinking.h.
  35198. * WebCore.vcproj/WebCoreMediaQT.vsprops: Removed DelayLoadDLLs linker option which is no longer needed.
  35199. * platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Added.
  35200. * platform/graphics/avfoundation/cf/CoreMediaSoftLinking.h: Added.
  35201. * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Stop linking against AVFoundationCF.lib and CoreMedia.lib and include AVFoundationCFSoftLinking.h and CoreMediaSoftLinking.h.
  35202. * platform/win/SoftLinking.h: Added SOFT_LINK_DLL_IMPORT() and SOFT_LINK_VARIABLE_DLL_IMPORT() macros.
  35203. 2011-08-18 Sailesh Agrawal <sail@chromium.org>
  35204. Chromium Mac: Show scrollbar when doing search
  35205. https://bugs.webkit.org/show_bug.cgi?id=66209
  35206. Reviewed by James Robinson.
  35207. Updated the Lion scrollbar drawing code to force the scrollbar to be visible when we have tickmarks for search results.
  35208. No tests because there are no Mac 10.7 chromium bots yet.
  35209. * platform/chromium/ScrollbarThemeChromiumMac.h:
  35210. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  35211. (WebCore::ScrollbarThemeChromiumMac::paint):
  35212. (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
  35213. 2011-08-18 James Robinson <jamesr@chromium.org>
  35214. [chromium] Draw the root/"non-composited content" in compositor side
  35215. https://bugs.webkit.org/show_bug.cgi?id=58834
  35216. Reviewed by Kenneth Russell.
  35217. Handle the root or non-composited content with a GraphicsLayer rather than special case logic in
  35218. LayerRendererChromium. This layer's client is the NonCompositedContentHost, which routes the paint callbacks
  35219. through the LayerPainterChromium interface out to the WebView. The root layer is special in two ways:
  35220. *) The root layer has a scroll offset, which changes how the visibleLayerRect maps to content space and applies a
  35221. draw-time transform.
  35222. *) The root layer masks the alpha channel and disable blending when drawing because of concerns about subpixel
  35223. AA trashing the alpha channel. The root layer is always opaque so this is fine.
  35224. *) The root layer does not have border texels and does have subpixel AA for text.
  35225. Covered by compositing/
  35226. * WebCore.gypi:
  35227. * platform/graphics/chromium/ContentLayerChromium.cpp:
  35228. (WebCore::ContentLayerChromium::paintContentsIfDirty):
  35229. * platform/graphics/chromium/ImageLayerChromium.cpp:
  35230. (WebCore::ImageLayerChromium::paintContentsIfDirty):
  35231. * platform/graphics/chromium/LayerChromium.cpp:
  35232. (WebCore::LayerChromium::pushPropertiesTo):
  35233. * platform/graphics/chromium/LayerChromium.h:
  35234. (WebCore::LayerChromium::scrollPosition):
  35235. (WebCore::LayerChromium::setScrollPosition):
  35236. * platform/graphics/chromium/LayerRendererChromium.cpp:
  35237. (WebCore::LayerRendererChromium::initialize):
  35238. (WebCore::LayerRendererChromium::releaseTextures):
  35239. (WebCore::LayerRendererChromium::viewportChanged):
  35240. (WebCore::LayerRendererChromium::updateLayers):
  35241. (WebCore::LayerRendererChromium::drawLayers):
  35242. (WebCore::LayerRendererChromium::drawLayersInternal):
  35243. (WebCore::LayerRendererChromium::getFramebufferPixels):
  35244. (WebCore::LayerRendererChromium::cleanupSharedObjects):
  35245. (WebCore::LayerRendererChromium::layerTreeAsText):
  35246. * platform/graphics/chromium/LayerRendererChromium.h:
  35247. (WebCore::LayerRendererChromium::rootLayer):
  35248. (WebCore::LayerRendererChromium::viewportSize):
  35249. (WebCore::LayerRendererChromium::viewportWidth):
  35250. (WebCore::LayerRendererChromium::viewportHeight):
  35251. * platform/graphics/chromium/NonCompositedContentHost.cpp: Added.
  35252. (WebCore::NonCompositedContentHost::NonCompositedContentHost):
  35253. (WebCore::NonCompositedContentHost::~NonCompositedContentHost):
  35254. (WebCore::NonCompositedContentHost::invalidateRect):
  35255. (WebCore::NonCompositedContentHost::invalidateEntireLayer):
  35256. (WebCore::NonCompositedContentHost::setScrollPosition):
  35257. (WebCore::NonCompositedContentHost::notifyAnimationStarted):
  35258. (WebCore::NonCompositedContentHost::notifySyncRequired):
  35259. (WebCore::NonCompositedContentHost::paintContents):
  35260. (WebCore::NonCompositedContentHost::showDebugBorders):
  35261. (WebCore::NonCompositedContentHost::showRepaintCounter):
  35262. * platform/graphics/chromium/NonCompositedContentHost.h: Added.
  35263. (WebCore::NonCompositedContentHost::create):
  35264. (WebCore::NonCompositedContentHost::graphicsLayer):
  35265. * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
  35266. (WebCore::CCHeadsUpDisplay::draw):
  35267. * platform/graphics/chromium/cc/CCLayerImpl.h:
  35268. (WebCore::CCLayerImpl::scrollPosition):
  35269. (WebCore::CCLayerImpl::setScrollPosition):
  35270. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  35271. (WebCore::CCLayerTreeHost::CCLayerTreeHost):
  35272. (WebCore::CCLayerTreeHost::initialize):
  35273. (WebCore::CCLayerTreeHost::invalidateRootLayerRect):
  35274. (WebCore::CCLayerTreeHost::setRootLayer):
  35275. (WebCore::CCLayerTreeHost::setViewport):
  35276. (WebCore::CCLayerTreeHost::reallocateRenderer):
  35277. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  35278. (WebCore::CCLayerTreeHost::rootLayer):
  35279. (WebCore::CCLayerTreeHost::viewportSize):
  35280. 2011-08-18 Sheriff Bot <webkit.review.bot@gmail.com>
  35281. Unreviewed, rolling out r93354.
  35282. http://trac.webkit.org/changeset/93354
  35283. https://bugs.webkit.org/show_bug.cgi?id=66503
  35284. "consensus was not reached" (Requested by senorblanco on
  35285. #webkit).
  35286. * html/canvas/CanvasRenderingContext2D.cpp:
  35287. (WebCore::CanvasRenderingContext2D::drawImage):
  35288. * platform/graphics/cg/GraphicsContextCG.cpp:
  35289. (WebCore::GraphicsContext::drawNativeImage):
  35290. 2011-08-18 Sadrul Habib Chowdhury <sadrul@chromium.org>
  35291. GestureRecognizer: Update how gesture-scroll works.
  35292. Instead of just sending a series of 'GestureUpdate' events, send a
  35293. single 'GestureBegin' event, followed by a series of 'GestureUpdate' events,
  35294. and end with a 'GestureEnd' event.
  35295. https://bugs.webkit.org/show_bug.cgi?id=66267
  35296. Reviewed by Adam Barth.
  35297. * page/EventHandler.cpp:
  35298. (WebCore::EventHandler::handleGestureEvent):
  35299. * platform/chromium/GestureRecognizerChromium.cpp:
  35300. (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
  35301. (WebCore::InnerGestureRecognizer::appendScrollGestureBegin):
  35302. (WebCore::InnerGestureRecognizer::appendScrollGestureEnd):
  35303. (WebCore::InnerGestureRecognizer::appendScrollGestureUpdate):
  35304. (WebCore::scrollEnd):
  35305. (WebCore::isClickOrScroll):
  35306. (WebCore::inScroll):
  35307. * platform/chromium/GestureRecognizerChromium.h:
  35308. (WebCore::InnerGestureRecognizer::firstTouchPosition):
  35309. 2011-08-18 Sailesh Agrawal <sail@chromium.org>
  35310. Chromium: Update forked ScrollbarThemeChromiumMac.mm
  35311. https://bugs.webkit.org/show_bug.cgi?id=65555
  35312. Reviewed by James Robinson.
  35313. Merge recent changes to ScrollbarThemeMac.mm to ScrollbarThemeChromiumMac.mm.
  35314. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
  35315. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
  35316. (wkScrollbarPainterSetEnabled):
  35317. * platform/chromium/ScrollbarThemeChromiumMac.h:
  35318. (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
  35319. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  35320. (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
  35321. (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
  35322. (WebCore::toScrollbarPainterKnobStyle):
  35323. (WebCore::ScrollbarThemeChromiumMac::updateScrollbarOverlayStyle):
  35324. (WebCore::ScrollbarThemeChromiumMac::updateEnabledState):
  35325. (WebCore::ScrollbarThemeChromiumMac::paint):
  35326. 2011-08-18 Justin Novosad <junov@chromium.org>
  35327. Unwarranted DOM Exception when when canvas2D drawImage is called with src
  35328. rect out of bounds
  35329. https://bugs.webkit.org/show_bug.cgi?id=65709
  35330. Reviewed by Stephen White.
  35331. Test: fast/canvas/drawImage-clipped-source.html
  35332. * html/canvas/CanvasRenderingContext2D.cpp:
  35333. (WebCore::CanvasRenderingContext2D::drawImage):
  35334. Removed the unnecessary dom exceptions for out of bounds source rectangles
  35335. The overloads that receive video and image elements as source images
  35336. now use the normalized versions of the source rectangle, which
  35337. GraphicsContext (and its various platform flavors) can handle correctly.
  35338. The normalized rectangle is the equivalent rectangle with width and height
  35339. greater than 0. The canvas version of this method, which had better layout
  35340. test coverage, was already correctly using the normalized rectangle. The
  35341. newly added layout test verifies correct behavior with negative
  35342. source rectangle dimensions.
  35343. * platform/graphics/cg/GraphicsContextCG.cpp:
  35344. (WebCore::GraphicsContext::drawNativeImage):
  35345. Fixed algorithm that adjusts the destination rectangle to match the clipping
  35346. applied to the source rect. The case of scaled filtered images with source
  35347. rectangles that overlap the edge of the image was not being handled
  35348. correctly. This use case was previously unsupported and used to trigger
  35349. a DOM exception.
  35350. 2011-08-18 Sheriff Bot <webkit.review.bot@gmail.com>
  35351. Unreviewed, rolling out r93329.
  35352. http://trac.webkit.org/changeset/93329
  35353. https://bugs.webkit.org/show_bug.cgi?id=66497
  35354. Turned text on chromium win blue (Requested by jamesr_ on
  35355. #webkit).
  35356. * WebCore.gypi:
  35357. * platform/graphics/chromium/ContentLayerChromium.cpp:
  35358. * platform/graphics/chromium/ContentLayerChromium.h:
  35359. * platform/graphics/chromium/ImageLayerChromium.cpp:
  35360. (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
  35361. * platform/graphics/chromium/LayerChromium.cpp:
  35362. (WebCore::LayerChromium::LayerChromium):
  35363. (WebCore::LayerChromium::pushPropertiesTo):
  35364. (WebCore::LayerChromium::dumpLayerProperties):
  35365. * platform/graphics/chromium/LayerChromium.h:
  35366. * platform/graphics/chromium/LayerRendererChromium.cpp:
  35367. (WebCore::LayerRendererChromium::initialize):
  35368. (WebCore::LayerRendererChromium::releaseTextures):
  35369. (WebCore::LayerRendererChromium::updateRootLayerContents):
  35370. (WebCore::LayerRendererChromium::drawRootLayer):
  35371. (WebCore::LayerRendererChromium::invalidateRootLayerRect):
  35372. (WebCore::LayerRendererChromium::rootLayerChanged):
  35373. (WebCore::LayerRendererChromium::viewportChanged):
  35374. (WebCore::LayerRendererChromium::updateLayers):
  35375. (WebCore::LayerRendererChromium::drawLayers):
  35376. (WebCore::LayerRendererChromium::paintLayerContents):
  35377. (WebCore::LayerRendererChromium::drawLayersInternal):
  35378. (WebCore::LayerRendererChromium::getFramebufferPixels):
  35379. (WebCore::LayerRendererChromium::cleanupSharedObjects):
  35380. (WebCore::LayerRendererChromium::layerTreeAsText):
  35381. (WebCore::LayerRendererChromium::dumpRenderSurfaces):
  35382. * platform/graphics/chromium/LayerRendererChromium.h:
  35383. (WebCore::LayerRendererChromium::rootLayer):
  35384. * platform/graphics/chromium/NonCompositedContentHost.cpp: Removed.
  35385. * platform/graphics/chromium/NonCompositedContentHost.h: Removed.
  35386. * platform/graphics/chromium/RenderSurfaceChromium.cpp:
  35387. (WebCore::RenderSurfaceChromium::dumpSurface):
  35388. * platform/graphics/chromium/TiledLayerChromium.cpp:
  35389. (WebCore::TiledLayerChromium::createTilerIfNeeded):
  35390. (WebCore::TiledLayerChromium::tilingTransform):
  35391. * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
  35392. (WebCore::CCHeadsUpDisplay::draw):
  35393. * platform/graphics/chromium/cc/CCLayerImpl.cpp:
  35394. (WebCore::CCLayerImpl::CCLayerImpl):
  35395. * platform/graphics/chromium/cc/CCLayerImpl.h:
  35396. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  35397. (WebCore::CCLayerTreeHost::CCLayerTreeHost):
  35398. (WebCore::CCLayerTreeHost::initialize):
  35399. (WebCore::CCLayerTreeHost::createRootLayerPainter):
  35400. (WebCore::CCLayerTreeHost::invalidateRootLayerRect):
  35401. (WebCore::CCLayerTreeHost::setRootLayer):
  35402. (WebCore::CCLayerTreeHost::setViewport):
  35403. (WebCore::CCLayerTreeHost::reallocateRenderer):
  35404. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  35405. (WebCore::CCLayerTreeHost::rootLayer):
  35406. (WebCore::CCLayerTreeHost::viewportContentRect):
  35407. (WebCore::CCLayerTreeHost::viewportScrollPosition):
  35408. (WebCore::CCLayerTreeHost::viewportVisibleRect):
  35409. * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
  35410. (WebCore::CCTiledLayerImpl::draw):
  35411. 2011-08-18 Ryosuke Niwa <rniwa@webkit.org>
  35412. SimplifiedBackwardsTextIterator returns incorrect offset with first-letter rule
  35413. https://bugs.webkit.org/show_bug.cgi?id=66086
  35414. Reviewed by Darin Adler.
  35415. The bug was caused by SimplifiedBackwardsTextIterator's not taking care of first-letter at all.
  35416. Fixing the bug by detecting RenderTextFragment in handleTextNode.
  35417. Also added m_shouldHandleFirstLetter to SimplifiedBackwardsTextIterator to keep track of whether or not
  35418. the next call to handleTextNode needs to process the first-letter part of the text fragment.
  35419. Test: editing/text-iterator/backward-textiterator-first-letter-crash.html
  35420. * editing/TextIterator.cpp:
  35421. (WebCore::firstRenderTextInFirstLetter): Extracted from handleTextNodeFirstLetter.
  35422. (WebCore::TextIterator::handleTextNodeFirstLetter): Calls firstRenderTextInFirstLetter.
  35423. (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
  35424. (WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
  35425. (WebCore::SimplifiedBackwardsTextIterator::handleFirstLetter): Added.
  35426. * editing/TextIterator.h:
  35427. 2011-08-18 Iain Merrick <husky@google.com>
  35428. [chromium] Assert that main thread and compositor thread are used safely
  35429. https://bugs.webkit.org/show_bug.cgi?id=66145
  35430. CCLayerTreeHostImplProxy now has public static methods isMainThread()
  35431. and isImplThread(), and we ASSERT these in various places. If threaded
  35432. compositing is disabled, we fake isImplThread() by setting a flag for
  35433. the duration of compositing, so the assert is still valid.
  35434. Reviewed by James Robinson.
  35435. Covered by existing tests.
  35436. * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
  35437. (WebCore::CCCanvasLayerImpl::draw):
  35438. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  35439. (WebCore::CCLayerTreeHost::doComposite):
  35440. * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
  35441. (WebCore::CCLayerTreeHostImplProxy::postDrawLayersTaskOnCCThread):
  35442. (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommitOnCCThread):
  35443. (WebCore::CCLayerTreeHostImplProxy::isMainThread):
  35444. (WebCore::CCLayerTreeHostImplProxy::isImplThread):
  35445. (WebCore::CCLayerTreeHostImplProxy::setImplThread):
  35446. (WebCore::CCLayerTreeHostImplProxy::commitOnCCThread):
  35447. (WebCore::CCLayerTreeHostImplProxy::drawLayersOnCCThread):
  35448. (WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedrawOnCCThread):
  35449. (WebCore::CCLayerTreeHostImplProxy::setNeedsRedrawOnCCThread):
  35450. (WebCore::CCLayerTreeHostImplProxy::initImplOnCCThread):
  35451. (WebCore::CCLayerTreeHostImplProxy::layerTreeHostClosedOnCCThread):
  35452. * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h:
  35453. * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
  35454. (WebCore::CCPluginLayerImpl::draw):
  35455. * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
  35456. (WebCore::CCTiledLayerImpl::draw):
  35457. * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
  35458. (WebCore::CCVideoLayerImpl::draw):
  35459. 2011-08-18 Alexey Proskuryakov <ap@apple.com>
  35460. Regional indicator symbols that are combined should behave as a single character when editing
  35461. https://bugs.webkit.org/show_bug.cgi?id=65395
  35462. Reviewed by Dan Bernstein.
  35463. Part two: make cursor movement iterator work. This fixes the problem for strings that don't
  35464. contain more than two flags in a row, as fixing it completely doesn't seem possible with ICU.
  35465. Test: editing/selection/regional-indicators.html
  35466. * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator): Added custom
  35467. rules for regional indicator symbols.
  35468. 2011-08-18 Cary Clark <caryclark@google.com>
  35469. Fix rubber band gutter drawing for Skia on Chromium Mac
  35470. https://bugs.webkit.org/show_bug.cgi?id=66478
  35471. Reviewed by James Robinson.
  35472. No new tests. The Skia on Chromium Mac platform has
  35473. not been enabled.
  35474. This break was detected at compile time; there is no
  35475. behavior change.
  35476. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  35477. (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
  35478. Convert the CGImage into an SkBitmap if Skia is present.
  35479. 2011-08-18 Julien Chaffraix <jchaffraix@webkit.org>
  35480. Implement a faster path for painting tables with overflowing cells
  35481. https://bugs.webkit.org/show_bug.cgi?id=65491
  35482. This change introduces a smarter way of painting if the table is big enough and we have a small amount
  35483. of overflowing cells in the table. The new path does a binary search of the cells to repaint but adds
  35484. the overflowing cells to the repainting cells.
  35485. This saves ~50% when doing programmatic scrolling throught JS on a 500x100 table with some overflowing
  35486. cells. Also we cap the memory usage to a ratio of the total size of the table to avoid blowing up the
  35487. memory.
  35488. Reviewed by David Hyatt.
  35489. No new tests as the behavior should be the same.
  35490. * rendering/RenderTableSection.cpp:
  35491. (WebCore::RenderTableSection::RenderTableSection):
  35492. (WebCore::RenderTableSection::layoutRows): Added some code to accumulate the overflowing cells
  35493. in an internal HashSet (we don't need to keep them sorted and it makes it easier to use them during
  35494. painting). If we hit the cap, flip the boolean value and clear the HashSet as the slow path does not
  35495. care about the cell's information. Make sure that the "has overflowing cells" information is still
  35496. properly encoded on our 2 values.
  35497. (WebCore::compareCellPositionsWithOverflowingCells): Added this method as we are doing a more
  35498. complicated sort:
  35499. * the old path would sort one (mostly sorted) array by rows only as the stable sort would
  35500. take care of keeping the column ordering inside a row.
  35501. * the new path basically has to sort an unsorted array (taken partly from the HashSet).
  35502. (WebCore::RenderTableSection::paintObject): Tweaked the logic to account for difference between
  35503. m_forceSlowPaintPathWithOverflowingCell and has some overflowing cells. Also we make sure we don't
  35504. repaint the same cell twice.
  35505. (WebCore::RenderTableSection::nodeAtPoint): Changed to hasOverflowingCell(). We don't apply our
  35506. fast path optimization here.
  35507. * rendering/RenderTableSection.h: Transformed our original boolean into
  35508. a HashSet and a boolean. The HashSet holds up the CellStruct that are overflowing
  35509. until we reach the memory threshold. After this is hit, we just set the boolean
  35510. to avoid using too much memory.
  35511. (WebCore::RenderTableSection::hasOverflowingCell): This is the new way to determine
  35512. if we have any overflowing cell, used only for hit testing.
  35513. 2011-08-18 Kentaro Hara <haraken@google.com>
  35514. An EventSource constructor should throw TypeError, when the number of arguments is not enough.
  35515. https://bugs.webkit.org/show_bug.cgi?id=66454
  35516. Reviewed by Adam Barth.
  35517. The spec is here: http://www.w3.org/TR/WebIDL/#es-operations.
  35518. Test: fast/eventsource/eventsource-constructor.html
  35519. * bindings/js/JSEventSourceCustom.cpp:
  35520. (WebCore::JSEventSourceConstructor::constructJSEventSource): Changed SyntaxError to TypeError.
  35521. * bindings/v8/custom/V8EventSourceConstructor.cpp:
  35522. (WebCore::V8EventSource::constructorCallback): Changed SyntaxError to TypeError.
  35523. 2011-08-18 Kentaro Hara <haraken@google.com>
  35524. A SharedWorker constructor should throw TypeError, when the number of arguments is not enough.
  35525. https://bugs.webkit.org/show_bug.cgi?id=66455
  35526. Reviewed by Adam Barth.
  35527. The spec is here: http://www.w3.org/TR/WebIDL/#es-operations.
  35528. Test: fast/workers/shared-worker-constructor.html
  35529. * bindings/js/JSSharedWorkerCustom.cpp:
  35530. (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker): Changed SyntaxError to TypeError.
  35531. * bindings/v8/custom/V8SharedWorkerCustom.cpp:
  35532. (WebCore::V8SharedWorker::constructorCallback): Changed SyntaxError to TypeError.
  35533. 2011-08-17 Alejandro G. Castro <alex@igalia.com>
  35534. [GTK] Fix compilation problems with deprecations in gtk+
  35535. https://bugs.webkit.org/show_bug.cgi?id=66073
  35536. Reviewed by Martin Robinson.
  35537. * platform/gtk/GtkAuthenticationDialog.cpp:
  35538. (WebCore::GtkAuthenticationDialog::GtkAuthenticationDialog): Added
  35539. gtk_box_new conditional compilation for gtk+-3.
  35540. * platform/gtk/RenderThemeGtk3.cpp:
  35541. (WebCore::RenderThemeGtk::adjustRepaintRect):
  35542. (WebCore::RenderThemeGtk::paintSliderTrack):
  35543. (WebCore::RenderThemeGtk::paintSliderThumb):
  35544. (WebCore::RenderThemeGtk::adjustSliderThumbSize): Now we have have
  35545. GTK_TYPE_SCALE in gtk+3.
  35546. 2011-08-18 Kentaro Hara <haraken@google.com>
  35547. A Worker constructor should throw TypeError, when the number of arguments is not enough
  35548. https://bugs.webkit.org/show_bug.cgi?id=66456
  35549. Reviewed by Adam Barth.
  35550. Spec is here: http://www.w3.org/TR/WebIDL/#es-operations.
  35551. Test: fast/workers/worker-constructor.html
  35552. * bindings/js/JSWorkerCustom.cpp:
  35553. (WebCore::JSWorkerConstructor::constructJSWorker): Changed SyntaxError to TypeError.
  35554. * bindings/v8/custom/V8WorkerCustom.cpp:
  35555. (WebCore::V8Worker::constructorCallback): Changed SyntaxError to TypeError.
  35556. 2011-08-18 John Bates <jbates@google.com>
  35557. Fix logic error causing reverse of desired WebGL rate limiting behavior
  35558. https://bugs.webkit.org/show_bug.cgi?id=66445
  35559. Reviewed by Kenneth Russell.
  35560. * platform/graphics/chromium/WebGLLayerChromium.cpp:
  35561. (WebCore::WebGLLayerChromium::setTextureUpdated):
  35562. 2011-08-18 Levi Weintraub <leviw@chromium.org>
  35563. Switch RenderTextControl* to new layout types
  35564. https://bugs.webkit.org/show_bug.cgi?id=66250
  35565. Reviewed by Eric Seidel.
  35566. Convertikng the RenderTextControl* classes to use the LayoutUnit abstraction.
  35567. No new tests as no change in behavior.
  35568. * rendering/LayoutTypes.h:
  35569. (WebCore::layoutMod): Added a function to perform the modulo operation on LayoutUnits.
  35570. * rendering/RenderTextControl.cpp:
  35571. (WebCore::RenderTextControl::hitInnerTextElement):
  35572. * rendering/RenderTextControl.h:
  35573. * rendering/RenderTextControlMultiLine.cpp:
  35574. (WebCore::RenderTextControlMultiLine::preferredContentWidth):
  35575. (WebCore::RenderTextControlMultiLine::baselinePosition):
  35576. * rendering/RenderTextControlMultiLine.h:
  35577. * rendering/RenderTextControlSingleLine.cpp:
  35578. (WebCore::RenderTextControlSingleLine::layout):
  35579. (WebCore::RenderTextControlSingleLine::controlClipRect):
  35580. (WebCore::RenderTextControlSingleLine::preferredContentWidth):
  35581. (WebCore::RenderTextControlSingleLine::scrollWidth):
  35582. (WebCore::RenderTextControlSingleLine::scrollHeight):
  35583. (WebCore::RenderTextControlSingleLine::scrollLeft):
  35584. (WebCore::RenderTextControlSingleLine::scrollTop):
  35585. (WebCore::RenderTextControlSingleLine::setScrollLeft):
  35586. (WebCore::RenderTextControlSingleLine::setScrollTop):
  35587. * rendering/RenderTextControlSingleLine.h:
  35588. 2011-08-18 Levi Weintraub <leviw@chromium.org>
  35589. Switch Inline rendering classes to new layout types
  35590. https://bugs.webkit.org/show_bug.cgi?id=66239
  35591. Reviewed by Eric Seidel.
  35592. Converting inline rendering classes to use the LayoutUnit abstraction from ints.
  35593. No new tests as no change in functionality.
  35594. * rendering/InlineBox.h:
  35595. (WebCore::InlineBox::logicalFrameRect):
  35596. (WebCore::InlineBox::baselinePosition):
  35597. (WebCore::InlineBox::lineHeight):
  35598. * rendering/InlineFlowBox.h:
  35599. * rendering/InlineTextBox.cpp:
  35600. (WebCore::InlineTextBox::logicalOverflowRect):
  35601. (WebCore::InlineTextBox::setLogicalOverflowRect):
  35602. (WebCore::InlineTextBox::baselinePosition):
  35603. (WebCore::InlineTextBox::lineHeight):
  35604. * rendering/InlineTextBox.h:
  35605. (WebCore::InlineTextBox::logicalTopVisualOverflow):
  35606. (WebCore::InlineTextBox::logicalBottomVisualOverflow):
  35607. (WebCore::InlineTextBox::logicalLeftVisualOverflow):
  35608. (WebCore::InlineTextBox::logicalRightVisualOverflow):
  35609. * rendering/RenderInline.cpp:
  35610. (WebCore::RenderInline::culledInlineAbsoluteRects):
  35611. (WebCore::computeMargin):
  35612. (WebCore::RenderInline::culledInlineBoundingBox):
  35613. (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
  35614. (WebCore::RenderInline::linesVisualOverflowBoundingBox):
  35615. (WebCore::RenderInline::clippedOverflowRectForRepaint):
  35616. (WebCore::RenderInline::rectWithOutlineForRepaint):
  35617. (WebCore::RenderInline::computeRectForRepaint):
  35618. (WebCore::RenderInline::mapLocalToContainer):
  35619. (WebCore::RenderInline::lineHeight):
  35620. (WebCore::RenderInline::baselinePosition):
  35621. (WebCore::RenderInline::addDashboardRegions):
  35622. * rendering/RenderInline.h:
  35623. 2011-08-18 Jeffrey Pfau <jpfau@apple.com>
  35624. New XML parser: add doctype to DOM tree
  35625. https://bugs.webkit.org/show_bug.cgi?id=66408
  35626. Reviewed by Adam Barth.
  35627. * xml/parser/XMLTreeBuilder.cpp:
  35628. (WebCore::XMLTreeBuilder::processDOCTYPE):
  35629. 2011-08-18 James Robinson <jamesr@chromium.org>
  35630. [chromium] Draw the root/"non-composited content" in compositor side
  35631. https://bugs.webkit.org/show_bug.cgi?id=58834
  35632. Reviewed by Darin Fisher.
  35633. Handle the root or non-composited content with a GraphicsLayer rather than special case logic in
  35634. LayerRendererChromium. This layer's client is the NonCompositedContentHost, which routes the paint callbacks
  35635. through the LayerPainterChromium interface out to the WebView. The root layer is special in two ways:
  35636. *) The root layer has a scroll offset, which changes how the visibleLayerRect maps to content space and applies a
  35637. draw-time transform.
  35638. *) The root layer masks the alpha channel when drawing because of concerns about subpixel AA trashing the alpha
  35639. channel. The root layer is always opaque so this is fine.
  35640. *) The root layer does not have border texels and does have subpixel AA for text.
  35641. Covered by compositing/
  35642. * WebCore.gypi:
  35643. * platform/graphics/chromium/ContentLayerChromium.cpp:
  35644. (WebCore::ContentLayerChromium::paintContentsIfDirty):
  35645. * platform/graphics/chromium/ImageLayerChromium.cpp:
  35646. (WebCore::ImageLayerChromium::paintContentsIfDirty):
  35647. * platform/graphics/chromium/LayerChromium.cpp:
  35648. (WebCore::LayerChromium::pushPropertiesTo):
  35649. * platform/graphics/chromium/LayerChromium.h:
  35650. (WebCore::LayerChromium::scrollPosition):
  35651. (WebCore::LayerChromium::setScrollPosition):
  35652. * platform/graphics/chromium/LayerRendererChromium.cpp:
  35653. (WebCore::LayerRendererChromium::initialize):
  35654. (WebCore::LayerRendererChromium::releaseTextures):
  35655. (WebCore::LayerRendererChromium::viewportChanged):
  35656. (WebCore::LayerRendererChromium::updateLayers):
  35657. (WebCore::LayerRendererChromium::drawLayers):
  35658. (WebCore::LayerRendererChromium::drawLayersInternal):
  35659. (WebCore::LayerRendererChromium::getFramebufferPixels):
  35660. (WebCore::LayerRendererChromium::cleanupSharedObjects):
  35661. (WebCore::LayerRendererChromium::layerTreeAsText):
  35662. * platform/graphics/chromium/LayerRendererChromium.h:
  35663. (WebCore::LayerRendererChromium::rootLayer):
  35664. (WebCore::LayerRendererChromium::viewportSize):
  35665. (WebCore::LayerRendererChromium::viewportWidth):
  35666. (WebCore::LayerRendererChromium::viewportHeight):
  35667. * platform/graphics/chromium/NonCompositedContentHost.cpp: Added.
  35668. (WebCore::NonCompositedContentHost::NonCompositedContentHost):
  35669. (WebCore::NonCompositedContentHost::~NonCompositedContentHost):
  35670. (WebCore::NonCompositedContentHost::invalidateRect):
  35671. (WebCore::NonCompositedContentHost::invalidateEntireLayer):
  35672. (WebCore::NonCompositedContentHost::setScrollPosition):
  35673. (WebCore::NonCompositedContentHost::notifyAnimationStarted):
  35674. (WebCore::NonCompositedContentHost::notifySyncRequired):
  35675. (WebCore::NonCompositedContentHost::paintContents):
  35676. (WebCore::NonCompositedContentHost::showDebugBorders):
  35677. (WebCore::NonCompositedContentHost::showRepaintCounter):
  35678. * platform/graphics/chromium/NonCompositedContentHost.h: Added.
  35679. (WebCore::NonCompositedContentHost::create):
  35680. (WebCore::NonCompositedContentHost::graphicsLayer):
  35681. * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
  35682. (WebCore::CCHeadsUpDisplay::draw):
  35683. * platform/graphics/chromium/cc/CCLayerImpl.h:
  35684. (WebCore::CCLayerImpl::scrollPosition):
  35685. (WebCore::CCLayerImpl::setScrollPosition):
  35686. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  35687. (WebCore::CCLayerTreeHost::CCLayerTreeHost):
  35688. (WebCore::CCLayerTreeHost::initialize):
  35689. (WebCore::CCLayerTreeHost::invalidateRootLayerRect):
  35690. (WebCore::CCLayerTreeHost::setRootLayer):
  35691. (WebCore::CCLayerTreeHost::setViewport):
  35692. (WebCore::CCLayerTreeHost::reallocateRenderer):
  35693. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  35694. (WebCore::CCLayerTreeHost::rootLayer):
  35695. (WebCore::CCLayerTreeHost::viewportSize):
  35696. 2011-08-18 Nico Weber <thakis@chromium.org>
  35697. Fix "missing return" gcc warning in ScrollAnimatorNone
  35698. https://bugs.webkit.org/show_bug.cgi?id=66480
  35699. Reviewed by Tony Chang.
  35700. * platform/ScrollAnimatorNone.cpp:
  35701. (WebCore::ScrollAnimatorNone::PerAxisData::curveAt):
  35702. (WebCore::ScrollAnimatorNone::PerAxisData::curveDerivativeAt):
  35703. 2011-08-18 James Simonsen <simonjam@chromium.org>
  35704. Revalidate expired resources if they're requested after the initial document load
  35705. https://bugs.webkit.org/show_bug.cgi?id=52153
  35706. Reviewed by Antti Koivisto.
  35707. Test: http/tests/cache/subresource-multiple-instances.html
  35708. * loader/cache/CachedResourceLoader.cpp:
  35709. (WebCore::CachedResourceLoader::determineRevalidationPolicy):
  35710. 2011-08-18 Anders Carlsson <andersca@apple.com>
  35711. Fix clang libc++ C++0x build
  35712. https://bugs.webkit.org/show_bug.cgi?id=66475
  35713. Reviewed by Adam Roben.
  35714. Remove calls to isnan and isfinite with integer arguments.
  35715. * css/CSSPrimitiveValue.cpp:
  35716. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  35717. * html/canvas/WebGLRenderingContext.cpp:
  35718. (WebCore::WebGLRenderingContext::viewport):
  35719. 2011-08-18 Andrey Kosyakov <caseq@chromium.org>
  35720. Web Inspector: [Extensions API] rename webInspector.resources to webInspector.network
  35721. https://bugs.webkit.org/show_bug.cgi?id=66460
  35722. Reviewed by Pavel Feldman.
  35723. Tests: http/tests/inspector/extensions-network-redirect.html
  35724. inspector/extensions/extensions-network.html
  35725. * inspector/front-end/ExtensionAPI.js:
  35726. (WebInspector.injectedExtensionAPI.InspectorExtensionAPI):
  35727. (WebInspector.injectedExtensionAPI.Network.requestDispatch):
  35728. (WebInspector.injectedExtensionAPI):
  35729. (WebInspector.injectedExtensionAPI.Network.prototype.getHAR):
  35730. (WebInspector.injectedExtensionAPI.defineDeprecatedProperty.getter):
  35731. (WebInspector.injectedExtensionAPI.defineDeprecatedProperty):
  35732. * inspector/front-end/ExtensionServer.js:
  35733. (WebInspector.ExtensionServer):
  35734. (WebInspector.ExtensionServer.prototype._inspectedURLChanged):
  35735. (WebInspector.ExtensionServer.prototype._notifyRequestFinished):
  35736. (WebInspector.ExtensionServer.prototype._onGetHAR):
  35737. (WebInspector.ExtensionServer.prototype._onGetResourceContent):
  35738. (WebInspector.ExtensionServer.prototype._requestId):
  35739. (WebInspector.ExtensionServer.prototype._requestById):
  35740. (WebInspector.ExtensionServer.prototype._onAddAuditCategory):
  35741. (WebInspector.ExtensionServer.prototype._onAddAuditResult):
  35742. (WebInspector.ExtensionServer.prototype._onStopAuditCategoryRun):
  35743. (WebInspector.ExtensionServer.prototype.initExtensions):
  35744. (WebInspector.ExtensionServer.prototype._onmessage):
  35745. 2011-08-18 Pavel Podivilov <podivilov@chromium.org>
  35746. Web Inspector: extract content loading functions from RawSourceCode to ContentProvider implementations.
  35747. https://bugs.webkit.org/show_bug.cgi?id=66237
  35748. Reviewed by Pavel Feldman.
  35749. Test: inspector/debugger/content-providers.html
  35750. * inspector/front-end/SourceFile.js:
  35751. (WebInspector.RawSourceCode.prototype._loadResourceContent):
  35752. (WebInspector.RawSourceCode.prototype._loadScriptContent):
  35753. (WebInspector.RawSourceCode.prototype._loadAndConcatenateScriptsContent):
  35754. (WebInspector.ScriptContentProvider):
  35755. (WebInspector.ScriptContentProvider.prototype.requestContent):
  35756. (WebInspector.ConcatenatedScriptsContentProvider):
  35757. (WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent):
  35758. (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
  35759. (WebInspector.ResourceContentProvider):
  35760. (WebInspector.ResourceContentProvider.prototype.requestContent):
  35761. 2011-08-18 Alexandru Chiculita <achicu@adobe.com>
  35762. [CSSRegions] RenderRegion should not reference a parent RenderFlowThread
  35763. https://bugs.webkit.org/show_bug.cgi?id=66142
  35764. Added code that checks the parent RenderFlowThread of a RenderRegion and creates
  35765. a dependency for its referenced RenderFlowThread (from CSS style).
  35766. There are two cases:
  35767. 1. A RenderRegion tries to display the flow thread that laid it out. In this case
  35768. the region will be ignored and will not participate in the flow threads regions list.
  35769. 2. A RenderRegion tries to display a flow thread that contains another region that
  35770. tries to display the first region's flow thread. This one can be generalized with any
  35771. number of intermediate flow threads. In this case the recursion is detected and only the
  35772. first added region will actually be selected. The other region will be ignored. However,
  35773. when the recursion is removed the invalid regions will be recovered.
  35774. Reviewed by David Hyatt.
  35775. Tests: fast/regions/flows-dependency-dynamic-remove.html
  35776. fast/regions/flows-dependency-same-flow.html
  35777. * rendering/RenderBlock.cpp:
  35778. (WebCore::RenderBlock::insertPositionedObject):
  35779. * rendering/RenderFlowThread.cpp:
  35780. (WebCore::RenderFlowThread::dependsOn):
  35781. (WebCore::RenderFlowThread::addRegionToThread):
  35782. (WebCore::RenderFlowThread::removeRegionFromThread):
  35783. (WebCore::RenderFlowThread::checkInvalidRegions):
  35784. (WebCore::RenderFlowThread::addDependencyOnFlowThread):
  35785. (WebCore::RenderFlowThread::removeDependencyOnFlowThread):
  35786. (WebCore::RenderFlowThread::pushDependencies):
  35787. (WebCore::RenderFlowThread::layout):
  35788. (WebCore::RenderFlowThread::computeLogicalWidth):
  35789. (WebCore::RenderFlowThread::computeLogicalHeight):
  35790. (WebCore::RenderFlowThread::repaintRectangleInRegions):
  35791. * rendering/RenderFlowThread.h:
  35792. * rendering/RenderObjectChildList.cpp:
  35793. (WebCore::RenderObjectChildList::removeChildNode):
  35794. (WebCore::RenderObjectChildList::appendChildNode):
  35795. * rendering/RenderRegion.cpp:
  35796. (WebCore::RenderRegion::RenderRegion):
  35797. (WebCore::RenderRegion::~RenderRegion):
  35798. (WebCore::RenderRegion::paintReplaced):
  35799. (WebCore::RenderRegion::nodeAtPoint):
  35800. (WebCore::RenderRegion::attachRegion):
  35801. (WebCore::RenderRegion::detachRegion):
  35802. * rendering/RenderRegion.h:
  35803. (WebCore::RenderRegion::parentFlowThread):
  35804. (WebCore::RenderRegion::isValid):
  35805. (WebCore::RenderRegion::setIsValid):
  35806. * rendering/RenderTreeAsText.cpp:
  35807. (WebCore::writeRenderFlowThreads):
  35808. (WebCore::writeLayers):
  35809. * rendering/RenderView.cpp:
  35810. (WebCore::RenderView::RenderView):
  35811. (WebCore::RenderView::layout):
  35812. (WebCore::RenderView::renderFlowThreadWithName):
  35813. (WebCore::RenderView::layoutRenderFlowThreads):
  35814. * rendering/RenderView.h:
  35815. (WebCore::RenderView::hasRenderFlowThreads):
  35816. (WebCore::RenderView::isRenderFlowThreadOrderDirty):
  35817. (WebCore::RenderView::setIsRenderFlowThreadOrderDirty):
  35818. (WebCore::RenderView::renderFlowThreadList):
  35819. 2011-08-18 Pavel Podivilov <podivilov@chromium.org>
  35820. Web Inspector: add UISourceCode class.
  35821. https://bugs.webkit.org/show_bug.cgi?id=66233
  35822. This is a next step towards splitting SourceFile into RawSourceCode and UISourceCode.
  35823. UISourceCode is a part of SourceFile's interface that is visible to ScriptsPanel.
  35824. UISourceCode represents a single entry in scripts panel's files select.
  35825. Reviewed by Pavel Feldman.
  35826. Test: inspector/debugger/ui-source-code.html
  35827. * WebCore.gypi:
  35828. * WebCore.vcproj/WebCore.vcproj:
  35829. * inspector/front-end/UISourceCode.js: Added.
  35830. (WebInspector.UISourceCode):
  35831. (WebInspector.UISourceCode.prototype.get id):
  35832. (WebInspector.UISourceCode.prototype.get url):
  35833. (WebInspector.UISourceCode.prototype.get isContentScript):
  35834. (WebInspector.UISourceCode.prototype.requestContent):
  35835. (WebInspector.UISourceCode.prototype._didRequestContent):
  35836. (WebInspector.ContentProvider):
  35837. (WebInspector.ContentProvider.prototype.requestContent):
  35838. * inspector/front-end/WebKit.qrc:
  35839. * inspector/front-end/inspector.html:
  35840. 2011-08-17 Adam Roben <aroben@apple.com>
  35841. Make WebCore keep track of the current device scale factor
  35842. Fixes <http://webkit.org/b/66413> WebCore requires every WebKit port to keep track of the
  35843. device scale factor
  35844. Reviewed by Darin Adler.
  35845. * WebCore.exp.in: Removed Frame::deviceScaleFactorChanged, added Page::setDeviceScaleFactor.
  35846. * css/MediaQueryEvaluator.cpp:
  35847. (WebCore::device_pixel_ratioMediaFeatureEval):
  35848. * html/HTMLCanvasElement.cpp:
  35849. (WebCore::HTMLCanvasElement::HTMLCanvasElement):
  35850. * page/DOMWindow.cpp:
  35851. (WebCore::DOMWindow::devicePixelRatio):
  35852. * rendering/RenderInline.cpp:
  35853. (WebCore::RenderInline::addDashboardRegions):
  35854. * rendering/RenderLayerCompositor.cpp:
  35855. (WebCore::RenderLayerCompositor::deviceScaleFactor):
  35856. * rendering/RenderObject.cpp:
  35857. (WebCore::RenderObject::addDashboardRegions):
  35858. Changed to get the device scale factor from Page.
  35859. * loader/EmptyClients.h:
  35860. * page/Chrome.cpp:
  35861. * page/Chrome.h:
  35862. * page/ChromeClient.h:
  35863. Removed Chrome[Client]::deviceScaleFactor.
  35864. * page/Frame.cpp:
  35865. * page/Frame.h:
  35866. Removed deviceScaleFactorChanged. Made deviceOrPageScaleFactorChanged public.
  35867. * page/Page.cpp:
  35868. (WebCore::Page::Page): Initialize m_deviceScaleFactor.
  35869. (WebCore::Page::setDeviceScaleFactor): Added. Code came from
  35870. Frame::deviceScaleFactorChanged.
  35871. * page/Page.h: Added m_deviceScaleFactor.
  35872. (WebCore::Page::deviceScaleFactor): Added simple getter.
  35873. 2011-08-18 Darin Adler <darin@apple.com>
  35874. SVG and HTML editing have conflicting inline isWhitespace functions
  35875. https://bugs.webkit.org/show_bug.cgi?id=65145
  35876. Reviewed by Nikolas Zimmermann.
  35877. Renamed the SVG-specific whitespace functions to call it "SVG space"
  35878. rather than just "whitespace". An alternative would have been to put
  35879. the functions into an SVG namespace instead of the top level WebCore
  35880. namespace.
  35881. * svg/SVGAnimateMotionElement.cpp:
  35882. (WebCore::parsePoint): Call skipOptionalSVGSpaces.
  35883. * svg/SVGAnimationElement.cpp:
  35884. (WebCore::parseKeySplines): Ditto.
  35885. * svg/SVGFitToViewBox.cpp:
  35886. (WebCore::SVGFitToViewBox::parseViewBox): Ditto.
  35887. * svg/SVGLengthList.cpp:
  35888. (WebCore::SVGLengthList::parse): Call isSVGSpace and
  35889. skipOptionalSVGSpacesOrDelimiter.
  35890. * svg/SVGParserUtilities.cpp:
  35891. (WebCore::genericParseNumber): Call skipOptionalSVGSpacesOrDelimiter.
  35892. (WebCore::parseArcFlag): Ditto.
  35893. (WebCore::parseRect): Call skipOptionalSVGSpaces.
  35894. (WebCore::pointsListFromSVGData): Ditto.
  35895. (WebCore::parseGlyphName): Call skipOptionalSVGSpaces, isSVGSpace,
  35896. and skipOptionalSVGSpacesOrDelimiter.
  35897. (WebCore::parseDelimitedString): Call skipOptionalSVGSpaces.
  35898. * svg/SVGParserUtilities.h:
  35899. (WebCore::isSVGSpace): Renamed from isWhitespace. This better matches
  35900. the comment which specifically talks about SVG.
  35901. (WebCore::skipOptionalSVGSpaces): Renamed from skipOptionalSpaces.
  35902. (WebCore::skipOptionalSVGSpacesOrDelimiter): Renamed from
  35903. skipOptionalSVGSpacesOrDelimiter.
  35904. * svg/SVGPathStringSource.cpp:
  35905. (WebCore::SVGPathStringSource::moveToNextToken): Call skipOptionalSVGSpaces.
  35906. * svg/SVGPreserveAspectRatio.cpp:
  35907. (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio): Ditto.
  35908. * svg/SVGStringList.cpp:
  35909. (WebCore::SVGStringList::parse): Call isSVGSpace and
  35910. skipOptionalSVGSpacesOrDelimiter.
  35911. * svg/SVGTransformable.cpp:
  35912. (WebCore::parseTransformParamList): Call skipOptionalSVGSpaces and
  35913. skipOptionalSVGSpacesOrDelimiter.
  35914. (WebCore::SVGTransformable::parseTransformAttribute): Call skipOptionalSVGSpaces.
  35915. 2011-08-18 Gavin Peters <gavinp@chromium.org>
  35916. Prepare frames for history navigation.
  35917. Before beginning an explicit history navigation in a newly initialized
  35918. frame, it's important to give a "previous" item to avoid crashes, and
  35919. give a state to the state machine to avoid extra validating loads.
  35920. https://bugs.webkit.org/show_bug.cgi?id=66322
  35921. Reviewed by Darin Fisher.
  35922. No new tests, as history navigation is very difficult to test in
  35923. DumpRenderTree.
  35924. * loader/FrameLoader.cpp:
  35925. (WebCore::FrameLoader::prepareForHistoryNavigation):
  35926. * loader/FrameLoader.h:
  35927. 2011-08-18 Jing Zhao <jingzhao@chromium.org>
  35928. When changing the size of a menulist from x (x>1) to 1, the first item should be selected.
  35929. https://bugs.webkit.org/show_bug.cgi?id=66282
  35930. Reviewed by Kent Tamura.
  35931. No new tests since it only changes the behavior in Android Browser.
  35932. * html/HTMLSelectElement.cpp:
  35933. (WebCore::HTMLSelectElement::parseMappedAttribute):
  35934. 2011-08-18 Adam Klein <adamk@chromium.org>
  35935. Handle "form" attribute updates in parseMappedAttribute() instead of attributeChanged() to better match HTMLElement practices
  35936. https://bugs.webkit.org/show_bug.cgi?id=66321
  35937. Reviewed by Darin Adler.
  35938. This is simply a cleanup change: there's no need that I can see for
  35939. HTMLFormControlElement and HTMLObjectElement to override
  35940. Element::attributeChanged since they can properly handle form
  35941. attribute changes in parseMappedAttribute, which they also override.
  35942. Though no change in behavior, I've added test coverage of the moved
  35943. code to an existing test (fast/forms/form-attribute.html) and added
  35944. a new test.
  35945. Test: fast/forms/radio-remove-form-attr.html
  35946. * html/HTMLFormControlElement.cpp:
  35947. (WebCore::HTMLFormControlElement::parseMappedAttribute):
  35948. * html/HTMLFormControlElement.h:
  35949. * html/HTMLObjectElement.cpp:
  35950. (WebCore::HTMLObjectElement::parseMappedAttribute):
  35951. * html/HTMLObjectElement.h:
  35952. 2011-08-18 Chang Shu <cshu@webkit.org>
  35953. Add support of setPasswordEchoEnabled and setPasswordEchoDuration for password echo feature
  35954. https://bugs.webkit.org/show_bug.cgi?id=66052
  35955. Reviewed by Alexey Proskuryakov.
  35956. Added runtime settings in WebCore.
  35957. Added support in window.internals for testing.
  35958. Tests: editing/input/password-echo-passnode.html
  35959. editing/input/password-echo-passnode2.html
  35960. editing/input/password-echo-passnode3.html
  35961. editing/input/password-echo-textnode.html
  35962. * page/Settings.cpp:
  35963. (WebCore::Settings::Settings):
  35964. * page/Settings.h:
  35965. (WebCore::Settings::setPasswordEchoEnabled):
  35966. (WebCore::Settings::passwordEchoEnabled):
  35967. (WebCore::Settings::setPasswordEchoDurationInSeconds):
  35968. (WebCore::Settings::passwordEchoDurationInSeconds):
  35969. * testing/Internals.cpp:
  35970. (WebCore::Internals::Internals):
  35971. (WebCore::Internals::setPasswordEchoEnabled):
  35972. (WebCore::Internals::setPasswordEchoDurationInSeconds):
  35973. (WebCore::Internals::reset):
  35974. * testing/Internals.h:
  35975. * testing/Internals.idl:
  35976. 2011-08-18 Wyatt Carss <wcarss@chromium.org>
  35977. Selecting all and inserting text into a page with a frameset leads to a NULL ptr
  35978. https://bugs.webkit.org/show_bug.cgi?id=66288
  35979. Reviewed by Tony Chang.
  35980. VisibleSelection returns a NoSelection to InsertTextCommand::doApply as
  35981. a new endingSelection, which isn't a sane state to be in. The code
  35982. tries to get a position on a higher node for a better selection, but
  35983. cannot go above the frameset (which exists in place of the body tag),
  35984. which lacks a renderer, and therefore cannot have a non-NoSelection
  35985. VisibleSelection.
  35986. Because this is a rare corner case, it seemed more reasonable to bail
  35987. out in this circumstance than to change the way VisibleSelection
  35988. canonicalization works. The new behavior is to delete the content, but
  35989. insert nothing. I investigated the possibility of trying to move above
  35990. or below the frameset in this particular case, but there still isn't a
  35991. renderer, so it didn't prevent the crash.
  35992. Test: editing/inserting/insert-text-into-empty-frameset-crash.html
  35993. * editing/InsertTextCommand.cpp:
  35994. (WebCore::InsertTextCommand::doApply):
  35995. 2011-08-18 Takashi Toyoshima <toyoshim@chromium.org>
  35996. Remove arguments from CloseEvent::create().
  35997. https://bugs.webkit.org/show_bug.cgi?id=66294
  35998. Reviewed by Kent Tamura.
  35999. CloseEvent objects are initialized by initCloseEvent() in all cases.
  36000. Initialization in create() is redundant.
  36001. No new tests for no functional difference.
  36002. * websockets/CloseEvent.h:
  36003. (WebCore::CloseEvent::create):
  36004. (WebCore::CloseEvent::CloseEvent):
  36005. * websockets/WebSocket.cpp:
  36006. (WebCore::WebSocket::didClose):
  36007. 2011-08-18 Fady Samuel <fsamuel@chromium.org>
  36008. iframe and frameset scaling is broken
  36009. https://bugs.webkit.org/show_bug.cgi?id=57785
  36010. Reviewed by Simon Fraser.
  36011. Fixed two iframe and frameset scaling bugs:
  36012. #1 iframes and frameset backgrounds and scroll areas are doubly scaled when they are styled with -webkit-transform.
  36013. #2 frameset does not respect -webkit-transform-origin when scaled
  36014. Tests: fast/frames/frame-set-scaling-3d.html
  36015. fast/frames/frame-set-scaling-centered.html
  36016. fast/frames/frame-set-scaling-rotate.html
  36017. fast/frames/frame-set-scaling-skew.html
  36018. fast/frames/frame-set-scaling.html
  36019. fast/frames/iframe-scaling-with-scroll.html
  36020. * rendering/RenderFrameSet.cpp:
  36021. (WebCore::RenderFrameSet::layout):
  36022. Update the FrameSet's layer transform after we've computed size to correctly account for the transform origin.
  36023. * rendering/RenderLayer.cpp:
  36024. (WebCore::RenderLayer::childrenClipRect):
  36025. The dirty rect should be the document's unscaled size.
  36026. * rendering/RenderWidget.cpp:
  36027. (WebCore::RenderWidget::setWidget):
  36028. (WebCore::RenderWidget::updateWidgetPosition):
  36029. Don't scale the FrameView rect here. Scaling is done within the FrameView.
  36030. 2011-08-18 Csaba Osztrogonác <ossy@webkit.org>
  36031. Unreviewed buildfix after r93268.
  36032. * dom/Document.cpp:
  36033. (WebCore::disableRangeMutation):
  36034. 2011-08-17 Emil A Eklund <eae@chromium.org>
  36035. Switch RenderBox to to new layout types
  36036. https://bugs.webkit.org/show_bug.cgi?id=66156
  36037. Reviewed by Eric Seidel.
  36038. Convert RenderBox to new layout abstraction as a part of the ongoing
  36039. conversion work.
  36040. No new tests as no new functionality.
  36041. * rendering/RenderBox.cpp:
  36042. (WebCore::RenderBox::scrollWidth):
  36043. (WebCore::RenderBox::scrollHeight):
  36044. (WebCore::RenderBox::scrollLeft):
  36045. (WebCore::RenderBox::scrollTop):
  36046. (WebCore::RenderBox::setScrollLeft):
  36047. (WebCore::RenderBox::setScrollTop):
  36048. (WebCore::RenderBox::absoluteRects):
  36049. (WebCore::RenderBox::absoluteContentBox):
  36050. (WebCore::RenderBox::absoluteContentQuad):
  36051. (WebCore::RenderBox::outlineBoundsForRepaint):
  36052. (WebCore::RenderBox::reflectionBox):
  36053. (WebCore::RenderBox::reflectedRect):
  36054. (WebCore::RenderBox::verticalScrollbarWidth):
  36055. (WebCore::RenderBox::horizontalScrollbarHeight):
  36056. (WebCore::RenderBox::computeContentBoxLogicalWidth):
  36057. (WebCore::RenderBox::computeContentBoxLogicalHeight):
  36058. (WebCore::RenderBox::maskClipRect):
  36059. (WebCore::RenderBox::repaintLayerRectsForImage):
  36060. (WebCore::RenderBox::pushContentsClip):
  36061. (WebCore::RenderBox::overflowClipRect):
  36062. (WebCore::RenderBox::clipRect):
  36063. (WebCore::RenderBox::containingBlockLogicalWidthForContent):
  36064. (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
  36065. (WebCore::RenderBox::positionLineBox):
  36066. (WebCore::RenderBox::clippedOverflowRectForRepaint):
  36067. (WebCore::RenderBox::computeRectForRepaint):
  36068. (WebCore::RenderBox::computeLogicalWidth):
  36069. (WebCore::RenderBox::computeInlineDirectionMargins):
  36070. (WebCore::RenderBox::computeLogicalHeight):
  36071. (WebCore::RenderBox::computeLogicalHeightUsing):
  36072. (WebCore::RenderBox::computePercentageLogicalHeight):
  36073. (WebCore::RenderBox::computeBlockDirectionMargins):
  36074. (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
  36075. (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
  36076. (WebCore::computeInlineStaticDistance):
  36077. (WebCore::RenderBox::computePositionedLogicalWidth):
  36078. (WebCore::computeLogicalLeftPositionedOffset):
  36079. (WebCore::RenderBox::computePositionedLogicalWidthUsing):
  36080. (WebCore::computeBlockStaticDistance):
  36081. (WebCore::RenderBox::computePositionedLogicalHeight):
  36082. (WebCore::computeLogicalTopPositionedOffset):
  36083. (WebCore::RenderBox::computePositionedLogicalHeightUsing):
  36084. (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
  36085. (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
  36086. (WebCore::RenderBox::localCaretRect):
  36087. (WebCore::RenderBox::lineHeight):
  36088. (WebCore::RenderBox::baselinePosition):
  36089. (WebCore::RenderBox::logicalVisualOverflowRectForPropagation):
  36090. (WebCore::RenderBox::visualOverflowRectForPropagation):
  36091. (WebCore::RenderBox::logicalLayoutOverflowRectForPropagation):
  36092. (WebCore::RenderBox::layoutOverflowRectForPropagation):
  36093. (WebCore::RenderBox::locationOffsetIncludingFlipping):
  36094. * rendering/RenderBox.h:
  36095. (WebCore::RenderBox::borderFitAdjust):
  36096. (WebCore::RenderBox::intrinsicSize):
  36097. (WebCore::RenderBox::intrinsicLogicalWidth):
  36098. (WebCore::RenderBox::intrinsicLogicalHeight):
  36099. (WebCore::RenderBox::scrollbarLogicalHeight):
  36100. (WebCore::RenderBox::controlClipRect):
  36101. (WebCore::RenderBox::firstLineBoxBaseline):
  36102. (WebCore::RenderBox::lastLineBoxBaseline):
  36103. 2011-08-17 Annie Sullivan <sullivan@chromium.org>
  36104. Reduce usages of String::createUninitialized
  36105. https://bugs.webkit.org/show_bug.cgi?id=66399
  36106. Constructs Strings with StringBuilder instead of calling createUninitialized.
  36107. Reviewed by Adam Barth.
  36108. No new tests; no functional change.
  36109. * dom/StyleElement.cpp:
  36110. (WebCore::StyleElement::process):
  36111. * dom/Text.cpp:
  36112. (WebCore::Text::wholeText):
  36113. * html/parser/HTMLSourceTracker.cpp:
  36114. (WebCore::HTMLSourceTracker::sourceForToken):
  36115. * platform/graphics/Font.cpp:
  36116. (WebCore::Font::normalizeSpaces):
  36117. * platform/text/TextCodecUserDefined.cpp:
  36118. (WebCore::TextCodecUserDefined::decode):
  36119. 2011-08-17 Emil A Eklund <eae@chromium.org>
  36120. Switch FrameView to to new layout types
  36121. https://bugs.webkit.org/show_bug.cgi?id=66147
  36122. Reviewed by Eric Seidel.
  36123. Convert Frame & FrameView to new layout abstraction as a part of the
  36124. ongoing conversion work.
  36125. No new tests, no new functionality.
  36126. * page/Frame.cpp:
  36127. (WebCore::Frame::visiblePositionForPoint):
  36128. (WebCore::Frame::documentAtPoint):
  36129. (WebCore::Frame::rangeForPoint):
  36130. (WebCore::Frame::setPageAndTextZoomFactors):
  36131. (WebCore::Frame::scalePage):
  36132. * page/Frame.h:
  36133. * page/FrameView.cpp:
  36134. (WebCore::FrameView::create):
  36135. (WebCore::FrameView::reset):
  36136. (WebCore::FrameView::init):
  36137. (WebCore::FrameView::invalidateRect):
  36138. (WebCore::FrameView::setFrameRect):
  36139. (WebCore::FrameView::setMarginWidth):
  36140. (WebCore::FrameView::setMarginHeight):
  36141. (WebCore::FrameView::setContentsSize):
  36142. (WebCore::FrameView::adjustViewSize):
  36143. (WebCore::FrameView::scrollXForFixedPosition):
  36144. (WebCore::FrameView::scrollYForFixedPosition):
  36145. (WebCore::FrameView::scrollOffsetForFixedPosition):
  36146. (WebCore::FrameView::currentMousePosition):
  36147. (WebCore::FrameView::scrollContentsFastPath):
  36148. (WebCore::FrameView::scrollContentsSlowPath):
  36149. (WebCore::FrameView::setScrollPosition):
  36150. (WebCore::FrameView::repaintContentRectangle):
  36151. (WebCore::FrameView::scrollToAnchor):
  36152. (WebCore::FrameView::performPostLayoutTasks):
  36153. (WebCore::FrameView::windowClipRect):
  36154. (WebCore::FrameView::windowClipRectForLayer):
  36155. (WebCore::FrameView::scrollTo):
  36156. (WebCore::FrameView::invalidateScrollbarRect):
  36157. (WebCore::FrameView::getTickmarks):
  36158. (WebCore::FrameView::windowResizerRect):
  36159. (WebCore::FrameView::setVisibleScrollerThumbRect):
  36160. (WebCore::FrameView::paintScrollCorner):
  36161. (WebCore::FrameView::paintContents):
  36162. (WebCore::FrameView::paintOverhangAreas):
  36163. (WebCore::FrameView::forceLayoutForPagination):
  36164. (WebCore::FrameView::convertFromRenderer):
  36165. (WebCore::FrameView::convertToRenderer):
  36166. (WebCore::FrameView::convertToContainingView):
  36167. (WebCore::FrameView::convertFromContainingView):
  36168. * page/FrameView.h:
  36169. (WebCore::FrameView::marginWidth):
  36170. (WebCore::FrameView::marginHeight):
  36171. * page/mac/FrameMac.mm:
  36172. (WebCore::Frame::snapshotDragImage):
  36173. (WebCore::Frame::nodeImage):
  36174. 2011-08-17 Emil A Eklund <eae@chromium.org>
  36175. Switch html/* to to new layout types
  36176. https://bugs.webkit.org/show_bug.cgi?id=66347
  36177. Reviewed by Eric Seidel.
  36178. Convert HTML* and shadow element to new layout abstraction as a part of
  36179. the ongoing conversion work.
  36180. No new tests, no new functionality.
  36181. * html/HTMLAreaElement.cpp:
  36182. (WebCore::HTMLAreaElement::invalidateCachedRegion):
  36183. (WebCore::HTMLAreaElement::mapMouseEvent):
  36184. (WebCore::HTMLAreaElement::computePath):
  36185. (WebCore::HTMLAreaElement::computeRect):
  36186. (WebCore::HTMLAreaElement::getRegion):
  36187. * html/HTMLAreaElement.h:
  36188. * html/HTMLCanvasElement.cpp:
  36189. (WebCore::HTMLCanvasElement::paint):
  36190. * html/HTMLCanvasElement.h:
  36191. * html/HTMLMapElement.cpp:
  36192. (WebCore::HTMLMapElement::mapMouseEvent):
  36193. * html/HTMLMapElement.h:
  36194. * html/ImageDocument.cpp:
  36195. (WebCore::ImageDocumentParser::finish):
  36196. (WebCore::ImageDocument::scale):
  36197. (WebCore::ImageDocument::resizeImageToFit):
  36198. (WebCore::ImageDocument::imageFitsInWindow):
  36199. * html/ValidationMessage.cpp:
  36200. (WebCore::adjustBubblePosition):
  36201. * html/canvas/CanvasRenderingContext2D.cpp:
  36202. (WebCore::size):
  36203. (WebCore::CanvasRenderingContext2D::drawImage):
  36204. * html/shadow/MediaControlElements.cpp:
  36205. (WebCore::MediaControlPanelElement::startDrag):
  36206. (WebCore::MediaControlPanelElement::continueDrag):
  36207. (WebCore::MediaControlPanelElement::setPosition):
  36208. (WebCore::MediaControlPanelElement::defaultEventHandler):
  36209. * html/shadow/MediaControlElements.h:
  36210. * html/shadow/SliderThumbElement.cpp:
  36211. (WebCore::SliderThumbElement::dragFrom):
  36212. (WebCore::SliderThumbElement::setPositionFromPoint):
  36213. * html/shadow/SliderThumbElement.h:
  36214. * rendering/RenderImage.cpp:
  36215. (WebCore::RenderImage::nodeAtPoint):
  36216. 2011-08-17 David Grogan <dgrogan@chromium.org>
  36217. Change references to leveldb.gyp to leveldatabase.gyp as part of the
  36218. leveldb refactoring going on in chromium: crbug.com/89378
  36219. https://bugs.webkit.org/show_bug.cgi?id=66332
  36220. Reviewed by Tony Gentilcore.
  36221. Tests: new-run-webkit-tests --debug --chromium --no-retry-failures --build-directory=llvm storage/indexeddb
  36222. * WebCore.gyp/WebCore.gyp:
  36223. 2011-08-17 Hayato Ito <hayato@chromium.org>
  36224. Implement proper handling of focus/blur events in regard to shadow DOM boundaries.
  36225. https://bugs.webkit.org/show_bug.cgi?id=61421
  36226. Reviewed by Dimitri Glazkov.
  36227. Introduces FocusEventDispatchMediator/BlurEventDispatchMediator so
  36228. that focus/blue events are stopped at the lowest common shadow boundary.
  36229. * dom/Document.cpp:
  36230. (WebCore::Document::setFocusedNode):
  36231. * dom/Event.cpp:
  36232. (WebCore::FocusEventDispatchMediator::create):
  36233. (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
  36234. (WebCore::FocusEventDispatchMediator::dispatchEvent):
  36235. (WebCore::BlurEventDispatchMediator::create):
  36236. (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
  36237. (WebCore::BlurEventDispatchMediator::dispatchEvent):
  36238. * dom/Event.h:
  36239. * dom/Node.cpp:
  36240. (WebCore::Node::dispatchFocusEvent):
  36241. (WebCore::Node::dispatchBlurEvent):
  36242. * dom/Node.h:
  36243. * html/HTMLFormControlElement.cpp:
  36244. (WebCore::HTMLFormControlElement::dispatchBlurEvent):
  36245. * html/HTMLFormControlElement.h:
  36246. * html/HTMLSelectElement.cpp:
  36247. (WebCore::HTMLSelectElement::dispatchFocusEvent):
  36248. (WebCore::HTMLSelectElement::dispatchBlurEvent):
  36249. * html/HTMLSelectElement.h:
  36250. * html/HTMLTextFormControlElement.cpp:
  36251. (WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
  36252. (WebCore::HTMLTextFormControlElement::dispatchBlurEvent):
  36253. * html/HTMLTextFormControlElement.h:
  36254. * page/FocusController.cpp:
  36255. (WebCore::dispatchEventsOnWindowAndFocusedNode):
  36256. 2011-08-17 Ben Wells <benwells@chromium.org>
  36257. Canvas fill and fillRect with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
  36258. https://bugs.webkit.org/show_bug.cgi?id=66036
  36259. These modes cannot be passed straight through to the underlying graphics context as the graphics context
  36260. and the HTML5 canvas spec have different interpretations to them. In the graphics context, the compositing
  36261. modes are applied just over the area being filled. In the HTML5 spec, the compositing modes are applied over
  36262. the entire canvas.
  36263. The SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy modes all need some kind of extra action
  36264. to just performing the composited fill on the canvas, as they need t he canvas to be cleared outside of the
  36265. area being filled.
  36266. Previous to this change the Copy mode did not do this clearing at all. The other modes did but if the
  36267. transformed path being filled contained anti-aliasing at its edges artifacts were introduced.
  36268. With this change, Copy now does a complete erase of the canvas before performing a fill as per normal.
  36269. The other modes use a temporary buffer just big enough for the transformed path (in device coordinates).
  36270. The fill is first done there in SourceOver mode. Then this is drawn into the canvas context using the
  36271. appropriate mode, with any areas outside the draw area being cleared.
  36272. Reviewed by James Robinson.
  36273. Test: fast/canvas/canvas-composite-transformclip.html
  36274. * html/HTMLCanvasElement.h:
  36275. * html/canvas/CanvasRenderingContext2D.cpp:
  36276. (WebCore::CanvasRenderingContext2D::fill):
  36277. (WebCore::CanvasRenderingContext2D::fillRect):
  36278. (WebCore::CanvasRenderingContext2D::clearCanvas):
  36279. (WebCore::CanvasRenderingContext2D::transformAreaToDevice):
  36280. (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
  36281. * html/canvas/CanvasRenderingContext2D.h:
  36282. * platform/graphics/skia/ImageBufferSkia.cpp:
  36283. (WebCore::ImageBuffer::ImageBuffer):
  36284. 2011-08-17 Emil A Eklund <eae@chromium.org>
  36285. Switch inspector to to new layout types
  36286. https://bugs.webkit.org/show_bug.cgi?id=66358
  36287. Reviewed by Eric Seidel.
  36288. Convert inspector code to new layout abstraction as a part of the ongoing
  36289. conversion work.
  36290. No new tests, no new functionality.
  36291. * inspector/DOMNodeHighlighter.cpp:
  36292. (WebCore::DOMNodeHighlighter::drawNodeHighlight):
  36293. * inspector/InspectorInstrumentation.cpp:
  36294. (WebCore::InspectorInstrumentation::willPaintImpl):
  36295. * inspector/InspectorInstrumentation.h:
  36296. (WebCore::InspectorInstrumentation::willPaint):
  36297. * inspector/InspectorTimelineAgent.cpp:
  36298. (WebCore::InspectorTimelineAgent::willPaint):
  36299. * inspector/InspectorTimelineAgent.h:
  36300. * inspector/TimelineRecordFactory.cpp:
  36301. (WebCore::TimelineRecordFactory::createPaintData):
  36302. * inspector/TimelineRecordFactory.h:
  36303. 2011-08-17 Levi Weintraub <leviw@chromium.org>
  36304. Switch Editing code to new layout types
  36305. https://bugs.webkit.org/show_bug.cgi?id=66355
  36306. Reviewed by Eric Seidel.
  36307. Converting remaining editing code to the LayoutUnit abstraction.
  36308. No new tests, no change in functionality.
  36309. * editing/Editor.cpp:
  36310. (WebCore::Editor::rangeForPoint):
  36311. (WebCore::Editor::insideVisibleArea):
  36312. (WebCore::Editor::countMatchesForText):
  36313. * editing/Editor.h:
  36314. * editing/mac/FrameSelectionMac.mm:
  36315. (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
  36316. 2011-08-17 Levi Weintraub <leviw@chromium.org>
  36317. Switch Accessibility code to new layout types
  36318. https://bugs.webkit.org/show_bug.cgi?id=66348
  36319. Reviewed by Eric Seidel.
  36320. Converting remaining Accessibility code to the LayoutUnit abstraction.
  36321. No new tests, no change in functionality
  36322. * accessibility/AccessibilityImageMapLink.cpp:
  36323. (WebCore::AccessibilityImageMapLink::elementRect):
  36324. * accessibility/AccessibilityImageMapLink.h:
  36325. * accessibility/AccessibilityListBox.cpp:
  36326. (WebCore::AccessibilityListBox::elementAccessibilityHitTest):
  36327. * accessibility/AccessibilityListBox.h:
  36328. * accessibility/AccessibilityListBoxOption.cpp:
  36329. (WebCore::AccessibilityListBoxOption::elementRect):
  36330. * accessibility/AccessibilityListBoxOption.h:
  36331. * accessibility/AccessibilityMenuListOption.cpp:
  36332. (WebCore::AccessibilityMenuListOption::elementRect):
  36333. * accessibility/AccessibilityMenuListOption.h:
  36334. (WebCore::AccessibilityMenuListOption::size):
  36335. * accessibility/AccessibilityMenuListPopup.h:
  36336. (WebCore::AccessibilityMenuListPopup::elementRect):
  36337. (WebCore::AccessibilityMenuListPopup::size):
  36338. * accessibility/AccessibilityObject.cpp:
  36339. (WebCore::AccessibilityObject::clickPoint):
  36340. (WebCore::AccessibilityObject::orientation):
  36341. (WebCore::AccessibilityObject::elementAccessibilityHitTest):
  36342. * accessibility/AccessibilityObject.h:
  36343. (WebCore::AccessibilityObject::accessibilityHitTest):
  36344. (WebCore::AccessibilityObject::boundingBoxRect):
  36345. (WebCore::AccessibilityObject::size):
  36346. (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
  36347. (WebCore::AccessibilityObject::doAXBoundsForRange):
  36348. * accessibility/AccessibilityRenderObject.cpp:
  36349. (WebCore::AccessibilityRenderObject::isOffScreen):
  36350. (WebCore::AccessibilityRenderObject::boundingBoxRect):
  36351. (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
  36352. (WebCore::AccessibilityRenderObject::elementRect):
  36353. (WebCore::AccessibilityRenderObject::size):
  36354. (WebCore::AccessibilityRenderObject::clickPoint):
  36355. (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
  36356. (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
  36357. (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
  36358. (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
  36359. * accessibility/AccessibilityRenderObject.h:
  36360. * accessibility/AccessibilityScrollView.cpp:
  36361. (WebCore::AccessibilityScrollView::accessibilityHitTest):
  36362. (WebCore::AccessibilityScrollView::elementRect):
  36363. * accessibility/AccessibilityScrollView.h:
  36364. * accessibility/AccessibilityScrollbar.cpp:
  36365. (WebCore::AccessibilityScrollbar::elementRect):
  36366. * accessibility/AccessibilityScrollbar.h:
  36367. * accessibility/AccessibilitySlider.cpp:
  36368. (WebCore::AccessibilitySliderThumb::elementRect):
  36369. (WebCore::AccessibilitySliderThumb::size):
  36370. * accessibility/AccessibilitySlider.h:
  36371. * accessibility/AccessibilityTableColumn.cpp:
  36372. (WebCore::AccessibilityTableColumn::elementRect):
  36373. (WebCore::AccessibilityTableColumn::size):
  36374. * accessibility/AccessibilityTableColumn.h:
  36375. * accessibility/AccessibilityTableHeaderContainer.cpp:
  36376. (WebCore::AccessibilityTableHeaderContainer::elementRect):
  36377. (WebCore::AccessibilityTableHeaderContainer::size):
  36378. * accessibility/AccessibilityTableHeaderContainer.h:
  36379. * accessibility/mac/AccessibilityObjectWrapper.mm:
  36380. (-[AccessibilityObjectWrapper position]):
  36381. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  36382. (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
  36383. 2011-08-17 Emil A Eklund <eae@chromium.org>
  36384. Switch focus handling to to new layout types
  36385. https://bugs.webkit.org/show_bug.cgi?id=66331
  36386. Reviewed by Eric Seidel.
  36387. Convert FocusController and SpatialNavigation to new layout abstraction
  36388. as a part of the ongoing conversion work.
  36389. No new tests, no new functionality.
  36390. * page/FocusController.cpp:
  36391. (WebCore::updateFocusCandidateIfNeeded):
  36392. (WebCore::FocusController::findFocusCandidateInContainer):
  36393. (WebCore::FocusController::advanceFocusDirectionallyInContainer):
  36394. (WebCore::FocusController::advanceFocusDirectionally):
  36395. * page/FocusController.h:
  36396. * page/SpatialNavigation.cpp:
  36397. (WebCore::alignmentForRects):
  36398. (WebCore::start):
  36399. (WebCore::middle):
  36400. (WebCore::end):
  36401. (WebCore::areRectsFullyAligned):
  36402. (WebCore::areRectsPartiallyAligned):
  36403. (WebCore::areRectsMoreThanFullScreenApart):
  36404. (WebCore::below):
  36405. (WebCore::rightOf):
  36406. (WebCore::isRectInDirection):
  36407. (WebCore::hasOffscreenRect):
  36408. (WebCore::scrollInDirection):
  36409. (WebCore::deflateIfOverlapped):
  36410. (WebCore::canScrollInDirection):
  36411. (WebCore::rectToAbsoluteCoordinates):
  36412. (WebCore::nodeRectInAbsoluteCoordinates):
  36413. (WebCore::frameRectInAbsoluteCoordinates):
  36414. (WebCore::entryAndExitPointsForDirection):
  36415. (WebCore::distanceDataForNode):
  36416. (WebCore::canBeScrolledIntoView):
  36417. (WebCore::virtualRectForDirection):
  36418. (WebCore::virtualRectForAreaElementAndDirection):
  36419. * page/SpatialNavigation.h:
  36420. 2011-08-17 Levi Weintraub <leviw@chromium.org>
  36421. Switch Document, DocumentMarker, Clipboard, and Range to new layout types
  36422. https://bugs.webkit.org/show_bug.cgi?id=66330
  36423. Reviewed by Eric Seidel.
  36424. Converting the remaining DOM classes to use the LayoutUnit abstraction.
  36425. No new tests, no new behavior.
  36426. * dom/Clipboard.h:
  36427. (WebCore::Clipboard::dragLocation):
  36428. * dom/Document.cpp:
  36429. (WebCore::Document::nodesFromRect):
  36430. (WebCore::nodeFromPoint):
  36431. (WebCore::Document::caretRangeFromPoint):
  36432. (WebCore::Document::prepareMouseEvent):
  36433. * dom/Document.h:
  36434. * dom/DocumentMarkerController.cpp:
  36435. (WebCore::DocumentMarkerController::markerContainingPoint):
  36436. (WebCore::DocumentMarkerController::renderedRectsForMarkers):
  36437. (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
  36438. * dom/DocumentMarkerController.h:
  36439. * dom/Range.cpp:
  36440. (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale):
  36441. * dom/RenderedDocumentMarker.h:
  36442. (WebCore::RenderedDocumentMarker::contains):
  36443. (WebCore::RenderedDocumentMarker::setRenderedRect):
  36444. (WebCore::RenderedDocumentMarker::renderedRect):
  36445. (WebCore::RenderedDocumentMarker::invalidMarkerRect):
  36446. (WebCore::RenderedDocumentMarker::invalidate):
  36447. 2011-08-17 Dan Bernstein <mitz@apple.com>
  36448. Removed an unused setting.
  36449. Reviewed by Anders Carlsson.
  36450. * WebCore.exp.in:
  36451. * page/Settings.cpp:
  36452. (WebCore::Settings::Settings): Removed initializer for m_needsTigerMailQuirks.
  36453. * page/Settings.h: Removed accessors.
  36454. 2011-08-17 Oliver Hunt <oliver@apple.com>
  36455. Move towards supporting user controlled prototypes on CanvasPixelArray
  36456. https://bugs.webkit.org/show_bug.cgi?id=66429
  36457. Reviewed by Gavin Barraclough.
  36458. Start using a per-global object structure for canvas pixel array.
  36459. * bindings/js/JSImageDataCustom.cpp:
  36460. (WebCore::toJS):
  36461. 2011-08-17 Luke Macpherson <macpherson@chromium.org>
  36462. Support cast from CSSPrimitiveValue to unsigned, and use in appropriate places in CSSStyleSelector::applyProperty
  36463. https://bugs.webkit.org/show_bug.cgi?id=66281
  36464. Reviewed by Eric Seidel.
  36465. No new tests - refactoring only.
  36466. The return if type!=CSS_NUMBER case becomes an ASSERT because it is unreachable unless there is an error in the parser.
  36467. * css/CSSPrimitiveValueMappings.h:
  36468. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  36469. Support cast from unsigned to CSSPrimitiveValue
  36470. (WebCore::CSSPrimitiveValue::operator unsigned):
  36471. Support cast from CSSPrimitiveValue to unsigned
  36472. * css/CSSStyleSelector.cpp:
  36473. (WebCore::CSSStyleSelector::applyProperty):
  36474. Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro for CSSPropertyWebkitBoxFlex,
  36475. CSSPropertyWebkitBoxFlexGroup and CSSPropertyWebkitBoxOrdinalGroup properties.
  36476. 2011-08-17 Scott Byer <scottbyer@chromium.org>
  36477. ScrollAnimatorNone: Remove unused field
  36478. https://bugs.webkit.org/show_bug.cgi?id=66312
  36479. Reviewed by Adam Barth.
  36480. No functional change; no test needed.
  36481. * platform/ScrollAnimatorNone.cpp:
  36482. (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
  36483. (WebCore::ScrollAnimatorNone::scroll):
  36484. * platform/ScrollAnimatorNone.h:
  36485. 2011-08-17 Jeff Miller <jeffm@apple.com>
  36486. Work-in-progress on Soft link against AVFoundationCF and CoreMedia
  36487. https://bugs.webkit.org/show_bug.cgi?id=65725
  36488. Don't bother with SOFT_LINK_LIBRARY(libdispatch), we're going to continue to statically link to it since
  36489. the DLL will have already been loaded by other parts of AAS and is guaranteed to be available if AVFoundation
  36490. is enabled.
  36491. Reviewed by Anders Carlsson.
  36492. No new tests; no functional change.
  36493. * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Removed SOFT_LINK_DEBUG_LIBRARY(libdispatch) and SOFT_LINK_LIBRARY(libdispatch).
  36494. (WebCore::MediaPlayerPrivateAVFoundationCF::isAvailable): Don't check for libdispatch.
  36495. 2011-08-17 Brady Eidson <beidson@apple.com>
  36496. https://bugs.webkit.org/show_bug.cgi?id=66354 and <rdar://problem/9965209>
  36497. Regression: On Lion, redirects lose HTTP authentication headers
  36498. Reviewed by Alexey Proskuryakov and Darin Adler.
  36499. This changes makes WebCore try to apply basic credentials after a redirect if the redirect is to the same origin,
  36500. assuming the redirected URL did not contain credentials directly.
  36501. Tests: http/tests/misc/authentication-redirect-1/authentication-sent-to-redirect-cross-origin.html
  36502. http/tests/misc/authentication-redirect-2/authentication-sent-to-redirect-same-origin.html
  36503. http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials.html
  36504. * platform/network/cf/ResourceHandleCFNet.cpp:
  36505. (WebCore::applyBasicAuthorizationHeader): Apply the user/password from a credential to the HTTP headers for a request.
  36506. (WebCore::ResourceHandle::createCFURLConnection): Use the applyBasicAuthorizationHeader helper.
  36507. (WebCore::ResourceHandle::willSendRequest): If this is a redirect within the same origin, apply any stored target credentials to the new request.
  36508. * platform/network/mac/ResourceHandleMac.mm:
  36509. (WebCore::applyBasicAuthorizationHeader): Apply the user/password from a credential to the HTTP headers for a request.
  36510. (WebCore::ResourceHandle::createNSURLConnection): Use the applyBasicAuthorizationHeader helper.
  36511. (WebCore::ResourceHandle::willSendRequest): If this is a redirect within the same origin, apply any stored target credentials to the new request.
  36512. 2011-08-17 Chris Fleizach <cfleizach@apple.com>
  36513. Accessibility stack exhaustion using role attribute
  36514. https://bugs.webkit.org/show_bug.cgi?id=65174
  36515. Reviewed by Darin Adler.
  36516. Forgot to commit review comments.
  36517. * accessibility/AccessibilityRenderObject.cpp:
  36518. (WebCore::AccessibilityRenderObject::remapAriaRoleDueToParent):
  36519. 2011-08-17 Chris Fleizach <cfleizach@apple.com>
  36520. Accessibility stack exhaustion using role attribute
  36521. https://bugs.webkit.org/show_bug.cgi?id=65174
  36522. Make sure we do not call accessibilityIsIgnored() during the AccessibilityObject
  36523. creation flow. That can lead to loops.
  36524. Reviewed by Darin Adler.
  36525. Tests: accessibility/crash-determining-aria-role-when-label-present.html
  36526. * accessibility/AccessibilityObject.cpp:
  36527. (WebCore::createARIARoleMap):
  36528. * accessibility/AccessibilityRenderObject.cpp:
  36529. (WebCore::AccessibilityRenderObject::remapAriaRoleDueToParent):
  36530. (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
  36531. * accessibility/AccessibilityRenderObject.h:
  36532. 2011-08-17 James Robinson <jamesr@chromium.org>
  36533. [chromium] Crash if compositing is disabled during updateLayers()
  36534. https://bugs.webkit.org/show_bug.cgi?id=66353
  36535. Reviewed by Kenneth Russell.
  36536. If compositing is turned off during LayerRendererChromium::updateLayers(), the rootLayer() will become null.
  36537. Sicne CCLayerTreeHost::doComposite() calls updateLayers() and then drawLayers() without checking for this case,
  36538. drawLayers() has to return without doing anything if the root layer is null.
  36539. Crash fixed based on crash reports. No known reliably repro case, unfortunately.
  36540. * platform/graphics/chromium/LayerRendererChromium.cpp:
  36541. (WebCore::LayerRendererChromium::drawLayers):
  36542. 2011-08-17 Dan Bernstein <mitz@apple.com>
  36543. <rdar://problem/9971293> Mid-word breaks can occur in the middle of a surrogate pair
  36544. https://bugs.webkit.org/show_bug.cgi?id=66402
  36545. Reviewed by Dave Hyatt.
  36546. Test: fast/text/midword-break-before-surrogate-pair-2.html
  36547. * rendering/RenderBlockLineLayout.cpp:
  36548. (WebCore::RenderBlock::LineBreaker::nextLineBreak): Just never allow a mid-word
  36549. break before a trailing surrogate.
  36550. 2011-08-16 Chang Shu <cshu@webkit.org>
  36551. Support reset in WebCore::Internals
  36552. https://bugs.webkit.org/show_bug.cgi?id=66307
  36553. Reviewed by Dimitri Glazkov.
  36554. New tests will be added when function reset is implemented.
  36555. Added framework code in WebCoreTestSupport. The real implementation of
  36556. Internals::reset() depends on the need from the settings that require a reset.
  36557. * testing/Internals.cpp:
  36558. (WebCore::Internals::reset):
  36559. * testing/Internals.h:
  36560. * testing/js/WebCoreTestSupport.cpp:
  36561. (WebCoreTestSupport::resetInternalsObject):
  36562. * testing/js/WebCoreTestSupport.h:
  36563. * testing/v8/WebCoreTestSupport.cpp:
  36564. (WebCoreTestSupport::resetInternalsObject):
  36565. * testing/v8/WebCoreTestSupport.h:
  36566. 2011-08-17 Tony Chang <tony@chromium.org>
  36567. Fix chromium mac compile. MediaPlayerPrivateAVFoundationObjC.* moved
  36568. and the WebCore.gypi file wasn't updated.
  36569. * WebCore.gypi:
  36570. 2011-08-17 Abhishek Arya <inferno@chromium.org>
  36571. Crash in Document::recalcStyleSelector
  36572. https://bugs.webkit.org/show_bug.cgi?id=66335
  36573. Reviewed by Simon Fraser.
  36574. When node is getting destroyed and its removedFromDocument
  36575. is not called due to entire document structure torn down(using
  36576. removeAllChildren), make sure to clear out the stylesheet
  36577. candidate node from document's structures in its destructor.
  36578. Test: svg/dom/stylesheet-candidate-node-crash-main.html
  36579. * dom/ProcessingInstruction.cpp:
  36580. (WebCore::ProcessingInstruction::~ProcessingInstruction):
  36581. * html/HTMLLinkElement.cpp:
  36582. (WebCore::HTMLLinkElement::~HTMLLinkElement):
  36583. * html/HTMLStyleElement.cpp:
  36584. (WebCore::HTMLStyleElement::~HTMLStyleElement):
  36585. * svg/SVGStyleElement.cpp:
  36586. (WebCore::SVGStyleElement::~SVGStyleElement):
  36587. 2011-08-17 Sam White <samuel.white@rochester.edu>
  36588. AccessibilityObject levels are inconsistent
  36589. https://bugs.webkit.org/show_bug.cgi?id=66180
  36590. Updated accessibilityTable to return level values consistent with other accessibilityObjects that
  36591. return level values. This means a value of 0 is now only returned when tableLevel() is called on a
  36592. non-table element.
  36593. Reviewed by Chris Fleizach.
  36594. Test: platform/mac/accessibility/element-level.html
  36595. * accessibility/AccessibilityTable.cpp:
  36596. (WebCore::AccessibilityTable::tableLevel):
  36597. * accessibility/mac/AccessibilityObjectWrapper.mm:
  36598. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  36599. 2011-08-17 Ryosuke Niwa <rniwa@webkit.org>
  36600. An arrow key collapses directionless selection range in the wrong direction in BiDi
  36601. https://bugs.webkit.org/show_bug.cgi?id=64626
  36602. Reviewed by Darin Adler.
  36603. The bug was caused by willBeModified's always using block direction to determine
  36604. the direction to which the selection is collapsed. Fixed the bug by calling directionOfSelection
  36605. in willBeModified, which will return the text direction of the surrounding context when
  36606. the start and the end have the same direction. When the text directions at the start and at the end
  36607. of selection do not match, it uses the block's text direction.
  36608. Test: editing/selection/collapse-selection-in-bidi.html
  36609. * editing/FrameSelection.cpp:
  36610. (WebCore::FrameSelection::directionOfSelection): Added.
  36611. (WebCore::FrameSelection::willBeModified): Calls directionOfSelection.
  36612. (WebCore::FrameSelection::modifyMovingRight): Ditto.
  36613. (WebCore::FrameSelection::modifyMovingLeft): Ditto.
  36614. * editing/FrameSelection.h:
  36615. 2011-08-17 Jeff Miller <jeffm@apple.com>
  36616. Some AVFoundation source files should be in platform-specific directories
  36617. https://bugs.webkit.org/show_bug.cgi?id=66352
  36618. Moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.* files to platform/graphics/avfoundation/cf,
  36619. and moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.* files to platform/graphics/avfoundation/objc/.
  36620. While I was at it, added svn:eol-style property to the MediaPlayerPrivateAVFoundationObjC.* files.
  36621. Also, for some reason, Visual Studio decided to re-sort a couple files in \inspector\front-end\ in WebCore.vcproj, even though
  36622. I just re-sorted the project in r93215.
  36623. Reviewed by Eric Carlson.
  36624. No new tests; no functional change.
  36625. * WebCore.vcproj/WebCore.vcproj: Moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.* files to platform/graphics/avfoundation/cf.
  36626. * WebCore.vcproj/WebCoreMediaQT.vsprops: Added $(ProjectDir)..\platform\graphics\avfoundation\cf to include paths.
  36627. * WebCore.xcodeproj/project.pbxproj: Moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.* files to platform/graphics/avfoundation/objc/.
  36628. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp: Removed.
  36629. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.h: Removed.
  36630. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: Removed.
  36631. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: Removed.
  36632. * platform/graphics/avfoundation/cf: Added.
  36633. * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Copied from Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp.
  36634. * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h: Copied from Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.h.
  36635. * platform/graphics/avfoundation/objc: Added.
  36636. * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: Copied from Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h.
  36637. * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: Copied from Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm.
  36638. 2011-08-17 Luke Macpherson <macpherson@chromium.org>
  36639. Only set m_fontDirty if TextSizeAdjust is actually changed.
  36640. https://bugs.webkit.org/show_bug.cgi?id=66022
  36641. Reviewed by Darin Adler.
  36642. No new tests. Refactoring only.
  36643. Reduces instances where the font information is dirtied to save recalculation where it is not necessary.
  36644. * css/CSSStyleSelector.cpp:
  36645. (WebCore::CSSStyleSelector::applyProperty):
  36646. Call new setTextSizeAdjust function.
  36647. * css/CSSStyleSelector.h:
  36648. (WebCore::CSSStyleSelector::setTextSizeAdjust):
  36649. Add wrapper for RenderStyle::setTextSizeAdjust() that automatically updates m_fontDirty.
  36650. * rendering/style/RenderStyle.h:
  36651. (WebCore::RenderStyle::setTextSizeAdjust):
  36652. Make setTextSizeAdjust return true if the unlderlying value was changed.
  36653. 2011-08-17 Kenichi Ishibashi <bashi@chromium.org>
  36654. [Chromium] Crash in HarfbuzzFace::~HarfbuzzFace
  36655. https://bugs.webkit.org/show_bug.cgi?id=66211
  36656. Holds Skia's unique font ID instead of FontPlatformData to avoid accessing freed FontPlatformData.
  36657. Reviewed by Tony Chang.
  36658. No new tests; no functional change.
  36659. * platform/graphics/chromium/HarfbuzzSkia.cpp:
  36660. (WebCore::releaseCachedHarfbuzzFace): Changed the argument.
  36661. (WebCore::HarfbuzzFace::HarfbuzzFace): Changed to have Skia's font uniqueID instead of FontPlatformData.
  36662. (WebCore::HarfbuzzFace::~HarfbuzzFace): Uses m_uniqueID to call releaseCachedHarfbuzzFace.
  36663. * platform/graphics/chromium/HarfbuzzSkia.h:
  36664. 2011-08-17 Jeff Miller <jeffm@apple.com>
  36665. Re-sort the WebCore project with Visual Studio after recent changes that I assume were done by manually editing the XML.
  36666. * WebCore.vcproj/WebCore.vcproj:
  36667. 2011-08-17 Sailesh Agrawal <sail@chromium.org>
  36668. Chromium Mac: Fix implementation of wkScrollbarMinimumTotalLengthNeededForThumb to match WebKitSystemInterface
  36669. https://bugs.webkit.org/show_bug.cgi?id=66311
  36670. Reviewed by Dimitri Glazkov.
  36671. Updated wkScrollbarMinimumTotalLengthNeededForThumb() based on the latest disassembly of libWebKitSystemInterfaceLion.a.
  36672. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
  36673. (wkScrollbarMinimumTotalLengthNeededForThumb):
  36674. 2011-08-17 Steve Block <steveblock@google.com>
  36675. Unreviewed, rolling out r93186.
  36676. http://trac.webkit.org/changeset/93186
  36677. https://bugs.webkit.org/show_bug.cgi?id=66114
  36678. Breaks LayoutTests on Chromium canary bots
  36679. * platform/graphics/chromium/LayerChromium.h:
  36680. * platform/graphics/chromium/LayerRendererChromium.cpp:
  36681. (WebCore::LayerRendererChromium::updateLayers):
  36682. (WebCore::LayerRendererChromium::drawLayersInternal):
  36683. (WebCore::LayerRendererChromium::drawLayer):
  36684. * platform/graphics/chromium/cc/CCLayerImpl.h:
  36685. 2011-08-17 Ryosuke Niwa <rniwa@webkit.org>
  36686. Get rid of calls to deprecatedNode and deprecatedEditingOffset in
  36687. AccessibilityRenderObject.cpp and InsertTextCommand.cpp
  36688. https://bugs.webkit.org/show_bug.cgi?id=66014
  36689. Reviewed by Hajime Morita.
  36690. Removed calls to deprecatedNode and deprecatedEditingOffsets in the following files.
  36691. * accessibility/AccessibilityRenderObject.cpp:
  36692. (WebCore::AccessibilityRenderObject::indexForVisiblePosition): Calls Position::rootEditableElement
  36693. and Range::setEnd(const Position&, ExceptionCode) instead of manually pulling deprecatedNode
  36694. and deprecatedEditingOffset.
  36695. (WebCore::AccessibilityRenderObject::index): Abstracted the logic to loop through render objects
  36696. from deprecatedNodes' renderer to m_renderer as renderObjectContainsPosition.
  36697. * dom/Position.h:
  36698. (WebCore::Position::rootEditableElement): Added.
  36699. * dom/Range.cpp:
  36700. (WebCore::Range::setStart): Added.
  36701. (WebCore::Range::setEnd): Added.
  36702. * dom/Range.h:
  36703. * editing/InsertTextCommand.cpp:
  36704. (WebCore::InsertTextCommand::insertTab):
  36705. * editing/RenderedPosition.cpp:
  36706. (WebCore::renderObjectContainsPosition): Extracted from AccessibilityRenderObject::index.
  36707. * editing/RenderedPosition.h:
  36708. 2011-08-17 Sailesh Agrawal <sail@chromium.org>
  36709. Chromium Mac: Fix issue where scrollbar wouldn't be drawn until page finished loading
  36710. https://bugs.webkit.org/show_bug.cgi?id=66238
  36711. Reviewed by Dimitri Glazkov.
  36712. Overlay scrollbars were not visible if the user scrolled a page while the page was loading. The sequence of events necessary to reproduce this bug were:
  36713. 1. -[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:] is called
  36714. 2. animation is delayed because shouldSuspendScrollAnimations() is true
  36715. 3. ScrollAnimatorChromiumMac::scroll() is called before the ScrollAnimatorChromiumMac::m_initialScrollbarPaintTimer is fired.
  36716. 4. At this point the scrollbar painter assumes the scrollbar is already visible (because of 1.) so the scrollbar's alpha stays at 0. Thus the scrollbar isn't visible until the page finishes loading.
  36717. It turns out that the root problem was that when the initialScrollbarPainterTimer fired I wasn't flashing the scrollbar correctly. My implementation of wkScrollbarPainterForceFlashScrollers() just called flashScrollers. The Safari implementation of this function also calls hideOverlayScrollers. Calling hideOverlayScrollers causes the alpha to change to 0 which prevents step 4 from happening.
  36718. Also, now that wkScrollbarPainterForceFlashScrollers is working correctly I don't need the extra logic I added to the initialScrollbarPainterTimer handler. That logic restarted the timer if shouldSuspendScrollAnimations() was true. But this isn't necessary since calling wkScrollbarPainterForceFlashScrollers() causes -[ScrollbarPainterDelegate setUpAnimation:...] to be called which does the exact same thing. Removing the extra logic reverts http://trac.webkit.org/changeset/92316.
  36719. * platform/chromium/ScrollAnimatorChromiumMac.mm:
  36720. (WebCore::ScrollAnimatorChromiumMac::initialScrollbarPaintTimerFired):
  36721. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
  36722. (wkScrollbarPainterForceFlashScrollers):
  36723. 2011-08-16 Andrey Kosyakov <caseq@chromium.org>
  36724. Web Inspector: maintain visible view hierarchy and dispatch common view events automatically
  36725. https://bugs.webkit.org/show_bug.cgi?id=66131
  36726. Reviewed by Pavel Feldman.
  36727. Test: inspector/view-events.html
  36728. - added a notion of an optional parent to a View
  36729. - maintain a list of View children
  36730. - dispatch common view events, such as show/hide/resize automatically through the hierarchy of visible views.
  36731. - promoted Panel's logic of (re)storing scroll positions to view
  36732. - demoted inheritScrollPositionFromView to a couple of views that need it.
  36733. * inspector/front-end/ApplicationCacheItemsView.js:
  36734. (WebInspector.ApplicationCacheItemsView.prototype.onResize):
  36735. * inspector/front-end/ConsoleView.js:
  36736. (WebInspector.ConsoleView.prototype.populateStatusBar):
  36737. (WebInspector.ConsoleView.prototype.elementsToRestoreScrollPositionsFor):
  36738. * inspector/front-end/CookieItemsView.js:
  36739. (WebInspector.CookieItemsView.prototype.onResize):
  36740. (WebInspector.SimpleCookiesTable.prototype.onResize):
  36741. * inspector/front-end/DOMStorageItemsView.js:
  36742. (WebInspector.DOMStorageItemsView.prototype.onResize):
  36743. * inspector/front-end/DetailedHeapshotView.js:
  36744. (WebInspector.DetailedHeapshotView.prototype.onResize):
  36745. * inspector/front-end/Drawer.js:
  36746. (WebInspector.Drawer.prototype.set visibleView):
  36747. (WebInspector.Drawer.prototype.show):
  36748. (WebInspector.Drawer.prototype.hide):
  36749. (WebInspector.Drawer.prototype.onResize):
  36750. (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
  36751. (WebInspector.Drawer.prototype._animateDrawerHeight):
  36752. (WebInspector.Drawer.prototype._statusBarDragging):
  36753. (WebInspector.Drawer.prototype._endStatusBarDragging):
  36754. * inspector/front-end/ElementsPanel.js:
  36755. (WebInspector.ElementsPanel.prototype.onResize):
  36756. * inspector/front-end/ExtensionPanel.js:
  36757. * inspector/front-end/FontView.js:
  36758. (WebInspector.FontView.prototype.onResize):
  36759. * inspector/front-end/IFrameView.js:
  36760. (WebInspector.IFrameView):
  36761. * inspector/front-end/NetworkItemView.js:
  36762. (WebInspector.NetworkItemView.prototype._installHighlightSupport):
  36763. * inspector/front-end/NetworkPanel.js:
  36764. (WebInspector.NetworkLogView):
  36765. (WebInspector.NetworkLogView.prototype.elementsToRestoreScrollPositionsFor):
  36766. (WebInspector.NetworkLogView.prototype.onResize):
  36767. (WebInspector.NetworkLogView.prototype.wasShown):
  36768. (WebInspector.NetworkLogView.prototype.willHide):
  36769. (WebInspector.NetworkPanel):
  36770. (WebInspector.NetworkPanel.prototype.show):
  36771. (WebInspector.NetworkPanel.prototype._showResource):
  36772. (WebInspector.NetworkPanel.prototype._closeVisibleResource):
  36773. * inspector/front-end/Panel.js:
  36774. (WebInspector.Panel.prototype.show):
  36775. (WebInspector.Panel.prototype.hide):
  36776. (WebInspector.Panel.prototype.performSearch.processChunk):
  36777. (WebInspector.Panel.prototype.performSearch):
  36778. (WebInspector.Panel.prototype.updateSidebarWidth):
  36779. * inspector/front-end/PanelEnablerView.js:
  36780. (WebInspector.PanelEnablerView.prototype.show):
  36781. (WebInspector.PanelEnablerView.prototype.onResize):
  36782. * inspector/front-end/ProfileView.js:
  36783. (WebInspector.CPUProfileView.prototype.onResize):
  36784. * inspector/front-end/ProfilesPanel.js:
  36785. (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
  36786. * inspector/front-end/ResourceCookiesView.js:
  36787. (WebInspector.ResourceCookiesView.prototype.onResize):
  36788. * inspector/front-end/ResourcePreviewView.js:
  36789. (WebInspector.ResourcePreviewView.prototype.contentLoaded):
  36790. * inspector/front-end/ResourceResponseView.js:
  36791. (WebInspector.ResourceResponseView.prototype.contentLoaded):
  36792. * inspector/front-end/ResourceTimingView.js:
  36793. (WebInspector.ResourceTimingView.prototype.show):
  36794. * inspector/front-end/ResourcesPanel.js:
  36795. (WebInspector.ResourcesPanel.prototype.show):
  36796. (WebInspector.ResourcesPanel.prototype._innerShowView):
  36797. (WebInspector.ResourcesPanel.prototype.closeVisibleView):
  36798. (WebInspector.ResourcesPanel.prototype.updateMainViewWidth):
  36799. (WebInspector.FrameResourceTreeElement.prototype._recreateSourceView):
  36800. * inspector/front-end/ScriptsPanel.js:
  36801. (WebInspector.ScriptsPanel.prototype.show):
  36802. (WebInspector.ScriptsPanel.prototype._createSourceFrame):
  36803. (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
  36804. (WebInspector.ScriptsPanel.prototype.setSidebarWidth):
  36805. * inspector/front-end/SourceFrame.js:
  36806. (WebInspector.SourceFrame):
  36807. (WebInspector.SourceFrame.prototype.show):
  36808. (WebInspector.SourceFrame.prototype.willHide):
  36809. (WebInspector.SourceFrame.prototype.clearMessages):
  36810. (WebInspector.SourceFrame.prototype._setTextViewerDecorations):
  36811. (WebInspector.SourceFrame.prototype.inheritScrollPositions):
  36812. * inspector/front-end/TabbedPane.js:
  36813. (WebInspector.TabbedPane.prototype.appendTab):
  36814. * inspector/front-end/TextViewer.js:
  36815. (WebInspector.TextViewer.prototype.elementsToRestoreScrollPositionsFor):
  36816. (WebInspector.TextViewer.prototype.inheritScrollPositions):
  36817. (WebInspector.TextViewer.prototype.onResize):
  36818. * inspector/front-end/TimelinePanel.js:
  36819. (WebInspector.TimelinePanel.prototype.onResize):
  36820. (WebInspector.TimelinePanel.prototype.elementsToRestoreScrollPositionsFor):
  36821. (WebInspector.TimelinePanel.prototype.show):
  36822. * inspector/front-end/View.js:
  36823. (WebInspector.View):
  36824. (WebInspector.View.prototype.wasShown):
  36825. (WebInspector.View.prototype.willHide):
  36826. (WebInspector.View.prototype._innerShow):
  36827. (WebInspector.View.prototype.show):
  36828. (WebInspector.View.prototype._innerHide):
  36829. (WebInspector.View.prototype.hide):
  36830. (WebInspector.View.prototype._detach):
  36831. (WebInspector.View.prototype.elementsToRestoreScrollPositionsFor):
  36832. (WebInspector.View.prototype.storeScrollPositions):
  36833. (WebInspector.View.prototype.restoreScrollPositions):
  36834. (WebInspector.View.prototype.addChildView):
  36835. (WebInspector.View.prototype.removeChildView):
  36836. (WebInspector.View.prototype.onResize):
  36837. (WebInspector.View.prototype.doResize):
  36838. (WebInspector.View.prototype.dispatchToSelfAndVisibleChildren):
  36839. (WebInspector.View.prototype.dispatchToVisibleChildren):
  36840. * inspector/front-end/inspector.js:
  36841. (WebInspector.windowResize):
  36842. 2011-08-16 Luke Macpherson <macpherson@chromium.org>
  36843. Represent RenderStyle::textOverflow property using an enum instead of a bool.
  36844. https://bugs.webkit.org/show_bug.cgi?id=66356
  36845. Reviewed by Dan Bernstein.
  36846. No new tests - no behavioral changes.
  36847. * css/CSSPrimitiveValueMappings.h:
  36848. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  36849. Support cast from TextOverflow to CSSPrimitiveValue.
  36850. (WebCore::CSSPrimitiveValue::operator TextOverflow):
  36851. Support cast from CSSPrimitiveValue to TextOverflow.
  36852. * css/CSSStyleSelector.cpp:
  36853. (WebCore::CSSStyleSelector::applyProperty):
  36854. Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro for text overflow.
  36855. * rendering/style/RenderStyle.h:
  36856. (WebCore::InheritedFlags::textOverflow):
  36857. Return TextOverflow enum.
  36858. (WebCore::InheritedFlags::setTextOverflow):
  36859. Accept TextOverflow enum parameter.
  36860. (WebCore::InheritedFlags::initialTextOverflow):
  36861. Return TextOverflowClip.
  36862. * rendering/style/RenderStyleConstants.h:
  36863. Define TextOverflow enum.
  36864. * rendering/style/StyleRareNonInheritedData.h:
  36865. Change representation of text overflow from bool to one-bit unsigned.
  36866. 2011-08-16 Jeff Miller <jeffm@apple.com>
  36867. Apple's Windows production build should fail to compile if AVFoundation is not enabled
  36868. https://bugs.webkit.org/show_bug.cgi?id=66339
  36869. Generate a compile-time error for Production builds if !USE(AVFOUNDATION).
  36870. Reviewed by Darin Adler.
  36871. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp: Generate a compile-time error for Production builds if !USE(AVFOUNDATION).
  36872. 2011-08-16 David Levin <levin@chromium.org>
  36873. REGRESSION (r89086): All worker xhr requests trigger preflight requests.
  36874. https://bugs.webkit.org/show_bug.cgi?id=66340
  36875. Reviewed by Adam Barth.
  36876. Test coming in a more comprehensive patch shortly. This is just a very targetted
  36877. patch to allow for easier merging.
  36878. * loader/CrossOriginAccessControl.cpp:
  36879. (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): Add referer to the list
  36880. of whitelisted headers. It can't be set by xhr so it is ok to whitelist it, but it is
  36881. set before calling this function. This is similar to what is done for "origin" in here.
  36882. 2011-08-16 Shawn Singh <shawnsingh@chromium.org>
  36883. Computing screen-space transform for LayerChromium and CCLayerImpl
  36884. https://bugs.webkit.org/show_bug.cgi?id=66114
  36885. Reviewed by James Robinson.
  36886. Test: compositing/backface-visibility-hierarchical-transform.html
  36887. Added a data member to LayerChromium and CCLayerImpl that holds
  36888. the screen-space transform. The transform is computed in
  36889. calculateDrawTransformsAndVisibility(), which is used during
  36890. updating (LayerChromium) and drawing (CCLayerImpl). This transform
  36891. will also be used for other things, such as HUD drawing, in upcoming
  36892. patches.
  36893. Also fixed a FIXME in LayerRendererChromium::drawLayer, which
  36894. was not computing the entire hierarchy of transforms to determine
  36895. back-face visibility. Now it simply uses the screen space transform.
  36896. * platform/graphics/chromium/LayerChromium.h:
  36897. (WebCore::LayerChromium::screenSpaceDrawTransform):
  36898. (WebCore::LayerChromium::setScreenSpaceDrawTransform):
  36899. * platform/graphics/chromium/LayerRendererChromium.cpp:
  36900. (WebCore::LayerRendererChromium::updateLayers):
  36901. (WebCore::LayerRendererChromium::drawLayersInternal):
  36902. (WebCore::LayerRendererChromium::drawLayer):
  36903. (WebCore::calculateDrawTransformsAndVisibility):
  36904. * platform/graphics/chromium/cc/CCLayerImpl.h:
  36905. (WebCore::CCLayerImpl::screenSpaceDrawTransform):
  36906. (WebCore::CCLayerImpl::setScreenSpaceDrawTransform):
  36907. 2011-08-16 Hayato Ito <hayato@chromium.org>
  36908. Implement proper handling of events which happen in children of shadow hosts.
  36909. https://bugs.webkit.org/show_bug.cgi?id=66285
  36910. Reviewed by Dimitri Glazkov.
  36911. Fix the issue where a shadow host stops an event propagation if an
  36912. event happens at the children of shadow hosts, outside of the shadow root.
  36913. Test: fast/dom/shadow/shadow-contents-event.html
  36914. * dom/EventDispatcher.cpp:
  36915. (WebCore::EventDispatcher::adjustToShadowBoundaries):
  36916. 2011-08-16 Per-Erik Brodin <per-erik.brodin@ericsson.com>
  36917. Make it possible to explicitly prevent a preflight via ThreadableLoaderOptions
  36918. https://bugs.webkit.org/show_bug.cgi?id=65694
  36919. Reviewed by Alexey Proskuryakov.
  36920. No new tests since there is no change in behavior.
  36921. * fileapi/FileReaderLoader.cpp:
  36922. (WebCore::FileReaderLoader::start):
  36923. * loader/DocumentThreadableLoader.cpp:
  36924. (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
  36925. (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
  36926. * loader/ThreadableLoader.h:
  36927. (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions):
  36928. * notifications/Notification.cpp:
  36929. (WebCore::Notification::startLoading):
  36930. * xml/XMLHttpRequest.cpp:
  36931. (WebCore::XMLHttpRequest::createRequest):
  36932. 2011-08-16 Scott Byer <scottbyer@chromium.org>
  36933. Fix spelling error.
  36934. https://bugs.webkit.org/show_bug.cgi?id=66261
  36935. Reviewed by Adam Barth.
  36936. No functional change, no tests needed.
  36937. * platform/ScrollAnimator.cpp:
  36938. (WebCore::ScrollAnimator::scroll):
  36939. (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
  36940. (WebCore::ScrollAnimator::notifyPositionChanged):
  36941. * platform/ScrollAnimator.h:
  36942. * platform/ScrollAnimatorNone.cpp:
  36943. (WebCore::ScrollAnimatorNone::scrollToOffsetWithoutAnimation):
  36944. (WebCore::ScrollAnimatorNone::animationTimerFired):
  36945. * platform/ScrollAnimatorWin.cpp:
  36946. (WebCore::ScrollAnimatorWin::scrollToOffsetWithoutAnimation):
  36947. (WebCore::ScrollAnimatorWin::animateScroll):
  36948. * platform/chromium/ScrollAnimatorChromiumMac.h:
  36949. * platform/chromium/ScrollAnimatorChromiumMac.mm:
  36950. (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPoint):
  36951. (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaX):
  36952. (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaY):
  36953. (WebCore::ScrollAnimatorChromiumMac::notifyPositionChanged):
  36954. * platform/mac/ScrollAnimatorMac.h:
  36955. * platform/mac/ScrollAnimatorMac.mm:
  36956. (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
  36957. (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
  36958. (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
  36959. (WebCore::ScrollAnimatorMac::notifyPositionChanged):
  36960. 2011-08-16 Joseph Pecoraro <joepeck@webkit.org>
  36961. ASSERT in fast/css/custom-font-xheight.html
  36962. https://bugs.webkit.org/show_bug.cgi?id=66328
  36963. Reviewed by Dan Bernstein.
  36964. In r93140 the temporary font created for a remote CSS font face
  36965. was created without being retained. We need to protect the
  36966. font from being purged while we hold onto it, so add a font cache
  36967. purge preventer.
  36968. * css/CSSFontFaceSource.cpp:
  36969. (WebCore::CSSFontFaceSource::getFontData):
  36970. 2011-08-16 Joseph Pecoraro <joepeck@webkit.org>
  36971. Unreviewed Chromium Windows build fix after r93140. Take 4.
  36972. Namespace the now public enum as FontCache::ShouldRetain.
  36973. * platform/graphics/chromium/FontCacheChromiumWin.cpp:
  36974. (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData):
  36975. 2011-08-15 Stephen White <senorblanco@chromium.org>
  36976. Canvas resizing can be slow
  36977. https://bugs.webkit.org/show_bug.cgi?id=66251
  36978. Canvas resizing was slow due to re-allocation of the ImageBuffer on
  36979. each size change (width or height). This was introduced inadvertently
  36980. by calls to isAccelerated() during canvas reset(). Since we won't
  36981. know if we have successfully accelerated until ImageBuffer creation,
  36982. move the compositor invalidation to createImageBuffer() as well.
  36983. This patch also attempts to unify the Skia and CG accelerated canvas
  36984. paths. The DrawingBuffer used by the Skia path is now owned by
  36985. ImageBuffer[Skia], similar to how the IOSurface is owned by
  36986. ImageBuffer[CG]. Some of the logic for when to accelerate was moved
  36987. into HTMLCanvasElement and unified with the CG path. Acceleration is
  36988. also now enabled by the same "Accelerated" ImageBuffer create flag
  36989. used by the CG path. DrawingBuffer is now re-created even for a
  36990. same-size change (same as the memory buffer), but we speed it up
  36991. by calling GraphicsContext3D::texImage2D() with a NULL pixels ptr
  36992. instead of GraphicsContext3D::teximage2DResourceSafe() (no need to
  36993. clear it, since it's done with a glClear anyway).
  36994. Reviewed by Kenneth Russell.
  36995. Covered by existing tests in fast/canvas and canvas/philip.
  36996. * html/HTMLCanvasElement.cpp:
  36997. (WebCore::HTMLCanvasElement::reset):
  36998. Don't call isAccelerated() from reset(), since we don't want to
  36999. inadvertently create the ImageBuffer. Also, since we won't know if
  37000. we have successfully accelerated until createImageBuffer() is
  37001. called, defer the compositor invalidation to createImageBuffer() as
  37002. well.
  37003. (WebCore::HTMLCanvasElement::shouldAccelerate):
  37004. Unify the CG and Skia ports' logic for when to accelerate (Skia
  37005. logic moved in from CanvasRenderingContext2D).
  37006. (WebCore::HTMLCanvasElement::createImageBuffer):
  37007. Use the unified shouldAccelerate() logic, and pass it as a flag
  37008. to ImageBuffer. Do compositor invalidation as well.
  37009. * html/HTMLCanvasElement.h:
  37010. (WebCore::HTMLCanvasElement::hasCreatedImageBuffer):
  37011. Expose hasCreatedImageBuffer() publically, so
  37012. CanvasRenderingContext2D::isAccelerated() doesn't inadvertently create
  37013. it.
  37014. * html/canvas/CanvasRenderingContext2D.cpp:
  37015. (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
  37016. (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
  37017. Remove all acceleration setting and resetting, since it's now done
  37018. during ImageBuffer creation.
  37019. (WebCore::CanvasRenderingContext2D::isAccelerated):
  37020. Check if the image buffer was created, so we don't inadvertently
  37021. create it here.
  37022. (WebCore::CanvasRenderingContext2D::paintsIntoCanvasBuffer):
  37023. Don't call GraphicsContext3D::paintsIntoCanvasBuffer(), since its
  37024. WebViewImpl may be null. Ask the render tree instead.
  37025. (WebCore::CanvasRenderingContext2D::reset):
  37026. Don't reset acceleration here, since we don't own it anymore.
  37027. (WebCore::CanvasRenderingContext2D::platformLayer):
  37028. Call into the ImageBuffer to get our PlatformLayer.
  37029. * html/canvas/CanvasRenderingContext2D.h:
  37030. Remove m_drawingBuffer, and all acceleration-related calls.
  37031. * platform/graphics/GraphicsContext.cpp:
  37032. * platform/graphics/GraphicsContext.h:
  37033. Remove setGraphicsContext3D(), and paintsIntoImageBuffer().
  37034. * platform/graphics/ImageBuffer.cpp:
  37035. (WebCore::ImageBuffer::platformLayer):
  37036. Implement a dummy platformLayer() call for non-skia ports.
  37037. * platform/graphics/ImageBuffer.h:
  37038. Declare a platformLayer() call (USE(ACCELERATED_COMPOSITING) only).
  37039. * platform/graphics/chromium/ImageBufferDataSkia.h:
  37040. Add a DrawingBuffer data member.
  37041. * platform/graphics/gpu/DrawingBuffer.cpp:
  37042. (WebCore::DrawingBuffer::reset):
  37043. Use texImage2D() with a NULL ptr, not texImage2DResourceSafe().
  37044. Since we immediately clear the framebuffer via glClear(), this whole
  37045. resource safe business is overkill.
  37046. * platform/graphics/skia/GraphicsContextSkia.cpp:
  37047. Remove setGraphicsContext3D() and paintsIntoImageBuffer(). This
  37048. functionality is handled by ImageBuffer now.
  37049. * platform/graphics/skia/ImageBufferSkia.cpp:
  37050. (WebCore::ImageBuffer::ImageBuffer):
  37051. Give the ImageBufferData ownership of the DrawingBuffer.
  37052. (WebCore::ImageBuffer::platformLayer):
  37053. Implement an accessor for the DrawingBuffer's PlatformLayer.
  37054. * platform/graphics/skia/PlatformContextSkia.cpp:
  37055. (WebCore::PlatformContextSkia::setGraphicsContext3D):
  37056. * platform/graphics/skia/PlatformContextSkia.h:
  37057. Remove isPathSkiaSafe() extern (unused).
  37058. Remove paintsIntoImageBuffer() (now unused). Remove IntSize param
  37059. from setGraphicsContext3D() (unused).
  37060. 2011-08-16 Joseph Pecoraro <joepeck@webkit.org>
  37061. Unreviewed Chromium Windows build fix after r93140. Take 3.
  37062. Include the proper includes!
  37063. * platform/graphics/FontCache.h:
  37064. 2011-08-16 Mihnea Ovidenie <mihnea@adobe.com>
  37065. Unmatrix algorithm implementation is wrong
  37066. https://bugs.webkit.org/show_bug.cgi?id=66080
  37067. Reviewed by Dean Jackson.
  37068. Current version of the algorithm negates only the scaleX while
  37069. it should negate also scaleY and scaleZ when appropriate.
  37070. Test: animations/animation-matrix-negative-scale-unmatrix.html
  37071. * platform/graphics/transforms/TransformationMatrix.cpp:
  37072. (WebCore::decompose):
  37073. 2011-08-16 Joseph Pecoraro <joepeck@webkit.org>
  37074. Unreviewed Chromium Windows build fix after r93140.
  37075. This just makes the troublesome enum public. If this
  37076. fixes the build I will file a follow-up bug to clean-up
  37077. these build issues and either keep the enum public and
  37078. cleanup other functions or restore the enum to private.
  37079. There is no harm in making the enum public right now.
  37080. * platform/graphics/FontCache.h:
  37081. 2011-08-16 Joseph Pecoraro <joepeck@webkit.org>
  37082. Unreviewed Chromium Windows build fix after r93140.
  37083. * platform/graphics/FontCache.h:
  37084. 2011-08-16 Joseph Pecoraro <joepeck@webkit.org>
  37085. Unreviewed Windows and Chromium Windows build fix after r93140.
  37086. * platform/graphics/FontCache.h:
  37087. * platform/graphics/chromium/FontCacheChromiumWin.cpp:
  37088. (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
  37089. (WebCore::getLastResortFallbackFontProc):
  37090. (WebCore::FontCache::getLastResortFallbackFont):
  37091. * platform/graphics/win/FontCacheWin.cpp:
  37092. (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
  37093. (WebCore::FontCache::getLastResortFallbackFont):
  37094. 2011-08-16 Adam Roben <aroben@apple.com>
  37095. Make placeholder text remain visible until a character is typed on Windows
  37096. Fixes <http://webkit.org/b/66319> Placeholder text in text fields disappears when the field
  37097. is focused on Windows, which doesn't match Lion or Windows native text fields
  37098. Covered by existing tests (which are currently failing on the bots until this patch lands).
  37099. Reviewed by Dave Hyatt.
  37100. * rendering/RenderThemeSafari.h:
  37101. (WebCore::RenderThemeSafari::shouldShowPlaceholderWhenFocused):
  37102. * rendering/RenderThemeWin.h:
  37103. (WebCore::RenderThemeWin::shouldShowPlaceholderWhenFocused):
  37104. Added overrides to return true.
  37105. 2011-08-16 David Hyatt <hyatt@apple.com>
  37106. https://bugs.webkit.org/show_bug.cgi?id=66254
  37107. Make region invalidation and repainting work properly. We do this by making RenderFlowThreads into
  37108. repaint containers and then issuing new repaints in the regions that contain the invalidated flow thread
  37109. content.
  37110. Reviewed by Simon Fraser.
  37111. Added new tests in fast/repaint.
  37112. * rendering/RenderFlowThread.cpp:
  37113. (WebCore::RenderFlowThread::repaintRectangleInRegions):
  37114. * rendering/RenderFlowThread.h:
  37115. * rendering/RenderObject.cpp:
  37116. (WebCore::RenderObject::enclosingRenderFlowThread):
  37117. (WebCore::RenderObject::containerForRepaint):
  37118. (WebCore::RenderObject::repaintUsingContainer):
  37119. * rendering/RenderObject.h:
  37120. * rendering/RenderView.cpp:
  37121. (WebCore::RenderView::RenderView):
  37122. (WebCore::RenderView::renderFlowThreadWithName):
  37123. * rendering/RenderView.h:
  37124. (WebCore::RenderView::hasRenderFlowThreads):
  37125. 2011-08-16 Joseph Pecoraro <joepeck@webkit.org>
  37126. Abandoned Memory: Temporary CSS Fonts May Never Be Purged
  37127. https://bugs.webkit.org/show_bug.cgi?id=66153
  37128. Reviewed by Dan Bernstein.
  37129. While a remote CSS font face is loading we fallback to a
  37130. temporary font. We don't want to retain the fallback font
  37131. because noone takes ownership of the temporary font. This
  37132. patch adds a way to get an uncached fallback font, which
  37133. plumbs the ShouldRetain enum through the different platform
  37134. implementations of getLastResortFallbackFont.
  37135. No new tests, no functional change.
  37136. * css/CSSFontFaceSource.cpp:
  37137. (WebCore::CSSFontFaceSource::getFontData):
  37138. * platform/graphics/FontCache.cpp:
  37139. (WebCore::FontCache::getNonRetainedLastResortFallbackFont):
  37140. * platform/graphics/FontCache.h:
  37141. * platform/graphics/chromium/FontCacheChromiumWin.cpp:
  37142. (WebCore::fontDataFromDescriptionAndLogFont):
  37143. (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData):
  37144. (WebCore::getLastResortFallbackFontProc):
  37145. (WebCore::FontCache::getLastResortFallbackFont):
  37146. * platform/graphics/chromium/FontCacheLinux.cpp:
  37147. (WebCore::FontCache::getLastResortFallbackFont):
  37148. * platform/graphics/freetype/FontCacheFreeType.cpp:
  37149. (WebCore::FontCache::getLastResortFallbackFont):
  37150. * platform/graphics/haiku/FontCacheHaiku.cpp:
  37151. (WebCore::FontCache::getLastResortFallbackFont):
  37152. * platform/graphics/mac/FontCacheMac.mm:
  37153. (WebCore::FontCache::getLastResortFallbackFont):
  37154. * platform/graphics/pango/FontCachePango.cpp:
  37155. (WebCore::FontCache::getLastResortFallbackFont):
  37156. * platform/graphics/qt/FontCacheQt.cpp:
  37157. (WebCore::FontCache::getLastResortFallbackFont):
  37158. * platform/graphics/win/FontCacheWin.cpp:
  37159. (WebCore::fontDataFromDescriptionAndLogFont):
  37160. (WebCore::FontCache::getLastResortFallbackFont):
  37161. * platform/graphics/wince/FontCacheWinCE.cpp:
  37162. * platform/graphics/wx/FontCacheWx.cpp:
  37163. (WebCore::FontCache::getLastResortFallbackFont):
  37164. 2011-08-16 Alexei Svitkine <asvitkine@chromium.org>
  37165. Chromium Mac: Rubber banding gutter drawing
  37166. https://bugs.webkit.org/show_bug.cgi?id=66226
  37167. Make ScrollView::paintOverhangAreas() use the ScrollbarTheme::nativeTheme() to
  37168. draw the overhang areas.
  37169. Move default implementation to ScrollbarThemeComposite::paintOverhangAreas().
  37170. Add a different implementation for Chromium Mac.
  37171. Reviewed by Dimitri Glazkov.
  37172. No new tests since this is just refactoring code and adding a Chromium-specific path for overhang drawing.
  37173. * platform/ScrollView.cpp:
  37174. (WebCore::ScrollView::wheelEvent):
  37175. * platform/ScrollbarTheme.h:
  37176. (WebCore::ScrollbarTheme::paintOverhangAreas):
  37177. * platform/ScrollbarThemeComposite.cpp:
  37178. (WebCore::ScrollbarThemeComposite::paintOverhangAreas):
  37179. * platform/ScrollbarThemeComposite.h:
  37180. * platform/chromium/ScrollbarThemeChromiumMac.h:
  37181. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  37182. (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
  37183. (WebCore::scrollbarStateToThemeState):
  37184. (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
  37185. (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
  37186. 2011-08-12 Wyatt Carss <wcarss@chromium.org>
  37187. Programmatically set selection should not have direction on Mac
  37188. https://bugs.webkit.org/show_bug.cgi?id=60529
  37189. Reviewed by Ryosuke Niwa.
  37190. Modified default value of VisibleSelection->m_isDirectional from 'true'
  37191. to 'false' by adding a defaulted argument to several VisibleSelection
  37192. constructors to make programmatic selection be directionless by default
  37193. on Mac. Also modified several calls to VisibleSelection's constructors
  37194. to correctly preserve directionality.
  37195. Near the end of FrameSelection::modify (presently FrameSelection.cpp:869)
  37196. a call to setExtent triggers an editing delegate that uses the
  37197. FrameSelection. The direction here should have been preserved from before,
  37198. but setIsDirectional was not called until after FrameSelection.cpp:869. It
  37199. has been moved up to make things behave.
  37200. * WebCore.exp.in:
  37201. * editing/ApplyBlockElementCommand.cpp:
  37202. (WebCore::ApplyBlockElementCommand::doApply):
  37203. (WebCore::ApplyBlockElementCommand::formatSelection):
  37204. * editing/ApplyStyleCommand.cpp:
  37205. (WebCore::ApplyStyleCommand::updateStartEnd):
  37206. * editing/BreakBlockquoteCommand.cpp:
  37207. (WebCore::BreakBlockquoteCommand::doApply):
  37208. * editing/CompositeEditCommand.cpp:
  37209. (WebCore::CompositeEditCommand::moveParagraphWithClones):
  37210. (WebCore::CompositeEditCommand::moveParagraphs):
  37211. (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
  37212. (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
  37213. * editing/CreateLinkCommand.cpp:
  37214. (WebCore::CreateLinkCommand::doApply):
  37215. * editing/DeleteSelectionCommand.cpp:
  37216. (WebCore::DeleteSelectionCommand::setStartingSelectionOnSmartDelete):
  37217. (WebCore::DeleteSelectionCommand::doApply):
  37218. * editing/Editor.cpp:
  37219. (WebCore::Editor::selectionForCommand):
  37220. * editing/FrameSelection.cpp:
  37221. (WebCore::shouldAlwaysUseDirectionalSelection):
  37222. (WebCore::FrameSelection::FrameSelection):
  37223. (WebCore::FrameSelection::moveTo):
  37224. (WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded):
  37225. (WebCore::FrameSelection::modify):
  37226. (WebCore::FrameSelection::setBase):
  37227. (WebCore::FrameSelection::setExtent):
  37228. * editing/FrameSelection.h:
  37229. * editing/InsertLineBreakCommand.cpp:
  37230. (WebCore::InsertLineBreakCommand::doApply):
  37231. * editing/InsertListCommand.cpp:
  37232. (WebCore::InsertListCommand::doApply):
  37233. * editing/InsertParagraphSeparatorCommand.cpp:
  37234. (WebCore::InsertParagraphSeparatorCommand::doApply):
  37235. * editing/InsertTextCommand.cpp:
  37236. (WebCore::InsertTextCommand::performTrivialReplace):
  37237. (WebCore::InsertTextCommand::doApply):
  37238. * editing/MoveSelectionCommand.cpp:
  37239. (WebCore::MoveSelectionCommand::doApply):
  37240. * editing/ReplaceSelectionCommand.cpp:
  37241. (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
  37242. * editing/TypingCommand.cpp:
  37243. (WebCore::TypingCommand::makeEditableRootEmpty):
  37244. (WebCore::TypingCommand::deleteKeyPressed):
  37245. (WebCore::TypingCommand::forwardDeleteKeyPressed):
  37246. * editing/VisibleSelection.cpp:
  37247. (WebCore::VisibleSelection::VisibleSelection):
  37248. * editing/VisibleSelection.h:
  37249. * page/EventHandler.cpp:
  37250. (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
  37251. (WebCore::EventHandler::updateSelectionForMouseDrag):
  37252. 2011-08-16 Jeffrey Pfau <jpfau@apple.com>
  37253. New XML parser: Add document fragment parser
  37254. https://bugs.webkit.org/show_bug.cgi?id=66317
  37255. Reviewed by Adam Barth.
  37256. * dom/DocumentFragment.cpp:
  37257. (WebCore::DocumentFragment::parseXML):
  37258. * xml/parser/NewXMLDocumentParser.cpp:
  37259. (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
  37260. (WebCore::NewXMLDocumentParser::parseDocumentFragment):
  37261. * xml/parser/NewXMLDocumentParser.h:
  37262. (WebCore::NewXMLDocumentParser::create):
  37263. * xml/parser/XMLTokenizer.h:
  37264. * xml/parser/XMLTreeBuilder.cpp:
  37265. (WebCore::XMLTreeBuilder::XMLTreeBuilder):
  37266. (WebCore::XMLTreeBuilder::pushCurrentNode):
  37267. * xml/parser/XMLTreeBuilder.h:
  37268. (WebCore::XMLTreeBuilder::create):
  37269. (WebCore::XMLTreeBuilder::NodeStackItem::node):
  37270. 2011-08-16 Jeffrey Pfau <jpfau@apple.com>
  37271. New XML parser: Replace assertions regarding character data in the prolog with proper checks
  37272. https://bugs.webkit.org/show_bug.cgi?id=66269
  37273. Reviewed by Adam Barth.
  37274. This patch checks for character data in the prolog (which is illegal in XML) and discards it, instead of failing an assertion.
  37275. * xml/parser/XMLTreeBuilder.cpp:
  37276. (WebCore::XMLTreeBuilder::processProcessingInstruction):
  37277. (WebCore::XMLTreeBuilder::processXMLDeclaration):
  37278. (WebCore::XMLTreeBuilder::processDOCTYPE):
  37279. (WebCore::XMLTreeBuilder::enterText):
  37280. (WebCore::XMLTreeBuilder::failOnText):
  37281. * xml/parser/XMLTreeBuilder.h:
  37282. 2011-08-16 Alexander Pavlov <apavlov@chromium.org>
  37283. Web Inspector: word wrap long edits
  37284. https://bugs.webkit.org/show_bug.cgi?id=65512
  37285. Reviewed by Pavel Feldman.
  37286. * inspector/front-end/inspector.css:
  37287. (.styles-section .properties li.child-editing):
  37288. 2011-08-16 Pavel Feldman <pfeldman@google.com>
  37289. Web Inspector: convert DOM breakpoint types to strings.
  37290. https://bugs.webkit.org/show_bug.cgi?id=66304
  37291. Reviewed by Yury Semikhatsky.
  37292. * inspector/Inspector.json:
  37293. * inspector/InspectorDOMDebuggerAgent.cpp:
  37294. (WebCore::domTypeForName):
  37295. (WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
  37296. (WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):
  37297. * inspector/InspectorDOMDebuggerAgent.h:
  37298. * inspector/front-end/DOMBreakpointsSidebarPane.js:
  37299. (WebInspector.DOMBreakpointsSidebarPane):
  37300. 2011-08-16 Pavel Feldman <pfeldman@google.com>
  37301. Web Inspector: force pseudo element state when checking it in the styles sidebar.
  37302. https://bugs.webkit.org/show_bug.cgi?id=66292
  37303. This reverts http://trac.webkit.org/changeset/89132 and introduces InspectorInstrumentation
  37304. calls from the CSSStyleSelector for pseudo state processing. These calls are very fast:
  37305. they are guarded with the inline checks for the front-end count.
  37306. Reviewed by David Hyatt.
  37307. * css/CSSStyleSelector.cpp:
  37308. (WebCore::CSSStyleSelector::initForStyleResolve):
  37309. (WebCore::CSSStyleSelector::styleRulesForElement):
  37310. (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
  37311. (WebCore::CSSStyleSelector::checkSelector):
  37312. (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
  37313. (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
  37314. * css/CSSStyleSelector.h:
  37315. * inspector/InspectorCSSAgent.cpp:
  37316. (WebCore::computePseudoClassMask):
  37317. (WebCore::InspectorCSSAgent::InspectorCSSAgent):
  37318. (WebCore::InspectorCSSAgent::clearFrontend):
  37319. (WebCore::InspectorCSSAgent::forcePseudoState):
  37320. (WebCore::InspectorCSSAgent::getStylesForNode):
  37321. (WebCore::InspectorCSSAgent::didRemoveDocument):
  37322. (WebCore::InspectorCSSAgent::didRemoveDOMNode):
  37323. (WebCore::InspectorCSSAgent::clearPseudoState):
  37324. * inspector/InspectorCSSAgent.h:
  37325. * inspector/InspectorController.cpp:
  37326. (WebCore::InspectorController::disconnectFrontend):
  37327. * inspector/InspectorInstrumentation.cpp:
  37328. (WebCore::InspectorInstrumentation::forcePseudoStateImpl):
  37329. * inspector/InspectorInstrumentation.h:
  37330. (WebCore::InspectorInstrumentation::forcePseudoState):
  37331. 2011-08-16 Tony Chang <tony@chromium.org>
  37332. Unreviewed, rolling out r93114.
  37333. http://trac.webkit.org/changeset/93114
  37334. https://bugs.webkit.org/show_bug.cgi?id=66226
  37335. broke the chromium mac compile
  37336. * platform/ScrollView.cpp:
  37337. (WebCore::ScrollView::wheelEvent):
  37338. * platform/ScrollbarTheme.h:
  37339. * platform/ScrollbarThemeComposite.cpp:
  37340. * platform/ScrollbarThemeComposite.h:
  37341. * platform/chromium/ScrollbarThemeChromiumMac.h:
  37342. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  37343. (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
  37344. (WebCore::scrollbarStateToThemeState):
  37345. (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
  37346. * platform/mac/ScrollbarThemeMac.h:
  37347. 2011-08-16 Alexei Svitkine <asvitkine@chromium.org>
  37348. Chromium Mac: Rubber banding gutter drawing
  37349. https://bugs.webkit.org/show_bug.cgi?id=66226
  37350. Make ScrollView::paintOverhangAreas() use the ScrollbarTheme::nativeTheme() to
  37351. draw the overhang areas.
  37352. Move default implementation to ScrollbarThemeComposite::paintOverhangAreas().
  37353. Add a different implementation for Chromium Mac.
  37354. Reviewed by Dimitri Glazkov.
  37355. No new tests since this is just refactoring code and adding a Chromium-specific path for overhang drawing.
  37356. * platform/ScrollView.cpp:
  37357. (WebCore::ScrollView::wheelEvent):
  37358. * platform/ScrollbarTheme.h:
  37359. (WebCore::ScrollbarTheme::paintOverhangAreas):
  37360. * platform/ScrollbarThemeComposite.cpp:
  37361. (WebCore::ScrollbarThemeComposite::paintOverhangAreas):
  37362. * platform/ScrollbarThemeComposite.h:
  37363. * platform/chromium/ScrollbarThemeChromiumMac.h:
  37364. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  37365. (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
  37366. (WebCore::scrollbarStateToThemeState):
  37367. (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
  37368. (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
  37369. 2011-08-16 Luke Macpherson <macpherson@chromium.org>
  37370. Support cast between CSSPrimitiveValue and ETransformStyle3D and use in CSSStyleSelector.
  37371. https://bugs.webkit.org/show_bug.cgi?id=66273
  37372. Reviewed by Simon Fraser.
  37373. No new tests - no functionality changed - refactoring only.
  37374. * css/CSSPrimitiveValueMappings.h:
  37375. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  37376. Define cast from CSSPrimitiveValue to ETransformStyle3D.
  37377. (WebCore::CSSPrimitiveValue::operator ETransformStyle3D):
  37378. Define cast from ETransformStyle3D to CSSPrimitiveValue.
  37379. * css/CSSStyleSelector.cpp:
  37380. (WebCore::CSSStyleSelector::applyProperty):
  37381. Use appropriate macro to handle CSSPropertyWebkitTransformStyle.
  37382. 2011-08-16 Luke Macpherson <macpherson@chromium.org>
  37383. Use appropriate macro to handle CSSPropertyWebkitContentOrder in CSSStyleSelector::applyProperty()
  37384. https://bugs.webkit.org/show_bug.cgi?id=66279
  37385. Reviewed by Simon Fraser.
  37386. No new tests - no functionality changed - simple refactoring only.
  37387. * css/CSSStyleSelector.cpp:
  37388. (WebCore::CSSStyleSelector::applyProperty):
  37389. Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro to handle CSSPropertyWebkitContentOrder.
  37390. This works because PrimitiveValue now supports cast to int.
  37391. 2011-08-16 Eric Carlson <eric.carlson@apple.com>
  37392. [REGRESSION] Media controls should always be enabled when scripting is disabled
  37393. https://bugs.webkit.org/show_bug.cgi?id=66303
  37394. Reviewed by Dimitri Glazkov.
  37395. Tests: media/video-controls-no-scripting-iframe.html
  37396. media/video-controls-no-scripting.html
  37397. * html/HTMLMediaElement.cpp:
  37398. (WebCore::HTMLMediaElement::attributeChanged): Move the controls enabling/disabling code
  37399. to configureMediaControls.
  37400. (WebCore::HTMLMediaElement::prepareForLoad): Call configureMediaControls.
  37401. (WebCore::HTMLMediaElement::configureMediaControls): New, move code duplicated in
  37402. attributeChanged and preDispatchEventHandler here.
  37403. (WebCore::HTMLMediaElement::preDispatchEventHandler): Move the controls enabling/disabling code
  37404. to configureMediaControls.
  37405. * html/HTMLMediaElement.h:
  37406. 2011-08-16 Pavel Feldman <pfeldman@google.com>
  37407. Web Inspector: hide non-conservative methods from the protocol documentation.
  37408. https://bugs.webkit.org/show_bug.cgi?id=66301
  37409. Reviewed by Yury Semikhatsky.
  37410. * inspector/Inspector.json:
  37411. 2011-08-16 Andras Becsi <abecsi@webkit.org>
  37412. Web Inspector: nuke background events collection (dead feature)
  37413. https://bugs.webkit.org/show_bug.cgi?id=66296
  37414. Fix the GTK build after r93095.
  37415. Unreviewed build fix.
  37416. No new tests neede.
  37417. * GNUmakefile.list.am: Remove nonexistent sources.
  37418. 2011-08-16 Andras Becsi <abecsi@webkit.org>
  37419. Reviewed by Csaba Osztrogonác.
  37420. Need AtomicStrings for the various font family names
  37421. https://bugs.webkit.org/show_bug.cgi?id=28024
  37422. Unify the usage of '-webkit' prefixed font family names by using
  37423. global AtomicStrings.
  37424. Use a .in file to generate the needed sources through make_names.pl.
  37425. No new tests needed.
  37426. * CMakeLists.txt:
  37427. * CodeGenerators.pri:
  37428. * DerivedSources.make:
  37429. * GNUmakefile.am:
  37430. * GNUmakefile.list.am:
  37431. * WebCore.gyp/WebCore.gyp:
  37432. * WebCore.gyp/scripts/action_makenames.py:
  37433. * WebCore.gypi:
  37434. * WebCore.vcproj/WebCore.vcproj:
  37435. * WebCore.xcodeproj/project.pbxproj:
  37436. * css/CSSComputedStyleDeclaration.cpp:
  37437. (WebCore::identifierForFamily):
  37438. * css/CSSFontSelector.cpp:
  37439. (WebCore::CSSFontSelector::addFontFaceRule):
  37440. (WebCore::fontDataForGenericFamily):
  37441. * css/CSSStyleSelector.cpp:
  37442. (WebCore::CSSStyleSelector::applyProperty):
  37443. * css/WebKitFontFamilyNames.in: Added.
  37444. * dom/make_names.pl:
  37445. * page/Frame.cpp:
  37446. (WebCore::Frame::Frame):
  37447. * platform/graphics/FontCache.cpp:
  37448. (WebCore::FontCache::getFontData):
  37449. * platform/graphics/FontDescription.h:
  37450. (WebCore::FontDescription::useFixedDefaultSize):
  37451. 2011-08-16 Pavel Feldman <pfeldman@google.com>
  37452. Web Inspector: nuke background events collection (dead feature)
  37453. https://bugs.webkit.org/show_bug.cgi?id=66296
  37454. Reviewed by Yury Semikhatsky.
  37455. * CMakeLists.txt:
  37456. * WebCore.gypi:
  37457. * WebCore.pro:
  37458. * WebCore.vcproj/WebCore.vcproj:
  37459. * WebCore.xcodeproj/project.pbxproj:
  37460. * inspector/EventsCollector.cpp: Removed.
  37461. * inspector/EventsCollector.h: Removed.
  37462. * inspector/Inspector.json:
  37463. * inspector/InspectorFrontendProxy.cpp: Removed.
  37464. * inspector/InspectorFrontendProxy.h: Removed.
  37465. * inspector/InspectorResourceAgent.cpp:
  37466. (WebCore::InspectorResourceAgent::setFrontend):
  37467. (WebCore::InspectorResourceAgent::clearFrontend):
  37468. (WebCore::InspectorResourceAgent::InspectorResourceAgent):
  37469. * inspector/InspectorResourceAgent.h:
  37470. * inspector/front-end/NetworkPanel.js:
  37471. (WebInspector.NetworkLogView):
  37472. 2011-08-16 Lindsay Mathieson <lindsay.mathieson@gmail.com>
  37473. [Qt] Missing spell check support
  37474. https://bugs.webkit.org/show_bug.cgi?id=44114
  37475. Reviewed by Benjamin Poulain.
  37476. Add drawErrorUnderline() from Cairo to render the line for text checking on the Qt port.
  37477. * platform/graphics/qt/GraphicsContextQt.cpp:
  37478. (WebCore::drawErrorUnderline):
  37479. (WebCore::GraphicsContext::drawLineForTextChecking):
  37480. 2011-08-15 MORITA Hajime <morrita@google.com>
  37481. REGRESSION(r70598): [Chromium] Style changes in textInput event can prevent from updating <textarea> value.
  37482. https://bugs.webkit.org/show_bug.cgi?id=66216
  37483. Reviewed by Ryosuke Niwa.
  37484. Element::spellcheckAttributeState() uses Element::hasAttribute(),
  37485. which calls updateStyleAttribute(), which potentially makes style
  37486. dirty. But that is problematic since Editor calls spellcheckAttributeState()
  37487. during the spell-checking phase and make the style dirty,
  37488. which can trigger re-layout, which wipes the shadow tree of a textarea
  37489. out by pre-committed "value" text.
  37490. This change removes the hasAttribute() call from
  37491. spellcheckAttributeState().
  37492. Test: editing/input/style-change-during-input.html
  37493. * dom/Element.cpp:
  37494. (WebCore::Element::spellcheckAttributeState):
  37495. 2011-08-15 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  37496. [CMAKE] Wrap files of websocket and worker in each macro.
  37497. https://bugs.webkit.org/show_bug.cgi?id=65012
  37498. Move files of web socket and workers into each macro block in CMakeList.txt.
  37499. And, header files related to WORKER and SHARED_WORKER are wrapped by macro in cpp files.
  37500. Reviewed by Daniel Bates.
  37501. * CMakeLists.txt:
  37502. * UseJSC.cmake:
  37503. * bindings/js/JSDOMWindowCustom.cpp:
  37504. * bindings/js/JSWorkerContextBase.cpp:
  37505. * bindings/js/ScriptState.cpp:
  37506. * bindings/js/WorkerScriptController.cpp:
  37507. 2011-08-15 Jeffrey Pfau <jpfau@apple.com>
  37508. New XML parser: add xml namespace to the default map of namespaces
  37509. https://bugs.webkit.org/show_bug.cgi?id=66266
  37510. Reviewed by Adam Barth.
  37511. * xml/parser/XMLTreeBuilder.cpp:
  37512. (WebCore::XMLTreeBuilder::NodeStackItem::NodeStackItem):
  37513. 2011-08-15 Hayato Ito <hayato@chromium.org>
  37514. Fix crash when mouse moves from <summary> element to parent <details> element.
  37515. https://bugs.webkit.org/show_bug.cgi?id=66210
  37516. Reviewed by Dimitri Glazkov.
  37517. This is a regression caused by r92922, which wrongly assumes that
  37518. a shadow host always has a shadow root as an immediate child in
  37519. ancestors chain. This assumption does not apply to <details>
  37520. element. <details> element is implemented as a shadow host, but
  37521. may have a <summary> element as an immediate child element in
  37522. ancestors chain.
  37523. Test: fast/dom/shadow/details-summary-mouseover.html
  37524. * dom/EventDispatcher.cpp:
  37525. (WebCore::EventDispatcher::adjustToShadowBoundaries):
  37526. 2011-08-15 Jeffrey Pfau <jpfau@apple.com>
  37527. New XML parser: Use xmlnsAtom instead of redundant xmlnsPrefix
  37528. https://bugs.webkit.org/show_bug.cgi?id=66264
  37529. Reviewed by Adam Barth.
  37530. * xml/parser/XMLTreeBuilder.cpp:
  37531. (WebCore::XMLTreeBuilder::processNamespaces):
  37532. (WebCore::XMLTreeBuilder::processAttributes):
  37533. 2011-08-15 Emil A Eklund <eae@chromium.org>
  37534. Switch Element/Node to to new layout types
  37535. https://bugs.webkit.org/show_bug.cgi?id=66260
  37536. Reviewed by Eric Seidel.
  37537. Convert Element, Node, ElementRareData and ContainerNode to new layout
  37538. abstraction as a part of the ongoing conversion work.
  37539. No new tests, no new functionality.
  37540. * dom/ContainerNode.cpp:
  37541. (WebCore::ContainerNode::getLowerRightCorner):
  37542. (WebCore::ContainerNode::getRect):
  37543. * dom/ContainerNode.h:
  37544. * dom/Element.cpp:
  37545. (WebCore::Element::scrollIntoView):
  37546. (WebCore::Element::scrollIntoViewIfNeeded):
  37547. (WebCore::adjustForLocalZoom):
  37548. (WebCore::Element::boundsInWindowSpace):
  37549. (WebCore::Element::getClientRects):
  37550. (WebCore::Element::getBoundingClientRect):
  37551. (WebCore::Element::screenRect):
  37552. (WebCore::Element::minimumSizeForResizing):
  37553. (WebCore::Element::setMinimumSizeForResizing):
  37554. * dom/Element.h:
  37555. * dom/ElementRareData.h:
  37556. * dom/Node.cpp:
  37557. (WebCore::Node::getRect):
  37558. (WebCore::Node::renderRect):
  37559. (WebCore::Node::hasNonEmptyBoundingBox):
  37560. * dom/Node.h:
  37561. 2011-08-15 Alexey Proskuryakov <ap@apple.com>
  37562. Regional indicator symbols that are combined should behave as a single character when editing
  37563. https://bugs.webkit.org/show_bug.cgi?id=65395
  37564. Reviewed by Dan Bernstein.
  37565. Part one: make backspace work.
  37566. Test: editing/deleting/regional-indicators.html
  37567. * rendering/RenderText.cpp:
  37568. (WebCore::isRegionalIndicator):
  37569. (WebCore::RenderText::previousOffsetForBackwardDeletion): Added a special case for regional
  37570. indicator symbols.
  37571. 2011-08-15 Jeffrey Pfau <jpfau@apple.com>
  37572. New XML parser: Re-entering a character node should not clobber the buffered characters
  37573. https://bugs.webkit.org/show_bug.cgi?id=66257
  37574. Reviewed by Adam Barth.
  37575. * xml/parser/XMLTreeBuilder.cpp:
  37576. (WebCore::XMLTreeBuilder::enterText):
  37577. 2011-08-15 Dmitry Titov <dimich@chromium.org>
  37578. FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
  37579. https://bugs.webkit.org/show_bug.cgi?id=66165
  37580. Reviewed by Darin Fisher.
  37581. No new tests since no change in behavior.
  37582. The original issue is only reproducible on Chromium in multi-process mode
  37583. and is tested there by a browsertest.
  37584. * loader/DocumentLoader.cpp:
  37585. (WebCore::DocumentLoader::transferLoadingResourcesFromPage):
  37586. Passing ResourceLoader* into the FrameLoaderClient notification.
  37587. Also, fixed the bug where the same ResourceRequest was passed for all subresources.
  37588. * loader/EmptyClients.h:
  37589. (WebCore::EmptyFrameLoaderClient::transferLoadingResourceFromPage):
  37590. * loader/FrameLoader.cpp:
  37591. (WebCore::FrameLoader::dispatchTransferLoadingResourceFromPage):
  37592. * loader/FrameLoader.h:
  37593. * loader/FrameLoaderClient.h:
  37594. * loader/ResourceLoadNotifier.cpp:
  37595. (WebCore::ResourceLoadNotifier::dispatchTransferLoadingResourceFromPage):
  37596. * loader/ResourceLoadNotifier.h:
  37597. * loader/ResourceLoader.cpp:
  37598. (WebCore::ResourceLoader::init):
  37599. * loader/ResourceLoader.h:
  37600. (WebCore::ResourceLoader::originalRequest): Added the originalRequest() accessor that
  37601. returns the request as it existed before redirects (but after client's will SendRequest).
  37602. This is to be able to pass the original request for loading subresources into
  37603. FrameLoaderClient::transferLoadingResourceFromPage, since that one is used to invoke
  37604. assignIdentifierToInitialRequest, which needs original request.
  37605. 2011-08-15 Mark Hahnenberg <mhahnenberg@apple.com>
  37606. Refactor JS objects to allocate in static create methods rather than constructors
  37607. https://bugs.webkit.org/show_bug.cgi?id=65347
  37608. Reviewed by Geoffrey Garen.
  37609. No new tests.
  37610. Removed all calls to deprecatedGetDOMObject from initialization lists as part of a
  37611. larger refactoring to get rid of all allocation during initialization.
  37612. * bindings/js/JSDOMBinding.h:
  37613. * bridge/c/CRuntimeObject.cpp:
  37614. (JSC::Bindings::CRuntimeObject::CRuntimeObject):
  37615. * bridge/c/CRuntimeObject.h:
  37616. (JSC::Bindings::CRuntimeObject::create):
  37617. * bridge/c/c_instance.cpp:
  37618. (JSC::Bindings::CRuntimeMethod::create):
  37619. (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
  37620. * bridge/jni/jsc/JavaInstanceJSC.cpp:
  37621. (JavaRuntimeMethod::create):
  37622. (JavaRuntimeMethod::JavaRuntimeMethod):
  37623. * bridge/jni/jsc/JavaRuntimeObject.cpp:
  37624. (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
  37625. * bridge/jni/jsc/JavaRuntimeObject.h:
  37626. (JSC::Bindings::JavaRuntimeObject::create):
  37627. * bridge/objc/objc_runtime.h:
  37628. (JSC::Bindings::ObjcFallbackObjectImp::create):
  37629. * bridge/objc/objc_runtime.mm:
  37630. (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
  37631. * bridge/qt/qt_instance.cpp:
  37632. (JSC::Bindings::QtRuntimeObject::create):
  37633. (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
  37634. * bridge/qt/qt_pixmapruntime.cpp:
  37635. (JSC::Bindings::QtPixmapRuntimeObject::create):
  37636. (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
  37637. * bridge/qt/qt_runtime.cpp:
  37638. (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
  37639. (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
  37640. (JSC::Bindings::QtRuntimeConnectionMethod::QtRuntimeConnectionMethod):
  37641. * bridge/qt/qt_runtime.h:
  37642. (JSC::Bindings::QtRuntimeMetaMethod::create):
  37643. (JSC::Bindings::QtRuntimeConnectionMethod::create):
  37644. * bridge/runtime_array.cpp:
  37645. (JSC::RuntimeArray::RuntimeArray):
  37646. * bridge/runtime_array.h:
  37647. (JSC::RuntimeArray::create):
  37648. * bridge/runtime_object.cpp:
  37649. 2011-08-15 Adam Roben <aroben@apple.com>
  37650. Update pages' style and content scale when the window's backing scale factor changes
  37651. Unfortunately, I couldn't think of a way to test this in an automated fashion.
  37652. Fixes <http://webkit.org/b/66229> <rdar://problem/9906269> WebKit doesn't react to device
  37653. scale factor changes
  37654. Reviewed by Simon Fraser.
  37655. * WebCore.exp.in: Export Frame::deviceOrScaleFactorChanged.
  37656. * page/Frame.cpp:
  37657. (WebCore::Frame::deviceScaleFactorChanged):
  37658. * page/Frame.h:
  37659. Added this new function. We recalc style so that, e.g., device-scale-factor-dependent media
  37660. queries will be reevaluated, and we tell compositing layers about the new scale factor so
  37661. they can rerender at the new resolution.
  37662. 2011-08-15 Cary Clark <caryclark@google.com>
  37663. Revise Skia on Chrome Mac to return fallback fonts.
  37664. https://bugs.webkit.org/show_bug.cgi?id=62986
  37665. Reviewed by Darin Fisher.
  37666. Since Skia on Chrome Mac uses CoreText to determine
  37667. text metrics, CG font architecture is used to return
  37668. fallback fonts.
  37669. This improves many existing layout tests, including
  37670. justify-ideograph-simple and t0905-c414-flt-04-c
  37671. * platform/graphics/skia/FontSkia.cpp:
  37672. (WebCore::Font::canReturnFallbackFontsForComplexText):
  37673. 2011-08-15 Aaron Boodman <aa@chromium.org>
  37674. Pass additional details to client in didCreateIsolatedContext
  37675. https://bugs.webkit.org/show_bug.cgi?id=66037
  37676. Reviewed by Darin Fisher.
  37677. * bindings/v8/IsolatedWorld.cpp:
  37678. (WebCore::IsolatedWorld::IsolatedWorld):
  37679. * bindings/v8/IsolatedWorld.h:
  37680. (WebCore::IsolatedWorld::create):
  37681. (WebCore::IsolatedWorld::id):
  37682. * bindings/v8/V8IsolatedContext.cpp:
  37683. (WebCore::V8IsolatedContext::V8IsolatedContext):
  37684. * bindings/v8/V8IsolatedContext.h:
  37685. * bindings/v8/V8Proxy.cpp:
  37686. (WebCore::V8Proxy::evaluateInIsolatedWorld):
  37687. * loader/EmptyClients.h:
  37688. (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
  37689. * loader/FrameLoaderClient.h:
  37690. 2011-08-15 Chris Rogers <crogers@google.com>
  37691. Add shell implementation for Web Audio API's MediaElementAudioSourceNode
  37692. https://bugs.webkit.org/show_bug.cgi?id=66175
  37693. Reviewed by Kenneth Russell.
  37694. Test: webaudio/mediaelementaudiosourcenode.html
  37695. * DerivedSources.make:
  37696. * WebCore.gypi:
  37697. * WebCore.xcodeproj/project.pbxproj:
  37698. * html/HTMLMediaElement.idl:
  37699. * webaudio/AudioContext.cpp:
  37700. (WebCore::AudioContext::createMediaElementSource):
  37701. * webaudio/AudioContext.h:
  37702. * webaudio/AudioContext.idl:
  37703. * webaudio/AudioNode.h:
  37704. * webaudio/MediaElementAudioSourceNode.cpp: Added.
  37705. (WebCore::MediaElementAudioSourceNode::create):
  37706. (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
  37707. (WebCore::MediaElementAudioSourceNode::process):
  37708. (WebCore::MediaElementAudioSourceNode::reset):
  37709. * webaudio/MediaElementAudioSourceNode.h: Added.
  37710. (WebCore::MediaElementAudioSourceNode::mediaElement):
  37711. * webaudio/MediaElementAudioSourceNode.idl: Added.
  37712. 2011-08-15 Emil A Eklund <eae@chromium.org>
  37713. Switch mouse events to to new layout types
  37714. https://bugs.webkit.org/show_bug.cgi?id=66179
  37715. Reviewed by Eric Seidel.
  37716. Convert mouse events to new layout abstraction as a part of the ongoing
  37717. conversion work.
  37718. No new tests, no new functionality.
  37719. * dom/MouseRelatedEvent.cpp:
  37720. (WebCore::contentsScrollOffset):
  37721. (WebCore::MouseRelatedEvent::MouseRelatedEvent):
  37722. (WebCore::MouseRelatedEvent::initCoordinates):
  37723. (WebCore::MouseRelatedEvent::computePageLocation):
  37724. (WebCore::MouseRelatedEvent::computeRelativePosition):
  37725. (WebCore::MouseRelatedEvent::pageLocation):
  37726. * dom/MouseRelatedEvent.h:
  37727. (WebCore::MouseRelatedEvent::screenLocation):
  37728. (WebCore::MouseRelatedEvent::clientLocation):
  37729. (WebCore::MouseRelatedEvent::absoluteLocation):
  37730. (WebCore::MouseRelatedEvent::setAbsoluteLocation):
  37731. * page/EventHandler.cpp:
  37732. (WebCore::EventHandler::clear):
  37733. (WebCore::EventHandler::handleMousePressEventSingleClick):
  37734. (WebCore::selectionExtentRespectingEditingBoundary):
  37735. (WebCore::EventHandler::hitTestResultAtPoint):
  37736. (WebCore::EventHandler::currentMousePosition):
  37737. (WebCore::documentPointForWindowPoint):
  37738. (WebCore::EventHandler::handleMousePressEvent):
  37739. (WebCore::EventHandler::mouseMoved):
  37740. (WebCore::EventHandler::handleWheelEvent):
  37741. (WebCore::EventHandler::sendContextMenuEvent):
  37742. (WebCore::EventHandler::sendContextMenuEventForKey):
  37743. (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
  37744. (WebCore::EventHandler::dragHysteresisExceeded):
  37745. (WebCore::EventHandler::handleDrag):
  37746. (WebCore::EventHandler::handleTouchEvent):
  37747. * page/EventHandler.h:
  37748. * platform/PlatformMouseEvent.h:
  37749. (WebCore::PlatformMouseEvent::PlatformMouseEvent):
  37750. (WebCore::PlatformMouseEvent::pos):
  37751. (WebCore::PlatformMouseEvent::x):
  37752. (WebCore::PlatformMouseEvent::y):
  37753. (WebCore::PlatformMouseEvent::globalX):
  37754. (WebCore::PlatformMouseEvent::globalY):
  37755. * platform/mac/PlatformMouseEventMac.mm:
  37756. (WebCore::globalPoint):
  37757. (WebCore::pointForEvent):
  37758. (WebCore::globalPointForEvent):
  37759. 2011-08-15 Ryosuke Niwa <rniwa@webkit.org>
  37760. webkit-indent-blockquote is unnecessary
  37761. https://bugs.webkit.org/show_bug.cgi?id=66195
  37762. Reviewed by Tony Chang.
  37763. Stop adding class="webkit-indent-blockquote" on blockquotes created by execCommand('Indent') and
  37764. execCommand('Outdent'). Also removed the code to add the class attribute in ApplyBlockElementCommand
  37765. since no other class inherited from ApplyBlockElementCommand uses this feature.
  37766. * editing/ApplyBlockElementCommand.cpp:
  37767. (WebCore::ApplyBlockElementCommand::ApplyBlockElementCommand):
  37768. (WebCore::ApplyBlockElementCommand::createBlockElement):
  37769. * editing/ApplyBlockElementCommand.h:
  37770. * editing/IndentOutdentCommand.cpp:
  37771. (WebCore::IndentOutdentCommand::IndentOutdentCommand):
  37772. 2011-08-15 Levi Weintraub <leviw@chromium.org>
  37773. Switch remaining SVG Rendering methods to LayoutUnits
  37774. https://bugs.webkit.org/show_bug.cgi?id=66169
  37775. Reviewed by Eric Seidel.
  37776. Changing remaining integer SVG methods to use the LayoutUnits abstraction.
  37777. No tests as no change in functionality.
  37778. * rendering/svg/RenderSVGBlock.cpp:
  37779. (WebCore::RenderSVGBlock::visualOverflowRect):
  37780. * rendering/svg/RenderSVGBlock.h:
  37781. * rendering/svg/RenderSVGContainer.cpp:
  37782. (WebCore::RenderSVGContainer::paint):
  37783. * rendering/svg/RenderSVGForeignObject.cpp:
  37784. (WebCore::RenderSVGForeignObject::paint):
  37785. (WebCore::RenderSVGForeignObject::clippedOverflowRectForRepaint):
  37786. (WebCore::RenderSVGForeignObject::computeRectForRepaint):
  37787. * rendering/svg/RenderSVGHiddenContainer.cpp:
  37788. (WebCore::RenderSVGHiddenContainer::paint):
  37789. * rendering/svg/RenderSVGImage.cpp:
  37790. (WebCore::RenderSVGImage::paint):
  37791. * rendering/svg/RenderSVGInlineText.cpp:
  37792. (WebCore::RenderSVGInlineText::linesBoundingBox):
  37793. * rendering/svg/RenderSVGInlineText.h:
  37794. * rendering/svg/RenderSVGModelObject.cpp:
  37795. (WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
  37796. * rendering/svg/RenderSVGPath.cpp:
  37797. (WebCore::RenderSVGPath::paint):
  37798. * rendering/svg/RenderSVGRoot.cpp:
  37799. (WebCore::RenderSVGRoot::localToBorderBoxTransform):
  37800. (WebCore::RenderSVGRoot::parentOriginToBorderBox):
  37801. (WebCore::RenderSVGRoot::borderOriginToContentBox):
  37802. (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
  37803. (WebCore::RenderSVGRoot::localToParentTransform):
  37804. (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
  37805. (WebCore::RenderSVGRoot::computeRectForRepaint):
  37806. * rendering/svg/RenderSVGRoot.h:
  37807. * rendering/svg/RenderSVGText.cpp:
  37808. (WebCore::RenderSVGText::paint):
  37809. * rendering/svg/SVGInlineFlowBox.cpp:
  37810. (WebCore::SVGInlineFlowBox::paint):
  37811. * rendering/svg/SVGInlineTextBox.cpp:
  37812. (WebCore::SVGInlineTextBox::paint):
  37813. * rendering/svg/SVGRenderSupport.cpp:
  37814. (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint):
  37815. (WebCore::SVGRenderSupport::computeRectForRepaint):
  37816. * rendering/svg/SVGRenderSupport.h:
  37817. * rendering/svg/SVGRootInlineBox.cpp:
  37818. (WebCore::SVGRootInlineBox::paint):
  37819. (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
  37820. (WebCore::SVGRootInlineBox::layoutChildBoxes):
  37821. (WebCore::SVGRootInlineBox::layoutRootBox):
  37822. (WebCore::SVGRootInlineBox::closestLeafChildForPosition):
  37823. * rendering/svg/SVGRootInlineBox.h:
  37824. 2011-08-12 Jeff Miller <jeffm@apple.com>
  37825. MediaPlayerPrivateAVFoundationCF::playerItemStatus() should return MediaPlayerAVPlayerItemStatusDoesNotExist if there is no AVPlayerItem
  37826. https://bugs.webkit.org/show_bug.cgi?id=66171
  37827. MediaPlayerPrivateAVFoundationCF::playerItemStatus() should return MediaPlayerAVPlayerItemStatusDoesNotExist if there is no AVPlayerItem
  37828. to match the Mac implementation in MediaPlayerPrivateAVFoundationObjC. I also added better logging to notificationCallback().
  37829. Reviewed by Jon Honeycutt.
  37830. No new tests, uses existing media tests.
  37831. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp:
  37832. (WebCore::MediaPlayerPrivateAVFoundationCF::playerItemStatus): Return MediaPlayerAVPlayerItemStatusDoesNotExist if no AVPlayerItem.
  37833. (WebCore::AVFWrapper::notificationCallback): Log the name of the received notification.
  37834. 2011-08-15 Adam Roben <aroben@apple.com>
  37835. Rename an instance of pageScaleFactorChanged I missed in r93040
  37836. I tried to make a test for this but failed. It would probably have been easier if we dumped
  37837. layers' content scales in layerTreeAsText output.
  37838. Followup to <http://webkit.org/b/55787> WebKit uses multiple conflicting names to refer to
  37839. the device scale factor
  37840. * platform/graphics/ca/GraphicsLayerCA.cpp:
  37841. (WebCore::GraphicsLayerCA::deviceOrPageScaleFactorChanged):
  37842. * platform/graphics/ca/GraphicsLayerCA.h:
  37843. Renamed from pageScaleFactorChanged to match the base class.
  37844. 2011-08-15 Pavel Feldman <pfeldman@google.com>
  37845. Web Inspector: [V8] crash upon stepIn while not on pause.
  37846. https://bugs.webkit.org/show_bug.cgi?id=66221
  37847. Reviewed by Yury Semikhatsky.
  37848. * inspector/InspectorDebuggerAgent.cpp:
  37849. (WebCore::InspectorDebuggerAgent::resume):
  37850. (WebCore::InspectorDebuggerAgent::stepOver):
  37851. (WebCore::InspectorDebuggerAgent::stepInto):
  37852. (WebCore::InspectorDebuggerAgent::stepOut):
  37853. (WebCore::InspectorDebuggerAgent::assertPaused):
  37854. * inspector/InspectorDebuggerAgent.h:
  37855. * inspector/front-end/ScriptsPanel.js:
  37856. (WebInspector.ScriptsPanel.prototype._stepOverClicked):
  37857. (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
  37858. (WebInspector.ScriptsPanel.prototype._stepOutClicked):
  37859. 2011-08-15 Vsevolod Vlasov <vsevik@chromium.org>
  37860. Web Inspector: Network panel: display the current search match index in the toolbar.
  37861. https://bugs.webkit.org/show_bug.cgi?id=66051
  37862. Reviewed by Pavel Feldman.
  37863. * inspector/front-end/NetworkPanel.js:
  37864. (WebInspector.NetworkLogView.prototype._highlightNthMatchedResource):
  37865. (WebInspector.NetworkLogView.prototype.performSearch):
  37866. (WebInspector.NetworkPanel):
  37867. (WebInspector.NetworkPanel.prototype._onSearchCountUpdated):
  37868. (WebInspector.NetworkPanel.prototype._onSearchIndexUpdated):
  37869. 2011-08-10 Adam Roben <aroben@apple.com>
  37870. Clear up scale factor terminology
  37871. WebKit by and large deals with two scale factors: one intrinsic to the device on which the
  37872. software is running, and one that is per-Page and can be controlled via API calls. This
  37873. patch names the former "deviceScaleFactor" and the latter "pageScaleFactor", and makes the
  37874. code use those names. It should introduce no behavior changes.
  37875. Fixes <http://webkit.org/b/55787> WebKit uses multiple conflicting names to refer to the
  37876. device scale factor
  37877. Reviewed by Simon Fraser.
  37878. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
  37879. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  37880. Removed an unused member. This is unrelated to this patch.
  37881. * css/MediaQueryEvaluator.cpp:
  37882. * html/HTMLCanvasElement.cpp:
  37883. * html/HTMLCanvasElement.h:
  37884. * loader/EmptyClients.h:
  37885. * page/Chrome.cpp:
  37886. * page/Chrome.h:
  37887. * page/ChromeClient.h:
  37888. * page/DOMWindow.cpp:
  37889. * page/Frame.cpp:
  37890. * page/Frame.h:
  37891. * platform/graphics/GraphicsLayer.cpp:
  37892. * platform/graphics/GraphicsLayer.h:
  37893. * platform/graphics/GraphicsLayerClient.h:
  37894. * platform/graphics/ca/GraphicsLayerCA.cpp:
  37895. * rendering/RenderInline.cpp:
  37896. * rendering/RenderLayerBacking.cpp:
  37897. * rendering/RenderLayerBacking.h:
  37898. * rendering/RenderLayerCompositor.cpp:
  37899. * rendering/RenderLayerCompositor.h:
  37900. * rendering/RenderObject.cpp:
  37901. 2011-08-15 Oliver Varga <Varga.Oliver@stud.u-szeged.hu>
  37902. Reviewed by Nikolas Zimmermann.
  37903. Speed up SVGSMILElement::findInstanceTime.
  37904. https://bugs.webkit.org/show_bug.cgi?id=61025
  37905. Replace the linear search to binary search on ordered list because
  37906. the previous searches from the beginning was not efficient.
  37907. Out of index error fixed by Renata Hodovan.
  37908. No new tests this is only a performance tweak.
  37909. * svg/animation/SVGSMILElement.cpp:
  37910. (WebCore::extractTimeFromVector):
  37911. (WebCore::SVGSMILElement::findInstanceTime):
  37912. 2011-08-15 Hayato Ito <hayato@chromium.org>
  37913. Implement proper handling of focusin/focusout events in regard to shadow DOM boundaries.
  37914. https://bugs.webkit.org/show_bug.cgi?id=64249
  37915. Reviewed by Dimitri Glazkov.
  37916. Introduces FocusInEventDispatchMediator/FocusOutEventDispatchMediator so
  37917. that we can shrink ancestors of event target node considering shadow
  37918. DOM boundaries before dispatching focusin/focusout events.
  37919. Test: fast/dom/shadow/shadow-boundary-events.html
  37920. * dom/Document.cpp:
  37921. (WebCore::Document::setFocusedNode):
  37922. * dom/Node.cpp:
  37923. (WebCore::Node::dispatchFocusInEvent):
  37924. (WebCore::Node::dispatchFocusOutEvent):
  37925. (WebCore::Node::dispatchDOMActivateEvent):
  37926. (WebCore::Node::defaultEventHandler):
  37927. * dom/Node.h:
  37928. * dom/UIEvent.cpp:
  37929. (WebCore::FocusInEventDispatchMediator::create):
  37930. (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator):
  37931. (WebCore::FocusInEventDispatchMediator::dispatchEvent):
  37932. (WebCore::FocusOutEventDispatchMediator::create):
  37933. (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator):
  37934. (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
  37935. * dom/UIEvent.h:
  37936. 2011-08-15 Pavel Feldman <pfeldman@google.com>
  37937. Web Inspector: not all of the properties have valid descriptors on all platforms.
  37938. Includes PropertyDescriptor protocol documentation fixes.
  37939. https://bugs.webkit.org/show_bug.cgi?id=66215
  37940. Activations, LocalStorage and some other properties potentially don't have
  37941. valid property descriptors. InjectedScript should use conservative getter in order to
  37942. mitigate this.
  37943. Reviewed by Yury Semikhatsky.
  37944. * inspector/InjectedScriptSource.js:
  37945. * inspector/Inspector.json:
  37946. 2011-08-15 Pavel Feldman <pfeldman@google.com>
  37947. Web Inspector: context menu on the link in the console does not have standard link options.
  37948. https://bugs.webkit.org/show_bug.cgi?id=66214
  37949. Reviewed by Yury Semikhatsky.
  37950. * English.lproj/localizedStrings.js:
  37951. * inspector/front-end/ConsoleView.js:
  37952. * inspector/front-end/ElementsPanel.js:
  37953. * inspector/front-end/ElementsTreeOutline.js:
  37954. (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
  37955. * inspector/front-end/NetworkPanel.js:
  37956. (WebInspector.NetworkLogView.prototype._contextMenu):
  37957. * inspector/front-end/StylesSidebarPane.js:
  37958. (WebInspector.StylesSidebarPane.prototype._contextMenuEventFired):
  37959. * inspector/front-end/inspector.js:
  37960. (WebInspector.openLinkExternallyLabel):
  37961. (WebInspector.copyLinkAddressLabel):
  37962. (WebInspector.populateHrefContextMenu):
  37963. 2011-08-14 Pavel Feldman <pfeldman@chromium.org>
  37964. Web Inspector: showContextMenu missing in Remote DevTools
  37965. https://bugs.webkit.org/show_bug.cgi?id=63725
  37966. Reviewed by Yury Semikhatsky.
  37967. * WebCore.gypi:
  37968. * WebCore.vcproj/WebCore.vcproj:
  37969. * inspector/front-end/ConsoleView.js:
  37970. * inspector/front-end/SoftContextMenu.js: Added.
  37971. (.WebInspector.SoftContextMenu):
  37972. (.WebInspector.SoftContextMenu.prototype.show):
  37973. (.WebInspector.SoftContextMenu.prototype._createMenuItem):
  37974. (.WebInspector.SoftContextMenu.prototype._createSeparator):
  37975. (.WebInspector.SoftContextMenu.prototype._menuItemMouseDown):
  37976. (.WebInspector.SoftContextMenu.prototype._menuItemMouseUp):
  37977. (.WebInspector.SoftContextMenu.prototype._triggerAction):
  37978. (.WebInspector.SoftContextMenu.prototype._menuItemMouseOver):
  37979. (.WebInspector.SoftContextMenu.prototype._menuItemMouseOut):
  37980. (.WebInspector.SoftContextMenu.prototype._highlightMenuItem):
  37981. (.WebInspector.SoftContextMenu.prototype._highlightPrevious):
  37982. (.WebInspector.SoftContextMenu.prototype._highlightNext):
  37983. (.WebInspector.SoftContextMenu.prototype._menuKeyDown):
  37984. (.WebInspector.SoftContextMenu.prototype._glassPaneMouseUp):
  37985. (.WebInspector.SoftContextMenu.prototype._discardMenu):
  37986. (.InspectorFrontendHost.showContextMenu):
  37987. * inspector/front-end/WebKit.qrc:
  37988. * inspector/front-end/inspector.css:
  37989. (.soft-context-menu-glass-pane):
  37990. (.soft-context-menu):
  37991. (.soft-context-menu-item):
  37992. (.soft-context-menu-separator):
  37993. (.soft-context-menu-item-mouse-over):
  37994. * inspector/front-end/inspector.html:
  37995. 2011-08-13 Abhishek Arya <inferno@chromium.org>
  37996. Crash in HTMLTreeBuilder::processAnyOtherEndTagForInBody
  37997. https://bugs.webkit.org/show_bug.cgi?id=66187
  37998. Reviewed by Adam Barth.
  37999. RefPtr a few ContainerNodes to prevent premature deletion.
  38000. Test: fast/html/process-end-tag-for-inbody-crash.html
  38001. * html/parser/HTMLTreeBuilder.cpp:
  38002. (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
  38003. (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
  38004. (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
  38005. 2011-08-14 Kalev Lember <kalevlember@gmail.com>
  38006. Fix GTK Windows build after r92308.
  38007. https://bugs.webkit.org/show_bug.cgi?id=66140
  38008. Reviewed by Xan Lopez.
  38009. * config.h: Don't try to include WebCoreHeaderDetection.h for GTK.
  38010. 2011-08-13 Sam Weinig <sam@webkit.org>
  38011. Remove forward declaration of -[WebUndefined dealloc] to appease the bot gods.
  38012. * bindings/objc/WebScriptObject.mm:
  38013. 2011-08-13 Sam Weinig <sam@webkit.org>
  38014. Remove assertion from -[WebUndefined dealloc] to try to mollify the bots.
  38015. * bindings/objc/WebScriptObject.mm:
  38016. (-[WebUndefined dealloc]):
  38017. 2011-08-13 Sam Weinig <sam@webkit.org>
  38018. Remove unused variables from WebVideoFullscreenController.h
  38019. https://bugs.webkit.org/show_bug.cgi?id=66192
  38020. Reviewed by Dan Bernstein.
  38021. * platform/mac/WebVideoFullscreenController.h:
  38022. Remove _isWindowLoaded, _savedUIMode and _savedUIOptions which were not used.
  38023. 2011-08-13 Sam Weinig <sam@webkit.org>
  38024. Fix incorrect objective-c initialize in WebCore
  38025. https://bugs.webkit.org/show_bug.cgi?id=66191
  38026. Reviewed by David Kilzer.
  38027. * accessibility/mac/AccessibilityObjectWrapper.mm:
  38028. (-[AccessibilityObjectWrapper initWithAccessibilityObject:]):
  38029. * rendering/RenderThemeMac.mm:
  38030. (-[WebCoreRenderThemeNotificationObserver initWithTheme:WebCore::]):
  38031. Correctly initialize by assigning to self and nil checking the result.
  38032. 2011-08-13 Adam Barth <abarth@webkit.org>
  38033. Fix clang build.
  38034. * platform/chromium/PopupMenuChromium.h:
  38035. 2011-08-13 David Kilzer <ddkilzer@apple.com>
  38036. <http://webkit.org/b/66188> WebCore.xcodeproj has duplicate entries again
  38037. Reviewed by Dan Bernstein.
  38038. * WebCore.xcodeproj/project.pbxproj: Remove duplicate entries
  38039. by using uniq. Originally noticed by Xcode 4.
  38040. 2011-08-12 Dan Bernstein <mitz@apple.com>
  38041. <rdar://problem/7337717> Add an option to automatically show tooltips (with the full text) over truncated text
  38042. https://bugs.webkit.org/show_bug.cgi?id=66178
  38043. Reviewed by Simon Fraser.
  38044. * WebCore.exp.in: Export setShowsToolTipOverTruncatedText().
  38045. * page/Chrome.cpp:
  38046. (WebCore::Chrome::setToolTip): If no title is found, and the page is set to show tooltips over
  38047. truncated text, try to set the tooltip to the full text of the truncated text, if any.
  38048. * page/Settings.cpp:
  38049. (WebCore::Settings::Settings): Initialize new member variable.
  38050. (WebCore::Settings::setShowsToolTipOverTruncatedText): Added this setter.
  38051. * page/Settings.h:
  38052. (WebCore::Settings::showsToolTipOverTruncatedText): Added this getter.
  38053. * rendering/HitTestResult.cpp:
  38054. (WebCore::HitTestResult::innerTextIfTruncated): Added. If the inner node or its nearest enclosing
  38055. block has text-overflow: ellipsis and has truncated lines, return the node’s (full) inner text.
  38056. * rendering/HitTestResult.h:
  38057. * rendering/RootInlineBox.h:
  38058. (WebCore::RootInlineBox::hasEllipsisBox): Made this public.
  38059. 2011-08-12 Stephen White <senorblanco@chromium.org>
  38060. Ownership of canvas's GraphicsContext3D should be moved to PlatformContextSkia
  38061. https://bugs.webkit.org/show_bug.cgi?id=66154
  38062. Reviewed by Kenneth Russell.
  38063. Covered by existing tests in fast/canvas and canvas/philip.
  38064. * html/canvas/CanvasRenderingContext2D.cpp:
  38065. (WebCore::CanvasRenderingContext2D::isAccelerated):
  38066. Plumb this call through GraphicsContext::isAcceleratedContext().
  38067. (WebCore::CanvasRenderingContext2D::paintsIntoCanvasBuffer):
  38068. For the ACCELERATED_2D_CANVAS path, plumb this call through
  38069. (the new) GraphicsContext::paintsIntoCanvasBuffer().
  38070. (WebCore::CanvasRenderingContext2D::clearAcceleration):
  38071. (WebCore::CanvasRenderingContext2D::resetAcceleration):
  38072. Remove the use of the m_context3D member; use a temporary instead.
  38073. * html/canvas/CanvasRenderingContext2D.h:
  38074. Remove the m_context3D member.
  38075. * platform/graphics/GraphicsContext.cpp:
  38076. (WebCore::GraphicsContext::isAcceleratedContext):
  38077. (WebCore::GraphicsContext::paintsIntoImageBuffer):
  38078. Implement stub versions of these functions for other platforms.
  38079. * platform/graphics/GraphicsContext.h:
  38080. Expose isAcceleratedContext() to all platforms. Add
  38081. paintsIntoImageBuffer() member function.
  38082. * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
  38083. (WebCore::SharedGraphicsContext3D::create):
  38084. * platform/graphics/gpu/SharedGraphicsContext3D.h:
  38085. * platform/graphics/skia/GraphicsContextSkia.cpp:
  38086. (WebCore::GraphicsContext::setGraphicsContext3D):
  38087. (WebCore::GraphicsContext::isAcceleratedContext):
  38088. (WebCore::GraphicsContext::paintsIntoImageBuffer):
  38089. Basically gut this class leaving only a static creation function.
  38090. * platform/graphics/skia/ImageSkia.cpp:
  38091. (WebCore::paintSkBitmap):
  38092. (WebCore::Image::drawPattern):
  38093. Use isAccelerated() in place of useSkiaGpu().
  38094. * platform/graphics/skia/PlatformContextSkia.cpp:
  38095. (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
  38096. (WebCore::PlatformContextSkia::paintsIntoImageBuffer):
  38097. * platform/graphics/skia/PlatformContextSkia.h:
  38098. (WebCore::PlatformContextSkia::isAccelerated):
  38099. Rename useSkiaGpu() to isAccelerated(). Plumb through
  38100. paintsIntoImageBuffer() to GraphicsContext3D.
  38101. 2011-08-12 Sam Weinig <sam@webkit.org>
  38102. Use __builtin_trap() for CRASH when building with clang
  38103. https://bugs.webkit.org/show_bug.cgi?id=66152
  38104. Reviewed by Anders Carlsson.
  38105. * bindings/js/SerializedScriptValue.cpp:
  38106. (WebCore::CloneBase::fail):
  38107. * bindings/objc/WebScriptObject.mm:
  38108. * platform/mac/BlockExceptions.h:
  38109. * platform/text/cf/StringImplCF.cpp:
  38110. Add NO_RETURN_DUE_TO_ASSERT.
  38111. * bridge/IdentifierRep.h:
  38112. Don't define the destructor since it is never called,
  38113. 2011-08-12 Joseph Pecoraro <joepeck@webkit.org>
  38114. Abandoned Memory: Temporary CSS Fonts May Never Be Purged
  38115. https://bugs.webkit.org/show_bug.cgi?id=66153
  38116. Reviewed by Dan Bernstein.
  38117. No new tests, this is not a functional change.
  38118. * css/CSSFontFaceSource.cpp:
  38119. (WebCore::CSSFontFaceSource::getFontData):
  38120. If the CSS font-face is loading from a URL then immediately
  38121. fallback to a system font matching the description, since we
  38122. cannot determine a reasonable family name from the m_string
  38123. URL. The URL could be a dataURI.
  38124. 2011-08-12 Fady Samuel <fsamuel@chromium.org>
  38125. Refactoring of PopupMenuChromium For Readability and Maintainability
  38126. https://bugs.webkit.org/show_bug.cgi?id=66009
  38127. Reviewed by Darin Fisher.
  38128. Split PopupMenuChromium into three sets of files: PopupMenuChromium.{h|cpp}, PopupContainer.{h|cpp},
  38129. and PopupLisBox.{h|cpp} for readability and maintainability.
  38130. No new tests as there's no change in functionality.
  38131. * WebCore.gypi:
  38132. * platform/chromium/PopupContainer.cpp: Added.
  38133. (WebCore::constructRelativeMouseEvent):
  38134. (WebCore::constructRelativeWheelEvent):
  38135. (WebCore::PopupContainer::create):
  38136. (WebCore::PopupContainer::PopupContainer):
  38137. (WebCore::PopupContainer::~PopupContainer):
  38138. (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
  38139. (WebCore::PopupContainer::showPopup):
  38140. (WebCore::PopupContainer::hidePopup):
  38141. (WebCore::PopupContainer::notifyPopupHidden):
  38142. (WebCore::PopupContainer::layoutAndGetRTLOffset):
  38143. (WebCore::PopupContainer::handleMouseDownEvent):
  38144. (WebCore::PopupContainer::handleMouseMoveEvent):
  38145. (WebCore::PopupContainer::handleMouseReleaseEvent):
  38146. (WebCore::PopupContainer::handleWheelEvent):
  38147. (WebCore::PopupContainer::handleTouchEvent):
  38148. (WebCore::PopupContainer::handleGestureEvent):
  38149. (WebCore::PopupContainer::handleKeyEvent):
  38150. (WebCore::PopupContainer::hide):
  38151. (WebCore::PopupContainer::paint):
  38152. (WebCore::PopupContainer::paintBorder):
  38153. (WebCore::PopupContainer::isInterestedInEventForKey):
  38154. (WebCore::PopupContainer::chromeClientChromium):
  38155. (WebCore::PopupContainer::showInRect):
  38156. (WebCore::PopupContainer::refresh):
  38157. (WebCore::PopupContainer::isRTL):
  38158. (WebCore::PopupContainer::selectedIndex):
  38159. (WebCore::PopupContainer::menuItemHeight):
  38160. (WebCore::PopupContainer::menuItemFontSize):
  38161. (WebCore::PopupContainer::menuStyle):
  38162. (WebCore::popupData):
  38163. (WebCore::PopupContainer::getSelectedItemToolTip):
  38164. * platform/chromium/PopupContainer.h: Added.
  38165. (WebCore::PopupContainer::listBox):
  38166. (WebCore::PopupContainer::popupType):
  38167. * platform/chromium/PopupListBox.cpp: Added.
  38168. (WebCore::PopupListBox::PopupListBox):
  38169. (WebCore::PopupListBox::handleMouseDownEvent):
  38170. (WebCore::PopupListBox::handleMouseMoveEvent):
  38171. (WebCore::PopupListBox::handleMouseReleaseEvent):
  38172. (WebCore::PopupListBox::handleWheelEvent):
  38173. (WebCore::PopupListBox::isInterestedInEventForKey):
  38174. (WebCore::PopupListBox::handleTouchEvent):
  38175. (WebCore::PopupListBox::handleGestureEvent):
  38176. (WebCore::isCharacterTypeEvent):
  38177. (WebCore::PopupListBox::handleKeyEvent):
  38178. (WebCore::PopupListBox::hostWindow):
  38179. (WebCore::stripLeadingWhiteSpace):
  38180. (WebCore::PopupListBox::typeAheadFind):
  38181. (WebCore::PopupListBox::paint):
  38182. (WebCore::PopupListBox::paintRow):
  38183. (WebCore::PopupListBox::getRowFont):
  38184. (WebCore::PopupListBox::abandon):
  38185. (WebCore::PopupListBox::pointToRowIndex):
  38186. (WebCore::PopupListBox::acceptIndex):
  38187. (WebCore::PopupListBox::selectIndex):
  38188. (WebCore::PopupListBox::setOriginalIndex):
  38189. (WebCore::PopupListBox::getRowHeight):
  38190. (WebCore::PopupListBox::getRowBounds):
  38191. (WebCore::PopupListBox::invalidateRow):
  38192. (WebCore::PopupListBox::scrollToRevealRow):
  38193. (WebCore::PopupListBox::isSelectableItem):
  38194. (WebCore::PopupListBox::clearSelection):
  38195. (WebCore::PopupListBox::selectNextRow):
  38196. (WebCore::PopupListBox::selectPreviousRow):
  38197. (WebCore::PopupListBox::adjustSelectedIndex):
  38198. (WebCore::PopupListBox::hidePopup):
  38199. (WebCore::PopupListBox::updateFromElement):
  38200. (WebCore::PopupListBox::setMaxWidthAndLayout):
  38201. (WebCore::PopupListBox::layout):
  38202. (WebCore::PopupListBox::clear):
  38203. (WebCore::PopupListBox::isPointInBounds):
  38204. * platform/chromium/PopupListBox.h: Added.
  38205. (WebCore::PopupItem::PopupItem):
  38206. (WebCore::PopupListBox::create):
  38207. (WebCore::PopupListBox::selectedIndex):
  38208. (WebCore::PopupListBox::numItems):
  38209. (WebCore::PopupListBox::setBaseWidth):
  38210. (WebCore::PopupListBox::setMaxHeight):
  38211. (WebCore::PopupListBox::setMaxWidth):
  38212. (WebCore::PopupListBox::disconnectClient):
  38213. (WebCore::PopupListBox::items):
  38214. (WebCore::PopupListBox::~PopupListBox):
  38215. (WebCore::PopupListBox::scrollToRevealSelection):
  38216. * platform/chromium/PopupMenuChromium.cpp:
  38217. * platform/chromium/PopupMenuChromium.h:
  38218. 2011-08-12 Mark Rowe <mrowe@apple.com>
  38219. Be more forward-looking in the choice of compiler.
  38220. Rubber-stamped by Jon Honeycutt.
  38221. * Configurations/CompilerVersion.xcconfig:
  38222. 2011-08-12 Nat Duca <nduca@chromium.org>
  38223. [chromium] Fix comile warning on CCLayerTreeHost
  38224. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  38225. (WebCore::CCLayerTreeHost::CCLayerTreeHost):
  38226. 2011-08-12 Ryosuke Niwa <rniwa@webkit.org>
  38227. Apple-style-span class seems unnecessary
  38228. https://bugs.webkit.org/show_bug.cgi?id=12248
  38229. Reviewed by Justin Garcia.
  38230. Stop generating span or font elements with class="Apple-style-span" given WebKit's editing component
  38231. no longer depends on Apple-style-span since r92823 removed the dependency of copy and paste code on
  38232. style spans. WebKit continues to recognize Apple style spans to remove them.
  38233. Also renamed isSpanWithoutAttributesOrUnstyleStyleSpan to isSpanWithoutAttributesOrUnstyle*d*StyleSpan.
  38234. * editing/ApplyStyleCommand.cpp:
  38235. (WebCore::isLegacyAppleStyleSpan): Renamed from isStyleSpan.
  38236. (WebCore::isSpanWithoutAttributesOrUnstyledStyleSpan): Renamed from isSpanWithoutAttributesOr*Unstyle*StyleSpan.
  38237. (WebCore::createFontElement): No longer adds class="Apple-style-span".
  38238. (WebCore::createStyleSpanElement): Ditto.
  38239. (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Calls isSpanWithoutAttributesOrUnstyleStyleSpan
  38240. instead of isUnstyledStyleSpan since there won't be any Apple style spans.
  38241. (WebCore::dummySpanAncestorForNode):
  38242. (WebCore::ApplyStyleCommand::cleanupUnstyledAppleStyleSpans): Ditto.
  38243. (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Ditto.
  38244. (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
  38245. (WebCore::ApplyStyleCommand::removeCSSStyle):
  38246. * editing/ApplyStyleCommand.h:
  38247. * editing/EditingStyle.cpp:
  38248. (WebCore::EditingStyle::removeStyleFromRulesAndContext): Ditto.
  38249. * editing/ReplaceSelectionCommand.cpp:
  38250. (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline): Calls isLegacyAppleStyleSpan instead
  38251. of isStyleSpan.
  38252. (WebCore::handleStyleSpansBeforeInsertion): Ditto.
  38253. (WebCore::ReplaceSelectionCommand::handleStyleSpans): Ditto.
  38254. (WebCore::ReplaceSelectionCommand::doApply): Ditto.
  38255. * editing/markup.cpp:
  38256. (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag): No longer adds class="Apple-style-span".
  38257. 2011-08-12 Nat Duca <nduca@chromium.org>
  38258. [chromium] Fix compositor breakage due to duplicate context creation AND by context-lost
  38259. https://bugs.webkit.org/show_bug.cgi?id=66168
  38260. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  38261. (WebCore::CCLayerTreeHost::CCLayerTreeHost):
  38262. (WebCore::CCLayerTreeHost::initialize):
  38263. 2011-08-12 Levi Weintraub <leviw@chromium.org>
  38264. Switch RenderMenuList, RenderListBox, and RenderFieldSet to new layout units
  38265. https://bugs.webkit.org/show_bug.cgi?id=66149
  38266. Reviewed by Eric Seidel.
  38267. Changing RenderMenuList, RenderListBox, and RenderFieldSet to the LayoutUnit
  38268. abstraction from ints.
  38269. No tests as no change in functionality.
  38270. * rendering/RenderFieldset.cpp:
  38271. (WebCore::RenderFieldset::layoutSpecialExcludedChild):
  38272. * rendering/RenderListBox.cpp:
  38273. (WebCore::RenderListBox::numVisibleItems):
  38274. (WebCore::RenderListBox::listHeight):
  38275. (WebCore::RenderListBox::baselinePosition):
  38276. (WebCore::RenderListBox::itemBoundingBoxRect):
  38277. (WebCore::itemOffsetForAlignment):
  38278. (WebCore::RenderListBox::panScroll):
  38279. (WebCore::RenderListBox::scrollToward):
  38280. (WebCore::RenderListBox::autoscroll):
  38281. (WebCore::RenderListBox::scrollSize):
  38282. (WebCore::RenderListBox::scrollPosition):
  38283. (WebCore::RenderListBox::setScrollOffset):
  38284. (WebCore::RenderListBox::itemHeight):
  38285. (WebCore::RenderListBox::verticalScrollbarWidth):
  38286. (WebCore::RenderListBox::scrollWidth):
  38287. (WebCore::RenderListBox::scrollHeight):
  38288. (WebCore::RenderListBox::scrollLeft):
  38289. (WebCore::RenderListBox::setScrollLeft):
  38290. (WebCore::RenderListBox::scrollTop):
  38291. (WebCore::RenderListBox::setScrollTop):
  38292. (WebCore::RenderListBox::controlClipRect):
  38293. (WebCore::RenderListBox::invalidateScrollbarRect):
  38294. (WebCore::RenderListBox::convertFromScrollbarToContainingView):
  38295. (WebCore::RenderListBox::convertFromContainingViewToScrollbar):
  38296. (WebCore::RenderListBox::contentsSize):
  38297. (WebCore::RenderListBox::currentMousePosition):
  38298. * rendering/RenderListBox.h:
  38299. (WebCore::RenderListBox::scrollCornerRect):
  38300. (WebCore::RenderListBox::invalidateScrollCornerRect):
  38301. * rendering/RenderMenuList.cpp:
  38302. (WebCore::RenderMenuList::controlClipRect):
  38303. (WebCore::RenderMenuList::showPopup):
  38304. * rendering/RenderMenuList.h:
  38305. 2011-08-12 David Hyatt <hyatt@apple.com>
  38306. https://bugs.webkit.org/show_bug.cgi?id=66133
  38307. Make hit testing work on RenderRegions. Pass off the hit testing to the RenderFlowThread
  38308. layer tree (just as we did with painting).
  38309. Reviewed by Sam Weinig.
  38310. Added hit-test-float.html to demonstrate basic hit testing of content flowed into regions.
  38311. * rendering/HitTestRequest.h:
  38312. (WebCore::HitTestRequest::type):
  38313. * rendering/RenderFlowThread.cpp:
  38314. (WebCore::RenderFlowThread::hitTestRegion):
  38315. * rendering/RenderFlowThread.h:
  38316. * rendering/RenderRegion.cpp:
  38317. (WebCore::RenderRegion::paintReplaced):
  38318. (WebCore::RenderRegion::nodeAtPoint):
  38319. * rendering/RenderRegion.h:
  38320. 2011-08-12 Levi Weintraub <leviw@chromium.org>
  38321. Switch RenderTable* to new layout types
  38322. https://bugs.webkit.org/show_bug.cgi?id=66146
  38323. Reviewed by Eric Seidel.
  38324. Converting RenderTable* classes to new LayoutUnits from ints.
  38325. No new tests as no new functionality.
  38326. * rendering/RenderTable.cpp:
  38327. (WebCore::RenderTable::firstLineBoxBaseline):
  38328. (WebCore::RenderTable::overflowClipRect):
  38329. * rendering/RenderTable.h:
  38330. (WebCore::RenderTable::columnPositions):
  38331. * rendering/RenderTableCol.cpp:
  38332. (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
  38333. * rendering/RenderTableRow.cpp:
  38334. (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
  38335. * rendering/RenderTableSection.cpp:
  38336. (WebCore::RenderTableSection::setCellLogicalWidths):
  38337. (WebCore::RenderTableSection::calcRowLogicalHeight):
  38338. (WebCore::RenderTableSection::layoutRows):
  38339. (WebCore::RenderTableSection::calcOuterBorderBefore):
  38340. (WebCore::RenderTableSection::calcOuterBorderAfter):
  38341. (WebCore::RenderTableSection::calcOuterBorderStart):
  38342. (WebCore::RenderTableSection::calcOuterBorderEnd):
  38343. (WebCore::RenderTableSection::firstLineBoxBaseline):
  38344. (WebCore::RenderTableSection::paintObject):
  38345. (WebCore::RenderTableSection::nodeAtPoint):
  38346. * rendering/RenderTableSection.h:
  38347. (WebCore::RenderTableSection::outerBorderBefore):
  38348. (WebCore::RenderTableSection::outerBorderAfter):
  38349. (WebCore::RenderTableSection::outerBorderStart):
  38350. (WebCore::RenderTableSection::outerBorderEnd):
  38351. (WebCore::RenderTableSection::getBaseline):
  38352. 2011-08-12 Adam Bergkvist <adam.bergkvist@ericsson.com>
  38353. Reviewed by Alexey Proskuryakov.
  38354. EventSource loader should not buffer data
  38355. https://bugs.webkit.org/show_bug.cgi?id=61863
  38356. Disabled buffering in the EventSource loader.
  38357. Added a manual test.
  38358. * manual-tests/eventsource/eventsource-loader-buffering.html: Added.
  38359. * manual-tests/eventsource/eventsource-loader-buffering.php: Added.
  38360. * page/EventSource.cpp:
  38361. (WebCore::EventSource::connect):
  38362. 2011-08-11 Pratik Solanki <psolanki@apple.com>
  38363. ResourceLoader::didReceiveDataArray() does not handle m_shouldBufferData correctly
  38364. https://bugs.webkit.org/show_bug.cgi?id=65926
  38365. Reviewed by Alexey Proskuryakov.
  38366. * loader/mac/ResourceLoaderMac.mm:
  38367. (WebCore::ResourceLoader::didReceiveDataArray): Make sure we call the client callbacks when
  38368. m_shouldBufferData is set to false.
  38369. 2011-08-12 Sheriff Bot <webkit.review.bot@gmail.com>
  38370. Unreviewed, rolling out r92976.
  38371. http://trac.webkit.org/changeset/92976
  38372. https://bugs.webkit.org/show_bug.cgi?id=66159
  38373. Does not compile on chromium-win (Requested by abarth|gardener
  38374. on #webkit).
  38375. * WebCore.gypi:
  38376. * platform/chromium/PopupContainer.cpp: Removed.
  38377. * platform/chromium/PopupContainer.h: Removed.
  38378. * platform/chromium/PopupListBox.cpp: Removed.
  38379. * platform/chromium/PopupListBox.h: Removed.
  38380. * platform/chromium/PopupMenuChromium.cpp:
  38381. (WebCore::PopupListBox::create):
  38382. (WebCore::PopupListBox::selectedIndex):
  38383. (WebCore::PopupListBox::numItems):
  38384. (WebCore::PopupListBox::setBaseWidth):
  38385. (WebCore::PopupListBox::setMaxHeight):
  38386. (WebCore::PopupListBox::setMaxWidth):
  38387. (WebCore::PopupListBox::disconnectClient):
  38388. (WebCore::PopupListBox::items):
  38389. (WebCore::PopupListBox::PopupListBox):
  38390. (WebCore::PopupListBox::~PopupListBox):
  38391. (WebCore::PopupListBox::scrollToRevealSelection):
  38392. (WebCore::constructRelativeMouseEvent):
  38393. (WebCore::constructRelativeWheelEvent):
  38394. (WebCore::PopupContainer::create):
  38395. (WebCore::PopupContainer::PopupContainer):
  38396. (WebCore::PopupContainer::~PopupContainer):
  38397. (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
  38398. (WebCore::PopupContainer::showPopup):
  38399. (WebCore::PopupContainer::hidePopup):
  38400. (WebCore::PopupContainer::notifyPopupHidden):
  38401. (WebCore::PopupContainer::layoutAndGetRTLOffset):
  38402. (WebCore::PopupContainer::handleMouseDownEvent):
  38403. (WebCore::PopupContainer::handleMouseMoveEvent):
  38404. (WebCore::PopupContainer::handleMouseReleaseEvent):
  38405. (WebCore::PopupContainer::handleWheelEvent):
  38406. (WebCore::PopupContainer::handleTouchEvent):
  38407. (WebCore::PopupContainer::handleGestureEvent):
  38408. (WebCore::PopupContainer::handleKeyEvent):
  38409. (WebCore::PopupContainer::hide):
  38410. (WebCore::PopupContainer::paint):
  38411. (WebCore::PopupContainer::paintBorder):
  38412. (WebCore::PopupContainer::isInterestedInEventForKey):
  38413. (WebCore::PopupContainer::chromeClientChromium):
  38414. (WebCore::PopupContainer::showInRect):
  38415. (WebCore::PopupContainer::refresh):
  38416. (WebCore::PopupContainer::isRTL):
  38417. (WebCore::PopupContainer::selectedIndex):
  38418. (WebCore::PopupContainer::menuItemHeight):
  38419. (WebCore::PopupContainer::menuItemFontSize):
  38420. (WebCore::PopupContainer::menuStyle):
  38421. (WebCore::popupData):
  38422. (WebCore::PopupContainer::getSelectedItemToolTip):
  38423. (WebCore::PopupListBox::handleMouseDownEvent):
  38424. (WebCore::PopupListBox::handleMouseMoveEvent):
  38425. (WebCore::PopupListBox::handleMouseReleaseEvent):
  38426. (WebCore::PopupListBox::handleWheelEvent):
  38427. (WebCore::PopupListBox::isInterestedInEventForKey):
  38428. (WebCore::PopupListBox::handleTouchEvent):
  38429. (WebCore::PopupListBox::handleGestureEvent):
  38430. (WebCore::isCharacterTypeEvent):
  38431. (WebCore::PopupListBox::handleKeyEvent):
  38432. (WebCore::PopupListBox::hostWindow):
  38433. (WebCore::stripLeadingWhiteSpace):
  38434. (WebCore::PopupListBox::typeAheadFind):
  38435. (WebCore::PopupListBox::paint):
  38436. (WebCore::PopupListBox::paintRow):
  38437. (WebCore::PopupListBox::getRowFont):
  38438. (WebCore::PopupListBox::abandon):
  38439. (WebCore::PopupListBox::pointToRowIndex):
  38440. (WebCore::PopupListBox::acceptIndex):
  38441. (WebCore::PopupListBox::selectIndex):
  38442. (WebCore::PopupListBox::setOriginalIndex):
  38443. (WebCore::PopupListBox::getRowHeight):
  38444. (WebCore::PopupListBox::getRowBounds):
  38445. (WebCore::PopupListBox::invalidateRow):
  38446. (WebCore::PopupListBox::scrollToRevealRow):
  38447. (WebCore::PopupListBox::isSelectableItem):
  38448. (WebCore::PopupListBox::clearSelection):
  38449. (WebCore::PopupListBox::selectNextRow):
  38450. (WebCore::PopupListBox::selectPreviousRow):
  38451. (WebCore::PopupListBox::adjustSelectedIndex):
  38452. (WebCore::PopupListBox::hidePopup):
  38453. (WebCore::PopupListBox::updateFromElement):
  38454. (WebCore::PopupListBox::setMaxWidthAndLayout):
  38455. (WebCore::PopupListBox::layout):
  38456. (WebCore::PopupListBox::clear):
  38457. (WebCore::PopupListBox::isPointInBounds):
  38458. * platform/chromium/PopupMenuChromium.h:
  38459. (WebCore::PopupItem::PopupItem):
  38460. (WebCore::PopupContainer::listBox):
  38461. (WebCore::PopupContainer::popupType):
  38462. 2011-08-12 Andy Estes <aestes@apple.com>
  38463. Cancel in onbeforeunload dialog sometime causes a button to stop working.
  38464. https://bugs.webkit.org/show_bug.cgi?id=26211
  38465. Reviewed by Alexey Proskuryakov.
  38466. Test: fast/loader/form-submission-after-beforeunload-cancel.html
  38467. If an onbeforeunload handler cancels a navigation that was triggered by
  38468. a form submission, WebCore's multiple form submission protection
  38469. prevents the form from being submitted a second time even though no
  38470. first submission actually took place. Fix this by clearing
  38471. m_submittedFormURL if the onbeforeunload handler cancels the load. This
  38472. allows the submission to be retried.
  38473. * loader/FrameLoader.cpp:
  38474. (WebCore::FrameLoader::shouldClose): Set m_submittedFormURL to KURL()
  38475. if shouldClose() will return false.
  38476. 2011-08-12 David Hyatt <hyatt@apple.com>
  38477. https://bugs.webkit.org/show_bug.cgi?id=66130
  38478. RenderRegions need to paint the entire RenderFlowThread layer tree. Instead of just calling
  38479. paintBlock, make sure RenderRegions paint the flow thread's layer tree instead with the appropriate
  38480. offset.
  38481. Fix RenderRegions to derive from RenderReplaced instead of RenderBox, since it simplifies the code.
  38482. They no longer have to subclass their own layout method or worry about all of the painting logic
  38483. for anything other than the content area.
  38484. Reviewed by Anders Carlsson.
  38485. Existing tests have a layer tree example, and so those results are updated to show the tree now.
  38486. * rendering/RenderFlowThread.cpp:
  38487. (WebCore::RenderFlowThread::createFlowThreadStyle):
  38488. (WebCore::RenderFlowThread::paintIntoRegion):
  38489. * rendering/RenderLayer.cpp:
  38490. (WebCore::RenderLayer::collectLayers):
  38491. * rendering/RenderRegion.cpp:
  38492. (WebCore::RenderRegion::RenderRegion):
  38493. (WebCore::RenderRegion::paintReplaced):
  38494. (WebCore::RenderRegion::styleDidChange):
  38495. * rendering/RenderRegion.h:
  38496. 2011-08-12 Chris Rogers <crogers@google.com>
  38497. Fix mac build when web audio is enabled
  38498. https://bugs.webkit.org/show_bug.cgi?id=66150
  38499. Unreviewed build fix.
  38500. * platform/audio/mac/AudioFileReaderMac.cpp:
  38501. (WebCore::AudioFileReader::createBus):
  38502. 2011-08-12 Jeff Miller <jeffm@apple.com>
  38503. Need to handle kCACFContextNeedsFlushNotification notifications that arrive after the AVFWrapper has been disposed
  38504. https://bugs.webkit.org/show_bug.cgi?id=65724
  38505. Instead of using a pointer to the AVFWrapper object as the context for various callbacks, assign each object an
  38506. ID and use that instead. Keep track of the mapping between object IDs and AVFWrapper objects in a HashMap, and manage
  38507. access to this map using a Mutex since it can be accessed from multiple threads. This allows us to actually delete
  38508. AVFWrapper objects instead of leaking them (which we were doing before to prevent crashes).
  38509. Reviewed by Eric Carlson.
  38510. No new tests, uses existing media tests.
  38511. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp:
  38512. (WebCore::AVFWrapper::callbackContext): Added.
  38513. (WebCore::AVFWrapper::AVFWrapper): Initialize m_objectID and add it to the HashMap.
  38514. (WebCore::AVFWrapper::~AVFWrapper): Log object ID and remove obsolete assert.
  38515. (WebCore::AVFWrapper::mapLock): Added.
  38516. (WebCore::AVFWrapper::map): Added.
  38517. (WebCore::AVFWrapper::addToMap): Added.
  38518. (WebCore::AVFWrapper::removeFromMap): Added.
  38519. (WebCore::AVFWrapper::avfWrapperForCallbackContext): Added.
  38520. (WebCore::AVFWrapper::scheduleDisconnectAndDelete): Remove AVFWrapper from HashMap instead of zeroing m_owner.
  38521. (WebCore::AVFWrapper::disconnectAndDeleteAVFWrapper): Use callbackContext(), delete the AVFWrapper here.
  38522. (WebCore::AVFWrapper::createPlayer): Use callbackContext().
  38523. (WebCore::AVFWrapper::createPlayerItem): Use callbackContext().
  38524. (WebCore::AVFWrapper::periodicTimeObserverCallback): Retrieve AVFWrapper using the HashMap.
  38525. (WebCore::AVFWrapper::notificationCallback): Retrieve AVFWrapper using the HashMap.
  38526. (WebCore::AVFWrapper::loadPlayableCompletionCallback): Retrieve AVFWrapper using the HashMap.
  38527. (WebCore::AVFWrapper::checkPlayability): Use callbackContext().
  38528. (WebCore::AVFWrapper::loadMetadataCompletionCallback): Retrieve AVFWrapper using the HashMap.
  38529. (WebCore::AVFWrapper::beginLoadingMetadata): Use callbackContext().
  38530. (WebCore::AVFWrapper::seekCompletedCallback): Retrieve AVFWrapper using the HashMap.
  38531. (WebCore::AVFWrapper::seekToTime): Use callbackContext().
  38532. (WebCore::AVFWrapper::platformLayer): Remove overly noisy LOG().
  38533. 2011-08-12 Fady Samuel <fsamuel@chromium.org>
  38534. Refactoring of PopupMenuChromium
  38535. https://bugs.webkit.org/show_bug.cgi?id=66009
  38536. Reviewed by Darin Fisher.
  38537. Split PopupMenuChromium into three sets of files: PopupMenuChromium.{h|cpp}, PopupContainer.{h|cpp}, and PopupLisBox.{h|cpp}
  38538. for readability and maintainability.
  38539. No new tests as no functionality has changed.
  38540. * WebCore.gypi:
  38541. * platform/chromium/PopupContainer.cpp: Added.
  38542. (WebCore::constructRelativeMouseEvent):
  38543. (WebCore::constructRelativeWheelEvent):
  38544. (WebCore::PopupContainer::create):
  38545. (WebCore::PopupContainer::PopupContainer):
  38546. (WebCore::PopupContainer::~PopupContainer):
  38547. (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
  38548. (WebCore::PopupContainer::showPopup):
  38549. (WebCore::PopupContainer::hidePopup):
  38550. (WebCore::PopupContainer::notifyPopupHidden):
  38551. (WebCore::PopupContainer::layoutAndGetRTLOffset):
  38552. (WebCore::PopupContainer::handleMouseDownEvent):
  38553. (WebCore::PopupContainer::handleMouseMoveEvent):
  38554. (WebCore::PopupContainer::handleMouseReleaseEvent):
  38555. (WebCore::PopupContainer::handleWheelEvent):
  38556. (WebCore::PopupContainer::handleTouchEvent):
  38557. (WebCore::PopupContainer::handleGestureEvent):
  38558. (WebCore::PopupContainer::handleKeyEvent):
  38559. (WebCore::PopupContainer::hide):
  38560. (WebCore::PopupContainer::paint):
  38561. (WebCore::PopupContainer::paintBorder):
  38562. (WebCore::PopupContainer::isInterestedInEventForKey):
  38563. (WebCore::PopupContainer::chromeClientChromium):
  38564. (WebCore::PopupContainer::showInRect):
  38565. (WebCore::PopupContainer::refresh):
  38566. (WebCore::PopupContainer::isRTL):
  38567. (WebCore::PopupContainer::selectedIndex):
  38568. (WebCore::PopupContainer::menuItemHeight):
  38569. (WebCore::PopupContainer::menuItemFontSize):
  38570. (WebCore::PopupContainer::menuStyle):
  38571. (WebCore::popupData):
  38572. (WebCore::PopupContainer::getSelectedItemToolTip):
  38573. * platform/chromium/PopupContainer.h: Added.
  38574. (WebCore::PopupContainer::listBox):
  38575. (WebCore::PopupContainer::popupType):
  38576. * platform/chromium/PopupListBox.cpp: Added.
  38577. (WebCore::PopupListBox::PopupListBox):
  38578. (WebCore::PopupListBox::handleMouseDownEvent):
  38579. (WebCore::PopupListBox::handleMouseMoveEvent):
  38580. (WebCore::PopupListBox::handleMouseReleaseEvent):
  38581. (WebCore::PopupListBox::handleWheelEvent):
  38582. (WebCore::PopupListBox::isInterestedInEventForKey):
  38583. (WebCore::PopupListBox::handleTouchEvent):
  38584. (WebCore::PopupListBox::handleGestureEvent):
  38585. (WebCore::isCharacterTypeEvent):
  38586. (WebCore::PopupListBox::handleKeyEvent):
  38587. (WebCore::PopupListBox::hostWindow):
  38588. (WebCore::stripLeadingWhiteSpace):
  38589. (WebCore::PopupListBox::typeAheadFind):
  38590. (WebCore::PopupListBox::paint):
  38591. (WebCore::PopupListBox::paintRow):
  38592. (WebCore::PopupListBox::getRowFont):
  38593. (WebCore::PopupListBox::abandon):
  38594. (WebCore::PopupListBox::pointToRowIndex):
  38595. (WebCore::PopupListBox::acceptIndex):
  38596. (WebCore::PopupListBox::selectIndex):
  38597. (WebCore::PopupListBox::setOriginalIndex):
  38598. (WebCore::PopupListBox::getRowHeight):
  38599. (WebCore::PopupListBox::getRowBounds):
  38600. (WebCore::PopupListBox::invalidateRow):
  38601. (WebCore::PopupListBox::scrollToRevealRow):
  38602. (WebCore::PopupListBox::isSelectableItem):
  38603. (WebCore::PopupListBox::clearSelection):
  38604. (WebCore::PopupListBox::selectNextRow):
  38605. (WebCore::PopupListBox::selectPreviousRow):
  38606. (WebCore::PopupListBox::adjustSelectedIndex):
  38607. (WebCore::PopupListBox::hidePopup):
  38608. (WebCore::PopupListBox::updateFromElement):
  38609. (WebCore::PopupListBox::setMaxWidthAndLayout):
  38610. (WebCore::PopupListBox::layout):
  38611. (WebCore::PopupListBox::clear):
  38612. (WebCore::PopupListBox::isPointInBounds):
  38613. * platform/chromium/PopupListBox.h: Added.
  38614. (WebCore::PopupItem::PopupItem):
  38615. (WebCore::PopupListBox::create):
  38616. (WebCore::PopupListBox::selectedIndex):
  38617. (WebCore::PopupListBox::numItems):
  38618. (WebCore::PopupListBox::setBaseWidth):
  38619. (WebCore::PopupListBox::setMaxHeight):
  38620. (WebCore::PopupListBox::setMaxWidth):
  38621. (WebCore::PopupListBox::disconnectClient):
  38622. (WebCore::PopupListBox::items):
  38623. (WebCore::PopupListBox::~PopupListBox):
  38624. (WebCore::PopupListBox::scrollToRevealSelection):
  38625. * platform/chromium/PopupMenuChromium.cpp:
  38626. * platform/chromium/PopupMenuChromium.h:
  38627. 2011-08-12 Sam Weinig <sam@webkit.org>
  38628. Move compiler specific macros to their own header
  38629. https://bugs.webkit.org/show_bug.cgi?id=66119
  38630. Reviewed by Anders Carlsson.
  38631. * ForwardingHeaders/wtf/Compiler.h: Added.
  38632. 2011-08-12 No'am Rosenthal <noam.rosenthal@nokia.com>
  38633. [Qt][REGRESSION] composited content doesn't render since r92651
  38634. https://bugs.webkit.org/show_bug.cgi?id=66108
  38635. Reviewed by Benjamin Poulain.
  38636. Changed the signature for GraphicsLayerTextureMapper::syncCompositingState to match
  38637. the new signature in GraphicsLayer.h.
  38638. No new tests. This is a regression that's covered by existing pixel tests.
  38639. * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
  38640. (WebCore::GraphicsLayerTextureMapper::syncCompositingState):
  38641. * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
  38642. 2011-08-12 Alexandru Chiculita <achicu@adobe.com>
  38643. Original patch by Mihnea Ovidenie <mihnea@adobe.com>.
  38644. Also contains some improvements done by Dave Hyatt <hyatt@apple.com>.
  38645. [CSSRegions]RenderFlowThread should display its content using RenderRegion
  38646. https://bugs.webkit.org/show_bug.cgi?id=65627
  38647. RenderFlowThread collects RenderObjects from a flow. These objects are displayed by means
  38648. of RenderRegion objects that get the content from the same flow.
  38649. Reviewed by David Hyatt.
  38650. Tests: fast/regions/content-flowed-into-regions-dynamically-added.html
  38651. fast/regions/content-flowed-into-regions-dynamically-removed.html
  38652. fast/regions/content-flowed-into-regions-with-dyn-index.html
  38653. fast/regions/content-flowed-into-regions-with-index-dom.html
  38654. fast/regions/content-flowed-into-regions-with-index.html
  38655. fast/regions/content-flowed-into-regions.html
  38656. fast/regions/flow-content-basic-vertical-rl.html
  38657. fast/regions/flow-content-basic-vertical.html
  38658. * dom/Node.cpp:
  38659. (WebCore::Node::diff):
  38660. * rendering/RenderFlowThread.cpp:
  38661. (WebCore::RenderFlowThread::RenderFlowThread):
  38662. (WebCore::RenderFlowThread::createFlowThreadStyle):
  38663. (WebCore::RenderFlowThread::styleDidChange):
  38664. (WebCore::compareRenderRegions):
  38665. (WebCore::RenderFlowThread::addRegionToThread):
  38666. (WebCore::RenderFlowThread::removeRegionFromThread):
  38667. (WebCore::RenderFlowThread::layout):
  38668. (WebCore::RenderFlowThread::computeLogicalWidth):
  38669. (WebCore::RenderFlowThread::computeLogicalHeight):
  38670. (WebCore::RenderFlowThread::paintIntoRegion):
  38671. * rendering/RenderFlowThread.h:
  38672. * rendering/RenderObject.cpp:
  38673. (WebCore::RenderObject::createObject):
  38674. * rendering/RenderRegion.cpp:
  38675. (WebCore::RenderRegion::RenderRegion):
  38676. (WebCore::RenderRegion::~RenderRegion):
  38677. (WebCore::RenderRegion::paint):
  38678. (WebCore::RenderRegion::styleDidChange):
  38679. * rendering/RenderRegion.h:
  38680. (WebCore::RenderRegion::setRegionRect):
  38681. (WebCore::RenderRegion::regionRect):
  38682. * rendering/RenderTreeAsText.cpp:
  38683. (WebCore::writeLayers):
  38684. * rendering/RenderView.cpp:
  38685. (WebCore::RenderView::styleDidChange):
  38686. (WebCore::RenderView::renderFlowThreadWithName):
  38687. * rendering/RenderView.h:
  38688. 2011-08-12 Abhishek Arya <inferno@chromium.org>
  38689. Crash in WebCore::editingIgnoresContent
  38690. https://bugs.webkit.org/show_bug.cgi?id=66125
  38691. Reviewed by Ryosuke Niwa.
  38692. RefPtr a few nodes in case they get blown away in
  38693. dispatchEvent calls.
  38694. Test: editing/selection/select-start-remove-root-crash.html
  38695. * editing/FrameSelection.cpp:
  38696. (WebCore::FrameSelection::selectAll):
  38697. * editing/ReplaceSelectionCommand.cpp:
  38698. (WebCore::ReplacementFragment::ReplacementFragment):
  38699. 2011-08-11 Pavel Podivilov <podivilov@chromium.org>
  38700. Web Inspector: properly update console message count in source frames and resources panel.
  38701. https://bugs.webkit.org/show_bug.cgi?id=57009
  38702. Reviewed by Yury Semikhatsky.
  38703. * inspector/front-end/ConsoleView.js:
  38704. (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageRepeatCountUpdated):
  38705. * inspector/front-end/SourceFrame.js:
  38706. (WebInspector.SourceFrame.prototype.show):
  38707. (WebInspector.SourceFrame.prototype.addMessageToSource):
  38708. (WebInspector.SourceFrame.prototype._updateMessageRepeatCount):
  38709. 2011-08-12 Pavel Feldman <pfeldman@google.com>
  38710. Not reviewed: follow up to inspector test breakage.
  38711. * inspector/front-end/ScriptsPanel.js:
  38712. (WebInspector.ScriptsPanel.prototype._showScriptFoldersSettingChanged):
  38713. 2011-08-12 Yury Semikhatsky <yurys@chromium.org>
  38714. Web Inspector: expand exception properties when wrapping it as object.
  38715. https://bugs.webkit.org/show_bug.cgi?id=66035
  38716. Use toString() value as a description for value thrown during eval.
  38717. Reviewed by Pavel Feldman.
  38718. * inspector/InjectedScriptSource.js:
  38719. (.):
  38720. 2011-08-12 Pavel Feldman <pfeldman@google.com>
  38721. Web Inspector: make folders optional in the Scripts' panel file selector.
  38722. https://bugs.webkit.org/show_bug.cgi?id=66100
  38723. Reviewed by Yury Semikhatsky.
  38724. * English.lproj/localizedStrings.js:
  38725. * inspector/front-end/ScriptsPanel.js:
  38726. (WebInspector.ScriptsPanel.prototype._showScriptFoldersSettingChanged):
  38727. (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered.optionCompare):
  38728. (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered):
  38729. (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
  38730. (WebInspector.ScriptsPanel.prototype.reset):
  38731. (WebInspector.ScriptsPanel.prototype._resetFilesSelect):
  38732. * inspector/front-end/Settings.js:
  38733. (WebInspector.Settings):
  38734. * inspector/front-end/SettingsScreen.js:
  38735. (WebInspector.SettingsScreen):
  38736. 2011-08-12 Pavel Podivilov <podivilov@chromium.org>
  38737. Web Inspector: add space between error info and error message in source frame message bubble.
  38738. https://bugs.webkit.org/show_bug.cgi?id=65069
  38739. Reviewed by Pavel Feldman.
  38740. * inspector/front-end/ConsoleView.js:
  38741. (WebInspector.ConsoleMessage.prototype._formatMessage):
  38742. 2011-08-12 Pavel Feldman <pfeldman@google.com>
  38743. Web Inspector: console loses focus upon reloading the page from the inspector.
  38744. https://bugs.webkit.org/show_bug.cgi?id=66068
  38745. Reviewed by Yury Semikhatsky.
  38746. * inspector/front-end/AuditsPanel.js:
  38747. (WebInspector.AuditsPanel.prototype._auditFinishedCallback):
  38748. (WebInspector.AuditsPanel.prototype._clearButtonClicked):
  38749. * inspector/front-end/DataGrid.js:
  38750. (WebInspector.DataGrid.prototype.revealAndSelect):
  38751. (WebInspector.DataGridNode.prototype.revealAndSelect):
  38752. * inspector/front-end/DetailedHeapshotView.js:
  38753. (WebInspector.DetailedHeapshotView.prototype._jumpToSearchResult):
  38754. * inspector/front-end/ElementsPanel.js:
  38755. (WebInspector.ElementsPanel.this.treeOutline.selectedNodeChanged):
  38756. (WebInspector.ElementsPanel.get this):
  38757. (WebInspector.ElementsPanel):
  38758. (WebInspector.ElementsPanel.prototype._reset):
  38759. (WebInspector.ElementsPanel.prototype._setDocument.selectNode):
  38760. (WebInspector.ElementsPanel.prototype._setDocument.selectLastSelectedNode):
  38761. (WebInspector.ElementsPanel.prototype._setDocument):
  38762. (WebInspector.ElementsPanel.prototype._domWordWrapSettingChanged):
  38763. (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
  38764. (WebInspector.ElementsPanel.prototype.switchToAndFocus):
  38765. (WebInspector.ElementsPanel.prototype.selectedDOMNode):
  38766. (WebInspector.ElementsPanel.prototype.selectDOMNode):
  38767. (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
  38768. (WebInspector.ElementsPanel.prototype.updateBreadcrumb.selectCrumbFunction):
  38769. (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
  38770. (WebInspector.ElementsPanel.prototype.updateStyles):
  38771. (WebInspector.ElementsPanel.prototype.updateMetrics):
  38772. (WebInspector.ElementsPanel.prototype.updateProperties):
  38773. (WebInspector.ElementsPanel.prototype.updateEventListeners):
  38774. (WebInspector.ElementsPanel.prototype.handleCopyEvent):
  38775. (WebInspector.ElementsPanel.prototype.updateFocusedNode):
  38776. * inspector/front-end/ElementsTreeOutline.js:
  38777. (WebInspector.ElementsTreeOutline):
  38778. (WebInspector.ElementsTreeOutline.prototype.selectedDOMNode):
  38779. (WebInspector.ElementsTreeOutline.prototype.selectDOMNode):
  38780. (WebInspector.ElementsTreeOutline.prototype.update):
  38781. (WebInspector.ElementsTreeOutline.prototype._revealAndSelectNode):
  38782. (WebInspector.ElementsTreeOutline.prototype._ondrop.callback):
  38783. (WebInspector.ElementsTreeOutline.prototype._ondrop):
  38784. (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
  38785. (WebInspector.ElementsTreeElement.prototype._updateChildren):
  38786. (WebInspector.ElementsTreeElement.prototype.onselect):
  38787. (WebInspector.ElementsTreeElement.prototype.selectOnMouseDown):
  38788. (WebInspector.ElementsTreeElement.prototype._startEditingTarget):
  38789. (WebInspector.ElementsTreeElement.prototype._startEditing):
  38790. * inspector/front-end/Panel.js:
  38791. (WebInspector.Panel.prototype.reset):
  38792. * inspector/front-end/ProfileView.js:
  38793. (WebInspector.CPUProfileView.prototype._jumpToSearchResult):
  38794. * inspector/front-end/ProfilesPanel.js:
  38795. (WebInspector.ProfilesPanel.prototype._addProfileHeader):
  38796. (WebInspector.ProfilesPanel.prototype.showProfile):
  38797. (WebInspector.ProfileSidebarTreeElement.prototype.onselect):
  38798. * inspector/front-end/ResourcesPanel.js:
  38799. (WebInspector.ResourcesPanel.prototype._initDefaultSelection.get if):
  38800. (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
  38801. (WebInspector.ResourcesPanel.prototype.reset):
  38802. (WebInspector.ResourcesPanel.prototype.showResource):
  38803. * inspector/front-end/StylesSidebarPane.js:
  38804. (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
  38805. (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
  38806. * inspector/front-end/TimelinePanel.js:
  38807. (WebInspector.TimelinePanel.prototype._createTopPane):
  38808. * inspector/front-end/inspector.js:
  38809. * inspector/front-end/inspectorCommon.css:
  38810. (body):
  38811. * inspector/front-end/treeoutline.js:
  38812. (TreeOutline.prototype.revealAndSelect):
  38813. (TreeElement.prototype.selectOnMouseDown):
  38814. (TreeElement.prototype.revealAndSelect):
  38815. (TreeElement.prototype.select):
  38816. 2011-08-12 Yury Semikhatsky <yurys@chromium.org>
  38817. Unreviewed. Inspector clean-up: remove unused method declaration from InspectorAgent.h
  38818. * inspector/InspectorAgent.h:
  38819. 2011-08-12 Vsevolod Vlasov <vsevik@chromium.org>
  38820. Web Inspector: Network resource identifier should have RequestId type and requestId name in protocol.
  38821. https://bugs.webkit.org/show_bug.cgi?id=66061
  38822. Reviewed by Pavel Feldman.
  38823. * inspector/ConsoleMessage.cpp:
  38824. (WebCore::ConsoleMessage::ConsoleMessage):
  38825. (WebCore::ConsoleMessage::addToFrontend):
  38826. * inspector/ConsoleMessage.h:
  38827. * inspector/IdentifiersFactory.cpp:
  38828. (WebCore::IdentifiersFactory::requestId):
  38829. * inspector/IdentifiersFactory.h:
  38830. * inspector/Inspector.json:
  38831. * inspector/InspectorConsoleAgent.cpp:
  38832. (WebCore::InspectorConsoleAgent::didReceiveResponse):
  38833. (WebCore::InspectorConsoleAgent::didFailLoading):
  38834. * inspector/InspectorResourceAgent.cpp:
  38835. (WebCore::InspectorResourceAgent::willSendRequest):
  38836. (WebCore::InspectorResourceAgent::markResourceAsCached):
  38837. (WebCore::InspectorResourceAgent::didReceiveResponse):
  38838. (WebCore::InspectorResourceAgent::didReceiveData):
  38839. (WebCore::InspectorResourceAgent::didFinishLoading):
  38840. (WebCore::InspectorResourceAgent::didFailLoading):
  38841. (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
  38842. (WebCore::InspectorResourceAgent::setInitialScriptContent):
  38843. (WebCore::InspectorResourceAgent::didReceiveScriptResponse):
  38844. (WebCore::InspectorResourceAgent::setInitialXHRContent):
  38845. (WebCore::InspectorResourceAgent::didReceiveXHRResponse):
  38846. (WebCore::InspectorResourceAgent::didCreateWebSocket):
  38847. (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
  38848. (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
  38849. (WebCore::InspectorResourceAgent::didCloseWebSocket):
  38850. (WebCore::InspectorResourceAgent::getResourceContent):
  38851. * inspector/InspectorResourceAgent.h:
  38852. * inspector/InspectorTimelineAgent.cpp:
  38853. (WebCore::InspectorTimelineAgent::willSendResourceRequest):
  38854. (WebCore::InspectorTimelineAgent::willReceiveResourceData):
  38855. (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
  38856. (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
  38857. * inspector/NetworkResourcesData.cpp:
  38858. (WebCore::NetworkResourcesData::ResourceData::ResourceData):
  38859. (WebCore::NetworkResourcesData::resourceCreated):
  38860. (WebCore::NetworkResourcesData::responseReceived):
  38861. (WebCore::NetworkResourcesData::setResourceType):
  38862. (WebCore::NetworkResourcesData::resourceType):
  38863. (WebCore::NetworkResourcesData::setResourceContent):
  38864. (WebCore::NetworkResourcesData::maybeAddResourceData):
  38865. (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
  38866. (WebCore::NetworkResourcesData::addCachedResource):
  38867. (WebCore::NetworkResourcesData::addResourceSharedBuffer):
  38868. (WebCore::NetworkResourcesData::data):
  38869. (WebCore::NetworkResourcesData::clear):
  38870. (WebCore::NetworkResourcesData::ensureNoDataForRequestId):
  38871. (WebCore::NetworkResourcesData::ensureFreeSpace):
  38872. * inspector/NetworkResourcesData.h:
  38873. (WebCore::NetworkResourcesData::ResourceData::requestId):
  38874. * inspector/TimelineRecordFactory.cpp:
  38875. (WebCore::TimelineRecordFactory::createResourceSendRequestData):
  38876. (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
  38877. (WebCore::TimelineRecordFactory::createResourceFinishData):
  38878. (WebCore::TimelineRecordFactory::createReceiveResourceData):
  38879. * inspector/TimelineRecordFactory.h:
  38880. * inspector/front-end/ConsoleView.js:
  38881. (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded):
  38882. * inspector/front-end/ExtensionAPI.js:
  38883. (WebInspector.injectedExtensionAPI.Resources.prototype.getHAR):
  38884. * inspector/front-end/ExtensionServer.js:
  38885. (WebInspector.ExtensionServer):
  38886. (WebInspector.ExtensionServer.prototype._notifyResourceFinished):
  38887. (WebInspector.ExtensionServer.prototype._onGetHAR):
  38888. (WebInspector.ExtensionServer.prototype._requestId):
  38889. * inspector/front-end/NetworkManager.js:
  38890. (WebInspector.NetworkManager.prototype.requestContent):
  38891. (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
  38892. (WebInspector.NetworkDispatcher.prototype.resourceMarkedAsCached):
  38893. (WebInspector.NetworkDispatcher.prototype.responseReceived):
  38894. (WebInspector.NetworkDispatcher.prototype.dataReceived):
  38895. (WebInspector.NetworkDispatcher.prototype.loadingFinished):
  38896. (WebInspector.NetworkDispatcher.prototype.loadingFailed):
  38897. (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
  38898. (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
  38899. (WebInspector.NetworkDispatcher.prototype.webSocketWillSendHandshakeRequest):
  38900. (WebInspector.NetworkDispatcher.prototype.webSocketHandshakeResponseReceived):
  38901. (WebInspector.NetworkDispatcher.prototype.webSocketClosed):
  38902. (WebInspector.NetworkDispatcher.prototype._appendRedirect):
  38903. (WebInspector.NetworkDispatcher.prototype._startResource):
  38904. (WebInspector.NetworkDispatcher.prototype._finishResource):
  38905. (WebInspector.NetworkDispatcher.prototype._createResource):
  38906. * inspector/front-end/NetworkPanel.js:
  38907. (WebInspector.NetworkLogView.prototype._appendResource):
  38908. (WebInspector.NetworkLogView.prototype._matchResource):
  38909. (WebInspector.NetworkLogView.prototype._updateSearchMatchedListAfterRequestIdChanged):
  38910. (WebInspector.NetworkLogView.prototype.performSearch):
  38911. * inspector/front-end/Resource.js:
  38912. (WebInspector.Resource):
  38913. * inspector/front-end/TimelinePanel.js:
  38914. (WebInspector.TimelinePanel.prototype._addRecordToTimeline):
  38915. (WebInspector.TimelinePanel.prototype._findParentRecord):
  38916. (WebInspector.TimelinePanel.FormattedRecord):
  38917. 2011-08-11 Hans Wennborg <hans@chromium.org>
  38918. IndexedDB: Object store records don't need to have keys in all indexes
  38919. https://bugs.webkit.org/show_bug.cgi?id=66049
  38920. Reviewed by Tony Chang.
  38921. Allow inserting records in an object store even though they don't
  38922. yield keys in some index. The spec has changed in this regard.
  38923. * storage/IDBObjectStoreBackendImpl.cpp:
  38924. (WebCore::IDBObjectStoreBackendImpl::putInternal):
  38925. 2011-08-10 Hans Wennborg <hans@chromium.org>
  38926. IndexedDB: Overwriting key in unique index should be possible
  38927. https://bugs.webkit.org/show_bug.cgi?id=65993
  38928. Reviewed by Tony Chang.
  38929. It should be possible to overwrite an object store record even if
  38930. there is a derived key for that record in an index with the unique flag set.
  38931. * storage/IDBBackingStore.h:
  38932. * storage/IDBIndexBackendImpl.cpp:
  38933. (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
  38934. * storage/IDBIndexBackendImpl.h:
  38935. * storage/IDBLevelDBBackingStore.cpp:
  38936. (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
  38937. * storage/IDBLevelDBBackingStore.h:
  38938. * storage/IDBObjectStoreBackendImpl.cpp:
  38939. (WebCore::IDBObjectStoreBackendImpl::putInternal):
  38940. * storage/IDBSQLiteBackingStore.cpp:
  38941. (WebCore::IDBSQLiteBackingStore::keyExistsInIndex):
  38942. * storage/IDBSQLiteBackingStore.h:
  38943. 2011-08-11 Yuta Kitamura <yutak@chromium.org>
  38944. WebSocket: Implement "protocol" attribute
  38945. https://bugs.webkit.org/show_bug.cgi?id=65248
  38946. Reviewed by Kent Tamura.
  38947. Tests: http/tests/websocket/tests/hybi/no-subprotocol.html (added)
  38948. http/tests/websocket/tests/hybi/set-protocol.html (added)
  38949. http/tests/websocket/tests/hybi/workers/no-subprotocol.html (added)
  38950. http/tests/websocket/tests/hixie76/undefined-attributes.html (updated)
  38951. http/tests/websocket/tests/hybi/multiple-subprotocols.html (updated)
  38952. http/tests/websocket/tests/hybi/workers/multiple-subprotocols.html (updated)
  38953. * websockets/ThreadableWebSocketChannel.h:
  38954. Added subprotocol() function. This function is named differently from the counterpart of
  38955. WebSocket class, because the name "protocol" can be confused with the WebSocket protocol.
  38956. Added m_useHixie76Protocol and m_subprotocol, because these value may be used after
  38957. m_channel has been released. Using bool should be fine, because boolean literals do not
  38958. appear in ambiguous context.
  38959. * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
  38960. (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
  38961. (WebCore::ThreadableWebSocketChannelClientWrapper::subprotocol):
  38962. (WebCore::ThreadableWebSocketChannelClientWrapper::setSubprotocol):
  38963. * websockets/ThreadableWebSocketChannelClientWrapper.h:
  38964. * websockets/WebSocket.cpp:
  38965. (WebCore::WebSocket::WebSocket):
  38966. (WebCore::WebSocket::connect):
  38967. (WebCore::WebSocket::protocol):
  38968. The "protocol" attribute is available only when the hybi-10 protocol is chosen.
  38969. (WebCore::WebSocket::binaryType):
  38970. (WebCore::WebSocket::setBinaryType):
  38971. (WebCore::WebSocket::didConnect):
  38972. * websockets/WebSocket.h:
  38973. * websockets/WebSocket.idl:
  38974. * websockets/WebSocketChannel.cpp:
  38975. (WebCore::WebSocketChannel::subprotocol):
  38976. * websockets/WebSocketChannel.h:
  38977. * websockets/WorkerThreadableWebSocketChannel.cpp:
  38978. (WebCore::WorkerThreadableWebSocketChannel::subprotocol):
  38979. (WebCore::workerContextDidConnect):
  38980. Subprotocol value is saved in the client wrapper object after the WebSocket connection is
  38981. established.
  38982. (WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect):
  38983. * websockets/WorkerThreadableWebSocketChannel.h:
  38984. 2011-08-11 Hayato Ito <hayato@chromium.org>
  38985. Implement proper handling of events with a related target in regard to shadow DOM boundaries.
  38986. https://bugs.webkit.org/show_bug.cgi?id=65899
  38987. Reviewed by Dimitri Glazkov.
  38988. Fixes issues in the following corner cases:
  38989. 1. When both a target node and a relatedTarget node are immediate children of
  38990. the same shadow root, an event is not dispatched.
  38991. 2. If a target node is an ancestor of a relatedTarget node, crossing
  38992. shadow boundaries, or vice verse, an event is not dispatched or wrongly
  38993. dispatched.
  38994. Test: fast/dom/shadow/shadow-boundary-events.html
  38995. * dom/EventDispatcher.cpp:
  38996. (WebCore::EventDispatcher::adjustToShadowBoundaries):
  38997. 2011-08-11 John Bauman <jbauman@chromium.org>
  38998. Readback composited webgl results for printing
  38999. https://bugs.webkit.org/show_bug.cgi?id=65658
  39000. Reviewed by James Robinson.
  39001. The real composited results may be locked inside the compositor
  39002. context's version of a texture because the drawing buffer was
  39003. automatically cleared, so read from there to get the actual presented
  39004. version to draw.
  39005. * html/canvas/WebGLRenderingContext.cpp:
  39006. (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
  39007. * platform/graphics/GraphicsContext3D.h:
  39008. * platform/graphics/chromium/Extensions3DChromium.h:
  39009. * platform/graphics/chromium/WebGLLayerChromium.cpp:
  39010. (WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
  39011. * platform/graphics/chromium/WebGLLayerChromium.h:
  39012. * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
  39013. (WebCore::GraphicsContext3D::paintCompositedResultsToCanvas):
  39014. 2011-08-11 Andrew Wason <rectalogic@rectalogic.com>
  39015. REGRESSION: Qt JavaScript bridge signal connection fails
  39016. https://bugs.webkit.org/show_bug.cgi?id=66097
  39017. Reviewed by Gavin Barraclough.
  39018. Tests in WebKit/qt/tests/qwebframe
  39019. Call toThisObject() on exec->lexicalGlobalObject() so the correct
  39020. object is passed to the JS signal handler.
  39021. * bridge/qt/qt_runtime.cpp:
  39022. (JSC::Bindings::QtRuntimeConnectionMethod::call):
  39023. 2011-08-11 Nico Weber <thakis@chromium.org>
  39024. Remove incorrect comment about m_wheelEventHandlerCount
  39025. https://bugs.webkit.org/show_bug.cgi?id=66117
  39026. Reviewed by Simon Fraser.
  39027. From what I can tell, this number is changed only in
  39028. Frame::notifyChromeClientWheelEventHandlerCountChanged(),
  39029. and there it just reads the number modified in
  39030. Document::didAdd/RemoveWheelEventHandler(). So this is just the number
  39031. of event handlers (and not related to horizontal scrollbars), and the
  39032. variable name expresses that already.
  39033. * dom/Document.h:
  39034. 2011-08-11 James Robinson <jamesr@chromium.org>
  39035. [chromium] Defer managed texture creation and destruction until updateCompositorResources
  39036. https://bugs.webkit.org/show_bug.cgi?id=64772
  39037. Reviewed by Kenneth Russell.
  39038. This adds support for deferring GraphicsContext3D calls for texture creation and destruction for managed
  39039. textures and defers these calls until updateCompositorResources() for contents textures. The primary benefit of
  39040. this change is that it decouples managing the texture budget for the next frame (which has to happen before
  39041. painting layer contents) from the actual GL calls that create/destroy textures. That way, in the threaded
  39042. compositing world we can continue to use textures from the previous frame while software painting contents for
  39043. the next frame into software buffers or SkPictures.
  39044. Also renames LayerTexture to ManagedTexture to better reflect what it is. Not all ManagedTextures we create are
  39045. necessarily associated with layers, but they are all managed by a TextureManager.
  39046. Covered by compositing/ layout tests.
  39047. * WebCore.gypi:
  39048. * platform/graphics/chromium/ContentLayerChromium.h:
  39049. * platform/graphics/chromium/ImageLayerChromium.cpp:
  39050. (WebCore::ImageLayerTextureUpdater::updateTextureRect):
  39051. * platform/graphics/chromium/LayerRendererChromium.cpp:
  39052. (WebCore::LayerRendererChromium::releaseTextures):
  39053. (WebCore::LayerRendererChromium::drawLayers):
  39054. (WebCore::LayerRendererChromium::updateLayers):
  39055. (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
  39056. (WebCore::LayerRendererChromium::useRenderSurface):
  39057. (WebCore::LayerRendererChromium::initializeSharedObjects):
  39058. * platform/graphics/chromium/LayerRendererChromium.h:
  39059. * platform/graphics/chromium/LayerTextureUpdater.h:
  39060. * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
  39061. (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
  39062. (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
  39063. * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
  39064. * platform/graphics/chromium/LayerTilerChromium.cpp:
  39065. (WebCore::LayerTilerChromium::getSingleTexture):
  39066. (WebCore::LayerTilerChromium::createTile):
  39067. (WebCore::LayerTilerChromium::updateRect):
  39068. (WebCore::LayerTilerChromium::drawTiles):
  39069. * platform/graphics/chromium/LayerTilerChromium.h:
  39070. (WebCore::LayerTilerChromium::Tile::Tile):
  39071. (WebCore::LayerTilerChromium::Tile::texture):
  39072. * platform/graphics/chromium/ManagedTexture.cpp: Renamed from Source/WebCore/platform/graphics/chromium/LayerTexture.cpp.
  39073. (WebCore::ManagedTexture::ManagedTexture):
  39074. (WebCore::ManagedTexture::~ManagedTexture):
  39075. (WebCore::ManagedTexture::isValid):
  39076. (WebCore::ManagedTexture::reserve):
  39077. (WebCore::ManagedTexture::unreserve):
  39078. (WebCore::ManagedTexture::bindTexture):
  39079. (WebCore::ManagedTexture::framebufferTexture2D):
  39080. * platform/graphics/chromium/ManagedTexture.h: Renamed from Source/WebCore/platform/graphics/chromium/LayerTexture.h.
  39081. (WebCore::ManagedTexture::create):
  39082. (WebCore::ManagedTexture::format):
  39083. (WebCore::ManagedTexture::isReserved):
  39084. * platform/graphics/chromium/RenderSurfaceChromium.h:
  39085. * platform/graphics/chromium/TextureManager.cpp:
  39086. (WebCore::TextureManager::TextureManager):
  39087. (WebCore::TextureManager::deleteEvictedTextures):
  39088. (WebCore::TextureManager::removeTexture):
  39089. (WebCore::TextureManager::allocateTexture):
  39090. (WebCore::TextureManager::requestTexture):
  39091. * platform/graphics/chromium/TextureManager.h:
  39092. (WebCore::TextureManager::create):
  39093. (WebCore::TextureManager::setAssociatedContextDebugOnly):
  39094. (WebCore::TextureManager::associatedContextDebugOnly):
  39095. * platform/graphics/chromium/TiledLayerChromium.h:
  39096. * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
  39097. (WebCore::CCHeadsUpDisplay::draw):
  39098. * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
  39099. * platform/graphics/chromium/cc/CCRenderSurface.cpp:
  39100. (WebCore::CCRenderSurface::prepareContentsTexture):
  39101. (WebCore::CCRenderSurface::drawSurface):
  39102. * platform/graphics/chromium/cc/CCRenderSurface.h:
  39103. (WebCore::CCRenderSurface::contentsTexture):
  39104. * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
  39105. (WebCore::CCTiledLayerImpl::bindContentsTexture):
  39106. 2011-08-11 David Kilzer <ddkilzer@apple.com>
  39107. <http://webkit.org/b/66113> [CFNetwork] willCacheResponse() leaks CFCachedURLResponseRef if delegate changes CacheStoragePolicy
  39108. Reviewed by Joseph Pecoraro.
  39109. This first appeared in ToT WebKit r23462 (Windows merge).
  39110. * platform/network/cf/ResourceHandleCFNet.cpp:
  39111. (WebCore::willCacheResponse): Only retain cachedResponse if we
  39112. are returning the same object passed into the method, otherwise
  39113. we end up double-retaining the new object created.
  39114. 2011-08-05 Nat Duca <nduca@chromium.org>
  39115. [chromium] Make WebViewImpl point at CCLayerTreeHost and related separation
  39116. https://bugs.webkit.org/show_bug.cgi?id=65791
  39117. With this patch, LayerRendererChromium becomes increasingly responsible
  39118. for rendering, while render scheduling and tree hosting moves into the
  39119. CCLayerTreeHost.
  39120. Reviewed by James Robinson.
  39121. * platform/graphics/chromium/ContentLayerChromium.cpp:
  39122. (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
  39123. * platform/graphics/chromium/LayerChromium.h:
  39124. * platform/graphics/chromium/LayerRendererChromium.cpp:
  39125. (WebCore::LayerRendererChromium::create):
  39126. (WebCore::LayerRendererChromium::LayerRendererChromium):
  39127. (WebCore::LayerRendererChromium::initialize):
  39128. (WebCore::LayerRendererChromium::releaseTextures):
  39129. (WebCore::LayerRendererChromium::updateRootLayerContents):
  39130. (WebCore::LayerRendererChromium::drawRootLayer):
  39131. (WebCore::LayerRendererChromium::invalidateRootLayerRect):
  39132. (WebCore::LayerRendererChromium::rootLayerChanged):
  39133. (WebCore::LayerRendererChromium::viewportChanged):
  39134. (WebCore::LayerRendererChromium::updateLayers):
  39135. (WebCore::LayerRendererChromium::drawLayers):
  39136. (WebCore::LayerRendererChromium::drawLayersInternal):
  39137. (WebCore::LayerRendererChromium::getFramebufferPixels):
  39138. (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
  39139. (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
  39140. (WebCore::LayerRendererChromium::useRenderSurface):
  39141. (WebCore::LayerRendererChromium::setScissorToRect):
  39142. (WebCore::LayerRendererChromium::layerTreeAsText):
  39143. (WebCore::LayerRendererChromium::dumpRenderSurfaces):
  39144. * platform/graphics/chromium/LayerRendererChromium.h:
  39145. (WebCore::LayerRendererChromium::settings):
  39146. (WebCore::LayerRendererChromium::owner):
  39147. (WebCore::LayerRendererChromium::rootLayer):
  39148. (WebCore::LayerRendererChromium::skiaContext):
  39149. * platform/graphics/chromium/WebGLLayerChromium.cpp:
  39150. (WebCore::WebGLLayerChromium::setTextureUpdated):
  39151. * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
  39152. (WebCore::CCHeadsUpDisplay::draw):
  39153. (WebCore::CCHeadsUpDisplay::enabled):
  39154. * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
  39155. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  39156. (WebCore::CCLayerTreeHost::create):
  39157. (WebCore::CCLayerTreeHost::CCLayerTreeHost):
  39158. (WebCore::CCLayerTreeHost::initialize):
  39159. (WebCore::CCLayerTreeHost::animateAndLayout):
  39160. (WebCore::CCLayerTreeHost::createLayerTreeHostCommitter):
  39161. (WebCore::CCLayerTreeHost::createLayerTreeHostImpl):
  39162. (WebCore::CCLayerTreeHost::context):
  39163. (WebCore::CCLayerTreeHost::compositeAndReadback):
  39164. (WebCore::CCLayerTreeHost::createRootLayerPainter):
  39165. (WebCore::CCLayerTreeHost::finishAllRendering):
  39166. (WebCore::CCLayerTreeHost::invalidateRootLayerRect):
  39167. (WebCore::CCLayerTreeHost::setNeedsCommitAndRedraw):
  39168. (WebCore::CCLayerTreeHost::setNeedsRedraw):
  39169. (WebCore::CCLayerTreeHost::setRootLayer):
  39170. (WebCore::CCLayerTreeHost::setViewport):
  39171. (WebCore::CCLayerTreeHost::setVisible):
  39172. (WebCore::CCLayerTreeHost::doComposite):
  39173. (WebCore::CCLayerTreeHost::composite):
  39174. (WebCore::CCLayerTreeHost::reallocateRenderer):
  39175. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  39176. (WebCore::CCLayerTreeHost::animating):
  39177. (WebCore::CCLayerTreeHost::setAnimating):
  39178. (WebCore::CCLayerTreeHost::rootLayer):
  39179. (WebCore::CCLayerTreeHost::settings):
  39180. (WebCore::CCLayerTreeHost::viewportContentRect):
  39181. (WebCore::CCLayerTreeHost::viewportScrollPosition):
  39182. (WebCore::CCLayerTreeHost::viewportVisibleRect):
  39183. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
  39184. (WebCore::CCLayerTreeHostImpl::create):
  39185. (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
  39186. (WebCore::CCLayerTreeHostImpl::drawLayers):
  39187. (WebCore::CCLayerTreeHostImpl::drawLayersOnMainThread):
  39188. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
  39189. * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
  39190. (WebCore::CCLayerTreeHostImplProxy::initImplOnCCThread):
  39191. 2011-08-11 Jeff Miller <jeffm@apple.com>
  39192. WebCore::AVFWrapper fails to remove observer for kCACFContextNeedsFlushNotification
  39193. https://bugs.webkit.org/show_bug.cgi?id=66116
  39194. We need to pass 0 as the object parameter to CFNotificationCenterRemoveObserver() when removing
  39195. kCACFContextNeedsFlushNotification to match what we do when we registered for the same
  39196. notification with CFNotificationCenterAddObserver().
  39197. Reviewed by John Sullivan.
  39198. No new tests, uses existing media tests.
  39199. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp:
  39200. (WebCore::AVFWrapper::disconnectAndDeleteAVFWrapper): Pass 0 as the object parameter to CFNotificationCenterRemoveObserver().
  39201. (WebCore::AVFWrapper::notificationCallback): Remove obsolete FIXME comment.
  39202. 2011-08-11 Ryosuke Niwa <rniwa@webkit.org>
  39203. Share code between isStyleSpanOrSpanWithOnlyStyleAttribute, isUnstyledStyleSpan,
  39204. isSpanWithoutAttributesOrUnstyleStyleSpan and replaceWithSpanOrRemoveIfWithoutAttributes
  39205. https://bugs.webkit.org/show_bug.cgi?id=66091
  39206. Reviewed by Tony Chang.
  39207. Extracted common code as hasNoAttributeOrOnlyStyleAttribute. The only behavioral difference is that
  39208. replaceWithSpanOrRemoveIfWithoutAttributes will now remove elements with class="Apple-style-span",
  39209. for which I'm adding a test.
  39210. Test: editing/style/remove-styled-element-with-style-span.html
  39211. * editing/ApplyStyleCommand.cpp:
  39212. (WebCore::hasNoAttributeOrOnlyStyleAttribute):
  39213. (WebCore::isStyleSpanOrSpanWithOnlyStyleAttribute):
  39214. (WebCore::isUnstyledStyleSpan):
  39215. (WebCore::isSpanWithoutAttributesOrUnstyleStyleSpan):
  39216. (WebCore::ApplyStyleCommand::replaceWithSpanOrRemoveIfWithoutAttributes):
  39217. 2011-08-11 Tom Zakrajsek <tomz@codeaurora.org>
  39218. Add HTMLUnknownElement interface as defined in
  39219. http://www.w3.org/TR/html5/elements.html#elements-in-the-dom.
  39220. https://bugs.webkit.org/show_bug.cgi?id=41841
  39221. Reviewed by Adam Barth.
  39222. Test: fast/html/unknown-tag.html
  39223. * CMakeLists.txt:
  39224. * CodeGenerators.pri:
  39225. * DerivedSources.cpp:
  39226. * DerivedSources.make:
  39227. * GNUmakefile.list.am:
  39228. * WebCore.gypi:
  39229. * WebCore.vcproj/WebCore.vcproj:
  39230. * WebCore.xcodeproj/project.pbxproj:
  39231. * bindings/scripts/CodeGeneratorV8.pm:
  39232. (IsDOMNodeType):
  39233. * dom/make_names.pl:
  39234. (defaultParametersHash):
  39235. (buildConstructorMap):
  39236. (printJSElementIncludes):
  39237. (printElementIncludes):
  39238. (printWrapperFunctions):
  39239. (printWrapperFactoryCppFile):
  39240. * html/HTMLTagNames.in:
  39241. * html/HTMLUnknownElement.h: Added.
  39242. (WebCore::HTMLUnknownElement::create):
  39243. (WebCore::HTMLUnknownElement::HTMLUnknownElement):
  39244. * html/HTMLUnknownElement.idl: Added.
  39245. * mathml/mathtags.in:
  39246. * page/DOMWindow.idl:
  39247. * svg/svgtags.in:
  39248. 2011-08-11 Levi Weintraub <leviw@chromium.org>
  39249. Remove dead code: borderInnerRect
  39250. https://bugs.webkit.org/show_bug.cgi?id=66087
  39251. Reviewed by Adam Barth.
  39252. Removing an old and currently unused function: RenderObject::borderInnerRect.
  39253. No new tests since I'm just pruning dead code.
  39254. * rendering/RenderObject.cpp:
  39255. * rendering/RenderObject.h:
  39256. 2011-08-11 Simon Fraser <simon.fraser@apple.com>
  39257. Avoid adding the visible wash layer twice
  39258. https://bugs.webkit.org/show_bug.cgi?id=66098
  39259. Reviewed by Chris Marrin.
  39260. Fix two issues; only create a m_visibleTileWashLayer if we don't have one
  39261. already, and avoid adding multiple m_visibleTileWashLayers to the sublayers
  39262. array when flipping between tiled and non-tiled.
  39263. * platform/graphics/ca/GraphicsLayerCA.cpp:
  39264. (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
  39265. 2011-08-11 Benjamin Poulain <benjamin@webkit.org>
  39266. The PageSerializer should always use absolute URL
  39267. https://bugs.webkit.org/show_bug.cgi?id=66006
  39268. Reviewed by Adam Barth.
  39269. Page serializer resolves every URL for storing the resources.
  39270. The MarkupAccumulator used there should use the same rules in order to
  39271. create a valid file.
  39272. No new tests because the test infrastructure for this
  39273. does not exist with layout tests and the Chromium unit test for
  39274. the serializer are disabled.
  39275. * page/PageSerializer.cpp:
  39276. (WebCore::SerializerMarkupAccumulator::SerializerMarkupAccumulator):
  39277. 2011-08-01 Adrienne Walker <enne@google.com>
  39278. Enable fast path scrolling for composited iframes
  39279. https://bugs.webkit.org/show_bug.cgi?id=65056
  39280. Reviewed by James Robinson.
  39281. iframes with composited layers for content should be able to do fast
  39282. path scrolling because they draw into their own backing. To enable
  39283. this, useSlowRepaints is modified to return true only for the cases
  39284. that apply to composited layers. The fast path scrolling function is
  39285. modified to send the invalidation to the backing itself rather than to
  39286. the window.
  39287. Renamed a number of "slow repaint" functions to be the more accurate
  39288. "cannot blit to window" as it will not always force slow path
  39289. scrolling.
  39290. * page/FrameView.cpp:
  39291. (WebCore::FrameView::reset):
  39292. (WebCore::FrameView::useSlowRepaints):
  39293. (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
  39294. (WebCore::FrameView::contentsInCompositedLayer):
  39295. (WebCore::FrameView::setCannotBlitToWindow):
  39296. (WebCore::FrameView::scrollContentsFastPath):
  39297. (WebCore::FrameView::scrollContentsSlowPath):
  39298. * page/FrameView.h:
  39299. * rendering/RenderLayer.cpp:
  39300. (WebCore::RenderLayer::cannotBlitToWindow):
  39301. * rendering/RenderLayer.h:
  39302. * rendering/RenderView.cpp:
  39303. (WebCore::RenderView::paintBoxDecorations):
  39304. 2011-08-10 Adrienne Walker <enne@google.com>
  39305. Support creating compositing layers for scrollable frames and iframes
  39306. https://bugs.webkit.org/show_bug.cgi?id=55257
  39307. Reviewed by James Robinson.
  39308. When force compositing mode is turned on, iframes with overflow will
  39309. become composited (in order to enable faster scrolling).
  39310. This patch was originally by Daniel Sievers <sievers@chromium.org>.
  39311. Tests: platform/chromium/compositing/force-compositing-mode/no-overflow-iframe-layer.html
  39312. platform/chromium/compositing/force-compositing-mode/overflow-hidden-iframe-layer.html
  39313. platform/chromium/compositing/force-compositing-mode/overflow-iframe-enter-compositing.html
  39314. platform/chromium/compositing/force-compositing-mode/overflow-iframe-layer.html
  39315. platform/chromium/compositing/force-compositing-mode/overflow-iframe-leave-compositing.html
  39316. * rendering/RenderLayerCompositor.cpp:
  39317. (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
  39318. (WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame):
  39319. * rendering/RenderLayerCompositor.h:
  39320. 2011-08-11 Yong Li <yoli@rim.com>
  39321. https://bugs.webkit.org/show_bug.cgi?id=65944
  39322. Replace QuotesData::operator==() with QuotesData::equal(const QuotesData*
  39323. , const QuotesData*) because QuotesData::operator==() were using non-standard
  39324. C++ code that is not supported by all compilers.
  39325. Reviewed by Alexey Proskuryakov.
  39326. No new tests because some existing test cases can show the issue,
  39327. for example, fast/css/content/content-quotes-01.html.
  39328. * rendering/RenderQuote.cpp:
  39329. (WebCore::RenderQuote::styleDidChange):
  39330. * rendering/style/QuotesData.cpp:
  39331. (WebCore::QuotesData::equal):
  39332. * rendering/style/QuotesData.h:
  39333. * rendering/style/RenderStyle.cpp:
  39334. (WebCore::RenderStyle::setQuotes):
  39335. * rendering/style/StyleRareInheritedData.cpp:
  39336. (WebCore::StyleRareInheritedData::operator==):
  39337. 2011-08-11 David Hyatt <hyatt@apple.com>
  39338. https://bugs.webkit.org/show_bug.cgi?id=66075
  39339. Turn on regions and exclusions by default. Fix one stray ifdef that I missed.
  39340. Reviewed by James Robinson.
  39341. * css/CSSComputedStyleDeclaration.cpp:
  39342. (WebCore::contentToCSSValue):
  39343. 2011-08-11 David Reveman <reveman@chromium.org>
  39344. [Chromium] Temporarily disable layer anti-aliasing on ChromeOS.
  39345. https://bugs.webkit.org/show_bug.cgi?id=65922
  39346. Reviewed by James Robinson.
  39347. No new tests.
  39348. * platform/graphics/chromium/LayerTilerChromium.cpp:
  39349. (WebCore::LayerTilerChromium::draw):
  39350. 2011-08-11 Benjamin Poulain <benjamin@webkit.org>
  39351. [Qt] PageSerializer is specific to MHTML, we should not compile it
  39352. https://bugs.webkit.org/show_bug.cgi?id=66054
  39353. Reviewed by Noam Rosenthal.
  39354. PageSerializer is specific to MHTML. Do not build PageSerializer unless MHTML is enabled.
  39355. * WebCore.pro:
  39356. 2011-08-11 Andrey Kosyakov <caseq@chromium.org>
  39357. Web Inspector: [refactoring] make tabbed pane a view
  39358. https://bugs.webkit.org/show_bug.cgi?id=66060
  39359. Reviewed by Pavel Feldman.
  39360. * inspector/front-end/NetworkItemView.js:
  39361. (WebInspector.NetworkItemView):
  39362. (WebInspector.NetworkItemView.prototype.show):
  39363. (WebInspector.NetworkItemView.prototype._selectTab.get if):
  39364. (WebInspector.NetworkItemView.prototype._selectTab):
  39365. * inspector/front-end/TabbedPane.js:
  39366. (WebInspector.TabbedPane):
  39367. * inspector/front-end/inspector.html:
  39368. 2011-08-11 Andrey Kosyakov <caseq@chromium.org>
  39369. Web Inspector: source frame popover simetimes pops up after user switches from Scripts panel
  39370. https://bugs.webkit.org/show_bug.cgi?id=66057
  39371. Reviewed by Pavel Feldman.
  39372. * inspector/front-end/SourceFrame.js: remove popover timer when removing popover.
  39373. (WebInspector.SourceFrame.prototype._mouseDown):
  39374. (WebInspector.SourceFrame.prototype._hidePopup):
  39375. 2011-08-11 Vsevolod Vlasov <vsevik@chromium.org>
  39376. Web Inspector: Scripts panel: display the current search match index in the toolbar.
  39377. https://bugs.webkit.org/show_bug.cgi?id=66048
  39378. Reviewed by Pavel Feldman.
  39379. * English.lproj/localizedStrings.js:
  39380. * inspector/front-end/ScriptsPanel.js:
  39381. (WebInspector.ScriptsPanel.prototype.performSearch.finishedCallback):
  39382. (WebInspector.ScriptsPanel.prototype.performSearch):
  39383. (WebInspector.ScriptsPanel.prototype.jumpToNextSearchResult):
  39384. (WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):
  39385. * inspector/front-end/SearchController.js:
  39386. (WebInspector.SearchController.prototype.updateSearchMatchesCount):
  39387. (WebInspector.SearchController.prototype.updateCurrentMatchIndex):
  39388. (WebInspector.SearchController.prototype.activePanelChanged.performPanelSearch):
  39389. (WebInspector.SearchController.prototype.activePanelChanged):
  39390. (WebInspector.SearchController.prototype._updateSearchMatchesCountAndCurrentMatchIndex):
  39391. (WebInspector.SearchController.prototype._performSearch):
  39392. * inspector/front-end/SourceFrame.js:
  39393. (WebInspector.SourceFrame.prototype.get currentSearchResultIndex):
  39394. 2011-08-11 Xan Lopez <xlopez@igalia.com>
  39395. [GTK] Add another missing file to GNUmakefile
  39396. Reviewed by Gustavo Noronha.
  39397. * GNUmakefile.list.am:
  39398. 2011-08-11 Xan Lopez <xlopez@igalia.com>
  39399. [GTK] Add missing files to GNUMakefile
  39400. Reviewed by Gustavo Noronha.
  39401. * GNUmakefile.am:
  39402. * GNUmakefile.list.am:
  39403. 2011-08-11 Yuta Kitamura <yutak@chromium.org>
  39404. WebSocket: Use PassRefPtr<> in function arguments in WorkerThreadableWebSocketChannel.cpp
  39405. https://bugs.webkit.org/show_bug.cgi?id=66047
  39406. Reviewed by Kent Tamura.
  39407. It's safe to use PassRefPtr<> in these functions because:
  39408. - CrossThreadTask knows how to pass a RefPtr<> across threads, and
  39409. - Call sites do not pass the pointers to anywhere else.
  39410. No change in functionality, thus no new tests.
  39411. * websockets/WorkerThreadableWebSocketChannel.cpp:
  39412. (WebCore::workerContextDidSend):
  39413. (WebCore::workerContextDidGetBufferedAmount):
  39414. (WebCore::workerContextDidConnect):
  39415. (WebCore::workerContextDidReceiveMessage):
  39416. (WebCore::workerContextDidStartClosingHandshake):
  39417. (WebCore::workerContextDidClose):
  39418. 2011-08-11 Pavel Feldman <pfeldman@google.com>
  39419. Web Inspector: [Mac] search as you type does not work with the new indent in the script selector.
  39420. https://bugs.webkit.org/show_bug.cgi?id=66039
  39421. Reviewed by Yury Semikhatsky.
  39422. * inspector/front-end/ScriptsPanel.js:
  39423. (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
  39424. * inspector/front-end/inspector.css:
  39425. (select.status-bar-item):
  39426. 2011-08-11 Alexis Menard <alexis.menard@openbossa.org>
  39427. Unreviewed build fix for Qt.
  39428. Make sure we build when Qt is namespaced.
  39429. * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h:
  39430. 2011-08-11 Pavel Podivilov <podivilov@chromium.org>
  39431. Web Inspector: use source-file-replaced instead of source-file-changed event.
  39432. https://bugs.webkit.org/show_bug.cgi?id=65551
  39433. Reviewed by Pavel Feldman.
  39434. Test: inspector/debugger/source-frame-count.html
  39435. * inspector/front-end/DebuggerPresentationModel.js:
  39436. (WebInspector.DebuggerPresentationModel.prototype._addScript):
  39437. (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeReplaced):
  39438. * inspector/front-end/ScriptsPanel.js:
  39439. (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
  39440. (WebInspector.ScriptsPanel.prototype._sourceFileReplaced):
  39441. * inspector/front-end/SourceFile.js:
  39442. (WebInspector.RawSourceCode):
  39443. (WebInspector.RawSourceCode.prototype.get uiSourceCode):
  39444. (WebInspector.RawSourceCode.prototype.reload):
  39445. * inspector/front-end/inspector.js:
  39446. (WebInspector._createPanels):
  39447. 2011-08-11 Vsevolod Vlasov <vsevik@chromium.org>
  39448. Web Inspector: [REGRESSION] Resources panel search fails when search result is found in a resource used in several frames.
  39449. https://bugs.webkit.org/show_bug.cgi?id=66007
  39450. Reviewed by Pavel Feldman.
  39451. * inspector/front-end/ResourcesPanel.js:
  39452. (WebInspector.ResourcesPanel.prototype.performSearch.callback):
  39453. (WebInspector.ResourcesPanel.prototype.performSearch):
  39454. (WebInspector.FrameTreeElement.prototype.resourceByURL):
  39455. 2011-08-11 Andras Becsi <abecsi@webkit.org>
  39456. [GTK] Fix the build after r92792.
  39457. Rubber-stamped by Csaba Osztrogonác.
  39458. No new tests needed.
  39459. * GNUmakefile.list.am: add missing
  39460. RenderFlowThread.{cpp|h}
  39461. RenderRegion.{cpp|h}
  39462. 2011-08-11 Renata Hodovan <reni@webkit.org>
  39463. [Qt] Fix WebGL on Windows after r92805
  39464. https://bugs.webkit.org/show_bug.cgi?id=66042
  39465. WEBGL is temporarly disabled, because it broked the bots.
  39466. * features.pri:
  39467. 2011-08-11 Pavel Feldman <pfeldman@google.com>
  39468. Web Inspector: do not evaluate watch expressions on load.
  39469. https://bugs.webkit.org/show_bug.cgi?id=66002
  39470. Reviewed by Yury Semikhatsky.
  39471. * inspector/front-end/ScriptsPanel.js:
  39472. (WebInspector.ScriptsPanel.prototype.show):
  39473. (WebInspector.ScriptsPanel.prototype.hide):
  39474. (WebInspector.ScriptsPanel.prototype.reset):
  39475. * inspector/front-end/WatchExpressionsSidebarPane.js:
  39476. (WebInspector.WatchExpressionsSidebarPane):
  39477. (WebInspector.WatchExpressionsSidebarPane.prototype.hide):
  39478. (WebInspector.WatchExpressionsSidebarPane.prototype.reset):
  39479. (WebInspector.WatchExpressionsSidebarPane.prototype.refreshExpressions):
  39480. (WebInspector.WatchExpressionsSidebarPane.prototype._refreshExpressionsIfNeeded):
  39481. (WebInspector.WatchExpressionsSidebarPane.prototype._refreshButtonClicked):
  39482. 2011-08-10 Ryosuke Niwa <rniwa@webkit.org>
  39483. Copying can result in span around block elements on the clipboard
  39484. https://bugs.webkit.org/show_bug.cgi?id=34564
  39485. Reviewed by Tony Chang.
  39486. Completely overhauled the way WebKit preserves style in copy and paste. Instead of wrapping the entire
  39487. serialized contents by a Apple style span, WebKit now adds inline style to the top level elements,
  39488. wrap top level text nodes by a style span.
  39489. * editing/EditingStyle.cpp:
  39490. (WebCore::EditingStyle::collapseTextDecorationProperties): Remove text-decoration property when the value
  39491. of -webkit-text-decorations-in-effect is none.
  39492. (WebCore::EditingStyle::removeStyleFromRulesAndContext): Since display: inline and float: none are now
  39493. added on copy, remove these properties on paste.
  39494. (WebCore::EditingStyle::removePropertiesInElementDefaultStyle): Takes Element* instead of StyledElement*.
  39495. (WebCore::EditingStyle::forceInline): Added.
  39496. (WebCore::getPropertiesNotIn): Remove properties only when the base style has them.
  39497. * editing/EditingStyle.h:
  39498. * editing/markup.cpp:
  39499. (WebCore::StyledMarkupAccumulator::shouldApplyWrappingStyle): Added.
  39500. (WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator): Takes highestNodeToBeSerialized.
  39501. (WebCore::StyledMarkupAccumulator::wrapWithStyleNode): Calls appendStyleNodeOpenTag and styleNodeCloseTag.
  39502. (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag): Extracted from wrapWithStyleNode.
  39503. (WebCore::StyledMarkupAccumulator::styleNodeCloseTag): Ditto.
  39504. (WebCore::StyledMarkupAccumulator::appendText): Wraps text node with a style span if needed.
  39505. Set display: inline and float: none so that it won't be converted to a block on paste side.
  39506. (WebCore::StyledMarkupAccumulator::appendElement): Add wrapping style if appropriate; Remove any properties
  39507. that are overridden by default style and any style that may conflict with the computed style of node to
  39508. avoid modifying the appearance of the serialized nodes.
  39509. (WebCore::StyledMarkupAccumulator::serializeNodes): Compute wrapping style; copies of this style are
  39510. modified as needed when serializing top-level elements or text nodes. We call traverseNodesForSerialization
  39511. with NodeTraversalMode set to DoNotEmitString first to compute the highest node to be serialized. The second
  39512. call to the function actually serialize the nodes.
  39513. (WebCore::StyledMarkupAccumulator::traverseNodesForSerialization): Extracted from serializeNodes.
  39514. Outputs string only if NodeTraversalMode is set to EmitString.
  39515. (WebCore::createMarkup): No longer adds wrapping spans.
  39516. 2011-08-10 Adam Barth <abarth@webkit.org>
  39517. Add tests of optional arguments for Geolocation
  39518. https://bugs.webkit.org/show_bug.cgi?id=65810
  39519. Reviewed by Sam Weinig.
  39520. Geolocation's treatment of not-enough-arguments almost matches the
  39521. spec. getCurrentPosition and watchPosition work properly, but, because
  39522. they are custom, we should use the prettier form of the [Optional]
  39523. attribute.
  39524. Before this series of patches, clearWatch argument was optional, but
  39525. that doesn't match the spec or other browsers. Calling this function
  39526. with zero arguments is pretty non-sensical, so there shouldn't be much
  39527. compat risk to tightening up our behavior here. Matching other
  39528. browsers and the spec seems like the bigger win. If we run into compat
  39529. problems, we can re-evaluate this decision.
  39530. Test: fast/dom/Geolocation/not-enough-arguments.html
  39531. * page/Geolocation.idl:
  39532. 2011-08-10 Tim Horton <timothy_horton@apple.com>
  39533. SVGAElement check for internal non-view anchors is inside ENABLE(SVG_ANIMATION)
  39534. https://bugs.webkit.org/show_bug.cgi?id=66026
  39535. Reviewed by Rob Buis.
  39536. Move only the SMIL-related code inside the ENABLE(SVG_ANIMATION) block.
  39537. No new tests, as it depends on the enabled features.
  39538. * svg/SVGAElement.cpp:
  39539. (WebCore::SVGAElement::defaultEventHandler):
  39540. 2011-08-10 Tim Horton <timothy_horton@apple.com>
  39541. Crash when clicking an SVG <a> link to the local document
  39542. https://bugs.webkit.org/show_bug.cgi?id=66019
  39543. <rdar://problem/9933311>
  39544. Reviewed by Rob Buis.
  39545. Check if the target element of an internal link is valid before
  39546. making use of it.
  39547. Test: svg/custom/click-internal-anchor-with-use-crash.xhtml
  39548. * svg/SVGAElement.cpp:
  39549. (WebCore::SVGAElement::defaultEventHandler):
  39550. 2011-08-10 No'am Rosenthal <noam.rosenthal@nokia.com>
  39551. [Qt] Enable WebGL by default for QtWebKit
  39552. https://bugs.webkit.org/show_bug.cgi?id=65998
  39553. Reviewed by Benjamin Poulain.
  39554. Make ENABLE_WEBGL true by default when Qt is configured with OpenGL.
  39555. No new tests. Build change only.
  39556. * features.pri:
  39557. 2011-08-10 Abhishek Arya <inferno@chromium.org>
  39558. Check that we do not need layout before trying to dirty
  39559. m_originatingLine for our floats.
  39560. https://bugs.webkit.org/show_bug.cgi?id=65938
  39561. Reviewed by Dave Hyatt.
  39562. Test: fast/block/float/float-originating-line-deleted-crash.html
  39563. * rendering/RenderBlock.cpp:
  39564. (WebCore::RenderBlock::removeFloatingObject):
  39565. (WebCore::RenderBlock::clearFloats):
  39566. 2011-08-10 David Hyatt <hyatt@apple.com>
  39567. Add missing regions/exclusions-related files to EFL.
  39568. * CMakeLists.txt:
  39569. 2011-08-10 David Hyatt <hyatt@apple.com>
  39570. Add missing regions/exclusions-related files to Chromium.
  39571. * WebCore.gypi:
  39572. 2011-08-10 David Hyatt <hyatt@apple.com>
  39573. Fix Qt build bustage. Add missing regions/exclusions-related files to their project.
  39574. * WebCore.pro:
  39575. 2011-08-10 David Hyatt <hyatt@apple.com>
  39576. https://bugs.webkit.org/show_bug.cgi?id=66004
  39577. Remove ifdefs for CSS Exclusions (since the feature doesn't exist any longer and has morphed into positioned
  39578. floats instead). Go ahead and yank the ifdefs for CSS Regions also and just turn them on.
  39579. Reviewed by Adam Roben.
  39580. * Configurations/FeatureDefines.xcconfig:
  39581. * css/CSSComputedStyleDeclaration.cpp:
  39582. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  39583. * css/CSSParser.cpp:
  39584. (WebCore::CSSParser::parseValue):
  39585. (WebCore::CSSParser::parseContent):
  39586. (WebCore::CSSParser::parseWrapShape):
  39587. (WebCore::CSSParser::parseFromFlowContent):
  39588. * css/CSSParser.h:
  39589. * css/CSSPrimitiveValue.cpp:
  39590. (WebCore::CSSPrimitiveValue::init):
  39591. (WebCore::CSSPrimitiveValue::cleanup):
  39592. (WebCore::CSSPrimitiveValue::getStringValue):
  39593. (WebCore::CSSPrimitiveValue::cssText):
  39594. * css/CSSPrimitiveValue.h:
  39595. (WebCore::CSSPrimitiveValue::getShapeValue):
  39596. * css/CSSPrimitiveValueMappings.h:
  39597. (WebCore::CSSPrimitiveValue::operator RegionOverflow):
  39598. * css/CSSPropertyNames.in:
  39599. * css/CSSStyleSelector.cpp:
  39600. (WebCore::CSSStyleSelector::applyProperty):
  39601. * css/CSSValueKeywords.in:
  39602. * css/CSSWrapShapes.cpp:
  39603. * css/CSSWrapShapes.h:
  39604. * css/SVGCSSValueKeywords.in:
  39605. * dom/Node.cpp:
  39606. (WebCore::Node::diff):
  39607. * dom/NodeRenderingContext.cpp:
  39608. (WebCore::NodeRenderingContext::NodeRenderingContext):
  39609. (WebCore::NodeRenderingContext::setStyle):
  39610. (WebCore::NodeRenderingContext::nextRenderer):
  39611. (WebCore::NodeRenderingContext::previousRenderer):
  39612. (WebCore::NodeRenderingContext::parentRenderer):
  39613. (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
  39614. (WebCore::NodeRendererFactory::createRendererIfNeeded):
  39615. * dom/NodeRenderingContext.h:
  39616. * rendering/RenderFlowThread.cpp:
  39617. * rendering/RenderFlowThread.h:
  39618. * rendering/RenderLayer.cpp:
  39619. (WebCore::RenderLayer::collectLayers):
  39620. * rendering/RenderObject.cpp:
  39621. (WebCore::RenderObject::createObject):
  39622. * rendering/RenderObject.h:
  39623. (WebCore::RenderObject::isRenderRegion):
  39624. (WebCore::RenderObject::isRenderFlowThread):
  39625. * rendering/RenderRegion.cpp:
  39626. * rendering/RenderRegion.h:
  39627. * rendering/RenderTreeAsText.cpp:
  39628. (WebCore::writeLayers):
  39629. * rendering/RenderView.cpp:
  39630. (WebCore::RenderView::renderFlowThreadWithName):
  39631. * rendering/RenderView.h:
  39632. * rendering/style/RenderStyle.cpp:
  39633. (WebCore::RenderStyle::diff):
  39634. * rendering/style/RenderStyle.h:
  39635. (WebCore::InheritedFlags::regionOverflow):
  39636. (WebCore::InheritedFlags::setRegionOverflow):
  39637. (WebCore::InheritedFlags::initialWrapShape):
  39638. (WebCore::InheritedFlags::initialRegionOverflow):
  39639. * rendering/style/RenderStyleConstants.h:
  39640. * rendering/style/StyleRareNonInheritedData.cpp:
  39641. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  39642. (WebCore::StyleRareNonInheritedData::operator==):
  39643. * rendering/style/StyleRareNonInheritedData.h:
  39644. 2011-08-10 Abhishek Arya <inferno@chromium.org>
  39645. Don't create html renderer for SVG <glyphRef>
  39646. https://bugs.webkit.org/show_bug.cgi?id=66000
  39647. Reviewed by David Hyatt.
  39648. Test: svg/text/glyphref-renderer-create-crash.html
  39649. * svg/SVGGlyphRefElement.h:
  39650. 2011-08-10 Scott Graham <scottmg@google.com>
  39651. OpenTypeSanitizer in chromium gyp files is linked twice
  39652. https://bugs.webkit.org/show_bug.cgi?id=65927
  39653. Reviewed by Adam Barth.
  39654. No new tests, should just build and link properly on all platforms.
  39655. * WebCore.gyp/WebCore.gyp:
  39656. 2011-08-10 Oliver Hunt <oliver@apple.com>
  39657. Make GC checks more aggressive in release builds
  39658. https://bugs.webkit.org/show_bug.cgi?id=66001
  39659. Reviewed by Gavin Barraclough.
  39660. Fix GC bugs found while testing increased validation logic
  39661. * bindings/js/JSDOMWindowShell.cpp:
  39662. (WebCore::JSDOMWindowShell::JSDOMWindowShell):
  39663. * bindings/js/JSDOMWindowShell.h:
  39664. * bindings/js/ScriptController.cpp:
  39665. (WebCore::ScriptController::createWindowShell):
  39666. * bridge/objc/ObjCRuntimeObject.h:
  39667. (JSC::Bindings::ObjCRuntimeObject::create):
  39668. * bridge/objc/ObjCRuntimeObject.mm:
  39669. (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
  39670. * bridge/objc/objc_instance.mm:
  39671. 2011-08-10 Ben Wells <benwells@chromium.org>
  39672. [skia] Move calls to makeGrContextCurrent into clipPathAntiAliased from callers
  39673. https://bugs.webkit.org/show_bug.cgi?id=65733
  39674. This protects against callers of clipPathAntiAliased forgetting to call makeGrContextCurrent.
  39675. Reviewed by James Robinson.
  39676. No change in functionality, no new tests.
  39677. * platform/graphics/skia/GraphicsContextSkia.cpp:
  39678. (WebCore::GraphicsContext::addInnerRoundedRectClip):
  39679. (WebCore::GraphicsContext::clip):
  39680. * platform/graphics/skia/PlatformContextSkia.cpp:
  39681. (WebCore::PlatformContextSkia::clipPathAntiAliased):
  39682. 2011-08-10 Benjamin Poulain <ikipou@gmail.com>
  39683. MarkupAccumulator: make resolution of URLs implicit to appendQuotedURLAttributeValue()
  39684. https://bugs.webkit.org/show_bug.cgi?id=65990
  39685. Reviewed by Ryosuke Niwa.
  39686. Instead of resolving the URLs in the call site of appendQuotedURLAttributeValue(),
  39687. the URL is now resolved if necessary in appendQuotedURLAttributeValue().
  39688. * editing/MarkupAccumulator.cpp:
  39689. (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
  39690. (WebCore::MarkupAccumulator::appendAttribute):
  39691. * editing/MarkupAccumulator.h:
  39692. 2011-08-10 Kenichi Ishibashi <bashi@chromium.org>
  39693. [Chromium] Implement text shaping with font-feature-settings on Linux
  39694. https://bugs.webkit.org/show_bug.cgi?id=65903
  39695. - Modifies Font::codePath() to return Complex when there is font feature settings CSS property.
  39696. - Implements OpenType advanced typography feature using Harfbuzz on Chromium Linux port.
  39697. Reviewed by Adam Barth.
  39698. Test: css3/font-feature-settings-rendering.html
  39699. * platform/graphics/Font.cpp:
  39700. (WebCore::Font::codePath): Returns Complex when fontFeatureSettings exists.
  39701. * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
  39702. (WebCore::setupFontFeatures): Added.
  39703. (WebCore::ComplexTextController::setupFontForScriptRun): Calls setupFontFeatures().
  39704. 2011-08-10 Tony Gentilcore <tonyg@chromium.org>
  39705. [chromium] Notify MemoryCache of decoded data access
  39706. https://bugs.webkit.org/show_bug.cgi?id=65859
  39707. Reviewed by James Robinson.
  39708. This causes us to call CachedImage::didDraw() which calls CachedResource::didAccessDecodedData()
  39709. which updates the LRU for decoded image data and potentially prunes the cache. This is already done
  39710. by almost all of the other ports.
  39711. The decoded bitmaps obviously use quite a bit of memory, so pruning them when necessary is important.
  39712. In my tests, this saves several MB on many popular web pages.
  39713. No new tests because no observable difference in functionality.
  39714. * platform/graphics/skia/ImageSkia.cpp:
  39715. (WebCore::BitmapImage::draw):
  39716. (WebCore::BitmapImageSingleFrameSkia::draw):
  39717. 2011-08-10 Vsevolod Vlasov <vsevik@chromium.org>
  39718. Web Inspector: Remove Network.initialContentSet from protocol, store workers content on backend.
  39719. https://bugs.webkit.org/show_bug.cgi?id=65929
  39720. Reviewed by Pavel Feldman.
  39721. Tests: http/tests/inspector/network/network-shared-worker.html
  39722. http/tests/inspector/network/network-worker.html
  39723. * inspector/Inspector.json:
  39724. * inspector/InspectorInstrumentation.cpp:
  39725. (WebCore::InspectorInstrumentation::didReceiveScriptResponseImpl):
  39726. * inspector/InspectorInstrumentation.h:
  39727. (WebCore::InspectorInstrumentation::didReceiveScriptResponse):
  39728. * inspector/InspectorResourceAgent.cpp:
  39729. (WebCore::InspectorResourceAgent::didReceiveResponse):
  39730. (WebCore::InspectorResourceAgent::setInitialScriptContent):
  39731. (WebCore::InspectorResourceAgent::didReceiveScriptResponse):
  39732. * inspector/InspectorResourceAgent.h:
  39733. * inspector/front-end/NetworkManager.js:
  39734. * inspector/front-end/Resource.js:
  39735. * workers/DefaultSharedWorkerRepository.cpp:
  39736. (WebCore::SharedWorkerScriptLoader::didReceiveResponse):
  39737. * workers/Worker.cpp:
  39738. (WebCore::Worker::didReceiveResponse):
  39739. * workers/Worker.h:
  39740. * workers/WorkerScriptLoader.cpp:
  39741. (WebCore::WorkerScriptLoader::didReceiveResponse):
  39742. * workers/WorkerScriptLoaderClient.h:
  39743. (WebCore::WorkerScriptLoaderClient::didReceiveResponse):
  39744. 2011-08-10 Vsevolod Vlasov <vsevik@chromium.org>
  39745. Web Inspector: [Network] Filtering by stylesheet does not update the # reqs, filesizes.
  39746. https://bugs.webkit.org/show_bug.cgi?id=65515
  39747. Reviewed by Pavel Feldman.
  39748. * English.lproj/localizedStrings.js:
  39749. * inspector/front-end/NetworkPanel.js:
  39750. (WebInspector.NetworkLogView.prototype._updateSummaryBar):
  39751. (WebInspector.NetworkLogView.prototype._updateFilter):
  39752. 2011-08-10 Vsevolod Vlasov <vsevik@chromium.org>
  39753. Web Inspector: console messages markers are lost in Resources panel after page reload
  39754. https://bugs.webkit.org/show_bug.cgi?id=60701
  39755. Reviewed by Pavel Feldman.
  39756. Test: http/tests/inspector/resource-tree/resource-tree-errors-reload.html
  39757. * inspector/front-end/ResourceTreeModel.js:
  39758. (WebInspector.ResourceTreeModel):
  39759. (WebInspector.ResourceTreeModel.prototype._consoleMessageAdded):
  39760. (WebInspector.ResourceTreeModel.prototype._addPendingConsoleMessage):
  39761. (WebInspector.ResourceTreeModel.prototype._addPendingConsoleMessagesToResource):
  39762. (WebInspector.ResourceTreeModel.prototype._addConsoleMessageToResource):
  39763. (WebInspector.ResourceTreeModel.prototype._consoleCleared):
  39764. (WebInspector.ResourceTreeModel.prototype._bindResourceURL):
  39765. 2011-08-10 Lars Knudsen <lars.knudsen@nokia.com>
  39766. Add device specific settings to support viewport computing
  39767. https://bugs.webkit.org/show_bug.cgi?id=65984
  39768. Reviewed by Kenneth Rohde Christiansen.
  39769. Based on patch by Zalan Bujtas.
  39770. Added settings for device size, dpi and layout fallback width
  39771. to support viewport computing.
  39772. * page/Settings.cpp:
  39773. (WebCore::Settings::Settings):
  39774. * page/Settings.h:
  39775. (WebCore::Settings::setLayoutFallbackWidth):
  39776. (WebCore::Settings::layoutFallbackWidth):
  39777. (WebCore::Settings::setDeviceWidth):
  39778. (WebCore::Settings::deviceWidth):
  39779. (WebCore::Settings::setDeviceHeight):
  39780. (WebCore::Settings::deviceHeight):
  39781. (WebCore::Settings::setDeviceDPI):
  39782. (WebCore::Settings::deviceDPI):
  39783. 2011-08-10 Benjamin Poulain <benjamin@webkit.org>
  39784. Unify the way we generate HTML for an image in the Clipboard
  39785. https://bugs.webkit.org/show_bug.cgi?id=58043
  39786. Reviewed by Ryosuke Niwa.
  39787. Unify the way we generate the markup when dragging and image.
  39788. Previously, the code was using the special function imageToMarkup() that was
  39789. spread from the Chromium port.
  39790. That function ignores some edge cases so this patch replace it by the
  39791. more generic MarkupAccumulator (which is also used by the other pasteboard
  39792. actions).
  39793. The MarkupAccumulator was modified because following r61178, the local filepath
  39794. are treated differently (the enum was changed to make this behavior
  39795. explicit).
  39796. Tests: fast/drag-and-drop/drag-and-drop-image-contenteditable.html
  39797. fast/drag-and-drop/drag-and-drop-inputimage-contenteditable.html
  39798. fast/drag-and-drop/drag-and-drop-objectimage-contenteditable.html
  39799. * editing/MarkupAccumulator.cpp:
  39800. (WebCore::MarkupAccumulator::MarkupAccumulator):
  39801. (WebCore::MarkupAccumulator::resolveURLIfNeeded):
  39802. (WebCore::MarkupAccumulator::appendAttribute):
  39803. * editing/MarkupAccumulator.h:
  39804. * editing/markup.cpp:
  39805. * editing/markup.h:
  39806. * page/PageSerializer.cpp:
  39807. (WebCore::SerializerMarkupAccumulator::SerializerMarkupAccumulator):
  39808. * platform/chromium/ClipboardChromium.cpp:
  39809. (WebCore::ClipboardChromium::declareAndWriteDragImage):
  39810. (WebCore::ClipboardChromium::writeRange):
  39811. * platform/chromium/PasteboardChromium.cpp:
  39812. (WebCore::Pasteboard::writeSelection):
  39813. * platform/gtk/ClipboardGtk.cpp:
  39814. (WebCore::ClipboardGtk::declareAndWriteDragImage):
  39815. (WebCore::ClipboardGtk::writeRange):
  39816. * platform/gtk/DataObjectGtk.cpp:
  39817. (WebCore::DataObjectGtk::markup):
  39818. * platform/gtk/PasteboardGtk.cpp:
  39819. (WebCore::Pasteboard::writeSelection):
  39820. (WebCore::Pasteboard::writeImage):
  39821. * platform/haiku/PasteboardHaiku.cpp:
  39822. (WebCore::Pasteboard::writeSelection):
  39823. * platform/qt/ClipboardQt.cpp:
  39824. (WebCore::ClipboardQt::declareAndWriteDragImage):
  39825. (WebCore::ClipboardQt::writeRange):
  39826. * platform/qt/PasteboardQt.cpp:
  39827. (WebCore::Pasteboard::writeSelection):
  39828. * platform/win/ClipboardWin.cpp:
  39829. (WebCore::ClipboardWin::declareAndWriteDragImage):
  39830. 2011-08-10 Pavel Feldman <pfeldman@google.com>
  39831. Web Inspector: auto-completion for string literals doesn't work
  39832. https://bugs.webkit.org/show_bug.cgi?id=65701
  39833. Reviewed by Yury Semikhatsky.
  39834. * inspector/InjectedScript.cpp:
  39835. (WebCore::InjectedScript::evaluateOnCallFrame):
  39836. * inspector/InjectedScript.h:
  39837. * inspector/InjectedScriptSource.js:
  39838. (.):
  39839. ():
  39840. * inspector/Inspector.json:
  39841. * inspector/InspectorDebuggerAgent.cpp:
  39842. (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
  39843. * inspector/InspectorDebuggerAgent.h:
  39844. * inspector/front-end/ConsoleView.js:
  39845. (WebInspector.ConsoleView.prototype._completions.evaluated.getCompletions):
  39846. (WebInspector.ConsoleView.prototype._completions.evaluated):
  39847. (WebInspector.ConsoleView.prototype._completions.receivedPropertyNamesFromEval):
  39848. (WebInspector.ConsoleView.prototype._completions.receivedPropertyNames):
  39849. (WebInspector.ConsoleView.prototype._completions):
  39850. (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
  39851. * inspector/front-end/DebuggerPresentationModel.js:
  39852. (WebInspector.PresenationCallFrame.prototype.evaluate):
  39853. * inspector/front-end/RemoteObject.js:
  39854. (WebInspector.RemoteObject):
  39855. * inspector/front-end/ScriptsPanel.js:
  39856. (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
  39857. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.evaluateInSelectedCallFrame):
  39858. 2011-08-10 Pavel Feldman <pfeldman@google.com>
  39859. Web Inspector: CSS editing file containing tabs leads to the whole file change in revision history.
  39860. https://bugs.webkit.org/show_bug.cgi?id=65959
  39861. Reviewed by Yury Semikhatsky.
  39862. * inspector/front-end/SourceFrame.js:
  39863. (WebInspector.SourceFrame):
  39864. * inspector/front-end/TextEditorModel.js:
  39865. (WebInspector.TextEditorModel.prototype._innerSetText):
  39866. 2011-08-10 Pavel Feldman <pfeldman@chromium.org>
  39867. Web Inspector: there should be a way to tell what properties are non-enumerable when expanding objects.
  39868. https://bugs.webkit.org/show_bug.cgi?id=65518
  39869. Reviewed by Yury Semikhatsky.
  39870. * inspector/InjectedScript.cpp:
  39871. (WebCore::InjectedScript::getProperties):
  39872. * inspector/InjectedScript.h:
  39873. * inspector/InjectedScriptSource.js:
  39874. (.):
  39875. * inspector/Inspector.json:
  39876. * inspector/InspectorRuntimeAgent.cpp:
  39877. (WebCore::InspectorRuntimeAgent::getProperties):
  39878. * inspector/InspectorRuntimeAgent.h:
  39879. * inspector/front-end/ObjectPropertiesSection.js:
  39880. (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick):
  39881. (WebInspector.ObjectPropertyTreeElement.prototype.update):
  39882. * inspector/front-end/RemoteObject.js:
  39883. (WebInspector.RemoteObject.prototype.getOwnProperties):
  39884. (WebInspector.RemoteObject.prototype.getAllProperties):
  39885. (WebInspector.RemoteObjectProperty):
  39886. * inspector/front-end/inspector.css:
  39887. (.section .properties .dimmed):
  39888. 2011-08-10 Alexander Pavlov <apavlov@chromium.org>
  39889. Web Inspector: [REGRESSION] Editor lost after committing a CSS property value for inline style
  39890. https://bugs.webkit.org/show_bug.cgi?id=65918
  39891. Reviewed by Pavel Feldman.
  39892. * inspector/front-end/StylesSidebarPane.js:
  39893. (WebInspector.StylesSidebarPane.prototype._innerUpdate.stylesCallback):
  39894. (WebInspector.StylesSidebarPane.prototype._innerUpdate.computedStyleCallback):
  39895. (WebInspector.StylesSidebarPane.prototype._innerUpdate):
  39896. (WebInspector.StylePropertyTreeElement.prototype):
  39897. (WebInspector.StylePropertyTreeElement.prototype.event):
  39898. (WebInspector.StylePropertyTreeElement.prototype.styleText.updateInterface.majorChange.isRevert.parentPane):
  39899. (WebInspector.StylePropertyTreeElement.prototype.styleText.updateInterface.majorChange.isRevert):
  39900. 2011-08-10 Yuta Kitamura <yutak@chromium.org>
  39901. WebSocket: Add binaryType attribute
  39902. https://bugs.webkit.org/show_bug.cgi?id=65967
  39903. Reviewed by Kent Tamura.
  39904. Add a new attribute "binaryType" to WebSocket. It controls the data type of MessageEvent
  39905. for WebSocket's binary frames.
  39906. Tests: http/tests/websocket/tests/hixie76/undefined-attributes.html
  39907. http/tests/websocket/tests/hybi/binary-type.html
  39908. * websockets/WebSocket.cpp:
  39909. (WebCore::WebSocket::WebSocket):
  39910. (WebCore::WebSocket::binaryType):
  39911. (WebCore::WebSocket::setBinaryType):
  39912. * websockets/WebSocket.h:
  39913. * websockets/WebSocket.idl:
  39914. 2011-08-10 Yuta Kitamura <yutak@chromium.org>
  39915. WebSocket: Accept multiple subprotocols
  39916. https://bugs.webkit.org/show_bug.cgi?id=65247
  39917. Reviewed by Kent Tamura.
  39918. WebSocket constructor should accept an array of subprotocols if hybi-10 protocol is chosen.
  39919. Tests: http/tests/websocket/tests/hybi/invalid-subprotocol-characters.html
  39920. http/tests/websocket/tests/hybi/invalid-subprotocols.html
  39921. http/tests/websocket/tests/hybi/multiple-subprotocols.html
  39922. http/tests/websocket/tests/hybi/workers/multiple-subprotocols.html
  39923. * bindings/js/JSWebSocketCustom.cpp:
  39924. (WebCore::JSWebSocketConstructor::constructJSWebSocket):
  39925. If the second argument of WebSocket constructor is an array, build a Vector<String> and
  39926. pass it to WebSocket::connect().
  39927. * bindings/v8/custom/V8WebSocketCustom.cpp:
  39928. (WebCore::V8WebSocket::constructorCallback):
  39929. Ditto.
  39930. * websockets/WebSocket.cpp:
  39931. (WebCore::isValidProtocolCharacter): Added.
  39932. (WebCore::isValidProtocolString): Added.
  39933. (WebCore::isValidProtocolStringHixie76): Renamed from isValidProtocolString.
  39934. (WebCore::joinStrings):
  39935. (WebCore::WebSocket::connect):
  39936. If an array is provided as a subprotocol, and if hixie-76 is used for this connection, it
  39937. must be converted to a string in the same manner as JavaScript's Array.toString() in order
  39938. to keep compatibility.
  39939. * websockets/WebSocket.h:
  39940. Removed m_protocol because it was not used at all.
  39941. * websockets/WebSocketChannel.cpp:
  39942. (WebCore::WebSocketChannel::disconnect):
  39943. WebSocketChannel may be released before connect() is called, thus m_handshake may be null.
  39944. 2011-08-10 Andrey Kosyakov <caseq@chromium.org>
  39945. Web Inspector: Network panel always displays file:// resources as "(pending)"
  39946. https://bugs.webkit.org/show_bug.cgi?id=65784
  39947. Reviewed by Pavel Feldman.
  39948. Test: inspector/network-status-non-http.html
  39949. * English.lproj/localizedStrings.js:
  39950. * inspector/front-end/NetworkPanel.js:
  39951. (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
  39952. * inspector/front-end/Resource.js:
  39953. (WebInspector.Resource.prototype.isHttpFamily):
  39954. 2011-08-09 Luke Macpherson <macpherson@chromium.org>
  39955. Use setFontDescription helper to set m_fontDirty.
  39956. https://bugs.webkit.org/show_bug.cgi?id=65956
  39957. Reviewed by Dan Bernstein.
  39958. No new tests / trivial cleanup.
  39959. * css/CSSStyleSelector.cpp:
  39960. (WebCore::CSSStyleSelector::applyProperty):
  39961. 2011-08-09 Dominic Cooney <dominicc@chromium.org>
  39962. [V8] The prototype property of DOM constructors should be read-only.
  39963. https://bugs.webkit.org/show_bug.cgi?id=39655
  39964. Reviewed by Dimitri Glazkov.
  39965. Test: fast/dom/prototype-property.html
  39966. * bindings/scripts/CodeGeneratorV8.pm: Make prototypes read-only.
  39967. * bindings/scripts/test/V8/V8TestInterface.cpp: Update expectations.
  39968. (WebCore::ConfigureV8TestInterfaceTemplate):
  39969. * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
  39970. (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
  39971. * bindings/scripts/test/V8/V8TestObj.cpp:
  39972. (WebCore::ConfigureV8TestObjTemplate):
  39973. * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
  39974. (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
  39975. 2011-08-09 Abhishek Arya <inferno@chromium.org>
  39976. Style change not propagating for before, after content
  39977. for table parts.
  39978. https://bugs.webkit.org/show_bug.cgi?id=51862
  39979. Fix by Chris Evans (cevans@chromium.org).
  39980. In the table case, make sure to return the before /
  39981. after parent rather then the before / after node
  39982. itself.
  39983. Reviewed by Simon Fraser.
  39984. * rendering/RenderObjectChildList.cpp:
  39985. (WebCore::findBeforeAfterParent):
  39986. 2011-08-09 Luke Macpherson <macpherson@chromium.org>
  39987. Implement string based properties in CSSStyleApplyProperty.
  39988. https://bugs.webkit.org/show_bug.cgi?id=65662
  39989. Reviewed by Darin Adler.
  39990. No new tests / refactoring only.
  39991. * css/CSSStyleApplyProperty.cpp:
  39992. (WebCore::ApplyPropertyString::ApplyPropertyString):
  39993. Added class to handle string based properties.
  39994. (WebCore::ApplyPropertyString::applyValue):
  39995. (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
  39996. Add initializers for CSSPropertyWebkitHighlight and CSSPropertyWebkitHyphenateCharacter.
  39997. * css/CSSStyleSelector.cpp:
  39998. (WebCore::CSSStyleSelector::applyProperty):
  39999. Remove existing implementations for CSSPropertyWebkitHighlight and CSSPropertyWebkitHyphenateCharacter.
  40000. 2011-08-09 Emil A Eklund <eae@chromium.org>
  40001. Switch RenderBlock to to new layout types
  40002. https://bugs.webkit.org/show_bug.cgi?id=65396
  40003. Reviewed by Eric Seidel.
  40004. No new tests, no new functionality.
  40005. * rendering/RenderBlock.cpp:
  40006. (WebCore::RenderBlock::MarginInfo::MarginInfo):
  40007. (WebCore::RenderBlock::layoutBlock):
  40008. (WebCore::RenderBlock::addOverflowFromChildren):
  40009. (WebCore::RenderBlock::computeOverflow):
  40010. (WebCore::RenderBlock::adjustPositionedBlock):
  40011. (WebCore::RenderBlock::adjustFloatingBlock):
  40012. (WebCore::RenderBlock::collapseMargins):
  40013. (WebCore::RenderBlock::clearFloatsIfNeeded):
  40014. (WebCore::RenderBlock::estimateLogicalTopPosition):
  40015. (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
  40016. (WebCore::RenderBlock::setLogicalLeftForChild):
  40017. (WebCore::RenderBlock::setLogicalTopForChild):
  40018. (WebCore::RenderBlock::layoutBlockChildren):
  40019. (WebCore::RenderBlock::layoutBlockChild):
  40020. (WebCore::RenderBlock::flipFloatForWritingMode):
  40021. (WebCore::RenderBlock::isPointInOverflowControl):
  40022. (WebCore::RenderBlock::hitTestFloats):
  40023. * rendering/RenderBlock.h:
  40024. (WebCore::RenderBlock::logicalTopForFloat):
  40025. (WebCore::RenderBlock::logicalBottomForFloat):
  40026. (WebCore::RenderBlock::logicalLeftForFloat):
  40027. (WebCore::RenderBlock::logicalRightForFloat):
  40028. (WebCore::RenderBlock::logicalWidthForFloat):
  40029. (WebCore::RenderBlock::setLogicalTopForFloat):
  40030. (WebCore::RenderBlock::setLogicalLeftForFloat):
  40031. (WebCore::RenderBlock::setLogicalHeightForFloat):
  40032. (WebCore::RenderBlock::setLogicalWidthForFloat):
  40033. 2011-08-09 Jeffrey Pfau <jpfau@apple.com>
  40034. Initial pass at a new XML tree builder
  40035. https://bugs.webkit.org/show_bug.cgi?id=65803
  40036. Reviewed by Adam Barth.
  40037. * GNUmakefile.list.am:
  40038. * WebCore.gypi:
  40039. * WebCore.pro:
  40040. * WebCore.vcproj/WebCore.vcproj:
  40041. * WebCore.xcodeproj/project.pbxproj:
  40042. * xml/parser/NewXMLDocumentParser.cpp:
  40043. (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
  40044. (WebCore::NewXMLDocumentParser::~NewXMLDocumentParser):
  40045. (WebCore::NewXMLDocumentParser::append):
  40046. (WebCore::NewXMLDocumentParser::finish):
  40047. (WebCore::NewXMLDocumentParser::finishWasCalled):
  40048. * xml/parser/NewXMLDocumentParser.h:
  40049. * xml/parser/XMLTreeBuilder.cpp: Added.
  40050. (WebCore::XMLTreeBuilder::XMLTreeBuilder):
  40051. (WebCore::XMLTreeBuilder::processToken):
  40052. (WebCore::XMLTreeBuilder::pushCurrentNode):
  40053. (WebCore::XMLTreeBuilder::popCurrentNode):
  40054. (WebCore::XMLTreeBuilder::processProcessingInstruction):
  40055. (WebCore::XMLTreeBuilder::processXMLDeclaration):
  40056. (WebCore::XMLTreeBuilder::processDOCTYPE):
  40057. (WebCore::XMLTreeBuilder::processStartTag):
  40058. (WebCore::XMLTreeBuilder::processEndTag):
  40059. (WebCore::XMLTreeBuilder::processCharacter):
  40060. (WebCore::XMLTreeBuilder::processCDATA):
  40061. (WebCore::XMLTreeBuilder::processComment):
  40062. (WebCore::XMLTreeBuilder::processEntity):
  40063. (WebCore::XMLTreeBuilder::processNamespaces):
  40064. (WebCore::XMLTreeBuilder::processAttributes):
  40065. (WebCore::XMLTreeBuilder::processXMLEntity):
  40066. (WebCore::XMLTreeBuilder::processHTMLEntity):
  40067. (WebCore::XMLTreeBuilder::add):
  40068. (WebCore::XMLTreeBuilder::appendToText):
  40069. (WebCore::XMLTreeBuilder::enterText):
  40070. (WebCore::XMLTreeBuilder::exitText):
  40071. (WebCore::XMLTreeBuilder::NodeStackItem::NodeStackItem):
  40072. (WebCore::XMLTreeBuilder::NodeStackItem::hasNamespaceURI):
  40073. (WebCore::XMLTreeBuilder::NodeStackItem::namespaceURI):
  40074. (WebCore::XMLTreeBuilder::NodeStackItem::setNamespaceURI):
  40075. (WebCore::XMLTreeBuilder::NodeStackItem::namespaceForPrefix):
  40076. * xml/parser/XMLTreeBuilder.h: Added.
  40077. (WebCore::XMLTreeBuilder::create):
  40078. (WebCore::XMLTreeBuilder::NodeStackItem::namespaceURI):
  40079. (WebCore::XMLTreeBuilder::NodeStackItem::setNamespaceURI):
  40080. (WebCore::XMLTreeBuilder::NodeStackItem::node):
  40081. (WebCore::XMLTreeBuilder::NodeStackItem::setNode):
  40082. 2011-08-09 Mark Hahnenberg <mhahnenberg@apple.com>
  40083. Add ParentClass typedef in all JSC classes
  40084. https://bugs.webkit.org/show_bug.cgi?id=65731
  40085. Reviewed by Oliver Hunt.
  40086. No new tests.
  40087. Just added the Base typedefs in all the classes that are a subclass of JSCell
  40088. to point at their parent classes. This is a change to support future changes to the way
  40089. constructors and destructors are implemented in JS objects, among other things.
  40090. * bindings/js/JSAudioConstructor.h:
  40091. * bindings/js/JSImageConstructor.h:
  40092. * bindings/js/JSOptionConstructor.h:
  40093. * bindings/scripts/CodeGeneratorJS.pm:
  40094. (GenerateHeader):
  40095. (GenerateConstructorDeclaration):
  40096. * bindings/scripts/test/JS/JSTestInterface.cpp:
  40097. * bindings/scripts/test/JS/JSTestInterface.h:
  40098. * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  40099. * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
  40100. * bindings/scripts/test/JS/JSTestObj.cpp:
  40101. * bindings/scripts/test/JS/JSTestObj.h:
  40102. * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  40103. * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
  40104. * bridge/c/CRuntimeObject.h:
  40105. * bridge/c/c_instance.cpp:
  40106. * bridge/jni/jsc/JavaInstanceJSC.cpp:
  40107. * bridge/jni/jsc/JavaRuntimeObject.h:
  40108. * bridge/objc/ObjCRuntimeObject.h:
  40109. * bridge/objc/objc_runtime.h:
  40110. * bridge/qt/qt_instance.cpp:
  40111. * bridge/qt/qt_pixmapruntime.cpp:
  40112. * bridge/qt/qt_runtime.h:
  40113. * bridge/runtime_array.h:
  40114. * bridge/runtime_method.h:
  40115. * bridge/runtime_object.h:
  40116. * bridge/testqtbindings.cpp:
  40117. (Global::className):
  40118. 2011-08-09 Alexei Svitkine <asvitkine@chromium.org>
  40119. [Chromium] Enable rubber banding when scrolling.
  40120. https://bugs.webkit.org/show_bug.cgi?id=65707
  40121. Reviewed by Dimitri Glazkov.
  40122. No new tests since this is just syncing changes to chromium platform.
  40123. * platform/PlatformWheelEvent.h:
  40124. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  40125. * platform/chromium/ScrollAnimatorChromiumMac.mm:
  40126. (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
  40127. 2011-08-09 Vsevolod Vlasov <vsevik@chromium.org>
  40128. Web Inspector: XHRs end up in the resources panel.
  40129. https://bugs.webkit.org/show_bug.cgi?id=60321
  40130. Reviewed by Pavel Feldman.
  40131. Test: http/tests/inspector/resource-tree/resource-tree-no-xhrs.html
  40132. * inspector/front-end/ResourceTreeModel.js:
  40133. (WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
  40134. * inspector/front-end/ResourcesPanel.js:
  40135. (WebInspector.ResourcesPanel):
  40136. 2011-08-08 Adrienne Walker <enne@google.com>
  40137. Add testing for --force-compositing-mode to windows.internal
  40138. https://bugs.webkit.org/show_bug.cgi?id=65777
  40139. Reviewed by Adam Barth.
  40140. Test: platform/chromium/compositing/force-compositing-mode/force-composite-empty.html
  40141. Move initial initialization to settings caching function so that RLC
  40142. picks up changes to the force compositing mode flag.
  40143. * WebCore.exp.in:
  40144. * rendering/RenderLayerCompositor.cpp:
  40145. (WebCore::RenderLayerCompositor::RenderLayerCompositor):
  40146. (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
  40147. (WebCore::RenderLayerCompositor::updateCompositingLayers):
  40148. * testing/Internals.cpp:
  40149. (WebCore::Internals::setForceCompositingMode):
  40150. * testing/Internals.h:
  40151. * testing/Internals.idl:
  40152. 2011-08-09 Alexandru Chiculita <achicu@adobe.com>
  40153. Fixing 65868 REGRESSION(r92610) caused by 65668 - Optimize floating elements lookup
  40154. https://bugs.webkit.org/show_bug.cgi?id=65871
  40155. Added an interval tree in the FloatingObjects structure. Also added new mechanisms to make
  40156. sure the tree is updated correctly when a float is repositioned.
  40157. Changed the PODIntervalTree to support giving a search adapter that can be implemented by the
  40158. client. I'm not adding a different bug for that because PODIntervalTree is not used anywhere else
  40159. and would be hard to test that the change is not breaking anything.
  40160. Reviewed by Dave Hyatt.
  40161. No new tests, just a refactor on the floating objects data structure.
  40162. * WebCore.xcodeproj/project.pbxproj:
  40163. * platform/PODIntervalTree.h:
  40164. (WebCore::PODIntervalSearchAdapter::PODIntervalSearchAdapter):
  40165. (WebCore::PODIntervalSearchAdapter::lowValue):
  40166. (WebCore::PODIntervalSearchAdapter::highValue):
  40167. (WebCore::PODIntervalSearchAdapter::collectIfNeeded):
  40168. (WebCore::PODIntervalTree::PODIntervalTree):
  40169. (WebCore::PODIntervalTree::allOverlaps):
  40170. (WebCore::PODIntervalTree::allOverlapsWithAdapter):
  40171. (WebCore::PODIntervalTree::searchForOverlapsFrom):
  40172. * platform/PODRedBlackTree.h:
  40173. (WebCore::PODRedBlackTree::PODRedBlackTree):
  40174. (WebCore::PODRedBlackTree::clear):
  40175. (WebCore::PODRedBlackTree::isInitialized):
  40176. (WebCore::PODRedBlackTree::initIfNeeded):
  40177. (WebCore::PODRedBlackTree::add):
  40178. (WebCore::PODRedBlackTree::remove):
  40179. (WebCore::PODRedBlackTree::contains):
  40180. (WebCore::PODRedBlackTree::visitInorder):
  40181. (WebCore::PODRedBlackTree::size):
  40182. (WebCore::PODRedBlackTree::checkInvariants):
  40183. (WebCore::PODRedBlackTree::dump):
  40184. * rendering/RenderBlock.cpp:
  40185. (WebCore::RenderBlock::styleDidChange):
  40186. (WebCore::RenderBlock::addOverflowFromFloats):
  40187. (WebCore::RenderBlock::repaintOverhangingFloats):
  40188. (WebCore::RenderBlock::paintFloats):
  40189. (WebCore::RenderBlock::selectionGaps):
  40190. (WebCore::RenderBlock::insertFloatingObject):
  40191. (WebCore::RenderBlock::removeFloatingObject):
  40192. (WebCore::RenderBlock::removeFloatingObjectsBelow):
  40193. (WebCore::RenderBlock::positionNewFloats):
  40194. (WebCore::::collectIfNeeded):
  40195. (WebCore::RenderBlock::logicalLeftOffsetForLine):
  40196. (WebCore::RenderBlock::logicalRightOffsetForLine):
  40197. (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
  40198. (WebCore::RenderBlock::lowestFloatLogicalBottom):
  40199. (WebCore::RenderBlock::addPositionedFloats):
  40200. (WebCore::RenderBlock::clearFloats):
  40201. (WebCore::RenderBlock::addOverhangingFloats):
  40202. (WebCore::RenderBlock::hasOverhangingFloat):
  40203. (WebCore::RenderBlock::addIntrudingFloats):
  40204. (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
  40205. (WebCore::RenderBlock::hitTestFloats):
  40206. (WebCore::RenderBlock::adjustForBorderFit):
  40207. (WebCore::RenderBlock::FloatingObjects::clear):
  40208. (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject):
  40209. (WebCore::RenderBlock::FloatingObjects::addPlacedObject):
  40210. (WebCore::RenderBlock::FloatingObjects::removePlacedObject):
  40211. (WebCore::RenderBlock::FloatingObjects::add):
  40212. (WebCore::RenderBlock::FloatingObjects::remove):
  40213. (WebCore::RenderBlock::FloatingObjects::computePlacedFloatsTree):
  40214. (WebCore::::string):
  40215. * rendering/RenderBlock.h:
  40216. (WebCore::RenderBlock::FloatingObject::FloatingObject):
  40217. (WebCore::RenderBlock::FloatingObject::setX):
  40218. (WebCore::RenderBlock::FloatingObject::setY):
  40219. (WebCore::RenderBlock::FloatingObject::setWidth):
  40220. (WebCore::RenderBlock::FloatingObject::setHeight):
  40221. (WebCore::RenderBlock::FloatingObject::setFrameRect):
  40222. (WebCore::RenderBlock::FloatingObject::isInPlacedTree):
  40223. (WebCore::RenderBlock::FloatingObject::setIsInPlacedTree):
  40224. (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
  40225. (WebCore::RenderBlock::FloatIntervalSearchAdapter::lowValue):
  40226. (WebCore::RenderBlock::FloatIntervalSearchAdapter::highValue):
  40227. (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
  40228. (WebCore::RenderBlock::FloatingObjects::setHorizontalWritingMode):
  40229. (WebCore::RenderBlock::FloatingObjects::set):
  40230. (WebCore::RenderBlock::FloatingObjects::placedFloatsTree):
  40231. (WebCore::RenderBlock::FloatingObjects::computePlacedFloatsTreeIfNeeded):
  40232. * rendering/RenderBlockLineLayout.cpp:
  40233. (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
  40234. (WebCore::RenderBlock::linkToEndLineIfNeeded):
  40235. (WebCore::RenderBlock::matchedEndLine):
  40236. (WebCore::RenderBlock::positionNewFloatOnLine):
  40237. 2011-08-08 Ryosuke Niwa <rniwa@webkit.org>
  40238. Repeated copy and paste result in nested font elements
  40239. https://bugs.webkit.org/show_bug.cgi?id=65824
  40240. Reviewed by Tony Chang.
  40241. Modified isInlineNodeWithStyle to match font element. Also made the function match strictly with those nodes that
  40242. ApplyStyleCommand may add to avoid removing non-styling elements. And fixed a regression from r81887 that
  40243. ReplaceSelectionCommand may remove non-editing styles such as border in the attempt to avoid nesting styling elements.
  40244. This patch paves the way to fix the bug 34564.
  40245. Tests: editing/pasteboard/paste-text-with-style-2.html
  40246. editing/pasteboard/paste-text-with-style-3.html
  40247. editing/pasteboard/paste-text-with-style-4.html
  40248. * editing/EditingStyle.cpp:
  40249. (WebCore::HTMLElementEquivalent::matches): Takes const Element* instead of Element*.
  40250. (WebCore::HTMLAttributeEquivalent::matches): Ditto.
  40251. (WebCore::htmlElementEquivalents): Extracted from conflictsWithImplicitStyleOfElement.
  40252. (WebCore::EditingStyle::conflictsWithImplicitStyleOfElement): Calls htmlElementEquivalents.
  40253. (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent): Added; determines whether an element is style span
  40254. or a styling element (e.g. b, i, font) possibly with editing style.
  40255. * editing/EditingStyle.h:
  40256. * editing/ReplaceSelectionCommand.cpp:
  40257. (WebCore::isInlineNodeWithStyle): Calls EditingStyle::elementIsStyledSpanOrHTMLEquivalent.
  40258. (WebCore::ReplaceSelectionCommand::doApply): More aggressively avoid nesting styling elements.
  40259. * editing/htmlediting.cpp:
  40260. (WebCore::highestEnclosingNodeOfType):
  40261. * editing/htmlediting.h:
  40262. 2011-08-09 Dmitry Lomov <dslomov@google.com>
  40263. https://bugs.webkit.org/show_bug.cgi?id=65778
  40264. [WebWorkers][chromium] Make statics thread-safe and make sure V8 API accesses correct isolates.
  40265. Reviewed by Dmitry Titov.
  40266. Covered by existing tests.
  40267. * bindings/v8/V8Binding.cpp:
  40268. (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
  40269. * bindings/v8/V8Binding.h:
  40270. (WebCore::V8BindingPerIsolateData::lazyEventListenerToStringTemplate):
  40271. (WebCore::V8BindingPerIsolateData::hiddenPropertyName):
  40272. (WebCore::V8BindingPerIsolateData::globalHandleMap):
  40273. (WebCore::AllowAllocation::AllowAllocation):Moving to V8Binding.h from V8Utilities.h to resolve header dependency.
  40274. (WebCore::AllowAllocation::~AllowAllocation):
  40275. (WebCore::AllowAllocation::current):
  40276. (WebCore::SafeAllocation::newInstance):
  40277. * bindings/v8/V8GCController.cpp:
  40278. (WebCore::currentGlobalHandleMap):
  40279. (WebCore::enumerateGlobalHandles):
  40280. (WebCore::V8GCController::registerGlobalHandle):
  40281. (WebCore::V8GCController::unregisterGlobalHandle):
  40282. * bindings/v8/V8HiddenPropertyName.cpp:
  40283. (WebCore::V8HiddenPropertyName::createString):
  40284. * bindings/v8/V8HiddenPropertyName.h:
  40285. (WebCore::V8HiddenPropertyName::V8HiddenPropertyName):
  40286. * bindings/v8/V8LazyEventListener.cpp:
  40287. (WebCore::V8LazyEventListener::prepareListenerObject):
  40288. * bindings/v8/V8NPObject.cpp:
  40289. * bindings/v8/V8Proxy.cpp:
  40290. (WebCore::V8Proxy::checkNewLegal):
  40291. * bindings/v8/V8Utilities.h:
  40292. * bindings/v8/WorkerContextExecutionProxy.cpp:
  40293. (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
  40294. (WebCore::WorkerContextExecutionProxy::initIsolate):
  40295. * bindings/v8/WorkerContextExecutionProxy.h:
  40296. * bindings/v8/WorkerScriptController.cpp:
  40297. (WebCore::WorkerScriptController::scheduleExecutionTermination):
  40298. 2011-08-09 Steve Block <steveblock@google.com>
  40299. JavaString is not needed by V8
  40300. https://bugs.webkit.org/show_bug.cgi?id=65909
  40301. Removes the JavaString wrapper class, moves the JSC implementation
  40302. to JavaStringJSC.h and removes the V8 implementation.
  40303. Reviewed by Alexey Proskuryakov.
  40304. No new tests, refactoring only.
  40305. * GNUmakefile.list.am:
  40306. * WebCore.gypi:
  40307. * WebCore.xcodeproj/project.pbxproj:
  40308. * bridge/jni/JavaString.h: Removed.
  40309. * bridge/jni/jni_jsobject.mm:
  40310. * bridge/jni/jsc/JavaFieldJSC.h:
  40311. * bridge/jni/jsc/JavaInstanceJSC.cpp:
  40312. * bridge/jni/jsc/JavaMethodJSC.h:
  40313. * bridge/jni/jsc/JavaStringJSC.h:
  40314. (JSC::Bindings::JavaString::JavaString):
  40315. (JSC::Bindings::JavaString::~JavaString):
  40316. (JSC::Bindings::JavaString::init):
  40317. * bridge/jni/v8/JavaStringV8.h: Removed.
  40318. 2011-08-09 Abhishek Arya <inferno@chromium.org>
  40319. Regression(83075): Fix updateAlwaysCreateLineBoxes on information
  40320. about full layout which is needed when dirtying lineboxes.
  40321. https://bugs.webkit.org/show_bug.cgi?id=65924
  40322. Reviewed by Dave Hyatt.
  40323. Test: fast/inline/update-always-create-line-boxes-full-layout-crash.html
  40324. * rendering/RenderBlockLineLayout.cpp:
  40325. (WebCore::RenderBlock::layoutInlineChildren):
  40326. * rendering/RenderInline.cpp:
  40327. (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
  40328. * rendering/RenderInline.h:
  40329. 2011-08-09 Nate Chapin <japhet@chromium.org>
  40330. Remove receivedCancellation() from SubresourceLoaderClient.
  40331. http://bugs.webkit.org/show_bug.cgi?id=65330
  40332. Reviewed by Alexey Proskuryakov.
  40333. No new tests, no change in functionality intended.
  40334. * loader/DocumentThreadableLoader.cpp:
  40335. * loader/DocumentThreadableLoader.h:
  40336. * loader/SubresourceLoader.cpp:
  40337. * loader/SubresourceLoader.h:
  40338. * loader/SubresourceLoaderClient.h:
  40339. * loader/ThreadableLoaderClient.h:
  40340. * loader/WorkerThreadableLoader.cpp:
  40341. * loader/WorkerThreadableLoader.h:
  40342. * notifications/Notification.cpp:
  40343. * notifications/Notification.h: Remove receivedCancellation() since it's
  40344. identical to didFail(), which is always called immediately after.
  40345. * workers/WorkerScriptLoader.cpp:
  40346. * workers/WorkerScriptLoader.h: Remove receivedCancellation() since it's
  40347. identical to didFail(), which is always called immediately after.
  40348. * xml/XMLHttpRequest.cpp:
  40349. * xml/XMLHttpRequest.h: Remove receivedCancellation(). All it does is
  40350. set m_response, which is cleared in didFail() before it can be used.
  40351. 2011-08-09 Steve Block <steveblock@google.com>
  40352. Java Bridge leaks local references
  40353. https://bugs.webkit.org/show_bug.cgi?id=64320
  40354. Reviewed by Alexey Proskuryakov.
  40355. No new tests as this is just an optimization.
  40356. * bridge/jni/jsc/JavaFieldJSC.cpp:
  40357. (JavaField::JavaField):
  40358. * bridge/jni/jsc/JavaMethodJSC.cpp:
  40359. (JavaMethod::JavaMethod):
  40360. 2011-08-09 Pavel Feldman <pfeldman@google.com>
  40361. Web Inspector: files from different domains are mixed in the file selector in Scripts panel
  40362. https://bugs.webkit.org/show_bug.cgi?id=65601
  40363. Reviewed by Yury Semikhatsky.
  40364. * inspector/front-end/ScriptsPanel.js:
  40365. (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
  40366. (WebInspector.ScriptsPanel.prototype._folderAndDisplayNameForScriptURL):
  40367. (WebInspector.ScriptsPanel.prototype.reset):
  40368. * inspector/front-end/inspector.css:
  40369. (select.status-bar-item):
  40370. 2011-08-09 Pavel Feldman <pfeldman@google.com>
  40371. Web Inspector: provide a way to hide user agent styles
  40372. https://bugs.webkit.org/show_bug.cgi?id=37766
  40373. Reviewed by Yury Semikhatsky.
  40374. Test: inspector/styles/show-user-agent-styles.html
  40375. * English.lproj/localizedStrings.js:
  40376. * inspector/front-end/Settings.js:
  40377. (WebInspector.Settings):
  40378. * inspector/front-end/SettingsScreen.js:
  40379. (WebInspector.SettingsScreen):
  40380. * inspector/front-end/StylesSidebarPane.js:
  40381. (WebInspector.StylesSidebarPane):
  40382. (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules.get continue):
  40383. (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
  40384. (WebInspector.StylesSidebarPane.prototype._createElementStatePane):
  40385. (WebInspector.StylesSidebarPane.prototype._showUserAgentStylesSettingChanged):
  40386. 2011-08-09 Steve Block <steveblock@google.com>
  40387. JavaMethodJobject is no longer needed by V8
  40388. https://bugs.webkit.org/show_bug.cgi?id=65910
  40389. Reviewed by Tony Gentilcore.
  40390. Removes the JavaMethod interface and moves the JavaMethodJobject
  40391. implementation to bridge/jni/jsc/JavaMethodJSC.[cpp|h].
  40392. No new tests, refactoring only.
  40393. * GNUmakefile.list.am:
  40394. * WebCore.gypi:
  40395. * WebCore.xcodeproj/project.pbxproj:
  40396. * bridge/jni/JavaMethod.h: Removed.
  40397. * bridge/jni/jsc/JavaClassJSC.cpp:
  40398. (JavaClass::JavaClass):
  40399. * bridge/jni/jsc/JavaFieldJSC.h:
  40400. * bridge/jni/jsc/JavaInstanceJSC.cpp:
  40401. * bridge/jni/jsc/JavaMethodJSC.cpp: Renamed from Source/WebCore/bridge/jni/JavaMethodJobject.cpp.
  40402. (JavaMethod::JavaMethod):
  40403. (JavaMethod::~JavaMethod):
  40404. (appendClassName):
  40405. (JavaMethod::signature):
  40406. * bridge/jni/jsc/JavaMethodJSC.h: Renamed from Source/WebCore/bridge/jni/JavaMethodJobject.h.
  40407. (JSC::Bindings::JavaMethod::name):
  40408. (JSC::Bindings::JavaMethod::returnTypeClassName):
  40409. (JSC::Bindings::JavaMethod::parameterAt):
  40410. (JSC::Bindings::JavaMethod::returnType):
  40411. (JSC::Bindings::JavaMethod::isStatic):
  40412. (JSC::Bindings::JavaMethod::numParameters):
  40413. * bridge/jni/v8/JavaNPObjectV8.cpp:
  40414. 2011-08-09 Andrey Kosyakov <caseq@chromium.org>
  40415. Web Inspector: assertion failure in InspectorDOMStorageResource::bind when opening inspector
  40416. https://bugs.webkit.org/show_bug.cgi?id=65912
  40417. Reviewed by Pavel Feldman.
  40418. * inspector/InspectorDOMStorageAgent.cpp:
  40419. (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
  40420. 2011-08-09 Yury Semikhatsky <yurys@chromium.org>
  40421. Web Inspector: get rid of InspectorInstrumentation::inspectorAgents() map
  40422. https://bugs.webkit.org/show_bug.cgi?id=54678
  40423. Added two functions for retrieving InstrumentingAgents from Page and WorkerContext.
  40424. Reviewed by Pavel Feldman.
  40425. * CMakeLists.txt:
  40426. * GNUmakefile.list.am:
  40427. * WebCore.gypi:
  40428. * WebCore.pro:
  40429. * WebCore.vcproj/WebCore.vcproj:
  40430. * WebCore.xcodeproj/project.pbxproj:
  40431. * inspector/InspectorController.cpp:
  40432. (WebCore::InspectorController::InspectorController):
  40433. (WebCore::InspectorController::inspectedPageDestroyed):
  40434. * inspector/InspectorController.h:
  40435. * inspector/InspectorInstrumentation.cpp:
  40436. (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
  40437. * inspector/InspectorInstrumentation.h:
  40438. * inspector/InstrumentingAgents.cpp: Copied from Source/WebCore/inspector/WorkerInspectorController.h.
  40439. (WebCore::instrumentationForPage):
  40440. (WebCore::instrumentationForWorkerContext):
  40441. * inspector/InstrumentingAgents.h:
  40442. * inspector/WorkerInspectorController.h:
  40443. 2011-08-09 Vsevolod Vlasov <vsevik@chromium.org>
  40444. Web Inspector: Add "Refresh" to context menu of resources panel cookies view.
  40445. https://bugs.webkit.org/show_bug.cgi?id=65854
  40446. Reviewed by Pavel Feldman.
  40447. * inspector/front-end/CookieItemsView.js:
  40448. (WebInspector.CookieItemsView):
  40449. (WebInspector.CookieItemsView.prototype._updateWithCookies):
  40450. (WebInspector.CookieItemsView.prototype._refreshButtonClicked):
  40451. (WebInspector.CookieItemsView.prototype._contextMenu):
  40452. * inspector/front-end/CookiesTable.js:
  40453. (WebInspector.CookiesTable):
  40454. * inspector/front-end/DataGrid.js:
  40455. (WebInspector.DataGrid.prototype.get refreshCallback):
  40456. (WebInspector.DataGrid.prototype.set refreshCallback):
  40457. (WebInspector.DataGrid.prototype._contextMenuInDataTable):
  40458. * inspector/front-end/ResourceCookiesView.js:
  40459. (WebInspector.ResourceCookiesView.prototype._buildCookiesTable):
  40460. 2011-08-09 Vsevolod Vlasov <vsevik@chromium.org>
  40461. Web Inspector: Resources panel does not show main resource cookies.
  40462. https://bugs.webkit.org/show_bug.cgi?id=65770
  40463. Reviewed by Pavel Feldman.
  40464. Test: http/tests/inspector/resource-main-cookies.php
  40465. * inspector/InspectorPageAgent.cpp:
  40466. (WebCore::allResourcesURLsForFrame):
  40467. (WebCore::InspectorPageAgent::getCookies):
  40468. (WebCore::InspectorPageAgent::deleteCookie):
  40469. 2011-08-09 Sheriff Bot <webkit.review.bot@gmail.com>
  40470. Unreviewed, rolling out r92670.
  40471. http://trac.webkit.org/changeset/92670
  40472. https://bugs.webkit.org/show_bug.cgi?id=65905
  40473. It broke 3 inspector tests (Requested by Ossy on #webkit).
  40474. * inspector/InjectedScript.cpp:
  40475. (WebCore::InjectedScript::getProperties):
  40476. * inspector/InjectedScript.h:
  40477. * inspector/InjectedScriptSource.js:
  40478. (.):
  40479. * inspector/Inspector.json:
  40480. * inspector/InspectorRuntimeAgent.cpp:
  40481. (WebCore::InspectorRuntimeAgent::getProperties):
  40482. * inspector/InspectorRuntimeAgent.h:
  40483. * inspector/front-end/ObjectPropertiesSection.js:
  40484. (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick):
  40485. (WebInspector.ObjectPropertyTreeElement.prototype.update):
  40486. * inspector/front-end/RemoteObject.js:
  40487. (WebInspector.RemoteObject.prototype.getOwnProperties):
  40488. (WebInspector.RemoteObject.prototype.getAllProperties):
  40489. (WebInspector.RemoteObject.prototype._getProperties.remoteObjectBinder):
  40490. (WebInspector.RemoteObject.prototype._getProperties):
  40491. (WebInspector.RemoteObjectProperty):
  40492. * inspector/front-end/inspector.css:
  40493. (.section .properties .value.dimmed):
  40494. 2011-08-09 Pavel Feldman <pfeldman@google.com>
  40495. Web Inspector: there should be a way to tell what properties are non-enumerable when expanding objects.
  40496. https://bugs.webkit.org/show_bug.cgi?id=65518
  40497. Reviewed by Yury Semikhatsky.
  40498. * inspector/InjectedScript.cpp:
  40499. (WebCore::InjectedScript::getProperties):
  40500. * inspector/InjectedScript.h:
  40501. * inspector/InjectedScriptSource.js:
  40502. (.):
  40503. * inspector/Inspector.json:
  40504. * inspector/InspectorRuntimeAgent.cpp:
  40505. (WebCore::InspectorRuntimeAgent::getProperties):
  40506. * inspector/InspectorRuntimeAgent.h:
  40507. * inspector/front-end/ObjectPropertiesSection.js:
  40508. (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick):
  40509. (WebInspector.ObjectPropertyTreeElement.prototype.update):
  40510. * inspector/front-end/RemoteObject.js:
  40511. (WebInspector.RemoteObject.prototype.getOwnProperties):
  40512. (WebInspector.RemoteObject.prototype.getAllProperties):
  40513. (WebInspector.RemoteObjectProperty):
  40514. * inspector/front-end/inspector.css:
  40515. (.section .properties .dimmed):
  40516. 2011-08-08 Steve Block <steveblock@google.com>
  40517. Removes V8's JavaInstanceJobject, JavaClassJobject and JavaFieldJobject.
  40518. https://bugs.webkit.org/show_bug.cgi?id=57859
  40519. Reviewed by Alexey Proskuryakov.
  40520. This effectively reverts the changes made in Bugs 55383, 57533 and
  40521. 55766. These classes were only used by Android. In the future, Android
  40522. will use the Chromium WebKit API to implement the Java bridge.
  40523. Towards this goal, this patch ...
  40524. - Simplfies the JavaInstance, JavaClass and JavaField interfaces for V8.
  40525. These interfaces will be implemented in Chromium's WebKit layer.
  40526. - Adds a JavaMethod interface for V8
  40527. - Removes the jvalue <-> JavaValue conversion functions for V8, which are
  40528. now superfluous
  40529. - Removes the calls to JavaInstance::begin()/end() for V8, which are now
  40530. superfluous
  40531. Will be covered by existing tests once the Chromium WebKit layer is complete.
  40532. * WebCore.gypi:
  40533. * bridge/jni/v8/JNIUtilityPrivate.cpp:
  40534. * bridge/jni/v8/JNIUtilityPrivate.h:
  40535. * bridge/jni/v8/JavaClassJobjectV8.cpp: Removed.
  40536. * bridge/jni/v8/JavaFieldJobjectV8.cpp: Removed.
  40537. * bridge/jni/v8/JavaFieldJobjectV8.h: Removed.
  40538. * bridge/jni/v8/JavaFieldV8.h:
  40539. * bridge/jni/v8/JavaInstanceJobjectV8.cpp: Removed.
  40540. * bridge/jni/v8/JavaInstanceJobjectV8.h: Removed.
  40541. * bridge/jni/v8/JavaInstanceV8.h:
  40542. * bridge/jni/v8/JavaMethodV8.h:
  40543. (JSC::Bindings::JavaMethod::~JavaMethod):
  40544. * bridge/jni/v8/JavaNPObjectV8.cpp:
  40545. (JSC::Bindings::JavaNPObjectHasMethod):
  40546. (JSC::Bindings::JavaNPObjectInvoke):
  40547. (JSC::Bindings::JavaNPObjectHasProperty):
  40548. (JSC::Bindings::JavaNPObjectGetProperty):
  40549. 2011-08-08 Chris Rogers <crogers@google.com>
  40550. Fix thread-safety of AudioNode deletion
  40551. https://bugs.webkit.org/show_bug.cgi?id=65888
  40552. Reviewed by Kenneth Russell
  40553. No new tests - JavaScript API is not affected.
  40554. * webaudio/AudioContext.cpp:
  40555. (WebCore::AudioContext::AudioContext):
  40556. (WebCore::AudioContext::constructCommon):
  40557. (WebCore::AudioContext::~AudioContext):
  40558. (WebCore::AudioContext::uninitialize):
  40559. (WebCore::AudioContext::handlePostRenderTasks):
  40560. (WebCore::AudioContext::scheduleNodeDeletion):
  40561. (WebCore::AudioContext::deleteMarkedNodesDispatch):
  40562. (WebCore::AudioContext::deleteMarkedNodes):
  40563. * webaudio/AudioContext.h:
  40564. 2011-08-08 Chris Marrin <cmarrin@apple.com>
  40565. Fix build breakage caused by http://trac.webkit.org/changeset/92651
  40566. Unreviewed.
  40567. * WebCore.exp.in:
  40568. 2011-08-08 Chris Marrin <cmarrin@apple.com>
  40569. Logic to compute visible display rect in GraphicsLayerCA::syncCompositingState
  40570. https://bugs.webkit.org/show_bug.cgi?id=65708
  40571. Add logic to syncCompositingState to compute the visible rect for each
  40572. layer. This can be used to synchronously render the visible tiles of a
  40573. TiledLayer and avoid the flashing that often occurs when tiles are rendered
  40574. asynchronously. A new synchronouslyDisplayTilesInRect is also added to do
  40575. the actual rendering, but the call is not currently being made.
  40576. Reviewed by Simon Fraser.
  40577. * page/FrameView.cpp:
  40578. (WebCore::FrameView::syncCompositingStateForThisFrame):
  40579. * platform/graphics/GraphicsLayer.h:
  40580. (WebCore::GraphicsLayer::syncCompositingState):
  40581. * platform/graphics/ca/GraphicsLayerCA.cpp:
  40582. (WebCore::GraphicsLayerCA::syncCompositingState):
  40583. (WebCore::GraphicsLayerCA::recursiveCommitChanges):
  40584. (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
  40585. (WebCore::GraphicsLayerCA::updateSublayerList):
  40586. (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
  40587. * platform/graphics/ca/GraphicsLayerCA.h:
  40588. * platform/graphics/ca/PlatformCALayer.h:
  40589. * platform/graphics/ca/mac/PlatformCALayerMac.mm:
  40590. (PlatformCALayer::synchronouslyDisplayTilesInRect):
  40591. * platform/graphics/transforms/TransformState.cpp:
  40592. (WebCore::TransformState::operator=):
  40593. * platform/graphics/transforms/TransformState.h:
  40594. (WebCore::TransformState::TransformState):
  40595. * rendering/RenderLayerCompositor.cpp:
  40596. (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
  40597. 2011-08-08 Sheriff Bot <webkit.review.bot@gmail.com>
  40598. Unreviewed, rolling out r92619.
  40599. http://trac.webkit.org/changeset/92619
  40600. https://bugs.webkit.org/show_bug.cgi?id=65881
  40601. This patch breaks chromium canary (Requested by jianli on
  40602. #webkit).
  40603. * bindings/v8/V8Binding.h:
  40604. * bindings/v8/V8GCController.cpp:
  40605. (WebCore::globalHandleMap):
  40606. (WebCore::enumerateGlobalHandles):
  40607. (WebCore::V8GCController::registerGlobalHandle):
  40608. (WebCore::V8GCController::unregisterGlobalHandle):
  40609. * bindings/v8/V8HiddenPropertyName.cpp:
  40610. (WebCore::V8HiddenPropertyName::createString):
  40611. * bindings/v8/V8HiddenPropertyName.h:
  40612. * bindings/v8/V8LazyEventListener.cpp:
  40613. (WebCore::V8LazyEventListener::prepareListenerObject):
  40614. * bindings/v8/V8NPObject.cpp:
  40615. * bindings/v8/V8Proxy.cpp:
  40616. (WebCore::V8Proxy::checkNewLegal):
  40617. * bindings/v8/V8Utilities.h:
  40618. (WebCore::AllowAllocation::AllowAllocation):
  40619. (WebCore::AllowAllocation::~AllowAllocation):
  40620. (WebCore::SafeAllocation::newInstance):
  40621. * bindings/v8/WorkerContextExecutionProxy.cpp:
  40622. (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
  40623. (WebCore::WorkerContextExecutionProxy::initV8):
  40624. * bindings/v8/WorkerContextExecutionProxy.h:
  40625. * bindings/v8/WorkerScriptController.cpp:
  40626. (WebCore::WorkerScriptController::scheduleExecutionTermination):
  40627. 2011-08-08 Scott Byer <scottbyer@chromium.org>
  40628. Scroll animator changes to nail the framerate
  40629. https://bugs.webkit.org/show_bug.cgi?id=65645
  40630. Reviewed by James Robinson.
  40631. Partial test in ScrollAnimatorNoneTest::Enabled.
  40632. * platform/ScrollAnimatorNone.cpp:
  40633. (WebCore::ScrollAnimatorNone::PerAxisData::PerAxisData):
  40634. (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
  40635. (WebCore::ScrollAnimatorNone::PerAxisData::animateScroll):
  40636. (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
  40637. (WebCore::ScrollAnimatorNone::~ScrollAnimatorNone):
  40638. (WebCore::ScrollAnimatorNone::scroll):
  40639. (WebCore::ScrollAnimatorNone::scrollToOffsetWithoutAnimation):
  40640. (WebCore::ScrollAnimatorNone::animationTimerFired):
  40641. (WebCore::ScrollAnimatorNone::stopAnimationTimerIfNeeded):
  40642. * platform/ScrollAnimatorNone.h:
  40643. 2011-08-08 Emil A Eklund <eae@chromium.org>
  40644. Switch legacy flexbox to to new layout types
  40645. https://bugs.webkit.org/show_bug.cgi?id=65340
  40646. Reviewed by Eric Seidel.
  40647. No new tests, no new functionality.
  40648. * rendering/RenderDeprecatedFlexibleBox.cpp:
  40649. (WebCore::RenderDeprecatedFlexibleBox::calcHorizontalPrefWidths):
  40650. (WebCore::RenderDeprecatedFlexibleBox::calcVerticalPrefWidths):
  40651. (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
  40652. (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
  40653. (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
  40654. (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
  40655. (WebCore::RenderDeprecatedFlexibleBox::placeChild):
  40656. (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
  40657. * rendering/RenderDeprecatedFlexibleBox.h:
  40658. 2011-08-08 Emil A Eklund <eae@chromium.org>
  40659. Switch RenderStyle to to new layout types
  40660. https://bugs.webkit.org/show_bug.cgi?id=65208
  40661. Reviewed by Eric Seidel.
  40662. No new tests, no new functionality.
  40663. * rendering/RenderBox.cpp:
  40664. (WebCore::RenderBox::addShadowOverflow):
  40665. * rendering/style/RenderStyle.cpp:
  40666. (WebCore::RenderStyle::applyTransform):
  40667. (WebCore::calcRadiiFor):
  40668. (WebCore::RenderStyle::getRoundedBorderFor):
  40669. (WebCore::RenderStyle::getRoundedInnerBorderFor):
  40670. * rendering/style/RenderStyle.h:
  40671. * rendering/style/ShadowData.cpp:
  40672. (WebCore::ShadowData::adjustRectForShadow):
  40673. 2011-08-08 Cris Neckar <cdn@chromium.org>
  40674. Remove counter nodes from the tree and fix-up children when they are removed from the counter map.
  40675. https://bugs.webkit.org/show_bug.cgi?id=65346
  40676. Reviewed by Adam Barth.
  40677. Covered by existing CSS counter tests.
  40678. * rendering/CounterNode.cpp:
  40679. (WebCore::CounterNode::~CounterNode):
  40680. 2011-08-08 Tony Chang <tony@chromium.org>
  40681. implement basic horizontal flexing
  40682. https://bugs.webkit.org/show_bug.cgi?id=65045
  40683. Reviewed by David Hyatt.
  40684. Test: css3/flexbox/001.html
  40685. * css/CSSPrimitiveValueMappings.h:
  40686. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  40687. * rendering/RenderBox.cpp:
  40688. (WebCore::RenderBox::computeLogicalWidth):
  40689. * rendering/RenderFlexibleBox.cpp:
  40690. (WebCore::RenderFlexibleBox::FlexibleBoxIterator::FlexibleBoxIterator): flexitem iterator
  40691. (WebCore::RenderFlexibleBox::FlexibleBoxIterator::first):
  40692. (WebCore::RenderFlexibleBox::FlexibleBoxIterator::next):
  40693. (WebCore::RenderFlexibleBox::FlexibleBoxIterator::reset):
  40694. (WebCore::RenderFlexibleBox::layoutBlock):
  40695. (WebCore::preferredFlexItemContentWidth): Returns the intrinsic size of a flex item's content.
  40696. (WebCore::RenderFlexibleBox::layoutHorizontalBlock): Runs the flex algorithm
  40697. (WebCore::preferredSizeForMarginsAndPadding):
  40698. (WebCore::RenderFlexibleBox::computePreferredSize): Calculate the preferred size of the
  40699. flex items.
  40700. * rendering/RenderFlexibleBox.h:
  40701. * rendering/RenderObject.cpp:
  40702. (WebCore::RenderObject::createObject):
  40703. * rendering/style/RenderStyleConstants.h:
  40704. 2011-08-08 David Grogan <dgrogan@chromium.org>
  40705. Add detail to ASSERT message in IDBTransaction::enqueueEvent
  40706. https://bugs.webkit.org/show_bug.cgi?id=65735
  40707. I've hit this a few times but haven't been able to pin it down. The
  40708. extra detail could be helpful.
  40709. Reviewed by Nate Chapin.
  40710. No new tests, just an error message.
  40711. * storage/IDBTransaction.cpp:
  40712. (WebCore::IDBTransaction::enqueueEvent):
  40713. 2011-08-08 Sheriff Bot <webkit.review.bot@gmail.com>
  40714. Unreviewed, rolling out r92610.
  40715. http://trac.webkit.org/changeset/92610
  40716. https://bugs.webkit.org/show_bug.cgi?id=65868
  40717. Caused assertion failures when running fast/multicol tests
  40718. (Requested by andersca on #webkit).
  40719. * WebCore.xcodeproj/project.pbxproj:
  40720. * platform/PODIntervalTree.h:
  40721. (WebCore::PODIntervalTree::allOverlaps):
  40722. (WebCore::PODIntervalTree::searchForOverlapsFrom):
  40723. * platform/PODRedBlackTree.h:
  40724. (WebCore::PODRedBlackTree::add):
  40725. (WebCore::PODRedBlackTree::remove):
  40726. (WebCore::PODRedBlackTree::contains):
  40727. (WebCore::PODRedBlackTree::visitInorder):
  40728. (WebCore::PODRedBlackTree::size):
  40729. (WebCore::PODRedBlackTree::checkInvariants):
  40730. (WebCore::PODRedBlackTree::dump):
  40731. * rendering/RenderBlock.cpp:
  40732. (WebCore::RenderBlock::styleDidChange):
  40733. (WebCore::RenderBlock::addOverflowFromFloats):
  40734. (WebCore::RenderBlock::repaintOverhangingFloats):
  40735. (WebCore::RenderBlock::paintFloats):
  40736. (WebCore::RenderBlock::selectionGaps):
  40737. (WebCore::RenderBlock::insertFloatingObject):
  40738. (WebCore::RenderBlock::removeFloatingObject):
  40739. (WebCore::RenderBlock::removeFloatingObjectsBelow):
  40740. (WebCore::RenderBlock::positionNewFloats):
  40741. (WebCore::RenderBlock::logicalLeftOffsetForLine):
  40742. (WebCore::RenderBlock::logicalRightOffsetForLine):
  40743. (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
  40744. (WebCore::RenderBlock::lowestFloatLogicalBottom):
  40745. (WebCore::RenderBlock::addPositionedFloats):
  40746. (WebCore::RenderBlock::clearFloats):
  40747. (WebCore::RenderBlock::addOverhangingFloats):
  40748. (WebCore::RenderBlock::hasOverhangingFloat):
  40749. (WebCore::RenderBlock::addIntrudingFloats):
  40750. (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
  40751. (WebCore::RenderBlock::hitTestFloats):
  40752. (WebCore::RenderBlock::adjustForBorderFit):
  40753. (WebCore::RenderBlock::FloatingObjects::clear):
  40754. * rendering/RenderBlock.h:
  40755. (WebCore::RenderBlock::FloatingObject::FloatingObject):
  40756. (WebCore::RenderBlock::FloatingObject::setX):
  40757. (WebCore::RenderBlock::FloatingObject::setY):
  40758. (WebCore::RenderBlock::FloatingObject::setWidth):
  40759. (WebCore::RenderBlock::FloatingObject::setHeight):
  40760. (WebCore::RenderBlock::FloatingObject::setFrameRect):
  40761. (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
  40762. (WebCore::RenderBlock::FloatingObjects::set):
  40763. * rendering/RenderBlockLineLayout.cpp:
  40764. (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
  40765. (WebCore::RenderBlock::linkToEndLineIfNeeded):
  40766. (WebCore::RenderBlock::matchedEndLine):
  40767. (WebCore::RenderBlock::positionNewFloatOnLine):
  40768. 2011-08-08 Emil A Eklund <eae@chromium.org>
  40769. Rename absoluteQuadsForRange and InlineTextBox::selectionRect to local*
  40770. https://bugs.webkit.org/show_bug.cgi?id=65722
  40771. Reviewed by Simon Fraser.
  40772. No new tests, no new functionality.
  40773. * rendering/InlineTextBox.cpp:
  40774. (WebCore::InlineTextBox::localSelectionRect):
  40775. Rename InlineTextBox::selectionRect to localSelectionRect to reflect that
  40776. it, unlike RenderObject::selectionRect returns a rect in the local
  40777. coordinate space.
  40778. * rendering/InlineTextBox.h:
  40779. * rendering/RenderText.cpp:
  40780. (WebCore::localQuadForTextBox):
  40781. (WebCore::RenderText::absoluteRectsForRange):
  40782. (WebCore::RenderText::absoluteQuadsForRange):
  40783. (WebCore::RenderText::selectionRectForRepaint):
  40784. Rename absoluteQuadForTextBox to localQuadForTextBox to reflect that it
  40785. returns a quad in the local coordinate space.
  40786. * rendering/svg/RenderSVGInlineText.cpp:
  40787. (WebCore::RenderSVGInlineText::localCaretRect):
  40788. * rendering/svg/SVGInlineTextBox.cpp:
  40789. (WebCore::SVGInlineTextBox::localSelectionRect):
  40790. * rendering/svg/SVGInlineTextBox.h:
  40791. 2011-08-08 Jochen Eisinger <jochen@chromium.org>
  40792. Use a raw pointer to the security origin in the ctor of FrameLoadRequest
  40793. https://bugs.webkit.org/show_bug.cgi?id=65852
  40794. Reviewed by Alexey Proskuryakov.
  40795. * loader/FrameLoadRequest.h:
  40796. (WebCore::FrameLoadRequest::FrameLoadRequest):
  40797. * loader/FrameLoader.cpp:
  40798. (WebCore::FrameLoader::changeLocation):
  40799. * loader/FrameLoader.h:
  40800. * loader/NavigationScheduler.cpp:
  40801. (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
  40802. (WebCore::ScheduledURLNavigation::fire):
  40803. (WebCore::ScheduledRedirect::ScheduledRedirect):
  40804. (WebCore::ScheduledLocationChange::ScheduledLocationChange):
  40805. (WebCore::ScheduledRefresh::ScheduledRefresh):
  40806. (WebCore::NavigationScheduler::scheduleLocationChange):
  40807. * loader/NavigationScheduler.h:
  40808. 2011-08-08 Ryosuke Niwa <rniwa@webkit.org>
  40809. Remove redundant inline styles from the pasted contents more aggressively
  40810. https://bugs.webkit.org/show_bug.cgi?id=65833
  40811. Reviewed by Tony Chang.
  40812. Make removeRedundantStylesAndKeepStyleSpanInline more aggressively remove redundant styles by realizing that
  40813. when an editing inheritable property in an inline style declaration of an element can be safely removed
  40814. if it is present either in style rules or in its ancestor and not overridden by style rules or default style
  40815. of the element.
  40816. Test: editing/pasteboard/paste-with-redundant-style.html
  40817. * css/CSSStyleSelector.cpp:
  40818. (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): Do not match author style sheets if AuthorCSSRules
  40819. is not included in the rules to include. This is used in EditingStyle::removePropertiesInElementDefaultStyle.
  40820. * editing/ApplyStyleCommand.cpp:
  40821. (WebCore::isStyleSpanOrSpanWithOnlyStyleAttribute): Added; returns true if the element is a style span or
  40822. span possibly with a style attribute.
  40823. * editing/ApplyStyleCommand.h:
  40824. * editing/EditingStyle.cpp:
  40825. (WebCore::styleFromMatchedRulesForElement): Takes rulesToInclude.
  40826. (WebCore::EditingStyle::mergeStyleFromRules): Calls styleFromMatchedRulesForElement with AuthorCSSRules
  40827. | CrossOriginCSSRules to keep the original behavior.
  40828. (WebCore::EditingStyle::removeStyleFromRulesAndContext): Renamed from removeStyleFromRules; removes styles that
  40829. are present in context and not overridden by matched rules.
  40830. (WebCore::EditingStyle::removePropertiesInElementDefaultStyle): Added.
  40831. * editing/EditingStyle.h:
  40832. * editing/ReplaceSelectionCommand.cpp:
  40833. (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline): See the description above.
  40834. 2011-08-08 Dmitry Lomov <dslomov@google.com>
  40835. https://bugs.webkit.org/show_bug.cgi?id=65778
  40836. [WebWorkers][chromium] Make statics thread-safe and make sure V8 API accesses correct isolates.
  40837. Reviewed by David Levin.
  40838. Covered by existing tests.
  40839. * bindings/v8/V8Binding.h:
  40840. (WebCore::V8BindingPerIsolateData::lazyEventListenerToStringTemplate):
  40841. (WebCore::V8BindingPerIsolateData::hiddenPropertyName):
  40842. (WebCore::V8BindingPerIsolateData::globalHandleMap):
  40843. (WebCore::AllowAllocation::AllowAllocation): Moving to V8Binding.h from V8Utilities.h to resolve header dependency.
  40844. (WebCore::AllowAllocation::~AllowAllocation):
  40845. (WebCore::AllowAllocation::current):
  40846. (WebCore::SafeAllocation::newInstance):
  40847. * bindings/v8/V8GCController.cpp:
  40848. (WebCore::currentGlobalHandleMap):
  40849. (WebCore::enumerateGlobalHandles):
  40850. (WebCore::V8GCController::registerGlobalHandle):
  40851. (WebCore::V8GCController::unregisterGlobalHandle):
  40852. * bindings/v8/V8HiddenPropertyName.cpp:
  40853. (WebCore::V8HiddenPropertyName::createString):
  40854. * bindings/v8/V8HiddenPropertyName.h:
  40855. * bindings/v8/V8LazyEventListener.cpp:
  40856. (WebCore::V8LazyEventListener::prepareListenerObject):
  40857. * bindings/v8/V8NPObject.cpp:
  40858. * bindings/v8/V8Proxy.cpp:
  40859. (WebCore::V8Proxy::checkNewLegal):
  40860. * bindings/v8/V8Utilities.h:
  40861. * bindings/v8/WorkerContextExecutionProxy.cpp:
  40862. (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
  40863. (WebCore::WorkerContextExecutionProxy::initIsolate):
  40864. * bindings/v8/WorkerContextExecutionProxy.h:
  40865. * bindings/v8/WorkerScriptController.cpp:
  40866. (WebCore::WorkerScriptController::scheduleExecutionTermination):
  40867. 2011-08-08 Sheriff Bot <webkit.review.bot@gmail.com>
  40868. Unreviewed, rolling out r92607.
  40869. http://trac.webkit.org/changeset/92607
  40870. https://bugs.webkit.org/show_bug.cgi?id=65865
  40871. This patch breaks Chromium Mac Canary (Requested by jianli on
  40872. #webkit).
  40873. * platform/PlatformWheelEvent.h:
  40874. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  40875. * platform/chromium/ScrollAnimatorChromiumMac.mm:
  40876. (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
  40877. 2011-08-08 Andrew Wason <rectalogic@rectalogic.com>
  40878. [Qt] Implement WebGL antialiasing (part 3)
  40879. https://bugs.webkit.org/show_bug.cgi?id=64879
  40880. Reviewed by Noam Rosenthal.
  40881. Existing WebGL layout tests cover this.
  40882. Implement WebGL antialiasing for Qt desktop.
  40883. Existing code in GraphicsContext3DOpenGL.cpp manages the
  40884. multisample FBO. GraphicsContext3DQt.cpp creates it and blits
  40885. it to the regular FBO when painting.
  40886. Requires adoption of Extensions3DOpenGL to be fully functional.
  40887. * platform/graphics/qt/GraphicsContext3DQt.cpp:
  40888. (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
  40889. (WebCore::GraphicsContext3DInternal::paintToTextureMapper):
  40890. (WebCore::GraphicsContext3DInternal::paint):
  40891. (WebCore::GraphicsContext3DInternal::multisampleResolve):
  40892. (WebCore::GraphicsContext3D::GraphicsContext3D):
  40893. (WebCore::GraphicsContext3D::~GraphicsContext3D):
  40894. 2011-08-08 Anders Carlsson <andersca@apple.com>
  40895. Fix build.
  40896. * platform/PODRedBlackTree.h:
  40897. (WebCore::PODRedBlackTree::Counter::visit):
  40898. 2011-08-08 Alexandru Chiculita <achicu@adobe.com>
  40899. Optimize floating elements lookup
  40900. https://bugs.webkit.org/show_bug.cgi?id=65668
  40901. Added an interval tree in the FloatingObjects structure. Also added new mechanisms to make
  40902. sure the tree is updated correctly when a float is repositioned.
  40903. Changed the PODIntervalTree to support giving a search adapter that can be implemented by the
  40904. client. I'm not adding a different bug for that because PODIntervalTree is not used anywhere else
  40905. and would be hard to test that the change is not breaking anything.
  40906. Reviewed by David Hyatt.
  40907. No new tests, just a refactor on the floating objects data structure.
  40908. * WebCore.xcodeproj/project.pbxproj:
  40909. * platform/PODIntervalTree.h:
  40910. (WebCore::PODIntervalSearchAdapter::PODIntervalSearchAdapter):
  40911. (WebCore::PODIntervalSearchAdapter::lowValue):
  40912. (WebCore::PODIntervalSearchAdapter::highValue):
  40913. (WebCore::PODIntervalSearchAdapter::collectIfNeeded):
  40914. (WebCore::PODIntervalTree::PODIntervalTree):
  40915. (WebCore::PODIntervalTree::allOverlaps):
  40916. (WebCore::PODIntervalTree::allOverlapsWithAdapter):
  40917. (WebCore::PODIntervalTree::searchForOverlapsFrom):
  40918. * platform/PODRedBlackTree.h:
  40919. (WebCore::PODRedBlackTree::PODRedBlackTree):
  40920. (WebCore::PODRedBlackTree::clear):
  40921. (WebCore::PODRedBlackTree::isInitialized):
  40922. (WebCore::PODRedBlackTree::initIfNeeded):
  40923. (WebCore::PODRedBlackTree::add):
  40924. (WebCore::PODRedBlackTree::remove):
  40925. (WebCore::PODRedBlackTree::contains):
  40926. (WebCore::PODRedBlackTree::visitInorder):
  40927. (WebCore::PODRedBlackTree::size):
  40928. (WebCore::PODRedBlackTree::checkInvariants):
  40929. (WebCore::PODRedBlackTree::dump):
  40930. * rendering/RenderBlock.cpp:
  40931. (WebCore::RenderBlock::styleDidChange):
  40932. (WebCore::RenderBlock::addOverflowFromFloats):
  40933. (WebCore::RenderBlock::repaintOverhangingFloats):
  40934. (WebCore::RenderBlock::paintFloats):
  40935. (WebCore::RenderBlock::selectionGaps):
  40936. (WebCore::RenderBlock::insertFloatingObject):
  40937. (WebCore::RenderBlock::removeFloatingObject):
  40938. (WebCore::RenderBlock::removeFloatingObjectsBelow):
  40939. (WebCore::RenderBlock::positionNewFloats):
  40940. (WebCore::::collectIfNeeded):
  40941. (WebCore::RenderBlock::logicalLeftOffsetForLine):
  40942. (WebCore::RenderBlock::logicalRightOffsetForLine):
  40943. (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
  40944. (WebCore::RenderBlock::lowestFloatLogicalBottom):
  40945. (WebCore::RenderBlock::addPositionedFloats):
  40946. (WebCore::RenderBlock::clearFloats):
  40947. (WebCore::RenderBlock::addOverhangingFloats):
  40948. (WebCore::RenderBlock::hasOverhangingFloat):
  40949. (WebCore::RenderBlock::addIntrudingFloats):
  40950. (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
  40951. (WebCore::RenderBlock::hitTestFloats):
  40952. (WebCore::RenderBlock::adjustForBorderFit):
  40953. (WebCore::RenderBlock::FloatingObjects::clear):
  40954. (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject):
  40955. (WebCore::RenderBlock::FloatingObjects::addPlacedObject):
  40956. (WebCore::RenderBlock::FloatingObjects::removePlacedObject):
  40957. (WebCore::RenderBlock::FloatingObjects::add):
  40958. (WebCore::RenderBlock::FloatingObjects::remove):
  40959. (WebCore::RenderBlock::FloatingObjects::computePlacedFloatsTree):
  40960. (WebCore::::string):
  40961. * rendering/RenderBlock.h:
  40962. (WebCore::RenderBlock::FloatingObject::FloatingObject):
  40963. (WebCore::RenderBlock::FloatingObject::setX):
  40964. (WebCore::RenderBlock::FloatingObject::setY):
  40965. (WebCore::RenderBlock::FloatingObject::setWidth):
  40966. (WebCore::RenderBlock::FloatingObject::setHeight):
  40967. (WebCore::RenderBlock::FloatingObject::setFrameRect):
  40968. (WebCore::RenderBlock::FloatingObject::isInPlacedTree):
  40969. (WebCore::RenderBlock::FloatingObject::setIsInPlacedTree):
  40970. (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
  40971. (WebCore::RenderBlock::FloatIntervalSearchAdapter::lowValue):
  40972. (WebCore::RenderBlock::FloatIntervalSearchAdapter::highValue):
  40973. (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
  40974. (WebCore::RenderBlock::FloatingObjects::setHorizontalWritingMode):
  40975. (WebCore::RenderBlock::FloatingObjects::set):
  40976. (WebCore::RenderBlock::FloatingObjects::placedFloatsTree):
  40977. (WebCore::RenderBlock::FloatingObjects::computePlacedFloatsTreeIfNeeded):
  40978. * rendering/RenderBlockLineLayout.cpp:
  40979. (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
  40980. (WebCore::RenderBlock::linkToEndLineIfNeeded):
  40981. (WebCore::RenderBlock::matchedEndLine):
  40982. (WebCore::RenderBlock::positionNewFloatOnLine):
  40983. 2011-08-08 Alexei Svitkine <asvitkine@chromium.org>
  40984. [Chromium] Enable rubber banding when scrolling.
  40985. https://bugs.webkit.org/show_bug.cgi?id=65707
  40986. Reviewed by Dimitri Glazkov.
  40987. No new tests since this is just syncing changes to chromium platform.
  40988. * platform/PlatformWheelEvent.h:
  40989. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  40990. * platform/chromium/ScrollAnimatorChromiumMac.mm:
  40991. (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
  40992. 2011-08-08 Dan Bernstein <mitz@apple.com>
  40993. Build fix.
  40994. * html/NumberInputType.cpp:
  40995. (WebCore::NumberInputType::sizeShouldIncludeDecoration): Fixed an obvious typo.
  40996. 2011-08-08 Andras Becsi <abecsi@webkit.org>
  40997. [Qt] Clean up project file after r92492.
  40998. Unreviewed gardening.
  40999. No new tests needed.
  41000. * WebCore.pro: remove nonexistent PluginHalterClient.h, PluginHalter.h, HaltablePlugin.h.
  41001. 2011-08-08 Pavel Podivilov <podivilov@chromium.org>
  41002. Web Inspector: refactor links creation.
  41003. https://bugs.webkit.org/show_bug.cgi?id=65612
  41004. Reviewed by Pavel Feldman.
  41005. No new tests - it is refactoring, modified code covered by script-formatter.html test.
  41006. * inspector/front-end/ConsoleView.js:
  41007. (WebInspector.ConsoleMessage.prototype._formatMessage):
  41008. (WebInspector.ConsoleMessage.prototype._linkifyLocation):
  41009. (WebInspector.ConsoleMessage.prototype._linkifyCallFrame):
  41010. (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
  41011. * inspector/front-end/DebuggerPresentationModel.js:
  41012. (WebInspector.DebuggerPresentationModel):
  41013. (WebInspector.DebuggerPresentationModel.prototype.addSourceMappingListener):
  41014. (WebInspector.DebuggerPresentationModel.prototype.removeSourceMappingListener):
  41015. (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor.didGetLocation):
  41016. (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
  41017. (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
  41018. (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
  41019. (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
  41020. (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
  41021. * inspector/front-end/EventListenersSidebarPane.js:
  41022. * inspector/front-end/NetworkPanel.js:
  41023. (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
  41024. * inspector/front-end/Panel.js:
  41025. * inspector/front-end/ProfileDataGridTree.js:
  41026. (WebInspector.ProfileDataGridNode.prototype.createCell):
  41027. * inspector/front-end/ScriptsPanel.js:
  41028. (WebInspector.ScriptsPanel.prototype._folderAndDisplayNameForScriptURL):
  41029. * inspector/front-end/StylesSidebarPane.js:
  41030. (WebInspector.StylePropertiesSection.linkifyUncopyable):
  41031. (WebInspector.StylePropertiesSection):
  41032. * inspector/front-end/TimelinePanel.js:
  41033. (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
  41034. (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyLocation):
  41035. (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyCallFrame):
  41036. (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
  41037. (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
  41038. * inspector/front-end/inspector.js:
  41039. (WebInspector._showSettingsScreen):
  41040. (WebInspector.formatLinkText):
  41041. (WebInspector.linkifyResourceAsNode):
  41042. 2011-08-08 Andrew Wason <rectalogic@rectalogic.com>
  41043. [Qt] Implement WebGL antialiasing (part 3)
  41044. https://bugs.webkit.org/show_bug.cgi?id=64879
  41045. Reviewed by Noam Rosenthal.
  41046. Existing WebGL layout tests.
  41047. Adopt Extensions3DOpenGL for Qt desktop as a prerequisite
  41048. for implementing WebGL antialiasing.
  41049. Extensions3DQt is still used for ES2.
  41050. * WebCore.pri:
  41051. * WebCore.pro:
  41052. * platform/graphics/GraphicsContext3D.h:
  41053. * platform/graphics/opengl/Extensions3DOpenGL.cpp:
  41054. (WebCore::Extensions3DOpenGL::createVertexArrayOES):
  41055. (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
  41056. (WebCore::Extensions3DOpenGL::isVertexArrayOES):
  41057. (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
  41058. * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
  41059. (WebCore::GraphicsContext3D::getExtensions):
  41060. * platform/graphics/qt/GraphicsContext3DQt.cpp:
  41061. (WebCore::GraphicsContext3D::layerComposited):
  41062. 2011-08-08 Benjamin Poulain <benjamin@webkit.org>
  41063. Build fix after r92589, defaultSize is not used.
  41064. Reviewed by Andreas Kling.
  41065. * html/InputType.cpp:
  41066. (WebCore::InputType::sizeShouldIncludeDecoration):
  41067. 2011-08-08 Keishi Hattori <keishi@webkit.org>
  41068. Implement <input type=color> UI behavior WebCore part
  41069. https://bugs.webkit.org/show_bug.cgi?id=62619
  41070. Reviewed by Kent Tamura.
  41071. * WebCore.exp.in: Added __ZN7WebCore12ColorChooser7chooserEv and
  41072. __ZNK7WebCore12ColorChooser13colorSelectedERKNS_5ColorE
  41073. * WebCore.xcodeproj/project.pbxproj: Added ColorChooser.{h,cpp}
  41074. * html/ColorInputType.cpp:
  41075. (WebCore::ColorInputType::~ColorInputType): Added. Close color chooser. ex. when type attribute changes.
  41076. (WebCore::ColorInputType::valueAsColor): Added.
  41077. (WebCore::ColorInputType::setValueAsColor): Added.
  41078. (WebCore::ColorInputType::valueChanged): Update selected color in color chooser too.
  41079. (WebCore::ColorInputType::handleClickEvent): Opens color chooser.
  41080. (WebCore::ColorInputType::handleDOMActivateEvent): Called when element.click(). Open color chooser only
  41081. when it was initiated by a user interaction.
  41082. (WebCore::ColorInputType::detach): Close color chooser. Called when input element or its ancestors have "display:none"
  41083. or is removed from DOM.
  41084. (WebCore::ColorInputType::colorSelected): Callback from color chooser.
  41085. (WebCore::ColorInputType::isColorInputType): Returns true.
  41086. (WebCore::ColorInputType::closeColorChooserIfCurrentClient): Close color chooser if this input type is the current client of ColorChooser.
  41087. * html/ColorInputType.h:
  41088. * html/FileInputType.cpp:
  41089. * html/FileInputType.h:
  41090. * html/HTMLInputElement.cpp:
  41091. (WebCore::HTMLInputElement::detach): Calls InputType::detach
  41092. * html/InputType.cpp:
  41093. (WebCore::InputType::chrome): Added. Used in FileInputType and ColorInputType.
  41094. (WebCore::InputType::detach): ColorInputType overrides this.
  41095. * html/InputType.h:
  41096. * loader/EmptyClients.h:
  41097. (WebCore::EmptyChromeClient::openColorChooser):
  41098. (WebCore::EmptyChromeClient::closeColorChooser):
  41099. (WebCore::EmptyChromeClient::setSelectedColorInColorChooser):
  41100. * loader/FrameLoader.cpp:
  41101. (WebCore::FrameLoader::transitionToCommitted): Close color chooser when navigating away from the page. We do this here
  41102. because ColorInputType::detach() is called seconds after the page transition so it is too slow.
  41103. * page/Chrome.cpp:
  41104. (WebCore::Chrome::openColorChooser): Added.
  41105. (WebCore::Chrome::closeColorChooser): Added.
  41106. (WebCore::Chrome::setSelectedColorInColorChooser): Added.
  41107. * page/Chrome.h:
  41108. * page/ChromeClient.h:
  41109. * platform/ColorChooser.cpp: Added.
  41110. (WebCore::ColorChooserClient::~ColorChooserClient): Disconnects itself from the ColorChooser.
  41111. (WebCore::ColorChooser::chooser): Get shared instance of ColorChooser.
  41112. (WebCore::ColorChooser::connectClient): Connects a ColorChooserClient that receives the colorSelected callbacks.
  41113. (WebCore::ColorChooser::disconnectClient): Disconnects the connectClient.
  41114. (WebCore::ColorChooser::colorSelected): Called from color chooser listener.
  41115. * platform/ColorChooser.h: Added.
  41116. (WebCore::ColorChooserClient::isColorInputType): Added.
  41117. (WebCore::ColorChooser::client): Added. Returns the current connected client.
  41118. (WebCore::ColorChooser::ColorChooser): Added.
  41119. 2011-08-08 Shinya Kawanaka <shinyak@google.com>
  41120. The input[type=number] element should be as wide as necessary to show the widest possible value.
  41121. https://bugs.webkit.org/show_bug.cgi?id=60673
  41122. Reviewed by Kent Tamura.
  41123. The size of input[type=number] is calculated from min/max/step attributes to show the widest possible value.
  41124. If min or max attribute is absent, the default size is used.
  41125. Also, if its css width is not auto, the width is used with priority.
  41126. If min/max/attribute is set dynamically, the size of the input[type=number] will be recalculated.
  41127. Test: fast/forms/input-number-size.html
  41128. * html/HTMLInputElement.cpp:
  41129. (WebCore::HTMLInputElement::parseMappedAttribute):
  41130. Added stepAttributeChanged handler.
  41131. (WebCore::HTMLInputElement::sizeShouldIncludeDecoration):
  41132. Returns true if a renderer should include decoration (e.g. inner spinbox).
  41133. Also returns the preferred size of the input.
  41134. * html/HTMLInputElement.h:
  41135. * html/InputType.cpp:
  41136. (WebCore::InputType::sizeShouldIncludeDecoration):
  41137. Same as WebCore::HTMLInputElement::sizeShouldIncludeDecoration.
  41138. (WebCore::InputType::stepAttributeChanged):
  41139. Will be called When step attribute is changed.
  41140. Sets a flag to recalculate layout.
  41141. * html/InputType.h:
  41142. * html/NumberInputType.cpp:
  41143. (WebCore::lengthBeforeDecimalPoint):
  41144. Calculates the width before the decimal point.
  41145. (WebCore::NumberInputType::sizeShouldIncludeDecoration):
  41146. Same as WebCore::HTMLInputElement::sizeShouldIncludeDecoration.
  41147. However, this will calculate the preferred size from min/max/step attribute.
  41148. (WebCore::NumberInputType::minOrMaxAttributeChanged):
  41149. Sets a flag to recalculate layout.
  41150. (WebCore::NumberInputType::stepAttributeChanged): ditto.
  41151. * html/NumberInputType.h:
  41152. * rendering/RenderTextControlSingleLine.cpp:
  41153. (WebCore::RenderTextControlSingleLine::preferredContentWidth):
  41154. Uses preferredSize instead of size.
  41155. Also, adds innerSpinButtonElement size to width if sizeShouldIncludeDecoration returns true.
  41156. 2011-08-08 Kenichi Ishibashi <bashi@chromium.org>
  41157. Should not use C-style cast in CSSParser.cpp
  41158. https://bugs.webkit.org/show_bug.cgi?id=65807
  41159. Remove C-style cast.
  41160. Reviewed by Kent Tamura.
  41161. No new tests because no behavior change.
  41162. * css/CSSParser.cpp:
  41163. (WebCore::CSSParser::parseAnimationTimingFunction): Replaced a cast with clampToInteger().
  41164. (WebCore::CSSParser::parseFontFeatureTag): Ditto.
  41165. (WebCore::CSSParser::createKeyframeRule): Replaced a cast with C++-style cast.
  41166. 2011-08-05 Pavel Feldman <pfeldman@chromium.org>
  41167. Web Inspector: implement dock/undock in WebKit2 without getting into WebCore.
  41168. https://bugs.webkit.org/show_bug.cgi?id=65763
  41169. InspectorFrontendClient.h can't have synchronous canAttachWindow() returning value
  41170. since in the multiprocess environment, you can't immediately get back to it from the host.
  41171. r92384 introduced an unhealthy WebKit -> WebCore -> WebKit canAttach query where embedder
  41172. was asking itself a question. This loop was fixed.
  41173. Reviewed by Yury Semikhatsky.
  41174. * WebCore.exp.in:
  41175. * inspector/InspectorController.cpp:
  41176. * inspector/InspectorController.h:
  41177. * inspector/InspectorFrontendClient.h:
  41178. * inspector/InspectorFrontendClientLocal.h:
  41179. * inspector/front-end/inspector.js:
  41180. (windowLoaded):
  41181. 2011-07-28 Kent Tamura <tkent@chromium.org>
  41182. [Chromium] Make form validation bubble fit with Chrome UI style
  41183. https://bugs.webkit.org/show_bug.cgi?id=65359
  41184. Reviewed by Hajime Morita.
  41185. Change the appearance of validation message bubble for
  41186. Chromium. Basically it doesn't change for other ports.
  41187. - Introduce a new element to put an icon, and enclose it and the
  41188. message text by a flexible box.
  41189. - Repesent the message text by two elements. One for the heading,
  41190. another for the remaining.
  41191. - Introduce themeChromium.css
  41192. * WebCore.gyp/WebCore.gyp: Add themeChromium.css.
  41193. * css/html.css:
  41194. (::-webkit-validation-bubble-message): Make this a flexible box container.
  41195. (::-webkit-validation-bubble-text-block): Takes flexibility.
  41196. (::-webkit-validation-bubble-heading):
  41197. Make the content bold because we removed <b></b>.
  41198. * css/themeChromium.css: Added.
  41199. (::-webkit-validation-bubble):
  41200. (::-webkit-validation-bubble-message):
  41201. (::-webkit-validation-bubble-arrow):
  41202. (::-webkit-validation-bubble-arrow-clipper):
  41203. (::-webkit-validation-bubble-icon):
  41204. (::-webkit-validation-bubble-heading):
  41205. (::-webkit-validation-bubble-body):
  41206. * html/ValidationMessage.cpp:
  41207. (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
  41208. Sets the text into m_messageHeading and m_messageBody, instead of m_bubbleMessage.
  41209. Use ASSERT_NO_EXCEPTION.
  41210. (WebCore::ValidationMessage::buildBubbleTree):
  41211. Build the new structure, and use ASSERT_NO_EXCEPTION.
  41212. (WebCore::ValidationMessage::deleteBubbleTree):
  41213. Clear m_messageHeading and m_messageBody.
  41214. * html/ValidationMessage.h:
  41215. * rendering/RenderThemeChromiumMac.h: Add extraDefaultStyleSheet().
  41216. * rendering/RenderThemeChromiumMac.mm:
  41217. (WebCore::RenderThemeChromiumMac::extraDefaultStyleSheet): Append themeChromium.css.
  41218. * rendering/RenderThemeChromiumSkia.cpp:
  41219. (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet): Append themeChromium.css.
  41220. 2011-08-07 Keishi Hattori <keishi@webkit.org>
  41221. Sort WebCore.xcodeproj
  41222. Accomplished using sort-Xcode-project-file.
  41223. * WebCore.xcodeproj/project.pbxproj:
  41224. 2011-08-07 James Kozianski <koz@chromium.org>
  41225. Make the fullscreen JS API enabled at runtime.
  41226. https://bugs.webkit.org/show_bug.cgi?id=65501
  41227. Reviewed by Adam Barth.
  41228. * bindings/generic/RuntimeEnabledFeatures.cpp:
  41229. * bindings/generic/RuntimeEnabledFeatures.h:
  41230. (WebCore::RuntimeEnabledFeatures::webkitFullScreenAPIEnabled):
  41231. (WebCore::RuntimeEnabledFeatures::setWebkitFullScreenAPIEnabled):
  41232. (WebCore::RuntimeEnabledFeatures::webkitRequestFullScreenEnabled):
  41233. (WebCore::RuntimeEnabledFeatures::webkitIsFullScreenEnabled):
  41234. (WebCore::RuntimeEnabledFeatures::webkitFullScreenKeyboardInputAllowedEnabled):
  41235. (WebCore::RuntimeEnabledFeatures::webkitCurrentFullScreenElementEnabled):
  41236. (WebCore::RuntimeEnabledFeatures::webkitCancelFullScreenEnabled):
  41237. * dom/Document.idl:
  41238. * dom/Element.idl:
  41239. 2011-08-07 Martin Robinson <mrobinson@igalia.com>
  41240. Distribution fix for GTK+.
  41241. * GNUmakefile.am: Add some files to the distribution list.
  41242. * GNUmakefile.list.am: Strip removed files from the source list.
  41243. 2011-08-07 Jochen Eisinger <jochen@chromium.org>
  41244. Move FrameLoadRequest to loader/
  41245. https://bugs.webkit.org/show_bug.cgi?id=65817
  41246. Reviewed by Alexey Proskuryakov.
  41247. * GNUmakefile.list.am:
  41248. * WebCore.gypi:
  41249. * WebCore.vcproj/WebCore.vcproj:
  41250. * WebCore.xcodeproj/project.pbxproj:
  41251. * loader/FrameLoadRequest.h:
  41252. (WebCore::FrameLoadRequest::FrameLoadRequest):
  41253. (WebCore::FrameLoadRequest::isEmpty):
  41254. (WebCore::FrameLoadRequest::requester):
  41255. (WebCore::FrameLoadRequest::resourceRequest):
  41256. (WebCore::FrameLoadRequest::frameName):
  41257. (WebCore::FrameLoadRequest::setFrameName):
  41258. 2011-08-07 Sam White <samuel.white@rochester.edu>
  41259. Add the ability to search the AccessibilityObject cache
  41260. https://bugs.webkit.org/show_bug.cgi?id=64994
  41261. New AccessibilityObject cache search functionality and API for the mac
  41262. platform to expose it. At this point the AccessibilityObject cache can
  41263. be searched using one of the supported search keys that have been defined
  41264. in AccessibilityObject.h, or by passing search text.
  41265. Reviewed by Chris Fleizach.
  41266. Test: platform/mac/accessibility/search-predicate.html
  41267. * accessibility/AccessibilityObject.cpp:
  41268. (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
  41269. (WebCore::AccessibilityObject::isAccessibilityTextSearchMatch):
  41270. (WebCore::AccessibilityObject::accessibilityObjectContainsText):
  41271. (WebCore::AccessibilityObject::accessibleObjectsWithAccessibilitySearchPredicate):
  41272. * accessibility/AccessibilityObject.h:
  41273. * accessibility/mac/AccessibilityObjectWrapper.mm:
  41274. (createAccessibilitySearchKeyMap):
  41275. (accessibilitySearchKeyForString):
  41276. (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
  41277. (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
  41278. 2011-08-06 Mark Rowe <mrowe@apple.com>
  41279. Fix a memory leak found via code inspection.
  41280. Rubber-stamped by Dan Bernstein.
  41281. * platform/mac/PasteboardMac.mm:
  41282. (WebCore::Pasteboard::writeSelection): Adopt the newly-allocated WebHTMLConverter
  41283. instance so that it does not leak.
  41284. 2011-08-05 Darin Adler <darin@apple.com>
  41285. Fix Timer heap implementation to work with more libraries (other versions of STL)
  41286. https://bugs.webkit.org/show_bug.cgi?id=65782
  41287. Reviewed by Anders Carlsson.
  41288. No behavior change, so no tests needed. Existing tests pass.
  41289. * platform/Timer.cpp: Added TimerHeapPointer and TimerHeapReference class
  41290. alongside the TimerHeapIterator class. Also added a swap function. Also
  41291. added a TimerHeapLessThanFunction class.
  41292. (WebCore::TimerBase::heapDecreaseKey): Pass pointers in to the TimerHeapIterator
  41293. since that's how the class works now. Pass a TimerHeapLessThanFunction object
  41294. instead of letting the library use the < operator directly.
  41295. (WebCore::TimerBase::heapPopMin): Ditto.
  41296. * platform/Timer.h: Updated for above changes.
  41297. 2011-08-06 Aron Rosenberg <arosenberg@logitech.com>
  41298. Reviewed by Benjamin Poulain.
  41299. [Qt] Fix build with Intel compiler on Windows
  41300. https://bugs.webkit.org/show_bug.cgi?id=65088
  41301. Intel compiler needs .lib suffixes instead of .a
  41302. * WebCore.pri:
  41303. 2011-08-06 Dan Bernstein <mitz@apple.com>
  41304. Move the shared LineBreakIteratorPool from ThreadGlobalData into its own ThreadSpecific
  41305. https://bugs.webkit.org/show_bug.cgi?id=65809
  41306. Reviewed by Darin Adler and Sam Weinig.
  41307. * platform/ThreadGlobalData.cpp:
  41308. (WebCore::ThreadGlobalData::destroy): Removed code to clear the m_lineBreakIteratorPool member
  41309. variable, which was removed.
  41310. * platform/ThreadGlobalData.h: Removed lineBreakIteratorPool() and associated member variable.
  41311. * platform/text/LineBreakIteratorPoolICU.h:
  41312. (WebCore::LineBreakIteratorPool::sharedPool): Changed to return a thread-specific pool.
  41313. 2011-08-06 Joseph Pecoraro <joepeck@webkit.org>
  41314. Potential Leaks - RetainPtr<> over retaining Create'd objects
  41315. https://bugs.webkit.org/show_bug.cgi?id=65806
  41316. Reviewed by Darin Adler.
  41317. Fix a possible leak by adopting an allocation instead of retaining it.
  41318. * platform/network/mac/NetworkStateNotifierMac.cpp:
  41319. (WebCore::NetworkStateNotifier::NetworkStateNotifier):
  41320. * plugins/mac/PluginPackageMac.cpp:
  41321. (WebCore::stringListFromResourceId):
  41322. (WebCore::PluginPackage::fetchInfo):
  41323. 2011-08-06 Rafael Brandao <rafael.lobo@openbossa.org>
  41324. REGRESSION (r91540): Favicons are not loaded
  41325. https://bugs.webkit.org/show_bug.cgi?id=65692
  41326. Reviewed by Darin Adler.
  41327. The policy that evaluates whether a page can have icon or not should not
  41328. need to be reimplemented each time a new IconDatabaseBase is derived,
  41329. so it was moved to WebCore's scope.
  41330. * loader/icon/IconController.cpp:
  41331. (WebCore::IconController::startLoader):
  41332. * loader/icon/IconDatabase.cpp:
  41333. * loader/icon/IconDatabase.h:
  41334. * loader/icon/IconDatabaseBase.cpp:
  41335. (WebCore::documentCanHaveIcon):
  41336. * loader/icon/IconDatabaseBase.h:
  41337. 2011-08-06 Kenichi Ishibashi <bashi@chromium.org>
  41338. Should use C++-style cast in CSSParser.cpp
  41339. https://bugs.webkit.org/show_bug.cgi?id=65807
  41340. Replaces C-style cast with C++style cast.
  41341. Reviewed by Shinichiro Hamaji.
  41342. No new tests because no behavior change.
  41343. * css/CSSParser.cpp:
  41344. (WebCore::CSSParser::parseAnimationTimingFunction):
  41345. (WebCore::CSSParser::parseFont):
  41346. (WebCore::CSSParser::parseColorFromValue):
  41347. (WebCore::CSSParser::parseFontFeatureTag):
  41348. 2011-08-06 Nikolas Zimmermann <nzimmermann@rim.com>
  41349. REGRESSION(87526): ASSERT(!needsLayout()) followed by graphical glitches on google charts (svg loaded in iframe)
  41350. https://bugs.webkit.org/show_bug.cgi?id=64974
  41351. svg/zoom/page/zoom-svg-through-object-with-*.xhtml are flaky
  41352. https://bugs.webkit.org/show_bug.cgi?id=63186
  41353. Reviewed by Zoltan Herczeg.
  41354. Fix host <-> embedded document size negotiation race. The currently implemented solution relied on a specific
  41355. order of paint/layout calls, which is broken. Consider rendering a document containing an object/iframe/embed
  41356. referencing an external SVG file. When FrameView::layout() is called (associated with the outermost RenderView
  41357. of the host document), it lays out the whole document, and afterwards performPostLayoutTasks() is called.
  41358. This method then asks the Frames contentRenderer to update its widget positions. This triggers a call
  41359. of the embedded documents FrameView::layout() method, which now lays out the embedded SVG documents tree
  41360. through RenderSVGRoot::layout.
  41361. And here's the bug: The size of the object/iframe replaced element, which hosts the embedded document
  41362. may depend on the intrinsic size of the SVG. We tried to mark the embedded documents _ownerRenderer_ (the RenderPart)
  41363. as "needs layout and pref width recalc" right from RenderSVGRoot::layout() and hoped that this would cause the whole
  41364. document to be laid out again, now that the size of the embedded SVG document is known.
  41365. As soon as the SVG document is laid out, the host document will be painted (flush deferred repaints) and an assertion
  41366. ASSERTS(!needsLayout()) will be fired, as we modified the setNeedsLayout() state after the host document layout finished,
  41367. right before painting.
  41368. A proper fix is to only keep track in RenderSVGRoot whether it needs to negotiate the size with the host document, but
  41369. not modify the layout state of the host document in any way. Let FrameView handle the size negotiation right in
  41370. FrameView::layout().
  41371. Consider following document:
  41372. <body><iframe src="some.svg"></body>
  41373. After initial loading & parsing of the document, a FrameView exists for the main frame, and a sub-FrameView
  41374. for the <iframe>. The external SVG document, may not be loaded yet at this point. That means when RenderIFrame::layout()
  41375. tries to figure out its size (computeLogicalWidth/Height) - the RenderSVGRoot renderer of the external document hasn't
  41376. been created yet (as the external document hasn't received data yet) - so it falls back to eg. 300x150 CSS default size
  41377. (in the simplest case, where width/height are both auto).
  41378. Suppose the external document now finished loading, the RenderSVGRoot is created and a global relayout is triggered
  41379. starting from the main FrameView. As we already laid out the document once, needsLayout() is false for the main FrameView,
  41380. so _only_ the child frame view that contains the RenderSVGRoot is now laid out, for the first time.
  41381. After layout is done, the SVG document is fully laid out, though the RenderPart which embedded the SVG does NOT notice
  41382. the SVG has been laid out, so it still carries the default 300x150 size (and needsLayout=false!).
  41383. The fix is to retrigger layout of the parent frame view by marking the owner renderer of the frame view as "needs layout
  41384. and pref widths recalc" and immediatiely performing a synchronous update of the layout. It's important to do it sync,
  41385. as scripts depend on the result of the size negotiation (covered extensively with the new tests in svg/as-object).
  41386. Reenable svg/zoom/page/zoom-svg-through-object* tests to see whether the flakiness is gone.
  41387. Tests: svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-1.html
  41388. svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-2.html
  41389. svg/as-object/embedded-svg-immediate-offsetWidth-query.html
  41390. svg/as-object/embedded-svg-size-changes-no-layout-triggers.html
  41391. svg/as-object/embedded-svg-size-changes.html
  41392. svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-1.html
  41393. svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-2.html
  41394. svg/as-object/nested-embedded-svg-size-changes.html
  41395. svg/zoom/page/zoom-svg-through-object-with-absolute-size-2.xhtml
  41396. svg/zoom/page/zoom-svg-through-object-with-absolute-size.xhtml
  41397. svg/zoom/page/zoom-svg-through-object-with-auto-size.html
  41398. svg/zoom/page/zoom-svg-through-object-with-huge-size.xhtml
  41399. svg/zoom/page/zoom-svg-through-object-with-override-size.html
  41400. svg/zoom/page/zoom-svg-through-object-with-percentage-size.xhtml
  41401. * page/FrameView.cpp:
  41402. (WebCore::FrameView::layout): Call forceLayoutParentViewIfNeeded() after layout finished.
  41403. (WebCore::FrameView::forceLayoutParentViewIfNeeded): Added helper method.
  41404. (WebCore::FrameView::embeddedContentBox): Moved from RenderPart to a more central place.
  41405. * page/FrameView.h:
  41406. * rendering/RenderPart.cpp:
  41407. (WebCore::RenderPart::embeddedContentBox): Moved to FrameView.
  41408. * rendering/svg/RenderSVGRoot.cpp: Rename m_didNegotiateSize to m_needsSizeNegotiationWithHostDocument.
  41409. (WebCore::RenderSVGRoot::RenderSVGRoot):
  41410. (WebCore::RenderSVGRoot::layout): Only figure out if we need neggotiation, don't actually do anything, let FrameView handle this.
  41411. * rendering/svg/RenderSVGRoot.h: Remove incorrect negotiateSizeWithHostDocumentIfNeeded() logic.
  41412. (WebCore::RenderSVGRoot::needsSizeNegotiationWithHostDocument): Added getter for m_needsSizeNegotiationWithHostDocument.
  41413. (WebCore::RenderSVGRoot::scheduledSizeNegotiationWithHostDocument): Added safe way to clear m_needsSizeNegotiationWithHostDocument (asserts if it was false before).
  41414. 2011-08-05 Noel Gordon <noel.gordon@gmail.com>
  41415. [Chromium] Remove HaltablePlugin references from gyp project files
  41416. https://bugs.webkit.org/show_bug.cgi?id=65808
  41417. HaltablePlugin and related classes were removed in r92492. Remove any
  41418. reference to the deleted files from the gyp project files.
  41419. Reviewed by Adam Barth.
  41420. * WebCore.gypi: remove HaltablePlugin.h reference.
  41421. 2011-08-05 Mark Rowe <mrowe@apple.com>
  41422. Attempt to fix the build after r92538.
  41423. Like all of the recent "track"-related work the new files in r92538 appear to have
  41424. been added to completely random places in the Xcode project. However, this time
  41425. the file paths were marked as being relative to their containing group resulting in
  41426. Xcode being unable to find the files on disk.
  41427. I've attempted to clean up all of the "track"-related mess in the Xcode project.
  41428. The location of the files in the project now reflect their locations on disk, and
  41429. are all correctly marked as being relative to their containing group as is our
  41430. convention.
  41431. * WebCore.xcodeproj/project.pbxproj:
  41432. 2011-08-05 Tom Hudson <tomhudson@google.com>
  41433. https://bugs.webkit.org/show_bug.cgi?id=64613
  41434. Use supported framebuffer renderbuffer mode; chromium command buffer
  41435. allows DEPTH and STENCIL but not DEPTH_STENCIL.
  41436. Reviewed by James Robinson.
  41437. No new tests because was caught by extant tests, albeit only when
  41438. accelerated drawing and forced compositing were both turned on.
  41439. * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
  41440. (WebCore::LayerTextureUpdaterSkPicture::createFrameBuffer):
  41441. 2011-08-05 Anna Cavender <annacc@chromium.org>
  41442. Adding a WebVTTParser for <track>.
  41443. https://bugs.webkit.org/show_bug.cgi?id=62882
  41444. Reviewed by Eric Carlson.
  41445. Feature is hidden behind VIDEO_TRACK feature define, which is turned off, but
  41446. new tests have been added in media/track/ (and are skipped).
  41447. * CMakeLists.txt:
  41448. * GNUmakefile.list.am:
  41449. * WebCore.gypi:
  41450. * WebCore.pro:
  41451. * WebCore.xcodeproj/project.pbxproj:
  41452. * html/TextTrackCue.cpp:
  41453. * html/TextTrackCue.h:
  41454. * platform/track/CueParser.cpp:
  41455. * platform/track/CueParser.h:
  41456. * platform/track/CueParserPrivate.h:
  41457. * platform/track/WebVTTParser.cpp: Added.
  41458. * platform/track/WebVTTParser.h: Added.
  41459. 2011-08-05 Sheriff Bot <webkit.review.bot@gmail.com>
  41460. Unreviewed, rolling out r92330.
  41461. http://trac.webkit.org/changeset/92330
  41462. https://bugs.webkit.org/show_bug.cgi?id=65804
  41463. caused various regressions in paste (Requested by rniwa on
  41464. #webkit).
  41465. * editing/ReplaceSelectionCommand.cpp:
  41466. (WebCore::isInlineNodeWithStyle):
  41467. (WebCore::ReplaceSelectionCommand::doApply):
  41468. * editing/markup.cpp:
  41469. (WebCore::ancestorToRetainStructureAndAppearance):
  41470. * editing/markup.h:
  41471. 2011-08-05 Kent Tamura <tkent@chromium.org>
  41472. Unreviewed, rolling out r92477.
  41473. http://trac.webkit.org/changeset/92477
  41474. https://bugs.webkit.org/show_bug.cgi?id=62619
  41475. Layering violation. We should not use WebCore/dom/ in
  41476. WebCore/platform/.
  41477. * WebCore.exp.in:
  41478. * WebCore.xcodeproj/project.pbxproj:
  41479. * html/ColorInputType.cpp:
  41480. (WebCore::ColorInputType::valueChanged):
  41481. * html/ColorInputType.h:
  41482. * html/FileInputType.cpp:
  41483. (WebCore::FileInputType::chrome):
  41484. * html/FileInputType.h:
  41485. * html/HTMLInputElement.cpp:
  41486. (WebCore::HTMLInputElement::detach):
  41487. * html/InputType.cpp:
  41488. * html/InputType.h:
  41489. * loader/EmptyClients.h:
  41490. * loader/FrameLoader.cpp:
  41491. (WebCore::FrameLoader::transitionToCommitted):
  41492. * page/Chrome.cpp:
  41493. * page/Chrome.h:
  41494. * page/ChromeClient.h:
  41495. * platform/ColorChooser.cpp: Removed.
  41496. * platform/ColorChooser.h: Removed.
  41497. 2011-08-05 Darin Adler <darin@apple.com>
  41498. Try to fix Qt Mac build.
  41499. * plugins/mac/PluginViewMac.mm: Removed PluginHalter functions.
  41500. 2011-08-05 Joseph Pecoraro <joepeck@webkit.org>
  41501. Leak in CFNetwork Loader RetainPtr<> should Adopt a Copy allocation
  41502. https://bugs.webkit.org/show_bug.cgi?id=65789
  41503. Reviewed by David Kilzer.
  41504. Fix a leak by adopting an allocation instead of retaining it.
  41505. * platform/network/cf/FormDataStreamCFNet.cpp:
  41506. (WebCore::httpBodyFromRequest):
  41507. 2011-08-05 Ben Wells <benwells@chromium.org>
  41508. Introduced fast path for border rendering when all visible sides are solid, same rgba color but not all visible
  41509. https://bugs.webkit.org/show_bug.cgi?id=65762
  41510. Reviewed by Simon Fraser.
  41511. No intended change in behaviour, no new tests.
  41512. * rendering/RenderBoxModelObject.cpp:
  41513. (WebCore::calculateSideRect):
  41514. (WebCore::RenderBoxModelObject::paintBorderSides):
  41515. (WebCore::RenderBoxModelObject::paintBorder):
  41516. 2011-08-05 Kenichi Ishibashi <bashi@chromium.org>
  41517. Unreviewed build fix on 32-bit Mac.
  41518. * css/CSSParser.cpp:
  41519. (WebCore::CSSParser::parseFontFeatureTag): Added a cast to int.
  41520. 2011-08-05 Ryosuke Niwa <rniwa@webkit.org>
  41521. Upwards cursor movement incorrect when previous block ends with <br>
  41522. https://bugs.webkit.org/show_bug.cgi?id=33247
  41523. Reviewed by Tony Chang.
  41524. The bug was caused by previousLinePosition's trying to obtain the root line box at the position
  41525. after the previous line's br. This obviously fails because the the position after br is considered
  41526. as a part of the next line.
  41527. Fixed the bug by obtaining root inline boxes using position at the minimum caret offset as supposed
  41528. to maximum caret offset. The code was initially introduced by r32508 to fix arrow key movement in RTL text
  41529. but the test added by the revision continues to pass after this change. Furthermore, this change makes
  41530. new code consistent with nextLinePosition.
  41531. Also reverted the change added by r55613 because it is no longer needed.
  41532. Tests: editing/execCommand/move-selection-back-line-rtl.html
  41533. editing/execCommand/move-selection-back-line-strict.html
  41534. * editing/visible_units.cpp:
  41535. (WebCore::previousLinePosition):
  41536. 2011-08-05 James Robinson <jamesr@chromium.org>
  41537. [chromium] Accelerated canvas breaks when moving canvases or resources between Pages
  41538. https://bugs.webkit.org/show_bug.cgi?id=65402
  41539. Reviewed by Stephen White.
  41540. Use one shared GraphicsContext3D for the whole process instead of one per Page as canvases can move between
  41541. pages and directly draw into contexts in different pages. Also switches DrawingBufferChromium over to use a
  41542. directly shared the color attachment instead of copying it to a separate texture and removes the now-unnecessary
  41543. DrawingBuffer::didReset() call and WillPublishCallback mechanism.
  41544. * page/Page.cpp:
  41545. (WebCore::Page::sharedGraphicsContext3D):
  41546. * page/Page.h:
  41547. * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
  41548. (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
  41549. (WebCore::Canvas2DLayerChromium::updateCompositorResources):
  41550. (WebCore::Canvas2DLayerChromium::textureId):
  41551. (WebCore::Canvas2DLayerChromium::setDrawingBuffer):
  41552. * platform/graphics/chromium/CanvasLayerChromium.cpp:
  41553. (WebCore::CanvasLayerChromium::CanvasLayerChromium):
  41554. * platform/graphics/chromium/CanvasLayerChromium.h:
  41555. * platform/graphics/chromium/DrawingBufferChromium.cpp:
  41556. (WebCore::DrawingBuffer::DrawingBuffer):
  41557. (WebCore::DrawingBuffer::publishToPlatformLayer):
  41558. * platform/graphics/chromium/Extensions3DChromium.h:
  41559. * platform/graphics/chromium/WebGLLayerChromium.cpp:
  41560. (WebCore::WebGLLayerChromium::WebGLLayerChromium):
  41561. * platform/graphics/chromium/WebGLLayerChromium.h:
  41562. 2011-08-05 Anders Carlsson <andersca@apple.com>
  41563. Fix Chromium build.
  41564. * WebCore.gypi:
  41565. 2011-08-05 Anders Carlsson <andersca@apple.com>
  41566. Remove PluginHalter
  41567. https://bugs.webkit.org/show_bug.cgi?id=65729
  41568. Reviewed by Darin Adler.
  41569. Remove plug-in halter and associated classes.
  41570. * CMakeLists.txt:
  41571. * GNUmakefile.list.am:
  41572. * WebCore.exp.in:
  41573. * WebCore.pro:
  41574. * WebCore.vcproj/WebCore.vcproj:
  41575. * WebCore.xcodeproj/project.pbxproj:
  41576. * loader/EmptyClients.h:
  41577. * page/HaltablePlugin.h: Removed.
  41578. * page/Page.cpp:
  41579. (WebCore::Page::Page):
  41580. * page/Page.h:
  41581. * page/PluginHalter.cpp: Removed.
  41582. * page/PluginHalter.h: Removed.
  41583. * page/PluginHalterClient.h: Removed.
  41584. * page/Settings.cpp:
  41585. (WebCore::Settings::Settings):
  41586. * page/Settings.h:
  41587. * plugins/PluginView.cpp:
  41588. (WebCore::PluginView::start):
  41589. (WebCore::PluginView::stop):
  41590. (WebCore::PluginView::PluginView):
  41591. * plugins/PluginView.h:
  41592. * plugins/PluginViewNone.cpp:
  41593. * plugins/gtk/PluginViewGtk.cpp:
  41594. * plugins/qt/PluginViewQt.cpp:
  41595. * plugins/win/PluginViewWin.cpp:
  41596. * rendering/RenderWidget.cpp:
  41597. (WebCore::RenderWidget::paint):
  41598. * rendering/RenderWidget.h:
  41599. 2011-08-05 Jochen Eisinger <jochen@chromium.org>
  41600. Introduce a new ResourceRequest::TargetType for XHRs
  41601. https://bugs.webkit.org/show_bug.cgi?id=65544
  41602. Reviewed by Darin Fisher.
  41603. * platform/network/chromium/ResourceRequest.h:
  41604. * xml/XMLHttpRequest.cpp:
  41605. (WebCore::XMLHttpRequest::createRequest):
  41606. 2011-08-05 Yael Aharon <yael.aharon@nokia.com>
  41607. dir=auto needs to work on value of input and textarea elements
  41608. https://bugs.webkit.org/show_bug.cgi?id=65428
  41609. Reviewed by Darin Adler.
  41610. Changed the directionality algorithm to evaluate the value of input elements and textarea elements when
  41611. they have the attribute dir-auto Set.
  41612. Also skip these elements when evaluating the directionality of their ancestors.
  41613. HTMLTextAreaElement::childrenChanged is not called when a user types into the textarea, so call
  41614. calculateAndAdjustDirectionality() explicitly from HTMLTextAreaElement::subtreeHasChanged().
  41615. HTMLInputElement::childrenChanged is not called when a user types into the textarea, so call
  41616. calculateAndAdjustDirectionality() explicitly from HTMLTextAreaElement::subtreeHasChanged().
  41617. Tests: fast/dom/HTMLElement/attr-dir-auto-changed-text-form-control.html
  41618. fast/dom/HTMLElement/attr-dir-auto-text-form-control-child.html
  41619. fast/dom/HTMLElement/attr-dir-auto-text-form-control.html
  41620. * html/HTMLElement.cpp:
  41621. (WebCore::HTMLElement::directionality):
  41622. * html/HTMLElement.h:
  41623. * html/HTMLTextAreaElement.cpp:
  41624. (WebCore::HTMLTextAreaElement::subtreeHasChanged):
  41625. 2011-08-05 Keishi Hattori <keishi@webkit.org>
  41626. Implement <input type=color> UI behavior WebCore part
  41627. https://bugs.webkit.org/show_bug.cgi?id=62619
  41628. Reviewed by Kent Tamura.
  41629. * WebCore.exp.in: Added __ZN7WebCore12ColorChooser7chooserEv and
  41630. __ZNK7WebCore12ColorChooser13colorSelectedERKNS_5ColorE
  41631. * WebCore.xcodeproj/project.pbxproj: Added ColorChooser.{h,cpp}
  41632. * html/ColorInputType.cpp:
  41633. (WebCore::ColorInputType::~ColorInputType): Added. Close color chooser. ex. when type attribute changes.
  41634. (WebCore::ColorInputType::valueAsColor): Added.
  41635. (WebCore::ColorInputType::setValueAsColor): Added.
  41636. (WebCore::ColorInputType::valueChanged): Update selected color in color chooser too.
  41637. (WebCore::ColorInputType::handleClickEvent): Opens color chooser.
  41638. (WebCore::ColorInputType::handleDOMActivateEvent): Called when element.click(). Open color chooser only
  41639. when it was initiated by a user interaction.
  41640. (WebCore::ColorInputType::detach): Close color chooser. Called when input element or its ancestors have "display:none"
  41641. or is removed from DOM.
  41642. (WebCore::ColorInputType::colorSelected): Callback from color chooser.
  41643. (WebCore::ColorInputType::closeColorChooserIfClientIsInDocument): Close color chooser if element is in
  41644. document. Called when the page navigates away.
  41645. (WebCore::ColorInputType::closeColorChooserIfCurrentClient): Close color chooser if this input type is the current client of ColorChooser.
  41646. * html/ColorInputType.h:
  41647. * html/FileInputType.cpp:
  41648. * html/FileInputType.h:
  41649. * html/HTMLInputElement.cpp:
  41650. (WebCore::HTMLInputElement::detach): Calls InputType::detach
  41651. * html/InputType.cpp:
  41652. (WebCore::InputType::chrome): Added. Used in FileInputType and ColorInputType.
  41653. (WebCore::InputType::detach): ColorInputType overrides this.
  41654. * html/InputType.h:
  41655. * loader/EmptyClients.h:
  41656. (WebCore::EmptyChromeClient::openColorChooser): Added.
  41657. (WebCore::EmptyChromeClient::closeColorChooser): Added.
  41658. (WebCore::EmptyChromeClient::setSelectedColorInColorChooser): Added.
  41659. * loader/FrameLoader.cpp:
  41660. (WebCore::FrameLoader::transitionToCommitted): Close color chooser when
  41661. navigating away from the page.
  41662. * page/Chrome.cpp:
  41663. (WebCore::Chrome::openColorChooser): Added. Opens the color chooser.
  41664. (WebCore::Chrome::closeColorChooser): Added. Tries to close the color chooser. Might not close if the
  41665. listener of the color chooser is another part of the browser or another render process.
  41666. (WebCore::Chrome::setSelectedColorInColorChooser): Added. Sets the selected color in the color chooser.
  41667. Again, might not be executed if the listener of the color chooser is another part of the browser or another render process.
  41668. * page/Chrome.h:
  41669. * page/ChromeClient.h:
  41670. * platform/ColorChooser.cpp: Added.
  41671. (WebCore::ColorChooserClient::~ColorChooserClient): Disconnects itself from the ColorChooser.
  41672. (WebCore::ColorChooser::chooser): Get shared instance of ColorChooser.
  41673. (WebCore::ColorChooser::chooser): Get shared instance of ColorChooser.
  41674. (WebCore::ColorChooser::connectClient): Connects a ColorChooserClient that receives the colorSelected callbacks.
  41675. (WebCore::ColorChooser::disconnectClient): Disconnects the connectClient.
  41676. (WebCore::ColorChooser::closeColorChooserIfClientIsInDocument): Close the color chooser if the client is
  41677. inside the document.
  41678. (WebCore::ColorChooser::colorSelected): Called from color chooser listener.
  41679. * platform/ColorChooser.h: Added.
  41680. (WebCore::ColorChooser::client): Added. Returns the current connected client.
  41681. (WebCore::ColorChooser::ColorChooser): Added.
  41682. 2011-08-05 Yury Semikhatsky <yurys@chromium.org>
  41683. Web Inspector: check that detaching frame has been attached before removing it from the console selector
  41684. https://bugs.webkit.org/show_bug.cgi?id=65686
  41685. Reviewed by Pavel Feldman.
  41686. * inspector/front-end/JavaScriptContextManager.js:
  41687. (WebInspector.JavaScriptContextManager.prototype._frameDetached):
  41688. 2011-08-05 Keishi Hattori <keishi@webkit.org>
  41689. Sort WebCore.xcodeproj
  41690. Accomplished using sort-Xcode-project-file.
  41691. * WebCore.xcodeproj/project.pbxproj:
  41692. 2011-08-05 Yury Semikhatsky <yurys@chromium.org>
  41693. Web Inspector: constrain maximum depth for returnByValue objects
  41694. https://bugs.webkit.org/show_bug.cgi?id=65761
  41695. Set maximum depth to 20 for objects returned by value as a result of evaluations.
  41696. Reviewed by Pavel Feldman.
  41697. * bindings/js/ScriptValue.cpp:
  41698. (WebCore::jsToInspectorValue):
  41699. (WebCore::ScriptValue::toInspectorValue):
  41700. * bindings/v8/ScriptValue.cpp:
  41701. (WebCore::v8ToInspectorValue):
  41702. (WebCore::ScriptValue::toInspectorValue):
  41703. * inspector/InjectedScript.cpp:
  41704. (WebCore::InjectedScript::makeCall):
  41705. * inspector/InspectorValues.h:
  41706. 2011-08-05 Mark Pilgrim <pilgrim@chromium.org>
  41707. Remove LegacyDefaultOptionalArguments flag from appcache IDL files
  41708. https://bugs.webkit.org/show_bug.cgi?id=65752
  41709. Reviewed by Adam Barth.
  41710. No new tests, all existing tests pass.
  41711. * loader/appcache/DOMApplicationCache.idl:
  41712. 2011-08-04 Hans Wennborg <hans@chromium.org>
  41713. IndexedDB: Stop using free-lists for database/object store/index ids.
  41714. https://bugs.webkit.org/show_bug.cgi?id=65678
  41715. Reviewed by Tony Chang.
  41716. Don't use free-lists for database/object store/index ids,
  41717. just assign increasing numbers.
  41718. It turns out that deleting an object store and creating a new one with
  41719. the same id would cause the delete markers from the old object store to
  41720. slow down lookups into the new one. Therefore we should generate
  41721. a new id every time. Running out of ids (64 bits for databases and
  41722. object stores, 32 bits for indices) is not realistic.
  41723. Also make functions that generate new ids report errors, and make the
  41724. callers of those functions check the return values.
  41725. We must still delete free-lists when deleting an object store, and we
  41726. must keep the code for encoding/decoding/comparison of free-list keys
  41727. since users might have them in their databases.
  41728. This is just a performance optimization, so no new tests.
  41729. * storage/IDBLevelDBBackingStore.cpp:
  41730. (WebCore::getNewDatabaseId):
  41731. (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData):
  41732. (WebCore::getNewObjectStoreId):
  41733. (WebCore::IDBLevelDBBackingStore::createObjectStore):
  41734. (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
  41735. (WebCore::getNewIndexId):
  41736. (WebCore::IDBLevelDBBackingStore::createIndex):
  41737. (WebCore::IDBLevelDBBackingStore::deleteIndex):
  41738. 2011-08-05 Roland Steiner <rolandsteiner@chromium.org>
  41739. Unreviewed: change an instance of isImportRule() that was overlooked in commit 92448.
  41740. No new tests. (No functional change)
  41741. * xml/XSLImportRule.h:
  41742. (WebCore::XSLImportRule::isImportRule):
  41743. 2011-08-05 Mark Pilgrim <pilgrim@chromium.org>
  41744. Remove LegacyDefaultOptionalArguments flag from remaining SVG IDL files
  41745. https://bugs.webkit.org/show_bug.cgi?id=65751
  41746. Reviewed by Adam Barth.
  41747. No new tests, all existing tests pass.
  41748. * svg/SVGElementInstance.idl:
  41749. 2011-08-05 Pavel Feldman <pfeldman@google.com>
  41750. Web Inspector: do not delay scroll event handling - scroll is already async.
  41751. https://bugs.webkit.org/show_bug.cgi?id=65693
  41752. Reviewed by Yury Semikhatsky.
  41753. * inspector/front-end/TextViewer.js:
  41754. (WebInspector.TextViewer.prototype._syncScroll):
  41755. 2011-08-05 Mark Pilgrim <pilgrim@chromium.org>
  41756. Remove LegacyDefaultOptionalArguments flag from web audio API
  41757. https://bugs.webkit.org/show_bug.cgi?id=65750
  41758. Reviewed by Adam Barth.
  41759. No new tests, all existing tests pass.
  41760. * webaudio/AudioBufferSourceNode.idl:
  41761. 2011-08-05 Mark Pilgrim <pilgrim@chromium.org>
  41762. Remove LegacyDefaultOptionalArguments flag from Web Workers
  41763. https://bugs.webkit.org/show_bug.cgi?id=65746
  41764. Reviewed by Adam Barth.
  41765. No new tests, all existing tests pass.
  41766. * workers/AbstractWorker.idl:
  41767. * workers/DedicatedWorkerContext.idl:
  41768. * workers/Worker.idl:
  41769. * workers/WorkerContext.idl:
  41770. 2011-08-05 Kenichi Ishibashi <bashi@chromium.org>
  41771. Parsing CSS3 font-feature-settings property
  41772. https://bugs.webkit.org/show_bug.cgi?id=63618
  41773. Introduces CSS3 font-feature-settings property as -webkit-font-feature-settings. This change only contains parsing part. Parsed information are stored in FontDescription class.
  41774. Reviewed by Shinichiro Hamaji.
  41775. Test: css3/font-feature-settings-parsing.html
  41776. * CMakeLists.txt: Added FontFeatureValue.{h,cpp} and FontFeatureSettings.{h,cpp}.
  41777. * GNUmakefile.list.am: Ditto.
  41778. * WebCore.gypi: Ditto.
  41779. * WebCore.pro: Ditto.
  41780. * WebCore.vcproj/WebCore.vcproj: Ditto.
  41781. * WebCore.xcodeproj/project.pbxproj: Ditto.
  41782. * css/CSSComputedStyleDeclaration.cpp:
  41783. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added CSSPropertyWebkitFontFeatureSettings.
  41784. * css/CSSParser.cpp:
  41785. (WebCore::CSSParser::parseValue): Added parsing code for -webkit-font-feature-settings.
  41786. (WebCore::CSSParser::parseFontFeatureTag): Added.
  41787. (WebCore::CSSParser::parseFontFeatureSettings): Added.
  41788. * css/CSSParser.h: Added parseFontFeatureSettings().
  41789. * css/CSSPropertyNames.in: Added -webkit-font-feature-settings.
  41790. * css/CSSStyleSelector.cpp:
  41791. (WebCore::CSSStyleSelector::applyDeclarations): Modified a compile assert to follow adding -webkit-font-feature-settings.
  41792. (WebCore::CSSStyleSelector::applyProperty): Added a case clause for CSSPropertyWebkitFontFeatureSettings.
  41793. * css/CSSValue.h:
  41794. (WebCore::CSSValue::isFontFeatureValue): Added.
  41795. * css/CSSValueKeywords.in: Added 'on' and 'off' keywords.
  41796. * css/FontFeatureValue.cpp: Added.
  41797. (WebCore::FontFeatureValue::FontFeatureValue):
  41798. (WebCore::FontFeatureValue::value):
  41799. (WebCore::FontFeatureValue::cssText):
  41800. * css/FontFeatureValue.h: Added.
  41801. (WebCore::FontFeatureValue::create):
  41802. (WebCore::FontFeatureValue::tag):
  41803. (WebCore::FontFeatureValue::isFontFeatureValue):
  41804. * platform/graphics/FontDescription.cpp:
  41805. (WebCore::FontDescription::makeNormalFeatureSettings): Added.
  41806. * platform/graphics/FontDescription.h:
  41807. (WebCore::FontDescription::FontDescription): Added m_featureSettings member variable.
  41808. (WebCore::FontDescription::featureSettings): Added.
  41809. (WebCore::FontDescription::setFeatureSettings): Added.
  41810. (WebCore::FontDescription::operator==): Modified to take into account m_featureSettings
  41811. * platform/graphics/FontFeatureSettings.cpp: Added.
  41812. (WebCore::FontFeature::FontFeature):
  41813. (WebCore::FontFeature::operator=):
  41814. (WebCore::FontFeature::operator==):
  41815. (WebCore::FontFeatureSettings::FontFeatureSettings):
  41816. * platform/graphics/FontFeatureSettings.h: Added.
  41817. (WebCore::FontFeature::tag):
  41818. (WebCore::FontFeature::value):
  41819. (WebCore::FontFeatureSettings::create):
  41820. (WebCore::FontFeatureSettings::append):
  41821. (WebCore::FontFeatureSettings::size):
  41822. (WebCore::FontFeatureSettings::operator[]):
  41823. (WebCore::FontFeatureSettings::at):
  41824. 2011-08-05 Mark Pilgrim <pilgrim@chromium.org>
  41825. Remove LegacyDefaultOptionalArguments flag from websockets
  41826. https://bugs.webkit.org/show_bug.cgi?id=65749
  41827. Reviewed by Adam Barth.
  41828. No new tests, all existing tests pass.
  41829. * websockets/WebSocket.idl:
  41830. 2011-08-05 Adam Barth <abarth@webkit.org>
  41831. Attempt to heal media/video-can-play-type.html and media/video-src-change.html.
  41832. * html/HTMLMediaElement.idl:
  41833. 2011-08-05 Mark Pilgrim <pilgrim@chromium.org>
  41834. Remove LegacyDefaultOptionalArguments flag from notifications IDL files
  41835. https://bugs.webkit.org/show_bug.cgi?id=65747
  41836. Reviewed by Adam Barth.
  41837. No new tests, all existing tests pass.
  41838. * notifications/Notification.idl:
  41839. * notifications/NotificationCenter.idl:
  41840. 2011-08-05 Sheriff Bot <webkit.review.bot@gmail.com>
  41841. Unreviewed, rolling out r92439.
  41842. http://trac.webkit.org/changeset/92439
  41843. https://bugs.webkit.org/show_bug.cgi?id=65753
  41844. Caused 9 tests to fail on Qt (Requested by abarth on #webkit).
  41845. * dom/Document.cpp:
  41846. (WebCore::Document::implicitOpen):
  41847. * loader/FrameLoader.cpp:
  41848. (WebCore::FrameLoader::transitionToCommitted):
  41849. (WebCore::FrameLoader::detachChildren):
  41850. 2011-08-04 Ryosuke Niwa <rniwa@webkit.org>
  41851. Use RenderedPosition instead of getInlineBoxAndOffset in Editor and AccessibilityObject
  41852. https://bugs.webkit.org/show_bug.cgi?id=65647
  41853. Reviewed by Hajime Morita.
  41854. Encapsulated the use of getInlineBoxAndOffset in Editor.cpp and AccessibilityObject.cpp by RenderedPosition.
  41855. Also added rendererFromPosition that returns the renderer of deprecatedNode but using a proper Position interface.
  41856. * accessibility/AccessibilityObject.cpp:
  41857. (WebCore::updateAXLineStartForVisiblePosition):
  41858. * editing/Editor.cpp:
  41859. (WebCore::Editor::firstRectForRange):
  41860. * editing/RenderedPosition.cpp:
  41861. (WebCore::rendererFromPosition):
  41862. (WebCore::RenderedPosition::RenderedPosition):
  41863. (WebCore::RenderedPosition::absoluteRect):
  41864. * editing/RenderedPosition.h:
  41865. (WebCore::RenderedPosition::absoluteRect):
  41866. 2011-08-04 Hayato Ito <hayato@chromium.org>
  41867. Make ScopedEventQueue enqueue an EventDispatchMediator, instead of an Event.
  41868. https://bugs.webkit.org/show_bug.cgi?id=65613
  41869. Reviewed by Dimitri Glazkov.
  41870. No changes to functionality so no new tests.
  41871. * dom/Event.h:
  41872. * dom/EventDispatcher.cpp:
  41873. (WebCore::EventDispatcher::dispatchScopedEvent):
  41874. * dom/EventDispatcher.h:
  41875. * dom/Node.cpp:
  41876. (WebCore::Node::dispatchScopedEvent):
  41877. (WebCore::Node::dispatchScopedEventDispatchMediator):
  41878. * dom/Node.h:
  41879. * dom/ScopedEventQueue.cpp:
  41880. (WebCore::ScopedEventQueue::~ScopedEventQueue):
  41881. (WebCore::ScopedEventQueue::enqueueEventDispatchMediator):
  41882. (WebCore::ScopedEventQueue::dispatchAllEvents):
  41883. (WebCore::ScopedEventQueue::dispatchEvent):
  41884. * dom/ScopedEventQueue.h:
  41885. 2011-08-04 James Robinson <jamesr@chromium.org>
  41886. Unreviewed build fix. gcc 4.5 can't figure out that the 'data' variables are always initialized in these functions.
  41887. * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
  41888. (WebCore::jsArrayToFloatArray):
  41889. (WebCore::jsArrayToIntArray):
  41890. 2011-08-05 Roland Steiner <rolandsteiner@chromium.org>
  41891. Improve const-correctness in CSS code: type information methods
  41892. https://bugs.webkit.org/show_bug.cgi?id=65506
  41893. Reviewed by Simon Fraser.
  41894. Make "is...()" functions (e.g., "isStyleRule()") const.
  41895. Also, change CSSRule's type() function to return CSSRuleType.
  41896. No new tests. (no change in semantics)
  41897. * css/CSSCharsetRule.h:
  41898. (WebCore::CSSCharsetRule::isCharsetRule):
  41899. (WebCore::CSSCharsetRule::type):
  41900. * css/CSSFontFaceRule.h:
  41901. (WebCore::CSSFontFaceRule::isFontFaceRule):
  41902. (WebCore::CSSFontFaceRule::type):
  41903. * css/CSSImportRule.h:
  41904. (WebCore::CSSImportRule::isImportRule):
  41905. (WebCore::CSSImportRule::type):
  41906. * css/CSSMediaRule.h:
  41907. (WebCore::CSSMediaRule::isMediaRule):
  41908. (WebCore::CSSMediaRule::type):
  41909. * css/CSSPageRule.h:
  41910. (WebCore::CSSPageRule::isPageRule):
  41911. (WebCore::CSSPageRule::type):
  41912. * css/CSSRule.h:
  41913. (WebCore::CSSRule::isRule):
  41914. * css/CSSStyleRule.h:
  41915. (WebCore::CSSStyleRule::isStyleRule):
  41916. (WebCore::CSSStyleRule::type):
  41917. * css/CSSUnknownRule.h:
  41918. (WebCore::CSSUnknownRule::type):
  41919. * css/StyleBase.h:
  41920. (WebCore::StyleBase::isCharsetRule):
  41921. (WebCore::StyleBase::isFontFaceRule):
  41922. (WebCore::StyleBase::isImportRule):
  41923. (WebCore::StyleBase::isKeyframeRule):
  41924. (WebCore::StyleBase::isKeyframesRule):
  41925. (WebCore::StyleBase::isMediaRule):
  41926. (WebCore::StyleBase::isPageRule):
  41927. (WebCore::StyleBase::isRule):
  41928. (WebCore::StyleBase::isStyleRule):
  41929. * css/WebKitCSSKeyframeRule.h:
  41930. (WebCore::WebKitCSSKeyframeRule::isKeyframeRule):
  41931. (WebCore::WebKitCSSKeyframeRule::type):
  41932. * css/WebKitCSSKeyframesRule.h:
  41933. (WebCore::WebKitCSSKeyframesRule::isKeyframesRule):
  41934. (WebCore::WebKitCSSKeyframesRule::type):
  41935. 2011-08-04 Mark Pilgrim <pilgrim@chromium.org>
  41936. Remove LegacyDefaultOptionalArguments flag from plugin IDL files
  41937. https://bugs.webkit.org/show_bug.cgi?id=65745
  41938. Reviewed by Adam Barth.
  41939. No new tests, all existing tests pass.
  41940. * plugins/DOMMimeTypeArray.idl:
  41941. * plugins/DOMPlugin.idl:
  41942. * plugins/DOMPluginArray.idl:
  41943. 2011-08-04 Mark Pilgrim <pilgrim@chromium.org>
  41944. Remove LegacyDefaultOptionalArguments flag from XML/XSL IDL files
  41945. https://bugs.webkit.org/show_bug.cgi?id=65740
  41946. Reviewed by Adam Barth.
  41947. No new tests, all existing tests pass.
  41948. * xml/DOMParser.idl:
  41949. * xml/XMLSerializer.idl:
  41950. * xml/XPathEvaluator.idl:
  41951. * xml/XPathExpression.idl:
  41952. * xml/XPathNSResolver.idl:
  41953. * xml/XPathResult.idl:
  41954. * xml/XSLTProcessor.idl:
  41955. 2011-08-04 Mark Pilgrim <pilgrim@chromium.org>
  41956. Remove LegacyDefaultOptionalArguments flag from canvas IDL files
  41957. https://bugs.webkit.org/show_bug.cgi?id=65737
  41958. Reviewed by Adam Barth.
  41959. No new tests, all existing tests pass.
  41960. * html/canvas/CanvasGradient.idl:
  41961. * html/canvas/Float32Array.idl:
  41962. * html/canvas/Float64Array.idl:
  41963. * html/canvas/Int16Array.idl:
  41964. * html/canvas/Int32Array.idl:
  41965. * html/canvas/Int8Array.idl:
  41966. * html/canvas/OESVertexArrayObject.idl:
  41967. * html/canvas/Uint16Array.idl:
  41968. * html/canvas/Uint32Array.idl:
  41969. * html/canvas/Uint8Array.idl:
  41970. 2011-08-04 MORITA Hajime <morrita@google.com>
  41971. Reviewed by Ryosuke Niwa.
  41972. DocumentMarker: Type specific details should be separately held by other object.
  41973. https://bugs.webkit.org/show_bug.cgi?id=59855
  41974. - Introduced DocumentMarkerDetails abstract class and two its subclasses
  41975. DocumentMarkerDescription and DocumentMarkerActiveMatch,
  41976. - Replacing DocumentMarker::m_description and
  41977. DocumentMarker::m_activeMatch with these new details classes.
  41978. No new tests. No behavior change.
  41979. * CMakeLists.txt:
  41980. * GNUmakefile.list.am:
  41981. * WebCore.gypi:
  41982. * WebCore.pro:
  41983. * WebCore.vcproj/WebCore.vcproj:
  41984. * WebCore.xcodeproj/project.pbxproj:
  41985. * dom/DOMAllInOne.cpp:
  41986. * dom/DocumentMarker.cpp: Added.
  41987. (WebCore::emptyDescription):
  41988. (WebCore::DocumentMarkerDetails::DocumentMarkerDetails):
  41989. (WebCore::DocumentMarkerDetails::~DocumentMarkerDetails):
  41990. (WebCore::DocumentMarkerDescription::description):
  41991. (WebCore::DocumentMarkerDescription::isDescription):
  41992. (WebCore::DocumentMarkerDescription::DocumentMarkerDescription):
  41993. (WebCore::DocumentMarkerDescription::createUnlessEmpty):
  41994. (WebCore::DocumentMarkerDescription::compatibleTypes):
  41995. (WebCore::DocumentMarkerTextMatch::activeMatch):
  41996. (WebCore::DocumentMarkerTextMatch::isTextMatch):
  41997. (WebCore::DocumentMarkerTextMatch::DocumentMarkerTextMatch):
  41998. (WebCore::DocumentMarkerTextMatch::instanceFor):
  41999. (WebCore::DocumentMarkerTextMatch::compatibleTypes):
  42000. (WebCore::DocumentMarker::DocumentMarker):
  42001. (WebCore::DocumentMarker::shiftOffsets):
  42002. (WebCore::DocumentMarker::setActiveMatch):
  42003. (WebCore::DocumentMarker::description):
  42004. (WebCore::DocumentMarker::activeMatch):
  42005. * dom/DocumentMarker.h:
  42006. (WebCore::DocumentMarker::details):
  42007. (WebCore::DocumentMarker::clearDetails):
  42008. (WebCore::DocumentMarkerDetails::isDescription):
  42009. (WebCore::DocumentMarkerDetails::isTextMatch):
  42010. (WebCore::DocumentMarkerDetails::isAllowedFor):
  42011. * dom/DocumentMarkerController.cpp:
  42012. (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
  42013. * editing/CompositeEditCommand.cpp:
  42014. (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
  42015. 2011-08-04 Scott Graham <scottmg@chromium.org>
  42016. Bad interaction between document destruction and unload events
  42017. https://bugs.webkit.org/show_bug.cgi?id=64741
  42018. Reviewed by Adam Barth.
  42019. Three different errors triggered by this test case. The case to
  42020. consider is a subdocument with an onunload on an element, that
  42021. destroys the parent document during the onunload. One fix was a
  42022. lifetime issue fixed by a protecting RefPtr, and another was an
  42023. additional cancel of event triggers. The main fix was that during the
  42024. transition to commited state, the documentLoader is being replaced by
  42025. the provisionalDocumentLoader. But, because during firing events in
  42026. the subdocument the parent is destroyed, that subevent caused the
  42027. provisionalDocumentLoader to be detached from its frame. By marking
  42028. the page as being in committed state before the parent documentLoader
  42029. is set, this is avoided.
  42030. Test: loader/document-destruction-within-unload.html
  42031. * dom/Document.cpp:
  42032. (WebCore::Document::implicitOpen):
  42033. * loader/FrameLoader.cpp:
  42034. (WebCore::FrameLoader::transitionToCommitted):
  42035. (WebCore::FrameLoader::detachChildren):
  42036. 2011-08-04 Simon Fraser <simon.fraser@apple.com>
  42037. Add code to determine whether a Range in inside fixed position content
  42038. https://bugs.webkit.org/show_bug.cgi?id=65720
  42039. Reviewed by Sam Weinig.
  42040. Propagate the 'wasFixed' flag out from various methods that
  42041. are used when computing the collection of rects or quads
  42042. for a range. Use the flag in Range to computer whether
  42043. the Range is entirely within, partially within, or outside
  42044. of fixed-position content.
  42045. * WebCore.exp.in:
  42046. * accessibility/AccessibilityRenderObject.cpp:
  42047. (WebCore::AccessibilityRenderObject::boundingBoxRect):
  42048. * dom/Range.cpp:
  42049. (WebCore::Range::textRects):
  42050. (WebCore::Range::textQuads):
  42051. * dom/Range.h:
  42052. * rendering/RenderBlock.cpp:
  42053. (WebCore::RenderBlock::absoluteQuads):
  42054. * rendering/RenderBlock.h:
  42055. * rendering/RenderBox.cpp:
  42056. (WebCore::RenderBox::absoluteQuads):
  42057. * rendering/RenderBox.h:
  42058. * rendering/RenderInline.cpp:
  42059. (WebCore::RenderInline::absoluteQuads):
  42060. * rendering/RenderInline.h:
  42061. * rendering/RenderObject.h:
  42062. (WebCore::RenderObject::absoluteQuads):
  42063. * rendering/RenderText.cpp:
  42064. (WebCore::RenderText::absoluteRectsForRange):
  42065. (WebCore::RenderText::absoluteQuads):
  42066. (WebCore::RenderText::absoluteQuadsForRange):
  42067. * rendering/RenderText.h:
  42068. * rendering/RenderView.cpp:
  42069. (WebCore::RenderView::absoluteQuads):
  42070. * rendering/RenderView.h:
  42071. * rendering/svg/RenderSVGHiddenContainer.cpp:
  42072. (WebCore::RenderSVGHiddenContainer::absoluteQuads):
  42073. * rendering/svg/RenderSVGHiddenContainer.h:
  42074. * rendering/svg/RenderSVGInline.cpp:
  42075. (WebCore::RenderSVGInline::absoluteQuads):
  42076. * rendering/svg/RenderSVGInline.h:
  42077. * rendering/svg/RenderSVGModelObject.cpp:
  42078. (WebCore::RenderSVGModelObject::absoluteQuads):
  42079. * rendering/svg/RenderSVGModelObject.h:
  42080. * rendering/svg/RenderSVGText.cpp:
  42081. (WebCore::RenderSVGText::absoluteQuads):
  42082. * rendering/svg/RenderSVGText.h:
  42083. 2011-08-04 Mark Pilgrim <pilgrim@chromium.org>
  42084. Remove LegacyDefaultOptionalArguments flag from Document.idl
  42085. https://bugs.webkit.org/show_bug.cgi?id=65717
  42086. Reviewed by Adam Barth.
  42087. No new tests, all existing tests pass.
  42088. * dom/Document.idl:
  42089. 2011-08-04 Simon Fraser <simon.fraser@apple.com>
  42090. Fix release build failure with last commit.
  42091. * rendering/RenderView.cpp:
  42092. (WebCore::RenderView::mapLocalToContainer):
  42093. 2011-08-04 Simon Fraser <simon.fraser@apple.com>
  42094. Add code to determine whether a Range in inside fixed position content
  42095. https://bugs.webkit.org/show_bug.cgi?id=65720
  42096. Reviewed by Dan Bernstein.
  42097. Add an out param for various coordinate mapping functions
  42098. that tells us whether the point or rectangle being
  42099. mapped is inside fixed-position content.
  42100. This brings back some of the changes from r89754.
  42101. No behavior changes, so no tests.
  42102. * rendering/RenderBox.cpp:
  42103. (WebCore::RenderBox::mapLocalToContainer):
  42104. * rendering/RenderBox.h:
  42105. * rendering/RenderInline.cpp:
  42106. (WebCore::RenderInline::mapLocalToContainer):
  42107. * rendering/RenderInline.h:
  42108. * rendering/RenderObject.cpp:
  42109. (WebCore::RenderObject::mapLocalToContainer):
  42110. (WebCore::RenderObject::localToContainerQuad):
  42111. * rendering/RenderObject.h:
  42112. (WebCore::RenderObject::localToAbsoluteQuad):
  42113. * rendering/RenderView.cpp:
  42114. (WebCore::RenderView::mapLocalToContainer):
  42115. * rendering/RenderView.h:
  42116. * rendering/svg/RenderSVGForeignObject.cpp:
  42117. (WebCore::RenderSVGForeignObject::mapLocalToContainer):
  42118. * rendering/svg/RenderSVGForeignObject.h:
  42119. * rendering/svg/RenderSVGInline.cpp:
  42120. (WebCore::RenderSVGInline::mapLocalToContainer):
  42121. * rendering/svg/RenderSVGInline.h:
  42122. * rendering/svg/RenderSVGModelObject.cpp:
  42123. (WebCore::RenderSVGModelObject::mapLocalToContainer):
  42124. * rendering/svg/RenderSVGModelObject.h:
  42125. * rendering/svg/RenderSVGRoot.cpp:
  42126. (WebCore::RenderSVGRoot::mapLocalToContainer):
  42127. * rendering/svg/RenderSVGRoot.h:
  42128. * rendering/svg/RenderSVGText.cpp:
  42129. (WebCore::RenderSVGText::mapLocalToContainer):
  42130. * rendering/svg/RenderSVGText.h:
  42131. * rendering/svg/SVGRenderSupport.cpp:
  42132. (WebCore::SVGRenderSupport::mapLocalToContainer):
  42133. * rendering/svg/SVGRenderSupport.h:
  42134. 2011-08-04 Mark Pilgrim <pilgrim@chromium.org>
  42135. Remove LegacyDefaultOptionalArguments flag from DOM-related files except Document.idl
  42136. https://bugs.webkit.org/show_bug.cgi?id=65715
  42137. Reviewed by Adam Barth.
  42138. No new tests, all existing tests pass.
  42139. * dom/CharacterData.idl:
  42140. * dom/ClientRectList.idl:
  42141. * dom/Clipboard.idl:
  42142. * dom/DOMImplementation.idl:
  42143. * dom/DOMStringList.idl:
  42144. * dom/DataTransferItem.idl:
  42145. * dom/DataTransferItems.idl:
  42146. * dom/DocumentFragment.idl:
  42147. * dom/Element.idl:
  42148. * dom/EventListener.idl:
  42149. * dom/EventTarget.idl:
  42150. * dom/MediaStream.idl:
  42151. * dom/MediaStreamList.idl:
  42152. * dom/MediaStreamTrackList.idl:
  42153. * dom/MessagePort.idl:
  42154. * dom/NamedNodeMap.idl:
  42155. * dom/Node.idl:
  42156. * dom/NodeFilter.idl:
  42157. * dom/NodeList.idl:
  42158. * dom/Range.idl:
  42159. * dom/RequestAnimationFrameCallback.idl:
  42160. * dom/StringCallback.idl:
  42161. * dom/Text.idl:
  42162. * dom/TouchList.idl:
  42163. 2011-08-04 Mark Rowe <mrowe@apple.com>
  42164. Future-proof Xcode configuration settings.
  42165. * Configurations/Base.xcconfig:
  42166. * Configurations/DebugRelease.xcconfig:
  42167. * Configurations/Version.xcconfig:
  42168. * Configurations/WebCore.xcconfig:
  42169. 2011-08-04 Van Lam <vanlam@google.com>
  42170. A few purely stylistic modifications to visible_units.cpp
  42171. https://bugs.webkit.org/show_bug.cgi?id=65723
  42172. Reviewed by Ryosuke Niwa.
  42173. Renamed greatestValueUnder to greatestOffsetUnder, positionIsInsideBox
  42174. to positionIsInBoxButNotOnBoundary (to avoid confusion with
  42175. positionIsInBox, which is just a getInlineBoxAndOffset check).
  42176. Removed use of invalidOffset as an error value in greatestOffsetUnder
  42177. and smallestOffsetAbove since semantically it should only be used to
  42178. check if it makes sense to compare offsets in a single box.
  42179. * editing/visible_units.cpp:
  42180. (WebCore::greatestOffsetUnder):
  42181. (WebCore::smallestOffsetAbove):
  42182. (WebCore::positionIsInBoxButNotOnBoundary):
  42183. (WebCore::leftWordPositionAcrossBoundary):
  42184. (WebCore::rightWordPositionAcrossBoundary):
  42185. 2011-08-04 James Robinson <jamesr@chromium.org>
  42186. [chromium] Implement a global resource limit for DrawingBuffer to limit the amount of GPU memory used by 2d canvas backing stores
  42187. https://bugs.webkit.org/show_bug.cgi?id=65655
  42188. Reviewed by Kenneth Russell.
  42189. * platform/graphics/gpu/DrawingBuffer.cpp:
  42190. (WebCore::DrawingBuffer::setResourceLimit):
  42191. (WebCore::DrawingBuffer::clear):
  42192. (WebCore::DrawingBuffer::reset):
  42193. * platform/graphics/gpu/DrawingBuffer.h:
  42194. 2011-08-04 Kenichi Ishibashi <bashi@chromium.org>
  42195. [Chromium] Reduce memory consumption of HarfbuzzFace
  42196. https://bugs.webkit.org/show_bug.cgi?id=65688
  42197. Adds a cache for HB_FaceRec to eliminate multiple allocation for the same font.
  42198. Reviewed by Tony Chang.
  42199. No new tests since there is no behavior change.
  42200. * platform/graphics/chromium/HarfbuzzSkia.cpp:
  42201. (WebCore::getCachedHarfbuzzFace): Added.
  42202. (WebCore::releaseCachedHarfbuzzFace): Ditto.
  42203. (WebCore::HarfbuzzFace::HarfbuzzFace): Calls getCachedHarfbuzzFace() instead of allocating HB_FaceRec.
  42204. (WebCore::HarfbuzzFace::~HarfbuzzFace): Calls releaseCachedHarfbuzzFace() to release the onership of the cache.
  42205. * platform/graphics/chromium/HarfbuzzSkia.h:
  42206. 2011-08-04 Sheriff Bot <webkit.review.bot@gmail.com>
  42207. Unreviewed, rolling out r92415.
  42208. http://trac.webkit.org/changeset/92415
  42209. https://bugs.webkit.org/show_bug.cgi?id=65728
  42210. Causes many DEBUG crashes (Requested by abarth on #webkit).
  42211. * platform/network/chromium/ResourceRequest.h:
  42212. * xml/XMLHttpRequest.cpp:
  42213. (WebCore::XMLHttpRequest::createRequest):
  42214. 2011-08-04 Tim Horton <timothy_horton@apple.com>
  42215. Reviewed by Nikolas Zimmerman.
  42216. Errors encountered within SVG documents should be reported to the console
  42217. https://bugs.webkit.org/show_bug.cgi?id=62599
  42218. <rdar://problem/9727074>
  42219. Make use of SVGLength::construct when parsing Length attributes; we will
  42220. now propagate errors which occur while parsing SVGLength attributes to the
  42221. Web Inspector console.
  42222. * svg/SVGCircleElement.cpp:
  42223. (WebCore::SVGCircleElement::parseMappedAttribute):
  42224. * svg/SVGCursorElement.cpp:
  42225. (WebCore::SVGCursorElement::parseMappedAttribute):
  42226. * svg/SVGEllipseElement.cpp:
  42227. (WebCore::SVGEllipseElement::parseMappedAttribute):
  42228. * svg/SVGFilterElement.cpp:
  42229. (WebCore::SVGFilterElement::parseMappedAttribute):
  42230. * svg/SVGFilterPrimitiveStandardAttributes.cpp:
  42231. (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
  42232. * svg/SVGForeignObjectElement.cpp:
  42233. (WebCore::SVGForeignObjectElement::parseMappedAttribute):
  42234. * svg/SVGImageElement.cpp:
  42235. (WebCore::SVGImageElement::parseMappedAttribute):
  42236. * svg/SVGLineElement.cpp:
  42237. (WebCore::SVGLineElement::parseMappedAttribute):
  42238. * svg/SVGLinearGradientElement.cpp:
  42239. (WebCore::SVGLinearGradientElement::parseMappedAttribute):
  42240. * svg/SVGMarkerElement.cpp:
  42241. (WebCore::SVGMarkerElement::parseMappedAttribute):
  42242. * svg/SVGMaskElement.cpp:
  42243. (WebCore::SVGMaskElement::parseMappedAttribute):
  42244. * svg/SVGPatternElement.cpp:
  42245. (WebCore::SVGPatternElement::parseMappedAttribute):
  42246. * svg/SVGRadialGradientElement.cpp:
  42247. (WebCore::SVGRadialGradientElement::parseMappedAttribute):
  42248. * svg/SVGRectElement.cpp:
  42249. (WebCore::SVGRectElement::parseMappedAttribute):
  42250. * svg/SVGSVGElement.cpp:
  42251. (WebCore::SVGSVGElement::parseMappedAttribute):
  42252. * svg/SVGTextContentElement.cpp:
  42253. (WebCore::SVGTextContentElement::parseMappedAttribute):
  42254. * svg/SVGTextPathElement.cpp:
  42255. (WebCore::SVGTextPathElement::parseMappedAttribute):
  42256. * svg/SVGUseElement.cpp:
  42257. (WebCore::SVGUseElement::parseMappedAttribute):
  42258. 2011-08-04 Sheriff Bot <webkit.review.bot@gmail.com>
  42259. Unreviewed, rolling out r92419.
  42260. http://trac.webkit.org/changeset/92419
  42261. https://bugs.webkit.org/show_bug.cgi?id=65726
  42262. "committed partially to branch" (Requested by thorton on
  42263. #webkit).
  42264. * svg/SVGCircleElement.cpp:
  42265. (WebCore::SVGCircleElement::parseMappedAttribute):
  42266. * svg/SVGCursorElement.cpp:
  42267. (WebCore::SVGCursorElement::parseMappedAttribute):
  42268. * svg/SVGEllipseElement.cpp:
  42269. (WebCore::SVGEllipseElement::parseMappedAttribute):
  42270. * svg/SVGFilterElement.cpp:
  42271. (WebCore::SVGFilterElement::parseMappedAttribute):
  42272. * svg/SVGFilterPrimitiveStandardAttributes.cpp:
  42273. (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
  42274. * svg/SVGForeignObjectElement.cpp:
  42275. (WebCore::SVGForeignObjectElement::parseMappedAttribute):
  42276. * svg/SVGImageElement.cpp:
  42277. (WebCore::SVGImageElement::parseMappedAttribute):
  42278. * svg/SVGLineElement.cpp:
  42279. (WebCore::SVGLineElement::parseMappedAttribute):
  42280. * svg/SVGLinearGradientElement.cpp:
  42281. (WebCore::SVGLinearGradientElement::parseMappedAttribute):
  42282. * svg/SVGMarkerElement.cpp:
  42283. (WebCore::SVGMarkerElement::parseMappedAttribute):
  42284. * svg/SVGMaskElement.cpp:
  42285. (WebCore::SVGMaskElement::parseMappedAttribute):
  42286. * svg/SVGPatternElement.cpp:
  42287. (WebCore::SVGPatternElement::parseMappedAttribute):
  42288. * svg/SVGRadialGradientElement.cpp:
  42289. (WebCore::SVGRadialGradientElement::parseMappedAttribute):
  42290. * svg/SVGRectElement.cpp:
  42291. (WebCore::SVGRectElement::parseMappedAttribute):
  42292. * svg/SVGSVGElement.cpp:
  42293. (WebCore::SVGSVGElement::parseMappedAttribute):
  42294. * svg/SVGTextContentElement.cpp:
  42295. (WebCore::SVGTextContentElement::parseMappedAttribute):
  42296. * svg/SVGTextPathElement.cpp:
  42297. (WebCore::SVGTextPathElement::parseMappedAttribute):
  42298. * svg/SVGUseElement.cpp:
  42299. (WebCore::SVGUseElement::parseMappedAttribute):
  42300. 2011-08-04 Fady Samuel <fsamuel@chromium.org>
  42301. Background Does Not Scale Correctly with Page
  42302. https://bugs.webkit.org/show_bug.cgi?id=65690
  42303. Reviewed by Simon Fraser.
  42304. Test: fast/repaint/background-scaling.html
  42305. * rendering/RenderBox.cpp:
  42306. (WebCore::RenderBox::paintRootBoxFillLayers):
  42307. * rendering/RenderView.cpp:
  42308. (WebCore::RenderView::unscaledDocumentRect):
  42309. (WebCore::RenderView::documentRect):
  42310. * rendering/RenderView.h:
  42311. 2011-08-04 Jochen Eisinger <jochen@chromium.org>
  42312. Introduce a new ResourceRequest::TargetType for XHRs
  42313. https://bugs.webkit.org/show_bug.cgi?id=65544
  42314. Reviewed by Darin Fisher.
  42315. * platform/network/chromium/ResourceRequest.h:
  42316. * xml/XMLHttpRequest.cpp:
  42317. (WebCore::XMLHttpRequest::createRequest):
  42318. 2011-08-04 Sergey Glazunov <serg.glazunov@gmail.com>
  42319. Fix integer overflow in custom bindings for WebGLRenderingContext
  42320. https://bugs.webkit.org/show_bug.cgi?id=65646
  42321. Reviewed by Kenneth Russell.
  42322. Test: fast/canvas/webgl/uniform-array-length-overflow.html
  42323. * bindings/js/JSWebGLRenderingContextCustom.cpp:
  42324. (WebCore::toVector): Don't crash if allocation fails.
  42325. * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
  42326. (WebCore::jsArrayToFloatArray):
  42327. (WebCore::jsArrayToIntArray):
  42328. 2011-08-04 Pratik Solanki <psolanki@apple.com>
  42329. Implement CERTIFICATE_CREDENTIALS_SUPPORTED for CFNetwork
  42330. https://bugs.webkit.org/show_bug.cgi?id=65704
  42331. <rdar://problem/9877734>
  42332. Reviewed by Oliver Hunt.
  42333. Implement support for client side certificate authentication in the CFNetwork based loader.
  42334. * platform/network/cf/AuthenticationCF.cpp:
  42335. (WebCore::createCF):
  42336. (WebCore::core): Also fix leak of password string.
  42337. 2011-08-04 Chris Rogers <crogers@google.com>
  42338. Make sure that AudioArray is 16-byte aligned
  42339. https://bugs.webkit.org/show_bug.cgi?id=65651
  42340. Reviewed by Kenneth Russell.
  42341. No new tests - this does not change JavaScript API.
  42342. * platform/audio/AudioArray.h:
  42343. (WebCore::AudioArray::AudioArray):
  42344. (WebCore::AudioArray::~AudioArray):
  42345. (WebCore::AudioArray::allocate):
  42346. (WebCore::AudioArray::data):
  42347. (WebCore::AudioArray::size):
  42348. (WebCore::AudioArray::at):
  42349. (WebCore::AudioArray::operator[]):
  42350. (WebCore::AudioArray::alignedAddress):
  42351. * platform/audio/Biquad.cpp:
  42352. (WebCore::Biquad::Biquad):
  42353. * platform/audio/ReverbConvolverStage.cpp:
  42354. (WebCore::ReverbConvolverStage::ReverbConvolverStage):
  42355. * webaudio/DelayDSPKernel.cpp:
  42356. (WebCore::DelayDSPKernel::DelayDSPKernel):
  42357. * webaudio/RealtimeAnalyser.cpp:
  42358. (WebCore::RealtimeAnalyser::setFftSize):
  42359. 2011-08-04 Brady Eidson <beidson@apple.com>
  42360. <rdar://problem/9882581>, <rdar://problem/9868015>, and https://bugs.webkit.org/show_bug.cgi?id=65712
  42361. REGRESSION (91931) - Two LocalStorage threads started, thread unsafe operations can cause crash or other problems later.
  42362. Reviewed by Darin Adler.
  42363. * storage/StorageTracker.cpp:
  42364. (WebCore::StorageTracker::internalInitialize): Set the "needs initialization" flag before doing a
  42365. whole bunch of stuff that might need to check it.
  42366. 2011-08-04 Jeff Miller <jeffm@apple.com>
  42367. Adopt AVCF media back end on Windows
  42368. https://bugs.webkit.org/show_bug.cgi?id=65400
  42369. <rdar://problem/9894105>
  42370. First cut at implementation in MediaPlayerPrivateAVFoundationCF.cpp/.h, based on
  42371. work by Eric Carlson. Note that use of AVFoundation is determined at runtime, and
  42372. defaults to off.
  42373. Reviewed by Darin Adler.
  42374. No new tests, uses existing media tests.
  42375. * config.h: Turn on WTF_USE_AVFOUNDATION on Windows if AVFoundationCF is available.
  42376. * platform/graphics/MediaPlayer.cpp:
  42377. (WebCore::installedMediaEngines): Register MediaPlayerPrivateAVFoundationCF on Windows.
  42378. * platform/graphics/MediaPlayer.h: Add support for an AVCFPlayer.
  42379. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
  42380. (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Workaround an AVCF limitation that prevents an AVCFPlayer from being created without an AVCFItem.
  42381. (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Added support for ContentsNeedsDisplay notification.
  42382. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  42383. (WebCore::MediaPlayerPrivateAVFoundation::contentsNeedsDisplay): Added support for ContentsNeedsDisplay notification.
  42384. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp: Added implementation.
  42385. (WebCore::AVFWrapper::caVideoLayer):
  42386. (WebCore::AVFWrapper::videoLayerWrapper):
  42387. (WebCore::AVFWrapper::videoLayer):
  42388. (WebCore::AVFWrapper::avPlayer):
  42389. (WebCore::AVFWrapper::avAsset):
  42390. (WebCore::AVFWrapper::avPlayerItem):
  42391. (WebCore::AVFWrapper::timeObserver):
  42392. (WebCore::AVFWrapper::imageGenerator):
  42393. (WebCore::AVFWrapper::dispatchQueue):
  42394. (WebCore::LayerClient::LayerClient):
  42395. (WebCore::LayerClient::~LayerClient):
  42396. (WebCore::LayerClient::platformCALayerRespondsToLayoutChanges):
  42397. (WebCore::LayerClient::platformCALayerAnimationStarted):
  42398. (WebCore::LayerClient::platformCALayerContentsOrientation):
  42399. (WebCore::LayerClient::platformCALayerPaintContents):
  42400. (WebCore::LayerClient::platformCALayerShowDebugBorders):
  42401. (WebCore::LayerClient::platformCALayerShowRepaintCounter):
  42402. (WebCore::LayerClient::platformCALayerIncrementRepaintCount):
  42403. (WebCore::LayerClient::platformCALayerContentsOpaque):
  42404. (WebCore::LayerClient::platformCALayerDrawsContent):
  42405. (WebCore::LayerClient::platformCALayerLayerDidDisplay):
  42406. (WebCore::boolString):
  42407. (WebCore::metadataKeyNames):
  42408. (WebCore::CMTimeRangeStartKey):
  42409. (WebCore::CMTimeRangeDurationKey):
  42410. (WebCore::CACFContextNeedsFlushNotification):
  42411. (WebCore::videoLayer):
  42412. (WebCore::avPlayer):
  42413. (WebCore::avAsset):
  42414. (WebCore::avPlayerItem):
  42415. (WebCore::imageGenerator):
  42416. (WebCore::MediaPlayerPrivateAVFoundationCF::create):
  42417. (WebCore::MediaPlayerPrivateAVFoundationCF::registerMediaEngine):
  42418. (WebCore::MediaPlayerPrivateAVFoundationCF::MediaPlayerPrivateAVFoundationCF):
  42419. (WebCore::MediaPlayerPrivateAVFoundationCF::~MediaPlayerPrivateAVFoundationCF):
  42420. (WebCore::MediaPlayerPrivateAVFoundationCF::cancelLoad):
  42421. (WebCore::MediaPlayerPrivateAVFoundationCF::hasLayerRenderer):
  42422. (WebCore::MediaPlayerPrivateAVFoundationCF::hasContextRenderer):
  42423. (WebCore::MediaPlayerPrivateAVFoundationCF::createContextVideoRenderer):
  42424. (WebCore::MediaPlayerPrivateAVFoundationCF::destroyContextVideoRenderer):
  42425. (WebCore::MediaPlayerPrivateAVFoundationCF::createVideoLayer):
  42426. (WebCore::MediaPlayerPrivateAVFoundationCF::destroyVideoLayer):
  42427. (WebCore::MediaPlayerPrivateAVFoundationCF::hasAvailableVideoFrame):
  42428. (WebCore::MediaPlayerPrivateAVFoundationCF::createAVPlayer):
  42429. (WebCore::MediaPlayerPrivateAVFoundationCF::createAVPlayerItem):
  42430. (WebCore::MediaPlayerPrivateAVFoundationCF::createAVAssetForURL):
  42431. (WebCore::MediaPlayerPrivateAVFoundationCF::checkPlayability):
  42432. (WebCore::MediaPlayerPrivateAVFoundationCF::beginLoadingMetadata):
  42433. (WebCore::MediaPlayerPrivateAVFoundationCF::playerItemStatus):
  42434. (WebCore::MediaPlayerPrivateAVFoundationCF::platformMedia):
  42435. (WebCore::MediaPlayerPrivateAVFoundationCF::platformLayer):
  42436. (WebCore::MediaPlayerPrivateAVFoundationCF::platformSetVisible):
  42437. (WebCore::MediaPlayerPrivateAVFoundationCF::platformPlay):
  42438. (WebCore::MediaPlayerPrivateAVFoundationCF::platformPause):
  42439. (WebCore::MediaPlayerPrivateAVFoundationCF::updateRate):
  42440. (WebCore::MediaPlayerPrivateAVFoundationCF::platformDuration):
  42441. (WebCore::MediaPlayerPrivateAVFoundationCF::currentTime):
  42442. (WebCore::MediaPlayerPrivateAVFoundationCF::seekToTime):
  42443. (WebCore::MediaPlayerPrivateAVFoundationCF::setVolume):
  42444. (WebCore::MediaPlayerPrivateAVFoundationCF::setClosedCaptionsVisible):
  42445. (WebCore::MediaPlayerPrivateAVFoundationCF::rate):
  42446. (WebCore::timeRangeIsValidAndNotEmpty):
  42447. (WebCore::MediaPlayerPrivateAVFoundationCF::platformBufferedTimeRanges):
  42448. (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable):
  42449. (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeLoaded):
  42450. (WebCore::MediaPlayerPrivateAVFoundationCF::totalBytes):
  42451. (WebCore::MediaPlayerPrivateAVFoundationCF::assetStatus):
  42452. (WebCore::MediaPlayerPrivateAVFoundationCF::paintCurrentFrameInContext):
  42453. (WebCore::MediaPlayerPrivateAVFoundationCF::paint):
  42454. (WebCore::mimeTypeCache):
  42455. (WebCore::MediaPlayerPrivateAVFoundationCF::getSupportedTypes):
  42456. (WebCore::MediaPlayerPrivateAVFoundationCF::supportsType):
  42457. (WebCore::MediaPlayerPrivateAVFoundationCF::isAvailable):
  42458. (WebCore::MediaPlayerPrivateAVFoundationCF::mediaTimeForTimeValue):
  42459. (WebCore::MediaPlayerPrivateAVFoundationCF::tracksChanged):
  42460. (WebCore::MediaPlayerPrivateAVFoundationCF::sizeChanged):
  42461. (WebCore::MediaPlayerPrivateAVFoundationCF::contentsNeedsDisplay):
  42462. (WebCore::AVFWrapper::AVFWrapper):
  42463. (WebCore::AVFWrapper::~AVFWrapper):
  42464. (WebCore::AVFWrapper::scheduleDisconnectAndDelete):
  42465. (WebCore::AVFWrapper::disconnectAndDeleteAVFWrapper):
  42466. (WebCore::AVFWrapper::deleteAVFWrapper):
  42467. (WebCore::AVFWrapper::createAssetForURL):
  42468. (WebCore::AVFWrapper::createPlayer):
  42469. (WebCore::AVFWrapper::createPlayerItem):
  42470. (WebCore::AVFWrapper::periodicTimeObserverCallback):
  42471. (WebCore::AVFWrapper::notificationCallback):
  42472. (WebCore::AVFWrapper::loadPlayableCompletionCallback):
  42473. (WebCore::AVFWrapper::checkPlayability):
  42474. (WebCore::AVFWrapper::loadMetadataCompletionCallback):
  42475. (WebCore::AVFWrapper::beginLoadingMetadata):
  42476. (WebCore::AVFWrapper::seekCompletedCallback):
  42477. (WebCore::AVFWrapper::seekToTime):
  42478. (WebCore::AVFWrapper::setAsset):
  42479. (WebCore::AVFWrapper::platformLayer):
  42480. (WebCore::AVFWrapper::createAVCFVideoLayer):
  42481. (WebCore::AVFWrapper::destroyVideoLayer):
  42482. (WebCore::AVFWrapper::setVideoLayerNeedsCommit):
  42483. (WebCore::AVFWrapper::setVideoLayerHidden):
  42484. (WebCore::AVFWrapper::createImageGenerator):
  42485. (WebCore::AVFWrapper::destroyImageGenerator):
  42486. (WebCore::AVFWrapper::createImageForTimeInRect):
  42487. (WebCore::LayerClient::platformCALayerLayoutSublayersOfLayer):
  42488. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.h: Added implementation.
  42489. 2011-08-04 Jochen Eisinger <jochen@chromium.org>
  42490. Get rid of ResourceRequestBase::m_targetType. Move it to chromium's ResourceRequest.
  42491. https://bugs.webkit.org/show_bug.cgi?id=48483
  42492. Reviewed by Alexey Proskuryakov.
  42493. * loader/PingLoader.cpp:
  42494. (WebCore::PingLoader::loadImage):
  42495. (WebCore::PingLoader::sendPing):
  42496. (WebCore::PingLoader::reportContentSecurityPolicyViolation):
  42497. * loader/cache/CachedResourceRequest.cpp:
  42498. (WebCore::CachedResourceRequest::load):
  42499. * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
  42500. (webKitWebSrcStart):
  42501. * platform/network/ResourceRequestBase.cpp:
  42502. (WebCore::ResourceRequestBase::adopt):
  42503. (WebCore::ResourceRequestBase::copyData):
  42504. * platform/network/ResourceRequestBase.h:
  42505. (WebCore::ResourceRequestBase::ResourceRequestBase):
  42506. * platform/network/chromium/ResourceRequest.cpp:
  42507. (WebCore::ResourceRequest::doPlatformCopyData):
  42508. (WebCore::ResourceRequest::doPlatformAdopt):
  42509. * platform/network/chromium/ResourceRequest.h:
  42510. (WebCore::ResourceRequest::ResourceRequest):
  42511. (WebCore::ResourceRequest::targetType):
  42512. (WebCore::ResourceRequest::setTargetType):
  42513. * workers/DefaultSharedWorkerRepository.cpp:
  42514. (WebCore::SharedWorkerScriptLoader::load):
  42515. * workers/Worker.cpp:
  42516. (WebCore::Worker::create):
  42517. * workers/WorkerContext.cpp:
  42518. (WebCore::WorkerContext::importScripts):
  42519. * workers/WorkerScriptLoader.cpp:
  42520. (WebCore::WorkerScriptLoader::WorkerScriptLoader):
  42521. (WebCore::WorkerScriptLoader::createResourceRequest):
  42522. * workers/WorkerScriptLoader.h:
  42523. (WebCore::WorkerScriptLoader::create):
  42524. (WebCore::WorkerScriptLoader::setTargetType):
  42525. 2011-08-04 Jeff Miller <jeffm@apple.com>
  42526. Fix WinCE build after r92308.
  42527. * config.h: Don't try to include WebCoreHeaderDetection.h for WinCE.
  42528. 2011-08-04 Darin Fisher <darin@chromium.org>
  42529. webkitRequestAnimationFrame's element argument needs to be marked optional
  42530. https://bugs.webkit.org/show_bug.cgi?id=65698
  42531. Reviewed by James Robinson.
  42532. * page/DOMWindow.idl:
  42533. 2011-08-04 Adam Roben <aroben@apple.com>
  42534. Delete some unused code from platform/graphics/win
  42535. MediaPlayerPrivateQuickTimeWin has been unused since r72117, and the GraphicsLayer-related
  42536. classes have been unused since r75262.
  42537. Fixes <http://webkit.org/b/65689> platform/graphics/win has a bunch of unused code
  42538. Reviewed by Eric Carlson.
  42539. * WebCore.gypi:
  42540. * WebCore.vcproj/WebCore.vcproj:
  42541. Removed now-deleted files.
  42542. * platform/graphics/win/GraphicsLayerCACF.cpp: Removed.
  42543. * platform/graphics/win/GraphicsLayerCACF.h: Removed.
  42544. * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: Removed.
  42545. * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: Removed.
  42546. * platform/graphics/win/WebLayer.cpp: Removed.
  42547. * platform/graphics/win/WebLayer.h: Removed.
  42548. * platform/graphics/win/WebTiledLayer.cpp: Removed.
  42549. * platform/graphics/win/WebTiledLayer.h: Removed.
  42550. 2011-08-03 Adam Roben <aroben@apple.com>
  42551. Detect and handle overflow in PlatformCALayerWinInternal::constrainedSize
  42552. Google Maps sometimes requests very large (i.e., 2^50 pixels or greater) layers when
  42553. zooming. PlatformCALayerWinInternal has code to limit tiled layers to 2^27 pixels, but it
  42554. was not correctly handling overflow. In some cases, this would lead to creating a tiled
  42555. layer with 0 tiles, which was the cause of this crash.
  42556. Fixes <http://webkit.org/b/65637> <rdar://problem/9784849> Crash beneath
  42557. PlatformCALayerWinInternal::updateTiles when zooming on Google Maps
  42558. Reviewed by Sam Weinig.
  42559. Test: compositing/tiling/crash-huge-layer.html
  42560. * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
  42561. (PlatformCALayerWinInternal::constrainedSize): Check for overflow before seeing if the
  42562. number of required tiles is larger than the maximum number of allowed tiles.
  42563. (PlatformCALayerWinInternal::updateTiles): Added an assertion to catch cases where we have a
  42564. non-empty tiled layer that contains 0 tiles, which would cause the crash in this bug report.
  42565. 2011-08-04 Stephen White <senorblanco@chromium.org>
  42566. Set graphics context current before canvas.toDataURL().
  42567. https://bugs.webkit.org/show_bug.cgi?id=65700
  42568. Reviewed by James Robinson.
  42569. No new tests, unfortunately. The test infrastucture doesn't seem
  42570. to be conducive to writing multiple-context tests.
  42571. * platform/graphics/skia/ImageBufferSkia.cpp:
  42572. (WebCore::ImageBuffer::toDataURL):
  42573. 2011-08-01 Brian Weinstein <bweinstein@apple.com>
  42574. WebKit2: Web Inspector always starts in undocked mode
  42575. https://bugs.webkit.org/show_bug.cgi?id=65493
  42576. <rdar://problem/9353114>
  42577. Reviewed by Adam Roben.
  42578. Expose some methods on InspectorFrontendClient through the InspectorController so WebKit2
  42579. can request the inspector be docked, or ask whether or not it can be docked.
  42580. * WebCore.exp.in: Export needed methods.
  42581. * inspector/InspectorController.cpp:
  42582. (WebCore::InspectorController::requestAttachWindow): Call through to InspectorFrontendClient.
  42583. (WebCore::InspectorController::canAttachWindow): Ditto.
  42584. * inspector/InspectorController.h:
  42585. * inspector/InspectorFrontendClient.h:
  42586. * inspector/InspectorFrontendClientLocal.h:
  42587. 2011-08-04 Luke Macpherson <macpherson@chromium.org>
  42588. Support cast between CSSPrimitiveValue and EborderFit, use in CSSStyleSelector.
  42589. https://bugs.webkit.org/show_bug.cgi?id=65665
  42590. Reviewed by Simon Fraser.
  42591. No new tests / refactoring only.
  42592. * css/CSSPrimitiveValueMappings.h:
  42593. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  42594. Support cast from EBorderFit.
  42595. (WebCore::CSSPrimitiveValue::operator EBorderFit):
  42596. Support cast to EBorderFit.
  42597. * css/CSSStyleSelector.cpp:
  42598. (WebCore::CSSStyleSelector::applyProperty):
  42599. Use new cast to allow use of appropriate macro.
  42600. 2011-08-04 Pavel Feldman <pfeldman@google.com>
  42601. Web Inspector: rename sendResultByValue to returnByValue in Runtime agent.
  42602. https://bugs.webkit.org/show_bug.cgi?id=65687
  42603. Reviewed by Yury Semikhatsky.
  42604. * inspector/InjectedScript.cpp:
  42605. (WebCore::InjectedScript::evaluate):
  42606. (WebCore::InjectedScript::callFunctionOn):
  42607. * inspector/InjectedScript.h:
  42608. * inspector/InjectedScriptSource.js:
  42609. * inspector/Inspector.json:
  42610. * inspector/InspectorRuntimeAgent.cpp:
  42611. (WebCore::InspectorRuntimeAgent::evaluate):
  42612. (WebCore::InspectorRuntimeAgent::callFunctionOn):
  42613. * inspector/InspectorRuntimeAgent.h:
  42614. 2011-08-04 Matt Falkenhagen <falken@chromium.org>
  42615. Use -webkit-locale for font selection.
  42616. https://bugs.webkit.org/show_bug.cgi?id=10874
  42617. Reviewed by Dan Bernstein.
  42618. Infer a script from -webkit-locale to use to choose a font for generic
  42619. font families and the default unstyled font. The font is retrieved
  42620. from per-script font settings (see bug 20797). Since these settings
  42621. have not changed there should be no visible effect yet.
  42622. * CMakeLists.txt:
  42623. * GNUmakefile.list.am:
  42624. * WebCore.gyp/WebCore.gyp:
  42625. * WebCore.gypi:
  42626. * WebCore.pro:
  42627. * WebCore.vcproj/WebCore.vcproj:
  42628. * WebCore.xcodeproj/project.pbxproj:
  42629. * css/CSSFontSelector.cpp: Use script when getting font from Settings
  42630. (WebCore::fontDataForGenericFamily):
  42631. (WebCore::CSSFontSelector::getFontData):
  42632. * css/CSSPropertyNames.in: Increase priority of -webkit-locale since it affects font
  42633. * css/CSSStyleSelector.cpp:
  42634. (WebCore::CSSStyleSelector::styleForDocument):
  42635. (WebCore::CSSStyleSelector::applyDeclarations):
  42636. (WebCore::CSSStyleSelector::applyProperty): Set script in font based on -webkit-locale
  42637. * page/Settings.cpp:
  42638. (WebCore::getGenericFontFamilyForScript): Fallback to USCRIPT_COMMON
  42639. * platform/graphics/FontDescription.h: Add m_script
  42640. (WebCore::FontDescription::FontDescription):
  42641. (WebCore::FontDescription::script):
  42642. (WebCore::FontDescription::setScript):
  42643. (WebCore::FontDescription::operator==):
  42644. * platform/text/LocaleToScriptMapping.h: Added.
  42645. * platform/text/LocaleToScriptMappingDefault.cpp: Added.
  42646. (WebCore::localeToScriptCodeForFontSelection):
  42647. (WebCore::LocaleScript::if):
  42648. (WebCore::LocaleScript::while):
  42649. * platform/text/LocaleToScriptMappingICU.cpp: Added.
  42650. (WebCore::scriptCodeForFontSelection):
  42651. (WebCore::localeToScriptCodeForFontSelection):
  42652. 2011-08-04 Vsevolod Vlasov <vsevik@chromium.org>
  42653. Web Inspector: Pretty print JSONP in network panel preview tab.
  42654. https://bugs.webkit.org/show_bug.cgi?id=65559
  42655. Reviewed by Pavel Feldman.
  42656. Test: http/tests/inspector/network/network-preview-json.html
  42657. * inspector/front-end/ResourceJSONView.js:
  42658. (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.parseJSONP):
  42659. (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype._initialize):
  42660. (WebInspector.ResourceJSONView.parseJSON.WebInspector.ParsedJSON):
  42661. * inspector/front-end/ResourcePreviewView.js:
  42662. (WebInspector.ResourcePreviewView.prototype._createPreviewView):
  42663. 2011-08-04 Pavel Feldman <pfeldman@google.com>
  42664. Web Inspector: replace isRegex with urlRegex in setBreakpointByUrl
  42665. https://bugs.webkit.org/show_bug.cgi?id=65684
  42666. Reviewed by Yury Semikhatsky.
  42667. * inspector/Inspector.json:
  42668. * inspector/InspectorDebuggerAgent.cpp:
  42669. (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
  42670. * inspector/InspectorDebuggerAgent.h:
  42671. * inspector/front-end/DebuggerModel.js:
  42672. (WebInspector.DebuggerModel.prototype.setBreakpoint):
  42673. 2011-08-03 Philippe Normand <pnormand@igalia.com>
  42674. [GTK] fullscreen/video-controls-override.html fails
  42675. https://bugs.webkit.org/show_bug.cgi?id=65618
  42676. Reviewed by Martin Robinson.
  42677. Implement extraFullScreenStyleSheet() and provide the QuickTime
  42678. stylesheet for now, later we might want our own stylesheet.
  42679. * GNUmakefile.am:
  42680. * platform/gtk/RenderThemeGtk.cpp:
  42681. (WebCore::RenderThemeGtk::extraFullScreenStyleSheet):
  42682. * platform/gtk/RenderThemeGtk.h:
  42683. 2011-08-04 Pavel Feldman <pfeldman@google.com>
  42684. Web Inspector: Rename sourceId -> scriptId in the protocol and the source code.
  42685. https://bugs.webkit.org/show_bug.cgi?id=65682
  42686. Reviewed by Yury Semikhatsky.
  42687. * inspector/InjectedScriptSource.js:
  42688. ():
  42689. * inspector/Inspector.json:
  42690. * inspector/InspectorConsoleAgent.cpp:
  42691. (WebCore::InspectorConsoleAgent::addMessageToConsole):
  42692. * inspector/InspectorConsoleAgent.h:
  42693. * inspector/InspectorConsoleInstrumentation.h:
  42694. (WebCore::InspectorInstrumentation::addMessageToConsole):
  42695. * inspector/InspectorDOMAgent.cpp:
  42696. (WebCore::InspectorDOMAgent::buildObjectForEventListener):
  42697. * inspector/InspectorDebuggerAgent.cpp:
  42698. (WebCore::parseLocation):
  42699. (WebCore::InspectorDebuggerAgent::setBreakpoint):
  42700. (WebCore::InspectorDebuggerAgent::continueToLocation):
  42701. (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
  42702. (WebCore::InspectorDebuggerAgent::setScriptSource):
  42703. (WebCore::InspectorDebuggerAgent::getScriptSource):
  42704. (WebCore::InspectorDebuggerAgent::didParseSource):
  42705. * inspector/InspectorDebuggerAgent.h:
  42706. * inspector/InspectorInstrumentation.cpp:
  42707. (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
  42708. * inspector/InspectorInstrumentation.h:
  42709. * inspector/ScriptDebugListener.h:
  42710. * inspector/front-end/DebuggerModel.js:
  42711. (WebInspector.DebuggerModel.prototype.scriptForSourceID):
  42712. (WebInspector.DebuggerModel.prototype.queryScripts):
  42713. (WebInspector.DebuggerModel.prototype.setScriptSource):
  42714. (WebInspector.DebuggerModel.prototype._didEditScriptSource):
  42715. (WebInspector.DebuggerModel.prototype._parsedScriptSource):
  42716. (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
  42717. (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
  42718. * inspector/front-end/DebuggerPresentationModel.js:
  42719. (WebInspector.DebuggerPresentationModel.prototype.registerAnchor):
  42720. (WebInspector.DebuggerPresentationModel.prototype._updateAnchor):
  42721. (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didReceiveSource):
  42722. (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
  42723. (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didGetScriptLocation):
  42724. (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
  42725. (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
  42726. (WebInspector.DebuggerPresentationModel.prototype.set _debuggerPaused):
  42727. (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
  42728. (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
  42729. (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId):
  42730. (WebInspector.PresenationCallFrame):
  42731. (WebInspector.PresenationCallFrame.prototype.sourceLine):
  42732. * inspector/front-end/EventListenersSidebarPane.js:
  42733. (.):
  42734. ():
  42735. * inspector/front-end/Script.js:
  42736. (WebInspector.Script):
  42737. (WebInspector.Script.prototype.requestSource):
  42738. (WebInspector.Script.prototype.editSource):
  42739. * inspector/front-end/SourceFile.js:
  42740. (WebInspector.RawSourceCode.prototype.uiLocationToRawLocation):
  42741. (WebInspector.RawSourceCode.prototype.forceLoadContent):
  42742. (WebInspector.RawSourceCode.prototype._concatenateScriptsContent):
  42743. 2011-08-04 Tommy Widenflycht <tommyw@google.com>
  42744. MediaStream API: Rename StreamEvent to MediaStreamEvent
  42745. https://bugs.webkit.org/show_bug.cgi?id=65669
  42746. Reviewed by Tony Gentilcore.
  42747. * CMakeLists.txt:
  42748. * CodeGenerators.pri:
  42749. * DerivedSources.cpp:
  42750. * DerivedSources.make:
  42751. * GNUmakefile.list.am:
  42752. * WebCore.gypi:
  42753. * WebCore.pro:
  42754. * WebCore.vcproj/WebCore.vcproj:
  42755. * WebCore.xcodeproj/project.pbxproj:
  42756. * bindings/js/JSEventCustom.cpp:
  42757. (WebCore::toJS):
  42758. * bindings/v8/custom/V8EventCustom.cpp:
  42759. (WebCore::toV8):
  42760. * dom/DOMAllInOne.cpp:
  42761. * dom/Event.cpp:
  42762. (WebCore::Event::isMediaStreamEvent):
  42763. * dom/Event.h:
  42764. * p2p/MediaStreamEvent.cpp: Renamed from Source/WebCore/dom/StreamEvent.cpp.
  42765. (WebCore::MediaStreamEvent::create):
  42766. (WebCore::MediaStreamEvent::MediaStreamEvent):
  42767. (WebCore::MediaStreamEvent::~MediaStreamEvent):
  42768. (WebCore::MediaStreamEvent::initMediaStreamEvent):
  42769. (WebCore::MediaStreamEvent::stream):
  42770. * p2p/MediaStreamEvent.h: Renamed from Source/WebCore/dom/StreamEvent.h.
  42771. (WebCore::MediaStreamEvent::isMediaStreamEvent):
  42772. * p2p/MediaStreamEvent.idl: Renamed from Source/WebCore/dom/StreamEvent.idl.
  42773. * p2p/PeerConnection.cpp:
  42774. (WebCore::PeerConnection::dispatchStreamEvent):
  42775. 2011-08-02 Hans Wennborg <hans@chromium.org>
  42776. IndexedDB: Fix index data invalidation bugs.
  42777. https://bugs.webkit.org/show_bug.cgi?id=65547
  42778. Reviewed by Tony Chang.
  42779. The function that checks whether a key exists in an index failed
  42780. to check whether that key was still valid or not.
  42781. Deleting a record from an object store must also delete its exists
  42782. entry, thus invalidating index keys pointing to that record.
  42783. Test: storage/indexeddb/index-unique.html
  42784. * storage/IDBLevelDBBackingStore.cpp:
  42785. (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
  42786. (WebCore::findKeyInIndex):
  42787. (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
  42788. (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
  42789. (WebCore::CursorOptions::IndexKeyCursorImpl::loadCurrentRow):
  42790. 2011-08-04 Alexandru Chiculita <achicu@adobe.com>
  42791. Move PODIntervalTree to Source/WebCore/platform
  42792. https://bugs.webkit.org/show_bug.cgi?id=65667
  42793. It seems the files were not part of any project, so no project files were modified.
  42794. Reviewed by Adam Barth.
  42795. No new tests, just moving files from one folder to the other.
  42796. * platform/PODArena.h: Renamed from Source/WebCore/platform/graphics/gpu/PODArena.h.
  42797. (WebCore::PODArena::Allocator::~Allocator):
  42798. (WebCore::PODArena::FastMallocAllocator::create):
  42799. (WebCore::PODArena::FastMallocAllocator::allocate):
  42800. (WebCore::PODArena::FastMallocAllocator::free):
  42801. (WebCore::PODArena::FastMallocAllocator::FastMallocAllocator):
  42802. (WebCore::PODArena::create):
  42803. (WebCore::PODArena::allocateObject):
  42804. (WebCore::PODArena::~PODArena):
  42805. (WebCore::PODArena::PODArena):
  42806. (WebCore::PODArena::minAlignment):
  42807. (WebCore::PODArena::allocateBase):
  42808. (WebCore::PODArena::roundUp):
  42809. (WebCore::PODArena::Chunk::Chunk):
  42810. (WebCore::PODArena::Chunk::~Chunk):
  42811. (WebCore::PODArena::Chunk::allocate):
  42812. * platform/PODInterval.h: Renamed from Source/WebCore/platform/graphics/gpu/PODInterval.h.
  42813. (WebCore::PODInterval::PODInterval):
  42814. (WebCore::PODInterval::low):
  42815. (WebCore::PODInterval::high):
  42816. (WebCore::PODInterval::data):
  42817. (WebCore::PODInterval::overlaps):
  42818. (WebCore::PODInterval::operator<):
  42819. (WebCore::PODInterval::operator==):
  42820. (WebCore::PODInterval::maxHigh):
  42821. (WebCore::PODInterval::setMaxHigh):
  42822. (WebCore::PODInterval::toString):
  42823. * platform/PODIntervalTree.h: Renamed from Source/WebCore/platform/graphics/gpu/PODIntervalTree.h.
  42824. (WebCore::PODIntervalTree::PODIntervalTree):
  42825. (WebCore::PODIntervalTree::allOverlaps):
  42826. (WebCore::PODIntervalTree::createInterval):
  42827. (WebCore::PODIntervalTree::checkInvariants):
  42828. (WebCore::PODIntervalTree::init):
  42829. (WebCore::PODIntervalTree::searchForOverlapsFrom):
  42830. (WebCore::PODIntervalTree::updateNode):
  42831. (WebCore::PODIntervalTree::checkInvariantsFromNode):
  42832. * platform/PODRedBlackTree.h: Renamed from Source/WebCore/platform/graphics/gpu/PODRedBlackTree.h.
  42833. (WebCore::PODRedBlackTree::Visitor::~Visitor):
  42834. (WebCore::PODRedBlackTree::PODRedBlackTree):
  42835. (WebCore::PODRedBlackTree::~PODRedBlackTree):
  42836. (WebCore::PODRedBlackTree::add):
  42837. (WebCore::PODRedBlackTree::remove):
  42838. (WebCore::PODRedBlackTree::contains):
  42839. (WebCore::PODRedBlackTree::visitInorder):
  42840. (WebCore::PODRedBlackTree::size):
  42841. (WebCore::PODRedBlackTree::setNeedsFullOrderingComparisons):
  42842. (WebCore::PODRedBlackTree::checkInvariants):
  42843. (WebCore::PODRedBlackTree::dump):
  42844. (WebCore::PODRedBlackTree::setVerboseDebugging):
  42845. (WebCore::PODRedBlackTree::Node::Node):
  42846. (WebCore::PODRedBlackTree::Node::~Node):
  42847. (WebCore::PODRedBlackTree::Node::color):
  42848. (WebCore::PODRedBlackTree::Node::setColor):
  42849. (WebCore::PODRedBlackTree::Node::data):
  42850. (WebCore::PODRedBlackTree::Node::copyFrom):
  42851. (WebCore::PODRedBlackTree::Node::left):
  42852. (WebCore::PODRedBlackTree::Node::setLeft):
  42853. (WebCore::PODRedBlackTree::Node::right):
  42854. (WebCore::PODRedBlackTree::Node::setRight):
  42855. (WebCore::PODRedBlackTree::Node::parent):
  42856. (WebCore::PODRedBlackTree::Node::setParent):
  42857. (WebCore::PODRedBlackTree::root):
  42858. (WebCore::PODRedBlackTree::updateNode):
  42859. (WebCore::PODRedBlackTree::treeSearch):
  42860. (WebCore::PODRedBlackTree::treeSearchNormal):
  42861. (WebCore::PODRedBlackTree::treeSearchFullComparisons):
  42862. (WebCore::PODRedBlackTree::treeInsert):
  42863. (WebCore::PODRedBlackTree::treeSuccessor):
  42864. (WebCore::PODRedBlackTree::treeMinimum):
  42865. (WebCore::PODRedBlackTree::propagateUpdates):
  42866. (WebCore::PODRedBlackTree::leftRotate):
  42867. (WebCore::PODRedBlackTree::rightRotate):
  42868. (WebCore::PODRedBlackTree::insertNode):
  42869. (WebCore::PODRedBlackTree::deleteFixup):
  42870. (WebCore::PODRedBlackTree::deleteNode):
  42871. (WebCore::PODRedBlackTree::visitInorderImpl):
  42872. (WebCore::PODRedBlackTree::Counter::Counter):
  42873. (WebCore::PODRedBlackTree::Counter::visit):
  42874. (WebCore::PODRedBlackTree::Counter::count):
  42875. (WebCore::PODRedBlackTree::checkInvariantsFromNode):
  42876. (WebCore::PODRedBlackTree::logIfVerbose):
  42877. (WebCore::PODRedBlackTree::dumpFromNode):
  42878. 2011-08-03 Alice Boxhall <aboxhall@chromium.org>
  42879. An element with role=textbox should have settable AXValue unless read-only
  42880. https://bugs.webkit.org/show_bug.cgi?id=65664
  42881. Reviewed by Chris Fleizach.
  42882. * accessibility/AccessibilityRenderObject.cpp:
  42883. (WebCore::AccessibilityRenderObject::canSetValueAttribute):
  42884. Return true for non-native text field with aria-readonly not set.
  42885. 2011-08-03 Luke Macpherson <macpherson@chromium.org>
  42886. Clean up value clamping in CSSStyleSelector.
  42887. https://bugs.webkit.org/show_bug.cgi?id=65588
  42888. Reviewed by Darin Adler.
  42889. No new tests / trivial code cleanup only.
  42890. * css/CSSStyleSelector.cpp:
  42891. (WebCore::CSSStyleSelector::applyProperty):
  42892. Replace (unsigned int)primitiveValue->getDoubleValue() with primtiveValue->getValue<unsigned>() for correct clamping.
  42893. Replace clampToInteger(primitiveValue->getDoubleValue()) with primitiveValue->getIntValue().
  42894. 2011-08-03 Kent Tamura <tkent@chromium.org>
  42895. Fix incorrect checks for HTMLMediaElement
  42896. https://bugs.webkit.org/show_bug.cgi?id=65590
  42897. Reviewed by Dimitri Glazkov.
  42898. <video> and <audio> can be an HTMLElement instance instead of
  42899. HTMLMediaElement if MediaPlayer::isAvailable() returns false or
  42900. the media feature is disabled at runtime.
  42901. * html/HTMLSourceElement.cpp:
  42902. (WebCore::HTMLSourceElement::insertedIntoTree):
  42903. (WebCore::HTMLSourceElement::willRemove):
  42904. * html/HTMLTrackElement.cpp:
  42905. (WebCore::HTMLTrackElement::insertedIntoTree):
  42906. (WebCore::HTMLTrackElement::willRemove):
  42907. * html/shadow/MediaControlElements.cpp:
  42908. (WebCore::toParentMediaElement):
  42909. * page/FrameView.cpp:
  42910. (WebCore::FrameView::updateWidget):
  42911. * platform/efl/RenderThemeEfl.cpp:
  42912. (WebCore::RenderThemeEfl::paintMediaMuteButton):
  42913. * platform/gtk/RenderThemeGtk.cpp:
  42914. (WebCore::getMediaElementFromRenderObject):
  42915. * rendering/RenderThemeMac.mm:
  42916. (WebCore::RenderThemeMac::paintMediaSliderTrack):
  42917. * rendering/RenderThemeWinCE.cpp:
  42918. (WebCore::mediaElementParent):
  42919. 2011-08-03 Sailesh Agrawal <sail@chromium.org>
  42920. Chromium Mac: Make ScrollbarOverlayUtilitiesChromiumMac.h c++ compatible
  42921. https://bugs.webkit.org/show_bug.cgi?id=65659
  42922. Reviewed by James Robinson.
  42923. ScrollbarOverlayUtilitiesChromiumMac.h couldn't be included from pure c++ code because it used NSInteger. I fixed this by checking for __OBJC__ before using NSInteger.
  42924. Currently no pure c++ files are including ScrollbarOverlayUtilitiesChromiumMac.h but this will change in future patches from jam@chromium.org.
  42925. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
  42926. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
  42927. (wkScrollbarPainterControllerStyle):
  42928. (wkSetScrollbarPainterControllerStyle):
  42929. 2011-08-03 Luke Macpherson <macpherson@chromium.org>
  42930. Support cast between CSSPrimitiveValue and EBoxSizing, use in CSSStyleSelector.
  42931. https://bugs.webkit.org/show_bug.cgi?id=65657
  42932. Reviewed by Simon Fraser.
  42933. No new tests / refactoring only.
  42934. * css/CSSPrimitiveValueMappings.h:
  42935. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  42936. Implement cast from EBoxSizing.
  42937. (WebCore::CSSPrimitiveValue::operator EBoxSizing):
  42938. Implement cast to EBoxSizing.
  42939. * css/CSSStyleSelector.cpp:
  42940. (WebCore::CSSStyleSelector::applyProperty):
  42941. Use appropriate macro to simplify code using cast.
  42942. 2011-08-03 Ian Henderson <ianh@apple.com>
  42943. Draw rectangular box shadow for elements with border-radius if no corners are visible
  42944. https://bugs.webkit.org/show_bug.cgi?id=65006
  42945. Reviewed by Simon Fraser.
  42946. Change "unroundClippedCorners" to "allCornersClippedOut" and use it to
  42947. determine when the corners' influence affects the blurred shadow in
  42948. the current drawing region.
  42949. Test: fast/box-shadow/box-shadow-clipped-slices.html
  42950. * rendering/InlineFlowBox.cpp:
  42951. (WebCore::InlineFlowBox::paintBoxShadow): Pass PaintInfo through to
  42952. RenderBoxModelObject::paintBoxShadow.
  42953. (WebCore::InlineFlowBox::paintBoxDecorations): Ditto.
  42954. * rendering/InlineFlowBox.h:
  42955. * rendering/RenderBox.cpp:
  42956. (WebCore::RenderBox::paintBoxDecorations): Ditto.
  42957. * rendering/RenderBoxModelObject.cpp:
  42958. (WebCore::allCornersClippedOut): Determines whether the bounding rects
  42959. for any of the given rounded rect's corners intersects the clip rect.
  42960. (WebCore::RenderBoxModelObject::paintBorder): Instead of "unrounding"
  42961. any corner outside the clip rect, unround all corners at once, and
  42962. only if they are all outside the clip rect.
  42963. (WebCore::RenderBoxModelObject::paintBoxShadow): Determine whether any
  42964. corner will influence shadow drawing using allCornersClippedOut on the
  42965. influenceRect, whose corners extend past the fillRect's corners by the
  42966. blur radius and inside the fillRect's corners by the blur radius.
  42967. * rendering/RenderBoxModelObject.h:
  42968. * rendering/RenderFieldset.cpp:
  42969. (WebCore::RenderFieldset::paintBoxDecorations): Pass PaintInfo into
  42970. RenderBoxModelObject::paintBoxShadow.
  42971. * rendering/RenderTable.cpp:
  42972. (WebCore::RenderTable::paintBoxDecorations): Ditto.
  42973. * rendering/RenderTableCell.cpp:
  42974. (WebCore::RenderTableCell::paintBoxDecorations): Ditto.
  42975. 2011-08-03 No'am Rosenthal <noam.rosenthal@nokia.com>
  42976. [Qt][Texmap][REGRESSION] http://webkit.org/blog-files/transform-style.html doesn't show composited content
  42977. https://bugs.webkit.org/show_bug.cgi?id=65629
  42978. Reviewed by Benjamin Poulain.
  42979. Some non-ES2 initialization was wrongfully #ifdefed in CPU(X86) and thus compiled-out.
  42980. When put it in the correct #ifdef, composited layers which require an intermediate buffer
  42981. work again.
  42982. No new tests. Existing opacity tests in LayoutTests/compositing test this.
  42983. * platform/graphics/opengl/TextureMapperGL.cpp:
  42984. (WebCore::BitmapTextureGL::bind):
  42985. 2011-08-03 Mark Rowe <mrowe@apple.com>
  42986. Bring some order to FeatureDefines.xcconfig to make it easier to follow.
  42987. Reviewed by Sam Weinig.
  42988. * Configurations/FeatureDefines.xcconfig:
  42989. 2011-08-03 Mark Rowe <mrowe@apple.com>
  42990. Clean up FeatureDefines.xcconfig to remove some unnecessary conditional settings
  42991. Reviewed by Dave Kilzer.
  42992. * Configurations/FeatureDefines.xcconfig:
  42993. 2011-08-02 Adrienne Walker <enne@google.com>
  42994. [chromium] Fix issue where switching composited tabs evicts root textures
  42995. https://bugs.webkit.org/show_bug.cgi?id=65562
  42996. Reviewed by James Robinson.
  42997. LayerTilerChromium::protectTileTextures was hard-coding texture sizes
  42998. and texture formats. Because this didn't always match textures' actual
  42999. sizes and formats, they weren't getting protected during eviction.
  43000. * platform/graphics/chromium/LayerTilerChromium.cpp:
  43001. (WebCore::LayerTilerChromium::protectTileTextures):
  43002. 2011-08-03 Ryosuke Niwa <rniwa@webkit.org>
  43003. select-all, copy, paste of specialAncestorElements (e.g. pre, h1, etc) nests the element inside itself
  43004. https://bugs.webkit.org/show_bug.cgi?id=26483
  43005. Reviewed by Enrica Casucci.
  43006. The bug was caused by WebKit serializing pre, h1, etc... to retain structure and appearance when copying
  43007. rich content and pasting did not remove such nodes wrapping the copied contents.
  43008. Fixed the bug by extending r81887 and r83322 to remove those elements from where WebKit pastes into.
  43009. Test: editing/pasteboard/copy-paste-text-in-h1.html
  43010. * editing/ReplaceSelectionCommand.cpp:
  43011. (WebCore::nodeHasAttributesToPreserve): Extracted from isInlineNodeWithStyle.
  43012. (WebCore::isInlineNodeWithStyle): Calls nodeHasAttributesToPreserve.
  43013. (WebCore::ReplaceSelectionCommand::doApply): Calls ancestorToRetainStructureAndAppearance.
  43014. Remove nodes copied by ancestorToRetainStructureAndAppearance at insertionPos before pasting the fragment.
  43015. * editing/markup.cpp:
  43016. (WebCore::ancestorToRetainStructureAndAppearance): Takes ShouldIncludeParagraphSeparators.
  43017. * editing/markup.h:
  43018. 2011-08-03 Mark Pilgrim <pilgrim@chromium.org>
  43019. Remove LegacyDefaultOptionalArguments flag from Console.idl
  43020. https://bugs.webkit.org/show_bug.cgi?id=65569
  43021. Reviewed by Adam Barth.
  43022. No new tests, all existing tests pass.
  43023. * page/Console.idl:
  43024. 2011-08-03 Mark Pilgrim <pilgrim@chromium.org>
  43025. Remove LegacyDefaultOptionalArguments flag from HTML DOM IDL files
  43026. https://bugs.webkit.org/show_bug.cgi?id=65338
  43027. Reviewed by Adam Barth.
  43028. * html/DOMFormData.idl:
  43029. * html/DOMTokenList.idl:
  43030. * html/DOMURL.idl:
  43031. * html/HTMLAllCollection.idl:
  43032. * html/HTMLAnchorElement.idl:
  43033. * html/HTMLAudioElement.idl:
  43034. * html/HTMLButtonElement.idl:
  43035. * html/HTMLCanvasElement.idl:
  43036. * html/HTMLCollection.idl:
  43037. * html/HTMLDivElement.idl:
  43038. * html/HTMLDocument.idl:
  43039. * html/HTMLElement.idl:
  43040. * html/HTMLFieldSetElement.idl:
  43041. * html/HTMLInputElement.idl:
  43042. * html/HTMLKeygenElement.idl:
  43043. * html/HTMLMediaElement.idl:
  43044. * html/HTMLObjectElement.idl:
  43045. * html/HTMLOptionsCollection.idl:
  43046. * html/HTMLOutputElement.idl:
  43047. * html/HTMLSelectElement.idl:
  43048. * html/HTMLTableElement.idl:
  43049. * html/HTMLTableRowElement.idl:
  43050. * html/HTMLTableSectionElement.idl:
  43051. * html/HTMLTextAreaElement.idl:
  43052. * html/HTMLVideoElement.idl:
  43053. * html/TimeRanges.idl:
  43054. 2011-08-03 Jeffrey Pfau <jpfau@apple.com>
  43055. Make atomic XML token
  43056. https://bugs.webkit.org/show_bug.cgi?id=65639
  43057. Reviewed by Adam Barth.
  43058. Create a shared AtomicMarkupTokenBase that is shared by AtomicHTMLToken and the new AtomicXMLToken
  43059. * html/parser/HTMLToken.h:
  43060. (WebCore::HTMLToken::setForceQuirks):
  43061. (WebCore::AtomicHTMLToken::AtomicHTMLToken):
  43062. (WebCore::AtomicHTMLToken::forceQuirks):
  43063. * html/parser/HTMLTokenizer.cpp:
  43064. (WebCore::::nameForAttribute):
  43065. (WebCore::::usesName):
  43066. (WebCore::::usesAttributes):
  43067. * xml/parser/MarkupTokenBase.h:
  43068. (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
  43069. (WebCore::AtomicMarkupTokenBase::type):
  43070. (WebCore::AtomicMarkupTokenBase::name):
  43071. (WebCore::AtomicMarkupTokenBase::setName):
  43072. (WebCore::AtomicMarkupTokenBase::selfClosing):
  43073. (WebCore::AtomicMarkupTokenBase::getAttributeItem):
  43074. (WebCore::AtomicMarkupTokenBase::attributes):
  43075. (WebCore::AtomicMarkupTokenBase::takeAtributes):
  43076. (WebCore::AtomicMarkupTokenBase::characters):
  43077. (WebCore::AtomicMarkupTokenBase::comment):
  43078. (WebCore::AtomicMarkupTokenBase::publicIdentifier):
  43079. (WebCore::AtomicMarkupTokenBase::systemIdentifier):
  43080. (WebCore::::initializeAttributes):
  43081. * xml/parser/XMLToken.h:
  43082. (WebCore::AtomicXMLToken::AtomicXMLToken):
  43083. (WebCore::AtomicXMLToken::prefix):
  43084. (WebCore::AtomicXMLToken::target):
  43085. (WebCore::AtomicXMLToken::data):
  43086. (WebCore::AtomicXMLToken::xmlVersion):
  43087. (WebCore::AtomicXMLToken::xmlStandalone):
  43088. * xml/parser/XMLTokenizer.cpp:
  43089. (WebCore::::nameForAttribute):
  43090. (WebCore::::usesName):
  43091. (WebCore::::usesAttributes):
  43092. 2011-08-03 Mark Pilgrim <pilgrim@chromium.org>
  43093. Remove LegacyDefaultOptionalArguments flag from geolocation IDL files
  43094. https://bugs.webkit.org/show_bug.cgi?id=65355
  43095. Reviewed by Adam Barth.
  43096. No new tests, all existing tests pass.
  43097. * page/Geolocation.idl:
  43098. * page/PositionCallback.idl:
  43099. * page/PositionErrorCallback.idl:
  43100. 2011-08-03 Mark Pilgrim <pilgrim@chromium.org>
  43101. Remove LegacyDefaultOptionalArguments flag from DOMSelection.idl
  43102. https://bugs.webkit.org/show_bug.cgi?id=65566
  43103. Reviewed by Adam Barth.
  43104. No new tests, all existing tests pass.
  43105. * page/DOMSelection.idl:
  43106. 2011-08-03 Mark Pilgrim <pilgrim@chromium.org>
  43107. Remove LegacyDefaultOptionalArguments flag from Location.idl
  43108. https://bugs.webkit.org/show_bug.cgi?id=65565
  43109. Reviewed by Darin Adler.
  43110. No new tests, all existing tests pass.
  43111. * page/Location.idl:
  43112. 2011-08-03 Sailesh Agrawal <sail@chromium.org>
  43113. Chromium Mac: Fix position of search tickmarks
  43114. https://bugs.webkit.org/show_bug.cgi?id=65575
  43115. This change adjusts the position of search tickmarks so that they are correctly centered.
  43116. Also, insetting the tickmark rect by 5 pixels caused tickmarks on the overlay scrollbar to look very small. I changed this to inset by 4 pixels instead. The tickmark is the same width as the overlay scrollbar which looks much better.
  43117. Reviewed by James Robinson.
  43118. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  43119. (WebCore::ScrollbarThemeChromiumMac::paint):
  43120. 2011-08-03 Sailesh Agrawal <sail@chromium.org>
  43121. Chromium Mac: Make sure scrollbars flash when web page loads
  43122. https://bugs.webkit.org/show_bug.cgi?id=65586
  43123. On slow web pages scrollbars wouldn't flash when the page was done loading. The problem was that we were flashing the scrollbar 0.1 second after the load operation had started. If the page was slow to load then we might not have scrollbars to flash. To work around this I added an extra check to make sure that we had indeed finished loading the page before flashing the scrollbars.
  43124. Reviewed by James Robinson.
  43125. * platform/chromium/ScrollAnimatorChromiumMac.mm:
  43126. (WebCore::ScrollAnimatorChromiumMac::initialScrollbarPaintTimerFired):
  43127. 2011-08-03 Mark Pilgrim <pilgrim@chromium.org>
  43128. Remove LegacyDefaultOptionalArguments flag from navigator IDL files
  43129. https://bugs.webkit.org/show_bug.cgi?id=65370
  43130. Reviewed by Adam Barth.
  43131. * page/Navigator.idl:
  43132. * page/NavigatorUserMediaErrorCallback.idl:
  43133. * page/NavigatorUserMediaSuccessCallback.idl:
  43134. 2011-08-03 Anders Carlsson <andersca@apple.com>
  43135. webarchive/loading/missing-data.html is failing on Mac
  43136. https://bugs.webkit.org/show_bug.cgi?id=63507
  43137. Reviewed by Adam Barth.
  43138. When loading a main resource from a web archive, make sure that the working URL is actually
  43139. the URL of the resource, and not the URL of the web archive itself.
  43140. * loader/FrameLoader.cpp:
  43141. (WebCore::FrameLoader::receivedFirstData):
  43142. 2011-08-03 Mark Pilgrim <pilgrim@chromium.org>
  43143. Remove LegacyDefaultOptionalArguments flag from DOMWindow.idl
  43144. https://bugs.webkit.org/show_bug.cgi?id=65353
  43145. Reviewed by Adam Barth.
  43146. No new tests, all existing tests pass.
  43147. * bindings/scripts/CodeGeneratorJS.pm:
  43148. (GenerateImplementation):
  43149. * bindings/scripts/CodeGeneratorV8.pm:
  43150. (GenerateFunctionCallback):
  43151. * page/DOMWindow.idl:
  43152. 2011-08-03 Jeff Miller <jeffm@apple.com>
  43153. Fix Chromimum and Qt builds after r92308.
  43154. * config.h: Don't try to include WebCoreHeaderDetection.h for Chromimum and Qt.
  43155. 2011-08-03 Jeff Miller <jeffm@apple.com>
  43156. Generate WebCoreHeaderDetection.h on Windows to define HAVE_AVCF
  43157. https://bugs.webkit.org/show_bug.cgi?id=65634
  43158. AVFoundation support on Windows will (eventually) be predicated on the
  43159. availability of AVFoundationCF headers and libraries in the WebKit Support
  43160. Libraries, so we test for the existence of one of the header files (AVCFBase.h)
  43161. to determine whether to AVCF is available.
  43162. For now, even if AVFoundationCF is available, leave WTF_USE_AVFOUNDATION off, since
  43163. it's not ready to be turned on yet (which is covered by http://webkit.org/b/65400).
  43164. Ideally, we would generate WebCoreHeaderDetection.h on all platforms so we could
  43165. include it unconditionally in WebCore's config.h, but unfortunately the Mac-only file
  43166. ExportFileGenerator.cpp depends on WTF_USE_AVFOUNDATION being set correctly, and since this
  43167. .cpp file is also generated it doesn't have access to WebCoreHeaderDetection.h.
  43168. Reviewed by Adam Roben.
  43169. No change in functionality, so new tests.
  43170. * DerivedSources.make: Add rule to generate WebCoreHeaderDetection.h to set HAVE_AVCF on Windows.
  43171. * config.h: Include WebCoreHeaderDetection.h on Windows, check for HAVE(AVCF) but always leave WTF_USE_AVFOUNDATION off on Windows for now.
  43172. 2011-08-03 Tommy Widenflycht <tommyw@google.com>
  43173. MediaStream API: Implement PeerConnection and SignalingCallback
  43174. https://bugs.webkit.org/show_bug.cgi?id=65101
  43175. Reviewed by Adam Barth.
  43176. LayoutTests will be provided by a follow-up CL, see <https://bugs.webkit.org/show_bug.cgi?id=56587>.
  43177. * CMakeLists.txt:
  43178. * CodeGenerators.pri:
  43179. * DerivedSources.cpp:
  43180. * DerivedSources.make:
  43181. * GNUmakefile.am:
  43182. * GNUmakefile.list.am:
  43183. * UseJSC.cmake:
  43184. * WebCore.gyp/WebCore.gyp:
  43185. * WebCore.gypi:
  43186. * WebCore.pro:
  43187. * WebCore.vcproj/WebCore.vcproj:
  43188. * WebCore.xcodeproj/project.pbxproj:
  43189. * bindings/generic/RuntimeEnabledFeatures.h:
  43190. (WebCore::RuntimeEnabledFeatures::peerConnectionEnabled):
  43191. * bindings/js/JSBindingsAllInOne.cpp:
  43192. * bindings/js/JSPeerConnectionCustom.cpp: Copied from Source/WebCore/page/MediaStreamClient.h.
  43193. (WebCore::JSPeerConnectionConstructor::constructJSPeerConnection):
  43194. * bindings/v8/V8DOMWrapper.cpp:
  43195. (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
  43196. * bindings/v8/custom/V8PeerConnectionCustom.cpp: Added.
  43197. (WebCore::V8PeerConnection::constructorCallback):
  43198. * dom/DispatchTask.h: Added.
  43199. (WebCore::SimpleDispatchTask::create):
  43200. (WebCore::SimpleDispatchTask::performTask):
  43201. (WebCore::SimpleDispatchTask::SimpleDispatchTask):
  43202. (WebCore::DispatchTask::create):
  43203. (WebCore::DispatchTask::performTask):
  43204. (WebCore::DispatchTask::DispatchTask):
  43205. * dom/EventNames.h:
  43206. * dom/EventTarget.cpp:
  43207. (WebCore::EventTarget::toPeerConnection):
  43208. * dom/EventTarget.h:
  43209. * p2p/PeerConnection.cpp: Added.
  43210. (WebCore::PeerConnection::create):
  43211. (WebCore::PeerConnection::PeerConnection):
  43212. (WebCore::PeerConnection::init):
  43213. (WebCore::PeerConnection::~PeerConnection):
  43214. (WebCore::PeerConnection::localStreams):
  43215. (WebCore::PeerConnection::remoteStreams):
  43216. (WebCore::PeerConnection::processSignalingMessage):
  43217. (WebCore::PeerConnection::send):
  43218. (WebCore::PeerConnection::addStream):
  43219. (WebCore::PeerConnection::removeStream):
  43220. (WebCore::PeerConnection::close):
  43221. (WebCore::PeerConnection::onNegotiationStarted):
  43222. (WebCore::PeerConnection::onNegotiationDone):
  43223. (WebCore::PeerConnection::streamAdded):
  43224. (WebCore::PeerConnection::streamRemoved):
  43225. (WebCore::PeerConnection::onMessage):
  43226. (WebCore::PeerConnection::onSignalingMessage):
  43227. (WebCore::PeerConnection::toPeerConnection):
  43228. (WebCore::PeerConnection::scriptExecutionContext):
  43229. (WebCore::PeerConnection::eventTargetData):
  43230. (WebCore::PeerConnection::ensureEventTargetData):
  43231. (WebCore::PeerConnection::postMessageEvent):
  43232. (WebCore::PeerConnection::postSignalingEvent):
  43233. (WebCore::PeerConnection::postStreamAddedEvent):
  43234. (WebCore::PeerConnection::postStreamRemovedEvent):
  43235. (WebCore::PeerConnection::postSimpleEvent):
  43236. (WebCore::PeerConnection::postStartNegotiationTask):
  43237. (WebCore::PeerConnection::dispatchMessageEvent):
  43238. (WebCore::PeerConnection::dispatchSignalingEvent):
  43239. (WebCore::PeerConnection::dispatchStreamEvent):
  43240. (WebCore::PeerConnection::dispatchSimpleEvent):
  43241. (WebCore::PeerConnection::dispatchStartNegotiationTask):
  43242. * p2p/PeerConnection.h: Added.
  43243. (WebCore::PeerConnection::readyState):
  43244. (WebCore::PeerConnection::refEventTarget):
  43245. (WebCore::PeerConnection::derefEventTarget):
  43246. * p2p/PeerConnection.idl: Added.
  43247. * p2p/SignalingCallback.h: Copied from Source/WebCore/page/MediaStreamClient.h.
  43248. (WebCore::SignalingCallback::~SignalingCallback):
  43249. * p2p/SignalingCallback.idl: Added.
  43250. * page/DOMWindow.idl:
  43251. * page/MediaStreamClient.h:
  43252. * page/MediaStreamController.cpp:
  43253. (WebCore::MediaStreamController::MediaStreamController):
  43254. (WebCore::MediaStreamController::unregisterFrameController):
  43255. (WebCore::MediaStreamController::onSignalingMessage):
  43256. (WebCore::MediaStreamController::frameToPagePeerConnectionId):
  43257. (WebCore::MediaStreamController::processSignalingMessage):
  43258. (WebCore::MediaStreamController::message):
  43259. (WebCore::MediaStreamController::onMessage):
  43260. (WebCore::MediaStreamController::addStream):
  43261. (WebCore::MediaStreamController::onAddStream):
  43262. (WebCore::MediaStreamController::removeStream):
  43263. (WebCore::MediaStreamController::onRemoveStream):
  43264. (WebCore::MediaStreamController::newPeerConnection):
  43265. (WebCore::MediaStreamController::closePeerConnection):
  43266. (WebCore::MediaStreamController::startNegotiation):
  43267. (WebCore::MediaStreamController::onNegotiationStarted):
  43268. (WebCore::MediaStreamController::onNegotiationDone):
  43269. * page/MediaStreamController.h:
  43270. * page/MediaStreamFrameController.cpp:
  43271. (WebCore::MediaStreamFrameController::Request::isSignalingRequest):
  43272. (WebCore::MediaStreamFrameController::createPeerConnection):
  43273. (WebCore::MediaStreamFrameController::newPeerConnection):
  43274. (WebCore::MediaStreamFrameController::closePeerConnection):
  43275. (WebCore::MediaStreamFrameController::startNegotiation):
  43276. (WebCore::MediaStreamFrameController::processSignalingMessage):
  43277. (WebCore::MediaStreamFrameController::message):
  43278. (WebCore::MediaStreamFrameController::addStream):
  43279. (WebCore::MediaStreamFrameController::removeStream):
  43280. (WebCore::MediaStreamFrameController::onMessage):
  43281. (WebCore::MediaStreamFrameController::onAddStream):
  43282. (WebCore::MediaStreamFrameController::onRemoveStream):
  43283. (WebCore::MediaStreamFrameController::onSignalingMessage):
  43284. (WebCore::MediaStreamFrameController::onNegotiationStarted):
  43285. (WebCore::MediaStreamFrameController::onNegotiationDone):
  43286. * page/MediaStreamFrameController.h:
  43287. (WebCore::MediaStreamFrameController::ClientBase::isPeerConnection):
  43288. (WebCore::MediaStreamFrameController::PeerConnectionClient::PeerConnectionClient):
  43289. (WebCore::MediaStreamFrameController::PeerConnectionClient::~PeerConnectionClient):
  43290. (WebCore::MediaStreamFrameController::PeerConnectionClient::isPeerConnection):
  43291. 2011-08-03 Joseph Pecoraro <joepeck@webkit.org>
  43292. Web Inspector: Remove InspectorFrontendHost load/saveSessionSetting
  43293. https://bugs.webkit.org/show_bug.cgi?id=65582
  43294. Reviewed by Pavel Feldman.
  43295. Remove stale code. WebInspector.settings uses localStorage and
  43296. handles the "debuggerEnabled" state. So remove the only remaining
  43297. usage of load/saveSessionSetting.
  43298. * inspector/InspectorFrontendClient.h:
  43299. * inspector/InspectorFrontendHost.cpp:
  43300. * inspector/InspectorFrontendHost.h:
  43301. * inspector/InspectorFrontendHost.idl:
  43302. * inspector/front-end/InspectorFrontendHostStub.js:
  43303. * inspector/front-end/ScriptsPanel.js:
  43304. (WebInspector.ScriptsPanel.prototype._debuggerWasDisabled):
  43305. 2011-08-03 Adam Barth <abarth@webkit.org>
  43306. Crash in DocumentWriter::endIfNotLoadingMainResource
  43307. https://bugs.webkit.org/show_bug.cgi?id=65581
  43308. Reviewed by Nate Chapin.
  43309. This function is poorly designed because isLoadingMainResource is a
  43310. poor proxy for determing whether to flush/finish the parser. Really,
  43311. we should change how loads complete to match the model in HTML5, but
  43312. that's pretty tricky. In the meantime, this null check fixes the
  43313. crash.
  43314. I'm sure there's another bug on file about this crash, but we've never
  43315. been able to reproduce it. Thanks to Berend-Jan Wever for the test
  43316. case!
  43317. Test: fast/loader/reload-zero-byte-plugin.html
  43318. * loader/DocumentWriter.cpp:
  43319. (WebCore::DocumentWriter::endIfNotLoadingMainResource):
  43320. 2011-08-03 Anders Carlsson <andersca@apple.com>
  43321. WebCore images backing CG patterns should be released on the main thread
  43322. https://bugs.webkit.org/show_bug.cgi?id=65630
  43323. Reviewed by Sam Weinig.
  43324. * platform/graphics/cg/PatternCG.cpp:
  43325. (WebCore::patternReleaseOnMainThreadCallback):
  43326. Deref the image.
  43327. (WebCore::patternReleaseCallback):
  43328. Call callOnMainThread.
  43329. 2011-08-03 Luke Macpherson <macpherson@chromium.org>
  43330. Use appropriate macro for CSSPropertyImageRendering.
  43331. https://bugs.webkit.org/show_bug.cgi?id=65594
  43332. Reviewed by Simon Fraser.
  43333. No new tests / trivial code cleanup only.
  43334. * css/CSSStyleSelector.cpp:
  43335. (WebCore::CSSStyleSelector::applyProperty):
  43336. Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro.
  43337. 2011-08-03 Dan Bernstein <mitz@apple.com>
  43338. FontCache::getFontData() does not set the familyIndex to cAllFamiliesScanned if the last font is a custom font
  43339. https://bugs.webkit.org/show_bug.cgi?id=65597
  43340. Reviewed by Simon Fraser.
  43341. No test added because behavior is unchanged, but this saves a call to getFontData().
  43342. * platform/graphics/FontCache.cpp:
  43343. (WebCore::FontCache::getFontData): Eliminated early return inside the loop, allowing execution
  43344. to continue and familyIndex to be set.
  43345. 2011-08-03 Ryosuke Niwa <rniwa@webkit.org>
  43346. Add RenderedPosition
  43347. https://bugs.webkit.org/show_bug.cgi?id=65221
  43348. Reviewed by Hajime Morita.
  43349. Add the skeleton for RenderedPosition and use it in rootBoxForLine.
  43350. * CMakeLists.txt:
  43351. * GNUmakefile.list.am:
  43352. * WebCore.gypi:
  43353. * WebCore.pro:
  43354. * WebCore.vcproj/WebCore.vcproj:
  43355. * WebCore.xcodeproj/project.pbxproj:
  43356. * editing/EditingAllInOne.cpp:
  43357. * editing/RenderedPosition.cpp: Added.
  43358. (WebCore::RenderedPosition::RenderedPosition):
  43359. * editing/RenderedPosition.h: Added.
  43360. (WebCore::RenderedPosition::isNull):
  43361. (WebCore::RenderedPosition::rootBox):
  43362. (WebCore::RenderedPosition::RenderedPosition):
  43363. * editing/visible_units.cpp:
  43364. (WebCore::startPositionForLine):
  43365. (WebCore::endPositionForLine):
  43366. (WebCore::logicalStartPositionForLine):
  43367. (WebCore::logicalEndPositionForLine):
  43368. 2011-08-03 Roland Steiner <rolandsteiner@chromium.org>
  43369. [V8] V8CSSRuleCustom.cpp: not all enum values are listed in switch statement
  43370. https://bugs.webkit.org/show_bug.cgi?id=65598
  43371. Reviewed by Dimitri Glazkov.
  43372. Added UNKNOWN_RULE to the switch statement.
  43373. No new tests. (No semantic change)
  43374. * bindings/v8/custom/V8CSSRuleCustom.cpp:
  43375. (WebCore::toV8):
  43376. 2011-08-03 Pavel Feldman <pfeldman@google.com>
  43377. Web Inspector: [Timeline] Hover on paint events and see rect outline around that area.
  43378. https://bugs.webkit.org/show_bug.cgi?id=65510
  43379. Reviewed by Yury Semikhatsky.
  43380. * WebCore.exp.in:
  43381. * WebCore.order:
  43382. * inspector/DOMNodeHighlighter.cpp:
  43383. (WebCore::DOMNodeHighlighter::drawRectHighlight):
  43384. * inspector/DOMNodeHighlighter.h:
  43385. * inspector/Inspector.json:
  43386. * inspector/InspectorController.cpp:
  43387. (WebCore::InspectorController::drawHighlight):
  43388. * inspector/InspectorController.h:
  43389. * inspector/InspectorDOMAgent.cpp:
  43390. (WebCore::InspectorDOMAgent::highlightRect):
  43391. (WebCore::InspectorDOMAgent::hideHighlight):
  43392. (WebCore::InspectorDOMAgent::drawHighlight):
  43393. * inspector/InspectorDOMAgent.h:
  43394. * inspector/front-end/ResourcesPanel.js:
  43395. (WebInspector.FrameTreeElement.prototype.onselect):
  43396. (WebInspector.FrameTreeElement.prototype.set hovered):
  43397. * inspector/front-end/TimelinePanel.js:
  43398. (WebInspector.TimelinePanel):
  43399. (WebInspector.TimelinePanel.prototype._mouseOut):
  43400. (WebInspector.TimelinePanel.prototype._mouseMove):
  43401. (WebInspector.TimelinePanel.prototype._highlightRect):
  43402. (WebInspector.TimelinePanel.prototype._hideRectHighlight):
  43403. * inspector/front-end/inspector.js:
  43404. (WebInspector.highlightDOMNode):
  43405. 2011-08-03 Pavel Feldman <pfeldman@google.com>
  43406. Web Inspector: make text in popover selectable + make popover re-appear faster.
  43407. https://bugs.webkit.org/show_bug.cgi?id=65603
  43408. Reviewed by Yury Semikhatsky.
  43409. * inspector/front-end/Popover.js:
  43410. (WebInspector.PopoverHelper.prototype.setTimeout):
  43411. (WebInspector.PopoverHelper.prototype._mouseMove):
  43412. (WebInspector.PopoverHelper.prototype._handleMouseAction):
  43413. * inspector/front-end/popover.css:
  43414. (.popover .content):
  43415. 2011-08-03 Vsevolod Vlasov <vsevik@chromium.org>
  43416. Web Inspector: Console scroll position should be saved when switching panels.
  43417. https://bugs.webkit.org/show_bug.cgi?id=65607
  43418. Reviewed by Pavel Feldman.
  43419. * inspector/front-end/ConsoleView.js:
  43420. (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
  43421. (WebInspector.ConsoleView.prototype.get scrollLeft):
  43422. (WebInspector.ConsoleView.prototype.set scrollLeft):
  43423. (WebInspector.ConsoleView.prototype.get scrollTop):
  43424. (WebInspector.ConsoleView.prototype.set scrollTop):
  43425. * inspector/front-end/Drawer.js:
  43426. (WebInspector.Drawer.prototype.show):
  43427. (WebInspector.Drawer.prototype._endStatusBarDragging):
  43428. (WebInspector.Drawer.prototype.get scrollLeft):
  43429. (WebInspector.Drawer.prototype.set scrollLeft):
  43430. (WebInspector.Drawer.prototype.get scrollTop):
  43431. (WebInspector.Drawer.prototype.set scrollTop):
  43432. 2011-08-03 Philippe Normand <pnormand@igalia.com>
  43433. libsoup-CRITICAL **: soup_message_io_pause: assertion `io != NULL' failed
  43434. https://bugs.webkit.org/show_bug.cgi?id=64263
  43435. Reviewed by Martin Robinson.
  43436. Avoid any operation on not yet started messages and completed messages.
  43437. * platform/network/ResourceHandleInternal.h:
  43438. (WebCore::ResourceHandleInternal::ResourceHandleInternal):
  43439. * platform/network/soup/ResourceHandleSoup.cpp:
  43440. (WebCore::finishedCallback):
  43441. (WebCore::startHTTPRequest):
  43442. (WebCore::ResourceHandle::platformSetDefersLoading):
  43443. 2011-08-03 Jeremy Moskovich <jeremy@chromium.org>
  43444. [Chromium] Fix OOP font loading to work on 10.6.6 and above.
  43445. https://bugs.webkit.org/show_bug.cgi?id=65543
  43446. In 10.6.6 the function used to get the unique ID for an NSFont in the
  43447. renderer was changed so it fails in the sandbox (it now tries to access
  43448. the on-disk font file). In order to work around this, we get the font
  43449. ID from the browser process.
  43450. To speed things up, we introduce 2 levels of caching in WebKit. A font
  43451. name cache where we can perform a quick lookup without the need for the
  43452. font id and a font id cache which we can only lookup in after getting
  43453. the unique ID from the browser process.
  43454. Reviewed by Kenneth Russell.
  43455. No new tests since this is not readily testable.
  43456. * platform/chromium/PlatformBridge.h:
  43457. * platform/graphics/chromium/CrossProcessFontLoading.h:
  43458. * platform/graphics/chromium/CrossProcessFontLoading.mm:
  43459. (WebCore::MemoryActivatedFont::create):
  43460. (WebCore::MemoryActivatedFont::MemoryActivatedFont):
  43461. (WebCore::MemoryActivatedFont::~MemoryActivatedFont):
  43462. 2011-08-03 Hayato Ito <hayato@chromium.org>
  43463. Make EventDispatchMediator RefCounted.
  43464. https://bugs.webkit.org/show_bug.cgi?id=65529
  43465. Reviewed by Hajime Morita.
  43466. Make EventDispatchMediator RefCounted so that it can be enqueued into a
  43467. ScopedEventQueue and called later.
  43468. A necessary change for ScopedEventQueue should be addressed in another patch.
  43469. This is a minor update of r92256, which failed on chromium win builds.
  43470. No changes to functionality so no new tests.
  43471. * dom/Event.cpp:
  43472. (WebCore::EventDispatchMediator::create):
  43473. * dom/Event.h:
  43474. * dom/EventDispatcher.cpp:
  43475. (WebCore::EventDispatcher::dispatchEvent):
  43476. * dom/EventDispatcher.h:
  43477. * dom/KeyboardEvent.cpp:
  43478. (WebCore::KeyboardEventDispatchMediator::create):
  43479. * dom/KeyboardEvent.h:
  43480. * dom/MouseEvent.cpp:
  43481. (WebCore::MouseEventDispatchMediator::create):
  43482. * dom/MouseEvent.h:
  43483. * dom/Node.cpp:
  43484. (WebCore::Node::dispatchEvent):
  43485. (WebCore::Node::dispatchKeyEvent):
  43486. (WebCore::Node::dispatchMouseEvent):
  43487. (WebCore::Node::dispatchWheelEvent):
  43488. * dom/WheelEvent.cpp:
  43489. (WebCore::WheelEventDispatchMediator::create):
  43490. * dom/WheelEvent.h:
  43491. 2011-08-03 Pavel Feldman <pfeldman@chromium.org>
  43492. Web Inspector: remove Node parameter from the InspectorClient::highlight
  43493. https://bugs.webkit.org/show_bug.cgi?id=65549
  43494. Reviewed by Yury Semikhatsky.
  43495. * inspector/InspectorClient.h:
  43496. * inspector/InspectorDOMAgent.cpp:
  43497. (WebCore::InspectorDOMAgent::highlight):
  43498. * loader/EmptyClients.h:
  43499. (WebCore::EmptyInspectorClient::highlight):
  43500. 2011-08-03 Antti Koivisto <antti@apple.com>
  43501. https://bugs.webkit.org/show_bug.cgi?id=65599
  43502. Image loads should trigger didFirstVisuallyNonEmptyLayout more easily
  43503. Reviewed by Dan Bernstein.
  43504. Tweak the heuristic pixel count so logo-sized images trigger didFirstVisuallyNonEmptyLayout.
  43505. * page/FrameView.h:
  43506. (WebCore::FrameView::incrementVisuallyNonEmptyPixelCount):
  43507. 2011-08-03 Takashi Toyoshima <toyoshim@chromium.org>
  43508. WebSocket: Could not handle zero length text frame.
  43509. https://bugs.webkit.org/show_bug.cgi?id=65592
  43510. Reviewed by Kent Tamura.
  43511. Test: http/tests/websocket/tests/hybi/zero-length-text.html
  43512. * websockets/WebSocketChannel.cpp:
  43513. (WebCore::WebSocketChannel::processFrame):
  43514. 2011-08-02 Pratik Solanki <psolanki@apple.com>
  43515. Crash in ResourceResponse::platformCompare() with USE(CFNETWORK)
  43516. https://bugs.webkit.org/show_bug.cgi?id=65584
  43517. Reviewed by David Kilzer.
  43518. * platform/network/cf/ResourceResponseCFNet.cpp:
  43519. (WebCore::ResourceResponse::platformCompare): Don't call CFEqual with 0 as an argument.
  43520. 2011-08-02 Takashi Toyoshima <toyoshim@chromium.org>
  43521. WebSocket: Should be closed by receiving invalid continuation frame.
  43522. https://bugs.webkit.org/show_bug.cgi?id=65527
  43523. Reviewed by Kent Tamura.
  43524. Test: http/tests/websocket/tests/hybi/invalid-continuation.html
  43525. * websockets/WebSocketChannel.cpp:
  43526. (WebCore::WebSocketChannel::processFrame):
  43527. 2011-08-02 Sheriff Bot <webkit.review.bot@gmail.com>
  43528. Unreviewed, rolling out r92256.
  43529. http://trac.webkit.org/changeset/92256
  43530. https://bugs.webkit.org/show_bug.cgi?id=65593
  43531. Causing tons of crashes on the chromium win bots (Requested by
  43532. jamesr on #webkit).
  43533. * dom/Event.cpp:
  43534. * dom/Event.h:
  43535. * dom/EventDispatcher.cpp:
  43536. (WebCore::EventDispatcher::dispatchEvent):
  43537. * dom/EventDispatcher.h:
  43538. * dom/KeyboardEvent.cpp:
  43539. * dom/KeyboardEvent.h:
  43540. * dom/MouseEvent.cpp:
  43541. * dom/MouseEvent.h:
  43542. * dom/Node.cpp:
  43543. (WebCore::Node::dispatchEvent):
  43544. (WebCore::Node::dispatchKeyEvent):
  43545. (WebCore::Node::dispatchMouseEvent):
  43546. (WebCore::Node::dispatchWheelEvent):
  43547. * dom/WheelEvent.cpp:
  43548. * dom/WheelEvent.h:
  43549. 2011-08-02 Hayato Ito <hayato@chromium.org>
  43550. Make EventDispatchMediator RefCounted.
  43551. https://bugs.webkit.org/show_bug.cgi?id=65529
  43552. Reviewed by Dimitri Glazkov.
  43553. Make EventDispatchMediator RefCounted so that it can be enqueued into a
  43554. ScopedEventQueue and called later.
  43555. A necessary change for ScopedEventQueue should be addressed in another patch.
  43556. No changes to functionality so no new tests.
  43557. * dom/Event.cpp:
  43558. (WebCore::EventDispatchMediator::create):
  43559. * dom/Event.h:
  43560. * dom/EventDispatcher.cpp:
  43561. (WebCore::EventDispatcher::dispatchEvent):
  43562. * dom/EventDispatcher.h:
  43563. * dom/KeyboardEvent.cpp:
  43564. (WebCore::KeyboardEventDispatchMediator::create):
  43565. * dom/KeyboardEvent.h:
  43566. * dom/MouseEvent.cpp:
  43567. (WebCore::MouseEventDispatchMediator::create):
  43568. * dom/MouseEvent.h:
  43569. * dom/Node.cpp:
  43570. (WebCore::Node::dispatchEvent):
  43571. (WebCore::Node::dispatchKeyEvent):
  43572. (WebCore::Node::dispatchMouseEvent):
  43573. (WebCore::Node::dispatchWheelEvent):
  43574. * dom/WheelEvent.cpp:
  43575. (WebCore::WheelEventDispatchMediator::create):
  43576. * dom/WheelEvent.h:
  43577. 2011-08-02 David Reveman <reveman@chromium.org>
  43578. [Chromium] Use edge-distance method for layer anti-aliasing.
  43579. https://bugs.webkit.org/show_bug.cgi?id=64942
  43580. Reviewed by James Robinson.
  43581. Use an edge distance based method instead of the current linear
  43582. filtering method for producing anti-aliased edges on 3D transformed
  43583. layers. This removes the outer border handling from TilingData as
  43584. it's no longer needed for anti-aliasing.
  43585. Tests: platform/chromium/compositing/tiny-layer-rotated.html (existing)
  43586. platform/chromium/compositing/huge-layer-rotated.html (existing)
  43587. compositing/images/content-image-change.html (existing)
  43588. TilingDataTest in webkit_unit_tests
  43589. * platform/graphics/chromium/LayerRendererChromium.cpp:
  43590. (WebCore::screenMatrix):
  43591. (WebCore::LayerRendererChromium::drawLayers):
  43592. (WebCore::LayerRendererChromium::setDrawViewportRect):
  43593. (WebCore::LayerRendererChromium::tilerProgramAA):
  43594. (WebCore::LayerRendererChromium::tilerProgramSwizzleAA):
  43595. * platform/graphics/chromium/LayerRendererChromium.h:
  43596. (WebCore::LayerRendererChromium::windowMatrix):
  43597. * platform/graphics/chromium/LayerTilerChromium.cpp:
  43598. (WebCore::LayerTilerChromium::setTileSize):
  43599. (WebCore::LayerTilerChromium::tileLayerRect):
  43600. (WebCore::LayerTilerChromium::invalidateRect):
  43601. (WebCore::LayerTilerChromium::prepareToUpdate):
  43602. (WebCore::LayerTilerChromium::updateRect):
  43603. (WebCore::LayerTilerChromium::draw):
  43604. (WebCore::LayerTilerChromium::growLayerToContain):
  43605. (WebCore::LayerTilerChromium::drawTiles):
  43606. * platform/graphics/chromium/LayerTilerChromium.h:
  43607. * platform/graphics/chromium/ShaderChromium.cpp:
  43608. (WebCore::VertexShaderTile::VertexShaderTile):
  43609. (WebCore::VertexShaderTile::init):
  43610. (WebCore::VertexShaderTile::getShaderString):
  43611. (WebCore::FragmentTexAlphaAABinding::FragmentTexAlphaAABinding):
  43612. (WebCore::FragmentTexAlphaAABinding::init):
  43613. (WebCore::FragmentShaderRGBATexAlphaAA::getShaderString):
  43614. (WebCore::FragmentShaderRGBATexSwizzleAlphaAA::getShaderString):
  43615. * platform/graphics/chromium/ShaderChromium.h:
  43616. (WebCore::VertexShaderTile::vertexTexTransformLocation):
  43617. (WebCore::FragmentTexAlphaAABinding::alphaLocation):
  43618. (WebCore::FragmentTexAlphaAABinding::samplerLocation):
  43619. (WebCore::FragmentTexAlphaAABinding::fragmentTexTransformLocation):
  43620. (WebCore::FragmentTexAlphaAABinding::edgeLocation):
  43621. * platform/graphics/chromium/TiledLayerChromium.cpp:
  43622. (WebCore::TiledLayerChromium::TiledLayerChromium):
  43623. (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
  43624. (WebCore::TiledLayerChromium::createTilerIfNeeded):
  43625. (WebCore::TiledLayerChromium::setIsMask):
  43626. * platform/graphics/chromium/TiledLayerChromium.h:
  43627. * platform/graphics/gpu/TilingData.cpp:
  43628. (WebCore::computeNumTiles):
  43629. (WebCore::TilingData::tileXIndexFromSrcCoord):
  43630. (WebCore::TilingData::tileYIndexFromSrcCoord):
  43631. (WebCore::TilingData::tileSizeX):
  43632. (WebCore::TilingData::tileSizeY):
  43633. (WebCore::TilingData::intersectDrawQuad):
  43634. (WebCore::TilingData::textureOffset):
  43635. * platform/graphics/gpu/TilingData.h:
  43636. 2011-08-01 David Levin <levin@chromium.org>
  43637. Add asserts to RefCounted to make sure ref/deref happens on the right thread.
  43638. https://bugs.webkit.org/show_bug.cgi?id=31639
  43639. Reviewed by Dmitry Titov.
  43640. No new functionality exposed so no new tests. (The change is basically adding
  43641. more testing.)
  43642. * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Added.
  43643. * loader/icon/IconDatabase.cpp:
  43644. (WebCore::IconDatabase::defaultIcon): Set the mutex which does the guarding of the variable.
  43645. (WebCore::IconDatabase::setIconDataForIconURL): Ditto.
  43646. (WebCore::IconDatabase::getOrCreateIconRecord): Ditto.
  43647. (WebCore::IconDatabase::readFromDatabase): Ditto.
  43648. 2011-08-02 Luke Macpherson <macpherson@chromium.org>
  43649. Clean up value clampling in CSSStyleSelector and CSSPrimitiveValue.
  43650. https://bugs.webkit.org/show_bug.cgi?id=65441
  43651. Reviewed by Simon Fraser.
  43652. No new tests / refactoring only.
  43653. * css/CSSPrimitiveValue.h:
  43654. (WebCore::CSSPrimitiveValue::getFloatValue):
  43655. Implement in terms of the new templated getValue().
  43656. (WebCore::CSSPrimitiveValue::getIntValue):
  43657. Implement in terms of the new templated getValue().
  43658. (WebCore::CSSPrimitiveValue::getValue):
  43659. Templated getValue that works for all numeric types.
  43660. * css/CSSStyleSelector.cpp:
  43661. (WebCore::CSSStyleSelector::applyProperty):
  43662. Use getValue<short> instead of rolling-your-own clamp to short.
  43663. 2011-08-02 Julien Chaffraix <jchaffraix@webkit.org>
  43664. RenderObject::computeRectForRepaint and clippedOverflowRectForRepaint should be const
  43665. https://bugs.webkit.org/show_bug.cgi?id=65494
  43666. Reviewed by Darin Adler.
  43667. No new tests, const-ness change only.
  43668. * rendering/RenderObject.h:
  43669. (WebCore::RenderObject::absoluteClippedOverflowRect):
  43670. (WebCore::RenderObject::computeAbsoluteRepaintRect):
  43671. Made those 2 const as they call a const method now.
  43672. * rendering/RenderInline.cpp:
  43673. (WebCore::RenderInline::clippedOverflowRectForRepaint): Use a const RenderObject* for iterating as
  43674. this is const.
  43675. * rendering/RenderBlock.cpp:
  43676. (WebCore::RenderBlock::rectWithOutlineForRepaint):
  43677. * rendering/RenderBlock.h:
  43678. * rendering/RenderBox.cpp:
  43679. (WebCore::RenderBox::clippedOverflowRectForRepaint):
  43680. (WebCore::RenderBox::computeRectForRepaint):
  43681. * rendering/RenderBox.h:
  43682. * rendering/RenderInline.cpp:
  43683. (WebCore::RenderInline::clippedOverflowRectForRepaint):
  43684. (WebCore::RenderInline::rectWithOutlineForRepaint):
  43685. (WebCore::RenderInline::computeRectForRepaint):
  43686. * rendering/RenderInline.h:
  43687. * rendering/RenderObject.cpp:
  43688. (WebCore::RenderObject::rectWithOutlineForRepaint):
  43689. (WebCore::RenderObject::clippedOverflowRectForRepaint):
  43690. (WebCore::RenderObject::computeRectForRepaint):
  43691. * rendering/RenderReplaced.cpp:
  43692. (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
  43693. * rendering/RenderReplaced.h:
  43694. * rendering/RenderTableCell.cpp:
  43695. (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
  43696. (WebCore::RenderTableCell::computeRectForRepaint):
  43697. * rendering/RenderTableCell.h:
  43698. * rendering/RenderTableCol.cpp:
  43699. (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
  43700. * rendering/RenderTableCol.h:
  43701. * rendering/RenderTableRow.cpp:
  43702. (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
  43703. * rendering/RenderTableRow.h:
  43704. * rendering/RenderText.cpp:
  43705. (WebCore::RenderText::clippedOverflowRectForRepaint):
  43706. * rendering/RenderText.h:
  43707. * rendering/RenderView.cpp:
  43708. (WebCore::RenderView::computeRectForRepaint):
  43709. * rendering/RenderView.h:
  43710. * rendering/svg/RenderSVGForeignObject.cpp:
  43711. (WebCore::RenderSVGForeignObject::clippedOverflowRectForRepaint):
  43712. (WebCore::RenderSVGForeignObject::computeRectForRepaint):
  43713. * rendering/svg/RenderSVGForeignObject.h:
  43714. * rendering/svg/RenderSVGGradientStop.h:
  43715. (WebCore::RenderSVGGradientStop::clippedOverflowRectForRepaint):
  43716. * rendering/svg/RenderSVGHiddenContainer.h:
  43717. (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
  43718. * rendering/svg/RenderSVGInline.cpp:
  43719. (WebCore::RenderSVGInline::clippedOverflowRectForRepaint):
  43720. (WebCore::RenderSVGInline::computeRectForRepaint):
  43721. * rendering/svg/RenderSVGInline.h:
  43722. * rendering/svg/RenderSVGModelObject.cpp:
  43723. (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint):
  43724. (WebCore::RenderSVGModelObject::computeRectForRepaint):
  43725. * rendering/svg/RenderSVGModelObject.h:
  43726. * rendering/svg/RenderSVGRoot.cpp:
  43727. (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
  43728. (WebCore::RenderSVGRoot::computeRectForRepaint):
  43729. * rendering/svg/RenderSVGRoot.h:
  43730. * rendering/svg/RenderSVGText.cpp:
  43731. (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
  43732. (WebCore::RenderSVGText::computeRectForRepaint):
  43733. * rendering/svg/RenderSVGText.h:
  43734. * rendering/svg/SVGRenderSupport.cpp:
  43735. (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint):
  43736. (WebCore::SVGRenderSupport::computeRectForRepaint):
  43737. * rendering/svg/SVGRenderSupport.h:
  43738. Updated the following method's signature to use a const object.
  43739. 2011-08-02 Jeffrey Pfau <jpfau@apple.com>
  43740. Add namespace prefix support in XML tokenizer
  43741. https://bugs.webkit.org/show_bug.cgi?id=65578
  43742. Reviewed by Adam Barth.
  43743. This also changes markup debug printing to print to stderr instead of stdout
  43744. * xml/parser/MarkupTokenBase.h:
  43745. (WebCore::MarkupTokenBase::printString):
  43746. * xml/parser/XMLToken.h:
  43747. (WebCore::XMLToken::XMLDeclarationData::XMLDeclarationData):
  43748. (WebCore::XMLToken::clear):
  43749. (WebCore::XMLToken::appendToName):
  43750. (WebCore::XMLToken::name):
  43751. (WebCore::XMLToken::target):
  43752. (WebCore::XMLToken::data):
  43753. (WebCore::XMLToken::prefix):
  43754. (WebCore::XMLToken::xmlDeclarationData):
  43755. (WebCore::XMLToken::endPrefix):
  43756. (WebCore::XMLToken::hasPrefix):
  43757. (WebCore::XMLToken::endAttributePrefix):
  43758. (WebCore::XMLToken::attributeHasPrefix):
  43759. (WebCore::XMLToken::printAttrs):
  43760. (WebCore::XMLToken::print):
  43761. * xml/parser/XMLTokenizer.cpp:
  43762. (WebCore::XMLTokenizer::nextToken):
  43763. 2011-08-02 Zhenyao Mo <zmo@google.com>
  43764. Unreviewed, rolling out r92238.
  43765. http://trac.webkit.org/changeset/92238
  43766. https://bugs.webkit.org/show_bug.cgi?id=65555
  43767. fail fast/events/scrollbar-double-click.html on Mac
  43768. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
  43769. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
  43770. * platform/chromium/ScrollbarThemeChromiumMac.h:
  43771. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  43772. (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
  43773. (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
  43774. (WebCore::toScrollbarPainterKnobStyle):
  43775. (WebCore::ScrollbarThemeChromiumMac::paint):
  43776. 2011-08-02 Mark Pilgrim <pilgrim@chromium.org>
  43777. Remove LegacyDefaultOptionalArguments flag from History.idl
  43778. https://bugs.webkit.org/show_bug.cgi?id=65572
  43779. Reviewed by Adam Barth.
  43780. No new tests, all existing tests pass.
  43781. * page/History.idl:
  43782. 2011-08-02 Mark Pilgrim <pilgrim@chromium.org>
  43783. Remove LegacyDefaultOptionalArguments flag from WebKitAnimationList.idl
  43784. https://bugs.webkit.org/show_bug.cgi?id=65571
  43785. Reviewed by Adam Barth.
  43786. No new tests, all existing tests pass.
  43787. * page/WebKitAnimationList.idl:
  43788. 2011-08-02 James Robinson <jamesr@chromium.org>
  43789. [chromium] Decouple layer visibility calculations from render surfaces / computed draw transforms
  43790. https://bugs.webkit.org/show_bug.cgi?id=58840
  43791. Reviewed by Kenneth Russell.
  43792. This decouples the layer visibility related calculations from the LayerChromium and CCLayerImpl trees. This is
  43793. done by making LayerRendererChromium's "calculate the world" function (renamed
  43794. calculateDrawTransformsAndVisibility()) a templated, free function that can operate on either LayerChromium +
  43795. RenderSurfaceChromium pairs or on CCLayerImpl + CCRenderSurface pairs and invoking it twice, once before
  43796. painting and once before drawing. Before painting, these calculations are used to determine which layers are
  43797. potentially visible and should be painted, which depends on the calculated opacity, render surface bounds, and
  43798. draw transforms. Before drawing, these calculations are used to figure out everything needed to draw.
  43799. RenderSurfaceChromium is now used just for visibility calculations when painting. CCRenderSurfaceChromium is
  43800. responsible for actually drawing the render surfaces.
  43801. This does mean that in the current implementation the second calculations are redundant, but in the future this
  43802. won't be the case since the pre-draw time calculations might be influenced by animations or gestures. I've
  43803. added some traces to try to monitor if this math is a significant amount of the per-frame computation. Note
  43804. that layer sorting only happens on the CCLayerImpl tree and the layer sort algorithm is the most expensive part
  43805. of the calculations currently.
  43806. This removes all of the weak back/forward pointers between LayerChromium and CCLayerImpls, the trees are now
  43807. truly decoupled.
  43808. Covered by compositing/ tests.
  43809. * WebCore.gypi:
  43810. * platform/graphics/chromium/CanvasLayerChromium.cpp:
  43811. (WebCore::CanvasLayerChromium::createCCLayerImpl):
  43812. * platform/graphics/chromium/LayerChromium.cpp:
  43813. (WebCore::LayerChromium::LayerChromium):
  43814. (WebCore::LayerChromium::~LayerChromium):
  43815. (WebCore::LayerChromium::createCCLayerImpl):
  43816. (WebCore::LayerChromium::createRenderSurface):
  43817. (WebCore::LayerChromium::descendantsDrawsContent):
  43818. * platform/graphics/chromium/LayerChromium.h:
  43819. (WebCore::LayerChromium::setUsesLayerScissor):
  43820. (WebCore::LayerChromium::usesLayerScissor):
  43821. (WebCore::LayerChromium::clearRenderSurface):
  43822. (WebCore::LayerChromium::renderSurface):
  43823. (WebCore::LayerChromium::drawOpacity):
  43824. (WebCore::LayerChromium::setDrawOpacity):
  43825. (WebCore::LayerChromium::scissorRect):
  43826. (WebCore::LayerChromium::setScissorRect):
  43827. (WebCore::LayerChromium::targetRenderSurface):
  43828. (WebCore::LayerChromium::setTargetRenderSurface):
  43829. (WebCore::LayerChromium::drawTransform):
  43830. (WebCore::LayerChromium::setDrawTransform):
  43831. (WebCore::LayerChromium::drawableContentRect):
  43832. (WebCore::LayerChromium::setDrawableContentRect):
  43833. * platform/graphics/chromium/LayerRendererChromium.cpp:
  43834. (WebCore::LayerRendererChromium::updateLayers):
  43835. (WebCore::LayerRendererChromium::drawLayers):
  43836. (WebCore::LayerRendererChromium::paintLayerContents):
  43837. (WebCore::LayerRendererChromium::drawLayersInternal):
  43838. (WebCore::LayerRendererChromium::updateCompositorResources):
  43839. (WebCore::LayerRendererChromium::setCompositeOffscreen):
  43840. (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
  43841. (WebCore::LayerRendererChromium::useRenderSurface):
  43842. (WebCore::LayerRendererChromium::drawLayer):
  43843. (WebCore::LayerRendererChromium::initializeSharedObjects):
  43844. (WebCore::LayerRendererChromium::renderSurfaceProgram):
  43845. (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
  43846. (WebCore::LayerRendererChromium::dumpRenderSurfaces):
  43847. * platform/graphics/chromium/LayerRendererChromium.h:
  43848. * platform/graphics/chromium/PluginLayerChromium.cpp:
  43849. (WebCore::PluginLayerChromium::createCCLayerImpl):
  43850. * platform/graphics/chromium/RenderSurfaceChromium.cpp:
  43851. (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
  43852. (WebCore::RenderSurfaceChromium::~RenderSurfaceChromium):
  43853. * platform/graphics/chromium/RenderSurfaceChromium.h:
  43854. (WebCore::RenderSurfaceChromium::clearLayerList):
  43855. (WebCore::RenderSurfaceChromium::layerList):
  43856. (WebCore::RenderSurfaceChromium::setMaskLayer):
  43857. * platform/graphics/chromium/TiledLayerChromium.cpp:
  43858. (WebCore::TiledLayerChromium::createCCLayerImpl):
  43859. (WebCore::TiledLayerChromium::tilingTransform):
  43860. * platform/graphics/chromium/TreeSynchronizer.cpp:
  43861. (WebCore::TreeSynchronizer::synchronizeTreeRecursive):
  43862. * platform/graphics/chromium/VideoLayerChromium.cpp:
  43863. (WebCore::VideoLayerChromium::createCCLayerImpl):
  43864. * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
  43865. (WebCore::CCCanvasLayerImpl::CCCanvasLayerImpl):
  43866. * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
  43867. (WebCore::CCCanvasLayerImpl::create):
  43868. * platform/graphics/chromium/cc/CCLayerImpl.cpp:
  43869. (WebCore::CCLayerImpl::CCLayerImpl):
  43870. (WebCore::CCLayerImpl::~CCLayerImpl):
  43871. (WebCore::CCLayerImpl::createRenderSurface):
  43872. (WebCore::CCLayerImpl::bindContentsTexture):
  43873. * platform/graphics/chromium/cc/CCLayerImpl.h:
  43874. (WebCore::CCLayerImpl::create):
  43875. (WebCore::CCLayerImpl::renderSurface):
  43876. (WebCore::CCLayerImpl::targetRenderSurface):
  43877. (WebCore::CCLayerImpl::setTargetRenderSurface):
  43878. * platform/graphics/chromium/cc/CCLayerSorter.cpp:
  43879. (WebCore::CCLayerSorter::createGraphNodes):
  43880. * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
  43881. (WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
  43882. * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
  43883. (WebCore::CCPluginLayerImpl::create):
  43884. * platform/graphics/chromium/cc/CCRenderSurface.cpp: Copied from Source/WebCore/platform/graphics/chromium/RenderSurfaceChromium.cpp.
  43885. (WebCore::CCRenderSurface::CCRenderSurface):
  43886. (WebCore::CCRenderSurface::~CCRenderSurface):
  43887. (WebCore::CCRenderSurface::cleanupResources):
  43888. (WebCore::CCRenderSurface::layerRenderer):
  43889. (WebCore::CCRenderSurface::drawableContentRect):
  43890. (WebCore::CCRenderSurface::prepareContentsTexture):
  43891. (WebCore::CCRenderSurface::releaseContentsTexture):
  43892. (WebCore::CCRenderSurface::drawSurface):
  43893. (WebCore::CCRenderSurface::draw):
  43894. (WebCore::CCRenderSurface::name):
  43895. (WebCore::writeIndent):
  43896. (WebCore::CCRenderSurface::dumpSurface):
  43897. (WebCore::CCRenderSurface::owningLayerId):
  43898. * platform/graphics/chromium/cc/CCRenderSurface.h: Copied from Source/WebCore/platform/graphics/chromium/RenderSurfaceChromium.h.
  43899. (WebCore::CCRenderSurface::contentRectCenter):
  43900. (WebCore::CCRenderSurface::drawOpacity):
  43901. (WebCore::CCRenderSurface::setDrawOpacity):
  43902. (WebCore::CCRenderSurface::setDrawTransform):
  43903. (WebCore::CCRenderSurface::drawTransform):
  43904. (WebCore::CCRenderSurface::setReplicaDrawTransform):
  43905. (WebCore::CCRenderSurface::replicaDrawTransform):
  43906. (WebCore::CCRenderSurface::setOriginTransform):
  43907. (WebCore::CCRenderSurface::originTransform):
  43908. (WebCore::CCRenderSurface::setScissorRect):
  43909. (WebCore::CCRenderSurface::scissorRect):
  43910. (WebCore::CCRenderSurface::setContentRect):
  43911. (WebCore::CCRenderSurface::contentRect):
  43912. (WebCore::CCRenderSurface::setSkipsDraw):
  43913. (WebCore::CCRenderSurface::skipsDraw):
  43914. (WebCore::CCRenderSurface::clearLayerList):
  43915. (WebCore::CCRenderSurface::layerList):
  43916. (WebCore::CCRenderSurface::setMaskLayer):
  43917. (WebCore::CCRenderSurface::contentsTexture):
  43918. * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
  43919. (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
  43920. * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
  43921. (WebCore::CCTiledLayerImpl::create):
  43922. * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
  43923. (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
  43924. * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
  43925. (WebCore::CCVideoLayerImpl::create):
  43926. 2011-08-02 Luke Macpherson <macpherson@chromium.org>
  43927. Implement CSSPropertyWebkitTextCombine, CSSPropertyWebkitTextEmphasisPosition and CSSPropertyWebkitTextEmphasisStyle in CSSStyleApplyProperty.
  43928. https://bugs.webkit.org/show_bug.cgi?id=65517
  43929. Reviewed by Dimitri Glazkov.
  43930. No new tests. Just refactoring and moving code around.
  43931. * css/CSSStyleApplyProperty.cpp:
  43932. Added class ApplyPropertyTextEmphasisStyle to handle the special TextEmphasisStyle logic.
  43933. (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
  43934. (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
  43935. (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
  43936. (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
  43937. Added initializations for CSSPropertyWebkitTextCombine, CSSPropertyWebkitTextEmphasisPosition, CSSPropertyWebkitTextEmphasisStyle.
  43938. * css/CSSStyleSelector.cpp:
  43939. (WebCore::CSSStyleSelector::applyProperty):
  43940. Remove existing implementations.
  43941. 2011-08-02 Mark Pilgrim <pilgrim@chromium.org>
  43942. Remove LegacyDefaultOptionalArguments flag from SpeechInputResultList.idl
  43943. https://bugs.webkit.org/show_bug.cgi?id=65570
  43944. Reviewed by Adam Barth.
  43945. No new tests, all existing tests pass
  43946. * page/SpeechInputResultList.idl:
  43947. 2011-08-02 Mark Pilgrim <pilgrim@chromium.org>
  43948. Remove LegacyDefaultOptionalArguments flag from EventSource.idl
  43949. https://bugs.webkit.org/show_bug.cgi?id=65568
  43950. Reviewed by Adam Barth.
  43951. No new tests, all existing tests pass.
  43952. * page/EventSource.idl:
  43953. 2011-08-02 Gavin Peters <gavinp@chromium.org>
  43954. fail earlier to track down null CachedScript execution
  43955. https://bugs.webkit.org/show_bug.cgi?id=65563
  43956. Over in http://code.google.com/p/chromium/issues/detail?id=75604 I can't reproduce the problem. Careful reading of the code hasn't led me
  43957. to an obvious cause either. This patch should cause failure earlier, and lead to better stacks. I'll watch Chrome Canary's crash
  43958. uploads carefully, and remove this CRASH() (and fix the underlying problem) once I understand it.
  43959. Reviewed by Alexey Proskuryakov.
  43960. No new tests, as my goal here is to get telemetry on a bug that I cannot reproduce.
  43961. * dom/ScriptRunner.cpp:
  43962. (WebCore::ScriptRunner::queueScriptForExecution):
  43963. 2011-08-02 Sailesh Agrawal <sail@chromium.org>
  43964. Chromium: Update forked ScrollbarThemeChromiumMac.mm
  43965. https://bugs.webkit.org/show_bug.cgi?id=65555
  43966. Merge recent changes to ScrollbarThemeMac.mm to ScrollbarThemeChromiumMac.mm.
  43967. Reviewed by James Robinson.
  43968. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
  43969. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
  43970. (wkScrollbarPainterSetEnabled):
  43971. * platform/chromium/ScrollbarThemeChromiumMac.h:
  43972. (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
  43973. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  43974. (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
  43975. (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
  43976. (WebCore::toScrollbarPainterKnobStyle):
  43977. (WebCore::ScrollbarThemeChromiumMac::updateScrollbarOverlayStyle):
  43978. (WebCore::ScrollbarThemeChromiumMac::updateEnabledState):
  43979. (WebCore::ScrollbarThemeChromiumMac::paint):
  43980. 2011-08-02 Mark Pilgrim <pilgrim@chromium.org>
  43981. Remove LegacyDefaultOptionalArguments flag from SVG IDL files
  43982. https://bugs.webkit.org/show_bug.cgi?id=65337
  43983. Reviewed by Nikolas Zimmermann.
  43984. No new tests, all existing tests pass.
  43985. * svg/ElementTimeControl.idl:
  43986. * svg/SVGAnimationElement.idl:
  43987. * svg/SVGDocument.idl:
  43988. * svg/SVGElementInstance.idl:
  43989. * svg/SVGElementInstanceList.idl:
  43990. * svg/SVGException.idl:
  43991. * svg/SVGFEDropShadowElement.idl:
  43992. * svg/SVGFEGaussianBlurElement.idl:
  43993. * svg/SVGFEMorphologyElement.idl:
  43994. * svg/SVGFilterElement.idl:
  43995. * svg/SVGLocatable.idl:
  43996. * svg/SVGMarkerElement.idl:
  43997. * svg/SVGPathElement.idl:
  43998. * svg/SVGSVGElement.idl:
  43999. * svg/SVGStylable.idl:
  44000. * svg/SVGStyleElement.idl:
  44001. * svg/SVGTests.idl:
  44002. * svg/SVGTextContentElement.idl:
  44003. 2011-08-02 Mark Pilgrim <pilgrim@chromium.org>
  44004. Remove LegacyDefaultOptionalArguments flag from CSS IDL files
  44005. https://bugs.webkit.org/show_bug.cgi?id=65341
  44006. Reviewed by Adam Barth.
  44007. No new tests. All existing tests pass.
  44008. * css/CSSMediaRule.idl:
  44009. * css/CSSPrimitiveValue.idl:
  44010. * css/CSSRuleList.idl:
  44011. * css/CSSStyleDeclaration.idl:
  44012. * css/CSSStyleSheet.idl:
  44013. * css/CSSValueList.idl:
  44014. * css/MediaList.idl:
  44015. * css/MediaQueryList.idl:
  44016. * css/MediaQueryListListener.idl:
  44017. * css/StyleMedia.idl:
  44018. * css/StyleSheetList.idl:
  44019. * css/WebKitCSSKeyframesRule.idl:
  44020. * css/WebKitCSSMatrix.idl:
  44021. 2011-08-02 Robert Kroeger <rjkroege@chromium.org>
  44022. [chromium] Layering violations in gesture recognizer
  44023. https://bugs.webkit.org/show_bug.cgi?id=65044
  44024. Reviewed by Adam Barth.
  44025. Divided the gesture recognizer up to correct a layering
  44026. violation by moving gesture implementation from it to
  44027. EventHandler::handleGestureEvent so that the gesture recognizer
  44028. could simply be an engine for generating gesture events from
  44029. touch events.
  44030. * dom/WheelEvent.cpp:
  44031. (WebCore::WheelEvent::WheelEvent):
  44032. (WebCore::WheelEvent::initWheelEvent):
  44033. * dom/WheelEvent.h:
  44034. Added symbolic contstant for tick multiplier.
  44035. * page/EventHandler.cpp:
  44036. (WebCore::EventHandler::EventHandler):
  44037. Removed construction of gesture recognizer.
  44038. (WebCore::EventHandler::handleGestureEvent):
  44039. Extended for new gesture events added in this patch.
  44040. (WebCore::EventHandler::handleTouchEvent):
  44041. Removed call into gesture recognizer.
  44042. * page/EventHandler.h:
  44043. * page/FrameView.cpp:
  44044. (WebCore::FrameView::reset):
  44045. Removed code to reset gesture recognizer.
  44046. * platform/PlatformGestureEvent.h:
  44047. (WebCore::PlatformGestureEvent::PlatformGestureEvent):
  44048. (WebCore::PlatformGestureEvent::deltaX):
  44049. (WebCore::PlatformGestureEvent::deltaY):
  44050. (WebCore::PlatformGestureEvent::shiftKey):
  44051. (WebCore::PlatformGestureEvent::ctrlKey):
  44052. (WebCore::PlatformGestureEvent::altKey):
  44053. (WebCore::PlatformGestureEvent::metaKey):
  44054. Added additional gesture types and parameters.
  44055. * platform/PlatformGestureRecognizer.h:
  44056. * platform/chromium/FramelessScrollView.h:
  44057. Added support for displatching gesture and touch events.
  44058. * platform/chromium/GestureRecognizerChromium.cpp:
  44059. (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
  44060. (WebCore::InnerGestureRecognizer::reset):
  44061. (WebCore::InnerGestureRecognizer::constructClickGestureEvent):
  44062. (WebCore::InnerGestureRecognizer::processTouchEventForGestures):
  44063. Removed all depedencies on EventHandler. Instead, create gesture
  44064. events from touch event stream.
  44065. (WebCore::InnerGestureRecognizer::constructScrollGesture):
  44066. (WebCore::touchDown):
  44067. (WebCore::noGesture):
  44068. (WebCore::click):
  44069. (WebCore::isClickOrScroll):
  44070. (WebCore::inScroll):
  44071. (WebCore::GestureRecognizerChromium::processTouchEventForGestures):
  44072. (WebCore::GestureRecognizerChromium::reset):
  44073. * platform/chromium/GestureRecognizerChromium.h:
  44074. * platform/chromium/PopupMenuChromium.cpp:
  44075. Added support to handle touch events and gesture events.
  44076. (WebCore::PopupContainer::handleTouchEvent):
  44077. (WebCore::PopupContainer::handleGestureEvent):
  44078. (WebCore::PopupListBox::handleTouchEvent):
  44079. (WebCore::PopupListBox::handleGestureEvent):
  44080. * platform/chromium/PopupMenuChromium.h:
  44081. * platform/mac/ScrollAnimatorMac.mm:
  44082. (WebCore::ScrollAnimatorMac::handleGestureEvent):
  44083. Ignores the newly added gesture event types.
  44084. 2011-08-01 Michael Saboff <msaboff@apple.com>
  44085. Virtual copying of FastMalloc allocated memory causes madvise MADV_FREE_REUSABLE errors
  44086. https://bugs.webkit.org/show_bug.cgi?id=65502
  44087. Reviewed by Anders Carlsson.
  44088. Change the vm_copy in PurgeableBuffer::create to be a memcpy. The
  44089. vm_copy causes the process to have additional references to the same
  44090. memory region. These additional reference caused madvise(MADV_FREE_REUSABLE)
  44091. to fail when it encountered such pages.
  44092. No tests added this is a resource defect and not a functional issue.
  44093. * platform/mac/PurgeableBufferMac.cpp:
  44094. (WebCore::PurgeableBuffer::create):
  44095. 2011-08-02 Stephen White <senorblanco@chromium.org>
  44096. [Chromium] Remove an unnecessary readback during accelerated
  44097. canvas-to-canvas draws.
  44098. https://bugs.webkit.org/show_bug.cgi?id=65560
  44099. Reviewed by James Robinson.
  44100. No new tests. (Printing has few tests, sadly.)
  44101. * platform/graphics/skia/ImageBufferSkia.cpp:
  44102. (WebCore::ImageBuffer::draw):
  44103. Revert most of the changes to this file from
  44104. http://trac.webkit.org/changeset/91870, except for the call which makes
  44105. the source context current, so that the readPixels() still works.
  44106. 2011-08-02 Filip Pizlo <fpizlo@apple.com>
  44107. JSC GC is far too conservative about growing the heap size, particularly
  44108. on desktop platforms
  44109. https://bugs.webkit.org/show_bug.cgi?id=65438
  44110. Reviewed by Oliver Hunt.
  44111. No change in behavior, thus no new tests.
  44112. Pass the LargeHeap hint to JSGlobalData when creating the JSC runtime
  44113. instance corresponding to non-worker JS code.
  44114. * bindings/js/JSDOMWindowBase.cpp:
  44115. (WebCore::JSDOMWindowBase::commonJSGlobalData):
  44116. 2011-08-02 Van Lam <vanlam@google.com>
  44117. --webkit-visual-word: ctrl-arrow is not able to reach the boundary of line
  44118. https://bugs.webkit.org/show_bug.cgi?id=61346
  44119. Reviewed by Ryosuke Niwa.
  44120. When collecintg word boundaries in a box, explicitly check if the box
  44121. is at the end of line (so it should contain the end-of-line position)
  44122. and collect the end-of-line position.
  44123. * editing/visible_units.cpp:
  44124. (WebCore::isBoxVisuallyLastInLine):
  44125. (WebCore::appendPositionAtLogicalEndOfLine):
  44126. (WebCore::collectWordBreaksInBoxInsideBlockWithSameDirectionality):
  44127. (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality):
  44128. 2011-08-02 Vsevolod Vlasov <vsevik@chromium.org>
  44129. Web Inspector: Should save scroll positions for network panel Response and Preview tabs.
  44130. https://bugs.webkit.org/show_bug.cgi?id=65557
  44131. Reviewed by Pavel Feldman.
  44132. * inspector/front-end/NetworkItemView.js:
  44133. (WebInspector.ResourceContentView.prototype.get innerView):
  44134. (WebInspector.ResourceContentView.prototype.set innerView):
  44135. (WebInspector.ResourceContentView.prototype.hide):
  44136. * inspector/front-end/ResourcePreviewView.js:
  44137. (WebInspector.ResourcePreviewView.prototype.contentLoaded):
  44138. * inspector/front-end/ResourceResponseView.js:
  44139. (WebInspector.ResourceResponseView.prototype.contentLoaded):
  44140. 2011-08-02 Vsevolod Vlasov <vsevik@chromium.org>
  44141. Web Inspector: Remove initator column for JSC, fix network resource initiator tests.
  44142. https://bugs.webkit.org/show_bug.cgi?id=65534
  44143. Reviewed by Pavel Feldman.
  44144. * inspector/front-end/NetworkPanel.js:
  44145. (WebInspector.NetworkLogView.prototype._createTable):
  44146. (WebInspector.NetworkLogView.prototype.switchToDetailedView):
  44147. (WebInspector.NetworkLogView.prototype.switchToBriefView):
  44148. (WebInspector.NetworkLogView.prototype._toggleGridMode):
  44149. (WebInspector.NetworkLogView.prototype._toggleViewingResourceMode):
  44150. (WebInspector.NetworkDataGridNode.prototype.createCells):
  44151. (WebInspector.NetworkDataGridNode.prototype.refreshResource):
  44152. * inspector/front-end/Settings.js:
  44153. 2011-08-02 Vsevolod Vlasov <vsevik@chromium.org>
  44154. Web Inspector: SourceFrame should store saved scroll positions in View.
  44155. https://bugs.webkit.org/show_bug.cgi?id=65472
  44156. Reviewed by Pavel Feldman.
  44157. * inspector/front-end/ResourcesPanel.js:
  44158. (WebInspector.FrameResourceTreeElement.prototype._recreateSourceView):
  44159. * inspector/front-end/ScriptsPanel.js:
  44160. (WebInspector.ScriptsPanel.prototype._sourceFileChanged):
  44161. * inspector/front-end/SourceFrame.js:
  44162. (WebInspector.SourceFrame.prototype.show):
  44163. (WebInspector.SourceFrame.prototype.hide):
  44164. (WebInspector.SourceFrame.prototype.get scrollLeft):
  44165. (WebInspector.SourceFrame.prototype.set scrollLeft):
  44166. (WebInspector.SourceFrame.prototype.get scrollTop):
  44167. (WebInspector.SourceFrame.prototype.set scrollTop):
  44168. * inspector/front-end/View.js:
  44169. (WebInspector.View.prototype._innerShow):
  44170. (WebInspector.View.prototype._innerHide):
  44171. (WebInspector.View.prototype.detach):
  44172. (WebInspector.View.prototype.storeScrollPositions):
  44173. (WebInspector.View.prototype.inheritScrollPositionsFromView):
  44174. (WebInspector.View.prototype.restoreScrollPositions):
  44175. 2011-08-02 Jeff Miller <jeffm@apple.com>
  44176. Move WTF_USE_AVFOUNDATION from JavaScriptCore/wtf/platform.h to WebCore/config.h
  44177. https://bugs.webkit.org/show_bug.cgi?id=65552
  44178. Since this is a WebCore feature, there's no need to define it in JavaScriptCore/wtf/platform.h.
  44179. Reviewed by Adam Roben.
  44180. No change in functionality, so new tests.
  44181. * config.h: Added WTF_USE_AVFOUNDATION.
  44182. 2011-08-02 Alexandru Chiculita <achicu@adobe.com>
  44183. Split RenderBlock::layoutRunsAndFloats into multiple methods
  44184. https://bugs.webkit.org/show_bug.cgi?id=65376
  44185. Extracted layoutRunsAndFloatsInRange, linkToEndLineIfNeeded and repaintDirtyFloats methods and moved
  44186. most of the locals to LineLayoutState.
  44187. Reviewed by David Hyatt.
  44188. No new tests needed because it is just refactoring existing code.
  44189. * rendering/RenderBlock.h:
  44190. * rendering/RenderBlockLineLayout.cpp:
  44191. (WebCore::LineLayoutState::LineLayoutState):
  44192. (WebCore::LineLayoutState::endLineMatched):
  44193. (WebCore::LineLayoutState::setEndLineMatched):
  44194. (WebCore::LineLayoutState::checkForFloatsFromLastLine):
  44195. (WebCore::LineLayoutState::setCheckForFloatsFromLastLine):
  44196. (WebCore::LineLayoutState::lineInfo):
  44197. (WebCore::LineLayoutState::endLineLogicalTop):
  44198. (WebCore::LineLayoutState::setEndLineLogicalTop):
  44199. (WebCore::LineLayoutState::endLine):
  44200. (WebCore::LineLayoutState::setEndLine):
  44201. (WebCore::LineLayoutState::lastFloat):
  44202. (WebCore::LineLayoutState::setLastFloat):
  44203. (WebCore::LineLayoutState::floats):
  44204. (WebCore::LineLayoutState::floatIndex):
  44205. (WebCore::LineLayoutState::setFloatIndex):
  44206. (WebCore::RenderBlock::layoutRunsAndFloats):
  44207. (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
  44208. (WebCore::RenderBlock::linkToEndLineIfNeeded):
  44209. (WebCore::RenderBlock::repaintDirtyFloats):
  44210. (WebCore::RenderBlock::layoutInlineChildren):
  44211. (WebCore::RenderBlock::determineStartPosition):
  44212. (WebCore::RenderBlock::determineEndPosition):
  44213. (WebCore::RenderBlock::matchedEndLine):
  44214. 2011-08-02 Nat Duca <nduca@chromium.org>
  44215. [chromium] Remove resizeOnscreenContent from LRC. It can be derived.
  44216. https://bugs.webkit.org/show_bug.cgi?id=65519
  44217. Reviewed by James Robinson.
  44218. * platform/graphics/chromium/LayerRendererChromium.cpp:
  44219. (WebCore::LayerRendererChromium::setViewport):
  44220. * platform/graphics/chromium/LayerRendererChromium.h:
  44221. 2011-08-02 Nico Weber <thakis@chromium.org>
  44222. [chromium] Fix unresolved symbols error when linking to libwebkit.dylib
  44223. https://bugs.webkit.org/show_bug.cgi?id=65498
  44224. Reviewed by Dimitri Glazkov.
  44225. * WebCore.gyp/mac/adjust_visibility.sh:
  44226. 2011-08-02 Mihnea Ovidenie <mihnea@adobe.com>
  44227. hover then un-hover makes state change
  44228. https://bugs.webkit.org/show_bug.cgi?id=56401
  44229. Reviewed by David Hyatt.
  44230. When a 'before' pseudo-element is re-added, we should check whether the insertion point is an anonymous
  44231. block with inline children. If it is, then we should change the insertion point to the first child of the
  44232. anonymous block, otherwise the 'before' pseudo-element ends up in a different block. We choose the insertion
  44233. point to be the first child only if the anonymous block has children, otherwise the before element ends up
  44234. in a wrong block.
  44235. Tests: fast/dynamic/hover-before-position-after-style-change.html
  44236. fast/dynamic/hover-before-position-after-style-change2.html
  44237. * rendering/RenderObjectChildList.cpp:
  44238. (WebCore::RenderObjectChildList::updateBeforeAfterContent):
  44239. 2011-08-02 Andreas Kling <kling@webkit.org>
  44240. [Qt] Simplify Path::translate() implementation.
  44241. https://bugs.webkit.org/show_bug.cgi?id=65540
  44242. Reviewed by Benjamin Poulain.
  44243. * platform/graphics/qt/PathQt.cpp:
  44244. (WebCore::Path::translate):
  44245. 2011-07-30 Pavel Podivilov <podivilov@chromium.org>
  44246. Web Inspector: merge FormattedSourceFile into SourceFile.
  44247. https://bugs.webkit.org/show_bug.cgi?id=65411
  44248. Reviewed by Pavel Feldman.
  44249. Prepare for splitting SourceFile into RawSourceCode and UISourceCode:
  44250. * merge FormattedSourceFile into SourceFile
  44251. * rename SourceFile to RawSourceCode
  44252. * hide formatter worker lazy creation in ScriptFormatter
  44253. * inspector/front-end/DebuggerPresentationModel.js:
  44254. (WebInspector.DebuggerPresentationModel):
  44255. (WebInspector.DebuggerPresentationModel.prototype._scriptLocationToUILocation):
  44256. (WebInspector.DebuggerPresentationModel.prototype._uiLocationToScriptLocation):
  44257. (WebInspector.DebuggerPresentationModel.prototype._addScript):
  44258. * inspector/front-end/ScriptFormatter.js:
  44259. (WebInspector.ScriptFormatter):
  44260. (WebInspector.ScriptFormatter.prototype._didFormatContent):
  44261. (WebInspector.ScriptFormatter.prototype.get _worker):
  44262. * inspector/front-end/SourceFile.js:
  44263. (WebInspector.RawSourceCode):
  44264. (WebInspector.RawSourceCode.prototype.setFormatted):
  44265. (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded.didRequestContent):
  44266. (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded):
  44267. (WebInspector.RawSourceCode.prototype._didRequestContent.didFormatContent):
  44268. (WebInspector.RawSourceCode.prototype._didRequestContent):
  44269. (WebInspector.RawSourceCode.prototype._invokeRequestContentCallbacks):
  44270. 2011-08-02 Mihnea Ovidenie <mihnea@adobe.com>
  44271. [CSSRegions]Fix build after changeset 92106
  44272. https://bugs.webkit.org/show_bug.cgi?id=65539
  44273. Reviewed by Adam Roben.
  44274. No new tests since it is just a build fix.
  44275. * css/CSSStyleSelector.cpp:
  44276. (WebCore::CSSStyleSelector::applyProperty):
  44277. 2011-08-01 Vsevolod Vlasov <vsevik@chromium.org>
  44278. Web Inspector: [REGRESSION] Console evaluations leading to resource loading cause errors.
  44279. https://bugs.webkit.org/show_bug.cgi?id=65466
  44280. Reviewed by Pavel Feldman.
  44281. Test: http/tests/inspector/network/network-initiator-from-console.html
  44282. * inspector/front-end/NetworkPanel.js:
  44283. (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
  44284. 2011-08-02 Alexander Pavlov <apavlov@chromium.org>
  44285. Web Inspector: img[width=90] or align attributes shouldnt be shown above element.style block (as they have lower specificity)
  44286. https://bugs.webkit.org/show_bug.cgi?id=65514
  44287. Reviewed by Pavel Feldman.
  44288. * inspector/front-end/StylesSidebarPane.js:
  44289. 2011-08-02 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  44290. [EFL] Add fullscreen button to media control UI.
  44291. https://bugs.webkit.org/show_bug.cgi?id=64428
  44292. Implement paintMediaFullscreenButton and emit fullscreen signal.
  44293. Reviewed by Antonio Gomes.
  44294. * platform/efl/RenderThemeEfl.cpp:
  44295. (WebCore::RenderThemeEfl::edjeGroupFromFormType):
  44296. (WebCore::RenderThemeEfl::emitMediaButtonSignal):
  44297. (WebCore::RenderThemeEfl::paintMediaFullscreenButton):
  44298. * platform/efl/RenderThemeEfl.h:
  44299. 2011-08-01 Andrey Kosyakov <caseq@chromium.org>
  44300. Web Inspector: [Extensions API] webInspector.inspectedPage.reload() is broken
  44301. https://bugs.webkit.org/show_bug.cgi?id=65476
  44302. - fixed webInspector.inspectedWindow.reload(), brought tests back.
  44303. - removed redundant setting of user agent in FrameLoader::loadResourceSynchronously()
  44304. Reviewed by Yury Semikhatsky.
  44305. Test: http/tests/inspector/extensions-useragent.html
  44306. * inspector/front-end/ExtensionServer.js:
  44307. (WebInspector.ExtensionServer.prototype._onReload):
  44308. * loader/FrameLoader.cpp:
  44309. (WebCore::FrameLoader::loadResourceSynchronously):
  44310. 2011-08-02 Pavel Feldman <pfeldman@chromium.org>
  44311. Not reviewed: fixing inspector tests.
  44312. * inspector/front-end/ScriptsPanel.js:
  44313. (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
  44314. 2011-08-02 Pavel Feldman <pfeldman@google.com>
  44315. Not reviewed: one line inspector style change.
  44316. * inspector/front-end/networkLogView.css:
  44317. (.network-error-row, .network-error-row .network-cell-subtitle):
  44318. 2011-08-02 Amruth Raj <amruthraj@motorola.com>
  44319. Custom cursors cause the WebProcess to crash
  44320. https://bugs.webkit.org/show_bug.cgi?id=64802
  44321. Reviewed by Martin Robinson.
  44322. * WebCore.exp.in:
  44323. 2011-08-02 Pavel Feldman <pfeldman@google.com>
  44324. Web Inspector: _normalizeEventTypes (via console's monitorEvents) doesnt handle all events like 'search' and other atypical ones.
  44325. https://bugs.webkit.org/show_bug.cgi?id=65468
  44326. Reviewed by Yury Semikhatsky.
  44327. * inspector/InjectedScriptSource.js:
  44328. 2011-08-02 Pavel Feldman <pfeldman@google.com>
  44329. Web Inspector: 404/errors should get a RED visual treatment so easier to identify.
  44330. https://bugs.webkit.org/show_bug.cgi?id=65471
  44331. Reviewed by Yury Semikhatsky.
  44332. * inspector/front-end/NetworkPanel.js:
  44333. (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
  44334. * inspector/front-end/networkLogView.css:
  44335. (.network-error-cell):
  44336. 2011-08-02 Pavel Feldman <pfeldman@google.com>
  44337. Web Inspector: arrow is a pain to click in console. Drive-by selection reset fix.
  44338. https://bugs.webkit.org/show_bug.cgi?id=65467
  44339. Reviewed by Yury Semikhatsky.
  44340. * inspector/front-end/ConsoleView.js:
  44341. (WebInspector.ConsoleView.prototype._messagesClicked):
  44342. * inspector/front-end/ObjectPropertiesSection.js:
  44343. (WebInspector.ObjectPropertyTreeElement):
  44344. * inspector/front-end/inspector.css:
  44345. (.properties-tree li):
  44346. (.properties-tree li.parent::before):
  44347. * inspector/front-end/treeoutline.js:
  44348. (TreeElement.treeElementToggled):
  44349. 2011-08-01 Pavel Feldman <pfeldman@google.com>
  44350. Web Inspector: button + "New style rule"
  44351. https://bugs.webkit.org/show_bug.cgi?id=65409
  44352. Reviewed by Yury Semikhatsky.
  44353. Test: inspector/styles/styles-add-new-rule.html
  44354. * inspector/front-end/StylesSidebarPane.js:
  44355. (WebInspector.StylesSidebarPane):
  44356. (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
  44357. 2011-08-01 Luke Macpherson <macpherson@chromium.org>
  44358. Don't set m_fontDirty when setting zoom unless zoom has actually changed
  44359. https://bugs.webkit.org/show_bug.cgi?id=65092
  44360. Reviewed by Darin Adler.
  44361. No new tests as no functionality changed - this is an optimization that
  44362. should be logically equivalent to the current code.
  44363. The intent here is to avoid setting m_fontDirty unless the fornt information is actually dirty.
  44364. * css/CSSStyleSelector.cpp:
  44365. (WebCore::CSSStyleSelector::styleForDocument):
  44366. (WebCore::CSSStyleSelector::applyProperty):
  44367. Use setZoom and setEffectiveZoom wrapper functions.
  44368. * css/CSSStyleSelector.h:
  44369. (WebCore::CSSStyleSelector::setZoom):
  44370. Wrapper for m_style->setZoom() that automatically updates m_fontDirty.
  44371. (WebCore::CSSStyleSelector::setEffectiveZoom):
  44372. Wrapper for m_style->setEffectiveZoom that automatically updates m_fontDirty.
  44373. * page/animation/AnimationBase.cpp:
  44374. (WebCore::AnimationBase::ensurePropertyMap):
  44375. Use
  44376. * rendering/style/RenderStyle.h:
  44377. (WebCore::InheritedFlags::setZoom):
  44378. Return true only if underlying values change.
  44379. (WebCore::InheritedFlags::setZoomWithoutReturnValue):
  44380. Return void to match function pointer type where required.
  44381. (WebCore::InheritedFlags::setEffectiveZoom):
  44382. Return true only if underlying values change.
  44383. 2011-08-01 Jean-luc Brouillet <jeanluc@chromium.org>
  44384. Removing old source files in gyp files that slow build
  44385. https://bugs.webkit.org/show_bug.cgi?id=65503
  44386. Reviewed by Adam Barth.
  44387. A number of stale files are listed in the gyp files. These slow the
  44388. build on Visual Studio 2010. Removing them.
  44389. * WebCore.gypi:
  44390. 2011-08-01 Bradley Nelson <bradnelson@chromium.org>
  44391. Shard webcore_remaining for msvs official builds
  44392. https://bugs.webkit.org/show_bug.cgi?id=65475
  44393. Reviewed by Darin Fisher.
  44394. webcore_remaining has consistently exceeded Visual Studio 2008's
  44395. capacity to link when link time code generation is turned on (full
  44396. release builds). This has been dealt with the past by carving off
  44397. larger and larger pieces of webcore_remaining (ie webcore_html,
  44398. webcore_renderer etc).
  44399. A new option has been added to gyp to automate this sharding:
  44400. 'msvs_shard': SHARD_COUNT,
  44401. Targets marked in this way will be built in several pieces
  44402. (target_0, target_1...).
  44403. Since the resulting project is less comprehensible in the IDE (and
  44404. since the linking limitation only afflicts official builds), this
  44405. option is only needed for those builds.
  44406. This patch shards webcore_remaining into 10 parts for official builds.
  44407. * WebCore.gyp/WebCore.gyp:
  44408. 2011-08-01 Alice Boxhall <aboxhall@chromium.org>
  44409. WAI-ARIA textbox role should be AXTextArea for aria-multiline=true, AXTextField for aria-multiline=false
  44410. https://bugs.webkit.org/show_bug.cgi?id=65451
  44411. Reviewed by Chris Fleizach.
  44412. * accessibility/AccessibilityRenderObject.cpp:
  44413. (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
  44414. 2011-08-01 srikumar bonda <srikumar.b@gmail.com>
  44415. Use threadsafeCopy() API when using Database Directory path variable
  44416. https://bugs.webkit.org/show_bug.cgi?id=65436
  44417. Reviewed by David Levin.
  44418. Use threadsafeCopy() API while using m_databaseDirectoryPath string variable
  44419. when the databaseGuard lock hasn't been taken in DatabaseTracker class.
  44420. This is just a safety fix.
  44421. No changes to functionality so no new tests.
  44422. * storage/DatabaseTracker.cpp:
  44423. (WebCore::DatabaseTracker::trackerDatabasePath):
  44424. (WebCore::DatabaseTracker::deleteOrigin):
  44425. 2011-08-01 Michael Nordman <michaeln@google.com>
  44426. [Chromium] WebSQLDatabase version handling is broken in multi-process browsers.
  44427. https://bugs.webkit.org/show_bug.cgi?id=65486
  44428. The WebCore::AbstractDatabase class maintains a global in-memory map of
  44429. the version numbers associated with open database files, but that map is
  44430. not reliable in a multi-process system like Chrome. So instead of relying
  44431. on the cached values in that map, we read the value from the database (and
  44432. update the cached value) where possible. There are two edge cases where that's
  44433. not possible because the scriptable interface requires synchronous access
  44434. to the version: the .version attribute getter and the .openDatabase() method.
  44435. In those cases, we have no choice but to use the potentially stale cached value.
  44436. Reviewed by Darin Fisher.
  44437. No new tests. Existing layout tests cover the version handling functionality.
  44438. * storage/AbstractDatabase.cpp:
  44439. (WebCore::AbstractDatabase::version):
  44440. (WebCore::AbstractDatabase::performOpenAndVerify):
  44441. (WebCore::AbstractDatabase::getVersionFromDatabase):
  44442. (WebCore::AbstractDatabase::setVersionInDatabase):
  44443. (WebCore::AbstractDatabase::setExpectedVersion):
  44444. (WebCore::AbstractDatabase::getCachedVersion):
  44445. (WebCore::AbstractDatabase::setCachedVersion):
  44446. (WebCore::AbstractDatabase::getActualVersionForTransaction):
  44447. * storage/AbstractDatabase.h:
  44448. (WebCore::AbstractDatabase::expectedVersion):
  44449. * storage/ChangeVersionWrapper.cpp:
  44450. (WebCore::ChangeVersionWrapper::handleCommitFailedAfterPostflight):
  44451. * storage/ChangeVersionWrapper.h:
  44452. * storage/Database.cpp:
  44453. (WebCore::Database::openDatabase):
  44454. * storage/DatabaseSync.cpp:
  44455. (WebCore::DatabaseSync::openDatabaseSync):
  44456. (WebCore::DatabaseSync::changeVersion):
  44457. * storage/SQLTransaction.cpp:
  44458. (WebCore::SQLTransaction::SQLTransaction):
  44459. (WebCore::SQLTransaction::executeSQL):
  44460. (WebCore::SQLTransaction::openTransactionAndPreflight):
  44461. (WebCore::SQLTransaction::runCurrentStatement):
  44462. (WebCore::SQLTransaction::postflightAndCommit):
  44463. * storage/SQLTransaction.h:
  44464. * storage/SQLTransactionSync.cpp:
  44465. (WebCore::SQLTransactionSync::SQLTransactionSync):
  44466. (WebCore::SQLTransactionSync::executeSQL):
  44467. (WebCore::SQLTransactionSync::begin):
  44468. * storage/SQLTransactionSync.h:
  44469. 2011-08-01 Tim Horton <timothy_horton@apple.com>
  44470. Severe shadow repaint issues with SVGText elements
  44471. https://bugs.webkit.org/show_bug.cgi?id=63648
  44472. <rdar://problem/7632269>
  44473. Reviewed by Darin Adler.
  44474. Make SVG elements which inherit from RenderSVGBlock take text-shadow
  44475. overflow into account when determining whether or not they should draw
  44476. Test: svg/custom/repaint-shadow.svg
  44477. * rendering/RenderBox.h:
  44478. (WebCore::RenderBox::visualOverflowRect):
  44479. * rendering/svg/RenderSVGBlock.cpp:
  44480. (WebCore::RenderSVGBlock::visualOverflowRect):
  44481. * rendering/svg/RenderSVGBlock.h:
  44482. 2011-08-01 Zhenyao Mo <zmo@google.com>
  44483. Unreviewed, rolling out r92022.
  44484. http://trac.webkit.org/changeset/92022
  44485. https://bugs.webkit.org/show_bug.cgi?id=65203
  44486. try to see if this is causing a bunch of browser tests failues
  44487. on win bots - will recommit if not
  44488. * platform/graphics/chromium/FontChromiumWin.cpp:
  44489. (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
  44490. (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init):
  44491. (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
  44492. (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
  44493. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
  44494. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
  44495. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
  44496. (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc):
  44497. (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
  44498. (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter):
  44499. (WebCore::drawGlyphsWin):
  44500. (WebCore::Font::drawComplexText):
  44501. * platform/graphics/chromium/UniscribeHelper.cpp:
  44502. (WebCore::UniscribeHelper::draw):
  44503. * platform/graphics/skia/PlatformContextSkia.cpp:
  44504. (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
  44505. * platform/graphics/skia/PlatformContextSkia.h:
  44506. * platform/graphics/skia/SkiaFontWin.cpp:
  44507. (WebCore::windowsCanHandleDrawTextShadow):
  44508. (WebCore::windowsCanHandleTextDrawing):
  44509. (WebCore::windowsCanHandleTextDrawingWithoutShadow):
  44510. * platform/graphics/skia/SkiaFontWin.h:
  44511. 2011-08-01 Scott Graham <scottmg@chromium.org>
  44512. REGRESSION (r39725?): Resources removed from document can not be freed
  44513. until the document is deleted
  44514. https://bugs.webkit.org/show_bug.cgi?id=61006
  44515. Reviewed by Antti Koivisto.
  44516. Upon completing a load start a Timer to iterate through
  44517. CachedResourceLoader's m_documentResources map to check for any items
  44518. that have only one reference (thus being the reference in the map
  44519. itself). The map should really be weak, but because the
  44520. CachedResourceHandle achieves bookkeeping work in addition to
  44521. reference counting, this is a simpler and more localized way to free
  44522. the used memory while maintaining the other behaviour (when
  44523. CachedResource is used as proxy).
  44524. With this patch the testcase at
  44525. https://bugs.webkit.org/attachment.cgi?id=93850 should no longer
  44526. consume 400MB of ram on load. Test added for crash discovered in
  44527. previous revision, but no tests for memory usage.
  44528. Test: http/tests/inspector/network/disabled-cache-crash.html
  44529. * WebCore.exp.in:
  44530. * loader/cache/CachedResource.h:
  44531. (WebCore::CachedResource::hasOneHandle):
  44532. * loader/cache/CachedResourceLoader.cpp:
  44533. (WebCore::CachedResourceLoader::CachedResourceLoader):
  44534. (WebCore::CachedResourceLoader::loadDone):
  44535. (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
  44536. * loader/cache/CachedResourceLoader.h:
  44537. * testing/Internals.cpp:
  44538. (WebCore::Internals::disableMemoryCache):
  44539. * testing/Internals.h:
  44540. * testing/Internals.idl:
  44541. 2011-08-01 Jochen Eisinger <jochen@chromium.org>
  44542. Never override the policy URL on form submissions.
  44543. https://bugs.webkit.org/show_bug.cgi?id=61809
  44544. Reviewed by Adam Barth.
  44545. Tests: http/tests/security/cookies/third-party-cookie-blocking-main-frame.html
  44546. http/tests/security/cookies/third-party-cookie-blocking-user-action.html
  44547. http/tests/security/cookies/third-party-cookie-blocking.html
  44548. * loader/FrameLoader.cpp:
  44549. (WebCore::FrameLoader::loadURL):
  44550. (WebCore::FrameLoader::addExtraFieldsToSubresourceRequest):
  44551. (WebCore::FrameLoader::addExtraFieldsToMainResourceRequest):
  44552. (WebCore::FrameLoader::addExtraFieldsToRequest):
  44553. (WebCore::FrameLoader::loadPostRequest):
  44554. (WebCore::FrameLoader::loadDifferentDocumentItem):
  44555. * loader/FrameLoader.h:
  44556. 2011-08-01 Ryosuke Niwa <rniwa@webkit.org>
  44557. Update comment added in r92139 per Darin's suggestion.
  44558. * css/CSSStyleSelector.cpp:
  44559. (WebCore::CSSStyleSelector::styleForElement):
  44560. 2011-08-01 Ryosuke Niwa <rniwa@webkit.org>
  44561. Search field in designMode causes a crash
  44562. https://bugs.webkit.org/show_bug.cgi?id=65362
  44563. Reviewed by Dimitri Glazkov.
  44564. The crashed was caused by editing code inadvertently deleting search and cancel buttons in the design mode.
  44565. Fixed the bug by avoid inheriting user-modify property from the shadow host.
  44566. Test: editing/input/search-field-crash-in-designmode.html
  44567. * css/CSSStyleSelector.cpp:
  44568. (WebCore::isAtShadowBoundary): Moved.
  44569. (WebCore::CSSStyleSelector::styleForElement): Overrides -webkit-user-modify by the initial value after m_style
  44570. inherited the values from m_parentStyle but before applying matched rules.
  44571. * dom/Node.cpp:
  44572. (WebCore::Node::rendererIsEditable): Ignore page's editability inside a shadow DOM.
  44573. 2011-08-01 Marco Peereboom <marco@peereboom.us>
  44574. [Soup] Set default max-conns to a more sane default value and fix comment
  44575. https://bugs.webkit.org/show_bug.cgi?id=65335
  44576. Reviewed by Martin Robinson.
  44577. Rigged the xxxterm web browser and validated that the default values were set properly.
  44578. * platform/network/soup/ResourceHandleSoup.cpp:
  44579. (WebCore::ResourceHandle::defaultSession):
  44580. 2011-07-28 Abhishek Arya <inferno@chromium.org>
  44581. Regression(82144): Crash in TrailingObjects::updateMidpointsForTrailingBoxes
  44582. https://bugs.webkit.org/show_bug.cgi?id=65137
  44583. Fix the looping condition to prevent trailingSpaceMidpoint from becoming negative.
  44584. Reviewed by Dave Hyatt.
  44585. Test: fast/block/update-midpoints-for-trailing-boxes-crash.html
  44586. * rendering/RenderBlockLineLayout.cpp:
  44587. (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
  44588. 2011-08-01 Benjamin Poulain <benjamin@webkit.org>
  44589. [Qt] OpenGLShims does not build on ARM
  44590. https://bugs.webkit.org/show_bug.cgi?id=65465
  44591. Reviewed by Noam Rosenthal.
  44592. Fix the build with OpenGL ES 2:
  44593. -lookupOpenGLFunctionAddress() was defined but not used for OpenGL ES.
  44594. -glBlitFramebuffer() and glRenderbufferStorageMultisample() are not part of the specification.
  44595. When those are available as platform extension, the extension has been added.
  44596. -GLchar is not defined on some platform. The patch adds the same typedef as the official definition
  44597. to avoid conflicts.
  44598. * platform/graphics/cairo/OpenGLShims.cpp:
  44599. (lookupOpenGLFunctionAddress):
  44600. (WebCore::initializeOpenGLShims):
  44601. * platform/graphics/cairo/OpenGLShims.h:
  44602. 2011-08-01 Yury Semikhatsky <yurys@chromium.org>
  44603. Unreviewed. Trivial fix for inspector/debugger/debugger-completions-on-call-frame.html after r92122.
  44604. * inspector/front-end/ConsoleView.js:
  44605. 2011-08-01 Hayato Ito <hayato@chromium.org>
  44606. Add support for getting an element in shadow root by its id into a window.internals object.
  44607. https://bugs.webkit.org/show_bug.cgi?id=64587
  44608. Reviewed by Hajime Morita.
  44609. Test: fast/dom/shadow/get-element-by-id-in-shadow-root.html
  44610. * WebCore.exp.in:
  44611. * testing/Internals.cpp:
  44612. (WebCore::Internals::getElementByIdInShadowRoot):
  44613. * testing/Internals.h:
  44614. * testing/Internals.idl:
  44615. 2011-07-15 Hayato Ito <hayato@chromium.org>
  44616. Add support for retrieving an element in TreeScope by id to window.internals object.
  44617. https://bugs.webkit.org/show_bug.cgi?id=64587
  44618. Reviewed by Hajime Morita.
  44619. Test: fast/dom/shadow/get-element-by-id-in-shadow.html
  44620. * WebCore.exp.in:
  44621. * testing/Internals.cpp:
  44622. (WebCore::Internals::getElementByIdInTreeScope):
  44623. * testing/Internals.h:
  44624. * testing/Internals.idl:
  44625. 2011-08-01 Yury Semikhatsky <yurys@chromium.org>
  44626. Web Inspector: typing an expression in an iframe leads to multiple "Unsafe JavaScript attempt to access frame..." errors
  44627. https://bugs.webkit.org/show_bug.cgi?id=65457
  44628. Console completions are now done using evaluation which returns a JSON object with all property names rather than a remote
  44629. object. Also Runtime.evaluate and Runtime.callFunctionOn commands were extended with an optional parameter that allows to
  44630. get result as JSON value.
  44631. Reviewed by Pavel Feldman.
  44632. Test: http/tests/inspector/console-cd-completions.html
  44633. * inspector/InjectedScript.cpp:
  44634. (WebCore::InjectedScript::evaluate):
  44635. (WebCore::InjectedScript::callFunctionOn):
  44636. * inspector/InjectedScript.h:
  44637. * inspector/InjectedScriptSource.js:
  44638. (.):
  44639. ():
  44640. * inspector/Inspector.json:
  44641. * inspector/InspectorRuntimeAgent.cpp:
  44642. (WebCore::asBool):
  44643. (WebCore::InspectorRuntimeAgent::evaluate):
  44644. (WebCore::InspectorRuntimeAgent::callFunctionOn):
  44645. * inspector/InspectorRuntimeAgent.h:
  44646. * inspector/front-end/ConsoleView.js:
  44647. (WebInspector.ConsoleView.prototype._completions.evaluated.getCompletions):
  44648. (WebInspector.ConsoleView.prototype._completions.evaluated):
  44649. (WebInspector.ConsoleView.prototype._completions.receivedPropertySet):
  44650. (WebInspector.ConsoleView.prototype._completions):
  44651. (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
  44652. * inspector/front-end/RemoteObject.js:
  44653. (WebInspector.RemoteObject):
  44654. (WebInspector.RemoteObject.prototype.callFunction):
  44655. (WebInspector.RemoteObject.prototype.callFunctionJSON):
  44656. * inspector/front-end/WatchExpressionsSidebarPane.js:
  44657. (WebInspector.WatchExpressionsSection.prototype.update):
  44658. 2011-08-01 Mihnea Ovidenie <mihnea@adobe.com>
  44659. BORDER attribute with the object tag, using percentage values not working.
  44660. https://bugs.webkit.org/show_bug.cgi?id=65176
  44661. Reviewed by Hajime Morita.
  44662. When border presentational attribute for object element has % in it, it should be parsed using HTML parser rules.
  44663. Test: fast/borders/border-width-percent.html
  44664. * html/HTMLElement.cpp:
  44665. (WebCore::HTMLElement::parseBorderWidthAttribute):
  44666. * html/HTMLElement.h:
  44667. * html/HTMLImageElement.cpp:
  44668. * html/HTMLObjectElement.cpp:
  44669. (WebCore::HTMLObjectElement::parseMappedAttribute):
  44670. 2011-08-01 Yuta Kitamura <yutak@chromium.org>
  44671. WebSocket: Receive URL and subprotocol in WebSocketChannel::connect()
  44672. https://bugs.webkit.org/show_bug.cgi?id=65367
  44673. Reviewed by Kent Tamura.
  44674. To implement multiple subprotocols support (bug 65247), WebSocket::connect() will need to validate
  44675. the value of subprotocols after constructing WebSocketChannel, because the result depends on which
  44676. WebSocket protocol is used, which is obtained from WebSocketChannel::useHixie76Protocol(). This
  44677. means the subprotocol value will not be available at the time of WebSocketChannel construction.
  44678. This change moves URL and subprotocol arguments in WebSocketChannel constructor to
  44679. WebSocketChannel::connect(), which allows WebSocket::connect() function to check the subprotocol
  44680. value before the actual connection is established.
  44681. Relocating URL argument is technically not necessary, but seemed legitimate in terms of functional
  44682. correspondence between WebSocket and WebSocketChannel (constructor versus connect()).
  44683. No change in behavior, thus no new tests.
  44684. * websockets/ThreadableWebSocketChannel.cpp:
  44685. Remove "url" and "protocol" arguments from constructor and add them in connect().
  44686. (WebCore::ThreadableWebSocketChannel::create):
  44687. * websockets/ThreadableWebSocketChannel.h:
  44688. * websockets/WebSocket.cpp:
  44689. (WebCore::WebSocket::connect):
  44690. * websockets/WebSocketChannel.cpp: Same as ThreadableWebSocketChannel.
  44691. (WebCore::WebSocketChannel::WebSocketChannel):
  44692. (WebCore::WebSocketChannel::connect):
  44693. InspectorInstrumentation::didCreateWebSocket() call was moved to connect() because it needs URL.
  44694. This does not change behavior, because connect() is guaranteed to be called immediately after
  44695. WebSocketChannel is constructed.
  44696. * websockets/WebSocketChannel.h:
  44697. (WebCore::WebSocketChannel::create):
  44698. * websockets/WorkerThreadableWebSocketChannel.cpp: Same as ThreadableWebSocketChannel.
  44699. (WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel):
  44700. (WebCore::WorkerThreadableWebSocketChannel::connect):
  44701. (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
  44702. (WebCore::WorkerThreadableWebSocketChannel::Peer::connect):
  44703. (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
  44704. (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
  44705. (WebCore::WorkerThreadableWebSocketChannel::mainThreadConnect):
  44706. (WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
  44707. * websockets/WorkerThreadableWebSocketChannel.h:
  44708. (WebCore::WorkerThreadableWebSocketChannel::create):
  44709. (WebCore::WorkerThreadableWebSocketChannel::Peer::create):
  44710. (WebCore::WorkerThreadableWebSocketChannel::Bridge::create):
  44711. 2011-08-01 Luke Macpherson <macpherson@chromium.org>
  44712. Add iterator to CSSValueList
  44713. https://bugs.webkit.org/show_bug.cgi?id=65297
  44714. Reviewed by Darin Adler.
  44715. No new tests / refactoring only.
  44716. * css/CSSPrimitiveValue.h:
  44717. (WebCore::CSSPrimitiveValue::isLength):
  44718. Add shorthand to determine if this primitive value is a length.
  44719. * css/CSSStyleSelector.cpp:
  44720. Use CSSValueListIterator throughout.
  44721. (WebCore::CSSStyleSelector::applyProperty):
  44722. (WebCore::CSSStyleSelector::applyPageSizeProperty):
  44723. (WebCore::CSSStyleSelector::createTransformOperations):
  44724. * css/CSSValueList.cpp:
  44725. (WebCore::CSSValueList::copy):
  44726. Use itemWithoutBoundsCheck() instead of item().
  44727. * css/CSSValueList.h:
  44728. Add CSSValueListIterator and CSSValueListInspector class definitions.
  44729. (WebCore::CSSValueList::item)
  44730. Provide inline definition of item.
  44731. (WebCore::CSSValueListIterator::CSSValueListIterator):
  44732. (WebCore::CSSValueListIterator::hasMore):
  44733. Return true if there are more values to consume, including the current value.
  44734. (WebCore::CSSValueListIterator::value):
  44735. Return the value at the current position.
  44736. (WebCore::CSSValueListIterator::next):
  44737. Move the iterator forward to the next item.
  44738. (WebCore::CSSValueListIterator::index):
  44739. Return the current position in the list.
  44740. (WebCore::CSSValueListInspector::item):
  44741. Return the item at a given index.
  44742. (WebCore::CSSValueListInspector::first):
  44743. Return the first item in the list.
  44744. (WebCore::CSSValueListInspector::second):
  44745. Return the second item in the list.
  44746. (WebCore::CSSValueListInspector::length):
  44747. Return the size of the underlying list.
  44748. 2011-08-01 Pavel Feldman <pfeldman@google.com>
  44749. Web Inspector: group scripts by folder in the scripts selector.
  44750. https://bugs.webkit.org/show_bug.cgi?id=65321
  44751. Reviewed by Yury Semikhatsky.
  44752. Test: inspector/debugger/scripts-sorting.html
  44753. * inspector/front-end/ScriptsPanel.js:
  44754. (WebInspector.ScriptsPanel.prototype._sourceFileAdded.get if):
  44755. (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered.optionCompare):
  44756. (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered):
  44757. (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
  44758. (WebInspector.ScriptsPanel.prototype._folderAndDisplayNameForScriptURL):
  44759. (WebInspector.ScriptsPanel.prototype.reset):
  44760. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
  44761. 2011-07-28 Pavel Feldman <pfeldman@google.com>
  44762. Web Inspector: [protocol] methods where all parameters are optional should not require empty params object.
  44763. https://bugs.webkit.org/show_bug.cgi?id=65331
  44764. Reviewed by Yury Semikhatsky.
  44765. * inspector/CodeGeneratorInspector.pm:
  44766. (generateBackendFunction):
  44767. (generateArgumentGetters):
  44768. 2011-08-01 Adam Barth <abarth@webkit.org>
  44769. application/json MIME type shouldn't cause warnings in <script> tags
  44770. https://bugs.webkit.org/show_bug.cgi?id=65448
  44771. Reviewed by Pavel Feldman.
  44772. This patch stops the web inspector from logging a ton of spam warnings
  44773. when a web page uses a JSONP service (which points script tags at
  44774. application/json resources).
  44775. * inspector/front-end/inspector.js:
  44776. (WebInspector.reset):
  44777. 2011-08-01 Yuta Kitamura <yutak@chromium.org>
  44778. WebSocket: Rename SocketStreamHandleClient member functions
  44779. https://bugs.webkit.org/show_bug.cgi?id=65374
  44780. Reviewed by Kent Tamura.
  44781. Rename SocketStreamHandleClient member functions to avoid conflict of the names of
  44782. FileReaderLoaderClient functions.
  44783. No change in behavior, thus no new tests are added.
  44784. * platform/network/SocketStreamHandleClient.h:
  44785. (WebCore::SocketStreamHandleClient::didOpenSocketStream):
  44786. (WebCore::SocketStreamHandleClient::didCloseSocketStream):
  44787. (WebCore::SocketStreamHandleClient::didReceiveSocketStreamData):
  44788. (WebCore::SocketStreamHandleClient::didFailSocketStream):
  44789. * platform/network/brew/SocketStreamHandleBrew.cpp:
  44790. (WebCore::SocketStreamHandlePrivate::socketConnected):
  44791. (WebCore::SocketStreamHandlePrivate::socketReadyRead):
  44792. (WebCore::SocketStreamHandlePrivate::socketClosed):
  44793. (WebCore::SocketStreamHandlePrivate::socketError):
  44794. * platform/network/cf/SocketStreamHandleCFNet.cpp:
  44795. (WebCore::SocketStreamHandle::addCONNECTCredentials):
  44796. (WebCore::SocketStreamHandle::readStreamCallback):
  44797. (WebCore::SocketStreamHandle::writeStreamCallback):
  44798. (WebCore::SocketStreamHandle::reportErrorToClient):
  44799. (WebCore::SocketStreamHandle::platformClose):
  44800. * platform/network/qt/SocketStreamHandleQt.cpp:
  44801. (WebCore::SocketStreamHandlePrivate::socketConnected):
  44802. (WebCore::SocketStreamHandlePrivate::socketReadyRead):
  44803. (WebCore::SocketStreamHandlePrivate::socketClosedCallback):
  44804. (WebCore::SocketStreamHandlePrivate::socketErrorCallback):
  44805. * platform/network/soup/SocketStreamHandleSoup.cpp:
  44806. (WebCore::SocketStreamHandle::connected):
  44807. (WebCore::SocketStreamHandle::readBytes):
  44808. (WebCore::SocketStreamHandle::platformSend):
  44809. (WebCore::SocketStreamHandle::platformClose):
  44810. * websockets/WebSocketChannel.cpp:
  44811. (WebCore::WebSocketChannel::didOpenSocketStream):
  44812. (WebCore::WebSocketChannel::didCloseSocketStream):
  44813. (WebCore::WebSocketChannel::didReceiveSocketStreamData):
  44814. (WebCore::WebSocketChannel::didFailSocketStream):
  44815. (WebCore::WebSocketChannel::resumeTimerFired):
  44816. * websockets/WebSocketChannel.h:
  44817. 2011-07-31 Sheriff Bot <webkit.review.bot@gmail.com>
  44818. Unreviewed, rolling out r92094.
  44819. http://trac.webkit.org/changeset/92094
  44820. https://bugs.webkit.org/show_bug.cgi?id=65443
  44821. Triggered many asserts (Requested by abarth on #webkit).
  44822. * dom/EventDispatcher.cpp:
  44823. (WebCore::EventDispatcher::dispatchEvent):
  44824. 2011-07-31 Dominic Cooney <dominicc@chromium.org>
  44825. Event target set to null post event dispatch
  44826. https://bugs.webkit.org/show_bug.cgi?id=63934
  44827. Reviewed by Dimitri Glazkov.
  44828. Test: fast/events/event-target-reset.html
  44829. * dom/EventDispatcher.cpp:
  44830. (WebCore::EventDispatcher::dispatchEvent): Reset target to outermost
  44831. shadow host.
  44832. 2011-07-31 Sam Weinig <sam@webkit.org>
  44833. REGRESSION: getBoundingClientRect() method of Range incorrectly returns null for collapsed Range
  44834. https://bugs.webkit.org/show_bug.cgi?id=65324
  44835. Reviewed by Ryosuke Niwa.
  44836. Update to more closely match the spec.
  44837. * dom/Range.cpp:
  44838. (WebCore::Range::getClientRects):
  44839. Return an empty ClientRectList instead of null when the range is empty.
  44840. (WebCore::Range::getBoundingClientRect):
  44841. Always return a ClientRect, even for an empty bounding rect.
  44842. 2011-07-29 Ryosuke Niwa <rniwa@webkit.org>
  44843. [HTML5] Implement the selectionDirection property on input and textarea
  44844. https://bugs.webkit.org/show_bug.cgi?id=60403
  44845. Reviewed by Darin Adler.
  44846. Implements selectionDirection property as specified in HTML5 section 4.10.20:
  44847. http://www.whatwg.org/specs/web-apps/current-work/#textFieldSelection
  44848. selectionDirection is a property on input and textarea elements, which, on getting returns either "none",
  44849. "forward", or "backward" corresponding to the current selection direction, and on setting, modifies
  44850. the direction of the current selection. When selection doesn't exist or direction is unknown, "none"
  44851. is returned on getting. Setting the property value to neither of above values will result in setting "none".
  44852. This patch also adds the optional third argument, direction, to setSelectionRange.
  44853. Test: fast/forms/selection-direction.html
  44854. fast/forms/selection-wrongtype.html
  44855. * bindings/js/JSHTMLInputElementCustom.cpp:
  44856. (WebCore::JSHTMLInputElement::selectionDirection): Added.
  44857. (WebCore::JSHTMLInputElement::setSelectionDirection): Added.
  44858. (WebCore::JSHTMLInputElement::setSelectionRange): Processes the third argument.
  44859. * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
  44860. (WebCore::V8HTMLInputElement::selectionDirectionAccessorGetter): Added.
  44861. (WebCore::V8HTMLInputElement::selectionDirectionAccessorSetter): Added.
  44862. (WebCore::V8HTMLInputElement::setSelectionRangeCallback): Processes the third argument.
  44863. * html/HTMLTextAreaElement.cpp:
  44864. (WebCore::HTMLTextAreaElement::updateFocusAppearance): Calls hasCachedSelection.
  44865. * html/HTMLInputElement.cpp:
  44866. (WebCore::HTMLInputElement::updateFocusAppearance): Ditto.
  44867. (WebCore::HTMLInputElement::setValue): Calls cacheSelection with SelectionHasNoDirection.
  44868. * html/HTMLTextAreaElement.idl: Added selectionDirection and the third argument to setSelectionRange.
  44869. * html/HTMLInputElement.idl: Ditto.
  44870. * html/HTMLTextFormControlElement.cpp:
  44871. (WebCore::HTMLTextFormControlElement::HTMLTextFormControlElement): Initializes
  44872. m_cachedSelectionDirection.
  44873. (WebCore::HTMLTextFormControlElement::setSelectionStart): Calls setSelectionRange.
  44874. (WebCore::HTMLTextFormControlElement::setSelectionEnd): Ditto.
  44875. (WebCore::HTMLTextFormControlElement::setSelectionDirection): Added.
  44876. (WebCore::HTMLTextFormControlElement::select): Calls setSelectionRange with SelectionHasNoDirection.
  44877. (WebCore::HTMLTextFormControlElement::setSelectionRange): Added the version that takes direction
  44878. string as the third argument, which calls the version that takes two ints and TextFieldSelectionDirection.
  44879. (WebCore::HTMLTextFormControlElement::selectionStart): Calls hasCachedSelection.
  44880. (WebCore::HTMLTextFormControlElement::selectionEnd): Ditto.
  44881. (WebCore::directionString): Added.
  44882. (WebCore::HTMLTextFormControlElement::selectionDirection): Added.
  44883. (WebCore::HTMLTextFormControlElement::computeSelectionDirection): Added.
  44884. (WebCore::HTMLTextFormControlElement::selection): Calls hasCachedSelection.
  44885. (WebCore::HTMLTextFormControlElement::restoreCachedSelection): Calls setSelectionRange.
  44886. (WebCore::HTMLTextFormControlElement::selectionChanged): Calls cacheSelection.
  44887. * html/HTMLTextFormControlElement.h:
  44888. (WebCore::HTMLTextFormControlElement::cacheSelection): Takes TextFieldSelectionDirection.
  44889. (WebCore::HTMLTextFormControlElement::hasCachedSelection): Extracted from hasCachedSelectionStart;
  44890. cacheSelection is the only function that modifies m_cacheSelectionStart and m_cacheSelectionEnd
  44891. and none of its callers ever set one of them be -1 so they are always both -1 or both non-negative.
  44892. Thus, having two separate functions for m_cacheSelectionStart and m_cacheSelectionEnd was redundant.
  44893. 2011-07-31 Daniel Bates <dbates@webkit.org>
  44894. [GTK] Remove unused variable coreChild in WebCore::getChildForTable()
  44895. https://bugs.webkit.org/show_bug.cgi?id=65427
  44896. This variable was unused when it was initially added in <http://trac.webkit.org/changeset/89660> (bug #62718)
  44897. and it is unused today. We should remove it. This will also resolve a compiler warning.
  44898. Reviewed by Xan Lopez.
  44899. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
  44900. (getChildForTable):
  44901. 2011-07-30 Daniel Bates <dbates@webkit.org>
  44902. Fix the WinCairo Debug build after <http://trac.webkit.org/changeset/91914>
  44903. (https://bugs.webkit.org/show_bug.cgi?id=64744)
  44904. * WebCore.vcproj/WebCore.vcproj: Remove ContextShadowCairo.cpp from the build since this
  44905. file was deleted in <http://trac.webkit.org/changeset/91914>.
  44906. 2011-07-30 Daniel Bates <dbates@webkit.org>
  44907. Fix the Chromium Linux Release Flexbot build after <http://trac.webkit.org/changeset/92004>
  44908. (https://bugs.webkit.org/show_bug.cgi?id=65342)
  44909. * rendering/RenderFlexibleBox.cpp:
  44910. (WebCore::RenderFlexibleBox::layoutBlock): Update the definition of RenderFlexibleBox::layoutBlock()
  44911. to be consistent with its declaration in RenderFlexibleBox.h; Add argument layoutPass of type BlockLayoutPass.
  44912. 2011-07-30 Adam Barth <abarth@webkit.org>
  44913. Update run-bindings-tests results after
  44914. http://trac.webkit.org/changeset/92068
  44915. * bindings/scripts/test/JS/JSTestCallback.cpp:
  44916. 2011-07-30 Patrick Gansterer <paroga@webkit.org>
  44917. Remove inclusion of MainThread.h from Threading.h
  44918. https://bugs.webkit.org/show_bug.cgi?id=65081
  44919. Reviewed by Darin Adler.
  44920. Add missing include statements for MainThread.
  44921. * bindings/js/DOMWrapperWorld.cpp:
  44922. * bindings/js/JSDOMWindowBase.cpp:
  44923. * bindings/scripts/CodeGeneratorJS.pm:
  44924. (GenerateCallbackImplementation):
  44925. * bindings/v8/DOMDataStore.cpp:
  44926. * bindings/v8/DOMWrapperWorld.cpp:
  44927. * bindings/v8/V8Binding.cpp:
  44928. * bindings/v8/V8DOMMap.cpp:
  44929. * bindings/v8/V8DOMWrapper.h:
  44930. * dom/EventTarget.cpp:
  44931. * fileapi/LocalFileSystem.cpp:
  44932. * loader/CrossOriginPreflightResultCache.cpp:
  44933. * loader/ResourceLoadScheduler.cpp:
  44934. * loader/WorkerThreadableLoader.cpp:
  44935. * loader/appcache/ApplicationCacheGroup.cpp:
  44936. * page/DOMWindow.cpp:
  44937. * page/History.cpp:
  44938. * page/SecurityOrigin.cpp:
  44939. * page/mac/EventHandlerMac.mm:
  44940. * platform/MIMETypeRegistry.cpp:
  44941. * platform/ThreadGlobalData.cpp:
  44942. * platform/ThreadTimers.cpp:
  44943. * platform/TreeShared.h:
  44944. * platform/audio/HRTFDatabaseLoader.cpp:
  44945. * platform/graphics/Font.cpp:
  44946. * platform/graphics/FontFallbackList.h:
  44947. * platform/graphics/FontFastPath.cpp:
  44948. * platform/graphics/Image.cpp:
  44949. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
  44950. * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
  44951. * platform/graphics/cg/ImageBufferCG.cpp:
  44952. * platform/graphics/chromium/LayerRendererChromium.cpp:
  44953. * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
  44954. * platform/mac/LocalizedStringsMac.mm:
  44955. * platform/mac/SharedBufferMac.mm:
  44956. * platform/network/BlobResourceHandle.cpp:
  44957. * platform/network/cf/DNSCFNet.cpp:
  44958. * platform/network/cf/LoaderRunLoopCF.cpp:
  44959. * platform/text/LocalizedNumberICU.cpp:
  44960. * platform/text/TextEncodingRegistry.cpp:
  44961. * platform/text/mac/LocalizedNumberMac.mm:
  44962. * platform/win/LocalizedStringsWin.cpp:
  44963. * storage/LocalStorageThread.cpp:
  44964. * storage/StorageAreaImpl.cpp:
  44965. * storage/StorageAreaSync.cpp:
  44966. * storage/StorageNamespaceImpl.cpp:
  44967. * storage/StorageSyncManager.cpp:
  44968. * webaudio/AsyncAudioDecoder.cpp:
  44969. * webaudio/AudioBufferSourceNode.cpp:
  44970. * webaudio/AudioContext.h
  44971. * webaudio/AudioContext.cpp:
  44972. * webaudio/AudioNode.cpp:
  44973. * webaudio/ConvolverNode.cpp:
  44974. * webaudio/OfflineAudioDestinationNode.cpp:
  44975. * webaudio/RealtimeAnalyser.cpp:
  44976. * webaudio/WaveShaperNode.cpp:
  44977. * websockets/WorkerThreadableWebSocketChannel.cpp:
  44978. * workers/WorkerMessagingProxy.cpp:
  44979. 2011-07-30 Enrica Casucci <enrica@apple.com>
  44980. REGRESSION: culledInlineAbsoluteRects needs to translate a 0,0 point to absolute
  44981. coordinates so that the top left position is accurate.
  44982. https://bugs.webkit.org/show_bug.cgi?id=65419
  44983. <rdar://problem/9408862>
  44984. This patch fixes a regression introduced in r83075.
  44985. Make sure that culledInlineAbsoluteRects still does
  44986. a translation of a 0,0 point to absolute coordinates so that the top left position is
  44987. accurate.
  44988. This code path could not be tested via JavaScript. The patch
  44989. extends the Internals object to be able to test this case.
  44990. Reviewed by Dan Bernstein.
  44991. Test: fast/inline/skipped-whitespace-boundingBox.html
  44992. * WebCore.exp.in: Added some exports.
  44993. * rendering/RenderInline.cpp:
  44994. (WebCore::RenderInline::culledInlineAbsoluteRects):
  44995. * testing/Internals.cpp:
  44996. (WebCore::Internals::boundingBox):
  44997. * testing/Internals.h:
  44998. * testing/Internals.idl:
  44999. 2011-07-26 Pavel Podivilov <podivilov@chromium.org>
  45000. Web Inspector: move location conversion functions to SourceFile.
  45001. https://bugs.webkit.org/show_bug.cgi?id=65185
  45002. Reviewed by Pavel Feldman.
  45003. Test: inspector/debugger/source-file.html
  45004. * inspector/front-end/DebuggerPresentationModel.js:
  45005. (WebInspector.DebuggerPresentationModel.prototype._scriptLocationToUILocation.didCreateSourceMapping):
  45006. (WebInspector.DebuggerPresentationModel.prototype._scriptLocationToUILocation):
  45007. (WebInspector.DebuggerPresentationModel.prototype._uiLocationToScriptLocation.didCreateSourceMapping):
  45008. (WebInspector.DebuggerPresentationModel.prototype._uiLocationToScriptLocation):
  45009. * inspector/front-end/SourceFile.js:
  45010. (WebInspector.SourceFile.prototype.rawLocationToUILocation):
  45011. (WebInspector.SourceFile.prototype.uiLocationToRawLocation):
  45012. (WebInspector.SourceFile.prototype._scriptForRawLocation):
  45013. (WebInspector.SourceFile.prototype.createSourceMappingIfNeeded):
  45014. (WebInspector.FormattedSourceFile.prototype.createSourceMappingIfNeeded):
  45015. (WebInspector.FormattedSourceFile.prototype._didRequestContent):
  45016. 2011-07-29 Rob Buis <rbuis@rim.com>
  45017. URL references are completely broken in SVG
  45018. https://bugs.webkit.org/show_bug.cgi?id=63283
  45019. Reviewed by Nikolas Zimmermann.
  45020. Change SVGURIElement::getTarget to be more strict about iri resolving and make it serve as a central
  45021. place to resolve a iri to a SVGElement. The iri can be same-document or external, for now we only handle
  45022. the former, the latter will be handled in bug 65344.
  45023. Accept as same-document if the iri combined with the base uri equals the document url (ignoring
  45024. the fragment identifier). For convenience a method is added to lookup the element, if found.
  45025. Tests: svg/custom/external-paintserver-reference.svg
  45026. svg/custom/linking-base-external-reference.xhtml
  45027. svg/custom/uri-reference-handling.svg
  45028. * css/CSSCursorImageValue.cpp:
  45029. (WebCore::resourceReferencedByCursorElement):
  45030. (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
  45031. (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
  45032. * css/CSSFontFaceSource.cpp:
  45033. (WebCore::CSSFontFaceSource::getFontData):
  45034. * css/CSSFontSelector.h:
  45035. (WebCore::CSSFontSelector::document):
  45036. * css/SVGCSSStyleSelector.cpp:
  45037. (WebCore::CSSStyleSelector::applySVGProperty):
  45038. * rendering/svg/RenderSVGTextPath.cpp:
  45039. (WebCore::RenderSVGTextPath::layoutPath):
  45040. * rendering/svg/SVGResources.cpp:
  45041. (WebCore::targetReferenceFromResource):
  45042. (WebCore::paintingResourceFromSVGPaint):
  45043. * svg/SVGAltGlyphElement.cpp:
  45044. (WebCore::SVGAltGlyphElement::hasValidGlyphElements):
  45045. * svg/SVGFEImageElement.cpp:
  45046. (WebCore::SVGFEImageElement::requestImageResource):
  45047. (WebCore::SVGFEImageElement::build):
  45048. * svg/SVGGlyphRefElement.cpp:
  45049. (WebCore::SVGGlyphRefElement::hasValidGlyphElement):
  45050. * svg/SVGLinearGradientElement.cpp:
  45051. (WebCore::SVGLinearGradientElement::collectGradientAttributes):
  45052. * svg/SVGMPathElement.cpp:
  45053. (WebCore::SVGMPathElement::pathElement):
  45054. * svg/SVGPaint.cpp:
  45055. (WebCore::SVGPaint::matchesTargetURI):
  45056. * svg/SVGPatternElement.cpp:
  45057. (WebCore::SVGPatternElement::collectPatternAttributes):
  45058. * svg/SVGRadialGradientElement.cpp:
  45059. (WebCore::SVGRadialGradientElement::collectGradientAttributes):
  45060. * svg/SVGTRefElement.cpp:
  45061. (WebCore::SVGTRefElement::updateReferencedText):
  45062. (WebCore::SVGTRefElement::svgAttributeChanged):
  45063. (WebCore::SVGTRefElement::buildPendingResource):
  45064. * svg/SVGTextPathElement.cpp:
  45065. (WebCore::SVGTextPathElement::insertedIntoDocument):
  45066. * svg/SVGURIReference.cpp:
  45067. (WebCore::SVGURIReference::fragmentIdentifierFromIRIString):
  45068. (WebCore::SVGURIReference::targetElementFromIRIString):
  45069. * svg/SVGURIReference.h:
  45070. * svg/SVGUseElement.cpp:
  45071. (WebCore::SVGUseElement::buildPendingResource):
  45072. (WebCore::SVGUseElement::hasCycleUseReferencing):
  45073. (WebCore::SVGUseElement::expandUseElementsInShadowTree):
  45074. * svg/animation/SVGSMILElement.cpp:
  45075. (WebCore::SVGSMILElement::targetElement):
  45076. 2011-07-29 James Simonsen <simonjam@chromium.org>
  45077. Remove zipcar.com site specific hack added in r87361
  45078. https://bugs.webkit.org/show_bug.cgi?id=65405
  45079. Reviewed by Adam Barth.
  45080. * html/HTMLScriptElement.cpp:
  45081. (WebCore::HTMLScriptElement::insertedIntoDocument):
  45082. 2011-07-29 James Robinson <jamesr@chromium.org>
  45083. [chromium] Reorder functions in LayerRendererChromium.cpp to make bug 58840 easier to review
  45084. https://bugs.webkit.org/show_bug.cgi?id=65354
  45085. Reviewed by Kenneth Russell.
  45086. This moves a few function definitions in LayerRendererChromium around to make the patch on bug 58840 easier to
  45087. review. In that patch, updatePropertiesAndRenderSurfaces() becomes a templated free function instead of a
  45088. member function, so it has to be near the top of the .cpp.
  45089. * platform/graphics/chromium/LayerRendererChromium.cpp:
  45090. (WebCore::calculateVisibleRect):
  45091. (WebCore::isScaleOrTranslation):
  45092. (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
  45093. (WebCore::LayerRendererChromium::updateLayers):
  45094. 2011-07-29 Jeff Miller <jeffm@apple.com>
  45095. Work-in-progress on Adopt AVCF media back end on Windows
  45096. https://bugs.webkit.org/show_bug.cgi?id=65400
  45097. <rdar://problem/9083559>
  45098. Prepare WebCore.vcproj to support AVCF media back end on Windows.
  45099. Reviewed by Darin Adler.
  45100. No changes to functionality so no new tests.
  45101. * WebCore.vcproj/WebCore.vcproj: Added MediaPlayerPrivateAVFoundation and MediaPlayerPrivateAVFoundationCF sources.
  45102. * WebCore.vcproj/WebCoreMediaQT.vsprops: Added additional include directories and dleay load DLLs for AVCF.
  45103. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp: Added, just a stub for now.
  45104. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.h: Added, just a stub for now.
  45105. 2011-07-29 Jeff Miller <jeffm@apple.com>
  45106. Work-in-progress on Adopt AVCF media back end on Windows
  45107. https://bugs.webkit.org/show_bug.cgi?id=65400
  45108. <rdar://problem/9083559>
  45109. Make MediaPlayerPrivateAVFoundation::setDelayCallbacks() const and make the ivars
  45110. it references mutable so other const member functions can call it.
  45111. Reviewed by Darin Adler.
  45112. No changes to functionality so no new tests.
  45113. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
  45114. (WebCore::MediaPlayerPrivateAVFoundation::setDelayCallbacks):
  45115. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  45116. 2011-07-29 Zhenyao Mo <zmo@google.com>
  45117. Unreviewed, rolling out r92011.
  45118. http://trac.webkit.org/changeset/92011
  45119. https://bugs.webkit.org/show_bug.cgi?id=65044
  45120. break chromium win build
  45121. * dom/WheelEvent.cpp:
  45122. (WebCore::WheelEvent::WheelEvent):
  45123. (WebCore::WheelEvent::initWheelEvent):
  45124. * dom/WheelEvent.h:
  45125. * page/EventHandler.cpp:
  45126. (WebCore::EventHandler::EventHandler):
  45127. (WebCore::EventHandler::handleGestureEvent):
  45128. (WebCore::EventHandler::handleTouchEvent):
  45129. (WebCore::EventHandler::resetGestureRecognizer):
  45130. * page/EventHandler.h:
  45131. * page/FrameView.cpp:
  45132. (WebCore::FrameView::reset):
  45133. * platform/PlatformGestureEvent.h:
  45134. * platform/PlatformGestureRecognizer.h:
  45135. * platform/ScrollAnimatorWin.cpp:
  45136. * platform/chromium/FramelessScrollView.h:
  45137. * platform/chromium/GestureRecognizerChromium.cpp:
  45138. (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
  45139. (WebCore::InnerGestureRecognizer::reset):
  45140. (WebCore::InnerGestureRecognizer::dispatchSyntheticClick):
  45141. (WebCore::InnerGestureRecognizer::processTouchEventForGesture):
  45142. (WebCore::InnerGestureRecognizer::scrollViaTouchMotion):
  45143. (WebCore::touchDown):
  45144. (WebCore::noGesture):
  45145. (WebCore::click):
  45146. (WebCore::isClickOrScroll):
  45147. (WebCore::inScroll):
  45148. * platform/chromium/GestureRecognizerChromium.h:
  45149. (WebCore::GestureRecognizerChromium::reset):
  45150. (WebCore::GestureRecognizerChromium::processTouchEventForGesture):
  45151. * platform/chromium/PopupMenuChromium.cpp:
  45152. * platform/chromium/PopupMenuChromium.h:
  45153. * platform/mac/ScrollAnimatorMac.mm:
  45154. (WebCore::ScrollAnimatorMac::handleGestureEvent):
  45155. 2011-07-29 Adrienne Walker <enne@google.com>
  45156. [chromium] Only force slow scrolling for iframes under --force-compositing-mode
  45157. https://bugs.webkit.org/show_bug.cgi?id=65394
  45158. Reviewed by James Robinson.
  45159. The previous code introduced by r91591 made composited frames as well
  45160. as non-composited subframes go down the slow scrolling path. Adjust
  45161. the check to use ownerElement to test for subframe and use
  45162. hasCompositedContent() which is a more correct test for compositing
  45163. than isEnclosedInCompositingLayer.
  45164. * page/FrameView.cpp:
  45165. (WebCore::FrameView::useSlowRepaints):
  45166. 2011-07-29 Emil A Eklund <eae@chromium.org>
  45167. -webkit-marquee with anonymous node causes segmentation fault in Node::document
  45168. https://bugs.webkit.org/show_bug.cgi?id=64693
  45169. Reviewed by Simon Fraser.
  45170. Test: fast/css/webkit-marquee-anonymous-node-crash.html
  45171. * rendering/RenderLayer.cpp:
  45172. (WebCore::RenderLayer::scrollTo):
  45173. Add null check as renderer()->node() is null for anonymous nodes.
  45174. 2011-07-29 Mike Reed <reed@google.com>
  45175. [skia] never draw with GDI, so that all text can be gpu-accelerated
  45176. https://bugs.webkit.org/show_bug.cgi?id=65203
  45177. Reviewed by Kenneth Russell.
  45178. * platform/graphics/chromium/FontChromiumWin.cpp:
  45179. (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
  45180. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
  45181. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
  45182. (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
  45183. (WebCore::drawGlyphsWin):
  45184. (WebCore::Font::drawComplexText):
  45185. * platform/graphics/chromium/UniscribeHelper.cpp:
  45186. (WebCore::UniscribeHelper::draw):
  45187. * platform/graphics/skia/PlatformContextSkia.cpp:
  45188. * platform/graphics/skia/PlatformContextSkia.h:
  45189. * platform/graphics/skia/SkiaFontWin.cpp:
  45190. * platform/graphics/skia/SkiaFontWin.h:
  45191. 2011-07-29 Sam Weinig <sam@webkit.org>
  45192. Move Region code from WebKit2 to WebCore
  45193. https://bugs.webkit.org/show_bug.cgi?id=65392
  45194. Reviewed by David Hyatt.
  45195. * CMakeLists.txt:
  45196. * GNUmakefile.list.am:
  45197. * WebCore.gypi:
  45198. * WebCore.pro:
  45199. * WebCore.vcproj/WebCore.vcproj:
  45200. * WebCore.xcodeproj/project.pbxproj:
  45201. Update project files.
  45202. * WebCore.exp.in:
  45203. Update exports.
  45204. * platform/graphics/Region.cpp: Copied from Source/WebKit2/Platform/Region.cpp.
  45205. * platform/graphics/Region.h: Copied from Source/WebKit2/Platform/Region.h.
  45206. Add files.
  45207. 2011-07-29 Robert Kroeger <rjkroege@chromium.org>
  45208. [chromium] Layering violations in gesture recognizer
  45209. https://bugs.webkit.org/show_bug.cgi?id=65044
  45210. Reviewed by Adam Barth.
  45211. Divided the gesture recognizer up to correct a layering
  45212. violation by moving gesture implementation from it to
  45213. EventHandler::handleGestureEvent so that the gesture recognizer
  45214. could simply be an engine for generating gesture events from
  45215. touch events.
  45216. * dom/WheelEvent.cpp:
  45217. (WebCore::WheelEvent::WheelEvent):
  45218. (WebCore::WheelEvent::initWheelEvent):
  45219. * dom/WheelEvent.h:
  45220. Added symbolic contstant for tick multiplier.
  45221. * page/EventHandler.cpp:
  45222. (WebCore::EventHandler::EventHandler):
  45223. Removed construction of gesture recognizer.
  45224. (WebCore::EventHandler::handleGestureEvent):
  45225. Extended for new gesture events added in this patch.
  45226. (WebCore::EventHandler::handleTouchEvent):
  45227. Removed call into gesture recognizer.
  45228. * page/EventHandler.h:
  45229. * page/FrameView.cpp:
  45230. (WebCore::FrameView::reset):
  45231. Removed code to reset gesture recognizer.
  45232. * platform/PlatformGestureEvent.h:
  45233. (WebCore::PlatformGestureEvent::PlatformGestureEvent):
  45234. (WebCore::PlatformGestureEvent::deltaX):
  45235. (WebCore::PlatformGestureEvent::deltaY):
  45236. (WebCore::PlatformGestureEvent::shiftKey):
  45237. (WebCore::PlatformGestureEvent::ctrlKey):
  45238. (WebCore::PlatformGestureEvent::altKey):
  45239. (WebCore::PlatformGestureEvent::metaKey):
  45240. Added additional gesture types and parameters.
  45241. * platform/PlatformGestureRecognizer.h:
  45242. * platform/ScrollAnimatorWin.cpp:
  45243. (WebCore::ScrollAnimatorWin::handleGestureEvent):
  45244. Added missing method needed to fix the build on windows.
  45245. * platform/chromium/FramelessScrollView.h:
  45246. Added support for displatching gesture and touch events.
  45247. * platform/chromium/GestureRecognizerChromium.cpp:
  45248. (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
  45249. (WebCore::InnerGestureRecognizer::reset):
  45250. (WebCore::InnerGestureRecognizer::constructClickGestureEvent):
  45251. (WebCore::InnerGestureRecognizer::processTouchEventForGestures):
  45252. Removed all depedencies on EventHandler. Instead, create gesture
  45253. events from touch event stream.
  45254. (WebCore::InnerGestureRecognizer::constructScrollGesture):
  45255. (WebCore::touchDown):
  45256. (WebCore::noGesture):
  45257. (WebCore::click):
  45258. (WebCore::isClickOrScroll):
  45259. (WebCore::inScroll):
  45260. (WebCore::GestureRecognizerChromium::processTouchEventForGestures):
  45261. (WebCore::GestureRecognizerChromium::reset):
  45262. * platform/chromium/GestureRecognizerChromium.h:
  45263. * platform/chromium/PopupMenuChromium.cpp:
  45264. Added support to handle touch events and gesture events.
  45265. (WebCore::PopupContainer::handleTouchEvent):
  45266. (WebCore::PopupContainer::handleGestureEvent):
  45267. (WebCore::PopupListBox::handleTouchEvent):
  45268. (WebCore::PopupListBox::handleGestureEvent):
  45269. * platform/chromium/PopupMenuChromium.h:
  45270. * platform/mac/ScrollAnimatorMac.mm:
  45271. (WebCore::ScrollAnimatorMac::handleGestureEvent):
  45272. Ignores the newly added gesture event types.
  45273. 2011-07-29 Eric Carlson <eric.carlson@apple.com>
  45274. Load delegate not consulted before loading some poster images
  45275. https://bugs.webkit.org/show_bug.cgi?id=65270
  45276. Reviewed by Joseph Pecoraro.
  45277. * html/HTMLVideoElement.cpp:
  45278. (WebCore::HTMLVideoElement::setDisplayMode): Don't ask a load delegate if it is OK to
  45279. load an empty poster url.
  45280. 2011-07-29 Jeff Miller <jeffm@apple.com>
  45281. Re-sort one more file in the WebCore project with Visual Studio.
  45282. * WebCore.vcproj/WebCore.vcproj:
  45283. 2011-07-29 Jeff Miller <jeffm@apple.com>
  45284. Re-sort the WebCore project with Visual Studio after recent changes that I assume were done by manually editing the XML.
  45285. * WebCore.vcproj/WebCore.vcproj:
  45286. 2011-07-29 Dan Bernstein <mitz@apple.com>
  45287. Added the regional indicator symbols to the set of codepoints that force use of the complex text code path.
  45288. Fixes <rdar://problem/9864578> Regional indicator symbols do not combine into national flags
  45289. https://bugs.webkit.org/show_bug.cgi?id=65380
  45290. Reviewed by Anders Carlsson.
  45291. Test: fast/text/regional-indicator-symobls.html
  45292. * platform/graphics/Font.cpp:
  45293. (WebCore::Font::codePath): Added handling of surrogate pairs, which returns Complex for characters in
  45294. the range U+1F1E6..U+1F1FF.
  45295. 2011-07-28 David Hyatt <hyatt@apple.com>
  45296. https://bugs.webkit.org/show_bug.cgi?id=65342
  45297. Add support for positioned floats being placed into a RenderBlock's FloatingObject list and for
  45298. correct propagation of those floating objects into descendants.
  45299. Reviewed by Sam Weinig.
  45300. * rendering/RenderBlock.cpp:
  45301. (WebCore::RenderBlock::layoutBlock):
  45302. The positioned float layout algorithm is 2-pass. You lay out without the positioned objects, and then
  45303. once they have been placed, you lay out again and use that placement to determine the float positions.
  45304. layoutBlock now has an extra parameter to indicate which layout pass you are in.
  45305. (WebCore::RenderBlock::addOverflowFromFloats):
  45306. Don't add overflow from positioned floats ever, since the positioning overflow function takes care of that
  45307. already.
  45308. (WebCore::RenderBlock::layoutBlockChild):
  45309. Include positioned floats in the lowestFloatLogicalBottom we look at so that overhang is computed properly.
  45310. (WebCore::RenderBlock::simplifiedLayout):
  45311. If layoutPositionedObjects indicates that a positioned float moved, then we can't do simplified layout. Bail
  45312. instead and do a full layout.
  45313. (WebCore::RenderBlock::positionedFloatsNeedRelayout):
  45314. Helper for layoutBlock in order to bypass the 2-pass model if we can detect that none of the positioned objects
  45315. will actually need to lay out again. This allows incremental layout to not always fault back to 2-pass as normal
  45316. flow content streams in.
  45317. (WebCore::RenderBlock::layoutPositionedObjects):
  45318. Modified to return a boolean indicating whether a positioned float got a layout. If so, we will lay out again
  45319. once our positioned objects are placed.
  45320. (WebCore::RenderBlock::insertFloatingObject):
  45321. insertFloatingObject can now handle positioned objects being inserted.
  45322. (WebCore::RenderBlock::positionNewFloats):
  45323. positionNewFloats doesn't attempt to position this new type of float. It only handles left/right floats.
  45324. (WebCore::RenderBlock::addPositionedFloats):
  45325. Helper to add in the floating objects for positioned floats. This is used instead of positionNewFloats and
  45326. just walks the positioned objects instead.
  45327. (WebCore::RenderBlock::clearFloats):
  45328. clearFloats now handles adding in positioned floats if the layout pass says they should be included.
  45329. (WebCore::RenderBlock::marginLogicalLeftForChild):
  45330. (WebCore::RenderBlock::marginLogicalRightForChild):
  45331. New helpers used by addPositionedFloats.
  45332. (WebCore::RenderBlock::FloatingObjects::clear):
  45333. (WebCore::RenderBlock::FloatingObjects::increaseObjectsCount):
  45334. (WebCore::RenderBlock::FloatingObjects::decreaseObjectsCount):
  45335. Make sure the object count tracking handles positioned floats as well as left/right floats.
  45336. * rendering/RenderBlock.h:
  45337. (WebCore::RenderBlock::logicalLeftForChild):
  45338. New helper used by addPositionedFloats.
  45339. (WebCore::RenderBlock::FloatingObject::FloatingObject):
  45340. Change the constructor to take the RenderStyle enum. This makes the construction simpler.
  45341. (WebCore::RenderBlock::hasPositionedFloats):
  45342. A bit tracks whether or not a block has positioned floats in its positioned objects list.
  45343. (WebCore::RenderBlock::hasOverhangingFloats):
  45344. Modified to include positioned floats.
  45345. (WebCore::RenderBlock::lowestFloatLogicalBottom):
  45346. This function excludes positioned floats by default, so that places that - for example - expand to
  45347. encompass their lowestFloatLogicalBottom won't accidentally expand to encompass positioned objects.
  45348. (WebCore::RenderBlock::lowestFloatLogicalBottomIncludingPositionedFloats):
  45349. A new function that includes positioned floats for callers that care.
  45350. (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
  45351. (WebCore::RenderBlock::FloatingObjects::hasPositionedObjects):
  45352. The object count tracking for positioned floats within a block's FloatingObjects list.
  45353. * rendering/RenderBox.cpp:
  45354. (WebCore::RenderBox::updateBoxModelInfoFromStyle):
  45355. Make sure isFloating is set even if isPositioned is also set for the positioned float case.
  45356. * rendering/RenderDeprecatedFlexibleBox.cpp:
  45357. (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
  45358. Modified to do the extra layout pass if needed.
  45359. 2011-07-29 Scott Byer <scottbyer@chromium.org>
  45360. Scroll animation refinements.
  45361. https://bugs.webkit.org/show_bug.cgi?id=65154
  45362. Reviewed by Adam Barth.
  45363. Fix scroll animation bugs when scrolling to the ends of a document. Smooth over slow event repeat rates
  45364. better. Fix tests to allow for unit testing of scrolling up and not just down.
  45365. Additional unit tests added to ScrollAnimatorNoneTest:
  45366. ScrollQuadraticSmoothed, ScrollLotsQuadraticSmoothed, ScrollDownToBumper, ScrollUpToBumper
  45367. * platform/ScrollAnimatorNone.cpp:
  45368. (WebCore::ScrollAnimatorNone::Parameters::Parameters):
  45369. (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
  45370. (WebCore::ScrollAnimatorNone::scroll):
  45371. * platform/ScrollAnimatorNone.h:
  45372. 2011-07-29 Samuel White <samuel_white@apple.com>
  45373. Add the ability to search the AccessibilityObject cache
  45374. https://bugs.webkit.org/show_bug.cgi?id=64994
  45375. To support searching the AccessibilityObject cache, we first need to
  45376. implement a minimal set of functions that will allow AccessibilityObjects
  45377. to be identified when searching using common search criteria. The additional
  45378. functions below complement the existing identification functionality already
  45379. available and together provide a basic working set to build search on top of.
  45380. Additionally, the blockquoteLevel function has been moved into the AccessibilityObject
  45381. class to make it available to all platforms.
  45382. Reviewed by Chris Fleizach.
  45383. New tests will be included in the following patch that will also implement
  45384. basic search functionality.
  45385. * accessibility/AccessibilityObject.cpp:
  45386. (WebCore::AccessibilityObject::isBlockquote):
  45387. (WebCore::AccessibilityObject::isLandmark):
  45388. (WebCore::AccessibilityObject::hasMisspelling):
  45389. (WebCore::AccessibilityObject::blockquoteLevel):
  45390. * accessibility/AccessibilityObject.h:
  45391. (WebCore::AccessibilityObject::isUnvisited):
  45392. (WebCore::AccessibilityObject::hasBoldFont):
  45393. (WebCore::AccessibilityObject::hasItalicFont):
  45394. (WebCore::AccessibilityObject::hasPlainText):
  45395. (WebCore::AccessibilityObject::hasSameFont):
  45396. (WebCore::AccessibilityObject::hasSameFontColor):
  45397. (WebCore::AccessibilityObject::hasSameStyle):
  45398. (WebCore::AccessibilityObject::hasStaticText):
  45399. (WebCore::AccessibilityObject::hasUnderline):
  45400. (WebCore::AccessibilityObject::tableLevel):
  45401. * accessibility/AccessibilityRenderObject.cpp:
  45402. (WebCore::AccessibilityRenderObject::isUnvisited):
  45403. (WebCore::AccessibilityRenderObject::hasBoldFont):
  45404. (WebCore::AccessibilityRenderObject::hasItalicFont):
  45405. (WebCore::AccessibilityRenderObject::hasPlainText):
  45406. (WebCore::AccessibilityRenderObject::hasSameFont):
  45407. (WebCore::AccessibilityRenderObject::hasSameFontColor):
  45408. (WebCore::AccessibilityRenderObject::hasSameStyle):
  45409. (WebCore::AccessibilityRenderObject::hasUnderline):
  45410. * accessibility/AccessibilityRenderObject.h:
  45411. * accessibility/AccessibilityTable.cpp:
  45412. (WebCore::AccessibilityTable::tableLevel):
  45413. * accessibility/AccessibilityTable.h:
  45414. * accessibility/mac/AccessibilityObjectWrapper.mm:
  45415. (AXAttributeStringSetBlockquoteLevel):
  45416. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  45417. 2011-07-29 Zeng Huiqing <huiqing.zeng@intel.com>
  45418. Avoid calling animation timer updates while the page is loading
  45419. https://bugs.webkit.org/show_bug.cgi?id=64851
  45420. Reviewed by Simon Fraser.
  45421. There is no need to update the animation timer for a RenderObject that has not yet been inserted into the render tree, or that doesn't have animations. Our tests show that this improves page loading by up to 3x on pages with a large number of transitionable objects.
  45422. * page/animation/AnimationController.cpp:
  45423. (WebCore::AnimationController::updateAnimations):
  45424. 2011-07-29 Anders Carlsson <andersca@apple.com>
  45425. Pass the HTTP referrer header for URLs loaded by plug-ins
  45426. https://bugs.webkit.org/show_bug.cgi?id=65379
  45427. <rdar://problem/9822116>
  45428. Reviewed by Sam Weinig.
  45429. Export a symbol needed by WebKit2.
  45430. * WebCore.exp.in:
  45431. 2011-07-28 Leandro Gracia Gil <leandrogracia@chromium.org>
  45432. Fix speech input icon rect on RTL directions.
  45433. https://bugs.webkit.org/show_bug.cgi?id=65333
  45434. Reviewed by Tony Gentilcore.
  45435. No new tests. This is used by platforms, not WebCore, and
  45436. the base functionality is not changed but only the failing cases.
  45437. * html/shadow/TextControlInnerElements.cpp:
  45438. (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
  45439. 2011-07-29 Kent Tamura <tkent@chromium.org>
  45440. Make the ExceptionCode argument of Element::setShadowPseudoId() ASSERT_NO_EXCEPTION by default
  45441. https://bugs.webkit.org/show_bug.cgi?id=65363
  45442. Reviewed by Hajime Morita.
  45443. No new tests. Cleanup-only.
  45444. * dom/Element.h: Make the ExceptionCode argument ASSERT_NO_EXCEPTION by default.
  45445. * html/ColorInputType.cpp:
  45446. (WebCore::ColorInputType::createShadowSubtree): Remove the ExceptionCode argument and ASSERT(!ec).
  45447. * html/HTMLTextAreaElement.cpp:
  45448. (WebCore::HTMLTextAreaElement::updatePlaceholderText): ditto.
  45449. * html/RangeInputType.cpp:
  45450. (WebCore::RangeInputType::createShadowSubtree): ditto.
  45451. * html/TextFieldInputType.cpp:
  45452. (WebCore::TextFieldInputType::createShadowSubtree): ditto.
  45453. (WebCore::TextFieldInputType::updatePlaceholderText): ditto.
  45454. * html/ValidationMessage.cpp:
  45455. (WebCore::ValidationMessage::buildBubbleTree): ditto.
  45456. 2011-07-28 Luke Macpherson <macpherson@chromium.org>
  45457. Remove remaining uses of CSSPrimitiveValue::computeLengthIntForLength()
  45458. https://bugs.webkit.org/show_bug.cgi?id=64919
  45459. Reviewed by Darin Adler.
  45460. No new tests / cleanup only.
  45461. * css/CSSPrimitiveValue.cpp:
  45462. (WebCore::CSSPrimitiveValue::computeLength):
  45463. Remove implementation of computeLengthIntForLength()
  45464. * css/CSSPrimitiveValue.h:
  45465. Remove definition of computeLengthIntForLength()
  45466. * css/CSSStyleApplyProperty.cpp:
  45467. (WebCore::ApplyPropertyLength::applyValue):
  45468. Remove use of computeLengthIntForLength()
  45469. * css/CSSStyleSelector.cpp:
  45470. (WebCore::CSSStyleSelector::applyProperty):
  45471. Remove use of computeLengthIntForLength()
  45472. * platform/Length.h:
  45473. (WebCore::Length::setQuirk):
  45474. Adds the ability to set the m_quirk member variable after construction.
  45475. 2011-07-28 Anders Carlsson <andersca@apple.com>
  45476. Unreviewed, rolling out r88601. (Requested by Sam Weinig).
  45477. http://trac.webkit.org/changeset/88601
  45478. https://bugs.webkit.org/show_bug.cgi?id=62230
  45479. Caused a regression, see https://bugs.webkit.org/show_bug.cgi?id=64378
  45480. * dom/StyledElement.cpp:
  45481. * dom/StyledElement.h:
  45482. * html/HTMLBodyElement.cpp:
  45483. (WebCore::HTMLBodyElement::parseMappedAttribute):
  45484. (WebCore::HTMLBodyElement::insertedIntoDocument):
  45485. (WebCore::HTMLBodyElement::didMoveToNewOwnerDocument):
  45486. * html/HTMLBodyElement.h:
  45487. 2011-07-28 Justin Schuh <jschuh@chromium.org>
  45488. Simplify createCanonicalUUIDString implementation.
  45489. https://bugs.webkit.org/show_bug.cgi?id=65157
  45490. All ports support OS_RANDOMNESS, so better to have one implementation.
  45491. Reviewed by Adam Barth.
  45492. Change covered by existing tests.
  45493. * platform/UUID.cpp:
  45494. (WebCore::createCanonicalUUIDString):
  45495. 2011-07-28 Devdatta Deshpande <pwjd73@motorola.com>
  45496. Fixed gif animation dependency on system time
  45497. https://bugs.webkit.org/show_bug.cgi?id=64996
  45498. Reviewed by James Robinson.
  45499. Test: Load WebCore/manual-tests/animated-gif-looping.html
  45500. Change system time to a time in past
  45501. * platform/graphics/BitmapImage.cpp:
  45502. (WebCore::BitmapImage::startAnimation): Bitmap animation is now based
  45503. on monotonicallyIncreasingTime instead of currentTime
  45504. 2011-07-28 Luke Zarko <lukezarko@gmail.com>
  45505. V8 should correctly serialize Boolean, Number and String objects.
  45506. https://bugs.webkit.org/show_bug.cgi?id=65286
  45507. Reviewed by David Levin.
  45508. New APIs were exposed to allow V8 to correctly serialize Boolean, Number and String objects, as well as detect certain native errors as required by the HTML5 Structured Clone algorithm (http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#safe-passing-of-structured-data). SerializedScriptValue should make use of these APIs.
  45509. - Checks for and serializes Boolean, Number and String objects.
  45510. - Checks for native errors and aborts should a script attempt to serialize them.
  45511. - Small name change to clear up the code: m_objectReferenceStack => m_openCompositeReferenceStack
  45512. Tests: fast/dom/Window/window-postmessage-clone.html
  45513. fast/loader/stateobjects/pushstate-object-types.html
  45514. * bindings/v8/SerializedScriptValue.cpp:
  45515. (WebCore::V8ObjectMap::Writer::writeBooleanObject):
  45516. (WebCore::V8ObjectMap::Writer::writeStringObject):
  45517. (WebCore::V8ObjectMap::Writer::writeNumberObject):
  45518. (WebCore::V8ObjectMap::Serializer::writeStringObject):
  45519. (WebCore::V8ObjectMap::Serializer::writeNumberObject):
  45520. (WebCore::V8ObjectMap::Serializer::writeBooleanObject):
  45521. (WebCore::V8ObjectMap::Serializer::doSerialize):
  45522. (WebCore::V8ObjectMap::Reader::read):
  45523. (WebCore::V8ObjectMap::Reader::readStringObject):
  45524. (WebCore::V8ObjectMap::Reader::readNumberObject):
  45525. (WebCore::V8ObjectMap::Deserializer::deserialize):
  45526. (WebCore::V8ObjectMap::Deserializer::openComposite):
  45527. (WebCore::V8ObjectMap::Deserializer::closeComposite):
  45528. 2011-07-28 Adam Barth <abarth@webkit.org>
  45529. Old code about empty security origins could use a bath
  45530. https://bugs.webkit.org/show_bug.cgi?id=64735
  45531. Reviewed by Dimitri Glazkov.
  45532. This patch cleans up some old code related to empty security origins.
  45533. It also removes some dodgy code that seems wrong.
  45534. Test: http/tests/security/inactive-document-with-empty-security-origin.html
  45535. * bindings/generic/BindingSecurityBase.cpp:
  45536. (WebCore::BindingSecurityBase::canAccess):
  45537. * page/SecurityOrigin.cpp:
  45538. (WebCore::SecurityOrigin::isEmpty):
  45539. (WebCore::SecurityOrigin::isSecureTransitionTo):
  45540. (WebCore::SecurityOrigin::toString):
  45541. 2011-07-28 Vsevolod Vlasov <vsevik@chromium.org>
  45542. Web Inspector: [REGRESSION] Inspected tab crashes if navigated with inspector open and there are watch expressions added.
  45543. https://bugs.webkit.org/show_bug.cgi?id=65322
  45544. Reviewed by Pavel Feldman.
  45545. * inspector/InspectorController.cpp:
  45546. * inspector/InspectorRuntimeAgent.cpp:
  45547. (WebCore::InspectorRuntimeAgent::evaluate):
  45548. * inspector/InspectorRuntimeAgent.h:
  45549. * inspector/WorkerInspectorController.cpp:
  45550. 2011-07-28 Mihnea Ovidenie <mihnea@adobe.com>
  45551. [CSSRegions]Add basic RenderRegion support
  45552. https://bugs.webkit.org/show_bug.cgi?id=64689
  45553. Reviewed by David Hyatt.
  45554. This patch introduces the RenderRegion object.
  45555. A RenderObject that takes its content from a "named" flow will become a RenderRegion, an element that is used to display the content from a RenderFlowThread.
  45556. A RenderRegion that is marked to take its content from a non existing flow, will have its content disconnected from the normal flow.
  45557. Tests: fast/regions/region-element-display-restriction.html
  45558. fast/regions/region-element-dynamic-attach-flow.html
  45559. fast/regions/region-element-dynamic-detach-flow.html
  45560. fast/regions/render-region-renderer.html
  45561. * WebCore.vcproj/WebCore.vcproj:
  45562. * WebCore.xcodeproj/project.pbxproj:
  45563. * dom/Node.cpp:
  45564. (WebCore::Node::diff):
  45565. * rendering/RenderObject.cpp:
  45566. (WebCore::RenderObject::createObject):
  45567. * rendering/RenderObject.h:
  45568. (WebCore::RenderObject::isRenderRegion):
  45569. * rendering/RenderRegion.cpp: Added.
  45570. (WebCore::RenderRegion::RenderRegion):
  45571. (WebCore::RenderRegion::~RenderRegion):
  45572. (WebCore::RenderRegion::layout):
  45573. (WebCore::RenderRegion::paint):
  45574. * rendering/RenderRegion.h: Added.
  45575. (WebCore::RenderRegion::isRenderRegion):
  45576. (WebCore::RenderRegion::renderName):
  45577. (WebCore::toRenderRegion):
  45578. * rendering/style/RenderStyle.cpp:
  45579. (WebCore::RenderStyle::diff):
  45580. 2011-07-28 Marco Peereboom <marco@peereboom.us>
  45581. [Soup] Cannot override default max-conns and max-conns-per-host Soup Session settings
  45582. https://bugs.webkit.org/show_bug.cgi?id=64355
  45583. Default max-conns and max-conns-per-host are set at "first contact" with
  45584. a site instead of at creation time. This results in values being
  45585. overwritten if they are set prior to said "first contact"; which is the
  45586. most likely (or only) scenario.
  45587. Reviewed by Martin Robinson.
  45588. No new tests. Rigged libsoup and xxxterm web browser to diagnose the
  45589. issue and validate the patch.
  45590. * platform/network/soup/ResourceHandleSoup.cpp:
  45591. (WebCore::ensureSessionIsInitialized): No longer ininitalize connection limits.
  45592. (WebCore::ResourceHandle::defaultSession): Initialize connection limits here instead.
  45593. 2011-07-28 Brady Eidson <beidson@apple.com>
  45594. https://bugs.webkit.org/show_bug.cgi?id=65323
  45595. r91931 causes NOTREACHED to be hit via StorageTracker
  45596. Change the meaning of the "has been initialized" flag to "needs initialization", and only set it to true
  45597. if the ::initializeTracker() method has been called.
  45598. Reviewed by Sam Weinig.
  45599. * storage/StorageTracker.cpp:
  45600. (WebCore::StorageTracker::initializeTracker): Set m_needsInitialization to true since the calling WebKit port expects full
  45601. initialization instead of a dummy tracker.
  45602. (WebCore::StorageTracker::internalInitialize):
  45603. (WebCore::StorageTracker::tracker): Only initialize the tracker if it was created in the above initializeTracker().
  45604. (WebCore::StorageTracker::StorageTracker):
  45605. * storage/StorageTracker.h:
  45606. 2011-07-28 David Kilzer <ddkilzer@apple.com>
  45607. <http://webkit.org/b/65289> Remove GeolocationPositionCache
  45608. Reviewed by Adam Barth.
  45609. * CMakeLists.txt: Remove references to GeolocationPositionCache.
  45610. * GNUmakefile.list.am: Ditto.
  45611. * WebCore.gypi: Ditto.
  45612. * WebCore.order: Ditto.
  45613. * WebCore.pro: Ditto.
  45614. * WebCore.vcproj/WebCore.vcproj: Ditto.
  45615. * WebCore.xcodeproj/project.pbxproj: Ditto.
  45616. * page/Geolocation.cpp: Switch from using m_positionCache to
  45617. m_cachedPosition.
  45618. (WebCore::Geolocation::makeCachedPositionCallbacks):
  45619. (WebCore::Geolocation::haveSuitableCachedPosition):
  45620. (WebCore::Geolocation::positionChangedInternal):
  45621. * page/Geolocation.h: Remove PositionCacheWrapper and replace
  45622. with RefPtr<Geoposition>.
  45623. * page/GeolocationPositionCache.cpp: Removed.
  45624. * page/GeolocationPositionCache.h: Removed.
  45625. 2011-07-28 Dan Bernstein <mitz@apple.com>
  45626. <rdar://problem/9589433> Displaying Japanese dictionary contents in vertical orientation takes a couple of seconds
  45627. Reviewed by Darin Adler.
  45628. * WebCore.exp.in: Exported wkGetVerticalGlyphsForCharacters.
  45629. * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
  45630. (WebCore::GlyphPage::fill): Use wkGetVerticalGlyphsForCharacters. If it returns false, proceed
  45631. with the existing, slower method of getting vertical glyphs.
  45632. * platform/mac/WebCoreSystemInterface.h:
  45633. * platform/mac/WebCoreSystemInterface.mm:
  45634. 2011-07-28 Brady Eidson <beidson@apple.com>
  45635. <rdar://problem/9714337> and https://bugs.webkit.org/show_bug.cgi?id=65306
  45636. WebKitInitializeStorageIfNecessary() can take awhile performing i/o, isn't necessary for every WebView
  45637. Move the heavy lifting done in StorageTracker::initializeTracker() until when the global tracker is actually
  45638. accessed, therefore deferring it until a web page actually uses LocalStorage or the app uses the API.
  45639. Reviewed by Maciej Stachowiak.
  45640. No new tests. (Not possible to test this API implementation detail)
  45641. * WebCore.exp.in:
  45642. * storage/StorageAreaImpl.cpp:
  45643. (WebCore::StorageAreaImpl::StorageAreaImpl): Access the global StorageTracker to indicate that a web page
  45644. is actually using the storage APIs.
  45645. * storage/StorageTracker.cpp:
  45646. (WebCore::StorageTracker::initializeTracker): Moved the potentially hefty work from here...
  45647. (WebCore::StorageTracker::internalInitialize): ...to here.
  45648. (WebCore::StorageTracker::tracker): If the global tracker hasn't had internalInitialize() called, do so.
  45649. (WebCore::StorageTracker::StorageTracker):
  45650. * storage/StorageTracker.h:
  45651. 2011-07-28 Carlos Garcia Campos <cgarcia@igalia.com>
  45652. [GTK] Copy and paste is broken in WebKit2
  45653. https://bugs.webkit.org/show_bug.cgi?id=65252
  45654. Reviewed by Martin Robinson.
  45655. Use gtk_clipboard_get_for_display() instead of
  45656. gtk_widget_get_clipboard(), using the the default display when
  45657. there's no page client widget, which is the case of WebKit2.
  45658. * platform/gtk/PasteboardHelper.cpp:
  45659. (WebCore::displayFromFrame): Return the display of the current
  45660. frame widget or the default display if there's no widget.
  45661. (WebCore::PasteboardHelper::getClipboard):
  45662. (WebCore::PasteboardHelper::getPrimarySelectionClipboard):
  45663. 2011-07-28 Vsevolod Vlasov <vsevik@chromium.org>
  45664. Web Inspector: Add resource initiator column to network panel.
  45665. https://bugs.webkit.org/show_bug.cgi?id=65105
  45666. Reviewed by Pavel Feldman.
  45667. Test: http/tests/inspector/network/network-initiator.html
  45668. * English.lproj/localizedStrings.js:
  45669. * dom/Document.cpp:
  45670. (WebCore::Document::scheduleStyleRecalc):
  45671. * inspector/Inspector.json:
  45672. * inspector/InspectorInstrumentation.cpp:
  45673. (WebCore::InspectorInstrumentation::willRecalculateStyleImpl):
  45674. (WebCore::InspectorInstrumentation::didRecalculateStyleImpl):
  45675. (WebCore::InspectorInstrumentation::didScheduleStyleRecalculationImpl):
  45676. * inspector/InspectorInstrumentation.h:
  45677. (WebCore::InspectorInstrumentation::didScheduleStyleRecalculation):
  45678. * inspector/InspectorResourceAgent.cpp:
  45679. (WebCore::InspectorResourceAgent::willSendRequest):
  45680. (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
  45681. (WebCore::InspectorResourceAgent::willRecalculateStyle):
  45682. (WebCore::InspectorResourceAgent::didRecalculateStyle):
  45683. (WebCore::InspectorResourceAgent::didScheduleStyleRecalculation):
  45684. (WebCore::InspectorResourceAgent::buildInitiatorObject):
  45685. (WebCore::InspectorResourceAgent::InspectorResourceAgent):
  45686. * inspector/InspectorResourceAgent.h:
  45687. * inspector/front-end/NetworkManager.js:
  45688. (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
  45689. (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
  45690. (WebInspector.NetworkDispatcher.prototype._appendRedirect):
  45691. (WebInspector.NetworkDispatcher.prototype._createResource):
  45692. * inspector/front-end/NetworkPanel.js:
  45693. (WebInspector.NetworkLogView.prototype._createTable):
  45694. (WebInspector.NetworkLogView.prototype._createSortingFunctions):
  45695. (WebInspector.NetworkLogView.prototype.switchToDetailedView):
  45696. (WebInspector.NetworkLogView.prototype.switchToBriefView):
  45697. (WebInspector.NetworkLogView.prototype._toggleGridMode):
  45698. (WebInspector.NetworkLogView.prototype._toggleViewingResourceMode):
  45699. (WebInspector.NetworkDataGridNode.prototype.createCells):
  45700. (WebInspector.NetworkDataGridNode.prototype.refreshResource):
  45701. (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
  45702. (WebInspector.NetworkDataGridNode.InitiatorComparator):
  45703. * inspector/front-end/networkLogView.css:
  45704. (.initiator-column a):
  45705. 2011-07-28 Rob Buis <rbuis@rim.com>
  45706. Use styling test from ietestcenter fails
  45707. https://bugs.webkit.org/show_bug.cgi?id=62147
  45708. Reviewed by Nikolas Zimmermann.
  45709. Make sure CSS selectors are applied to the DOM tree referenced by <use>, not the internal shadow tree. In order to quickly
  45710. find the corresponding DOM tree element store this info in SVGElementRareData.
  45711. Test: svg/W3C-SVG-1.1-SE/struct-use-11-f.svg
  45712. * rendering/svg/SVGShadowTreeElements.cpp:
  45713. (WebCore::SVGShadowTreeContainerElement::styleForRenderer):
  45714. * rendering/svg/SVGShadowTreeElements.h:
  45715. * svg/SVGElement.cpp:
  45716. (WebCore::SVGElement::correspondingElement):
  45717. (WebCore::SVGElement::setCorrespondingElement):
  45718. (WebCore::SVGElement::styleForRenderer):
  45719. * svg/SVGElement.h:
  45720. * svg/SVGElementInstance.cpp:
  45721. (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
  45722. * svg/SVGElementRareData.h:
  45723. (WebCore::SVGElementRareData::SVGElementRareData):
  45724. (WebCore::SVGElementRareData::correspondingElement):
  45725. (WebCore::SVGElementRareData::setCorrespondingElement):
  45726. * svg/SVGStyledElement.cpp:
  45727. (WebCore::SVGStyledElement::removedFromDocument):
  45728. * svg/SVGUseElement.cpp:
  45729. (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
  45730. * svg/SVGUseElement.h:
  45731. 2011-07-28 Denis Oliver Kropp <dok@directfb.org>
  45732. This fixes build without video enabled.
  45733. https://bugs.webkit.org/show_bug.cgi?id=65084
  45734. Reviewed by Philippe Normand.
  45735. Test with --disable-video.
  45736. * dom/EventDispatcher.cpp:
  45737. (WebCore::EventDispatcher::determineDispatchBehavior):
  45738. 2011-07-28 Yuta Kitamura <yutak@chromium.org>
  45739. WebSocket: Pass the value of useHixie76Protocol flag to WebSocket object
  45740. https://bugs.webkit.org/show_bug.cgi?id=65250
  45741. Reviewed by Alexey Proskuryakov.
  45742. Add useHixie76Protocol() method to WebSocketChannel and its family. To implement hybi-specific
  45743. attributes in WebSocket object, WebSocket class needs to be able to get the value of
  45744. useHixie76Protocol flag of WebSocketChannel.
  45745. If the WebSocket object is created in a worker thread, the flag value must be obtained from
  45746. WebSocketChannel which resides in the loader thread (through WorkerThreadableWebSocketChannel).
  45747. Since the value does not change after creation of WebSocketChannel, it can be cached in
  45748. the worker thread.
  45749. There is no change in behavior, thus no new tests.
  45750. * websockets/ThreadableWebSocketChannel.h:
  45751. * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
  45752. (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
  45753. (WebCore::ThreadableWebSocketChannelClientWrapper::useHixie76Protocol):
  45754. (WebCore::ThreadableWebSocketChannelClientWrapper::setUseHixie76Protocol):
  45755. * websockets/ThreadableWebSocketChannelClientWrapper.h:
  45756. * websockets/WebSocketChannel.cpp:
  45757. (WebCore::WebSocketChannel::useHixie76Protocol):
  45758. * websockets/WebSocketChannel.h:
  45759. * websockets/WorkerThreadableWebSocketChannel.cpp:
  45760. (WebCore::WorkerThreadableWebSocketChannel::useHixie76Protocol):
  45761. (WebCore::WorkerThreadableWebSocketChannel::Peer::useHixie76Protocol):
  45762. (WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
  45763. (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
  45764. * websockets/WorkerThreadableWebSocketChannel.h:
  45765. 2011-07-28 Rob Buis <rbuis@rim.com>
  45766. REGRESSION (r91125): Google Drawings is broken
  45767. https://bugs.webkit.org/show_bug.cgi?id=65257
  45768. Reviewed by Darin Adler.
  45769. Only consider zero-length path rendering code path when a stroke is defined.
  45770. Test: svg/custom/zero-path-square-cap-rendering2.svg
  45771. * rendering/svg/RenderSVGPath.cpp:
  45772. (WebCore::RenderSVGPath::shouldStrokeZeroLengthSubpath):
  45773. 2011-07-22 Martin Robinson <mrobinson@igalia.com>
  45774. [Cairo] Switch from ContextShadow to ShadowBlur
  45775. https://bugs.webkit.org/show_bug.cgi?id=64744
  45776. Use ShadowBlur in the Cairo backend instead of ContextShadow. This allows us
  45777. to share shadowing code with Qt and Mac ports and to correct some broken
  45778. shadow rendering.
  45779. Reviewed by Dirk Schulze.
  45780. * CMakeLists.txt: Remove ContextShadow from the build.
  45781. * CMakeListsEfl.txt: Ditto.
  45782. * GNUmakefile.list.am: Add ShadowBlur source files and remove ContextShadow
  45783. source files.
  45784. * platform/graphics/GraphicsContext.cpp:Add #ifdefs to support ShadowBlur for Cairo.
  45785. * platform/graphics/GraphicsContext.h: Remove Cairo ContextShadow code.
  45786. * platform/graphics/ShadowBlur.cpp:
  45787. (WebCore::ShadowBlur::drawInsetShadowWithTiling): Since the ShadowBlur is a property
  45788. of the GraphicsContext, we cannot clear the GraphicsContext shadow until we have
  45789. finished using properties like m_offset. If we clear the GrahpicsContext shadow
  45790. before using these properties, they will be zero when we try to use them.
  45791. (WebCore::ShadowBlur::drawRectShadowWithTiling):Ditto.
  45792. (WebCore::ShadowBlur::drawLayerPieces): Ditto.
  45793. (WebCore::ShadowBlur::beginShadowLayer):Cairo is the first port to keep ShadowBlur
  45794. as a persistent property of GraphicsContext and use drawRectShadow and drawInsetShadow.
  45795. Thus, we must manually clear the cached tiling values so that ShadowBlur does not
  45796. try to reuse the scratch buffer for rectangular shadows after using beginShadowLayer
  45797. and endShadowLayer.
  45798. (WebCore::ShadowBlur::mustUseShadowBlur): Moved this method from the Qt port to
  45799. this cross-platform location.
  45800. * platform/graphics/ShadowBlur.h: Added new method declaration.
  45801. * platform/graphics/cairo/ContextShadowCairo.cpp: Removed.
  45802. * platform/graphics/cairo/FontCairo.cpp: Switched to using ShadowBlur.
  45803. (WebCore::drawGlyphsShadow):Ditto.
  45804. * platform/graphics/cairo/GraphicsContextCairo.cpp: Switch to using ShadowBlur.
  45805. (WebCore::drawPathShadow): ShadowBlur has slightly different semantics than
  45806. ContextShadow. When filling the shadow layer, we do not need to use the fill
  45807. alpha. We also need to restore the Cairo path to the target context after
  45808. endShadowLayer as it destroys the current path.
  45809. * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Switch to using ShadowBlur.
  45810. * platform/graphics/cairo/ImageCairo.cpp: Ditto.
  45811. * platform/graphics/cairo/PlatformContextCairo.cpp:
  45812. (WebCore::PlatformContextCairo::drawSurfaceToContext):Ditto.
  45813. (WebCore::PlatformContextCairo::prepareForStroking): Add a mode ignoring alpha.
  45814. * platform/graphics/cairo/PlatformContextCairo.h: Ditto.
  45815. (WebCore::PlatformContextCairo::shadowBlur):Added.
  45816. * platform/graphics/gtk/FontGtk.cpp: Update to use ShadowBlur.
  45817. * platform/graphics/qt/GraphicsContextQt.cpp: Switch to using the new version of mustUseShadowBlur.
  45818. 2011-07-27 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  45819. [EFL] Add dummy NotificationPresenterClientEfl
  45820. https://bugs.webkit.org/show_bug.cgi?id=64064
  45821. Add two files to CMakeLists.txt for HTML5 Notification.
  45822. Reviewed by Antonio Gomes.
  45823. * CMakeLists.txt:
  45824. 2011-07-27 Ryosuke Niwa <rniwa@webkit.org>
  45825. Calling window.find immediately after mutating the document crashes WebKit.
  45826. https://bugs.webkit.org/show_bug.cgi?id=65296
  45827. Reviewed by Darin Adler.
  45828. Don't forget to layout first.
  45829. Test: editing/text-iterator/find-after-mutation.html
  45830. * editing/TextIterator.cpp:
  45831. (WebCore::findPlainText):
  45832. 2011-07-27 Ben Wells <benwells@chromium.org>
  45833. Remove skia special case for outline rendering code
  45834. https://bugs.webkit.org/show_bug.cgi?id=65295
  45835. Reviewed by James Robinson.
  45836. The fix for bug 58999 (outlines with alpha channels showed artifacts in the corners) was
  45837. excluded from skia builds until bug 61369 (skia drawConvexPoly didn't pay attention to
  45838. shouldAntialias) was fixed. That bug is fixed so now the #if's can be removed.
  45839. * rendering/RenderInline.cpp:
  45840. (WebCore::RenderInline::paintOutline):
  45841. * rendering/RenderObject.cpp:
  45842. (WebCore::RenderObject::paintOutline):
  45843. 2011-07-27 Adam Barth <abarth@webkit.org>
  45844. Crypto.idl doesn't need legacy optional arguments
  45845. https://bugs.webkit.org/show_bug.cgi?id=65298
  45846. Reviewed by Darin Adler.
  45847. This API is relatively new and useless to call without its only argument.
  45848. * page/Crypto.idl:
  45849. 2011-07-27 Mark Hahnenberg <mhahnenberg@apple.com>
  45850. Remove operator new from JSCell
  45851. https://bugs.webkit.org/show_bug.cgi?id=64999
  45852. Reviewed by Oliver Hunt.
  45853. No new tests.
  45854. Removed the implementation of operator new in JSCell, so any further uses
  45855. will not successfully link. Also removed any remaining uses of operator new.
  45856. * bridge/c/CRuntimeObject.h:
  45857. (JSC::Bindings::CRuntimeObject::create):
  45858. * bridge/c/c_instance.cpp:
  45859. (JSC::Bindings::CInstance::newRuntimeObject):
  45860. (JSC::Bindings::CRuntimeMethod::create):
  45861. (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
  45862. (JSC::Bindings::CInstance::getMethod):
  45863. * bridge/jni/jsc/JavaInstanceJSC.cpp:
  45864. (JavaInstance::newRuntimeObject):
  45865. (JavaRuntimeMethod::create):
  45866. (JavaRuntimeMethod::JavaRuntimeMethod):
  45867. (JavaInstance::getMethod):
  45868. * bridge/jni/jsc/JavaRuntimeObject.h:
  45869. (JSC::Bindings::JavaRuntimeObject::create):
  45870. * bridge/objc/ObjCRuntimeObject.h:
  45871. (JSC::Bindings::ObjCRuntimeObject::create):
  45872. * bridge/objc/objc_class.mm:
  45873. (JSC::Bindings::ObjcClass::fallbackObject):
  45874. * bridge/objc/objc_instance.mm:
  45875. (ObjcInstance::newRuntimeObject):
  45876. (ObjCRuntimeMethod::create):
  45877. (ObjCRuntimeMethod::ObjCRuntimeMethod):
  45878. (ObjcInstance::getMethod):
  45879. * bridge/objc/objc_runtime.h:
  45880. (JSC::Bindings::ObjcFallbackObjectImp::create):
  45881. 2011-07-27 Vsevolod Vlasov <vsevik@chromium.org>
  45882. Web Inspector: Network panel sidebar should have width saved in preferences when resource is selected.
  45883. https://bugs.webkit.org/show_bug.cgi?id=65256
  45884. Reviewed by Pavel Feldman.
  45885. * inspector/front-end/NetworkPanel.js:
  45886. (WebInspector.NetworkLogView.prototype._toggleViewingResourceMode):
  45887. (WebInspector.NetworkPanel.prototype.restoreSidebarWidth):
  45888. (WebInspector.NetworkPanel.prototype._showResource):
  45889. (WebInspector.NetworkPanel.prototype._closeVisibleResource):
  45890. (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
  45891. * inspector/front-end/Panel.js:
  45892. (WebInspector.Panel.prototype.show):
  45893. (WebInspector.Panel.prototype.preferredSidebarWidth):
  45894. (WebInspector.Panel.prototype.get restoreSidebarWidth):
  45895. 2011-07-27 Vsevolod Vlasov <vsevik@chromium.org>
  45896. Web Inspector: [REGRESSION] [Chromium] Opening link in new tab does not work properly.
  45897. https://bugs.webkit.org/show_bug.cgi?id=65279
  45898. Reviewed by Pavel Feldman.
  45899. * inspector/InspectorPageAgent.cpp:
  45900. (WebCore::InspectorPageAgent::open):
  45901. 2011-07-27 Adam Klein <adamk@chromium.org>
  45902. [V8] Remove unused m_isWeak member of V8AbstractEventListener
  45903. https://bugs.webkit.org/show_bug.cgi?id=65273
  45904. Reviewed by Adam Barth.
  45905. m_isWeak is set to true in the constructor and never changed,
  45906. so the one if statement that tests it always executes; the
  45907. code has been updated to make this clear.
  45908. No behavior change, thus no tests.
  45909. * bindings/v8/V8AbstractEventListener.cpp:
  45910. (WebCore::V8AbstractEventListener::V8AbstractEventListener):
  45911. (WebCore::V8AbstractEventListener::setListenerObject):
  45912. * bindings/v8/V8AbstractEventListener.h:
  45913. 2011-07-27 Fady Samuel <fsamuel@chromium.org>
  45914. Popups on Chromium now check the minimum row height set through the Chromium WebKit API when
  45915. computing the height of a row in a popup listbox.
  45916. https://bugs.webkit.org/show_bug.cgi?id=64897
  45917. Reviewed by Darin Fisher.
  45918. No new tests.
  45919. * platform/chromium/PopupMenuChromium.cpp:
  45920. (WebCore::PopupListBox::getRowHeight):
  45921. * platform/chromium/PopupMenuChromium.h:
  45922. (WebCore::PopupMenuChromium::minimumRowHeight):
  45923. (WebCore::PopupMenuChromium::setMinimumRowHeight):
  45924. 2011-07-27 MORITA Hajime <morrita@google.com>
  45925. Inconsistent state of TreeScope reference.
  45926. https://bugs.webkit.org/show_bug.cgi?id=65235
  45927. The tree scope pointers on shadow tree nodes didn't cleared.
  45928. even when the tree scope (shadow root) is destroyed.
  45929. This change clear these poitners before detaching the shadow root.
  45930. Reviewed by Dimitri Glazkov.
  45931. Test: fast/dom/shadow/tree-scope-crash.html
  45932. * dom/Element.cpp:
  45933. (WebCore::Element::removeShadowRoot):
  45934. 2011-07-27 Rachel Blum <groby@chromium.org>
  45935. Implement sizes attribute for link tag from HTML5
  45936. https://bugs.webkit.org/show_bug.cgi?id=37674
  45937. Reviewed by Dimitri Glazkov.
  45938. Test: fast/dom/icon-size-property.html
  45939. * WebCore.gypi:
  45940. * WebCore.pro:
  45941. * bindings/js/JSHTMLLinkElementCustom.cpp:
  45942. (WebCore::JSHTMLLinkElement::sizes):
  45943. (WebCore::JSHTMLLinkElement::setSizes):
  45944. * bindings/v8/custom/V8HTMLLinkElementCustom.cpp: Added.
  45945. (WebCore::V8HTMLLinkElement::sizesAccessorGetter):
  45946. (WebCore::V8HTMLLinkElement::sizesAccessorSetter):
  45947. * html/HTMLAttributeNames.in:
  45948. * html/HTMLLinkElement.cpp:
  45949. (WebCore::HTMLLinkElement::HTMLLinkElement):
  45950. (WebCore::HTMLLinkElement::parseMappedAttribute):
  45951. (WebCore::HTMLLinkElement::sizes):
  45952. (WebCore::HTMLLinkElement::setSizes):
  45953. * html/HTMLLinkElement.h:
  45954. * html/HTMLLinkElement.idl:
  45955. 2011-07-27 Pratik Solanki <psolanki@apple.com>
  45956. Incorrect arguments passed to LOG statement
  45957. https://bugs.webkit.org/show_bug.cgi?id=65293
  45958. Reviewed by Oliver Hunt.
  45959. * platform/network/mac/ResourceHandleMac.mm:
  45960. (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]):
  45961. 2011-07-27 Levi Weintraub <leviw@chromium.org>
  45962. Switch transform operations to FloatSize
  45963. https://bugs.webkit.org/show_bug.cgi?id=64301
  45964. Reviewed by Simon Fraser.
  45965. Changing TransformOperation and its progeny to operate on FloatSizes instead of IntSizes.
  45966. * platform/graphics/transforms/IdentityTransformOperation.h:
  45967. (WebCore::IdentityTransformOperation::apply):
  45968. * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
  45969. (WebCore::Matrix3DTransformOperation::blend):
  45970. * platform/graphics/transforms/Matrix3DTransformOperation.h:
  45971. (WebCore::Matrix3DTransformOperation::apply):
  45972. * platform/graphics/transforms/MatrixTransformOperation.cpp:
  45973. (WebCore::MatrixTransformOperation::blend):
  45974. * platform/graphics/transforms/MatrixTransformOperation.h:
  45975. (WebCore::MatrixTransformOperation::apply):
  45976. * platform/graphics/transforms/PerspectiveTransformOperation.h:
  45977. (WebCore::PerspectiveTransformOperation::apply):
  45978. * platform/graphics/transforms/RotateTransformOperation.h:
  45979. (WebCore::RotateTransformOperation::apply):
  45980. * platform/graphics/transforms/ScaleTransformOperation.h:
  45981. (WebCore::ScaleTransformOperation::apply):
  45982. * platform/graphics/transforms/SkewTransformOperation.h:
  45983. (WebCore::SkewTransformOperation::apply):
  45984. * platform/graphics/transforms/TransformOperation.h:
  45985. * platform/graphics/transforms/TransformOperations.h:
  45986. (WebCore::TransformOperations::apply):
  45987. * platform/graphics/transforms/TranslateTransformOperation.h:
  45988. (WebCore::TranslateTransformOperation::x):
  45989. (WebCore::TranslateTransformOperation::y):
  45990. (WebCore::TranslateTransformOperation::z):
  45991. (WebCore::TranslateTransformOperation::apply):
  45992. 2011-07-27 Levi Weintraub <leviw@chromium.org>
  45993. unicode-bidi:-webkit-plaintext does not work on <textarea>
  45994. https://bugs.webkit.org/show_bug.cgi?id=65074
  45995. Reviewed by Ryosuke Niwa.
  45996. Fixing unicode-bidi style propagation into text control shadow trees.
  45997. Test: fast/text/international/unicode-bidi-plaintext-in-textarea.html
  45998. * rendering/RenderTextControl.cpp:
  45999. (WebCore::RenderTextControl::adjustInnerTextStyle):
  46000. 2011-07-27 Eric Carlson <eric.carlson@apple.com>
  46001. Load delegate not consulted before loading some poster images
  46002. https://bugs.webkit.org/show_bug.cgi?id=65270
  46003. Reviewed by Darin Adler.
  46004. Test: media/video-poster-blocked-by-willsendrequest.html
  46005. * html/HTMLVideoElement.cpp:
  46006. (WebCore::HTMLVideoElement::setDisplayMode): Don't ask media engine to set poster if
  46007. willLoadMediaElementURL returns false.
  46008. 2011-07-27 Stephen White <senorblanco@chromium.org>
  46009. Fix for printing with accelerated <canvas>
  46010. https://bugs.webkit.org/show_bug.cgi?id=62406
  46011. Reviewed by James Robinson.
  46012. The platform-independent side of this should be covered by existing
  46013. tests. Printing itself in Chrome has few tests, sadly. :(
  46014. * html/HTMLCanvasElement.cpp:
  46015. (WebCore::HTMLCanvasElement::paint):
  46016. * platform/graphics/skia/ImageBufferSkia.cpp:
  46017. (WebCore::ImageBuffer::draw):
  46018. 2011-07-25 Mihai Parparita <mihaip@chromium.org>
  46019. [Chromium] Add better WebKit API for chrome.tabs.insertCSS extension API
  46020. https://bugs.webkit.org/show_bug.cgi?id=65158
  46021. Reviewed by David Hyatt.
  46022. Add per-Document instance user stylesheets (as opposed to the page
  46023. group user styles and the global page stylesheet).
  46024. * css/CSSStyleSelector.cpp:
  46025. (WebCore::CSSStyleSelector::CSSStyleSelector):
  46026. * css/CSSStyleSelector.h:
  46027. * dom/Document.cpp:
  46028. (WebCore::Document::~Document):
  46029. (WebCore::Document::createStyleSelector):
  46030. (WebCore::Document::addUserSheet):
  46031. * dom/Document.h:
  46032. 2011-07-27 Vsevolod Vlasov <vsevik@chromium.org>
  46033. Web Inspector: Disable cache option should only clear memory cache, not disable it.
  46034. https://bugs.webkit.org/show_bug.cgi?id=65184
  46035. Reviewed by Pavel Feldman.
  46036. * inspector/InspectorClient.h:
  46037. * inspector/InspectorResourceAgent.cpp:
  46038. (WebCore::InspectorResourceAgent::enable):
  46039. (WebCore::InspectorResourceAgent::disable):
  46040. (WebCore::InspectorResourceAgent::setCacheDisabled):
  46041. (WebCore::InspectorResourceAgent::mainFrameNavigated):
  46042. 2011-07-27 Rob Buis <rbuis@rim.com>
  46043. Implement getIntersectionList(), getEnclosureList(), checkIntersection() and checkEnclosure() in SVGSVGElement
  46044. https://bugs.webkit.org/show_bug.cgi?id=11274
  46045. Reviewed by Nikolas Zimmermann.
  46046. Implement checkIntersection/checkEnclosure and use it to implement getIntersectionList and getEnclosureList as well.
  46047. The referenceElement is used to provide a DOM subtree to find matches in. Also we do not allow elements that specify
  46048. pointer-events=none in the list.
  46049. Tests: svg/W3C-SVG-1.1-SE/struct-dom-11-f.svg
  46050. svg/custom/intersection-list-clipping.svg
  46051. svg/custom/intersection-list-nested-svg.svg
  46052. * rendering/svg/RenderSVGModelObject.cpp:
  46053. (WebCore::getElementCTM):
  46054. (WebCore::intersectsAllowingEmpty):
  46055. (WebCore::isGraphicsElement):
  46056. (WebCore::RenderSVGModelObject::checkIntersection):
  46057. (WebCore::RenderSVGModelObject::checkEnclosure):
  46058. * rendering/svg/RenderSVGModelObject.h:
  46059. * svg/SVGSVGElement.cpp:
  46060. (WebCore::SVGSVGElement::checkIntersection):
  46061. (WebCore::SVGSVGElement::checkEnclosure):
  46062. 2011-07-27 Becsi Andras <abecsi@webkit.org>
  46063. [Qt][V8] Fix the build.
  46064. Unreviewed build fix.
  46065. No new tests needed.
  46066. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Add missing CString.h include.
  46067. 2011-07-27 Alexis Menard <alexis.menard@openbossa.org>
  46068. [Qt] Unreviewed build fix for mac.
  46069. QtKit is now our default media player, the define is WTF_USE_QTKIT and it's not part
  46070. of the options passed to build-webkit, therefore DerivedSources should now generate the
  46071. includes when it's mac.
  46072. * DerivedSources.pro:
  46073. * WebCore.pro:
  46074. 2011-07-27 Yury Semikhatsky <yurys@chromium.org>
  46075. Inspector should support cd(window) in the command line
  46076. https://bugs.webkit.org/show_bug.cgi?id=19872
  46077. Added dropdown list with all iframes to allow selecting current evaluation context for console expressions.
  46078. Reviewed by Pavel Feldman.
  46079. Test: http/tests/inspector/console-cd.html
  46080. * WebCore.gypi:
  46081. * inspector/Inspector.json:
  46082. * inspector/InspectorController.cpp:
  46083. (WebCore::InspectorController::InspectorController):
  46084. * inspector/InspectorRuntimeAgent.cpp:
  46085. (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
  46086. (WebCore::InspectorRuntimeAgent::evaluate):
  46087. * inspector/InspectorRuntimeAgent.h:
  46088. * inspector/WorkerInspectorController.cpp:
  46089. * inspector/front-end/ConsoleView.js:
  46090. (WebInspector.ConsoleView.prototype.addContext):
  46091. (WebInspector.ConsoleView.prototype.removeContext):
  46092. (WebInspector.ConsoleView.prototype._contextUpdated):
  46093. (WebInspector.ConsoleView.prototype.get _currentEvaluationContextId):
  46094. (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
  46095. * inspector/front-end/ContextManager.js: Added.
  46096. (WebInspector.ContextManager):
  46097. (WebInspector.ContextManager.prototype._frameAdded):
  46098. (WebInspector.ContextManager.prototype._frameNavigated):
  46099. (WebInspector.ContextManager.prototype._frameDetached):
  46100. (WebInspector.FrameEvaluationContext):
  46101. (WebInspector.FrameEvaluationContext.prototype._frameNavigated):
  46102. (WebInspector.FrameEvaluationContext.prototype.get id):
  46103. (WebInspector.FrameEvaluationContext.prototype.get url):
  46104. (WebInspector.FrameEvaluationContext.prototype.get displayName):
  46105. * inspector/front-end/ResourceTreeModel.js:
  46106. (WebInspector.ResourceTreeModel.prototype._cleanupFramesAfterNavigation):
  46107. (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
  46108. * inspector/front-end/WebKit.qrc:
  46109. * inspector/front-end/inspector.html:
  46110. * inspector/front-end/inspector.js:
  46111. 2011-07-27 Shinya Kawanaka <shinyak@google.com>
  46112. Uses isHTMLSpace to normalize white spaces.
  46113. https://bugs.webkit.org/show_bug.cgi?id=57746
  46114. Reviewed by Kent Tamura.
  46115. Test: fast/forms/option-strip-unicode-spaces.html
  46116. * dom/OptionElement.cpp:
  46117. (WebCore::OptionElement::normalizeText):
  46118. Uses isHTMLSpace to trim and replace white spaces.
  46119. 2011-05-15 Holger Hans Peter Freyther <holger@moiji-mobile.com>
  46120. [chromium] Remove include of skia/ext/platform_canvas.h
  46121. https://bugs.webkit.org/show_bug.cgi?id=60852
  46122. Reviewed by Hajime Morita.
  46123. In https://bugs.webkit.org/show_bug.cgi?id=57563 the usage of the
  46124. skia::PlatformCanvas was eliminated in favor of directly using
  46125. SkCanvas directly. The include of platform_canvas.h was not removed
  46126. leaving the dependency on Chromium in the header files. Remove
  46127. that dependency now.
  46128. * platform/graphics/skia/PlatformContextSkia.h: Remove platform_canvas.h
  46129. 2011-07-27 Mikhail Naganov <mnaganov@chromium.org>
  46130. Web Inspector: [Chromium] REGRESSION: Uncaught TypeError: Cannot read property 'isTracingToWindowObjects' of undefined
  46131. https://bugs.webkit.org/show_bug.cgi?id=65213
  46132. Reviewed by Pavel Feldman.
  46133. * inspector/front-end/DetailedHeapshotView.js:
  46134. (WebInspector.HeapSnapshotRetainingPathsList.prototype.refresh):
  46135. 2011-07-27 Shinya Kawanaka <shinyak@google.com>
  46136. Knob of a disabled or readonly range control should not be draggable.
  46137. https://bugs.webkit.org/show_bug.cgi?id=54820
  46138. Reviewed by Kent Tamura.
  46139. Made disabled or readonly range control undraggable.
  46140. Test: fast/forms/range-drag.html
  46141. * html/RangeInputType.cpp:
  46142. (WebCore::RangeInputType::handleMouseDownEvent):
  46143. Added check that the element is readonly or disabled.
  46144. * html/shadow/SliderThumbElement.cpp:
  46145. (WebCore::SliderThumbElement::defaultEventHandler): ditto.
  46146. 2011-07-27 Yuta Kitamura <yutak@chromium.org>
  46147. WebSocket: CloseEvent attribute is not available on WebWorkers in JSC
  46148. https://bugs.webkit.org/show_bug.cgi?id=65232
  46149. Reviewed by Kent Tamura.
  46150. Add [NoStaticTables] attribute to CloseEvent interface definition. This attribute
  46151. makes the code generator obtain the attributes table used for building ClassInfo
  46152. through JSGlobalData, instead of directly using a statically-allocated table.
  46153. Generally speaking, NoStaticTables needs to be specified in interfaces which
  46154. may be accessed from workers.
  46155. Tests: http/tests/websocket/tests/hybi/workers/shared-worker-simple.html (updated)
  46156. http/tests/websocket/tests/hybi/workers/worker-simple.html (updated)
  46157. * websockets/CloseEvent.idl: Fixed the formatting, too.
  46158. 2011-07-26 James Robinson <jamesr@chromium.org>
  46159. [chromium] REGRESSION(90963): Content layers are not redrawn after losing the compositor context
  46160. https://bugs.webkit.org/show_bug.cgi?id=65224
  46161. Reviewed by Kenneth Russell.
  46162. There's no automated way to test lost compositor contexts (yet), but to test manually open up the poster circle
  46163. page and kill the GPU process.
  46164. * platform/graphics/chromium/ContentLayerChromium.cpp:
  46165. (WebCore::ContentLayerChromium::cleanupResources):
  46166. * platform/graphics/chromium/ContentLayerChromium.h:
  46167. 2011-07-26 Sheriff Bot <webkit.review.bot@gmail.com>
  46168. Unreviewed, rolling out r91805.
  46169. http://trac.webkit.org/changeset/91805
  46170. https://bugs.webkit.org/show_bug.cgi?id=65226
  46171. Breaks @ symbols and changes other font rendering on Windows
  46172. (Requested by enne on #webkit).
  46173. * platform/graphics/chromium/FontChromiumWin.cpp:
  46174. (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
  46175. (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init):
  46176. (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
  46177. (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
  46178. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
  46179. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
  46180. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
  46181. (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc):
  46182. (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
  46183. (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter):
  46184. (WebCore::drawGlyphsWin):
  46185. (WebCore::Font::drawComplexText):
  46186. * platform/graphics/chromium/UniscribeHelper.cpp:
  46187. (WebCore::UniscribeHelper::draw):
  46188. * platform/graphics/skia/PlatformContextSkia.cpp:
  46189. (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
  46190. * platform/graphics/skia/PlatformContextSkia.h:
  46191. * platform/graphics/skia/SkiaFontWin.cpp:
  46192. (WebCore::windowsCanHandleDrawTextShadow):
  46193. (WebCore::windowsCanHandleTextDrawing):
  46194. (WebCore::windowsCanHandleTextDrawingWithoutShadow):
  46195. * platform/graphics/skia/SkiaFontWin.h:
  46196. 2011-07-26 Adrienne Walker <enne@google.com>
  46197. Unreviewed, rolling out r91812.
  46198. http://trac.webkit.org/changeset/91812
  46199. https://bugs.webkit.org/show_bug.cgi?id=65210
  46200. Breaks OSX GPU tests.
  46201. * platform/graphics/chromium/LayerRendererChromium.cpp:
  46202. (WebCore::LayerRendererChromium::drawLayers):
  46203. 2011-07-26 Sheriff Bot <webkit.review.bot@gmail.com>
  46204. Unreviewed, rolling out r91809.
  46205. http://trac.webkit.org/changeset/91809
  46206. https://bugs.webkit.org/show_bug.cgi?id=65225
  46207. Does not build on Chromium Windows (Requested by abarth on
  46208. #webkit).
  46209. * dom/WheelEvent.cpp:
  46210. (WebCore::WheelEvent::WheelEvent):
  46211. (WebCore::WheelEvent::initWheelEvent):
  46212. * dom/WheelEvent.h:
  46213. * page/EventHandler.cpp:
  46214. (WebCore::EventHandler::EventHandler):
  46215. (WebCore::EventHandler::handleGestureEvent):
  46216. (WebCore::EventHandler::handleTouchEvent):
  46217. (WebCore::EventHandler::resetGestureRecognizer):
  46218. * page/EventHandler.h:
  46219. * page/FrameView.cpp:
  46220. (WebCore::FrameView::reset):
  46221. * platform/PlatformGestureEvent.h:
  46222. * platform/PlatformGestureRecognizer.h:
  46223. * platform/chromium/FramelessScrollView.h:
  46224. * platform/chromium/GestureRecognizerChromium.cpp:
  46225. (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
  46226. (WebCore::InnerGestureRecognizer::reset):
  46227. (WebCore::InnerGestureRecognizer::dispatchSyntheticClick):
  46228. (WebCore::InnerGestureRecognizer::processTouchEventForGesture):
  46229. (WebCore::InnerGestureRecognizer::scrollViaTouchMotion):
  46230. (WebCore::touchDown):
  46231. (WebCore::noGesture):
  46232. (WebCore::click):
  46233. (WebCore::isClickOrScroll):
  46234. (WebCore::inScroll):
  46235. * platform/chromium/GestureRecognizerChromium.h:
  46236. (WebCore::GestureRecognizerChromium::reset):
  46237. (WebCore::GestureRecognizerChromium::processTouchEventForGesture):
  46238. * platform/chromium/PopupMenuChromium.cpp:
  46239. * platform/chromium/PopupMenuChromium.h:
  46240. * platform/mac/ScrollAnimatorMac.mm:
  46241. (WebCore::ScrollAnimatorMac::handleGestureEvent):
  46242. 2011-07-26 Dmitry Lomov <dslomov@google.com>
  46243. [V8][Chromium] Run workers in a separate v8::Isolate
  46244. https://bugs.webkit.org/show_bug.cgi?id=65004
  46245. This patch allocates a new v8::Isolate for every worker and enters it on worker thread.
  46246. Reviewed by David Levin.
  46247. Covered by existing chromium tests.
  46248. * bindings/v8/DOMDataStore.cpp:
  46249. (WebCore::DOMDataStore::DOMDataStore):
  46250. (WebCore::DOMDataStore::~DOMDataStore):
  46251. * bindings/v8/StaticDOMDataStore.cpp:
  46252. (WebCore::StaticDOMDataStore::StaticDOMDataStore):
  46253. (WebCore::StaticDOMDataStore::~StaticDOMDataStore):
  46254. * bindings/v8/StaticDOMDataStore.h:
  46255. * bindings/v8/V8Binding.h:
  46256. (WebCore::V8BindingPerIsolateData::registerDOMDataStore):
  46257. (WebCore::V8BindingPerIsolateData::unregisterDOMDataStore):
  46258. * bindings/v8/V8DOMMap.cpp:
  46259. (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
  46260. (WebCore::DOMDataStoreHandle::~DOMDataStoreHandle):
  46261. * bindings/v8/WorkerContextExecutionProxy.cpp:
  46262. (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
  46263. (WebCore::WorkerContextExecutionProxy::initV8):
  46264. * bindings/v8/WorkerContextExecutionProxy.h:
  46265. * bindings/v8/WorkerScriptController.cpp:
  46266. (WebCore::WorkerScriptController::WorkerScriptController):
  46267. (WebCore::WorkerScriptController::~WorkerScriptController):
  46268. * bindings/v8/WorkerScriptController.h:
  46269. 2011-07-26 James Robinson <jamesr@chromium.org>
  46270. [chromium] Avoid clearing the framebuffer when compositing in release builds
  46271. https://bugs.webkit.org/show_bug.cgi?id=65210
  46272. Reviewed by Kenneth Russell.
  46273. We clear the default framebuffer to blue when compositing so it's
  46274. easier to spot regions we miss. This is useful for debugging, but eats
  46275. bandwidth unnecessarily in release builds.
  46276. * platform/graphics/chromium/LayerRendererChromium.cpp:
  46277. (WebCore::LayerRendererChromium::drawLayers):
  46278. 2011-07-26 Jeffrey Pfau <jpfau@apple.com>
  46279. New XML tokenizer
  46280. https://bugs.webkit.org/show_bug.cgi?id=64566
  46281. Reviewed by Adam Barth.
  46282. Add tokenizer for XML and tests in NewXMLDocumentParser for printing results of tokenization.
  46283. * GNUmakefile.list.am:
  46284. * WebCore.gypi:
  46285. * WebCore.pro:
  46286. * WebCore.vcproj/WebCore.vcproj:
  46287. * WebCore.xcodeproj/project.pbxproj:
  46288. * xml/parser/NewXMLDocumentParser.cpp:
  46289. (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
  46290. (WebCore::NewXMLDocumentParser::append):
  46291. * xml/parser/NewXMLDocumentParser.h:
  46292. * xml/parser/XMLToken.h:
  46293. * xml/parser/XMLTokenizer.cpp: Added.
  46294. (WebCore::XMLTokenizer::XMLTokenizer):
  46295. (WebCore::::shouldSkipNullCharacters):
  46296. (WebCore::XMLTokenizer::nextToken):
  46297. (WebCore::XMLTokenizer::bufferCharacter):
  46298. (WebCore::XMLTokenizer::parseError):
  46299. * xml/parser/XMLTokenizer.h: Added.
  46300. (WebCore::XMLTokenizer::create):
  46301. (WebCore::XMLTokenizer::gotError):
  46302. (WebCore::XMLTokenizer::shouldSkipNullCharacters):
  46303. 2011-07-26 Robert Kroeger <rjkroege@chromium.org>
  46304. [chromium] Layering violations in gesture recognizer
  46305. https://bugs.webkit.org/show_bug.cgi?id=65044
  46306. Reviewed by Adam Barth.
  46307. Divided the gesture recognizer up to correct a layering
  46308. violation by moving gesture implementation from it to
  46309. EventHandler::handleGestureEvent so that the gesture recognizer
  46310. could simply be an engine for generating gesture events from
  46311. touch events.
  46312. * page/EventHandler.cpp:
  46313. (WebCore::EventHandler::EventHandler):
  46314. Removed construction of gesture recognizer.
  46315. (WebCore::EventHandler::handleGestureEvent):
  46316. Extended for new gesture events added in this patch.
  46317. (WebCore::EventHandler::handleTouchEvent):
  46318. Removed call into gesture recognizer.
  46319. * page/EventHandler.h:
  46320. * page/FrameView.cpp:
  46321. (WebCore::FrameView::reset):
  46322. Removed code to reset gesture recognizer.
  46323. * platform/PlatformGestureEvent.h:
  46324. (WebCore::PlatformGestureEvent::PlatformGestureEvent):
  46325. (WebCore::PlatformGestureEvent::deltaX):
  46326. (WebCore::PlatformGestureEvent::deltaY):
  46327. (WebCore::PlatformGestureEvent::shiftKey):
  46328. (WebCore::PlatformGestureEvent::ctrlKey):
  46329. (WebCore::PlatformGestureEvent::altKey):
  46330. (WebCore::PlatformGestureEvent::metaKey):
  46331. Added additional gesture types and parameters.
  46332. * platform/PlatformGestureRecognizer.h:
  46333. * platform/chromium/FramelessScrollView.h:
  46334. Added support for displatching gesture and touch events.
  46335. * platform/chromium/GestureRecognizerChromium.cpp:
  46336. (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
  46337. (WebCore::InnerGestureRecognizer::reset):
  46338. (WebCore::InnerGestureRecognizer::constructClickGestureEvent):
  46339. (WebCore::InnerGestureRecognizer::processTouchEventForGestures):
  46340. Removed all depedencies on EventHandler. Instead, create gesture
  46341. events from touch event stream.
  46342. (WebCore::InnerGestureRecognizer::constructScrollGesture):
  46343. (WebCore::touchDown):
  46344. (WebCore::noGesture):
  46345. (WebCore::click):
  46346. (WebCore::isClickOrScroll):
  46347. (WebCore::inScroll):
  46348. (WebCore::GestureRecognizerChromium::processTouchEventForGestures):
  46349. (WebCore::GestureRecognizerChromium::reset):
  46350. * platform/chromium/GestureRecognizerChromium.h:
  46351. * platform/chromium/PopupMenuChromium.cpp:
  46352. Added support to handle touch events and gesture events.
  46353. (WebCore::PopupContainer::handleTouchEvent):
  46354. (WebCore::PopupContainer::handleGestureEvent):
  46355. (WebCore::PopupListBox::handleTouchEvent):
  46356. (WebCore::PopupListBox::handleGestureEvent):
  46357. * platform/chromium/PopupMenuChromium.h:
  46358. * platform/mac/ScrollAnimatorMac.mm:
  46359. (WebCore::ScrollAnimatorMac::handleGestureEvent):
  46360. Ignores the newly added gesture event types.
  46361. 2011-07-26 Joseph Pecoraro <joepeck@webkit.org>
  46362. Restore Composited Layers Faster from PageCache
  46363. https://bugs.webkit.org/show_bug.cgi?id=65216
  46364. Reviewed by Simon Fraser.
  46365. Restore the layer tree hierarchy a little sooner, when
  46366. restoring from the page cache. This more closely matches
  46367. original restore behavior.
  46368. Existing test showed no change.
  46369. * page/FrameView.cpp:
  46370. (WebCore::FrameView::restoreBackingStores):
  46371. 2011-07-26 Mike Reed <reed@google.com>
  46372. [skia] never draw with GDI, so that all text can be gpu-accelerated
  46373. https://bugs.webkit.org/show_bug.cgi?id=65203
  46374. Reviewed by Kenneth Russell.
  46375. No new tests. existing tests apply to the new drawing path
  46376. * platform/graphics/chromium/FontChromiumWin.cpp:
  46377. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
  46378. * platform/graphics/skia/SkiaFontWin.cpp:
  46379. (WebCore::windowsCanHandleDrawTextShadow):
  46380. (WebCore::windowsCanHandleTextDrawing):
  46381. (WebCore::windowsCanHandleTextDrawingWithoutShadow):
  46382. 2011-07-26 Kenneth Russell <kbr@google.com>
  46383. Float32Array(ArrayBuffer, index, length) constructor working incorrectly.
  46384. https://bugs.webkit.org/show_bug.cgi?id=57042
  46385. Reviewed by James Robinson.
  46386. * bindings/js/JSArrayBufferViewHelper.h:
  46387. (WebCore::constructArrayBufferViewWithArrayBufferArgument):
  46388. * bindings/v8/custom/V8ArrayBufferViewCustom.h:
  46389. (WebCore::constructWebGLArrayWithArrayBufferArgument):
  46390. 2011-07-26 Chris Rogers <crogers@google.com>
  46391. V8 custom bindings for AudioNode must do proper object checking and throw exception in case of error
  46392. https://bugs.webkit.org/show_bug.cgi?id=65222
  46393. Reviewed by James Robinson.
  46394. No new tests - this fixes upcoming audionode.html layout test
  46395. * bindings/v8/custom/V8AudioNodeCustom.cpp:
  46396. (WebCore::V8AudioNode::connectCallback):
  46397. 2011-07-26 Chris Rogers <crogers@google.com>
  46398. AudioContext is not correctly accounting for hardware resources
  46399. https://bugs.webkit.org/show_bug.cgi?id=65217
  46400. Reviewed by Kenneth Russell.
  46401. No new tests since audio API is not yet implemented.
  46402. * webaudio/AudioContext.cpp:
  46403. (WebCore::AudioContext::create):
  46404. (WebCore::AudioContext::AudioContext):
  46405. (WebCore::AudioContext::lazyInitialize):
  46406. 2011-07-26 Luke Macpherson <macpherson@chromium.org>
  46407. Handle CSS Properties that can be either auto or a primitive value in CSSStyleApplyProperty
  46408. https://bugs.webkit.org/show_bug.cgi?id=65164
  46409. Reviewed by Dimitri Glazkov.
  46410. No new tests / refactoring only.
  46411. * css/CSSPrimitiveValueMappings.h:
  46412. Add casts to/from various numeric types.
  46413. (WebCore::CSSPrimitiveValue::operator short):
  46414. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  46415. (WebCore::CSSPrimitiveValue::operator unsigned short):
  46416. (WebCore::CSSPrimitiveValue::operator int):
  46417. (WebCore::CSSPrimitiveValue::operator float):
  46418. * css/CSSStyleApplyProperty.cpp:
  46419. Add class to handle properties that set an "auto" boolean on RenderStyle.
  46420. (WebCore::ApplyPropertyAuto::ApplyPropertyAuto):
  46421. (WebCore::ApplyPropertyAuto::applyInheritValue):
  46422. (WebCore::ApplyPropertyAuto::applyInitialValue):
  46423. (WebCore::ApplyPropertyAuto::applyValue):
  46424. (WebCore::ApplyPropertyAuto::hasAuto):
  46425. (WebCore::ApplyPropertyAuto::setAuto):
  46426. (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
  46427. * css/CSSStyleSelector.cpp:
  46428. Remove existing implementations.
  46429. (WebCore::CSSStyleSelector::applyProperty):
  46430. 2011-07-26 Pratik Solanki <psolanki@apple.com>
  46431. Add protection space authentication callback code to CFNetwork loader on Mac
  46432. https://bugs.webkit.org/show_bug.cgi?id=65190
  46433. <rdar://problem/9842424>
  46434. Reviewed by Oliver Hunt.
  46435. Port over protection space authentication callback code from ResourceHandleMac.mm to
  46436. ResourceHandleCFNet.cpp.
  46437. * platform/network/ResourceHandle.h:
  46438. * platform/network/cf/ResourceHandleCFNet.cpp:
  46439. (WebCore::canRespondToProtectionSpace):
  46440. (WebCore::ResourceHandle::createCFURLConnection):
  46441. (WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):
  46442. (WebCore::WebCoreSynchronousLoaderClient::canAuthenticateAgainstProtectionSpace):
  46443. * platform/network/mac/ResourceHandleMac.mm:
  46444. (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]): Add logging.
  46445. 2011-07-26 Sadrul Habib Chowdhury <sadrul@chromium.org>
  46446. Add support for download='filename' attribute in anchors.
  46447. https://bugs.webkit.org/show_bug.cgi?id=64580
  46448. Reviewed by Adam Barth.
  46449. The download attribute allows the author of the hyperlink to cause the
  46450. browser to download the linked URL. The author can also supply a
  46451. suggested file name in the attribute value. This feature is a recent
  46452. addition to HTML to better support offline applications that use blob
  46453. URLs. Traditionally, web sites use the HTTP Content-Disposition header
  46454. to trigger downloads, but that option isn't available when working
  46455. offline.
  46456. There is some question about whether we should initiate a download when
  46457. we receive a DOM-created click event. This patch does initiate the
  46458. download, but we might revise that decision in the future as part of a
  46459. larger change in how WebKit treats the interaction between default
  46460. event handlers and DOM-created events.
  46461. Tests: fast/dom/HTMLAnchorElement/anchor-download.html
  46462. fast/dom/HTMLAnchorElement/anchor-nodownload.html
  46463. fast/dom/HTMLAnchorElement/anchor-download-unset.html
  46464. fast/dom/HTMLAnchorElement/anchor-nodownload-set.html
  46465. * html/HTMLAnchorElement.cpp:
  46466. (WebCore::HTMLAnchorElement::defaultEventHandler):
  46467. (WebCore::HTMLAnchorElement::handleClick):
  46468. * html/HTMLAnchorElement.h:
  46469. * html/HTMLAnchorElement.idl:
  46470. * html/HTMLAttributeNames.in:
  46471. * loader/EmptyClients.h:
  46472. (WebCore::EmptyFrameLoaderClient::startDownload):
  46473. * loader/FrameLoaderClient.h:
  46474. 2011-07-26 Mark Hahnenberg <mhahnenberg@apple.com>
  46475. Refactor automatically generated JS DOM bindings to replace operator new with static create methods
  46476. https://bugs.webkit.org/show_bug.cgi?id=64732
  46477. Reviewed by Oliver Hunt.
  46478. No new tests.
  46479. Replacing the public constructors in the automatically generated JS DOM bindings in CodeGeneratorJS.pm
  46480. with static create methods. This is part of a larger refactoring effort to use static create methods
  46481. in the headers of the generated files (so as to be inline-able) in favor of public constructors throughout JSC.
  46482. * bindings/js/JSAudioConstructor.h:
  46483. (WebCore::JSAudioConstructor::create):
  46484. * bindings/js/JSDOMBinding.h:
  46485. (WebCore::createWrapper):
  46486. * bindings/js/JSDOMGlobalObject.h:
  46487. (WebCore::getDOMConstructor):
  46488. * bindings/js/JSDOMWindowCustom.cpp:
  46489. (WebCore::JSDOMWindow::history):
  46490. (WebCore::JSDOMWindow::location):
  46491. * bindings/js/JSDOMWindowShell.cpp:
  46492. (WebCore::JSDOMWindowShell::setWindow):
  46493. * bindings/js/JSDocumentCustom.cpp:
  46494. (WebCore::JSDocument::location):
  46495. * bindings/js/JSImageConstructor.h:
  46496. (WebCore::JSImageConstructor::create):
  46497. * bindings/js/JSImageDataCustom.cpp:
  46498. (WebCore::toJS):
  46499. * bindings/js/JSOptionConstructor.h:
  46500. (WebCore::JSOptionConstructor::create):
  46501. * bindings/js/WorkerScriptController.cpp:
  46502. (WebCore::WorkerScriptController::initScript):
  46503. * bindings/scripts/CodeGeneratorJS.pm:
  46504. (AddIncludesForTypeInImpl):
  46505. (AddIncludesForTypeInHeader):
  46506. (AddIncludesForType):
  46507. (GenerateHeader):
  46508. (GenerateImplementation):
  46509. (GenerateCallbackImplementation):
  46510. (GenerateConstructorDeclaration):
  46511. * bindings/scripts/test/JS/JSTestInterface.cpp:
  46512. (WebCore::JSTestInterfaceConstructor::create):
  46513. (WebCore::JSTestInterface::createPrototype):
  46514. * bindings/scripts/test/JS/JSTestInterface.h:
  46515. (WebCore::JSTestInterface::create):
  46516. (WebCore::JSTestInterfacePrototype::create):
  46517. * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  46518. (WebCore::JSTestMediaQueryListListenerConstructor::create):
  46519. (WebCore::JSTestMediaQueryListListener::createPrototype):
  46520. * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
  46521. (WebCore::JSTestMediaQueryListListener::create):
  46522. (WebCore::JSTestMediaQueryListListenerPrototype::create):
  46523. * bindings/scripts/test/JS/JSTestObj.cpp:
  46524. (WebCore::JSTestObjConstructor::create):
  46525. (WebCore::JSTestObj::createPrototype):
  46526. * bindings/scripts/test/JS/JSTestObj.h:
  46527. (WebCore::JSTestObj::create):
  46528. (WebCore::JSTestObjPrototype::create):
  46529. * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  46530. (WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
  46531. (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
  46532. * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
  46533. (WebCore::JSTestSerializedScriptValueInterface::create):
  46534. (WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
  46535. * bridge/jni/jsc/JavaArrayJSC.cpp:
  46536. (JavaArray::convertJObjectToArray):
  46537. * bridge/jsc/BridgeJSC.cpp:
  46538. (JSC::Bindings::Instance::newRuntimeObject):
  46539. * bridge/objc/objc_utility.mm:
  46540. (JSC::Bindings::convertObjcValueToValue):
  46541. * bridge/qt/qt_runtime.cpp:
  46542. (JSC::Bindings::convertQVariantToValue):
  46543. * bridge/runtime_array.h:
  46544. (JSC::RuntimeArray::create):
  46545. * bridge/runtime_object.h:
  46546. (JSC::Bindings::RuntimeObject::create):
  46547. 2011-07-26 Xiaomei Ji <xji@chromium.org>
  46548. --webkit-visual-word does not work in multi-line
  46549. https://bugs.webkit.org/show_bug.cgi?id=61344
  46550. Reviewed by Ryosuke Niwa.
  46551. Replace Position(node, offset, PositionIsOffsetInAnchor) with
  46552. createPositionAvoidingIgnoredNode(node, offset) which takes care of creating position
  46553. before/after <br/> etc. editingIgnoresContent node.
  46554. When iterate InlineBox, replace prevLeafChild and nextLeafChild (which only returns
  46555. InlineBox within the same line) with leftInlineBox and rightInlineBox (which returns
  46556. InlineBox across multiple lines).
  46557. * editing/htmlediting.cpp:
  46558. (WebCore::createPositionAvoidingIgnoredNode):
  46559. * editing/htmlediting.h:
  46560. * editing/visible_units.cpp:
  46561. (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality): Replace Position() with
  46562. createPositionAvoidingIgnoredNode().
  46563. (WebCore::leftmostPositionInRTLBoxInLTRBlock): Ditto.
  46564. (WebCore::rightmostPositionInLTRBoxInRTLBlock): Ditto.
  46565. (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality): Ditto.
  46566. (WebCore::blockWithPreviousLineBox): Added.
  46567. (WebCore::previousRootInlineBox): Added.
  46568. (WebCore::blockWithNextLineBox): Added.
  46569. (WebCore::nextRootInlineBox): Added.
  46570. (WebCore::leftInlineBox): Added.
  46571. (WebCore::rightInlineBox): Added.
  46572. (WebCore::leftWordBoundary): Replace prevLeafChild/nextLeafChild with leftInlineBox()
  46573. and rightInlineBox().
  46574. (WebCore::rightWordBoundary): Ditto.
  46575. (WebCore::leftWordPositionAcrossBoundary): Ditto.
  46576. (WebCore::rightWordPositionAcrossBoundary): Ditto.
  46577. 2011-07-26 David Hyatt <hyatt@apple.com>
  46578. https://bugs.webkit.org/show_bug.cgi?id=60778
  46579. Use after free because of line box culling optimization regression.
  46580. In the case of a child with no line box being removed (typically
  46581. a <br> in quirks mode), if there is no previous sibling with a line
  46582. box, then we have a potential problem with the culling optimization.
  46583. The culled inline may still have other leaf line box children, but
  46584. they may follow the removed <br>. In this case we can't rely on
  46585. them, since we need a line box that comes before the <br>.
  46586. The fix is to simply recur up to the parent if we are a culled inline
  46587. and could not find a previous line box.
  46588. Reviewed by Dan Bernstein.
  46589. Added editing/execCommand/crash-line-break-after-outdent.html
  46590. * rendering/RenderLineBoxList.cpp:
  46591. (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
  46592. 2011-07-26 Dan Bernstein <mitz@apple.com>
  46593. <rdar://problem/9842889> Add a generic pictograph font family
  46594. https://bugs.webkit.org/show_bug.cgi?id=65197
  46595. Reviewed by Anders Carlsson.
  46596. Test: fast/css/font-family-pictograph.html
  46597. * WebCore.exp.in: Export Settings::setPictographFontFamily().
  46598. * css/CSSComputedStyleDeclaration.cpp:
  46599. (WebCore::identifierForFamily): Added -webkit-pictograph.
  46600. * css/CSSFontSelector.cpp:
  46601. (WebCore::CSSFontSelector::addFontFaceRule): Ditto.
  46602. (WebCore::fontDataForGenericFamily): Ditto.
  46603. * css/CSSStyleSelector.cpp:
  46604. (WebCore::CSSStyleSelector::applyProperty): Ditto.
  46605. * css/CSSValueKeywords.in:
  46606. * inspector/front-end/CSSKeywordCompletions.js: Ditto.
  46607. * inspector/front-end/SourceCSSTokenizer.js: Ditto.
  46608. (WebInspector.SourceCSSTokenizer):
  46609. * inspector/front-end/SourceCSSTokenizer.re2js: Ditto.
  46610. * page/Settings.cpp:
  46611. (WebCore::Settings::pictographFontFamily): Added this getter.
  46612. (WebCore::Settings::setPictographFontFamily): Added this setter.
  46613. * page/Settings.h:
  46614. * platform/graphics/FontDescription.h: Added PictographFamily to the GenericFamilyType enum.
  46615. 2011-07-26 Viet-Trung Luu <viettrungluu@chromium.org>
  46616. Improve (i.e., speed up) .gyp(i) files for Chromium
  46617. https://bugs.webkit.org/show_bug.cgi?id=65032
  46618. Reviewed by Adam Barth.
  46619. This re-applies r91595 with the source exclusion fixed.
  46620. Test by building (in all supported configurations).
  46621. * WebCore.gyp/WebCore.gyp:
  46622. * WebCore.gypi:
  46623. 2011-07-26 Alexis Menard <alexis.menard@openbossa.org>
  46624. [Qt] Disable video support on linux if the dependencies are not found.
  46625. If we can't find the necessary dependencies to build the GStreamer media player
  46626. we disable the video support. This is related to http://trac.webkit.org/changeset/91752.
  46627. Reviewed by Holger Freyther.
  46628. No new tests, it's a build fix.
  46629. * features.pri:
  46630. 2011-07-26 Evan Martin <evan@chromium.org>
  46631. regression: generating CSSValueKeywords should not print by default
  46632. https://bugs.webkit.org/show_bug.cgi?id=65195
  46633. Reviewed by Tony Chang.
  46634. Some refactoring made some callers no longer pass the final 'beQuiet'
  46635. parameter to applyPreprocessor. This flag was only used to print the
  46636. input filename anyway, so remove the flag and just make the caller
  46637. print the filename if it wants this.
  46638. * bindings/scripts/IDLParser.pm:
  46639. (Parse): print before calling applyPreprocessor, if necessary.
  46640. * bindings/scripts/preprocessor.pm:
  46641. (applyPreprocessor): remove the beQuiet flag; just always be quiet.
  46642. 2011-07-26 Raphael Kubo da Costa <kubo@profusion.mobi>
  46643. [EFL] Do not crash on the isSlider() assert.
  46644. https://bugs.webkit.org/show_bug.cgi?id=65191
  46645. Reviewed by Antonio Gomes.
  46646. RenderThemeEfl's paintSliderThumb() just forwarded the call to
  46647. paintSliderTrack(), which, on its turn, called code that assumed that
  46648. object->isSlider() was true. That does not seem to be the case for
  46649. slidethumbs, so any page with an <input type="range"> tag would crash
  46650. WebKit.
  46651. We now do what RenderThemeQt does, and assume everything was properly
  46652. done in the call to paintSliderTrack().
  46653. No new tests, as this has been uncovered by an existing test.
  46654. * platform/efl/RenderThemeEfl.cpp:
  46655. (WebCore::RenderThemeEfl::paintSliderThumb):
  46656. 2011-07-26 Brian Salomon <bsalomon@google.com>
  46657. [SKIA] Make the skia GL context current when drawing text to gpu backed platform context.
  46658. https://bugs.webkit.org/show_bug.cgi?id=65182
  46659. Reviewed by Stephen White.
  46660. No new tests. Not sure how to test wrong-ctx bugs in layout tests.
  46661. * platform/graphics/skia/SkiaFontWin.cpp:
  46662. (WebCore::paintSkiaText):
  46663. 2011-07-26 Emil A Eklund <eae@chromium.org>
  46664. RenderText::absoluteRectsForRange() and absoluteQuadsForRange() have nearly duplicate code
  46665. https://bugs.webkit.org/show_bug.cgi?id=62478
  46666. Reviewed by Simon Fraser.
  46667. Test: fast/dom/Range/getClientRects.html
  46668. * platform/graphics/FloatRect.h:
  46669. (WebCore::FloatRect::isZero):
  46670. Add izZero method, unlike isEmpty this checks if both the width and the
  46671. height are zero.
  46672. * rendering/RenderText.cpp:
  46673. (WebCore::absoluteQuadForTextBox):
  46674. (WebCore::RenderText::absoluteRectsForRange):
  46675. (WebCore::RenderText::absoluteQuadsForRange):
  46676. Break duplicate code out of absoluteRectsForRange and
  46677. absoluteQuadsForRange into shared static function.
  46678. Fix what I presume to be a bug in the absoluteQuadsForRange where the
  46679. logicalHeight was always used to set the size in absoluteQuadForTextBox
  46680. as oppsued to the absoluteRectsForRange implementation that uses the
  46681. logicalWidth or the logicalHeight depending on whether it's horizontal or
  46682. vertical.
  46683. 2011-07-26 Alexandru Chiculita <achicu@adobe.com>
  46684. [CSSRegions] Collect flowed elements in different render element
  46685. https://bugs.webkit.org/show_bug.cgi?id=64516
  46686. All the RenderObjects that have a specified "flow" name are moved out of the
  46687. normal flow. A RenderFlowThread will collect all such RenderObjects. There is
  46688. a RenderFlowThread for each flow name. The new RenderFlowThread is an anonymous
  46689. RenderBlock that is positioned absolute and will not render directly. In a
  46690. different bug/patch we will add RenderRegion that will take care of rendering the
  46691. RenderFlowThread on screen.
  46692. Reviewed by Simon Fraser.
  46693. Tests: fast/regions/webkit-flow-renderer-layer.html
  46694. fast/regions/webkit-flow-renderer-nested.html
  46695. fast/regions/webkit-flow-renderer.html
  46696. * WebCore.vcproj/WebCore.vcproj:
  46697. * WebCore.xcodeproj/project.pbxproj:
  46698. * dom/Node.cpp:
  46699. (WebCore::Node::diff):
  46700. * dom/NodeRenderingContext.cpp:
  46701. (WebCore::NodeRenderingContext::NodeRenderingContext):
  46702. (WebCore::NodeRenderingContext::setStyle):
  46703. (WebCore::NodeRenderingContext::nextRenderer):
  46704. (WebCore::NodeRenderingContext::previousRenderer):
  46705. (WebCore::NodeRenderingContext::parentRenderer):
  46706. (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
  46707. (WebCore::NodeRendererFactory::createRendererIfNeeded):
  46708. * dom/NodeRenderingContext.h:
  46709. (WebCore::NodeRenderingContext::hasFlowThreadParent):
  46710. (WebCore::NodeRenderingContext::parentFlowRenderer):
  46711. * rendering/RenderFlowThread.cpp: Added.
  46712. (WebCore::RenderFlowThread::RenderFlowThread):
  46713. (WebCore::RenderFlowThread::createFlowThreadStyle):
  46714. (WebCore::RenderFlowThread::nextRendererForNode):
  46715. (WebCore::RenderFlowThread::previousRendererForNode):
  46716. (WebCore::RenderFlowThread::addChild):
  46717. (WebCore::RenderFlowThread::removeChild):
  46718. * rendering/RenderFlowThread.h: Added.
  46719. (WebCore::toRenderFlowThread):
  46720. * rendering/RenderLayer.cpp:
  46721. (WebCore::RenderLayer::collectLayers):
  46722. * rendering/RenderObject.h:
  46723. (WebCore::RenderObject::isRenderFlowThread):
  46724. * rendering/RenderTreeAsText.cpp:
  46725. (WebCore::RenderTreeAsText::writeRenderObject):
  46726. (WebCore::writeLayers):
  46727. * rendering/RenderView.cpp:
  46728. (WebCore::RenderView::renderFlowThreadWithName):
  46729. * rendering/RenderView.h:
  46730. * rendering/style/RenderStyle.cpp:
  46731. (WebCore::RenderStyle::diff):
  46732. 2011-07-26 Patrick Dubroy <dubroy@chromium.org>
  46733. Filename text in file upload controls is not aligned with button text on
  46734. chromium-linux, chromium-win, and gtk.
  46735. https://bugs.webkit.org/show_bug.cgi?id=64692
  46736. The fix is to not include the margin, border, and padding in the calculation,
  46737. because those are already accounted for by RenderBlock::baselinePosition().
  46738. Reviewed by Dimitri Glazkov.
  46739. * rendering/RenderFileUploadControl.cpp:
  46740. (WebCore::RenderFileUploadControl::paintObject):
  46741. 2011-07-26 Sheriff Bot <webkit.review.bot@gmail.com>
  46742. Unreviewed, rolling out r91746.
  46743. http://trac.webkit.org/changeset/91746
  46744. https://bugs.webkit.org/show_bug.cgi?id=65180
  46745. It broke SL build (Requested by Ossy on #webkit).
  46746. * dom/OptionElement.cpp:
  46747. (WebCore::OptionElement::normalizeText):
  46748. 2011-07-26 Pavel Feldman <pfeldman@google.com>
  46749. Web Inspector: Better represent custom getters in the properties pane
  46750. https://bugs.webkit.org/show_bug.cgi?id=16734
  46751. Reviewed by Yury Semikhatsky.
  46752. Test: inspector/runtime/runtime-getProperties.html
  46753. * inspector/InjectedScriptSource.js:
  46754. (.):
  46755. * inspector/Inspector.json:
  46756. * inspector/front-end/ObjectPropertiesSection.js:
  46757. (WebInspector.ObjectPropertyTreeElement.prototype.update):
  46758. 2011-07-26 Alexis Menard <alexis.menard@openbossa.org>
  46759. Reviewed by Andreas Kling.
  46760. [Qt] Change default backend to use GStreamer on Linux and QuickTime on Mac.
  46761. https://bugs.webkit.org/show_bug.cgi?id=63472
  46762. Enable the GStreamer backend and the QuickTime backend as default media players
  46763. for the Qt port on Mac and Linux. QtMultimedia is now a fallback option that you
  46764. can enable by passing DEFINES+=USE_QT_MULTIMEDIA=1 to enforce its usage.
  46765. No new tests. The media layout tests are disabled on the Qt port but hopefully with this
  46766. switch we can enable them again.
  46767. * WebCore.pri:
  46768. * WebCore.pro:
  46769. * features.pri:
  46770. 2011-07-26 Pavel Feldman <pfeldman@google.com>
  46771. Web Inspector: Implement setPropertyValue using evaluate and callFunctionOn
  46772. https://bugs.webkit.org/show_bug.cgi?id=65112
  46773. Reviewed by Yury Semikhatsky.
  46774. Test: inspector/runtime/runtime-setPropertyValue.html
  46775. * inspector/InjectedScript.cpp:
  46776. * inspector/InjectedScript.h:
  46777. * inspector/InjectedScriptSource.js:
  46778. (.):
  46779. * inspector/Inspector.json:
  46780. * inspector/InspectorRuntimeAgent.cpp:
  46781. * inspector/InspectorRuntimeAgent.h:
  46782. * inspector/front-end/RemoteObject.js:
  46783. (WebInspector.RemoteObject.prototype.setPropertyValue.evaluatedCallback.setPropertyValue):
  46784. (WebInspector.RemoteObject.prototype.setPropertyValue.evaluatedCallback):
  46785. (WebInspector.RemoteObject.prototype.setPropertyValue.propertySetCallback):
  46786. (WebInspector.RemoteObject.prototype.setPropertyValue):
  46787. 2011-07-26 Pavel Feldman <pfeldman@google.com>
  46788. Re-applying r91665 and r91668 with JSC issues fixed.
  46789. Web Inspector: use dedicated type for object id in the protocol.
  46790. Web Inspector: refactor remote object structure to contain value for primitive values.
  46791. https://bugs.webkit.org/show_bug.cgi?id=65103
  46792. https://bugs.webkit.org/show_bug.cgi?id=65110
  46793. Reviewed by Yury Semikhatsky.
  46794. * inspector/InjectedScript.cpp:
  46795. (WebCore::InjectedScript::callFunctionOn):
  46796. * inspector/InjectedScript.h:
  46797. * inspector/InjectedScriptSource.js:
  46798. * inspector/Inspector.json:
  46799. * inspector/InspectorRuntimeAgent.cpp:
  46800. (WebCore::InspectorRuntimeAgent::callFunctionOn):
  46801. * inspector/InspectorValues.cpp:
  46802. (WebCore::InspectorBasicValue::writeJSON):
  46803. * inspector/front-end/ConsoleView.js:
  46804. (WebInspector.ConsoleView.prototype._format):
  46805. (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
  46806. (WebInspector.ConsoleMessage.prototype._format):
  46807. * inspector/front-end/ElementsTreeOutline.js:
  46808. (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
  46809. * inspector/front-end/ObjectPropertiesSection.js:
  46810. (WebInspector.ObjectPropertyTreeElement.prototype.update):
  46811. * inspector/front-end/PropertiesSidebarPane.js:
  46812. (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
  46813. * inspector/front-end/RemoteObject.js:
  46814. (WebInspector.RemoteObject):
  46815. (WebInspector.RemoteObject.fromPrimitiveValue):
  46816. (WebInspector.RemoteObject.fromPayload):
  46817. (WebInspector.RemoteObject.prototype.get subtype):
  46818. (WebInspector.RemoteObject.prototype.callFunction):
  46819. (WebInspector.LocalJSONObject.prototype.get description):
  46820. (WebInspector.LocalJSONObject.prototype.get type):
  46821. (WebInspector.LocalJSONObject.prototype.get subtype):
  46822. * inspector/front-end/SourceFrame.js:
  46823. (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
  46824. (WebInspector.SourceFrame.prototype._showPopup):
  46825. * inspector/front-end/inspector.js:
  46826. (WebInspector.log.logMessage):
  46827. (WebInspector.log):
  46828. (WebInspector.inspect):
  46829. 2011-07-26 Nikolas Zimmermann <nzimmermann@rim.com>
  46830. Prepare animVal support - phase 2
  46831. https://bugs.webkit.org/show_bug.cgi?id=65167
  46832. Reviewed by Dirk Schulze.
  46833. Next patch preparing animVal support. Modify the SVGAnimatedProperty* classes & macros to assure that calling someElement->someProperty()
  46834. will return the animVal, when the property is being animated. Not yet hooked into SVGAnimateElement, this is just a preparation.
  46835. Doesn't affect any tests, yet.
  46836. * svg/SVGPathElement.cpp: Adapt to SVGAnimatedProperty::lookupWrapper changes (new template parameters have been added).
  46837. (WebCore::SVGPathElement::svgAttributeChanged):
  46838. * svg/SVGPathSegWithContext.h: Ditto.
  46839. (WebCore::SVGPathSegWithContext::animatedProperty):
  46840. * svg/SVGPolyElement.cpp: Ditto.
  46841. (WebCore::SVGPolyElement::parseMappedAttribute):
  46842. * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h: Implement currentAnimatedValue, an abstract way to retrieve the underlying animated value for any animated type.
  46843. (WebCore::SVGAnimatedEnumerationPropertyTearOff::currentAnimatedValue): Forward call to SVGAnimatedStaticPropertyTearOff<int>, our base.
  46844. * svg/properties/SVGAnimatedListPropertyTearOff.h:
  46845. (WebCore::SVGAnimatedListPropertyTearOff::isAnimating): Returns whether this property is being animated or not.
  46846. (WebCore::SVGAnimatedListPropertyTearOff::currentAnimatedValue):
  46847. * svg/properties/SVGAnimatedProperty.h:
  46848. (WebCore::SVGAnimatedProperty::updateAnimVal): Will be used from SVGAnim*Element to update the current animVal, exposed to JS.
  46849. (WebCore::SVGAnimatedProperty::lookupOrCreateWrapper): Share more code with lookupWrapper.
  46850. (WebCore::SVGAnimatedProperty::lookupWrapper): Cleanup code, avoid doing any work for non-SVGElement derived objects, like SVGViewSpec.
  46851. * svg/properties/SVGAnimatedPropertyMacros.h: Make all lowerProperty() calls (eg. myRectElement->x()) return the animVal, if the property is being animated.
  46852. * svg/properties/SVGAnimatedPropertyTearOff.h: Main logic for the new animVal stuff.
  46853. (WebCore::SVGAnimatedPropertyTearOff::isAnimating):
  46854. (WebCore::SVGAnimatedPropertyTearOff::currentAnimatedValue):
  46855. (WebCore::SVGAnimatedPropertyTearOff::updateAnimVal):
  46856. (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff):
  46857. * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
  46858. (WebCore::SVGAnimatedStaticPropertyTearOff::isAnimating):
  46859. (WebCore::SVGAnimatedStaticPropertyTearOff::currentAnimatedValue):
  46860. * svg/properties/SVGPropertyTearOff.h:
  46861. (WebCore::SVGPropertyTearOff::updateAnimVal):
  46862. 2011-07-26 Shinya Kawanaka <shinyak@google.com>
  46863. Uses isHTMLSpace to normalize white spaces.
  46864. https://bugs.webkit.org/show_bug.cgi?id=57746
  46865. Reviewed by Kent Tamura.
  46866. Test: fast/forms/option-strip-unicode-spaces.html
  46867. * dom/OptionElement.cpp:
  46868. (WebCore::OptionElement::normalizeText):
  46869. Uses isHTMLSpace to trim and replace white spaces.
  46870. 2011-07-25 Ryuan Choi <ryuan.choi@samsung.com>
  46871. [CMAKE] Split JSC related files from WebCore/CMakeLists.txt
  46872. https://bugs.webkit.org/show_bug.cgi?id=61350
  46873. Reviewed by Daniel Bates.
  46874. No new tests, just moving jsc related files from CMakeLists.txt to UseJSC.cmake.
  46875. * CMakeLists.txt:
  46876. * UseJSC.cmake:
  46877. 2011-07-25 Dan Bernstein <mitz@apple.com>
  46878. Fix the build by committing a rename in this file that I neglected to include in the previous commit.
  46879. * css/CSSFontFaceSource.h:
  46880. 2011-07-25 Dan Bernstein <mitz@apple.com>
  46881. <rdar://problem/9835028> Font loading during layout can cause layout code to be re-entered via resource load delegate
  46882. https://bugs.webkit.org/show_bug.cgi?id=65123
  46883. Reviewed by Anders Carlsson and Darin Adler.
  46884. Since CSSFontFaceSource::getFontData() can get called during layout, avoid calling out to loader
  46885. code from under it, and instead defer that work using a zero-delay timer.
  46886. * css/CSSFontFaceSource.cpp:
  46887. (WebCore::CSSFontFaceSource::CSSFontFaceSource):
  46888. (WebCore::CSSFontFaceSource::~CSSFontFaceSource):
  46889. (WebCore::CSSFontFaceSource::getFontData): Rather than starting the font load here, schedule
  46890. a zero-delay timer to do it.
  46891. (WebCore::CSSFontFaceSource::startLoadingTimerFired): Added. Starts loading the font if needed.
  46892. * css/CSSFontFaceSource.h:
  46893. 2011-07-25 Al Patrick <apatrick@chromium.org>
  46894. Removed support for the GL_latch_CHROMIUM extension which Chromium no longer supports.
  46895. Replaced calls to SetLatch with calls to Flush since Flush now has barrier semantics in Chromium.
  46896. https://bugs.webkit.org/show_bug.cgi?id=65043
  46897. Reviewed by James Robinson.
  46898. * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
  46899. (WebCore::Canvas2DLayerChromium::updateCompositorResources):
  46900. * platform/graphics/chromium/DrawingBufferChromium.cpp:
  46901. (WebCore::DrawingBuffer::publishToPlatformLayer):
  46902. * platform/graphics/chromium/Extensions3DChromium.h:
  46903. * platform/graphics/chromium/LayerRendererChromium.cpp:
  46904. (WebCore::LayerRendererChromium::LayerRendererChromium):
  46905. (WebCore::LayerRendererChromium::drawLayers):
  46906. (WebCore::LayerRendererChromium::addChildContext):
  46907. (WebCore::LayerRendererChromium::removeChildContext):
  46908. * platform/graphics/chromium/LayerRendererChromium.h:
  46909. 2011-07-25 Sam Weinig <sam@webkit.org>
  46910. Refactor ScrollableArea pinned predicates to be more generally useful
  46911. <rdar://problem/9740379>
  46912. Reviewed by Dan Bernstein.
  46913. * platform/ScrollableArea.cpp:
  46914. (WebCore::ScrollableArea::isPinnedInBothDirections):
  46915. (WebCore::ScrollableArea::isPinnedHorizontallyInDirection):
  46916. (WebCore::ScrollableArea::isPinnedVerticallyInDirection):
  46917. * platform/ScrollableArea.h:
  46918. 2011-07-25 Nico Weber <thakis@chromium.org>
  46919. [chromium] components/mac: Make webcore not depend on CoreAnimation
  46920. https://bugs.webkit.org/show_bug.cgi?id=65143
  46921. Reviewed by James Robinson.
  46922. * platform/chromium/ScrollAnimatorChromiumMac.mm:
  46923. 2011-07-25 Ian Henderson <ianh@apple.com>
  46924. WebFrame should have a method to determine its visual emptiness
  46925. https://bugs.webkit.org/show_bug.cgi?id=64223
  46926. Reviewed by Dan Bernstein.
  46927. * page/FrameView.h:
  46928. (WebCore::FrameView::isVisuallyNonEmpty): Add an accessor to FrameView
  46929. so we can tell whether it's visually non-empty.
  46930. 2011-07-25 Scott Graham <scottmg@chromium.org>
  46931. REGRESSION (r39725?): Resources removed from document can not be freed until the document is deleted
  46932. https://bugs.webkit.org/show_bug.cgi?id=61006
  46933. Reviewed by Nate Chapin.
  46934. Rollback previous patch. Occasional crashes seen caused by
  46935. CachedResource being deleted twice.
  46936. * loader/cache/CachedResourceLoader.cpp:
  46937. (WebCore::CachedResourceLoader::CachedResourceLoader):
  46938. (WebCore::CachedResourceLoader::loadDone):
  46939. * loader/cache/CachedResourceLoader.h:
  46940. 2011-07-25 Chris Rogers <crogers@google.com>
  46941. Deprecate AudioBufferSourceNode .looping attribute and implement .loop
  46942. https://bugs.webkit.org/show_bug.cgi?id=65133
  46943. Reviewed by Kenneth Russell.
  46944. No new tests since audio API is not yet implemented.
  46945. * webaudio/AudioBufferSourceNode.cpp:
  46946. (WebCore::AudioBufferSourceNode::renderFromBuffer):
  46947. (WebCore::AudioBufferSourceNode::totalPitchRate):
  46948. (WebCore::AudioBufferSourceNode::looping):
  46949. (WebCore::AudioBufferSourceNode::setLooping):
  46950. * webaudio/AudioBufferSourceNode.h:
  46951. (WebCore::AudioBufferSourceNode::loop):
  46952. (WebCore::AudioBufferSourceNode::setLoop):
  46953. * webaudio/AudioBufferSourceNode.idl:
  46954. 2011-07-25 James Robinson <jamesr@chromium.org>
  46955. [chromium] HUD texture must be unreserved after drawing
  46956. https://bugs.webkit.org/show_bug.cgi?id=65122
  46957. Unreserve the HUD texture after drawing. To test, start chrome in debug with --show-fps-counter. Since this is
  46958. a debugging option, no tests.
  46959. * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
  46960. (WebCore::CCHeadsUpDisplay::draw):
  46961. 2011-07-25 David Grogan <dgrogan@chromium.org>
  46962. Fix leveldb crash when compacting during destruction
  46963. https://bugs.webkit.org/show_bug.cgi?id=64494
  46964. Reviewed by Nate Chapin.
  46965. Only tested manually so far by following the repro instructions at
  46966. crbug.com/88944
  46967. * platform/leveldb/LevelDBDatabase.cpp:
  46968. (WebCore::LevelDBDatabase::~LevelDBDatabase):
  46969. * storage/IDBLevelDBBackingStore.cpp:
  46970. (WebCore::IDBLevelDBBackingStore::~IDBLevelDBBackingStore):
  46971. 2011-07-25 David Reveman <reveman@chromium.org>
  46972. [Chromium] Use correct vertex shader when rendering video layer.
  46973. https://bugs.webkit.org/show_bug.cgi?id=65131
  46974. Reviewed by James Robinson.
  46975. Add new VertexShaderQuad program that is used by LayerTilerChromium.
  46976. Change VertexShaderPosTexTransform so it works with CCVideoLayerImpl.
  46977. * platform/graphics/chromium/LayerTilerChromium.h:
  46978. * platform/graphics/chromium/ShaderChromium.cpp:
  46979. (WebCore::VertexShaderPosTexTransform::VertexShaderPosTexTransform):
  46980. (WebCore::VertexShaderPosTexTransform::init):
  46981. (WebCore::VertexShaderPosTexTransform::getShaderString):
  46982. (WebCore::VertexShaderQuad::VertexShaderQuad):
  46983. (WebCore::VertexShaderQuad::init):
  46984. (WebCore::VertexShaderQuad::getShaderString):
  46985. * platform/graphics/chromium/ShaderChromium.h:
  46986. (WebCore::VertexShaderQuad::matrixLocation):
  46987. (WebCore::VertexShaderQuad::texTransformLocation):
  46988. 2011-07-25 Patrick Gansterer <paroga@webkit.org>
  46989. Fix AtomicString vs. String usage in accessibility code
  46990. https://bugs.webkit.org/show_bug.cgi?id=65086
  46991. Reviewed by Darin Adler.
  46992. Use AtomicString instead of String where appropriate
  46993. to avoid implicit type conversations.
  46994. Also fix a invalid reference to a temporary String.
  46995. * accessibility/AccessibilityObject.h:
  46996. (WebCore::AccessibilityObject::setAccessibleName):
  46997. * accessibility/AccessibilityRenderObject.cpp:
  46998. (WebCore::AccessibilityRenderObject::elementsFromAttribute):
  46999. (WebCore::AccessibilityRenderObject::ariaAccessibilityDescription):
  47000. (WebCore::AccessibilityRenderObject::setAccessibleName):
  47001. * accessibility/AccessibilityRenderObject.h:
  47002. 2011-07-25 Dan Bernstein <mitz@apple.com>
  47003. Reverted r91699 due to
  47004. <http://webkit.org/b/65134> REGRESSION: r91699 broke some font tests (image+text)
  47005. Many tests relied on font loading occurring synchronously in the cached and local cases.
  47006. * css/CSSFontFaceSource.cpp:
  47007. (WebCore::CSSFontFaceSource::CSSFontFaceSource):
  47008. (WebCore::CSSFontFaceSource::~CSSFontFaceSource):
  47009. (WebCore::CSSFontFaceSource::getFontData):
  47010. * css/CSSFontFaceSource.h:
  47011. 2011-06-07 Martin Robinson <mrobinson@igalia.com>
  47012. Reviewed by Gustavo Noronha Silva.
  47013. [GTK] Use WebCore scrollbars for the DRT instead of GtkScrolledWindow
  47014. https://bugs.webkit.org/show_bug.cgi?id=62252
  47015. Properly handle the situation where the GtkWidget wants WebCore to draw its
  47016. own main frame scrollbars.
  47017. * platform/gtk/ScrollViewGtk.cpp:
  47018. (WebCore::shouldCreateMainFrameScrollbar): Abstract this logic into a helper function.
  47019. (WebCore::ScrollView::createScrollbar): Use the new helper.
  47020. (WebCore::ScrollView::visibleContentRect): Use the new helper.
  47021. 2011-07-25 David Hyatt <hyatt@apple.com>
  47022. https://bugs.webkit.org/show_bug.cgi?id=65125
  47023. (1) Add the new CSS3 positioned value for floats.
  47024. (2) Rename FLEFT, FRIGHT and FNONE to our more modern convention: NoFloat, LeftFloat, RightFloat.
  47025. (3) Replace uses of == FNONE and != FNONE with isFloating and !isFloating.
  47026. Reviewed by Dan Bernstein.
  47027. * css/CSSParser.cpp:
  47028. (WebCore::CSSParser::parseValue):
  47029. * css/CSSPrimitiveValueMappings.h:
  47030. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  47031. (WebCore::CSSPrimitiveValue::operator EFloat):
  47032. * css/CSSStyleSelector.cpp:
  47033. (WebCore::CSSStyleSelector::adjustRenderStyle):
  47034. * css/CSSValueKeywords.in:
  47035. * editing/ReplaceSelectionCommand.cpp:
  47036. (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
  47037. * rendering/RenderBlock.cpp:
  47038. (WebCore::RenderBlock::insertFloatingObject):
  47039. (WebCore::RenderBlock::positionNewFloats):
  47040. (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
  47041. (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
  47042. * rendering/RenderObjectChildList.cpp:
  47043. (WebCore::RenderObjectChildList::updateBeforeAfterContent):
  47044. * rendering/style/RenderStyle.h:
  47045. (WebCore::InheritedFlags::isFloating):
  47046. (WebCore::InheritedFlags::initialFloating):
  47047. * rendering/style/RenderStyleConstants.h:
  47048. 2011-07-25 Dan Bernstein <mitz@apple.com>
  47049. <rdar://problem/9835028> Font loading during layout can cause layout code to be re-entered via resource load delegate
  47050. https://bugs.webkit.org/show_bug.cgi?id=65123
  47051. Reviewed by Anders Carlsson.
  47052. Since CSSFontFaceSource::getFontData() can get called during layout, avoid calling out to loader
  47053. code from under it, and instead defer that work using a zero-delay timer.
  47054. * css/CSSFontFaceSource.cpp:
  47055. (WebCore::CSSFontFaceSource::CSSFontFaceSource):
  47056. (WebCore::CSSFontFaceSource::~CSSFontFaceSource):
  47057. (WebCore::CSSFontFaceSource::getFontData): Rather than starting the font load here, schedule
  47058. a zero-delay timer to do it.
  47059. (WebCore::CSSFontFaceSource::startLoadingTimerFired): Added. Starts loading the font if needed.
  47060. * css/CSSFontFaceSource.h:
  47061. 2011-07-25 Andrew Wason <rectalogic@rectalogic.com>
  47062. [Qt] Adopt GraphicsContext3DOpenGL.cpp and ANGLE (part 2)
  47063. https://bugs.webkit.org/show_bug.cgi?id=64878
  47064. Reviewed by Noam Rosenthal.
  47065. Existing WebGL layout tests should test this.
  47066. Adopt GraphicsContext3DOpenGL.cpp and ANGLE compiler for Qt.
  47067. * WebCore.pro: Build ANGLE compiler and GraphicsContext3DOpenGL.cpp.
  47068. * platform/graphics/ANGLEWebKitBridge.h:
  47069. * platform/graphics/GraphicsContext3D.h: Expose exising ANGLEWebKitBridge compiler member for Qt.
  47070. * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
  47071. * platform/graphics/qt/GraphicsContext3DQt.cpp:
  47072. (WebCore::GraphicsContext3D::GraphicsContext3D): Initialize ANGLE resources.
  47073. 2011-07-25 Daniel Bates <dbates@rim.com>
  47074. REGRESSION (r85964): Improper relayout of some nested positioned elements
  47075. https://bugs.webkit.org/show_bug.cgi?id=64286
  47076. Reviewed by David Hyatt.
  47077. Fixes an issue when traversing up the containing block hierarchy after skipping
  47078. relatively positioned inlines.
  47079. When processing a positioned element we skip any intermediate inlines to get to
  47080. to enclosing block B, but don't use the containing block for B (call this P_B) to
  47081. properly continue traversing up the containing block hierarchy. So, B may be
  47082. considered again instead of looking at P_B. Hence, we don't set the correct dirty
  47083. bits for P_B and may not schedule a relayout with respect to the correct layout node.
  47084. Test: fast/block/positioning/relayout-nested-positioned-elements-crash.html
  47085. * rendering/RenderObject.h:
  47086. (WebCore::RenderObject::markContainingBlocksForLayout):
  47087. 2011-07-25 Arno Renevier <arno@renevier.net>
  47088. removes last ENABLE(DRAG_SUPPORT) gtk check
  47089. https://bugs.webkit.org/show_bug.cgi?id=64518
  47090. Reviewed by Martin Robinson.
  47091. * platform/gtk/ClipboardGtk.h:
  47092. 2011-07-25 Alexandru Chiculita <achicu@adobe.com>
  47093. [CSS Exclusions] Use HANDLE_INHERIT_AND_INITIAL when parsing -webkit-wrap-shape
  47094. https://bugs.webkit.org/show_bug.cgi?id=65096
  47095. Also the 'inherit' keyword is now treated correctly. It will
  47096. copy the value from the parent style.
  47097. Reviewed by Tony Chang.
  47098. * css/CSSStyleSelector.cpp:
  47099. (WebCore::CSSStyleSelector::applyProperty):
  47100. 2011-07-25 Andrew Wason <rectalogic@rectalogic.com>
  47101. glActiveTexture(0) is invalid
  47102. https://bugs.webkit.org/show_bug.cgi?id=65115
  47103. Reviewed by Kenneth Russell.
  47104. Existing WebGL layout tests.
  47105. Fix invalid glActiveTexture(0) call.
  47106. * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
  47107. (WebCore::GraphicsContext3D::prepareTexture):
  47108. 2011-07-25 Sheriff Bot <webkit.review.bot@gmail.com>
  47109. Unreviewed, rolling out r91665.
  47110. http://trac.webkit.org/changeset/91665
  47111. https://bugs.webkit.org/show_bug.cgi?id=65118
  47112. Breaks inspector tests on JSC (Requested by pfeldman on
  47113. #webkit).
  47114. * inspector/InjectedScriptSource.js:
  47115. (.):
  47116. ():
  47117. * inspector/Inspector.json:
  47118. * inspector/front-end/ConsoleView.js:
  47119. (WebInspector.ConsoleView.prototype._format):
  47120. (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
  47121. (WebInspector.ConsoleMessage.prototype._format):
  47122. * inspector/front-end/ElementsTreeOutline.js:
  47123. (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
  47124. * inspector/front-end/ObjectPropertiesSection.js:
  47125. (WebInspector.ObjectPropertyTreeElement.prototype.update):
  47126. * inspector/front-end/PropertiesSidebarPane.js:
  47127. (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
  47128. * inspector/front-end/RemoteObject.js:
  47129. (WebInspector.RemoteObject):
  47130. (WebInspector.RemoteObject.fromPrimitiveValue):
  47131. (WebInspector.RemoteObject.fromPayload):
  47132. (WebInspector.RemoteObject.prototype.callFunction):
  47133. (WebInspector.LocalJSONObject.prototype.get type):
  47134. * inspector/front-end/SourceFrame.js:
  47135. (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
  47136. (WebInspector.SourceFrame.prototype._showPopup):
  47137. * inspector/front-end/inspector.js:
  47138. (WebInspector.log.logMessage):
  47139. (WebInspector.log):
  47140. (WebInspector.inspect):
  47141. 2011-07-25 Sheriff Bot <webkit.review.bot@gmail.com>
  47142. Unreviewed, rolling out r91668.
  47143. http://trac.webkit.org/changeset/91668
  47144. https://bugs.webkit.org/show_bug.cgi?id=65117
  47145. Breaks inspector tests on JSC (Requested by pfeldman on
  47146. #webkit).
  47147. * inspector/InjectedScript.cpp:
  47148. (WebCore::InjectedScript::callFunctionOn):
  47149. * inspector/InjectedScript.h:
  47150. * inspector/InjectedScriptSource.js:
  47151. (.):
  47152. * inspector/Inspector.json:
  47153. * inspector/InspectorRuntimeAgent.cpp:
  47154. (WebCore::InspectorRuntimeAgent::callFunctionOn):
  47155. 2011-07-25 Pavel Feldman <pfeldman@google.com>
  47156. Web Inspector: use dedicated type for object id in the protocol.
  47157. https://bugs.webkit.org/show_bug.cgi?id=65110
  47158. Reviewed by Yury Semikhatsky.
  47159. * inspector/InjectedScript.cpp:
  47160. (WebCore::InjectedScript::callFunctionOn):
  47161. * inspector/InjectedScript.h:
  47162. * inspector/InjectedScriptSource.js:
  47163. (.):
  47164. * inspector/Inspector.json:
  47165. * inspector/InspectorRuntimeAgent.cpp:
  47166. (WebCore::InspectorRuntimeAgent::callFunctionOn):
  47167. 2011-07-25 Yury Semikhatsky <yurys@chromium.org>
  47168. [Chromium] Web Inspector: live edit error should be revealed in Console
  47169. https://bugs.webkit.org/show_bug.cgi?id=65109
  47170. Reviewed by Pavel Feldman.
  47171. * inspector/front-end/SourceFrame.js:
  47172. (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
  47173. (WebInspector.SourceFrame.prototype.commitEditing):
  47174. 2011-07-25 Pavel Feldman <pfeldman@google.com>
  47175. Web Inspector: refactor remote object structure to contain value for primitive values.
  47176. https://bugs.webkit.org/show_bug.cgi?id=65103
  47177. Reviewed by Yury Semikhatsky.
  47178. * inspector/InjectedScriptSource.js:
  47179. * inspector/Inspector.json:
  47180. * inspector/front-end/ConsoleView.js:
  47181. (WebInspector.ConsoleView.prototype._format):
  47182. (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
  47183. (WebInspector.ConsoleMessage.prototype._format):
  47184. * inspector/front-end/ElementsTreeOutline.js:
  47185. (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
  47186. * inspector/front-end/ObjectPropertiesSection.js:
  47187. (WebInspector.ObjectPropertyTreeElement.prototype.update):
  47188. * inspector/front-end/PropertiesSidebarPane.js:
  47189. (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
  47190. * inspector/front-end/RemoteObject.js:
  47191. (WebInspector.RemoteObject):
  47192. (WebInspector.RemoteObject.fromPrimitiveValue):
  47193. (WebInspector.RemoteObject.fromPayload):
  47194. (WebInspector.RemoteObject.prototype.get subtype):
  47195. (WebInspector.RemoteObject.prototype.callFunction):
  47196. (WebInspector.LocalJSONObject.prototype.get type):
  47197. (WebInspector.LocalJSONObject.prototype.get subtype):
  47198. * inspector/front-end/SourceFrame.js:
  47199. (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
  47200. (WebInspector.SourceFrame.prototype._showPopup):
  47201. * inspector/front-end/inspector.js:
  47202. (WebInspector.log.logMessage):
  47203. (WebInspector.log):
  47204. (WebInspector.inspect):
  47205. 2011-07-25 Mikhail Naganov <mnaganov@chromium.org>
  47206. Web Inspector: [Chromium] Fix mixing of retaining path in heap profiler.
  47207. https://bugs.webkit.org/show_bug.cgi?id=65028
  47208. Reviewed by Pavel Feldman.
  47209. * inspector/front-end/DetailedHeapshotView.js:
  47210. (WebInspector.HeapSnapshotPathFinderState): Added
  47211. (WebInspector.HeapSnapshotRetainingPathsList): Extracted State-specific code
  47212. 2011-07-25 Yury Semikhatsky <yurys@chromium.org>
  47213. Web Inspector: worker inspector should show Scripts panel by default
  47214. https://bugs.webkit.org/show_bug.cgi?id=65099
  47215. Reviewed by Pavel Feldman.
  47216. * inspector/front-end/inspector.js:
  47217. (WebInspector._defaultPanelName):
  47218. (WebInspector.showPanel):
  47219. 2011-07-24 Luke Macpherson <macpherson@chromium.org>
  47220. Small cleanup of m_fontDirty tracking in CSSStyleSelector
  47221. https://bugs.webkit.org/show_bug.cgi?id=65090
  47222. Reviewed by Darin Adler.
  47223. 1) Use existing setFontDescription helper where appropriate.
  47224. 2) Move always used m_fontDirty check into updateFont()
  47225. No new tests / cleanup only.
  47226. * css/CSSStyleSelector.cpp:
  47227. (WebCore::CSSStyleSelector::styleForElement):
  47228. (WebCore::CSSStyleSelector::styleForKeyframe):
  47229. (WebCore::CSSStyleSelector::pseudoStyleForElement):
  47230. (WebCore::CSSStyleSelector::styleForPage):
  47231. (WebCore::CSSStyleSelector::updateFontIfDirty):
  47232. (WebCore::CSSStyleSelector::applyProperty):
  47233. * css/CSSStyleSelector.h:
  47234. 2011-07-24 Kent Tamura <tkent@chromium.org>
  47235. Validation message bubble position is incorrect if the containing block has paddings.
  47236. https://bugs.webkit.org/show_bug.cgi?id=65091
  47237. Reviewed by Hajime Morita.
  47238. * html/ValidationMessage.cpp:
  47239. (WebCore::adjustBubblePosition):
  47240. We don't need to subtract paddings because the origin of
  47241. position:aboslute is inside borders and outside of the padding.
  47242. 2011-07-24 Rob Buis <rbuis@rim.com>
  47243. Crash in SVGUseElement::updateContainerOffsets on <use> with no parent
  47244. https://bugs.webkit.org/show_bug.cgi?id=63646
  47245. Reviewed by Darin Adler.
  47246. Prevent using invalid targetElementInstance->shadowTreeElement after shadow render tree recreation. This situation can
  47247. only occur when there was a valid shadowTreeElement before setting xlink:href to empty/invalid.
  47248. Test: svg/custom/use-shadow-root-parent-removal.svg
  47249. * svg/SVGUseElement.cpp:
  47250. (WebCore::SVGUseElement::svgAttributeChanged):
  47251. 2011-07-24 Patrick Gansterer <paroga@webkit.org>
  47252. Fix AtomicString vs. String usage in JSC binding
  47253. https://bugs.webkit.org/show_bug.cgi?id=65085
  47254. Reviewed by Darin Adler.
  47255. Use ustringToAtomicString instead of ustringToString where appropriate.
  47256. * bindings/js/JSHTMLAllCollectionCustom.cpp:
  47257. * bindings/js/JSHTMLCollectionCustom.cpp:
  47258. 2011-07-24 Luke Macpherson <macpherson@chromium.org>
  47259. Implement CSSPropertyOutlineOffset in CSSStyleApplyProperty.
  47260. https://bugs.webkit.org/show_bug.cgi?id=64773
  47261. Reviewed by Dimitri Glazkov.
  47262. No new tests / refactoring only.
  47263. * css/CSSStyleApplyProperty.cpp:
  47264. (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
  47265. * css/CSSStyleSelector.cpp:
  47266. (WebCore::CSSStyleSelector::applyProperty):
  47267. 2011-07-24 Rob Buis <rbuis@rim.com>
  47268. SVG <use> element is not repositioned when moved to x=0 y=0 through script
  47269. https://bugs.webkit.org/show_bug.cgi?id=53767
  47270. Reviewed by Nikolas Zimmermann.
  47271. Only bail out on zero offset if it is not explicitly set.
  47272. Test: svg/custom/use-move-to-offset.svg
  47273. * rendering/svg/RenderSVGTransformableContainer.cpp:
  47274. (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
  47275. * rendering/svg/SVGShadowTreeElements.cpp:
  47276. (WebCore::SVGShadowTreeContainerElement::SVGShadowTreeContainerElement):
  47277. (WebCore::SVGShadowTreeContainerElement::setContainerOffset):
  47278. * rendering/svg/SVGShadowTreeElements.h:
  47279. (WebCore::SVGShadowTreeContainerElement::containerOffsetChanged):
  47280. (WebCore::SVGShadowTreeContainerElement::setContainerOffsetChanged):
  47281. 2011-07-24 Jeffrey Pfau <jpfau@apple.com>
  47282. Refactor HTML tokenizer code in preparation for a new XML tokenizer
  47283. https://bugs.webkit.org/show_bug.cgi?id=65000
  47284. Reviewed by Adam Barth.
  47285. * GNUmakefile.list.am:
  47286. * WebCore.gypi:
  47287. * WebCore.pro:
  47288. * WebCore.vcproj/WebCore.vcproj:
  47289. * WebCore.xcodeproj/project.pbxproj:
  47290. * html/parser/HTMLDocumentParser.cpp:
  47291. (WebCore::HTMLNames::tokenizerStateForContextElement):
  47292. (WebCore::HTMLDocumentParser::pumpTokenizer):
  47293. * html/parser/HTMLTokenizer.cpp:
  47294. (WebCore::HTMLNames::isEndTagBufferingState):
  47295. (WebCore::HTMLTokenizer::HTMLTokenizer):
  47296. (WebCore::::shouldSkipNullCharacters):
  47297. (WebCore::HTMLTokenizer::reset):
  47298. (WebCore::HTMLTokenizer::flushEmitAndResumeIn):
  47299. (WebCore::HTMLTokenizer::nextToken):
  47300. (WebCore::HTMLTokenizer::updateStateFor):
  47301. * html/parser/HTMLTokenizer.h:
  47302. (WebCore::HTMLTokenizer::emitAndResumeIn):
  47303. (WebCore::HTMLTokenizer::emitAndReconsumeIn):
  47304. (WebCore::HTMLTokenizer::saveEndTagNameIfNeeded):
  47305. * html/parser/HTMLTreeBuilder.cpp:
  47306. (WebCore::HTMLTreeBuilder::processStartTagForInBody):
  47307. (WebCore::HTMLTreeBuilder::processEndTag):
  47308. (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
  47309. (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
  47310. (WebCore::HTMLTreeBuilder::processScriptStartTag):
  47311. * html/parser/TextDocumentParser.cpp:
  47312. (WebCore::TextDocumentParser::TextDocumentParser):
  47313. * html/parser/TextViewSourceParser.cpp:
  47314. (WebCore::TextViewSourceParser::TextViewSourceParser):
  47315. * xml/parser/MarkupTokenBase.h:
  47316. (WebCore::MarkupTokenBase::type):
  47317. * xml/parser/MarkupTokenizerBase.h: Added.
  47318. (WebCore::MarkupTokenizerBase::~MarkupTokenizerBase):
  47319. (WebCore::MarkupTokenizerBase::lineNumber):
  47320. (WebCore::MarkupTokenizerBase::columnNumber):
  47321. (WebCore::MarkupTokenizerBase::state):
  47322. (WebCore::MarkupTokenizerBase::setState):
  47323. (WebCore::MarkupTokenizerBase::forceNullCharacterReplacement):
  47324. (WebCore::MarkupTokenizerBase::setForceNullCharacterReplacement):
  47325. (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::InputStreamPreprocessor):
  47326. (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::nextInputCharacter):
  47327. (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::peek):
  47328. (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::advance):
  47329. (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::shouldTreatNullAsEndOfFileMarker):
  47330. (WebCore::MarkupTokenizerBase::MarkupTokenizerBase):
  47331. (WebCore::MarkupTokenizerBase::bufferCharacter):
  47332. (WebCore::MarkupTokenizerBase::emitAndResumeIn):
  47333. (WebCore::MarkupTokenizerBase::emitAndReconsumeIn):
  47334. (WebCore::MarkupTokenizerBase::emitEndOfFile):
  47335. (WebCore::MarkupTokenizerBase::reset):
  47336. (WebCore::MarkupTokenizerBase::haveBufferedCharacterToken):
  47337. * xml/parser/MarkupTokenizerInlineMethods.h: Added.
  47338. (WebCore::isTokenizerWhitespace):
  47339. (WebCore::advanceStringAndASSERTIgnoringCase):
  47340. (WebCore::advanceStringAndASSERT):
  47341. 2011-07-23 Patrick Gansterer <paroga@webkit.org>
  47342. Remove WTF namespace from isMainThread() calls
  47343. https://bugs.webkit.org/show_bug.cgi?id=65068
  47344. Reviewed by Sam Weinig.
  47345. Because of the using WTF::isMainThread in the header there is no
  47346. reason to include the namespace name when calling this function.
  47347. * bindings/js/JSMainThreadExecState.h:
  47348. * bindings/v8/DOMDataStore.cpp:
  47349. * bindings/v8/V8Binding.cpp:
  47350. * bindings/v8/V8DOMMap.cpp:
  47351. * bindings/v8/V8DOMWrapper.h:
  47352. * page/DOMWindow.cpp:
  47353. * page/History.cpp:
  47354. 2011-07-23 Alok Priyadarshi <alokp@chromium.org>
  47355. Switching off acceleration for small canvas broke gpu tests
  47356. https://bugs.webkit.org/show_bug.cgi?id=65053
  47357. Reviewed by Stephen White.
  47358. No new tests. These are supposed to fix existing canvas tests on gpu.
  47359. * html/canvas/CanvasRenderingContext2D.cpp:
  47360. (WebCore::shouldAccelerateCanvas):
  47361. * page/Settings.cpp:
  47362. (WebCore::Settings::Settings):
  47363. (WebCore::Settings::setLegacyAccelerated2dCanvasEnabled):
  47364. (WebCore::Settings::setMinimumAccelerated2dCanvasSize):
  47365. * page/Settings.h:
  47366. (WebCore::Settings::minimumAccelerated2dCanvasSize):
  47367. 2011-07-23 Rob Buis <rbuis@rim.com>
  47368. Freed SVGTRefElement used in SVGStyledElement::buildPendingResourcesIfNeeded
  47369. https://bugs.webkit.org/show_bug.cgi?id=64758
  47370. Reviewed by Nikolas Zimmermann.
  47371. Fix the crash by storing referenced content inside a shadow tree. This way removing child nodes of
  47372. the <tref> does not remove the referenced content.
  47373. * dom/Text.cpp:
  47374. (WebCore::Text::recalcStyle):
  47375. * dom/Text.h:
  47376. * svg/SVGTRefElement.cpp:
  47377. (WebCore::SVGShadowText::create):
  47378. (WebCore::SVGShadowText::SVGShadowText):
  47379. (WebCore::SVGShadowText::createRenderer):
  47380. (WebCore::SVGShadowText::recalcStyle):
  47381. (WebCore::SVGTRefElement::updateReferencedText):
  47382. (WebCore::SVGTRefElement::childShouldCreateRenderer):
  47383. 2011-07-23 Shinya Kawanaka <shinyak@google.com>
  47384. Display number field without using a thousand separator.
  47385. https://bugs.webkit.org/show_bug.cgi?id=65064
  47386. Reviewed by Kent Tamura.
  47387. Separated formatters for parsing and displaying.
  47388. Removed a test for thousand separator.
  47389. * manual-tests/input-number-localization.html:
  47390. Removed a test for thousand separator.
  47391. Made the test description more specific.
  47392. * platform/text/LocalizedNumberICU.cpp:
  47393. (WebCore::createFormatterForCurrentLocaleToDisplay):
  47394. Added to introduce a formatter for display.
  47395. (WebCore::numberFormatterForParsing):
  47396. Changed the name to be clear.
  47397. (WebCore::numberFormatterForDisplay): Added.
  47398. (WebCore::parseLocalizedNumber): Used numberFormatterForParsing.
  47399. (WebCore::formatLocalizedNumber): Used numberFormatterForDisplay.
  47400. * platform/text/mac/LocalizedNumberMac.mm:
  47401. (WebCore::createFormatterForCurrentLocaleForDisplay):
  47402. Added to introduce a formatter for display.
  47403. (WebCore::numberFormatterForParsing):
  47404. Changed the name to be clear.
  47405. (WebCore::numberFormatterForDisplay): Added.
  47406. (WebCore::parseLocalizedNumber): Used numberFormatterForParsing.
  47407. (WebCore::formatLocalizedNumber): Used numberFormatterForDisplay.
  47408. 2011-07-22 James Robinson <jamesr@chromium.org>
  47409. [chromium] Seperate texture management for contents textures vs render surface textures
  47410. https://bugs.webkit.org/show_bug.cgi?id=64771
  47411. Reviewed by Kenneth Russell.
  47412. Splits the chromium texture management across two TextureManagers, one for contents textures and one for render
  47413. surfaces. The lifetimes and relative evicition costs for these types of textures are significantly different.
  47414. Content textures need to be managed from paint time through draw time and evicting them is generally expensive,
  47415. since replacing the texture requires doing a software repaint into a buffer, creating a new texture, and
  47416. uploading the contents into the texture. Render surface textures are only used while drawing and never contain
  47417. useful contents between frames. The only reason to preserve a render surface texture between frames is to avoid
  47418. having to create the texture on the next frame, they never contain useful contents across frames.
  47419. The contents texture limits remain the same. Render surfaces are allocated the difference between the high
  47420. memory bound and the contents texture memory use during a frame and the difference between the low memory bound
  47421. and the contents texture memory use between frames.
  47422. Covered by existing compositing tests.
  47423. * platform/graphics/chromium/LayerRendererChromium.cpp:
  47424. (WebCore::LayerRendererChromium::releaseTextures):
  47425. (WebCore::LayerRendererChromium::drawLayers):
  47426. (WebCore::LayerRendererChromium::updateLayers):
  47427. (WebCore::LayerRendererChromium::initializeSharedObjects):
  47428. (WebCore::LayerRendererChromium::cleanupSharedObjects):
  47429. * platform/graphics/chromium/LayerRendererChromium.h:
  47430. (WebCore::LayerRendererChromium::contentsTextureManager):
  47431. (WebCore::LayerRendererChromium::renderSurfaceTextureManager):
  47432. * platform/graphics/chromium/LayerTilerChromium.cpp:
  47433. (WebCore::LayerTilerChromium::createTile):
  47434. * platform/graphics/chromium/RenderSurfaceChromium.cpp:
  47435. (WebCore::RenderSurfaceChromium::prepareContentsTexture):
  47436. * platform/graphics/chromium/TextureManager.cpp:
  47437. (WebCore::TextureManager::TextureManager):
  47438. (WebCore::TextureManager::setMemoryLimitBytes):
  47439. (WebCore::TextureManager::requestTexture):
  47440. * platform/graphics/chromium/TextureManager.h:
  47441. (WebCore::TextureManager::create):
  47442. (WebCore::TextureManager::currentMemoryUseBytes):
  47443. * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
  47444. (WebCore::CCHeadsUpDisplay::draw):
  47445. 2011-07-22 Simon Fraser <simon.fraser@apple.com>
  47446. Avoiding painting backgrounds if they are fully obscures by an object's foreground
  47447. https://bugs.webkit.org/show_bug.cgi?id=65030
  47448. Reviewed by Dan Bernstein.
  47449. Some pages use animated loading GIFs as the background of <img>,
  47450. but WebKit keeps animating these after the <img> has loaded.
  47451. Thwart this by avoiding the painting of such backgrounds, if we can
  47452. determine that they are completely obscured by the border and content
  47453. of the element.
  47454. * platform/graphics/BitmapImage.h:
  47455. (WebCore::BitmapImage::currentFrameHasAlpha): Utility method, since currentFrame()
  47456. is protected.
  47457. * rendering/RenderBox.cpp:
  47458. (WebCore::RenderBox::paintBoxDecorations): Call paintBackground().
  47459. (WebCore::RenderBox::paintBackground): New wrapper for the paintFillLayers() which
  47460. paints the background layers, plus some code we call in a couple of places. This
  47461. checks the new backgroundIsObscured() method before doing any painting.
  47462. * rendering/RenderBox.h:
  47463. (WebCore::RenderBox::backgroundIsObscured): New virtual method that determines
  47464. whether any of the background is visible.
  47465. * rendering/RenderBoxModelObject.h:
  47466. * rendering/RenderBoxModelObject.cpp:
  47467. (WebCore::BorderEdge::obscuresBackground): Returns true if this edge will
  47468. entirely hide the background under it.
  47469. (WebCore::RenderBoxModelObject::borderObscuresBackground): Determine whether
  47470. the border hides the background.
  47471. * rendering/RenderImage.cpp:
  47472. (WebCore::RenderImage::backgroundIsObscured): Override the RenderBox method
  47473. and return true if the image is a loaded, opaque bitmap image, and the background
  47474. won't show in the border or padding areas.
  47475. * rendering/RenderImage.h:
  47476. * rendering/RenderTable.cpp:
  47477. (WebCore::RenderTable::paintBoxDecorations): Use paintBackground().
  47478. 2011-07-22 Kenneth Russell <kbr@google.com>
  47479. HTMLImageElement::crossOrigin is hard to use because of caching
  47480. https://bugs.webkit.org/show_bug.cgi?id=64813
  47481. Reviewed by Adam Barth.
  47482. Reload the resource if the allowCredentials flag doesn't match that in the request.
  47483. Test: http/tests/security/canvas-remote-read-remote-image-blocked-then-allowed.html
  47484. * loader/cache/CachedResourceLoader.cpp:
  47485. (WebCore::CachedResourceLoader::requestResource):
  47486. (WebCore::CachedResourceLoader::determineRevalidationPolicy):
  47487. * loader/cache/CachedResourceLoader.h:
  47488. 2011-07-22 Simon Fraser <simon.fraser@apple.com>
  47489. Need to update the acceleratesDrawing status on a layer when switching to/from tiled layers
  47490. https://bugs.webkit.org/show_bug.cgi?id=65057
  47491. Reviewed by Joseph Pecoraro.
  47492. When switching to or from tiled layers, we need to update the new layer's
  47493. acceleratesDrawing status.
  47494. * platform/graphics/ca/GraphicsLayerCA.cpp:
  47495. (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
  47496. 2011-07-22 Mark Pilgrim <pilgrim@chromium.org>
  47497. Add [Optional=CallWithDefaultValues] flag and use it in initXXXEvent declarations
  47498. https://bugs.webkit.org/show_bug.cgi?id=64973
  47499. Reviewed by Adam Barth.
  47500. We are doing away with the interface-level LegacyDefaultOptionalArguments
  47501. flag. To handle some cases of the old behavior, we need to define a new
  47502. (argument-level) flag so that functions can define optional arguments
  47503. but not have to declare every single combination of arguments in C++.
  47504. The old code generator handled this by calling a single C++ function
  47505. with all arguments, but with default values for the "optional" arguments.
  47506. Thus, this patch invents a new argument-level flag called
  47507. [Optional=CallWithDefaultValue] that emulates the old behavior.
  47508. This patch also fixes all the initXXXEvent declarations to remove the
  47509. LegacyDefaultOptionalArguments flag and use the new
  47510. [Optional=CallWithDefaultValue] flag only on the specific arguments that
  47511. require it for backward compatibility.
  47512. No new tests, all existing tests pass.
  47513. * bindings/scripts/CodeGeneratorJS.pm:
  47514. (GenerateImplementation):
  47515. * bindings/scripts/CodeGeneratorV8.pm:
  47516. (GenerateFunctionCallback):
  47517. * dom/BeforeLoadEvent.idl:
  47518. * dom/BeforeProcessEvent.idl:
  47519. * dom/CompositionEvent.idl:
  47520. * dom/CustomEvent.idl:
  47521. * dom/DeviceMotionEvent.idl:
  47522. * dom/DeviceOrientationEvent.idl:
  47523. * dom/ErrorEvent.idl:
  47524. * dom/Event.idl:
  47525. * dom/HashChangeEvent.idl:
  47526. * dom/KeyboardEvent.idl:
  47527. * dom/MessageEvent.idl:
  47528. * dom/MouseEvent.idl:
  47529. * dom/MutationEvent.idl:
  47530. * dom/OverflowEvent.idl:
  47531. * dom/PageTransitionEvent.idl:
  47532. * dom/PopStateEvent.idl:
  47533. * dom/ProgressEvent.idl:
  47534. * dom/StreamEvent.idl:
  47535. * dom/TextEvent.idl:
  47536. * dom/TouchEvent.idl:
  47537. * dom/UIEvent.idl:
  47538. * dom/WebKitAnimationEvent.idl:
  47539. * dom/WebKitTransitionEvent.idl:
  47540. * dom/WheelEvent.idl:
  47541. * html/canvas/WebGLContextEvent.idl:
  47542. * storage/StorageEvent.idl:
  47543. * websockets/CloseEvent.idl:
  47544. 2011-07-22 Jessie Berlin <jberlin@apple.com>
  47545. [WebKit2] Changing the cookie accept policy in Private Browsing doesn’t work
  47546. https://bugs.webkit.org/show_bug.cgi?id=64997
  47547. Reviewed by Ada Chan.
  47548. * WebCore.exp.in:
  47549. * platform/mac/WebCoreSystemInterface.h:
  47550. * platform/mac/WebCoreSystemInterface.mm:
  47551. 2011-07-22 Sergey Glazunov <serg.glazunov@gmail.com>
  47552. Perform the JavaScript navigation check on a complete URL
  47553. https://bugs.webkit.org/show_bug.cgi?id=65038
  47554. Reviewed by Adam Barth.
  47555. Test: http/tests/security/xss-DENIED-document-baseURI-javascript.html
  47556. * page/DOMWindow.cpp:
  47557. (WebCore::DOMWindow::setLocation):
  47558. (WebCore::DOMWindow::createWindow):
  47559. (WebCore::DOMWindow::open):
  47560. 2011-07-22 Ryosuke Niwa <rniwa@webkit.org>
  47561. Revert r91595 for it broke Chromium Windows build.
  47562. * WebCore.gyp/WebCore.gyp:
  47563. * WebCore.gypi:
  47564. 2011-07-22 Mihnea Ovidenie <mihnea@adobe.com>
  47565. BORDER attribute with the IMG tag, using percentage values not working.
  47566. https://bugs.webkit.org/show_bug.cgi?id=20226
  47567. Reviewed by Simon Fraser.
  47568. When border presentational attribute of image element has % in it, it should be parsed using
  47569. HTML parser rules. In this case, the algorithm is the one used described in:
  47570. http://www.whatwg.org/specs/web-apps/current-work/#rules-for-parsing-non-negative-integers
  47571. * html/HTMLImageElement.cpp:
  47572. (WebCore::parseBorderWidthAttribute):
  47573. (WebCore::HTMLImageElement::parseMappedAttribute):
  47574. * html/parser/HTMLParserIdioms.cpp:
  47575. (WebCore::parseHTMLNonNegativeInteger):
  47576. * html/parser/HTMLParserIdioms.h:
  47577. 2011-07-22 Scott Graham <scottmg@chromium.org>
  47578. DocumentLoader keeps a reference to all URL strings ever loaded in m_resourcesClientKnowsAbout leading to lots of memory waste
  47579. https://bugs.webkit.org/show_bug.cgi?id=61894
  47580. Reviewed by James Robinson.
  47581. DocumentLoader::m_resourcesClientKnowsAbout is a set of all the URLs
  47582. that have passed through FrameLoader::dispatchWillSendRequest() and is
  47583. used by FrameLoader::loadedResourceFromMemoryCached to decide whether
  47584. to inform the FrameLoader's m_client about this load. Unfortunately,
  47585. this set holds a reference to the URL string for every resource
  47586. loaded, so on pages that use data URLs to "load" large amounts of data
  47587. this leaks lots of memory. The cache improves performance going through
  47588. FrameLoader::loadResourceFromMemoryCache, so rather than removing it,
  47589. simply exclude 'data:' urls from the cache to save the majority of
  47590. memory that is held for too long.
  47591. * loader/DocumentLoader.h:
  47592. (WebCore::DocumentLoader::didTellClientAboutLoad):
  47593. 2011-07-22 Alok Priyadarshi <alokp@chromium.org>
  47594. Use software rendering for small canvas
  47595. https://bugs.webkit.org/show_bug.cgi?id=64958
  47596. Reviewed by Stephen White.
  47597. No new tests. Does not affect rendering output, just canvas backing.
  47598. If there is a regression, they should be caught by existing canvas tests.
  47599. * html/HTMLCanvasElement.cpp:
  47600. (WebCore::HTMLCanvasElement::reset):
  47601. * html/canvas/CanvasRenderingContext2D.cpp:
  47602. (WebCore::shouldAccelerateCanvas):
  47603. (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
  47604. (WebCore::CanvasRenderingContext2D::reset):
  47605. (WebCore::CanvasRenderingContext2D::platformLayer):
  47606. (WebCore::CanvasRenderingContext2D::clearAcceleration):
  47607. (WebCore::CanvasRenderingContext2D::resetAcceleration):
  47608. * html/canvas/CanvasRenderingContext2D.h:
  47609. 2011-07-21 Adrienne Walker <enne@google.com>
  47610. Fix repainting of composited fixed position elements in iframes
  47611. https://bugs.webkit.org/show_bug.cgi?id=64010
  47612. Reviewed by Simon Fraser.
  47613. In cases where an iframe's contents have their own graphics layer, the
  47614. invalidation during scrolling was being sent to the wrong render
  47615. layer. Fixed by checking if such a layer exists and routing scrolling
  47616. invalidations there first.
  47617. * page/FrameView.cpp:
  47618. (WebCore::FrameView::scrollContentsSlowPath):
  47619. 2011-07-22 Viet-Trung Luu <viettrungluu@chromium.org>
  47620. Improve (i.e., speed up) .gyp(i) files for Chromium
  47621. https://bugs.webkit.org/show_bug.cgi?id=65032
  47622. Reviewed by Adam Barth.
  47623. Begin splitting off webcore_(privateheader_)files into separate lists
  47624. (dom/html/svg in this patch), to avoid the very slow pattern of
  47625. excluding all files and then filtering to include selected files.
  47626. Test by building (in all supported configurations).
  47627. * WebCore.gyp/WebCore.gyp:
  47628. * WebCore.gypi:
  47629. 2011-07-22 Tony Chang <tony@chromium.org>
  47630. add placeholder RenderFlexibleBox.cpp files
  47631. https://bugs.webkit.org/show_bug.cgi?id=64982
  47632. Reviewed by Ojan Vafai.
  47633. No new tests, just adding new files and making sure it compiles.
  47634. Also adding the isFlexibleBox identifier to RenderObject.
  47635. * CMakeLists.txt:
  47636. * GNUmakefile.list.am:
  47637. * WebCore.gypi:
  47638. * WebCore.pro:
  47639. * WebCore.vcproj/WebCore.vcproj:
  47640. * WebCore.xcodeproj/project.pbxproj:
  47641. * rendering/RenderFlexibleBox.cpp: Added.
  47642. (WebCore::RenderFlexibleBox::RenderFlexibleBox): Inherit from RenderBlock like the old flexbox.
  47643. (WebCore::RenderFlexibleBox::~RenderFlexibleBox):
  47644. (WebCore::RenderFlexibleBox::renderName):
  47645. (WebCore::RenderFlexibleBox::layoutBlock):
  47646. * rendering/RenderFlexibleBox.h: Added.
  47647. (WebCore::RenderFlexibleBox::isFlexibleBox):
  47648. * rendering/RenderObject.h:
  47649. (WebCore::RenderObject::isFlexibleBox):
  47650. 2011-07-22 James Robinson <jamesr@chromium.org>
  47651. [chromium] Force slow scrolling path for non-composited frames in a composited page
  47652. https://bugs.webkit.org/show_bug.cgi?id=64991
  47653. Reviewed by Darin Fisher.
  47654. The chromium compositor does not properly handle fast path scrolls for non-composited iframe in a composited
  47655. page.
  47656. * page/FrameView.cpp:
  47657. (WebCore::FrameView::useSlowRepaints):
  47658. 2011-07-22 Andrew Scherkus <scherkus@chromium.org>
  47659. Remove surfaceType() and texture() methods from Chromium video frame classes.
  47660. https://bugs.webkit.org/show_bug.cgi?id=64818
  47661. Reviewed by Kenneth Russell.
  47662. No tests as code was never being executed.
  47663. * platform/graphics/chromium/VideoFrameChromium.h:
  47664. * platform/graphics/chromium/VideoLayerChromium.cpp:
  47665. (WebCore::VideoLayerChromium::updateCompositorResources):
  47666. * platform/graphics/chromium/VideoLayerChromium.h:
  47667. 2011-07-22 Nate Chapin <japhet@chromium.org>
  47668. Don't treat child frame loads as back-forward navigations
  47669. after the load event fires. This can lead to loading
  47670. the wrong url in the child frame.
  47671. https://bugs.webkit.org/show_bug.cgi?id=64895
  47672. Reviewed by Mihai Parparita.
  47673. Test: fast/loader/child-frame-add-after-back-forward.html
  47674. * dom/Document.h: Drive-by FIXME.
  47675. * loader/DocumentLoader.h: Drive-by FIXME.
  47676. * loader/FrameLoader.cpp:
  47677. (WebCore::FrameLoader::loadURLIntoChildFrame):
  47678. 2011-07-22 Kent Tamura <tkent@google.com>
  47679. REGRESSION(r88757): The thumb of a vertical range slider is offset to the right on non-Mac.
  47680. https://bugs.webkit.org/show_bug.cgi?id=65011
  47681. Reviewed by Dimitri Glazkov.
  47682. We need to update the apeearance of thumbs before the layout of RenderSlider.
  47683. * html/shadow/SliderThumbElement.cpp:
  47684. (WebCore::RenderSliderThumb::updateAppearance):
  47685. Added. This function adjsuts the apparance of a thumb for the appearance of an <input>.
  47686. (WebCore::RenderSliderThumb::isSliderThumb):
  47687. Added. Returns true.
  47688. (WebCore::RenderSliderThumb::layout):
  47689. Remove the appearance adjustment code. It is unnecessary because it is
  47690. done in RenderSlider::layout().
  47691. (WebCore::trackLimiterElementOf): Added.
  47692. * html/shadow/SliderThumbElement.h: Move RenderSliderThumb from SliderThumbElement.cpp.
  47693. * rendering/RenderObject.h:
  47694. (WebCore::RenderObject::isSliderThumb): Added. Returns false.
  47695. * rendering/RenderSlider.cpp:
  47696. (WebCore::RenderSlider::layout):
  47697. If the renderers for the thumb element and the limiter element is
  47698. RenderSliderThumb, updates its appearance.
  47699. 2011-07-22 Kent Tamura <tkent@chromium.org>
  47700. Validation message bubble is incorrectly positioned in a relative body.
  47701. https://bugs.webkit.org/show_bug.cgi?id=65018
  47702. Reviewed by Dimitri Glazkov.
  47703. We use position:aboslute for validation message bubbles, and the
  47704. origin of the absolute position can be not only the page, but also
  47705. an ancestor block with non-static position.
  47706. Test: fast/forms/validation-message-in-relative-body.html
  47707. * html/ValidationMessage.cpp:
  47708. (WebCore::adjustBubblePosition):
  47709. Subtract the containing block position from the host position.
  47710. (WebCore::ValidationMessage::buildBubbleTree):
  47711. Change the order of appendChild() and adjustBubblePosition() in
  47712. order to use RenderObject::containingBlock() in
  47713. adjustbubbleposition().
  47714. 2011-07-22 David Grogan <dgrogan@chromium.org>
  47715. Fix crash in IDBRequest::abort
  47716. https://bugs.webkit.org/show_bug.cgi?id=64740
  47717. Reviewed by Nate Chapin.
  47718. Tested manually with the testcase in the bug.
  47719. * storage/IDBRequest.cpp:
  47720. (WebCore::IDBRequest::~IDBRequest):
  47721. (WebCore::IDBRequest::abort):
  47722. 2011-07-22 Patrick Gansterer <paroga@webkit.org>
  47723. Replace preprocessor statements in IDL files with Conditional attribute
  47724. https://bugs.webkit.org/show_bug.cgi?id=64961
  47725. Reviewed by Darin Adler.
  47726. Replaced ENABLE_DATALIST, ENABLE_DIRECTORY_UPLOAD, ENABLE_INPUT_SPEECH, ENABLE_MEDIA_STATISTICS
  47727. and ENABLE_ORIENTATION_EVENTS with the corresponding Conditional attribute.
  47728. * html/HTMLBodyElement.idl:
  47729. * html/HTMLFrameSetElement.idl:
  47730. * html/HTMLInputElement.idl:
  47731. * html/HTMLMediaElement.idl:
  47732. * html/HTMLVideoElement.idl:
  47733. 2011-07-22 Andrey Kosyakov <caseq@chromium.org>
  47734. Web Inspector: [Extensions API] add webInspector.resources.onContentEdited
  47735. https://bugs.webkit.org/show_bug.cgi?id=65024
  47736. Reviewed by Pavel Feldman.
  47737. * inspector/front-end/ExtensionAPI.js:
  47738. (WebInspector.injectedExtensionAPI):
  47739. * inspector/front-end/ExtensionServer.js:
  47740. (WebInspector.ExtensionServer.prototype.notifyResourceContentEdited):
  47741. * inspector/front-end/Resource.js:
  47742. (WebInspector.Resource.prototype.addRevision):
  47743. 2011-07-22 Pavel Podivilov <podivilov@chromium.org>
  47744. Web Inspector: fix exception when paused in internal script.
  47745. https://bugs.webkit.org/show_bug.cgi?id=64995
  47746. Reviewed by Yury Semikhatsky.
  47747. Test: inspector/debugger/pause-in-internal-script.html
  47748. * inspector/front-end/DebuggerPresentationModel.js:
  47749. (WebInspector.PresenationCallFrame.prototype.sourceLine):
  47750. 2011-07-22 Ilya Tikhonovsky <loislo@chromium.org>
  47751. Web Inspector: sometimes ReceiveResponse event is attached to wrong parent.
  47752. https://bugs.webkit.org/show_bug.cgi?id=65016
  47753. Reviewed by Yury Semikhatsky.
  47754. Test: inspector/timeline/timeline-receive-response-event.html
  47755. * inspector/InspectorTimelineAgent.cpp:
  47756. (WebCore::InspectorTimelineAgent::didInstallTimer):
  47757. (WebCore::InspectorTimelineAgent::didRemoveTimer):
  47758. (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
  47759. (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
  47760. (WebCore::InspectorTimelineAgent::didTimeStamp):
  47761. (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
  47762. (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
  47763. (WebCore::InspectorTimelineAgent::appendRecord):
  47764. * inspector/InspectorTimelineAgent.h:
  47765. * inspector/front-end/TimelinePanel.js:
  47766. (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
  47767. 2011-07-22 Kentaro Hara <haraken@google.com>
  47768. REGRESSION(r89535): Form reset does not repaint a file upload control.
  47769. https://bugs.webkit.org/show_bug.cgi?id=65008
  47770. Reviewed by Kent Tamura.
  47771. This patch fixes the code so that the file upload control is repainted
  47772. in updateFromElement() if no files are selected.
  47773. Tests: fast/forms/file-input-reset.html
  47774. * rendering/RenderFileUploadControl.cpp:
  47775. (WebCore::RenderFileUploadControl::updateFromElement): Calls repaint() if no files are selected.
  47776. 2011-07-22 Ilya Tikhonovsky <loislo@chromium.org>
  47777. Web Inspector: the max depth of the Timeline events' stack trace should be customizable.
  47778. https://bugs.webkit.org/show_bug.cgi?id=65023
  47779. Reviewed by Yury Semikhatsky.
  47780. * inspector/Inspector.json:
  47781. * inspector/InspectorController.cpp:
  47782. (WebCore::InspectorController::startTimelineProfiler):
  47783. * inspector/InspectorTimelineAgent.cpp:
  47784. (WebCore::InspectorTimelineAgent::pushGCEventRecords):
  47785. (WebCore::InspectorTimelineAgent::restore):
  47786. (WebCore::InspectorTimelineAgent::start):
  47787. (WebCore::InspectorTimelineAgent::didInstallTimer):
  47788. (WebCore::InspectorTimelineAgent::didRemoveTimer):
  47789. (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
  47790. (WebCore::InspectorTimelineAgent::willSendResourceRequest):
  47791. (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
  47792. (WebCore::InspectorTimelineAgent::didTimeStamp):
  47793. (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
  47794. (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
  47795. (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
  47796. (WebCore::InspectorTimelineAgent::pushCurrentRecord):
  47797. * inspector/InspectorTimelineAgent.h:
  47798. * inspector/TimelineRecordFactory.cpp:
  47799. (WebCore::TimelineRecordFactory::createGenericRecord):
  47800. * inspector/TimelineRecordFactory.h:
  47801. * inspector/front-end/TimelineManager.js:
  47802. (WebInspector.TimelineManager.prototype.start):
  47803. 2011-07-22 Sheriff Bot <webkit.review.bot@gmail.com>
  47804. Unreviewed, rolling out r91024.
  47805. http://trac.webkit.org/changeset/91024
  47806. https://bugs.webkit.org/show_bug.cgi?id=65017
  47807. number of problems happened with invisible elements which grab
  47808. pointer events. (Requested by loislo on #webkit).
  47809. * inspector/front-end/inspector.css:
  47810. (.panel):
  47811. (.panel.visible):
  47812. 2011-07-22 Jia Pu <jpu@apple.com>
  47813. Reviewed by Darin Adler.
  47814. [Mac] Need to make sure autocorrection panel is dismissed in Document::setFocusNode().
  47815. https://bugs.webkit.org/show_bug.cgi?id=64824
  47816. <rdar://problem/9624232>
  47817. * editing/Editor.cpp:
  47818. (WebCore::Editor::textFieldDidEndEditing): Dismiss autocorrection panel when current node losing focus.
  47819. 2011-07-21 Kent Tamura <tkent@chromium.org>
  47820. A trivial fix for r91550.
  47821. https://bugs.webkit.org/show_bug.cgi?id=65001
  47822. Need to update placeholder visibility when the owner elemnent style is changed.
  47823. * html/HTMLTextFormControlElement.h: Make updatePlaceholderVisibility() public.
  47824. * rendering/RenderTextControl.cpp:
  47825. (WebCore::RenderTextControl::styleDidChange):
  47826. Call updatePlaceholderVisibility().
  47827. 2011-07-21 Pratik Solanki <psolanki@apple.com>
  47828. https://bugs.webkit.org/show_bug.cgi?id=65002
  47829. Get authentication to work with USE(CFNETWORK) on Mac
  47830. Reviewed by David Kilzer.
  47831. Instead of creating a new CFURLAuthChallengeRef, we save and reuse the same object as the
  47832. one given to us by CFNetwork.
  47833. * platform/network/mac/AuthenticationMac.mm:
  47834. (-[WebCoreAuthenticationClientAsChallengeSender setCFChallenge:]): Accessor methods for the
  47835. new CFURLAuthChallengeRef ivar.
  47836. (-[WebCoreAuthenticationClientAsChallengeSender cfChallenge]):
  47837. (WebCore::core): Create AuthenticationChallenge using the saved CFURLAuthChallengeRef.
  47838. (WebCore::mac): Use the CFURLAuthChallengeRef object in AuthenticationChallenge instead of
  47839. creating a new one.
  47840. 2011-07-21 Kent Tamura <tkent@chromium.org>
  47841. REGRESSION(r90971): Placeholder and search cancel button are visible even in elements with visibility:hidden.
  47842. https://bugs.webkit.org/show_bug.cgi?id=65001
  47843. Reviewed by Dimitri Glazkov.
  47844. Tests: fast/forms/placeholder-in-invisible-elements.html
  47845. fast/forms/search-cancel-in-invisible-elements.html
  47846. * html/HTMLTextFormControlElement.cpp:
  47847. (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
  47848. Don't show the placeholder if the 'visibility' property of the owner element is 'hidden.'
  47849. * rendering/RenderTextControlSingleLine.cpp:
  47850. (WebCore::RenderTextControlSingleLine::visibilityForCancelButton): ditto.
  47851. 2011-07-21 Shinya Kawanaka <shinyak@google.com>
  47852. The input[type="number"] with step="any" should not suffer from step mismatch.
  47853. https://bugs.webkit.org/show_bug.cgi?id=64858
  47854. Reviewed by Kent Tamura.
  47855. Added check step="any" not to suffer from step mismatch.
  47856. * html/HTMLInputElement.cpp:
  47857. (WebCore::HTMLInputElement::applyStep): Added check step="any".
  47858. (WebCore::HTMLInputElement::alignValueForStep): Added.
  47859. 2011-07-21 MORITA Hajime <morrita@google.com>
  47860. [Refactoring] ShadowContentSelector should be ShadowInclusionSelector
  47861. https://bugs.webkit.org/show_bug.cgi?id=64850
  47862. Reviewed by Dimitri Glazkov.
  47863. Renamed:
  47864. - ShadowContentSelector -> ShadowInclusionSelector
  47865. - ShadowContentSelector::findInclusionFor -> ShadowInclusionSelector::findFor
  47866. - ShadowContentSelector::selectInclusion -> ShadowInclusionSelector::select
  47867. - ShadowContentSelector::unselectInclusion -> ShadowInclusionSelector::unselect
  47868. - ShadowContentSelector::didSelectInclusion -> ShadowInclusionSelector::didSelect
  47869. - ShadowContentSelector::willSelectInclusionOver -> ShadowInclusionSelector::willSelectOver
  47870. - ShadowContentSelector::hasChildren -> ShadowInclusionSelector::hasCandidates
  47871. No new tests. Just a textual change.
  47872. * CMakeLists.txt:
  47873. * GNUmakefile.list.am:
  47874. * WebCore.gypi:
  47875. * WebCore.pro:
  47876. * WebCore.vcproj/WebCore.vcproj:
  47877. * WebCore.xcodeproj/project.pbxproj:
  47878. * dom/DOMAllInOne.cpp:
  47879. * dom/NodeRenderingContext.cpp:
  47880. * dom/ShadowContentElement.cpp:
  47881. (WebCore::ShadowContentElement::attach):
  47882. (WebCore::ShadowContentElement::detach):
  47883. * dom/ShadowInclusionSelector.cpp: Renamed from Source/WebCore/dom/ShadowContentSelector.cpp.
  47884. (WebCore::ShadowInclusion::append):
  47885. (WebCore::ShadowInclusion::unlink):
  47886. (WebCore::ShadowInclusionList::ShadowInclusionList):
  47887. (WebCore::ShadowInclusionList::~ShadowInclusionList):
  47888. (WebCore::ShadowInclusionList::find):
  47889. (WebCore::ShadowInclusionList::clear):
  47890. (WebCore::ShadowInclusionList::append):
  47891. (WebCore::ShadowInclusionSelector::ShadowInclusionSelector):
  47892. (WebCore::ShadowInclusionSelector::~ShadowInclusionSelector):
  47893. (WebCore::ShadowInclusionSelector::select):
  47894. (WebCore::ShadowInclusionSelector::unselect):
  47895. (WebCore::ShadowInclusionSelector::findFor):
  47896. (WebCore::ShadowInclusionSelector::didSelect):
  47897. (WebCore::ShadowInclusionSelector::willSelectOver):
  47898. * dom/ShadowInclusionSelector.h: Renamed from Source/WebCore/dom/ShadowContentSelector.h.
  47899. (WebCore::ShadowInclusion::includer):
  47900. (WebCore::ShadowInclusion::content):
  47901. (WebCore::ShadowInclusion::next):
  47902. (WebCore::ShadowInclusion::previous):
  47903. (WebCore::ShadowInclusion::ShadowInclusion):
  47904. (WebCore::ShadowInclusion::create):
  47905. (WebCore::ShadowInclusionList::first):
  47906. (WebCore::ShadowInclusionList::last):
  47907. (WebCore::ShadowInclusionList::isEmpty):
  47908. (WebCore::ShadowInclusionSet::add):
  47909. (WebCore::ShadowInclusionSet::remove):
  47910. (WebCore::ShadowInclusionSet::isEmpty):
  47911. (WebCore::ShadowInclusionSet::Translator::hash):
  47912. (WebCore::ShadowInclusionSet::Translator::equal):
  47913. (WebCore::ShadowInclusionSet::Hash::hash):
  47914. (WebCore::ShadowInclusionSet::Hash::equal):
  47915. (WebCore::ShadowInclusionSet::find):
  47916. (WebCore::ShadowInclusionSelector::hasCandidates):
  47917. * dom/ShadowRoot.cpp:
  47918. (WebCore::ShadowRoot::includerFor):
  47919. (WebCore::ShadowRoot::attach):
  47920. (WebCore::ShadowRoot::inclusions):
  47921. (WebCore::ShadowRoot::ensureInclusions):
  47922. * dom/ShadowRoot.h:
  47923. 2011-07-21 Robin Qiu <robin.qiu.dev@gmail.com>
  47924. https://bugs.webkit.org/show_bug.cgi?id=60737
  47925. ThumbPosition() in ScrollbarTheme should be ceiled before returned.
  47926. Otherwise, some topest/leftest content can not be shown by dragging
  47927. scrollbar thumb.
  47928. Reviewed by Antonio Gomes.
  47929. Test: scrollbars/scrollbar-drag-thumb-with-large-content.html
  47930. * platform/ScrollbarThemeComposite.cpp:
  47931. (WebCore::ScrollbarThemeComposite::thumbPosition):
  47932. * platform/qt/ScrollbarThemeQt.cpp:
  47933. (WebCore::ScrollbarThemeQt::thumbPosition):
  47934. 2011-07-21 Simon Fraser <simon.fraser@apple.com>
  47935. GraphicsLayers in subframes can get sync'd multiple times
  47936. https://bugs.webkit.org/show_bug.cgi?id=52489
  47937. Reviewed by James Robinson.
  47938. Avoid doing a 'syncCompositingState' pass on the GraphicsLayers
  47939. for subframes, when those GraphicsLayers are rooted in the
  47940. parent document.
  47941. * page/FrameView.cpp:
  47942. (WebCore::FrameView::syncCompositingStateForThisFrame): Add a parameter
  47943. that contains the rootmost frame on which sync was called. This is used
  47944. to indicate to the compositor whether it's the root of the sync.
  47945. (WebCore::FrameView::syncCompositingStateIncludingSubframes): Pass the current
  47946. Frame in.
  47947. (WebCore::FrameView::paintContents): The sync is for this frame, so pass m_frame.
  47948. * page/FrameView.h:
  47949. * rendering/RenderLayerCompositor.cpp:
  47950. (WebCore::RenderLayerCompositor::flushPendingLayerChanges): New parameter
  47951. to specify whether this compositor is in the rootmost Frame being flushed.
  47952. We can avoid doing work if we know that flushing some ancestor frame would
  47953. have also traversed our GraphicsLayers.
  47954. * rendering/RenderLayerCompositor.h:
  47955. (WebCore::RenderLayerCompositor::isFlushingLayers): Make this private, since
  47956. callers are probably most intersted in enclosingCompositorFlushingLayers().
  47957. 2011-07-21 Rafael Brandao <rafael.lobo@openbossa.org>
  47958. Local files cannot load icons.
  47959. https://bugs.webkit.org/show_bug.cgi?id=62459
  47960. Previous policy only allowed favicons for pages whose protocol was part of HTTP family.
  47961. Changed that to allow to any url that's not empty and whose protocol is not "about".
  47962. Also added this check where it attempts to start loading the favicon, so it can avoid
  47963. wasting time downloading a resource that won't be stored and won't be used.
  47964. Reviewed by Adam Barth.
  47965. Test: manual-tests/resources/favicon-loads-for-local-files.html
  47966. * loader/icon/IconController.cpp:
  47967. (WebCore::IconController::startLoader): Added check to avoid to request a favicon
  47968. when there's no way to store it.
  47969. * loader/icon/IconDatabase.cpp:
  47970. (WebCore::IconDatabase::documentCanHaveIcon): Renamed function "pageCanHaveIcon"
  47971. to reflect better which url we're handling.
  47972. (WebCore::IconDatabase::synchronousIconForPageURL): Ditto.
  47973. (WebCore::IconDatabase::synchronousIconURLForPageURL): Ditto.
  47974. (WebCore::IconDatabase::retainIconForPageURL): Ditto.
  47975. (WebCore::IconDatabase::releaseIconForPageURL): Ditto.
  47976. (WebCore::IconDatabase::setIconURLForPageURL): Ditto.
  47977. (WebCore::IconDatabase::getOrCreatePageURLRecord): Ditto.
  47978. (WebCore::IconDatabase::importIconURLForPageURL): Ditto.
  47979. (WebCore::IconDatabase::performURLImport): Ditto.
  47980. * loader/icon/IconDatabase.h:
  47981. * loader/icon/IconDatabaseBase.h:
  47982. (WebCore::IconDatabaseBase::documentCanHaveIcon): Added it as virtual to replace its
  47983. default behavior of not allowing favicons when we have IconDatabase enabled.
  47984. * manual-tests/resources/favicon-loads-for-local-files.html: Added.
  47985. * manual-tests/resources/favicon.png: Added.
  47986. 2011-07-21 Kulanthaivel Palanichamy <kulanthaivel@codeaurora.org>
  47987. Fix for bug 64046 - Wrong image height in absolutely positioned div in
  47988. relatively positioned parent with bottom padding.
  47989. https://bugs.webkit.org/show_bug.cgi?id=64046
  47990. Reviewed by David Hyatt.
  47991. Test: fast/css/absolute-child-with-percent-height-inside-relative-parent.html
  47992. * rendering/RenderBox.cpp:
  47993. (WebCore::RenderBox::availableLogicalHeightUsing):
  47994. 2011-07-21 Gavin Peters <gavinp@chromium.org>
  47995. Extend the protector of a CSS style sheet. Because checkLoaded() can recursively delete
  47996. parent style elements, the protector should be extended to include the parent call.
  47997. https://bugs.webkit.org/show_bug.cgi?id=64736
  47998. Reviewed by Simon Fraser.
  47999. Test: fast/css/css-imports-2.html
  48000. * css/CSSStyleSheet.cpp:
  48001. (WebCore::CSSStyleSheet::checkLoaded):
  48002. 2011-07-21 Kenneth Russell <kbr@google.com>
  48003. Update webglcontextlost / webglcontextrestored delivery to match spec changes
  48004. https://bugs.webkit.org/show_bug.cgi?id=58621
  48005. Reviewed by James Robinson.
  48006. Updated conditions under which webglcontextrestored event is
  48007. delivered to be spec compliant.
  48008. * html/canvas/WebGLRenderingContext.cpp:
  48009. (WebCore::WebGLRenderingContext::WebGLRenderingContext):
  48010. (WebCore::WebGLRenderingContext::loseContext):
  48011. (WebCore::WebGLRenderingContext::maybeRestoreContext):
  48012. * html/canvas/WebGLRenderingContext.h:
  48013. 2011-07-21 Dave Hyatt <hyatt@apple.com>
  48014. https://bugs.webkit.org/show_bug.cgi?id=64975
  48015. Elements that have columns (e.g., column-width or column-count non-auto) and elements that have
  48016. column-spans establish block formatting contexts, and therefore they should not be allowing
  48017. child margins to collapse with their own margins.
  48018. Reviewed by Beth Dakin.
  48019. Covered by existing tests.
  48020. * rendering/RenderBlock.cpp:
  48021. (WebCore::RenderBlock::MarginInfo::MarginInfo):
  48022. 2011-07-21 Matthew Delaney <mdelaney@apple.com>
  48023. Add fast path for ImageBuffer::draw, Take 2.
  48024. https://bugs.webkit.org/show_bug.cgi?id=64535
  48025. Reviewed by Simon Fraser.
  48026. No new tests. This patch doesn't change behavior; current tests are sufficient.
  48027. * platform/graphics/GraphicsContext.cpp:
  48028. (WebCore::GraphicsContext::drawImage): Moved the main method version next to wrapper versions.
  48029. * platform/graphics/ImageBuffer.h:
  48030. 1) Added BackingStoreCopy enum for choosing to copy backing store or not in copyImage().
  48031. 2) Added copyNativeImage() behind USE(CG) - same as copyImage() but gives NativeImagePtr.
  48032. * platform/graphics/cg/ImageBufferCG.cpp: Added new methods described above.
  48033. * platform/graphics/GraphicsContext.h: Adding drawNativeImage() for fast draw path.
  48034. * platform/graphics/cg/GraphicsContextCG.cpp:
  48035. (WebCore::GraphicsContext::drawNativeImage): Added. Draws a nativeImagePtr into context.
  48036. * platform/graphics/Image.h: Added imageWithColorSpace behind CG platform ifdef
  48037. * platform/graphics/cg/ImageCG.cpp:
  48038. (WebCore::BitmapImage::draw): Refactored out actual image drawing code into GraphicsContext,
  48039. so that it can be used by more than just BitmapImage without having to copy code.
  48040. (WebCore::Image::imageWithColorSpace): Made into an Image class function.
  48041. Updated copyImage() to use BackingStoreCopy:
  48042. * platform/graphics/qt/ImageBufferQt.cpp
  48043. * platform/graphics/filters/FETile.cpp
  48044. * platform/graphics/cairo/ImageBufferCairo.cpp
  48045. * platform/graphics/skia/ImageBufferSkia.cpp
  48046. * platform/graphics/wx/ImageBufferWx.cpp
  48047. * platform/graphics/wince/ImageBufferWinCE.cpp
  48048. * svg/SVGFEImageElement.cpp
  48049. * svg/graphics/SVGImage.cpp
  48050. * html/HTMLCanvasElement.cpp
  48051. * html/canvas/WebGLRenderingContext.cpp
  48052. * rendering/svg/RenderSVGResourcePattern.cpp
  48053. 2011-07-21 David Kilzer <ddkilzer@apple.com>
  48054. <http://webkit.org/b/64972> Clean up generated HTMLEntityTable.cpp output
  48055. Reviewed by Eric Seidel.
  48056. * html/parser/create-html-entity-table:
  48057. - Fix duplicate "EntityName" suffix on local variables (changes
  48058. fooSemicolonEntityNameEntityName to fooSemicolonEntityName)
  48059. for all 2138 symbols.
  48060. - Add newlines to make source file human-readable (as originally
  48061. intended).
  48062. - Add static (const) keywords to local variables that are never
  48063. referenced externally.
  48064. 2011-07-21 Mark Pilgrim <pilgrim@chromium.org>
  48065. Remove LegacyDefaultOptionalArguments flag from FileAPI
  48066. https://bugs.webkit.org/show_bug.cgi?id=64539
  48067. Reviewed by Adam Barth.
  48068. No new tests, all existing tests pass.
  48069. * fileapi/Blob.idl:
  48070. * fileapi/DirectoryEntry.idl:
  48071. * fileapi/DirectoryEntrySync.idl:
  48072. * fileapi/DirectoryReader.idl:
  48073. * fileapi/EntriesCallback.idl:
  48074. * fileapi/Entry.idl:
  48075. * fileapi/EntryArray.idl:
  48076. * fileapi/EntryArraySync.idl:
  48077. * fileapi/EntryCallback.idl:
  48078. * fileapi/EntrySync.idl:
  48079. * fileapi/ErrorCallback.idl:
  48080. * fileapi/FileCallback.idl:
  48081. * fileapi/FileEntry.idl:
  48082. * fileapi/FileList.idl:
  48083. * fileapi/FileReader.idl:
  48084. * fileapi/FileReaderSync.idl:
  48085. * fileapi/FileSystemCallback.idl:
  48086. * fileapi/FileWriter.idl:
  48087. * fileapi/FileWriterCallback.idl:
  48088. * fileapi/FileWriterSync.idl:
  48089. * fileapi/MetadataCallback.idl:
  48090. * fileapi/WebKitBlobBuilder.idl:
  48091. 2011-07-21 Tony Chang <tony@chromium.org>
  48092. sort WebCore.xcodeproj
  48093. https://bugs.webkit.org/show_bug.cgi?id=64901
  48094. Unreviewed, just using sort-Xcode-project-file.
  48095. * WebCore.xcodeproj/project.pbxproj:
  48096. 2011-07-21 Enrica Casucci <enrica@apple.com>
  48097. Cannot click to position the caret to the right of an image with display:block style.
  48098. https://bugs.webkit.org/show_bug.cgi?id=64962
  48099. <rdar://problem/9446343>
  48100. Reviewed by David Hyatt.
  48101. Test: editing/selection/click-on-block-image.html
  48102. The current implementation of positionForPoint always returns the visible
  48103. position to the left of the image, if the image has a block style.
  48104. This patch changes the behavior for block styled images to match the behavior
  48105. for inline images.
  48106. * rendering/RenderReplaced.cpp:
  48107. (WebCore::RenderReplaced::positionForPoint): Modified to avoid relying entirely
  48108. on InlineBox to calculate the position.
  48109. 2011-07-21 Pavel Feldman <pfeldman@google.com>
  48110. Not reviewed: one liner typo fix in Inspector.json.
  48111. * inspector/Inspector.json:
  48112. 2011-07-21 Sam Weinig <sam@webkit.org>
  48113. CSS top margin collapses when paginating
  48114. https://bugs.webkit.org/show_bug.cgi?id=64906
  48115. Reviewed by David Hyatt.
  48116. * rendering/RenderBlock.cpp:
  48117. (WebCore::RenderBlock::collapseMargins):
  48118. (WebCore::RenderBlock::estimateLogicalTopPosition):
  48119. Update to only go down paginated path when we actually have a page height (so
  48120. not in the case that we are just gathering breaks) and to call the version of
  48121. of nextPageLogicalTop that actually returns the next page, even if we are at
  48122. the boundary point.
  48123. (WebCore::RenderBlock::nextPageLogicalTopExcludingBoundaryPoint):
  48124. (WebCore::RenderBlock::nextPageLogicalTopIncludingBoundaryPoint):
  48125. Split into two functions which differ in how they deal with the boundary condition.
  48126. (WebCore::RenderBlock::applyBeforeBreak):
  48127. (WebCore::RenderBlock::applyAfterBreak):
  48128. Switch to call nextPageLogicalTopIncludingBoundaryPoint.
  48129. * rendering/RenderBlock.h:
  48130. Add new functions declarations and comment them.
  48131. 2011-07-21 Pavel Feldman <pfeldman@google.com>
  48132. Web Inspector: RuntimeAgent.evaluateOn should not require "return X;" syntax.
  48133. https://bugs.webkit.org/show_bug.cgi?id=64691
  48134. Reviewed by Yury Semikhatsky.
  48135. I'm introducing callFunctionOn that receives function declaration in order
  48136. to make call site syntax clear.
  48137. Test: inspector/runtime/runtime-callFunctionOn.html
  48138. * inspector/InjectedScript.cpp:
  48139. (WebCore::InjectedScript::callFunctionOn):
  48140. * inspector/InjectedScript.h:
  48141. * inspector/InjectedScriptSource.js:
  48142. (.):
  48143. * inspector/Inspector.json:
  48144. * inspector/InspectorRuntimeAgent.cpp:
  48145. (WebCore::InspectorRuntimeAgent::callFunctionOn):
  48146. * inspector/InspectorRuntimeAgent.h:
  48147. * inspector/front-end/ElementsTreeOutline.js:
  48148. (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode.dimensions):
  48149. (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode):
  48150. (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
  48151. * inspector/front-end/PropertiesSidebarPane.js:
  48152. (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved.protoList):
  48153. (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
  48154. * inspector/front-end/RemoteObject.js:
  48155. (WebInspector.RemoteObject.prototype.callFunction):
  48156. 2011-07-21 Andrew Wason <rectalogic@rectalogic.com>
  48157. [Qt] Adopt existing GraphicsContext3D members (part 1)
  48158. https://bugs.webkit.org/show_bug.cgi?id=64877
  48159. Reviewed by Noam Rosenthal.
  48160. Existing WebGL layout tests should test this.
  48161. Remove GraphicsContext3DInternal members and use the existing
  48162. corresponding members from GraphicsContext3D instead.
  48163. Move most of the GraphicsContext3DInternal constructor, destructor
  48164. and the reshape() method into GraphicsContext3D.
  48165. The GraphicsContext3D members will be needed when we adopt
  48166. GraphicsContext3DOpenGL.cpp.
  48167. * platform/graphics/GraphicsContext3D.h:
  48168. * platform/graphics/qt/GraphicsContext3DQt.cpp:
  48169. (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
  48170. (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
  48171. (WebCore::GraphicsContext3DInternal::paintToTextureMapper):
  48172. (WebCore::GraphicsContext3DInternal::boundingRect):
  48173. (WebCore::GraphicsContext3DInternal::paint):
  48174. (WebCore::GraphicsContext3D::GraphicsContext3D):
  48175. (WebCore::GraphicsContext3D::~GraphicsContext3D):
  48176. (WebCore::GraphicsContext3D::platformTexture):
  48177. (WebCore::GraphicsContext3D::reshape):
  48178. (WebCore::GraphicsContext3D::bindFramebuffer):
  48179. (WebCore::GraphicsContext3D::getContextAttributes):
  48180. (WebCore::GraphicsContext3D::getError):
  48181. (WebCore::GraphicsContext3D::synthesizeGLError):
  48182. (WebCore::GraphicsContext3D::markLayerComposited):
  48183. (WebCore::GraphicsContext3D::markContextChanged):
  48184. (WebCore::GraphicsContext3D::layerComposited):
  48185. (WebCore::GraphicsContext3D::getExtensions):
  48186. 2011-07-21 Pavel Feldman <pfeldman@google.com>
  48187. Web Inspector: [protocol] extend setBreakpointByUrl request to accept incomplete URL (predicates)
  48188. https://bugs.webkit.org/show_bug.cgi?id=60762
  48189. Reviewed by Yury Semikhatsky.
  48190. Test: inspector/debugger/debugger-set-breakpoint-regex.html
  48191. * inspector/Inspector.json:
  48192. * inspector/InspectorDebuggerAgent.cpp:
  48193. (WebCore::buildObjectForBreakpointCookie):
  48194. (WebCore::matches):
  48195. (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
  48196. (WebCore::InspectorDebuggerAgent::didParseSource):
  48197. * inspector/InspectorDebuggerAgent.h:
  48198. 2011-07-21 Kent Tamura <tkent@chromium.org>
  48199. REGRESSION(r88757): input[type=range] renders incorrectly in RTL context.
  48200. https://bugs.webkit.org/show_bug.cgi?id=64904
  48201. Reviewed by Ryosuke Niwa.
  48202. Tests: fast/forms/input-appearance-range-rtl.html
  48203. * html/shadow/SliderThumbElement.cpp:
  48204. (WebCore::RenderSliderThumb::layout):
  48205. The thumb should be positioned based on 'right' CSS property instead of 'left.'
  48206. (WebCore::SliderThumbElement::setPositionFromPoint):
  48207. The fraction should be flipped in RTL.
  48208. 2011-07-18 Vsevolod Vlasov <vsevik@chromium.org>
  48209. Web Inspector: Remove networkDataRemoved field from resource.
  48210. https://bugs.webkit.org/show_bug.cgi?id=64749
  48211. Reviewed by Pavel Feldman.
  48212. * inspector/front-end/NetworkManager.js:
  48213. (WebInspector.NetworkManager.prototype.requestContent):
  48214. (WebInspector.NetworkDispatcher.prototype._appendRedirect):
  48215. * inspector/front-end/NetworkPanel.js:
  48216. (WebInspector.NetworkLogView.prototype._frameNavigated):
  48217. 2011-07-21 Tommy Widenflycht <tommyw@google.com>
  48218. MediaStream API: Merging MediaStreamContainer and MediaStreamList
  48219. https://bugs.webkit.org/show_bug.cgi?id=64794
  48220. Reviewed by Tony Gentilcore.
  48221. * GNUmakefile.list.am:
  48222. * dom/MediaStreamContainer.h: Removed.
  48223. * dom/MediaStreamList.cpp:
  48224. (WebCore::MediaStreamList::create):
  48225. (WebCore::MediaStreamList::MediaStreamList):
  48226. (WebCore::MediaStreamList::length):
  48227. (WebCore::MediaStreamList::item):
  48228. (WebCore::MediaStreamList::add):
  48229. (WebCore::MediaStreamList::remove):
  48230. (WebCore::MediaStreamList::contains):
  48231. (WebCore::MediaStreamList::get):
  48232. * dom/MediaStreamList.h:
  48233. 2011-07-20 Yury Semikhatsky <yurys@chromium.org>
  48234. Web Inspector: always open dedicated worker inspector in a new window not a new tab
  48235. https://bugs.webkit.org/show_bug.cgi?id=64872
  48236. Reviewed by Pavel Feldman.
  48237. * inspector/front-end/WorkerManager.js:
  48238. (WebInspector.WorkerManager.prototype.openWorkerInspector):
  48239. 2011-07-21 MORITA Hajime <morrita@google.com>
  48240. [Refactoring] Shadow inclusion cache should be managed by ShadowContentSelector
  48241. https://bugs.webkit.org/show_bug.cgi?id=64849
  48242. Reviewed by Dimitri Glazkov.
  48243. This change is a reorg around Shadow inclusion mechanism.
  48244. - Moved definition of ShadowInclusion, ShadowInclusionSet and ShadowInclusionList
  48245. from ShadowContentElement.h to ShadowContentSelector.h, which is included
  48246. from smaller number of places.
  48247. - Moved ShadowInclusionSet from ShadowRoot to ShadowContentSelector
  48248. - Made ShadowContentSelector's lifetime managed by ShadowRoot
  48249. because ShadowInclusionSet is held by the selector.
  48250. - Thus, there is no longer "active" selector (ShadowContentSelector::s_currentInstance)
  48251. Because the selector is associated for each ShadowRoot object.
  48252. No new tests. No behavior change.
  48253. * dom/NodeRenderingContext.cpp:
  48254. * dom/ShadowContentElement.cpp:
  48255. (WebCore::ShadowContentElement::ShadowContentElement):
  48256. (WebCore::ShadowContentElement::attach):
  48257. (WebCore::ShadowContentElement::detach):
  48258. * dom/ShadowContentElement.h:
  48259. (WebCore::ShadowContentElement::inclusions):
  48260. * dom/ShadowContentSelector.cpp:
  48261. (WebCore::ShadowInclusion::append):
  48262. (WebCore::ShadowInclusion::unlink):
  48263. (WebCore::ShadowInclusionList::ShadowInclusionList):
  48264. (WebCore::ShadowInclusionList::~ShadowInclusionList):
  48265. (WebCore::ShadowInclusionList::find):
  48266. (WebCore::ShadowInclusionList::clear):
  48267. (WebCore::ShadowInclusionList::append):
  48268. (WebCore::ShadowContentSelector::ShadowContentSelector):
  48269. (WebCore::ShadowContentSelector::~ShadowContentSelector):
  48270. (WebCore::ShadowContentSelector::selectInclusion):
  48271. (WebCore::ShadowContentSelector::unselectInclusion):
  48272. (WebCore::ShadowContentSelector::findInclusionFor):
  48273. (WebCore::ShadowContentSelector::didSelectInclusion):
  48274. (WebCore::ShadowContentSelector::willSelectInclusionOver):
  48275. * dom/ShadowContentSelector.h:
  48276. (WebCore::ShadowInclusion::includer):
  48277. (WebCore::ShadowInclusion::content):
  48278. (WebCore::ShadowInclusion::next):
  48279. (WebCore::ShadowInclusion::previous):
  48280. (WebCore::ShadowInclusion::ShadowInclusion):
  48281. (WebCore::ShadowInclusion::create):
  48282. (WebCore::ShadowInclusionList::first):
  48283. (WebCore::ShadowInclusionList::last):
  48284. (WebCore::ShadowInclusionList::isEmpty):
  48285. (WebCore::ShadowInclusionSet::add):
  48286. (WebCore::ShadowInclusionSet::remove):
  48287. (WebCore::ShadowInclusionSet::isEmpty):
  48288. (WebCore::ShadowInclusionSet::Translator::hash):
  48289. (WebCore::ShadowInclusionSet::Translator::equal):
  48290. (WebCore::ShadowInclusionSet::Hash::hash):
  48291. (WebCore::ShadowInclusionSet::Hash::equal):
  48292. (WebCore::ShadowInclusionSet::find):
  48293. (WebCore::ShadowContentSelector::hasChildren):
  48294. * dom/ShadowRoot.cpp:
  48295. (WebCore::ShadowRoot::~ShadowRoot):
  48296. (WebCore::ShadowRoot::includerFor):
  48297. (WebCore::ShadowRoot::attach):
  48298. (WebCore::ShadowRoot::inclusions):
  48299. (WebCore::ShadowRoot::ensureInclusions):
  48300. * dom/ShadowRoot.h:
  48301. 2011-07-21 Rohan McGovern <rohan@mcgovern.id.au>
  48302. Reviewed by Noam Rosenthal.
  48303. [Qt] Qt5 Build Fix: remove useless use of qRound(int)
  48304. https://bugs.webkit.org/show_bug.cgi?id=64907
  48305. Rounding an integer doesn't make sense.
  48306. Since 2dcd3939a8bd5ff743e4c87f87b2d81b1a101467 in qtbase, this is not
  48307. permitted to compile.
  48308. No new tests needed.
  48309. * platform/graphics/qt/FontPlatformDataQt.cpp:
  48310. (WebCore::FontPlatformData::FontPlatformData): Eliminate qRound(int).
  48311. * platform/qt/PlatformScreenQt.cpp:
  48312. (WebCore::screenDepthPerComponent): Ditto.
  48313. 2011-07-20 Ryosuke Niwa <rniwa@webkit.org>
  48314. Fix a Valgrind failure caused by r91435.
  48315. * platform/ScrollableArea.cpp:
  48316. (WebCore::ScrollableArea::ScrollableArea):
  48317. 2011-07-20 Sheriff Bot <webkit.review.bot@gmail.com>
  48318. Unreviewed, rolling out r91332.
  48319. http://trac.webkit.org/changeset/91332
  48320. https://bugs.webkit.org/show_bug.cgi?id=64925
  48321. Crashes css3/images/optimize-contrast-canvas.html on safari-
  48322. mac,chromium-mac (Requested by mikelawther on #webkit).
  48323. * html/HTMLCanvasElement.cpp:
  48324. (WebCore::HTMLCanvasElement::makePresentationCopy):
  48325. (WebCore::HTMLCanvasElement::copiedImage):
  48326. * html/canvas/WebGLRenderingContext.cpp:
  48327. (WebCore::WebGLRenderingContext::videoFrameToImage):
  48328. * platform/graphics/GraphicsContext.cpp:
  48329. (WebCore::GraphicsContext::drawImage):
  48330. * platform/graphics/GraphicsContext.h:
  48331. * platform/graphics/Image.h:
  48332. * platform/graphics/ImageBuffer.h:
  48333. * platform/graphics/cairo/ImageBufferCairo.cpp:
  48334. (WebCore::ImageBuffer::copyImage):
  48335. * platform/graphics/cg/GraphicsContextCG.cpp:
  48336. * platform/graphics/cg/ImageBufferCG.cpp:
  48337. (WebCore::ImageBuffer::copyImage):
  48338. (WebCore::cgImage):
  48339. (WebCore::ImageBuffer::draw):
  48340. (WebCore::ImageBuffer::drawPattern):
  48341. (WebCore::ImageBuffer::clip):
  48342. (WebCore::ImageBuffer::toDataURL):
  48343. * platform/graphics/cg/ImageCG.cpp:
  48344. (WebCore::imageWithColorSpace):
  48345. (WebCore::BitmapImage::draw):
  48346. (WebCore::Image::drawPattern):
  48347. * platform/graphics/filters/FETile.cpp:
  48348. (WebCore::FETile::apply):
  48349. * platform/graphics/qt/ImageBufferQt.cpp:
  48350. (WebCore::ImageBuffer::copyImage):
  48351. (WebCore::ImageBuffer::draw):
  48352. (WebCore::ImageBuffer::drawPattern):
  48353. * platform/graphics/skia/ImageBufferSkia.cpp:
  48354. (WebCore::ImageBuffer::copyImage):
  48355. * platform/graphics/wince/ImageBufferWinCE.cpp:
  48356. (WebCore::ImageBuffer::copyImage):
  48357. (WebCore::ImageBuffer::draw):
  48358. (WebCore::ImageBuffer::drawPattern):
  48359. * platform/graphics/wx/ImageBufferWx.cpp:
  48360. (WebCore::ImageBuffer::copyImage):
  48361. (WebCore::ImageBuffer::draw):
  48362. (WebCore::ImageBuffer::drawPattern):
  48363. * rendering/svg/RenderSVGResourcePattern.cpp:
  48364. (WebCore::RenderSVGResourcePattern::applyResource):
  48365. * svg/SVGFEImageElement.cpp:
  48366. (WebCore::SVGFEImageElement::build):
  48367. * svg/graphics/SVGImage.cpp:
  48368. (WebCore::SVGImage::nativeImageForCurrentFrame):
  48369. 2011-07-20 Ryosuke Niwa <rniwa@webkit.org>
  48370. Chromium build fix after r91440.
  48371. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  48372. (WebCore::ScrollbarThemeChromiumMac::paint):
  48373. 2011-07-20 Ryosuke Niwa <rniwa@webkit.org>
  48374. Build fix after r91435.
  48375. * platform/mac/ScrollViewMac.mm:
  48376. (WebCore::ScrollView::platformSetScrollbarOverlayStyle):
  48377. 2011-07-20 Tim Horton <timothy_horton@apple.com>
  48378. Reviewed by Darin Adler.
  48379. Errors encountered within SVG documents should be reported to the console
  48380. https://bugs.webkit.org/show_bug.cgi?id=62599
  48381. <rdar://problem/9727074>
  48382. Add SVGLength::construct, which can be used to construct an SVGLength
  48383. as normal, but returns an SVGParsingError via a reference argument.
  48384. The function also takes another argument, which is whether or not
  48385. the SVGLength value is allowed to be negative. If not, an error is
  48386. thrown. It defaults to allowing negatives if not specified.
  48387. * GNUmakefile.list.am:
  48388. * svg/SVGLength.cpp:
  48389. (WebCore::SVGLength::construct):
  48390. (WebCore::SVGLength::rawValue):
  48391. * svg/SVGLength.h:
  48392. * svg/SVGElement.h:
  48393. * svg/SVGParsingError.h: Added.
  48394. * WebCore.gypi:
  48395. * WebCore.pro:
  48396. * WebCore.vcproj/WebCore.vcproj:
  48397. * WebCore.xcodeproj/project.pbxproj:
  48398. 2011-07-20 Levi Weintraub <leviw@chromium.org>
  48399. Switch getTransformFromContainer and its uses to new layout types
  48400. https://bugs.webkit.org/show_bug.cgi?id=64908
  48401. Reviewed by Simon Fraser.
  48402. Switching getTransformFromContainer and its uses to use the new Layout
  48403. Types from strictly integer ones.
  48404. No new tests, no new functionality.
  48405. * rendering/RenderBox.cpp:
  48406. (WebCore::RenderBox::mapLocalToContainer):
  48407. * rendering/RenderInline.cpp:
  48408. (WebCore::RenderInline::mapLocalToContainer):
  48409. * rendering/RenderLayer.cpp:
  48410. (WebCore::RenderLayer::createLocalTransformState):
  48411. * rendering/RenderObject.cpp:
  48412. (WebCore::RenderObject::getTransformFromContainer):
  48413. * rendering/RenderObject.h:
  48414. * rendering/RenderView.cpp:
  48415. (WebCore::RenderView::mapLocalToContainer):
  48416. (WebCore::RenderView::mapAbsoluteToLocalPoint):
  48417. 2011-07-20 Tim Horton <timothy_horton@apple.com>
  48418. Scrollbar color heuristic needs to be hooked up in WebKit1
  48419. https://bugs.webkit.org/show_bug.cgi?id=64220
  48420. <rdar://problem/9589140>
  48421. Reviewed by Darin Adler.
  48422. Store the scroller style on ScrollableArea, and recompute it whenever
  48423. the document or body element background color changes or the base background
  48424. color of the scrollview changes. Also, make sure to repaint the scrollbars
  48425. whenever the style changes.
  48426. No new tests, since this code is only enabled on future versions of Mac OS X.
  48427. * WebCore.exp.in:
  48428. * page/Frame.cpp:
  48429. (WebCore::Frame::getDocumentBackgroundColor):
  48430. * page/Frame.h:
  48431. * page/FrameView.cpp:
  48432. (WebCore::FrameView::recalculateScrollbarOverlayStyle):
  48433. (WebCore::FrameView::setBaseBackgroundColor):
  48434. (WebCore::FrameView::documentBackgroundColor): Renamed.
  48435. * page/FrameView.h:
  48436. * platform/ScrollView.cpp:
  48437. (WebCore::ScrollView::setScrollbarOverlayStyle):
  48438. * platform/ScrollView.h:
  48439. * platform/ScrollableArea.cpp:
  48440. (WebCore::ScrollableArea::setScrollbarOverlayStyle):
  48441. * platform/ScrollableArea.h:
  48442. (WebCore::ScrollableArea::scrollbarOverlayStyle):
  48443. * platform/ScrollbarTheme.h:
  48444. (WebCore::ScrollbarTheme::updateScrollbarOverlayStyle):
  48445. * platform/mac/ScrollViewMac.mm:
  48446. (WebCore::toNSScrollerKnobStyle):
  48447. (WebCore::ScrollView::platformSetScrollbarOverlayStyle):
  48448. * platform/mac/ScrollbarThemeMac.h:
  48449. * platform/mac/ScrollbarThemeMac.mm:
  48450. (WebCore::toScrollbarPainterKnobStyle):
  48451. (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
  48452. (WebCore::ScrollbarThemeMac::paint):
  48453. * rendering/RenderBox.cpp:
  48454. (WebCore::RenderBox::styleDidChange):
  48455. 2011-07-20 Luke Macpherson <macpherson@chromium.org>
  48456. Implement CSSPropertyWebkitTransformOriginZ and Origin in CSSStyleApplyProperty.
  48457. https://bugs.webkit.org/show_bug.cgi?id=64785
  48458. Note that this changes a cast from
  48459. computed length double -> 28 bit int -> float
  48460. to
  48461. computed length double -> float
  48462. I couldn't see any reason in the code that this was strictly necessary,
  48463. however it may have been so that X,Y,Z all have the same behavior, even though Z itself is not stored in a Length.
  48464. Reviewed by Simon Fraser.
  48465. No new tests / refactoring.
  48466. * css/CSSStyleApplyProperty.cpp:
  48467. (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
  48468. * css/CSSStyleSelector.cpp:
  48469. (WebCore::CSSStyleSelector::applyProperty):
  48470. 2011-07-20 Tony Chang <tony@chromium.org>
  48471. Remove stray reference to StyleFlexibleBoxData.h that was accidentally
  48472. added in r91402.
  48473. * WebCore.xcodeproj/project.pbxproj:
  48474. 2011-07-20 Levi Weintraub <leviw@chromium.org>
  48475. Bring Int/Float graphics classes closer to parity
  48476. https://bugs.webkit.org/show_bug.cgi?id=64833
  48477. Reviewed by James Robinson.
  48478. In preparation of switching to Floating point data structures, bringing the
  48479. functionality and method names of the Int/Float graphics classes close together.
  48480. Also fixing some compiler errors when using Floats for layout units along the way.
  48481. No new tests, no functionality change.
  48482. * page/FrameView.cpp:
  48483. (WebCore::FrameView::convertFromRenderer):
  48484. * platform/ScrollView.cpp:
  48485. (WebCore::ScrollView::wheelEvent):
  48486. * platform/ScrollView.h:
  48487. (WebCore::ScrollView::convertChildToSelf):
  48488. (WebCore::ScrollView::convertSelfToChild):
  48489. * platform/graphics/FloatPoint.h:
  48490. (WebCore::operator-): Adding a single-parameter version.
  48491. * platform/graphics/FloatSize.cpp:
  48492. (WebCore::FloatSize::isZero): Adding isZero that uses epsilon for floats.
  48493. * platform/graphics/FloatSize.h:
  48494. * platform/graphics/IntPoint.h:
  48495. (WebCore::IntPoint::moveBy): Renaming IntPoint version to moveBy to mirror FloatPoint.
  48496. * platform/graphics/RoundedRect.cpp:
  48497. (WebCore::RoundedRect::Radii::expand): Switching to specific templatized max.
  48498. * platform/graphics/filters/FilterEffect.cpp:
  48499. (WebCore::FilterEffect::requestedRegionOfInputImageData):
  48500. * rendering/RenderBlock.cpp: Moving outstanding Int* functions to Layout units.
  48501. (WebCore::RenderBlock::paintContinuationOutlines):
  48502. (WebCore::RenderBlock::logicalRectToPhysicalRect):
  48503. * rendering/RenderBlock.h:
  48504. * rendering/RenderBox.cpp:
  48505. (WebCore::RenderBox::positionForPoint):
  48506. * rendering/RenderTable.cpp:
  48507. (WebCore::RenderTable::subtractCaptionRect):
  48508. * rendering/RenderTable.h:
  48509. * rendering/RenderTableCell.cpp:
  48510. (WebCore::RenderTableCell::styleOrColLogicalWidth):
  48511. (WebCore::RenderTableCell::setOverrideSizeFromRowHeight):
  48512. (WebCore::RenderTableCell::paintCollapsedBorder):
  48513. (WebCore::RenderTableCell::paintBackgroundsBehindCell):
  48514. * rendering/RenderTableCell.h:
  48515. * rendering/RenderView.h:
  48516. (WebCore::RenderView::pushLayoutState):
  48517. (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
  48518. (WebCore::LayoutStateMaintainer::push):
  48519. * rendering/RootInlineBox.cpp:
  48520. (WebCore::RootInlineBox::paddedLayoutOverflowRect):
  48521. (WebCore::setAscentAndDescent):
  48522. * rendering/RootInlineBox.h:
  48523. 2011-07-20 Scott Graham <scottmg@chromium.org>
  48524. mouseover reporting incorrect mouse button, when the button isn't
  48525. down. https://bugs.webkit.org/show_bug.cgi?id=64882
  48526. Reviewed by Eric Seidel.
  48527. Don't increment the button returned in 'which' unless the button is
  48528. actually down.
  48529. Test: fast/events/mouseover-button.html
  48530. * dom/MouseEvent.cpp:
  48531. (WebCore::MouseEvent::which):
  48532. 2011-07-20 Kenneth Russell <kbr@google.com>
  48533. Add restoreContext() to WEBKIT_lose_context
  48534. https://bugs.webkit.org/show_bug.cgi?id=58626
  48535. Reviewed by James Robinson.
  48536. Added the restoreContext() entry point to the WEBKIT_lose_context
  48537. extension. Refactored and simplified the logic associated with context
  48538. loss and restoration.
  48539. A subsequent patch will make the delivery of the webglcontextrestored
  48540. event spec compliant.
  48541. * html/canvas/WebGLRenderingContext.cpp:
  48542. (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired):
  48543. (WebCore::WebGLRenderingContextLostCallback::WebGLRenderingContextLostCallback):
  48544. (WebCore::WebGLRenderingContextLostCallback::onContextLost):
  48545. (WebCore::WebGLRenderingContext::isContextLost):
  48546. (WebCore::WebGLRenderingContext::forceLostContext):
  48547. (WebCore::WebGLRenderingContext::forceRestoreContext):
  48548. (WebCore::WebGLRenderingContext::loseContext):
  48549. (WebCore::WebGLRenderingContext::maybeRestoreContext):
  48550. * html/canvas/WebGLRenderingContext.h:
  48551. (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::WebGLRenderingContextRestoreTimer):
  48552. * html/canvas/WebKitLoseContext.cpp:
  48553. (WebCore::WebKitLoseContext::loseContext):
  48554. (WebCore::WebKitLoseContext::restoreContext):
  48555. * html/canvas/WebKitLoseContext.h:
  48556. * html/canvas/WebKitLoseContext.idl:
  48557. 2011-07-20 Tony Chang <tony@chromium.org>
  48558. Pass -webkit-flex() values on to RenderStyle
  48559. https://bugs.webkit.org/show_bug.cgi?id=64038
  48560. Reviewed by Eric Seidel.
  48561. No new tests, this just copies data to RenderStyle, which we can
  48562. then access when doing layout. Tests will come with the layout
  48563. changes.
  48564. * css/CSSStyleApplyProperty.cpp:
  48565. (WebCore::ApplyPropertyLength::applyValue):
  48566. (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
  48567. 2011-07-20 Daniel Bates <dbates@rim.com>
  48568. Attempt to fix the GTK build after changeset 91396 <http://trac.webkit.org/changeset/91396>
  48569. (https://bugs.webkit.org/show_bug.cgi?id=64764).
  48570. * xml/parser/MarkupTokenBase.h: #include <stdio.h> in debug build for printf(3), which is used in
  48571. MarkupTokenBase::printString() and MarkupTokenBase::printAttrs().
  48572. 2011-07-19 Vsevolod Vlasov <vsevik@chromium.org>
  48573. Web Inspector: Add support for disabling cache in web inspector.
  48574. https://bugs.webkit.org/show_bug.cgi?id=64097
  48575. Reviewed by Pavel Feldman.
  48576. Tests: http/tests/inspector/network/network-disable-cache-memory.html
  48577. http/tests/inspector/network/network-disable-cache-xhrs.html
  48578. * English.lproj/localizedStrings.js:
  48579. * inspector/Inspector.json:
  48580. * inspector/InspectorClient.h:
  48581. (WebCore::InspectorClient::setCacheDisabled):
  48582. * inspector/InspectorResourceAgent.cpp:
  48583. (WebCore::InspectorResourceAgent::willSendRequest):
  48584. (WebCore::InspectorResourceAgent::enable):
  48585. (WebCore::InspectorResourceAgent::disable):
  48586. (WebCore::InspectorResourceAgent::setCacheDisabled):
  48587. * inspector/InspectorResourceAgent.h:
  48588. * inspector/front-end/NetworkManager.js:
  48589. (WebInspector.NetworkManager.prototype.inflightResourceForURL):
  48590. (WebInspector.NetworkManager.prototype._cacheDisabledSettingChanged):
  48591. * inspector/front-end/Settings.js:
  48592. (WebInspector.Settings):
  48593. * inspector/front-end/SettingsScreen.js:
  48594. (WebInspector.SettingsScreen):
  48595. 2011-07-20 Peter Kasting <pkasting@google.com>
  48596. Remove "const" from obviously-non-const accessors
  48597. https://bugs.webkit.org/show_bug.cgi?id=62302
  48598. Reviewed by Darin Adler.
  48599. No functional change, so no new tests.
  48600. * WebCore.exp.in: Adjust function names to reflect non-constness.
  48601. * dom/Element.cpp:
  48602. (WebCore::Element::cloneElementWithoutAttributesAndChildren): Not const, calls non-const function Document::createElement().
  48603. (WebCore::Element::scrollLeft): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48604. (WebCore::Element::scrollTop): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48605. (WebCore::Element::scrollWidth): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48606. (WebCore::Element::scrollHeight): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48607. (WebCore::Element::boundsInWindowSpace): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48608. (WebCore::Element::getClientRects): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48609. (WebCore::Element::getBoundingClientRect): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48610. (WebCore::Element::innerText): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48611. (WebCore::Element::outerText): Not const, calls newly non-const function Element::innerText().
  48612. * dom/Element.h:
  48613. * dom/Node.cpp:
  48614. (WebCore::Node::isContentEditable): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48615. (WebCore::Node::shouldUseInputMethod): Not const, calls newly non-const function Node::isContentEditable().
  48616. * dom/Node.h:
  48617. * dom/OptionElement.h: Virtual function OptionElement::selected() not const because HTMLOptionElement implementation is non-const.
  48618. * html/HTMLAnchorElement.cpp:
  48619. (WebCore::HTMLAnchorElement::text): Not const, calls newly non-const function Element::innerText().
  48620. * html/HTMLAnchorElement.h:
  48621. * html/HTMLAppletElement.cpp:
  48622. (WebCore::HTMLAppletElement::renderWidgetForJSBindings): Not const, calls non-const function RenderApplet::createWidgetIfNecessary().
  48623. * html/HTMLAppletElement.h:
  48624. * html/HTMLAreaElement.cpp:
  48625. (WebCore::HTMLAreaElement::imageElement): Not const, calls newly non-const function HTMLMapElement::imageElement().
  48626. * html/HTMLAreaElement.h:
  48627. * html/HTMLBodyElement.cpp:
  48628. (WebCore::HTMLBodyElement::scrollLeft): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48629. (WebCore::HTMLBodyElement::scrollTop): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48630. (WebCore::HTMLBodyElement::scrollHeight): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48631. (WebCore::HTMLBodyElement::scrollWidth): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48632. * html/HTMLBodyElement.h:
  48633. * html/HTMLEmbedElement.cpp:
  48634. (WebCore::HTMLEmbedElement::renderWidgetForJSBindings): Not const, calls non-const function Document::createElement().
  48635. * html/HTMLEmbedElement.h:
  48636. * html/HTMLFrameElementBase.cpp:
  48637. (WebCore::HTMLFrameElementBase::width): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48638. (WebCore::HTMLFrameElementBase::height): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48639. * html/HTMLFrameElementBase.h:
  48640. * html/HTMLImageElement.cpp:
  48641. (WebCore::HTMLImageElement::width): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48642. (WebCore::HTMLImageElement::height): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48643. * html/HTMLImageElement.h:
  48644. * html/HTMLInputElement.cpp:
  48645. (WebCore::HTMLInputElement::shouldUseInputMethod): Virtual function not const because Node implementation is non-const.
  48646. * html/HTMLInputElement.h:
  48647. * html/HTMLKeygenElement.cpp:
  48648. (WebCore::KeygenSelectElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
  48649. * html/HTMLMapElement.cpp:
  48650. (WebCore::HTMLMapElement::imageElement): Not const, calls non-const function Document::images().
  48651. * html/HTMLMapElement.h:
  48652. * html/HTMLObjectElement.cpp:
  48653. (WebCore::HTMLObjectElement::renderWidgetForJSBindings): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48654. * html/HTMLObjectElement.h:
  48655. * html/HTMLOptionElement.cpp:
  48656. (WebCore::HTMLOptionElement::selected): Not const, calls non-const function HTMLSelectElement::recalcListItemsIfNeeded().
  48657. * html/HTMLOptionElement.h:
  48658. * html/HTMLPlugInElement.cpp: Virtual function HTMLPlugInElement::renderWidgetForJSBindings() not const because various subclass implementations are non-const.
  48659. (WebCore::HTMLPlugInElement::getInstance): Not const, calls newly non-const function HTMLPlugInElement::pluginWidget().
  48660. (WebCore::HTMLPlugInElement::pluginWidget): Not const, calls newly non-const function HTMLPlugInElement::renderWidgetForJSBindings().
  48661. * html/HTMLPlugInElement.h:
  48662. * html/HTMLScriptElement.cpp:
  48663. (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
  48664. * html/HTMLScriptElement.h:
  48665. * html/HTMLTextAreaElement.cpp:
  48666. (WebCore::HTMLTextAreaElement::shouldUseInputMethod): Virtual function not const because Node implementation is non-const.
  48667. * html/HTMLTextAreaElement.h:
  48668. * html/shadow/SliderThumbElement.h:
  48669. (WebCore::SliderThumbElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
  48670. * rendering/svg/SVGShadowTreeElements.cpp:
  48671. (WebCore::SVGShadowTreeContainerElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
  48672. * rendering/svg/SVGShadowTreeElements.h:
  48673. * svg/SVGAnimateElement.cpp:
  48674. (WebCore::SVGAnimateElement::hasValidAttributeType): Not const, calls newly non-const function SVGSMILElement::targetElement().
  48675. * svg/SVGAnimateElement.h:
  48676. * svg/SVGAnimateMotionElement.cpp:
  48677. (WebCore::SVGAnimateMotionElement::hasValidAttributeType): Not const, calls newly non-const function SVGSMILElement::targetElement().
  48678. * svg/SVGAnimateMotionElement.h:
  48679. * svg/SVGAnimateTransformElement.cpp:
  48680. (WebCore::SVGAnimateTransformElement::hasValidAttributeType): Not const, calls newly non-const function SVGSMILElement::targetElement().
  48681. * svg/SVGAnimateTransformElement.h:
  48682. * svg/SVGAnimationElement.cpp:
  48683. (WebCore::SVGAnimationElement::currentValuesForValuesAnimation): Not const, calls newly non-const function SVGSMILElement::targetElement().
  48684. * svg/SVGAnimationElement.h:
  48685. * svg/SVGElement.cpp:
  48686. (WebCore::SVGElement::accessDocumentSVGExtensions): Not const, calls non-const function Document::accessSVGExtensions().
  48687. (WebCore::SVGElement::boundingBox): Not const, calls newly non-const function SVGStyledLocatableElement::getBBox().
  48688. * svg/SVGElement.h:
  48689. * svg/SVGLocatable.cpp:
  48690. (WebCore::SVGLocatable::getBBox): Argument not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets() on argument.
  48691. (WebCore::SVGLocatable::computeCTM): Argument not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets() on argument.
  48692. (WebCore::SVGLocatable::getTransformToElement): Not const, calls newly non-const function SVGLocatable::getCTM().
  48693. * svg/SVGLocatable.h: Virtual functions SVGLocatable::getBBox(), SVGLocatable::getCTM(), and SVGLocatable::getScreenCTM() not const because various subclass implementations are non-const.
  48694. * svg/SVGScriptElement.cpp:
  48695. (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
  48696. * svg/SVGScriptElement.h:
  48697. * svg/SVGStyledElement.cpp:
  48698. (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded): Not const, calls non-const function Document::accessSVGExtensions().
  48699. * svg/SVGStyledElement.h:
  48700. * svg/SVGStyledLocatableElement.cpp:
  48701. (WebCore::SVGStyledLocatableElement::getBBox): Not const, calls newly non-const static function SVGLocatable::getBBox().
  48702. (WebCore::SVGStyledLocatableElement::getCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
  48703. (WebCore::SVGStyledLocatableElement::getScreenCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
  48704. * svg/SVGStyledLocatableElement.h:
  48705. * svg/SVGStyledTransformableElement.cpp:
  48706. (WebCore::SVGStyledTransformableElement::getCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
  48707. (WebCore::SVGStyledTransformableElement::getScreenCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
  48708. (WebCore::SVGStyledTransformableElement::getBBox): Not const, calls newly non-const static function SVGLocatable::getBBox().
  48709. (WebCore::SVGStyledTransformableElement::toClipPath): Virtual function not const because SVGUseElement implementation is non-const.
  48710. * svg/SVGStyledTransformableElement.h:
  48711. * svg/SVGTextContentElement.cpp:
  48712. (WebCore::SVGTextContentElement::getNumberOfChars): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48713. (WebCore::SVGTextContentElement::getComputedTextLength): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48714. (WebCore::SVGTextContentElement::getSubStringLength): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48715. (WebCore::SVGTextContentElement::getStartPositionOfChar): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48716. (WebCore::SVGTextContentElement::getEndPositionOfChar): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48717. (WebCore::SVGTextContentElement::getExtentOfChar): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48718. (WebCore::SVGTextContentElement::getRotationOfChar): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48719. (WebCore::SVGTextContentElement::getCharNumAtPosition): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48720. (WebCore::SVGTextContentElement::selectSubString): Not const, calls newly non-const static function SVGTextContentElement::getNumberOfChars().
  48721. * svg/SVGTextContentElement.h:
  48722. * svg/SVGTextElement.cpp:
  48723. (WebCore::SVGTextElement::getBBox): Not const, calls newly non-const static function SVGLocatable::getBBox().
  48724. (WebCore::SVGTextElement::getCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
  48725. (WebCore::SVGTextElement::getScreenCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
  48726. * svg/SVGTextElement.h:
  48727. * svg/SVGUseElement.cpp:
  48728. (WebCore::SVGUseElement::instanceRoot): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
  48729. (WebCore::isDirectReference):
  48730. (WebCore::SVGUseElement::toClipPath): Not const, calls non-const function Document::accessSVGExtensions().
  48731. * svg/SVGUseElement.h:
  48732. * svg/animation/SVGSMILElement.cpp:
  48733. (WebCore::SVGSMILElement::eventBaseFor): Not const, calls newly non-const function SVGSMILElement::targetElement().
  48734. (WebCore::SVGSMILElement::targetElement): Not const, calls non-const function Document::accessSVGExtensions().
  48735. * svg/animation/SVGSMILElement.h: Virtual function SVGSMILElement::hasValidAttributeType() not const because various subclass implementations are non-const.
  48736. 2011-07-20 Andy Estes <aestes@apple.com>
  48737. Fix the Mac build after r91392.
  48738. * WebCore.xcodeproj/project.pbxproj: StyleFlexibleBoxData.h should be a
  48739. private forwarding header of WebCore.
  48740. 2011-07-20 Jeffrey Pfau <jpfau@apple.com>
  48741. New Token class for XML
  48742. https://bugs.webkit.org/show_bug.cgi?id=64764
  48743. Reviewed by Adam Barth.
  48744. Refactor HTMLToken into MarkupTokenBase and add new XMLToken
  48745. * GNUmakefile.list.am:
  48746. * WebCore.gypi:
  48747. * WebCore.pro:
  48748. * WebCore.vcproj/WebCore.vcproj:
  48749. * WebCore.xcodeproj/project.pbxproj:
  48750. * html/HTMLViewSourceDocument.cpp:
  48751. (WebCore::HTMLViewSourceDocument::addSource):
  48752. * html/parser/HTMLConstructionSite.cpp:
  48753. (WebCore::HTMLConstructionSite::insertDoctype):
  48754. (WebCore::HTMLConstructionSite::insertComment):
  48755. (WebCore::HTMLConstructionSite::insertCommentOnDocument):
  48756. (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
  48757. (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
  48758. (WebCore::HTMLConstructionSite::insertForeignElement):
  48759. (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
  48760. * html/parser/HTMLMetaCharsetParser.cpp:
  48761. (WebCore::HTMLMetaCharsetParser::checkForMetaCharset):
  48762. * html/parser/HTMLPreloadScanner.cpp:
  48763. (WebCore::HTMLPreloadScanner::processToken):
  48764. * html/parser/HTMLSourceTracker.cpp:
  48765. (WebCore::HTMLSourceTracker::start):
  48766. (WebCore::HTMLSourceTracker::sourceForToken):
  48767. * html/parser/HTMLToken.h:
  48768. (WebCore::HTMLTokenTypes::DoctypeData::DoctypeData):
  48769. (WebCore::HTMLToken::appendToName):
  48770. (WebCore::HTMLToken::name):
  48771. (WebCore::HTMLToken::forceQuirks):
  48772. (WebCore::HTMLToken::setForceQuirks):
  48773. (WebCore::AtomicHTMLToken::AtomicHTMLToken):
  48774. (WebCore::AtomicHTMLToken::type):
  48775. (WebCore::AtomicHTMLToken::selfClosing):
  48776. (WebCore::AtomicHTMLToken::characters):
  48777. (WebCore::AtomicHTMLToken::comment):
  48778. (WebCore::AtomicHTMLToken::publicIdentifier):
  48779. (WebCore::AtomicHTMLToken::systemIdentifier):
  48780. (WebCore::AtomicHTMLToken::forceQuirks):
  48781. (WebCore::AtomicHTMLToken::usesName):
  48782. (WebCore::AtomicHTMLToken::usesAttributes):
  48783. * html/parser/HTMLTokenizer.cpp:
  48784. (WebCore::HTMLTokenizer::saveEndTagNameIfNeeded):
  48785. (WebCore::HTMLTokenizer::flushBufferedEndTag):
  48786. (WebCore::HTMLTokenizer::nextToken):
  48787. (WebCore::HTMLTokenizer::haveBufferedCharacterToken):
  48788. * html/parser/HTMLTreeBuilder.cpp:
  48789. (WebCore::HTMLTreeBuilder::constructTreeFromToken):
  48790. (WebCore::HTMLTreeBuilder::processToken):
  48791. (WebCore::HTMLTreeBuilder::processDoctypeToken):
  48792. (WebCore::HTMLTreeBuilder::processFakeStartTag):
  48793. (WebCore::HTMLTreeBuilder::processFakeEndTag):
  48794. (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope):
  48795. (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
  48796. (WebCore::HTMLTreeBuilder::processStartTagForInBody):
  48797. (WebCore::HTMLTreeBuilder::processStartTagForInTable):
  48798. (WebCore::HTMLTreeBuilder::processStartTag):
  48799. (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
  48800. (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
  48801. (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
  48802. (WebCore::HTMLTreeBuilder::processEndTagForInRow):
  48803. (WebCore::HTMLTreeBuilder::processEndTagForInCell):
  48804. (WebCore::HTMLTreeBuilder::processEndTagForInBody):
  48805. (WebCore::HTMLTreeBuilder::processEndTagForInTable):
  48806. (WebCore::HTMLTreeBuilder::processEndTag):
  48807. (WebCore::HTMLTreeBuilder::processComment):
  48808. (WebCore::HTMLTreeBuilder::processCharacter):
  48809. (WebCore::HTMLTreeBuilder::processEndOfFile):
  48810. (WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
  48811. (WebCore::HTMLTreeBuilder::defaultForBeforeHead):
  48812. (WebCore::HTMLTreeBuilder::defaultForInHead):
  48813. (WebCore::HTMLTreeBuilder::defaultForInHeadNoscript):
  48814. (WebCore::HTMLTreeBuilder::defaultForAfterHead):
  48815. (WebCore::HTMLTreeBuilder::processStartTagForInHead):
  48816. (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
  48817. (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
  48818. (WebCore::HTMLTreeBuilder::processScriptStartTag):
  48819. * html/parser/HTMLViewSourceParser.cpp:
  48820. (WebCore::HTMLViewSourceParser::updateTokenizerState):
  48821. * html/parser/TextDocumentParser.cpp:
  48822. (WebCore::TextDocumentParser::insertFakePreElement):
  48823. * html/parser/XSSAuditor.cpp:
  48824. (WebCore::XSSAuditor::filterTokenInitial):
  48825. (WebCore::XSSAuditor::filterTokenAfterScriptStartTag):
  48826. (WebCore::XSSAuditor::filterScriptToken):
  48827. (WebCore::XSSAuditor::filterObjectToken):
  48828. (WebCore::XSSAuditor::filterParamToken):
  48829. (WebCore::XSSAuditor::filterEmbedToken):
  48830. (WebCore::XSSAuditor::filterAppletToken):
  48831. (WebCore::XSSAuditor::filterIframeToken):
  48832. (WebCore::XSSAuditor::filterMetaToken):
  48833. (WebCore::XSSAuditor::filterBaseToken):
  48834. (WebCore::XSSAuditor::filterFormToken):
  48835. * xml/parser/MarkupTokenBase.h: Added.
  48836. (WebCore::DoctypeDataBase::DoctypeDataBase):
  48837. (WebCore::MarkupTokenBase::MarkupTokenBase):
  48838. (WebCore::MarkupTokenBase::~MarkupTokenBase):
  48839. (WebCore::MarkupTokenBase::clear):
  48840. (WebCore::MarkupTokenBase::isUninitialized):
  48841. (WebCore::MarkupTokenBase::startIndex):
  48842. (WebCore::MarkupTokenBase::endIndex):
  48843. (WebCore::MarkupTokenBase::setBaseOffset):
  48844. (WebCore::MarkupTokenBase::end):
  48845. (WebCore::MarkupTokenBase::makeEndOfFile):
  48846. (WebCore::MarkupTokenBase::beginStartTag):
  48847. (WebCore::MarkupTokenBase::beginEndTag):
  48848. (WebCore::MarkupTokenBase::ensureIsCharacterToken):
  48849. (WebCore::MarkupTokenBase::beginComment):
  48850. (WebCore::MarkupTokenBase::beginDOCTYPE):
  48851. (WebCore::MarkupTokenBase::appendToCharacter):
  48852. (WebCore::MarkupTokenBase::appendToComment):
  48853. (WebCore::MarkupTokenBase::addNewAttribute):
  48854. (WebCore::MarkupTokenBase::beginAttributeName):
  48855. (WebCore::MarkupTokenBase::endAttributeName):
  48856. (WebCore::MarkupTokenBase::beginAttributeValue):
  48857. (WebCore::MarkupTokenBase::endAttributeValue):
  48858. (WebCore::MarkupTokenBase::appendToAttributeName):
  48859. (WebCore::MarkupTokenBase::appendToAttributeValue):
  48860. (WebCore::MarkupTokenBase::type):
  48861. (WebCore::MarkupTokenBase::selfClosing):
  48862. (WebCore::MarkupTokenBase::setSelfClosing):
  48863. (WebCore::MarkupTokenBase::attributes):
  48864. (WebCore::MarkupTokenBase::eraseCharacters):
  48865. (WebCore::MarkupTokenBase::eraseValueOfAttribute):
  48866. (WebCore::MarkupTokenBase::characters):
  48867. (WebCore::MarkupTokenBase::comment):
  48868. (WebCore::MarkupTokenBase::publicIdentifier):
  48869. (WebCore::MarkupTokenBase::systemIdentifier):
  48870. (WebCore::MarkupTokenBase::setPublicIdentifierToEmptyString):
  48871. (WebCore::MarkupTokenBase::setSystemIdentifierToEmptyString):
  48872. (WebCore::MarkupTokenBase::appendToPublicIdentifier):
  48873. (WebCore::MarkupTokenBase::appendToSystemIdentifier):
  48874. (WebCore::MarkupTokenBase::printString):
  48875. (WebCore::MarkupTokenBase::printAttrs):
  48876. (WebCore::MarkupTokenBase::appendToName):
  48877. (WebCore::MarkupTokenBase::name):
  48878. * xml/parser/XMLToken.h: Added.
  48879. (WebCore::XMLToken::XMLToken):
  48880. (WebCore::XMLToken::clear):
  48881. (WebCore::XMLToken::appendToName):
  48882. (WebCore::XMLToken::name):
  48883. (WebCore::XMLToken::beginDOCTYPE):
  48884. (WebCore::XMLToken::beginXMLDeclaration):
  48885. (WebCore::XMLToken::appendToXMLVersion):
  48886. (WebCore::XMLToken::beginXMLEncoding):
  48887. (WebCore::XMLToken::appendToXMLEncoding):
  48888. (WebCore::XMLToken::setXMLStandalone):
  48889. (WebCore::XMLToken::beginProcessingInstruction):
  48890. (WebCore::XMLToken::appendToProcessingInstructionTarget):
  48891. (WebCore::XMLToken::appendToProcessingInstructionData):
  48892. (WebCore::XMLToken::beginCDATA):
  48893. (WebCore::XMLToken::appendToCDATA):
  48894. (WebCore::XMLToken::beginEntity):
  48895. (WebCore::XMLToken::print):
  48896. (WebCore::XMLToken::XMLDeclarationData::XMLDeclarationData):
  48897. 2011-07-20 Kulanthaivel Palanichamy <kulanthaivel@codeaurora.org>
  48898. WebKit crashes on selection when documentElement is removed.
  48899. https://bugs.webkit.org/show_bug.cgi?id=63908
  48900. This patch adds NULL pointer validation for documentElement
  48901. in WebCore::startOfDocument
  48902. Reviewed by Eric Seidel.
  48903. Test: editing/selection/selection-empty-documentElement.html
  48904. * editing/visible_units.cpp:
  48905. (WebCore::startOfDocument):
  48906. 2011-07-20 Mike Reed <reed@google.com>
  48907. [skia] use nocheck version of pixel packer when caller already has premultiplied data
  48908. https://bugs.webkit.org/show_bug.cgi?id=64881
  48909. Reviewed by Kenneth Russell.
  48910. No new tests. existing canvas and svg test exercise this
  48911. * platform/graphics/skia/ImageBufferSkia.cpp:
  48912. (WebCore::putImageData):
  48913. 2011-07-20 Tony Chang <tony@chromium.org>
  48914. add new flexbox data to StyleRareNonInheritedData
  48915. https://bugs.webkit.org/show_bug.cgi?id=64765
  48916. Reviewed by David Hyatt.
  48917. Add placeholders for the positive and negative flex values for the
  48918. width and the height. When we get to the other properties (flex-pack,
  48919. flex-align, etc), we'll add more to the StyleFlexibleBoxData class
  48920. No new tests, these values aren't hooked up to anything yet.
  48921. * CMakeLists.txt:
  48922. * GNUmakefile.list.am:
  48923. * WebCore.gypi:
  48924. * WebCore.pro:
  48925. * WebCore.vcproj/WebCore.vcproj:
  48926. * WebCore.xcodeproj/project.pbxproj:
  48927. * rendering/style/RenderStyle.cpp:
  48928. (WebCore::RenderStyle::RenderStyle):
  48929. (WebCore::RenderStyle::diff):
  48930. * rendering/style/RenderStyle.h:
  48931. (WebCore::InheritedFlags::flexboxWidthPositiveFlex):
  48932. (WebCore::InheritedFlags::flexboxWidthNegativeFlex):
  48933. (WebCore::InheritedFlags::flexboxHeightPositiveFlex):
  48934. (WebCore::InheritedFlags::flexboxHeightNegativeFlex):
  48935. (WebCore::InheritedFlags::setFlexboxWidthPositiveFlex):
  48936. (WebCore::InheritedFlags::setFlexboxWidthNegativeFlex):
  48937. (WebCore::InheritedFlags::setFlexboxHeightPositiveFlex):
  48938. (WebCore::InheritedFlags::setFlexboxHeightNegativeFlex):
  48939. (WebCore::InheritedFlags::initialFlexboxWidthPositiveFlex):
  48940. (WebCore::InheritedFlags::initialFlexboxWidthNegativeFlex):
  48941. (WebCore::InheritedFlags::initialFlexboxHeightPositiveFlex):
  48942. (WebCore::InheritedFlags::initialFlexboxHeightNegativeFlex):
  48943. * rendering/style/StyleAllInOne.cpp:
  48944. * rendering/style/StyleFlexibleBoxData.cpp: Added.
  48945. (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
  48946. (WebCore::StyleFlexibleBoxData::operator==):
  48947. * rendering/style/StyleFlexibleBoxData.h: Added.
  48948. (WebCore::StyleFlexibleBoxData::create):
  48949. (WebCore::StyleFlexibleBoxData::copy):
  48950. (WebCore::StyleFlexibleBoxData::operator!=):
  48951. * rendering/style/StyleRareNonInheritedData.cpp:
  48952. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  48953. (WebCore::StyleRareNonInheritedData::operator==):
  48954. * rendering/style/StyleRareNonInheritedData.h:
  48955. 2011-07-20 Cary Clark <caryclark@google.com>
  48956. update FontSkia to match platform context convention
  48957. https://bugs.webkit.org/show_bug.cgi?id=64795
  48958. Reviewed by James Robinson.
  48959. No new tests. This platform variant is not
  48960. built at this time.
  48961. * platform/graphics/skia/FontSkia.cpp:
  48962. (WebCore::Font::drawGlyphs):
  48963. Call makeGrContextCurrent instead of the obsolete prepareForSoftwareDraw.
  48964. 2011-07-20 Brian Weinstein <bweinstein@apple.com>
  48965. Build fix after r91384. Add an ASSERT_UNSED for the timer.
  48966. * loader/cache/CachedResourceLoader.cpp:
  48967. (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
  48968. 2011-07-20 Tony Chang <tony@chromium.org>
  48969. Stale pointer due to floats not removed (flexible box display)
  48970. https://bugs.webkit.org/show_bug.cgi?id=64603
  48971. Reviewed by David Hyatt.
  48972. Flexbox items should avoid floats.
  48973. Test: fast/flexbox/horizontal-box-float-crash.html
  48974. * rendering/RenderBox.cpp:
  48975. (WebCore::RenderBox::avoidsFloats):
  48976. * rendering/RenderBox.h:
  48977. (WebCore::RenderBox::isDeprecatedFlexItem):
  48978. 2011-07-20 Scott Graham <scottmg@chromium.org>
  48979. Reviewed by Antti Koivisto.
  48980. REGRESSION (r39725?): Resources removed from document can not be freed
  48981. until the document is deleted
  48982. https://bugs.webkit.org/show_bug.cgi?id=61006
  48983. Upon completing a load start a Timer to iterate through
  48984. CachedResourceLoader's m_documentResources map to check for any items
  48985. that have only one reference (thus being the reference in the map
  48986. itself). The map should really be weak, but because the
  48987. CachedResourceHandle achieves bookkeeping work in addition to
  48988. reference counting, this is a simpler and more localized way to free
  48989. the used memory while maintaining the other behaviour (when
  48990. CachedResource is used as proxy).
  48991. No new layout tests, but with this patch the testcase at
  48992. https://bugs.webkit.org/attachment.cgi?id=93850 should no longer
  48993. consume 400MB of ram on load.
  48994. * loader/cache/CachedResource.h:
  48995. (WebCore::CachedResource::getHandleCount):
  48996. * loader/cache/CachedResourceLoader.cpp:
  48997. (WebCore::CachedResourceLoader::loadDone):
  48998. (WebCore::CachedResourceLoader::garbageCollectDocumentResources):
  48999. * loader/cache/CachedResourceLoader.h:
  49000. 2011-07-20 James Robinson <jamesr@chromium.org>
  49001. Revert worker and WebKit2 runloops to use currentTime() for scheduling instead of the monotonic clock
  49002. https://bugs.webkit.org/show_bug.cgi?id=64841
  49003. Reviewed by Mark Rowe.
  49004. http://trac.webkit.org/changeset/91206 converted most of WebKit's deferred work scheduling to using the
  49005. monotonic clock instead of WTF::currentTime(). This broke many plugin tests on WebKit2 for reasons that are
  49006. unclear. This reverts everything except for WebCore::ThreadTimers back to the previous behavior.
  49007. * workers/WorkerRunLoop.cpp:
  49008. (WebCore::WorkerSharedTimer::setFireInterval):
  49009. 2011-07-20 James Simonsen <simonjam@chromium.org>
  49010. Refuse to run scripts inside the SVG shadow DOM
  49011. https://bugs.webkit.org/show_bug.cgi?id=64776
  49012. This is a rollback of r90970. The hack that was removed there was also protecting us from
  49013. two further bugs that have been discovered. So, the hack is going back in.
  49014. Reviewed by Tony Gentilcore.
  49015. * dom/ScriptElement.cpp:
  49016. (WebCore::ScriptElement::prepareScript):
  49017. 2011-07-20 David Levin <levin@chromium.org>
  49018. gtk shouldn't have global variables for timers.
  49019. https://bugs.webkit.org/show_bug.cgi?id=64871
  49020. Reviewed by Martin Robinson.
  49021. No new functionality exposed so no new tests.
  49022. * platform/graphics/cairo/ContextShadowCairo.cpp:
  49023. (WebCore::scheduleScratchBufferPurge): Changed global variable to DEFINE_STATIC_LOCAL.
  49024. * platform/gtk/WidgetRenderingContext.cpp:
  49025. (WebCore::scheduleScratchBufferPurge): Ditto.
  49026. 2011-07-20 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
  49027. [GTK] REGRESSION(r86436): does not add newlines when return is pressed with some modifiers held
  49028. https://bugs.webkit.org/show_bug.cgi?id=64867
  49029. Reviewed by Martin Robinson.
  49030. * platform/gtk/KeyBindingTranslator.cpp:
  49031. (WebCore::KeyBindingTranslator::getEditorCommandsForKeyEvent):
  49032. special-case enter keys so that their commands are returned
  49033. whatever the modifiers state.
  49034. 2011-07-20 Mike Reed <reed@google.com>
  49035. [skia] disable lcd text when drawing on a transparent layer or canvas
  49036. https://bugs.webkit.org/show_bug.cgi?id=64873
  49037. Reviewed by Stephen White.
  49038. No new tests. canvas sites illustrate the bug. DRT disables LCD
  49039. so existing layouttests are not affected by this change.
  49040. * platform/graphics/skia/SkiaFontWin.cpp:
  49041. (WebCore::isCanvasMultiLayered):
  49042. (WebCore::disableTextLCD):
  49043. (WebCore::setupPaintForFont):
  49044. (WebCore::paintSkiaText):
  49045. 2011-07-20 Ilya Tikhonovsky <loislo@chromium.org>
  49046. Web Inspector: add keyboard shortcuts to load/save operations in Timeline panel.
  49047. https://bugs.webkit.org/show_bug.cgi?id=64864
  49048. Export/import were renamed to save/load.
  49049. Ctrl|Meta-S/Ctrl|Meta-O shortcuts were added for Save and Load operations.
  49050. Ctrl|Meta-E shortcut toggles Record button;
  49051. Ctrl|Meta-Shift-F shortcut toggles short records filter button;
  49052. All the shortcuts were added to the shortcuts help screen.
  49053. There was a problem with saving empty data.
  49054. Reviewed by Yury Semikhatsky.
  49055. * English.lproj/localizedStrings.js:
  49056. * inspector/front-end/TimelinePanel.js:
  49057. (WebInspector.TimelinePanel.prototype._registerShortcuts):
  49058. (WebInspector.TimelinePanel.prototype._createFileSelector):
  49059. (WebInspector.TimelinePanel.prototype._contextMenu):
  49060. (WebInspector.TimelinePanel.prototype._saveToFile):
  49061. (WebInspector.TimelinePanel.prototype._loadFromFile):
  49062. (WebInspector.TimelineModel.prototype._loadNextChunk):
  49063. (WebInspector.TimelineModel.prototype._loadFromFile):
  49064. (WebInspector.TimelineModel.prototype._loadFromFile.onError):
  49065. (WebInspector.TimelineModel.prototype._saveToFile):
  49066. 2011-07-20 Ryosuke Niwa <rniwa@webkit.org>
  49067. Speculative build fix after r91355.
  49068. * bridge/jni/jsc/JavaInstanceJSC.cpp:
  49069. (JavaInstance::invokeMethod):
  49070. 2011-07-20 Tommy Widenflycht <tommyw@google.com>
  49071. MediaStream API: Update the tracklists to the latest spec
  49072. https://bugs.webkit.org/show_bug.cgi?id=64791
  49073. Reviewed by Tony Gentilcore.
  49074. The test harness will be forthcoming very soon now, introducing tests for this.
  49075. * CMakeLists.txt:
  49076. * CodeGenerators.pri:
  49077. * DerivedSources.cpp:
  49078. * DerivedSources.make:
  49079. * GNUmakefile.list.am:
  49080. * WebCore.gypi:
  49081. * WebCore.pro:
  49082. * WebCore.vcproj/WebCore.vcproj:
  49083. * WebCore.xcodeproj/project.pbxproj:
  49084. * bindings/js/JSEventTarget.cpp:
  49085. (WebCore::toJS):
  49086. * bindings/v8/V8DOMWrapper.cpp:
  49087. (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
  49088. * dom/DOMAllInOne.cpp:
  49089. * dom/EventTarget.cpp:
  49090. * dom/EventTarget.h:
  49091. * dom/ExclusiveTrackList.cpp: Removed.
  49092. * dom/LocalMediaStream.cpp:
  49093. (WebCore::LocalMediaStream::create):
  49094. (WebCore::LocalMediaStream::LocalMediaStream):
  49095. (WebCore::LocalMediaStream::streamEnded):
  49096. (WebCore::LocalMediaStream::stop):
  49097. * dom/LocalMediaStream.h:
  49098. (WebCore::LocalMediaStream::isLocalMediaStream):
  49099. * dom/LocalMediaStream.idl:
  49100. * dom/MediaStream.cpp:
  49101. (WebCore::MediaStream::create):
  49102. (WebCore::MediaStream::MediaStream):
  49103. * dom/MediaStream.h:
  49104. (WebCore::MediaStream::tracks):
  49105. * dom/MediaStream.idl:
  49106. * dom/MediaStreamTrack.cpp: Copied from Source/WebCore/dom/ExclusiveTrackList.h.
  49107. (WebCore::MediaStreamTrack::create):
  49108. (WebCore::MediaStreamTrack::MediaStreamTrack):
  49109. (WebCore::MediaStreamTrack::~MediaStreamTrack):
  49110. (WebCore::MediaStreamTrack::kind):
  49111. (WebCore::MediaStreamTrack::label):
  49112. (WebCore::MediaStreamTrack::enabled):
  49113. (WebCore::MediaStreamTrack::setEnabled):
  49114. * dom/MediaStreamTrack.h: Renamed from Source/WebCore/dom/MultipleTrackList.h.
  49115. * dom/MediaStreamTrack.idl: Renamed from Source/WebCore/dom/ExclusiveTrackList.idl.
  49116. * dom/MediaStreamTrackList.cpp: Renamed from Source/WebCore/dom/ExclusiveTrackList.h.
  49117. (WebCore::MediaStreamTrackList::create):
  49118. (WebCore::MediaStreamTrackList::MediaStreamTrackList):
  49119. (WebCore::MediaStreamTrackList::~MediaStreamTrackList):
  49120. (WebCore::MediaStreamTrackList::length):
  49121. (WebCore::MediaStreamTrackList::item):
  49122. * dom/MediaStreamTrackList.h: Renamed from Source/WebCore/dom/TrackList.idl.
  49123. (WebCore::MediaStreamTrackList::associateStream):
  49124. * dom/MediaStreamTrackList.idl: Renamed from Source/WebCore/dom/MultipleTrackList.idl.
  49125. * dom/MultipleTrackList.cpp: Removed.
  49126. * dom/TrackList.cpp: Removed.
  49127. * dom/TrackList.h: Removed.
  49128. * page/MediaStreamClient.h:
  49129. * page/MediaStreamController.cpp:
  49130. (WebCore::MediaStreamController::setMediaStreamTrackEnabled):
  49131. (WebCore::MediaStreamController::streamGenerated):
  49132. * page/MediaStreamController.h:
  49133. * page/MediaStreamFrameController.cpp:
  49134. (WebCore::MediaStreamFrameController::setMediaStreamTrackEnabled):
  49135. (WebCore::MediaStreamFrameController::streamGenerated):
  49136. * page/MediaStreamFrameController.h:
  49137. 2011-07-20 Andrew Wason <rectalogic@rectalogic.com>
  49138. [Qt] Make OpenGL symbol resolver transparent
  49139. https://bugs.webkit.org/show_bug.cgi?id=57154
  49140. Reviewed by Noam Rosenthal.
  49141. Adopting new resolver should be transparent,
  49142. existing tests should apply.
  49143. Adopt OpenGLShims symbol resolver from cairo for Qt.
  49144. Update TextureMapperGL and Qt GraphicsContext3D to use the resolver.
  49145. * WebCore.pro:
  49146. * platform/graphics/cairo/OpenGLShims.cpp:
  49147. (WebCore::getProcAddress):
  49148. * platform/graphics/cairo/OpenGLShims.h:
  49149. * platform/graphics/opengl/TextureMapperGL.cpp:
  49150. (WebCore::TextureMapperGL::beginPainting):
  49151. * platform/graphics/qt/GraphicsContext3DQt.cpp:
  49152. (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
  49153. (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
  49154. (WebCore::GraphicsContext3DInternal::reshape):
  49155. (WebCore::GraphicsContext3DInternal::paintToTextureMapper):
  49156. (WebCore::GraphicsContext3DInternal::paint):
  49157. (WebCore::GraphicsContext3D::activeTexture):
  49158. (WebCore::GraphicsContext3D::attachShader):
  49159. (WebCore::GraphicsContext3D::getAttachedShaders):
  49160. (WebCore::GraphicsContext3D::bindAttribLocation):
  49161. (WebCore::GraphicsContext3D::bindBuffer):
  49162. (WebCore::GraphicsContext3D::bindFramebuffer):
  49163. (WebCore::GraphicsContext3D::bindRenderbuffer):
  49164. (WebCore::GraphicsContext3D::blendColor):
  49165. (WebCore::GraphicsContext3D::blendEquation):
  49166. (WebCore::GraphicsContext3D::blendEquationSeparate):
  49167. (WebCore::GraphicsContext3D::blendFuncSeparate):
  49168. (WebCore::GraphicsContext3D::bufferData):
  49169. (WebCore::GraphicsContext3D::bufferSubData):
  49170. (WebCore::GraphicsContext3D::checkFramebufferStatus):
  49171. (WebCore::GraphicsContext3D::compileShader):
  49172. (WebCore::GraphicsContext3D::detachShader):
  49173. (WebCore::GraphicsContext3D::disableVertexAttribArray):
  49174. (WebCore::GraphicsContext3D::enableVertexAttribArray):
  49175. (WebCore::GraphicsContext3D::framebufferRenderbuffer):
  49176. (WebCore::GraphicsContext3D::framebufferTexture2D):
  49177. (WebCore::GraphicsContext3D::generateMipmap):
  49178. (WebCore::GraphicsContext3D::getActiveAttrib):
  49179. (WebCore::GraphicsContext3D::getActiveUniform):
  49180. (WebCore::GraphicsContext3D::getAttribLocation):
  49181. (WebCore::GraphicsContext3D::isBuffer):
  49182. (WebCore::GraphicsContext3D::isFramebuffer):
  49183. (WebCore::GraphicsContext3D::isProgram):
  49184. (WebCore::GraphicsContext3D::isRenderbuffer):
  49185. (WebCore::GraphicsContext3D::isShader):
  49186. (WebCore::GraphicsContext3D::linkProgram):
  49187. (WebCore::GraphicsContext3D::renderbufferStorage):
  49188. (WebCore::GraphicsContext3D::sampleCoverage):
  49189. (WebCore::GraphicsContext3D::shaderSource):
  49190. (WebCore::GraphicsContext3D::stencilFuncSeparate):
  49191. (WebCore::GraphicsContext3D::stencilMaskSeparate):
  49192. (WebCore::GraphicsContext3D::stencilOpSeparate):
  49193. (WebCore::GraphicsContext3D::uniform1f):
  49194. (WebCore::GraphicsContext3D::uniform1fv):
  49195. (WebCore::GraphicsContext3D::uniform2f):
  49196. (WebCore::GraphicsContext3D::uniform2fv):
  49197. (WebCore::GraphicsContext3D::uniform3f):
  49198. (WebCore::GraphicsContext3D::uniform3fv):
  49199. (WebCore::GraphicsContext3D::uniform4f):
  49200. (WebCore::GraphicsContext3D::uniform4fv):
  49201. (WebCore::GraphicsContext3D::uniform1i):
  49202. (WebCore::GraphicsContext3D::uniform1iv):
  49203. (WebCore::GraphicsContext3D::uniform2i):
  49204. (WebCore::GraphicsContext3D::uniform2iv):
  49205. (WebCore::GraphicsContext3D::uniform3i):
  49206. (WebCore::GraphicsContext3D::uniform3iv):
  49207. (WebCore::GraphicsContext3D::uniform4i):
  49208. (WebCore::GraphicsContext3D::uniform4iv):
  49209. (WebCore::GraphicsContext3D::uniformMatrix2fv):
  49210. (WebCore::GraphicsContext3D::uniformMatrix3fv):
  49211. (WebCore::GraphicsContext3D::uniformMatrix4fv):
  49212. (WebCore::GraphicsContext3D::useProgram):
  49213. (WebCore::GraphicsContext3D::validateProgram):
  49214. (WebCore::GraphicsContext3D::vertexAttrib1f):
  49215. (WebCore::GraphicsContext3D::vertexAttrib1fv):
  49216. (WebCore::GraphicsContext3D::vertexAttrib2f):
  49217. (WebCore::GraphicsContext3D::vertexAttrib2fv):
  49218. (WebCore::GraphicsContext3D::vertexAttrib3f):
  49219. (WebCore::GraphicsContext3D::vertexAttrib3fv):
  49220. (WebCore::GraphicsContext3D::vertexAttrib4f):
  49221. (WebCore::GraphicsContext3D::vertexAttrib4fv):
  49222. (WebCore::GraphicsContext3D::vertexAttribPointer):
  49223. (WebCore::GraphicsContext3D::getBufferParameteriv):
  49224. (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
  49225. (WebCore::GraphicsContext3D::getProgramiv):
  49226. (WebCore::GraphicsContext3D::getProgramInfoLog):
  49227. (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
  49228. (WebCore::GraphicsContext3D::getShaderiv):
  49229. (WebCore::GraphicsContext3D::getShaderInfoLog):
  49230. (WebCore::GraphicsContext3D::getShaderSource):
  49231. (WebCore::GraphicsContext3D::getUniformfv):
  49232. (WebCore::GraphicsContext3D::getUniformiv):
  49233. (WebCore::GraphicsContext3D::getUniformLocation):
  49234. (WebCore::GraphicsContext3D::getVertexAttribfv):
  49235. (WebCore::GraphicsContext3D::getVertexAttribiv):
  49236. (WebCore::GraphicsContext3D::getVertexAttribOffset):
  49237. (WebCore::GraphicsContext3D::createBuffer):
  49238. (WebCore::GraphicsContext3D::createFramebuffer):
  49239. (WebCore::GraphicsContext3D::createProgram):
  49240. (WebCore::GraphicsContext3D::createRenderbuffer):
  49241. (WebCore::GraphicsContext3D::createShader):
  49242. (WebCore::GraphicsContext3D::deleteBuffer):
  49243. (WebCore::GraphicsContext3D::deleteFramebuffer):
  49244. (WebCore::GraphicsContext3D::deleteProgram):
  49245. (WebCore::GraphicsContext3D::deleteRenderbuffer):
  49246. (WebCore::GraphicsContext3D::deleteShader):
  49247. 2011-07-20 Steve Block <steveblock@google.com>
  49248. [V8] JavaMethodJobject::signature() incorrectly encodes arguments of type JavaTypeString
  49249. https://bugs.webkit.org/show_bug.cgi?id=62389
  49250. Reviewed by Tony Gentilcore.
  49251. Covered by existing tests.
  49252. * bridge/jni/JavaMethodJobject.cpp:
  49253. (JavaMethodJobject::signature):
  49254. 2011-07-20 Yury Semikhatsky <yurys@chromium.org>
  49255. Web Inspector: sidebar width sometimes is not restored
  49256. https://bugs.webkit.org/show_bug.cgi?id=64869
  49257. Make sure sidebar width is restored even if window initial size has not been set yet.
  49258. Reviewed by Pavel Feldman.
  49259. * inspector/front-end/Panel.js:
  49260. (WebInspector.Panel.prototype.show):
  49261. (WebInspector.Panel.prototype.updateSidebarWidth):
  49262. 2011-07-20 Andrey Kosyakov <caseq@chromium.org>
  49263. Web Inspector: remove dead code (WebInspector.drawLoadingPieChart)
  49264. https://bugs.webkit.org/show_bug.cgi?id=64868
  49265. Reviewed by Yury Semikhatsky.
  49266. * inspector/front-end/inspector.js:
  49267. 2011-07-20 Andrey Kosyakov <caseq@chromium.org>
  49268. Web Inspector: move Network log view to an iframe
  49269. https://bugs.webkit.org/show_bug.cgi?id=62006
  49270. Reviewed by Pavel Feldman.
  49271. * WebCore.gypi:
  49272. * WebCore.vcproj/WebCore.vcproj:
  49273. * inspector/front-end/ExtensionServer.js:
  49274. (WebInspector.ExtensionServer.prototype._onWindowMessage):
  49275. * inspector/front-end/IFrameView.js: Added.
  49276. (WebInspector.IFrameView):
  49277. (WebInspector.IFrameView.prototype._innerShow):
  49278. (WebInspector.IFrameView.prototype._innerHide):
  49279. (WebInspector.IFrameView.prototype.attach):
  49280. (WebInspector.IFrameView.prototype._attachIFrameAndInitialize):
  49281. (WebInspector.IFrameView.prototype.addStylesheets):
  49282. (WebInspector.IFrameView.prototype._setDocumentType):
  49283. (WebInspector.IFrameView.prototype._propagateBodyStyle):
  49284. * inspector/front-end/NetworkPanel.js:
  49285. (WebInspector.NetworkLogView):
  49286. (WebInspector.NetworkLogView.prototype.initializeView):
  49287. (WebInspector.NetworkLogView.prototype.elementsToRestoreScrollPositionsFor):
  49288. (WebInspector.NetworkLogView.prototype._createTable):
  49289. (WebInspector.NetworkLogView.prototype._updateDividersIfNeeded):
  49290. (WebInspector.NetworkLogView.prototype.show):
  49291. (WebInspector.NetworkLogView.prototype._reset):
  49292. (WebInspector.NetworkLogView.prototype.switchToDetailedView):
  49293. (WebInspector.NetworkLogView.prototype.switchToBriefView):
  49294. (WebInspector.NetworkLogView.prototype.get _setLargerResources):
  49295. (WebInspector.NetworkLogView.prototype._updateHighlightIfMatched):
  49296. (WebInspector.NetworkLogView.prototype.performSearch):
  49297. (WebInspector.NetworkLogView.prototype.searchCanceled):
  49298. (WebInspector.NetworkPanel):
  49299. (WebInspector.NetworkPanel.prototype._onSearchCountUpdated):
  49300. (WebInspector.NetworkDataGridNode.prototype.select):
  49301. * inspector/front-end/Popover.js:
  49302. (WebInspector.Popover.prototype._positionElement):
  49303. * inspector/front-end/View.js:
  49304. (WebInspector.View.prototype._innerShow):
  49305. (WebInspector.View.prototype.show):
  49306. (WebInspector.View.prototype._innerHide):
  49307. (WebInspector.View.prototype.hide):
  49308. * inspector/front-end/WebKit.qrc:
  49309. * inspector/front-end/dataGrid.css: Added.
  49310. * inspector/front-end/inspectorCommon.css: Added.
  49311. * inspector/front-end/networkLogView.css: Copied from Source/WebCore/inspector/front-end/networkPanel.css.
  49312. 2011-07-20 Steve Block <steveblock@google.com>
  49313. JobjectWrapper should inherit from RefCounted rather than implementing its own ref counting
  49314. https://bugs.webkit.org/show_bug.cgi?id=55786
  49315. Also adds static create() method and cleans up use of data members.
  49316. Reviewed by Tony Gentilcore.
  49317. No new tests, refactoring only.
  49318. * bridge/jni/JobjectWrapper.cpp:
  49319. (JobjectWrapper::JobjectWrapper):
  49320. * bridge/jni/JobjectWrapper.h:
  49321. (JSC::Bindings::JobjectWrapper::create):
  49322. * bridge/jni/jsc/JavaArrayJSC.cpp:
  49323. (JavaArray::JavaArray):
  49324. * bridge/jni/jsc/JavaArrayJSC.h:
  49325. (JSC::Bindings::JavaArray::javaArray):
  49326. * bridge/jni/jsc/JavaFieldJSC.cpp:
  49327. (JavaField::JavaField):
  49328. (JavaField::dispatchValueFromInstance):
  49329. (JavaField::dispatchSetValueToInstance):
  49330. * bridge/jni/jsc/JavaInstanceJSC.cpp:
  49331. (JavaInstance::JavaInstance):
  49332. (JavaInstance::getClass):
  49333. (JavaInstance::stringValue):
  49334. (JavaInstance::numberValue):
  49335. (JavaInstance::booleanValue):
  49336. (JavaInstance::invokeMethod):
  49337. * bridge/jni/jsc/JavaInstanceJSC.h:
  49338. (JSC::Bindings::JavaInstance::javaInstance):
  49339. * bridge/jni/v8/JavaFieldJobjectV8.cpp:
  49340. (JavaFieldJobject::JavaFieldJobject):
  49341. * bridge/jni/v8/JavaInstanceJobjectV8.cpp:
  49342. (JavaInstanceJobject::JavaInstanceJobject):
  49343. * bridge/jni/v8/JavaInstanceJobjectV8.h:
  49344. (JSC::Bindings::JavaInstanceJobject::javaInstance):
  49345. 2011-07-20 Kentaro Hara <haraken@google.com>
  49346. The value of a number input form continues to increase/decrease even if we disable the input form.
  49347. https://bugs.webkit.org/show_bug.cgi?id=64786
  49348. Reviewed by Kent Tamura.
  49349. The value of the number input form continues to increase/decrease in the following scenario:
  49350. (1) Click the spin button of the input form.
  49351. (2) Hook the 'mouseup' event and disable the input form.
  49352. (3) Enable the input form after some delay (e.g. 50ms).
  49353. What is happening above is as follows:
  49354. (1) When the 'mousedown' event happens, the repeating timer of the spin button starts.
  49355. (2) If the input form is not disabled, the repeating timer stops at the 'mouseup' event.
  49356. However, if the input form is disabled, the 'mouseup' event is ignored, failing to stop
  49357. the repeating timer.
  49358. (3) The value continues to increase/decrease, since the repeating timer is still working.
  49359. This patch stops the repeating timer when the input form gets disabled or readonly.
  49360. Test: fast/forms/spin-button-gets-disabled-or-readonly.html
  49361. * html/HTMLInputElement.cpp:
  49362. (WebCore::HTMLInputElement::parseMappedAttribute): Calls disabledAttributeChanged() when 'disabled' attribute gets changed. Calls readonlyAttributeChanged() when 'readonly' attribute gets changed.
  49363. * html/InputType.cpp:
  49364. (WebCore::InputType::disabledAttributeChanged): Stops the repeating timer and releases mouse capturing.
  49365. (WebCore::InputType::readonlyAttributeChanged): Ditto.
  49366. * html/InputType.h:
  49367. * html/TextFieldInputType.cpp:
  49368. (WebCore::TextFieldInputType::disabledAttributeChanged): Ditto.
  49369. (WebCore::TextFieldInputType::readonlyAttributeChanged): Ditto.
  49370. * html/TextFieldInputType.h:
  49371. * html/shadow/TextControlInnerElements.cpp:
  49372. (WebCore::SpinButtonElement::detach): Replased the code with releaseCapture().
  49373. (WebCore::SpinButtonElement::defaultEventHandler): Ditto.
  49374. (WebCore::SpinButtonElement::releaseCapture): Stops the repeating timer and releases mouse capturing.
  49375. * html/shadow/TextControlInnerElements.h:
  49376. 2011-07-20 Sheriff Bot <webkit.review.bot@gmail.com>
  49377. Unreviewed, rolling out r91285.
  49378. http://trac.webkit.org/changeset/91285
  49379. https://bugs.webkit.org/show_bug.cgi?id=64854
  49380. "Assertion hit in svg/custom/crash-textPath-attributes.html"
  49381. (Requested by mihnea on #webkit).
  49382. * rendering/RenderObjectChildList.cpp:
  49383. (WebCore::RenderObjectChildList::updateBeforeAfterContent):
  49384. 2011-07-20 Yury Semikhatsky <yurys@chromium.org>
  49385. Web Inspector: don't send Console.enable messages in case of workers
  49386. https://bugs.webkit.org/show_bug.cgi?id=64853
  49387. Reviewed by Pavel Feldman.
  49388. * inspector/front-end/inspector.js:
  49389. 2011-07-20 Boris Smus <smus@chromium.org>
  49390. Add a resourceLink audit formatter to make it possible for devtools
  49391. extensions to link to specific lines in HTML/JS/CSS resources from the
  49392. audit results panel.
  49393. https://bugs.webkit.org/show_bug.cgi?id=64315
  49394. Reviewed by Yury Semikhatsky.
  49395. * inspector/front-end/AuditFormatters.js: resourceLink implementation
  49396. * inspector/front-end/ExtensionAPI.js: registering resourceLink FormattedValue
  49397. 2011-07-20 Kent Tamura <tkent@chromium.org>
  49398. input type=number doesn't render correctly in rtl.
  49399. https://bugs.webkit.org/show_bug.cgi?id=59703
  49400. Reviewed by Ryosuke Niwa.
  49401. Test: fast/forms/input-appearance-number-rtl.html
  49402. * css/html.css:
  49403. (input[type="search"]::-webkit-textfield-decoration-container):
  49404. Set "direction: ltr;" only for type=search because we'd like to
  49405. respect text direction except type=search.
  49406. (input[x-webkit-speech][di=rtl]::-webkit-input-speech-button):
  49407. Remove a workaround.
  49408. * rendering/RenderTextControlSingleLine.cpp:
  49409. (WebCore::RenderTextControlSingleLine::layout):
  49410. Support for RTL in the spin button location adjustment.
  49411. 2011-07-19 Steve Lacey <sjl@chromium.org>
  49412. [chromium] Media player controls do not fade out.
  49413. https://bugs.webkit.org/show_bug.cgi?id=64837
  49414. Media controls were not fading out when the mouse leaves the video
  49415. due to underlying changes in webkit media controls.
  49416. Fix was to copy missing code from MediaControlRootElement to
  49417. MediaControlRootElementChromium.
  49418. Reviewed by Dimitri Glazkov.
  49419. * html/shadow/MediaControlRootElementChromium.cpp:
  49420. (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
  49421. (WebCore::MediaControlRootElementChromium::playbackProgressed):
  49422. (WebCore::MediaControlRootElementChromium::containsRelatedTarget):
  49423. (WebCore::MediaControlRootElementChromium::defaultEventHandler):
  49424. * html/shadow/MediaControlRootElementChromium.h:
  49425. 2011-07-19 Luke Macpherson <macpherson@chromium.org>
  49426. Implement CSSPropertyCounterIncrement and CounterReset in CSSStyleApplyProperty.
  49427. https://bugs.webkit.org/show_bug.cgi?id=64846
  49428. Reviewed by Dimitri Glazkov.
  49429. No new tests / refactoring only.
  49430. * css/CSSStyleApplyProperty.cpp:
  49431. (WebCore::ApplyPropertyCounter
  49432. Added class to handle counter properties.
  49433. (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
  49434. Initialize counter property handlers.
  49435. * css/CSSStyleSelector.cpp:
  49436. (WebCore::CSSStyleSelector::applyProperty):
  49437. Remove old handlers.
  49438. 2011-07-19 Kent Tamura <tkent@chromium.org>
  49439. REGRESSION(r89004): Video pauses and never resumes playing if scrubbed during playback.
  49440. https://bugs.webkit.org/show_bug.cgi?id=64314
  49441. Reviewed by Sam Weinig.
  49442. No new tests because it's hard to make a non-flaky test for this behavior.
  49443. * html/RangeInputType.cpp:
  49444. (WebCore::RangeInputType::handleMouseDownEvent):
  49445. Don't call SliderThumbElement::dragFrom() for events on the thumb.
  49446. * html/shadow/SliderThumbElement.cpp:
  49447. (WebCore::SliderThumbElement::defaultEventHandler):
  49448. Do not call setDefaultHandled() for mouse events in order to
  49449. propagate them to ancestor elements.
  49450. 2011-07-19 Matthew Delaney <mdelaney@apple.com>
  49451. Add fast path for ImageBuffer::draw
  49452. https://bugs.webkit.org/show_bug.cgi?id=64535
  49453. Reviewed by Simon Fraser.
  49454. No new tests. This patch doesn't change behavior; current tests are sufficient.
  49455. * platform/graphics/GraphicsContext.cpp:
  49456. (WebCore::GraphicsContext::drawImage): Moved the main method version next to wrapper versions.
  49457. * platform/graphics/ImageBuffer.h:
  49458. 1) Added BackingStoreCopy enum for choosing to copy backing store or not in copyImage().
  49459. 2) Added copyNativeImage() behind USE(CG) - same as copyImage() but gives NativeImagePtr.
  49460. * platform/graphics/cg/ImageBufferCG.cpp: Added new methods described above.
  49461. * platform/graphics/GraphicsContext.h: Adding drawNativeImage() for fast draw path.
  49462. * platform/graphics/cg/GraphicsContextCG.cpp:
  49463. (WebCore::GraphicsContext::drawNativeImage): Added. Draws a nativeImagePtr into context.
  49464. * platform/graphics/Image.h: Added imageWithColorSpace behind CG platform ifdef
  49465. * platform/graphics/cg/ImageCG.cpp:
  49466. (WebCore::BitmapImage::draw): Refactored out actual image drawing code into GraphicsContext,
  49467. so that it can be used by more than just BitmapImage without having to copy code.
  49468. (WebCore::Image::imageWithColorSpace): Made into an Image class function.
  49469. Updated copyImage() to for BackingStoreCopy:
  49470. * platform/graphics/qt/ImageBufferQt.cpp
  49471. * platform/graphics/filters/FETile.cpp
  49472. * platform/graphics/cairo/ImageBufferCairo.cpp
  49473. * platform/graphics/skia/ImageBufferSkia.cpp
  49474. * platform/graphics/wx/ImageBufferWx.cpp
  49475. * platform/graphics/wince/ImageBufferWinCE.cpp
  49476. * svg/SVGFEImageElement.cpp
  49477. * svg/graphics/SVGImage.cpp
  49478. * html/HTMLCanvasElement.cpp
  49479. * html/canvas/WebGLRenderingContext.cpp
  49480. * rendering/svg/RenderSVGResourcePattern.cpp
  49481. 2011-07-19 Leo Yang <leoyang.webkit@gmail.com>
  49482. SVG: Missing implementation of <altGlyphDef>, <altGlyphItem> and <glyphRef>
  49483. https://bugs.webkit.org/show_bug.cgi?id=60850
  49484. Reviewed by Nikolas Zimmermann.
  49485. SVG spec: http://www.w3.org/TR/SVG/text.html#AlternateGlyphDefinitions.
  49486. This patch is to implement SVG <altGlyphDef>, <altGlyphItem> and <glyphRef>
  49487. elements for alternative glyph features.
  49488. NOTE: x, y, dx, dy, format and glyphRef attributes on <glyphRef> are not
  49489. honored yet, so neither are the reaction of dynamic change of them. They
  49490. will be honored in separated patches.
  49491. Test: svg/W3C-SVG-1.1/text-altglyph-01-b.svg
  49492. With this patch this test works as expected.
  49493. * CMakeLists.txt:
  49494. * CodeGenerators.pri:
  49495. * DerivedSources.cpp:
  49496. * DerivedSources.make:
  49497. * GNUmakefile.list.am:
  49498. * WebCore.exp.in:
  49499. * WebCore.gypi:
  49500. * WebCore.pro:
  49501. * WebCore.vcproj/WebCore.vcproj:
  49502. * WebCore.xcodeproj/project.pbxproj:
  49503. * bindings/objc/DOM.mm:
  49504. (WebCore::createElementClassMap):
  49505. * bindings/objc/DOMSVG.h:
  49506. * page/DOMWindow.idl:
  49507. * svg/SVGAllInOne.cpp:
  49508. * svg/SVGAltGlyphDefElement.cpp: Added.
  49509. (WebCore::SVGAltGlyphDefElement::SVGAltGlyphDefElement):
  49510. (WebCore::SVGAltGlyphDefElement::create):
  49511. (WebCore::SVGAltGlyphDefElement::hasValidGlyphElements):
  49512. * svg/SVGAltGlyphDefElement.h: Added.
  49513. * svg/SVGAltGlyphDefElement.idl: Added.
  49514. * svg/SVGAltGlyphElement.cpp:
  49515. (WebCore::SVGAltGlyphElement::hasValidGlyphElements):
  49516. * svg/SVGAltGlyphElement.h:
  49517. * svg/SVGAltGlyphItemElement.cpp: Added.
  49518. (WebCore::SVGAltGlyphItemElement::SVGAltGlyphItemElement):
  49519. (WebCore::SVGAltGlyphItemElement::create):
  49520. (WebCore::SVGAltGlyphItemElement::hasValidGlyphElements):
  49521. * svg/SVGAltGlyphItemElement.h: Added.
  49522. * svg/SVGAltGlyphItemElement.idl: Added.
  49523. * svg/SVGFontData.cpp:
  49524. (WebCore::SVGFontData::applySVGGlyphSelection):
  49525. * svg/SVGGlyphRefElement.cpp: Added.
  49526. (WebCore::SVGGlyphRefElement::SVGGlyphRefElement):
  49527. (WebCore::SVGGlyphRefElement::create):
  49528. (WebCore::SVGGlyphRefElement::hasValidGlyphElement):
  49529. (WebCore::SVGGlyphRefElement::parseMappedAttribute):
  49530. (WebCore::SVGGlyphRefElement::glyphRef):
  49531. (WebCore::SVGGlyphRefElement::setGlyphRef):
  49532. (WebCore::SVGGlyphRefElement::setX):
  49533. (WebCore::SVGGlyphRefElement::setY):
  49534. (WebCore::SVGGlyphRefElement::setDx):
  49535. (WebCore::SVGGlyphRefElement::setDy):
  49536. * svg/SVGGlyphRefElement.h: Added.
  49537. * svg/SVGGlyphRefElement.idl: Added.
  49538. * svg/svgtags.in:
  49539. 2011-07-19 Adam Roben <aroben@apple.com>
  49540. Remove some unused code in FormDataStreamCFNet
  49541. Rubber-stamped by Steve Falkenburg.
  49542. * platform/network/cf/FormDataStreamCFNet.cpp:
  49543. 2011-07-19 Simon Fraser <simon.fraser@apple.com>
  49544. REGRESSION (r91136-r91146): 40 tests failing on Windows 7 Release (Tests)
  49545. https://bugs.webkit.org/show_bug.cgi?id=64808
  49546. Reviewed by Adam Roben.
  49547. Initializing m_uncommittedChanges to a non-zero value
  49548. caused the first call to noteLayerPropertyChanged() to
  49549. not call m_client->notifySyncRequired(). This resulted in
  49550. animations never getting committed on Windows, which broke
  49551. a lot of tests.
  49552. * platform/graphics/ca/GraphicsLayerCA.cpp:
  49553. (WebCore::GraphicsLayerCA::GraphicsLayerCA):
  49554. 2011-07-19 James Robinson <jamesr@chromium.org>
  49555. [chromium] LayerRendererChromium shouldn't be a friend of RenderSurfaceChromium
  49556. https://bugs.webkit.org/show_bug.cgi?id=64834
  49557. Reviewed by Kenneth Russell.
  49558. Uses setters and getters to access RenderSurfaceChromium's private member variables instead of directly
  49559. accessing them via a friend declaration. This cleans up a minor code smell and will be helpful for future
  49560. refactoring.
  49561. Refactor only, no change in behavior. Tested by compositing/ tests.
  49562. * platform/graphics/chromium/LayerRendererChromium.cpp:
  49563. (WebCore::LayerRendererChromium::updateLayers):
  49564. (WebCore::LayerRendererChromium::paintLayerContents):
  49565. (WebCore::LayerRendererChromium::drawLayers):
  49566. (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
  49567. (WebCore::LayerRendererChromium::updateCompositorResources):
  49568. (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
  49569. (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
  49570. (WebCore::LayerRendererChromium::useRenderSurface):
  49571. (WebCore::LayerRendererChromium::drawLayer):
  49572. (WebCore::LayerRendererChromium::setScissorToRect):
  49573. * platform/graphics/chromium/RenderSurfaceChromium.cpp:
  49574. (WebCore::RenderSurfaceChromium::clearLayerList):
  49575. * platform/graphics/chromium/RenderSurfaceChromium.h:
  49576. (WebCore::RenderSurfaceChromium::layerList):
  49577. (WebCore::RenderSurfaceChromium::contentRect):
  49578. (WebCore::RenderSurfaceChromium::setContentRect):
  49579. (WebCore::RenderSurfaceChromium::drawOpacity):
  49580. (WebCore::RenderSurfaceChromium::setDrawOpacity):
  49581. (WebCore::RenderSurfaceChromium::drawTransform):
  49582. (WebCore::RenderSurfaceChromium::setDrawTransform):
  49583. (WebCore::RenderSurfaceChromium::maskLayer):
  49584. (WebCore::RenderSurfaceChromium::setMaskLayer):
  49585. (WebCore::RenderSurfaceChromium::originTransform):
  49586. (WebCore::RenderSurfaceChromium::setOriginTransform):
  49587. (WebCore::RenderSurfaceChromium::replicaDrawTransform):
  49588. (WebCore::RenderSurfaceChromium::setReplicaDrawTransform):
  49589. (WebCore::RenderSurfaceChromium::scissorRect):
  49590. (WebCore::RenderSurfaceChromium::setScissorRect):
  49591. (WebCore::RenderSurfaceChromium::skipsDraw):
  49592. (WebCore::RenderSurfaceChromium::setSkipsDraw):
  49593. (WebCore::RenderSurfaceChromium::contentsTexture):
  49594. 2011-07-19 Jessie Berlin <jberlin@apple.com>
  49595. GTK + QT build fix.
  49596. Rubber-stamped by Daniel Bates and Alexey Proskuryakov.
  49597. * loader/ResourceLoader.cpp:
  49598. (WebCore::ResourceLoader::willSendRequest):
  49599. (WebCore::ResourceLoader::didSendData):
  49600. (WebCore::ResourceLoader::didReceiveResponse):
  49601. (WebCore::ResourceLoader::didReceiveData):
  49602. (WebCore::ResourceLoader::didFinishLoading):
  49603. (WebCore::ResourceLoader::didFail):
  49604. (WebCore::ResourceLoader::wasBlocked):
  49605. (WebCore::ResourceLoader::cannotShowURL):
  49606. (WebCore::ResourceLoader::shouldUseCredentialStorage):
  49607. (WebCore::ResourceLoader::willCacheResponse):
  49608. 2011-07-19 Chris Rogers <crogers@google.com>
  49609. Fix web audio compile on mac port
  49610. https://bugs.webkit.org/show_bug.cgi?id=64836
  49611. Unreviewed build fix.
  49612. * bindings/js/JSAudioContextCustom.cpp:
  49613. (WebCore::JSAudioContextConstructor::constructJSAudioContext):
  49614. (WebCore::JSAudioContext::createBuffer):
  49615. 2011-07-19 Jessie Berlin <jberlin@apple.com>
  49616. Work towards determining the cause of frequent crashes due to null frame below
  49617. ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache.
  49618. https://bugs.webkit.org/show_bug.cgi?id=62764
  49619. Reviewed by Alexey Proskuryakov.
  49620. Make these unexpected cases crash in the WebKit nightlies so we can gather more
  49621. information and potentially find a repro case.
  49622. * loader/ResourceLoader.cpp:
  49623. (WebCore::ResourceLoader::willSendRequest):
  49624. (WebCore::ResourceLoader::didSendData):
  49625. (WebCore::ResourceLoader::didReceiveResponse):
  49626. (WebCore::ResourceLoader::didReceiveData):
  49627. (WebCore::ResourceLoader::didFinishLoading):
  49628. (WebCore::ResourceLoader::didFail):
  49629. (WebCore::ResourceLoader::wasBlocked):
  49630. (WebCore::ResourceLoader::cannotShowURL):
  49631. (WebCore::ResourceLoader::shouldUseCredentialStorage):
  49632. (WebCore::ResourceLoader::willCacheResponse):
  49633. 2011-07-19 Dan Bernstein <mitz@apple.com>
  49634. Nothing printed when specifying a very large maximum layout width
  49635. https://bugs.webkit.org/show_bug.cgi?id=64831
  49636. Reviewed by Beth Dakin.
  49637. I am not adding a test because the DumpRenderTree printing test machinery is based on PrintContext,
  49638. which does not exercise the code path on which this bug lies.
  49639. * page/FrameView.cpp:
  49640. (WebCore::FrameView::forceLayoutForPagination): Fixed an integer overflow.
  49641. 2011-07-19 Nate Chapin <japhet@chromium.org>
  49642. [V8] Wait until no v8 context is on the stack before
  49643. cancelling pending indexed db transactions.
  49644. https://bugs.webkit.org/show_bug.cgi?id=64552
  49645. Reviewed by Adam Barth.
  49646. Test: storage/indexeddb/transaction-abort-with-js-recursion.html
  49647. * bindings/v8/V8Proxy.cpp:
  49648. (WebCore::V8Proxy::didLeaveScriptContext):
  49649. 2011-07-19 MORITA Hajime <morrita@google.com>
  49650. Crash in CompositeEditCommand::replaceTextInNodePreservingMarkers.
  49651. https://bugs.webkit.org/show_bug.cgi?id=64738
  49652. Reviewed by Ryosuke Niwa.
  49653. Test: editing/undo/replace-text-in-node-preserving-markers-crash.html
  49654. * editing/CompositeEditCommand.cpp:
  49655. (WebCore::copyMarkers):
  49656. (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
  49657. 2011-07-19 Mike West <mkwst@chromium.org>
  49658. Sending a `Ping-From` header for cross-origin pings from non-HTTPS documents.
  49659. https://bugs.webkit.org/show_bug.cgi?id=64789
  49660. Also a drive-by cleanup of whitespace.
  49661. Reviewed by Nate Chapin.
  49662. * loader/PingLoader.cpp:
  49663. (WebCore::PingLoader::loadImage):
  49664. (WebCore::PingLoader::sendPing):
  49665. 2011-07-15 Luke Zarko <lukezarko@gmail.com>
  49666. Bring V8's SerializedScriptValue implementation up to date.
  49667. https://bugs.webkit.org/show_bug.cgi?id=63481
  49668. Reviewed by David Levin.
  49669. The HTML5 Structured Clone algorithm (http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#safe-passing-of-structured-data) has been updated since the V8 version of SerializedScriptValue was first implemented. This patch aims to bring this implementation up to date. It:
  49670. - Introduces the new HTML5 DOM error codes for TIMEOUT_ERR, INVALID_NODE_TYPE_ERR, DATA_CLONE_ERR
  49671. - Handles cyclic structures and equality of reference preservation for cloned values
  49672. - Allows DataViews to be constructed on the native side using the existing wrapper techniques
  49673. - Amends tests and introduces new ones to check for correctness (the bulk of the patch)
  49674. - Tolerates the old version of the serialized object format
  49675. The patch permits the cloning of JavaScript typed arrays. This functionality is in active use already and was supported (somewhat inefficiently) by the existing code through an artifact of implementation.
  49676. Tests: fast/dom/Window/window-postmessage-clone-deep-array.html
  49677. fast/dom/Window/window-postmessage-clone-really-deep-array.html
  49678. fast/dom/Window/window-postmessage-clone.html
  49679. fast/canvas/webgl/array-message-passing.html
  49680. * bindings/v8/SerializedScriptValue.cpp:
  49681. (WebCore::V8ObjectMap::Writer::writeVersion):
  49682. (WebCore::V8ObjectMap::Writer::writeArrayBuffer):
  49683. (WebCore::V8ObjectMap::Writer::writeArrayBufferView):
  49684. (WebCore::V8ObjectMap::Writer::writeObjectReference):
  49685. (WebCore::V8ObjectMap::Writer::writeReferenceCount):
  49686. (WebCore::V8ObjectMap::Writer::writeGenerateFreshObject):
  49687. (WebCore::V8ObjectMap::Writer::writeGenerateFreshArray):
  49688. (WebCore::V8ObjectMap::Writer::doWriteArrayBuffer):
  49689. (WebCore::V8ObjectMap::Serializer::Serializer):
  49690. (WebCore::V8ObjectMap::Serializer::serialize):
  49691. (WebCore::V8ObjectMap::Serializer::StateBase::execDepth):
  49692. (WebCore::V8ObjectMap::Serializer::AbstractObjectState::AbstractObjectState):
  49693. (WebCore::V8ObjectMap::Serializer::AbstractObjectState::advance):
  49694. (WebCore::V8ObjectMap::Serializer::AbstractObjectState::execDepth):
  49695. (WebCore::V8ObjectMap::Serializer::execDepth):
  49696. (WebCore::V8ObjectMap::Serializer::push):
  49697. (WebCore::V8ObjectMap::Serializer::pop):
  49698. (WebCore::V8ObjectMap::Serializer::handleError):
  49699. (WebCore::V8ObjectMap::Serializer::writeAndGreyArrayBufferView):
  49700. (WebCore::V8ObjectMap::Serializer::writeArrayBuffer):
  49701. (WebCore::V8ObjectMap::Serializer::greyObject):
  49702. (WebCore::V8ObjectMap::Serializer::doSerialize):
  49703. (WebCore::V8ObjectMap::Reader::Reader):
  49704. (WebCore::V8ObjectMap::Reader::read):
  49705. (WebCore::V8ObjectMap::Reader::readVersion):
  49706. (WebCore::V8ObjectMap::Reader::setVersion):
  49707. (WebCore::V8ObjectMap::Reader::undoReadTag):
  49708. (WebCore::V8ObjectMap::Reader::readArrayBufferViewSubTag):
  49709. (WebCore::V8ObjectMap::Reader::doReadArrayBuffer):
  49710. (WebCore::V8ObjectMap::Reader::readArrayBuffer):
  49711. (WebCore::V8ObjectMap::Reader::readArrayBufferView):
  49712. (WebCore::V8ObjectMap::Deserializer::Deserializer):
  49713. (WebCore::V8ObjectMap::Deserializer::deserialize):
  49714. (WebCore::V8ObjectMap::Deserializer::newArray):
  49715. (WebCore::V8ObjectMap::Deserializer::consumeTopOfStack):
  49716. (WebCore::V8ObjectMap::Deserializer::completeArray):
  49717. (WebCore::V8ObjectMap::Deserializer::newObject):
  49718. (WebCore::V8ObjectMap::Deserializer::completeObject):
  49719. (WebCore::V8ObjectMap::Deserializer::completeSparseArray):
  49720. (WebCore::V8ObjectMap::Deserializer::pushObjectReference):
  49721. (WebCore::V8ObjectMap::Deserializer::tryGetObjectFromObjectReference):
  49722. (WebCore::V8ObjectMap::Deserializer::objectReferenceCount):
  49723. (WebCore::V8ObjectMap::Deserializer::openComposite):
  49724. (WebCore::V8ObjectMap::Deserializer::closeComposite):
  49725. (WebCore::SerializedScriptValue::SerializedScriptValue):
  49726. * bindings/v8/V8Binding.cpp:
  49727. (WebCore::isHostObject):
  49728. * bindings/v8/V8Binding.h:
  49729. * bindings/v8/custom/V8DataViewCustom.cpp:
  49730. (WebCore::V8DataView::constructorCallback):
  49731. * dom/DOMCoreException.idl:
  49732. * dom/ExceptionCode.cpp:
  49733. * dom/ExceptionCode.h:
  49734. * html/canvas/ArrayBuffer.cpp:
  49735. (WebCore::ArrayBuffer::create):
  49736. * html/canvas/ArrayBuffer.h:
  49737. * html/canvas/DataView.cpp:
  49738. (WebCore::DataView::create):
  49739. * html/canvas/DataView.h:
  49740. 2011-07-19 Simon Fraser <simon.fraser@apple.com>
  49741. Possible recursion in GraphicsLayerCA::updateGeometry()
  49742. https://bugs.webkit.org/show_bug.cgi?id=64815
  49743. Reviewed by Sam Weinig.
  49744. It was possible to recurse via updateGeometry/swapFromOrToTiledLayer/
  49745. updateContentsScale because updateGeometry() and updateContentsScale()
  49746. used different sizes; updateGeometry() used the scaled size, while
  49747. updateContentsScale() used the unscaled size.
  49748. Always use the unscaled size; the scaled size will be at most a couple
  49749. of pixels bigger, and our threshold is not close to the max texture
  49750. size limit, so using the slightly smaller size is OK.
  49751. Test: compositing/scaling/tiled-layer-recursion.html
  49752. * platform/graphics/ca/GraphicsLayerCA.cpp:
  49753. (WebCore::GraphicsLayerCA::updateGeometry):
  49754. (WebCore::GraphicsLayerCA::updateLayerDrawsContent):
  49755. (WebCore::GraphicsLayerCA::updateContentsScale):
  49756. (WebCore::GraphicsLayerCA::requiresTiledLayer):
  49757. * platform/graphics/ca/GraphicsLayerCA.h:
  49758. 2011-07-19 Mihnea Ovidenie <mihnea@adobe.com>
  49759. [CSSRegions]Parse -webkit-region-overflow property
  49760. https://bugs.webkit.org/show_bug.cgi?id=64444
  49761. Reviewed by David Hyatt.
  49762. Test: fast/regions/webkit-region-overflow-parsing.html
  49763. * css/CSSComputedStyleDeclaration.cpp:
  49764. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  49765. * css/CSSParser.cpp:
  49766. (WebCore::CSSParser::parseValue):
  49767. * css/CSSPrimitiveValueMappings.h:
  49768. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  49769. (WebCore::CSSPrimitiveValue::operator RegionOverflow):
  49770. * css/CSSPropertyNames.in:
  49771. * css/CSSStyleSelector.cpp:
  49772. (WebCore::CSSStyleSelector::applyProperty):
  49773. * css/CSSValueKeywords.in:
  49774. * rendering/style/RenderStyle.cpp:
  49775. (WebCore::RenderStyle::diff):
  49776. * rendering/style/RenderStyle.h:
  49777. (WebCore::InheritedFlags::regionOverflow):
  49778. (WebCore::InheritedFlags::setRegionOverflow):
  49779. (WebCore::InheritedFlags::initialRegionOverflow):
  49780. * rendering/style/RenderStyleConstants.h:
  49781. * rendering/style/StyleRareNonInheritedData.cpp:
  49782. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  49783. (WebCore::StyleRareNonInheritedData::operator==):
  49784. * rendering/style/StyleRareNonInheritedData.h:
  49785. 2011-07-19 Mihnea Ovidenie <mihnea@adobe.com>
  49786. hover then un-hover makes state change
  49787. https://bugs.webkit.org/show_bug.cgi?id=56401
  49788. When a 'before' pseudo-element is re-added, we should check whether the insertion point is an anonymous
  49789. block with inline children. If it is, then we should change the insertion point to the first child of the
  49790. anonymous block, otherwise the 'before' pseudo-element ends up in a different block.
  49791. Reviewed by David Hyatt.
  49792. Test: fast/dynamic/hover-before-position-after-style-change.html
  49793. * rendering/RenderObjectChildList.cpp:
  49794. (WebCore::RenderObjectChildList::updateBeforeAfterContent):
  49795. 2011-07-19 Luke Macpherson <macpherson@chromium.org>
  49796. Implement CSSPropertyWebkitPerspectiveOrigin in CSSStyleApplyProperty.
  49797. https://bugs.webkit.org/show_bug.cgi?id=64784
  49798. Reviewed by Simon Fraser.
  49799. No new tests / refactoring.
  49800. * css/CSSStyleApplyProperty.cpp:
  49801. (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
  49802. * css/CSSStyleSelector.cpp:
  49803. (WebCore::CSSStyleSelector::applyProperty):
  49804. 2011-07-19 Chris Rogers <crogers@google.com>
  49805. Implement WaveShaperNode for Web Audio API
  49806. https://bugs.webkit.org/show_bug.cgi?id=64644
  49807. Reviewed by Kenneth Russell.
  49808. No new tests since audio API is not yet implemented.
  49809. * DerivedSources.make:
  49810. * WebCore.gypi:
  49811. * WebCore.xcodeproj/project.pbxproj:
  49812. * bindings/js/JSWaveShaperNodeCustom.cpp: Added.
  49813. (WebCore::JSWaveShaperNode::setCurve):
  49814. * webaudio/AudioContext.cpp:
  49815. (WebCore::AudioContext::createWaveShaper):
  49816. * webaudio/AudioContext.h:
  49817. * webaudio/AudioContext.idl:
  49818. * webaudio/AudioNode.h:
  49819. * webaudio/WaveShaperDSPKernel.cpp: Added.
  49820. (WebCore::WaveShaperDSPKernel::process):
  49821. * webaudio/WaveShaperDSPKernel.h: Added.
  49822. (WebCore::WaveShaperDSPKernel::WaveShaperDSPKernel):
  49823. (WebCore::WaveShaperDSPKernel::reset):
  49824. (WebCore::WaveShaperDSPKernel::waveShaperProcessor):
  49825. * webaudio/WaveShaperNode.cpp: Added.
  49826. (WebCore::WaveShaperNode::WaveShaperNode):
  49827. (WebCore::WaveShaperNode::setCurve):
  49828. (WebCore::WaveShaperNode::curve):
  49829. * webaudio/WaveShaperNode.h: Added.
  49830. (WebCore::WaveShaperNode::create):
  49831. (WebCore::WaveShaperNode::waveShaperProcessor):
  49832. * webaudio/WaveShaperNode.idl: Added.
  49833. * webaudio/WaveShaperProcessor.cpp: Added.
  49834. (WebCore::WaveShaperProcessor::WaveShaperProcessor):
  49835. (WebCore::WaveShaperProcessor::~WaveShaperProcessor):
  49836. (WebCore::WaveShaperProcessor::createKernel):
  49837. (WebCore::WaveShaperProcessor::setCurve):
  49838. (WebCore::WaveShaperProcessor::process):
  49839. * webaudio/WaveShaperProcessor.h: Added.
  49840. (WebCore::WaveShaperProcessor::curve):
  49841. 2011-07-19 Robert Hogan <robert@webkit.org>
  49842. REGRESSION: Incorrect layout at recline-online.com
  49843. https://bugs.webkit.org/show_bug.cgi?id=64030
  49844. Reviewed by David Hyatt.
  49845. http://trac.webkit.org/changeset/68362 dropped the check for cases
  49846. where the render box is floating or inline. When the box is left or right
  49847. aligned it is considered to be floating and needs to its margins set appropriately.
  49848. Test: fast/table/align-right-within-left-aligned-div.html
  49849. created by Dominic Cooney <dominicc@chromium.org>
  49850. * rendering/RenderBox.cpp:
  49851. (WebCore::RenderBox::computeInlineDirectionMargins):
  49852. 2011-07-19 Abhishek Arya <inferno@chromium.org>
  49853. Crash when removing unrenderered nodes in replacement fragment.
  49854. https://bugs.webkit.org/show_bug.cgi?id=64801
  49855. Reviewed by Ryosuke Niwa.
  49856. Test: editing/pasteboard/replacement-fragment-remove-unrendered-node-crash.html
  49857. * editing/ReplaceSelectionCommand.cpp:
  49858. (WebCore::ReplacementFragment::removeUnrenderedNodes):
  49859. 2011-07-19 Rob Buis <rbuis@rim.com>
  49860. https://bugs.webkit.org/show_bug.cgi?id=64673
  49861. REGRESSION (Safari 5.0.5 - ToT): crash in SVG test http://dev.w3.org/SVG/profiles/1.1F2/test/harness/htmlObjectApproved/styling-pres-02-f.html
  49862. Reviewed by Nikolas Zimmermann.
  49863. Prevent calling back to the owning SVGTRefElement upon handling DOMSubtreeModified events.
  49864. Test: svg/W3C-SVG-1.1-SE/styling-pres-02-f.svg
  49865. * svg/SVGTRefElement.cpp:
  49866. (WebCore::SubtreeModificationEventListener::handleEvent):
  49867. 2011-07-19 Tony Chang <tony@chromium.org>
  49868. use more specific types in CSSFlexValue
  49869. https://bugs.webkit.org/show_bug.cgi?id=64763
  49870. Reviewed by Ojan Vafai.
  49871. No new tests because no change in functionality.
  49872. * css/CSSFlexValue.h:
  49873. (WebCore::CSSFlexValue::create):
  49874. (WebCore::CSSFlexValue::isFlexValue): Make it possible to tell if
  49875. we're a flex value or not. Will be needed when we're copying
  49876. values to RenderStyle.
  49877. (WebCore::CSSFlexValue::positiveFlex): Use floats for positive and
  49878. negative flex because in the render code, we use floats.
  49879. (WebCore::CSSFlexValue::negativeFlex): Add accessors for these since
  49880. we'll need it when reading the flex values.
  49881. (WebCore::CSSFlexValue::preferredSize):
  49882. (WebCore::CSSFlexValue::CSSFlexValue):
  49883. * css/CSSParser.cpp:
  49884. (WebCore::CSSParser::parseValidPrimitive): Make the type more
  49885. specific.
  49886. (WebCore::CSSParser::parseFlex):
  49887. * css/CSSParser.h:
  49888. * css/CSSValue.h:
  49889. (WebCore::CSSValue::isFlexValue):
  49890. 2011-07-19 Chris Fleizach <cfleizach@apple.com>
  49891. If the control associated with a <label> is hidden, the label is also hidden (incorrectly)
  49892. https://bugs.webkit.org/show_bug.cgi?id=64752
  49893. Reviewed by Darin Adler.
  49894. Test: platform/mac/accessibility/label-element-with-hidden-control.html
  49895. * accessibility/AccessibilityRenderObject.cpp:
  49896. (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
  49897. 2011-07-19 Vsevolod Vlasov <vsevik@chromium.org>
  49898. Web Inspector: Backend should provide network resource identifiers that are unique across navigation.
  49899. https://bugs.webkit.org/show_bug.cgi?id=64746
  49900. Reviewed by Pavel Feldman.
  49901. * inspector/ConsoleMessage.cpp:
  49902. (WebCore::ConsoleMessage::ConsoleMessage):
  49903. (WebCore::ConsoleMessage::addToFrontend):
  49904. * inspector/ConsoleMessage.h:
  49905. * inspector/IdentifiersFactory.cpp:
  49906. (WebCore::IdentifiersFactory::createIdentifier):
  49907. (WebCore::IdentifiersFactory::resourceId):
  49908. (WebCore::IdentifiersFactory::addProcessIdPrefixTo):
  49909. * inspector/IdentifiersFactory.h:
  49910. * inspector/Inspector.json:
  49911. * inspector/InspectorConsoleAgent.cpp:
  49912. (WebCore::InspectorConsoleAgent::didReceiveResponse):
  49913. (WebCore::InspectorConsoleAgent::didFailLoading):
  49914. * inspector/InspectorPageAgent.h:
  49915. * inspector/InspectorResourceAgent.cpp:
  49916. (WebCore::InspectorResourceAgent::willSendRequest):
  49917. (WebCore::InspectorResourceAgent::markResourceAsCached):
  49918. (WebCore::InspectorResourceAgent::didReceiveResponse):
  49919. (WebCore::InspectorResourceAgent::didReceiveData):
  49920. (WebCore::InspectorResourceAgent::didFinishLoading):
  49921. (WebCore::InspectorResourceAgent::didFailLoading):
  49922. (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
  49923. (WebCore::InspectorResourceAgent::setInitialScriptContent):
  49924. (WebCore::InspectorResourceAgent::setInitialXHRContent):
  49925. (WebCore::InspectorResourceAgent::didReceiveXHRResponse):
  49926. (WebCore::InspectorResourceAgent::didCreateWebSocket):
  49927. (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
  49928. (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
  49929. (WebCore::InspectorResourceAgent::didCloseWebSocket):
  49930. (WebCore::InspectorResourceAgent::getResourceContent):
  49931. * inspector/InspectorResourceAgent.h:
  49932. * inspector/InspectorTimelineAgent.cpp:
  49933. (WebCore::InspectorTimelineAgent::willSendResourceRequest):
  49934. (WebCore::InspectorTimelineAgent::willReceiveResourceData):
  49935. (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
  49936. (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
  49937. * inspector/NetworkResourcesData.cpp:
  49938. (WebCore::NetworkResourcesData::ResourceData::ResourceData):
  49939. (WebCore::NetworkResourcesData::resourceCreated):
  49940. (WebCore::NetworkResourcesData::responseReceived):
  49941. (WebCore::NetworkResourcesData::setResourceType):
  49942. (WebCore::NetworkResourcesData::resourceType):
  49943. (WebCore::NetworkResourcesData::setResourceContent):
  49944. (WebCore::NetworkResourcesData::maybeAddResourceData):
  49945. (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
  49946. (WebCore::NetworkResourcesData::addCachedResource):
  49947. (WebCore::NetworkResourcesData::addResourceSharedBuffer):
  49948. (WebCore::NetworkResourcesData::data):
  49949. (WebCore::NetworkResourcesData::clear):
  49950. (WebCore::NetworkResourcesData::ensureNoDataForResourceId):
  49951. (WebCore::NetworkResourcesData::ensureFreeSpace):
  49952. * inspector/NetworkResourcesData.h:
  49953. (WebCore::NetworkResourcesData::ResourceData::resourceId):
  49954. * inspector/TimelineRecordFactory.cpp:
  49955. (WebCore::TimelineRecordFactory::createResourceSendRequestData):
  49956. (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
  49957. (WebCore::TimelineRecordFactory::createResourceFinishData):
  49958. (WebCore::TimelineRecordFactory::createReceiveResourceData):
  49959. * inspector/TimelineRecordFactory.h:
  49960. 2011-07-19 Jessie Berlin <jberlin@apple.com>
  49961. Fix assertion failure seen in plugins/return-npobject.html on Windows XP Debug bots.
  49962. Rubber-stamped by Adam Roben.
  49963. * loader/ResourceLoader.cpp:
  49964. (WebCore::ResourceLoader::didReceiveData):
  49965. It is possible for a subclass to cancel the load from within didReceiveData, which would
  49966. set m_documentLoader to 0.
  49967. Remove the assertion I added that the DocumentLoader's frame is non-null.
  49968. 2011-07-19 Steve Block <steveblock@google.com>
  49969. REGRESSION (r82194): jvalueToJavaValue() does not correctly set length of String property
  49970. https://bugs.webkit.org/show_bug.cgi?id=64730
  49971. Reviewed by Alexey Proskuryakov.
  49972. Covered by existing tests.
  49973. * bridge/jni/v8/JNIUtilityPrivate.cpp:
  49974. (JSC::Bindings::jvalueToJavaValue):
  49975. 2011-07-19 Vitaly Repeshko <vitalyr@chromium.org>
  49976. [V8] Don't put CSSRuleLists in object groups.
  49977. https://bugs.webkit.org/show_bug.cgi?id=64798
  49978. Reviewed by Pavel Feldman.
  49979. Retention of CSSRuleLists should be implemented using hidden
  49980. references from holder objects. By putting lists in groups we
  49981. artificially extend their lifetimes much more than necessary.
  49982. * bindings/v8/V8GCController.cpp:
  49983. (WebCore::GrouperVisitor::visitDOMWrapper):
  49984. 2011-07-19 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  49985. [EFL] Add ewk_network.cpp|h files.
  49986. https://bugs.webkit.org/show_bug.cgi?id=63315
  49987. Enable setOnLine(bool) on EFL port as well as Android and Chromium.
  49988. Reviewed by Antonio Gomes.
  49989. * platform/network/NetworkStateNotifier.cpp:
  49990. * platform/network/NetworkStateNotifier.h:
  49991. 2011-07-19 Ilya Tikhonovsky <loislo@chromium.org>
  49992. Web Inspector: implement import/export for timeline data.
  49993. https://bugs.webkit.org/show_bug.cgi?id=64601
  49994. Reviewed by Yury Semikhatsky.
  49995. Test: inspector/timeline/timeline-load.html
  49996. * English.lproj/localizedStrings.js:
  49997. * inspector/InspectorFrontendHost.cpp:
  49998. (WebCore::FrontendMenuProvider::contextMenuItemSelected):
  49999. * inspector/front-end/TimelinePanel.js:
  50000. (WebInspector.TimelinePanel):
  50001. (WebInspector.TimelinePanel.prototype._createFileSelector):
  50002. (WebInspector.TimelinePanel.prototype._contextMenu):
  50003. (WebInspector.TimelinePanel.prototype._exportToFile):
  50004. (WebInspector.TimelinePanel.prototype._importFromFile):
  50005. (WebInspector.TimelinePanel.prototype._addRecordToTimeline):
  50006. (WebInspector.TimelinePanel.prototype._clearPanel):
  50007. (WebInspector.TimelineModel):
  50008. (WebInspector.TimelineModel.prototype._addRecord):
  50009. (WebInspector.TimelineModel.prototype._importNextChunk):
  50010. (WebInspector.TimelineModel.prototype._importFromFile):
  50011. (WebInspector.TimelineModel.prototype._importFromFile.onError):
  50012. (WebInspector.TimelineModel.prototype._exportToFile):
  50013. (WebInspector.TimelineModel.prototype._reset):
  50014. * inspector/front-end/utilities.js:
  50015. ():
  50016. 2011-07-19 Vsevolod Vlasov <vsevik@chromium.org>
  50017. Web Inspector: Rename agentIdentifierPrefix to processId, move out from page agent and make static.
  50018. https://bugs.webkit.org/show_bug.cgi?id=64729
  50019. Reviewed by Pavel Feldman.
  50020. * CMakeLists.txt:
  50021. * GNUmakefile.list.am:
  50022. * WebCore.gypi:
  50023. * WebCore.pro:
  50024. * WebCore.vcproj/WebCore.vcproj:
  50025. * WebCore.xcodeproj/project.pbxproj:
  50026. * inspector/IdentifiersFactory.cpp: Added.
  50027. (WebCore::IdentifiersFactory::createIdentifier):
  50028. * inspector/IdentifiersFactory.h: Added.
  50029. (WebCore::IdentifiersFactory::setProcessId):
  50030. * inspector/InspectorController.cpp:
  50031. (WebCore::InspectorController::setProcessId):
  50032. * inspector/InspectorController.h:
  50033. * inspector/InspectorPageAgent.cpp:
  50034. (WebCore::InspectorPageAgent::frameId):
  50035. (WebCore::InspectorPageAgent::loaderId):
  50036. * inspector/InspectorPageAgent.h:
  50037. 2011-07-19 Jeremy Moskovich <jeremy@chromium.org>
  50038. Fix microphone icon placement in speech input control for dir=rtl.
  50039. https://bugs.webkit.org/show_bug.cgi?id=64668
  50040. Reviewed by Dimitri Glazkov.
  50041. Modify default stylesheet to propagate dir=rtl from the outer input
  50042. control to the shadow DOM container. This makes the microphone
  50043. icon appear on the left for dir=rtl, which is the desired behavior.
  50044. Test: fast/speech/speech-bidi-rendering.html
  50045. * css/html.css:
  50046. (input[x-webkit-speech][dir=rtl]::-webkit-textfield-decoration-container):
  50047. 2011-07-19 Raphael Kubo da Costa <kubo@profusion.mobi>
  50048. [EFL] Account for the invalid pointer case in WebCore::screenRect()
  50049. https://bugs.webkit.org/show_bug.cgi?id=64543
  50050. Reviewed by Antonio Gomes.
  50051. Fix a regression introduced in r88245: it assumes the pointer passed
  50052. to screenRect() is always valid.
  50053. fast/frames/crash-removed-iframe.html proves this is not always true,
  50054. so we need to do some sanity check on the pointer before using it.
  50055. No new tests as this has been caught by the current test suite.
  50056. * platform/efl/PlatformScreenEfl.cpp:
  50057. (WebCore::screenRect):
  50058. 2011-07-19 Robin Qiu <robin.qiu@torchmobile.com.cn>
  50059. Reviewed by Antonio Gomes.
  50060. ScrollBar should initialize current position in constructor.
  50061. https://bugs.webkit.org/show_bug.cgi?id=39284
  50062. When ScrollBar is created, m_currentPos should be initialized to
  50063. m_scrollableArea's current scrollPosition. Because scrollbars may
  50064. be created after the content of m_scrollableArea has been scrolled.
  50065. Test: scrollbars/scrollbar-initial-position.html
  50066. * platform/Scrollbar.cpp:
  50067. (WebCore::Scrollbar::Scrollbar):
  50068. 2011-07-19 Yuta Kitamura <yutak@chromium.org>
  50069. WebSocket: Implement hybi framing
  50070. https://bugs.webkit.org/show_bug.cgi?id=64522
  50071. Reviewed by Kent Tamura.
  50072. Implement WebSocket framing protocol which is mainly described in
  50073. <http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-4> and
  50074. <http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-6>.
  50075. Hybi protocol introduces a new frame format which is drastically different from
  50076. the old one. Notable differences are:
  50077. - Binary data support.
  50078. - Fragmentation support: a single message can be fragmented to multiple frames.
  50079. - Ping-pong support.
  50080. - Masking: frame content of a client must be masked to prevent cross-protocol attacks.
  50081. This patch covers the following features:
  50082. - Send a pong frame when a ping frame is received.
  50083. - Receive fragmented frames.
  50084. - Receive masked frames. (Servers do not have to mask frames, but they may if they wish.)
  50085. The following features are NOT implemented yet:
  50086. - Send or receive binary messages.
  50087. - Send a ping message.
  50088. - Send fragmented frames. (It is unclear whether this is necessary.)
  50089. - Rewrite the frame content by WebSocket protocol extensions (like frame compression).
  50090. New tests: http/tests/websocket/tests/hybi/broken-utf8.html
  50091. http/tests/websocket/tests/hybi/fragmented-control-frame.html
  50092. http/tests/websocket/tests/hybi/fragmented-frames.html
  50093. http/tests/websocket/tests/hybi/interleaved-fragments.html
  50094. http/tests/websocket/tests/hybi/long-control-frame.html
  50095. http/tests/websocket/tests/hybi/masked-frames.html
  50096. http/tests/websocket/tests/hybi/pong.html
  50097. http/tests/websocket/tests/hybi/reserved-bits.html
  50098. http/tests/websocket/tests/hybi/reserved-opcodes.html
  50099. http/tests/websocket/tests/hybi/too-long-payload.html
  50100. * websockets/WebSocketChannel.cpp:
  50101. (WebCore::WebSocketChannel::WebSocketChannel):
  50102. (WebCore::WebSocketChannel::send):
  50103. The original content of send() was moved to a private method sendFrameHixie76().
  50104. (WebCore::WebSocketChannel::fail):
  50105. Stop handling incoming data after the WebSocket connection is failed.
  50106. It was unclear to me whether we should do the same thing for hixie-76 connection;
  50107. for now, I kept the original behavior.
  50108. (WebCore::WebSocketChannel::processBuffer):
  50109. (WebCore::WebSocketChannel::resumeTimerFired):
  50110. (WebCore::WebSocketChannel::startClosingHandshake):
  50111. (WebCore::WebSocketChannel::closingTimerFired):
  50112. (WebCore::WebSocketChannel::parseFrame):
  50113. (WebCore::WebSocketChannel::processFrame):
  50114. (WebCore::WebSocketChannel::processFrameHixie76):
  50115. (WebCore::WebSocketChannel::sendFrame):
  50116. (WebCore::WebSocketChannel::sendFrameHixie76):
  50117. * websockets/WebSocketChannel.h:
  50118. (WebCore::WebSocketChannel::isNonControlOpCode):
  50119. (WebCore::WebSocketChannel::isControlOpCode):
  50120. (WebCore::WebSocketChannel::isReservedOpCode):
  50121. 2011-07-19 Nikolas Zimmermann <nzimmermann@rim.com>
  50122. REGRESSION (r88913): Preview in Safari's snippet editor has a fixed height instead of filling the entire pane
  50123. https://bugs.webkit.org/show_bug.cgi?id=64059
  50124. REGRESSION (r88913): <object> has wrong computed height
  50125. https://bugs.webkit.org/show_bug.cgi?id=62769
  50126. Reviewed by Rob Buis.
  50127. Fix misinterpretation of CSS 2.1 - "10.5 Content height: the 'height' property".
  50128. It says "If the height of the containing block is not specified explicitelz (i.e. it depends on the
  50129. content height), and this element is not absolutely positioned, the value computes to 'auto'".
  50130. Checking whether the containing block height depends on the content height is not equal to checking
  50131. whether the height property is set on the containing block, there are other ways to implicitly specify
  50132. the height by setting top & bottom. Fix that by checking whether the containing block has a height
  50133. property or top & bottom set.
  50134. While I was at it, make computeReplacedLogicalWidth/Height a bit more explicit to make it easier to compare
  50135. the code with the spec quoatations - this doesn't change the functionality only the readability.
  50136. Test: fast/css/replaced-element-implicit-size.html
  50137. * rendering/RenderReplaced.cpp:
  50138. (WebCore::RenderReplaced::computeReplacedLogicalWidth): Cleanup comment, make code more explicit.
  50139. (WebCore::RenderReplaced::logicalHeightIsAuto): Add helper method used by computeReplacedLogicalHeight.
  50140. (WebCore::RenderReplaced::computeReplacedLogicalHeight): Fix height=auto detection.
  50141. * rendering/RenderReplaced.h:
  50142. 2011-07-18 Ryosuke Niwa <rniwa@webkit.org>
  50143. REGRESSION(91209?): fast/css/custom-font-xheight.html is failing on Leopard
  50144. https://bugs.webkit.org/show_bug.cgi?id=64767
  50145. Add a runtime check for font cascading optimization.
  50146. It's a constant value in Mac port so hopefully gcc will constant-propagate the value
  50147. and eliminate the function altogether.
  50148. * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
  50149. (WebCore::canSetCascadeListForCustomFont): Added.
  50150. (WebCore::FontPlatformData::ctFont):
  50151. 2011-07-18 MORITA Hajime <morrita@google.com>
  50152. [ShadowContentElement] forwarded node should be able to access its hosting content element.
  50153. https://bugs.webkit.org/show_bug.cgi?id=64251
  50154. Reviewed by Dimitri Glazkov.
  50155. - Introduced ShadowInclusionSet to manage included nodes to its includer content element.
  50156. ShadowInclusionSet instance is owned by ShadowRoot.
  50157. - Updated the set on inclusion list changes.
  50158. - Used the set to retrieve the content element of NodeRenderingContext.
  50159. There are also related refactoring and cleanup:
  50160. - Renamed NodeRenderingContext::m_contentElement to m_includer
  50161. - ShadowContentSelector::m_activeElement is no longer used, thus removed.
  50162. Test: fast/dom/shadow/content-element-includer.html
  50163. * WebCore.exp.in:
  50164. * dom/NodeRenderingContext.cpp:
  50165. (WebCore::NodeRenderingContext::NodeRenderingContext):
  50166. (WebCore::NodeRenderingContext::nextRenderer):
  50167. (WebCore::NodeRenderingContext::previousRenderer):
  50168. * dom/NodeRenderingContext.h:
  50169. (WebCore::NodeRenderingContext::includer):
  50170. * dom/ShadowContentElement.cpp:
  50171. (WebCore::removeFromSet):
  50172. (WebCore::addToSet):
  50173. (WebCore::ShadowContentElement::attach):
  50174. (WebCore::ShadowContentElement::detach):
  50175. * dom/ShadowContentElement.h:
  50176. (WebCore::ShadowInclusionSet::add):
  50177. (WebCore::ShadowInclusionSet::remove):
  50178. (WebCore::ShadowInclusionSet::isEmpty):
  50179. (WebCore::ShadowInclusionSet::Translator::hash):
  50180. (WebCore::ShadowInclusionSet::Translator::equal):
  50181. (WebCore::ShadowInclusionSet::Hash::hash):
  50182. (WebCore::ShadowInclusionSet::Hash::equal):
  50183. (WebCore::ShadowInclusionSet::find):
  50184. * dom/ShadowContentSelector.cpp:
  50185. (WebCore::ShadowContentSelector::ShadowContentSelector):
  50186. (WebCore::ShadowContentSelector::selectInclusion):
  50187. * dom/ShadowContentSelector.h:
  50188. * dom/ShadowRoot.cpp:
  50189. (WebCore::ShadowRoot::~ShadowRoot):
  50190. (WebCore::ShadowRoot::includerFor):
  50191. (WebCore::ShadowRoot::inclusions):
  50192. (WebCore::ShadowRoot::ensureInclusions):
  50193. * dom/ShadowRoot.h:
  50194. (WebCore::toShadowRoot):
  50195. * testing/Internals.cpp:
  50196. (WebCore::Internals::includerFor):
  50197. * testing/Internals.h:
  50198. * testing/Internals.idl:
  50199. 2011-07-18 Dean Jackson <dino@apple.com>
  50200. https://bugs.webkit.org/show_bug.cgi?id=64742
  50201. Expose WebPreferences for media playback requiring user gestures and inline playback
  50202. Reviewed by Simon Fraser.
  50203. Media playback already tested if it should require user gestures, but
  50204. no setting was ever exposed to clients. Also, some ports only allow media
  50205. playback to be fullscreen, so exposing a new setting for them.
  50206. * html/HTMLMediaElement.cpp:
  50207. (WebCore::HTMLMediaElement::HTMLMediaElement): Examine the new Setting
  50208. for user gestures.
  50209. * page/Settings.cpp:
  50210. (WebCore::Settings::Settings):
  50211. * page/Settings.h: Two new settings.
  50212. (WebCore::Settings::setMediaPlaybackRequiresUserGesture):
  50213. (WebCore::Settings::mediaPlaybackRequiresUserGesture):
  50214. (WebCore::Settings::setMediaPlaybackAllowsInline):
  50215. (WebCore::Settings::mediaPlaybackAllowsInline):
  50216. 2011-07-18 Ryosuke Niwa <rniwa@webkit.org>
  50217. Leopard build fix after r91229.
  50218. * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
  50219. (WebCore::FontPlatformData::ctFont):
  50220. 2011-07-18 Dan Bernstein <mitz@apple.com>
  50221. REGRESSION(91209?): fast/css/custom-font-xheight.html is failing on Leopard
  50222. https://bugs.webkit.org/show_bug.cgi?id=64767
  50223. Reviewed by Sam Weinig.
  50224. * platform/graphics/Font.h:
  50225. * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
  50226. (WebCore::FontPlatformData::ctFont): Undo the cascade list optimization on Leopard for custom
  50227. fonts, because adding a cascade list apparently breaks the font.
  50228. 2011-07-18 Matthew Delaney <mdelaney@apple.com>
  50229. Remove drawsUsingCopy now that all ports handle the copying
  50230. https://bugs.webkit.org/show_bug.cgi?id=64768
  50231. Introduced in https://bugs.webkit.org/show_bug.cgi?id=43507, ImageBuffer::drawsUsingCopy
  50232. was used to know whether or not an ImageBuffer should be explicitly copied before being
  50233. painted into a context (as was used in HTMLCanvasElement::paint). All platforms now
  50234. handle the logic of copying or not in their ImageBuffer::draw() implementations, so
  50235. drawsUsingCopy() is no longer needed. This patch removes it.
  50236. Reviewed by Dan Bernstein.
  50237. No new tests; does not affect behavior.
  50238. * html/HTMLCanvasElement.cpp:
  50239. (WebCore::HTMLCanvasElement::paint):
  50240. * platform/graphics/ImageBuffer.h:
  50241. (WebCore::ImageBuffer::isAccelerated):
  50242. * platform/graphics/cairo/ImageBufferCairo.cpp:
  50243. * platform/graphics/cg/ImageBufferCG.cpp:
  50244. * platform/graphics/qt/ImageBufferQt.cpp:
  50245. * platform/graphics/skia/ImageBufferSkia.cpp:
  50246. * platform/graphics/wince/ImageBufferWinCE.cpp:
  50247. * platform/graphics/wx/ImageBufferWx.cpp:
  50248. 2011-07-18 Vsevolod Vlasov <vsevik@chromium.org>
  50249. Web Inspector: [REGRESSION] Resource preserving fails when frameNavigated event is dispatched on NetworkPanel.
  50250. https://bugs.webkit.org/show_bug.cgi?id=64748
  50251. Reviewed by Pavel Feldman.
  50252. * inspector/front-end/NetworkPanel.js:
  50253. (WebInspector.NetworkLogView.prototype._frameNavigated):
  50254. 2011-07-18 Brian Weinstein <bweinstein@apple.com>
  50255. Prep work for: Crash under WebPage::platformDragEnded when dragging on Mac
  50256. https://bugs.webkit.org/show_bug.cgi?id=64766
  50257. <rdar://problem/9548174>
  50258. Reviewed by Darin Adler.
  50259. Add a DragClient function that is called when a drag is ended, and call it from DragController::dragEnded.
  50260. This isn't used yet, but will be used by WebKit2 on Mac.
  50261. This patch also cleans up style in DragClient.h.
  50262. No change in behavior, no tests needed.
  50263. * page/DragClient.h:
  50264. (WebCore::DragClient::dragEnded): Stub virtual implementation for now, this will be used by
  50265. WebKit2 on Mac.
  50266. * page/DragController.cpp:
  50267. (WebCore::DragController::dragEnded): Call DragClient::dragEnded.
  50268. 2011-07-18 Jon Honeycutt <jhoneycutt@apple.com>
  50269. Focus and selection events are not fired when a <select>'s selection
  50270. changes
  50271. https://bugs.webkit.org/show_bug.cgi?id=64504
  50272. <rdar://problem/9319881>
  50273. Reviewed by Alice Liu.
  50274. Test: platform/win/accessibility/option-element-selection-and-focus-events.html
  50275. * accessibility/chromium/AXObjectCacheChromium.cpp:
  50276. (WebCore::AXObjectCache::postPlatformNotification):
  50277. Add new notification type to the section of unhandled notifications.
  50278. * accessibility/AXObjectCache.h:
  50279. Declare a new notification, AXMenuListItemSelected.
  50280. * accessibility/AccessibilityMenuList.cpp:
  50281. (WebCore::AccessibilityMenuList::didUpdateActiveOption):
  50282. Tell our child popup that the active option changed, and post a
  50283. notification that our value changed.
  50284. * accessibility/AccessibilityMenuList.h:
  50285. Declare didUpdateActiveOption().
  50286. * accessibility/AccessibilityMenuListPopup.cpp:
  50287. (WebCore::AccessibilityMenuListPopup::didUpdateActiveOption):
  50288. Get the child <option> element that is selected, and fire focus and
  50289. selection events for it.
  50290. * accessibility/AccessibilityMenuListPopup.h:
  50291. Declare didUpdateActiveOption().
  50292. * accessibility/win/AXObjectCacheWin.cpp:
  50293. (WebCore::AXObjectCache::postPlatformNotification):
  50294. Map AXMenuListItemSelected -> EVENT_OBJECT_SELECTION.
  50295. * dom/SelectElement.cpp:
  50296. (WebCore::SelectElement::setSelectedIndex):
  50297. Pass the newly-selected index.
  50298. * rendering/RenderMenuList.cpp:
  50299. (WebCore::RenderMenuList::RenderMenuList):
  50300. Update the initialization list for the renamed m_lastActiveIndex.
  50301. (WebCore::RenderMenuList::setTextFromOption):
  50302. A new selection has been made in the popup; call
  50303. didUpdateActiveOption().
  50304. (WebCore::RenderMenuList::didSetSelectedIndex):
  50305. Call didUpdateActiveOption(), passing the index of the newly-selected
  50306. <option>.
  50307. (WebCore::RenderMenuList::didUpdateActiveOption):
  50308. If accessibility is disabled, or if the active option has not changed,
  50309. return early. Check whether the option index is in the range of list
  50310. items, and assert that the item at that index is an <option> element.
  50311. Tell the AccessibilityMenuList for this element that we updated the
  50312. active option.
  50313. * rendering/RenderMenuList.h:
  50314. Updated the declaration of didSetSelectedIndex() to take the selected
  50315. index. Declared didUpdateActiveOption(). Renamed m_lastSelectedIndex to
  50316. m_lastActiveIndex.
  50317. 2011-07-18 Dan Bernstein <mitz@apple.com>
  50318. Specify a cascade list consisting of the last resort font for Core Text
  50319. https://bugs.webkit.org/show_bug.cgi?id=64747
  50320. Reviewed by Sam Weinig.
  50321. No new tests, because this does not affect behavior.
  50322. This prevents Core Text from taking its default, longer fallback list when the primary font does
  50323. not include a character. This is OK to do because WebKit never uses the results of Core Text
  50324. fallback anyway.
  50325. * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
  50326. (WebCore::cascadeToLastResortFontDescriptor): Added. Returns a CTFontDescriptor with a cascade
  50327. list consisting of the last resort font.
  50328. (WebCore::FontPlatformData::ctFont): Changed to include the cascadeToLastResortFontDescriptor
  50329. in the returned font.
  50330. 2011-07-18 James Robinson <jamesr@chromium.org>
  50331. Timer scheduling should be based off the monotonic clock
  50332. https://bugs.webkit.org/show_bug.cgi?id=64544
  50333. Reviewed by Darin Adler.
  50334. Changes the Timer scheduling logic from using absolute values in terms of currentTime() to using relative
  50335. intervals in terms of monotonicallyIncreasingTime(). This provides better standards compliance, compatibility,
  50336. and predictability when the system clock is adjusted.
  50337. No automated tests since there is no way to modify the system clock from DRT.
  50338. * platform/SharedTimer.h:
  50339. (WebCore::MainThreadSharedTimer::setFireInterval):
  50340. * platform/ThreadTimers.cpp:
  50341. (WebCore::ThreadTimers::updateSharedTimer):
  50342. (WebCore::ThreadTimers::sharedTimerFiredInternal):
  50343. * platform/Timer.cpp:
  50344. (WebCore::TimerBase::start):
  50345. (WebCore::TimerBase::nextFireInterval):
  50346. * platform/android/SharedTimerAndroid.cpp:
  50347. (WebCore::setSharedTimerFireInterval):
  50348. * platform/brew/SharedTimerBrew.cpp:
  50349. (WebCore::setSharedTimerFireInterval):
  50350. * platform/chromium/PlatformBridge.h:
  50351. * platform/chromium/SharedTimerChromium.cpp:
  50352. (WebCore::setSharedTimerFireInterval):
  50353. * platform/efl/SharedTimerEfl.cpp:
  50354. (WebCore::addNewTimer):
  50355. (WebCore::setSharedTimerFireInterval):
  50356. * platform/gtk/SharedTimerGtk.cpp:
  50357. (WebCore::setSharedTimerFireInterval):
  50358. * platform/haiku/SharedTimerHaiku.cpp:
  50359. (WebCore::SharedTimerHaiku::start):
  50360. (WebCore::setSharedTimerFireInterval):
  50361. * platform/mac/SharedTimerMac.mm:
  50362. (WebCore::setSharedTimerFireInterval):
  50363. * platform/qt/SharedTimerQt.cpp:
  50364. (WebCore::SharedTimerQt::start):
  50365. (WebCore::setSharedTimerFireInterval):
  50366. * platform/win/SharedTimerWin.cpp:
  50367. (WebCore::setSharedTimerFireInterval):
  50368. * platform/wince/SharedTimerWinCE.cpp:
  50369. (WebCore::setSharedTimerFireInterval):
  50370. * platform/wx/SharedTimerWx.cpp:
  50371. (WebCore::setSharedTimerFireInterval):
  50372. * workers/WorkerRunLoop.cpp:
  50373. (WebCore::WorkerSharedTimer::setFireInterval):
  50374. 2011-07-18 Pratik Solanki <psolanki@apple.com>
  50375. Unreviewed. Fix Windows build. Move static function defaultSessionCookieStorage() to before
  50376. its use in defaultCookieStorage().
  50377. * platform/network/cf/CookieStorageCFNet.cpp:
  50378. (WebCore::defaultSessionCookieStorage):
  50379. 2011-07-18 Pratik Solanki <psolanki@apple.com>
  50380. Part of https://bugs.webkit.org/show_bug.cgi?id=63674
  50381. Get webkit to compile with USE(CFNETWORK) enabled on Mac
  50382. Reviewed by David Kilzer.
  50383. Get coookie storage code to work with USE(CFNETWORK) enabled on Mac.
  50384. No new tests because no change in functionality.
  50385. * platform/network/cf/CookieStorageCFNet.cpp:
  50386. (WebCore::defaultCookieStorage):
  50387. (WebCore::defaultSessionCookieStorage):
  50388. * platform/network/cf/ResourceHandleCFNet.cpp:
  50389. (WebCore::ResourceHandle::createPrivateBrowsingStorageSession):
  50390. * platform/network/mac/CookieStorageMac.mm:
  50391. 2011-07-18 Pratik Solanki <psolanki@apple.com>
  50392. Part of https://bugs.webkit.org/show_bug.cgi?id=63674
  50393. Get webkit to compile with USE(CFNETWORK) enabled on Mac
  50394. Reviewed by David Kilzer.
  50395. * WebCore.exp.in:
  50396. 2011-07-18 Gavin Barraclough <barraclough@apple.com>
  50397. Speculative fix for Leopard assertions caused by 91095.
  50398. Rubber stamped by Sam Weinig.
  50399. * bridge/NP_jsobject.cpp:
  50400. (_NPN_Invoke):
  50401. - ensure we pass the window shell, not the global object.
  50402. 2011-07-18 Mark Hahnenberg <mhahnenberg@apple.com>
  50403. Refactor JSC to replace JSCell::operator new with static create method
  50404. https://bugs.webkit.org/show_bug.cgi?id=64466
  50405. Reviewed by Oliver Hunt (oliver@apple.com) and Darin Adler (darin@apple.com).
  50406. First step in a longer refactoring process to remove the use of
  50407. operator new overloading in order to allocate GC objects and to replace
  50408. this method with static create methods for each individual type of heap-allocated
  50409. JS object. This particular patch only deals with replacing uses of
  50410. operator new within JSC proper. Future patches will remove it from the
  50411. parts that interface with the DOM. Due to the DOM's continued dependence
  50412. on it, operator new has not actually been removed from JSCell.
  50413. * bindings/js/JSDOMBinding.cpp:
  50414. (WebCore::jsDateOrNull):
  50415. (WebCore::objectToStringFunctionGetter):
  50416. * bindings/js/JSDOMWindowCustom.cpp:
  50417. (WebCore::nonCachingStaticFunctionGetter):
  50418. * bindings/js/JSHistoryCustom.cpp:
  50419. (WebCore::nonCachingStaticBackFunctionGetter):
  50420. (WebCore::nonCachingStaticForwardFunctionGetter):
  50421. (WebCore::nonCachingStaticGoFunctionGetter):
  50422. * bindings/js/JSLocationCustom.cpp:
  50423. (WebCore::nonCachingStaticReplaceFunctionGetter):
  50424. (WebCore::nonCachingStaticReloadFunctionGetter):
  50425. (WebCore::nonCachingStaticAssignFunctionGetter):
  50426. * bindings/js/SerializedScriptValue.cpp:
  50427. (WebCore::CloneDeserializer::readTerminal):
  50428. * bridge/qt/qt_runtime.cpp:
  50429. (JSC::Bindings::convertQVariantToValue):
  50430. 2011-07-18 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
  50431. [Texmap] [Qt] [WK2] Unsync in TextureMapperNode between parent and child lists cause crashes on WK2.
  50432. https://bugs.webkit.org/show_bug.cgi?id=62587
  50433. Reviewed by Noam Rosenthal.
  50434. Fix unsync between m_parent and m_children list in child and parent texture mapper nodes
  50435. in syncCompositingStateSelf.
  50436. * platform/graphics/texmap/TextureMapperNode.cpp:
  50437. (WebCore::TextureMapperNode::syncCompositingStateSelf):
  50438. 2011-07-18 Rob Buis <rbuis@rim.com>
  50439. Stroking of zero-length paths in SVG should change according to erratum
  50440. https://bugs.webkit.org/show_bug.cgi?id=18356
  50441. Reviewed by Nikolas Zimmermann.
  50442. Do not rely on toolkits to correctly render zero-length path with stroke-linecap=round, render
  50443. it ourselves just like for stroke-linecap=square.
  50444. * rendering/svg/RenderSVGPath.cpp:
  50445. (WebCore::RenderSVGPath::shouldStrokeZeroLengthSubpath):
  50446. (WebCore::RenderSVGPath::setupSquareCapPath):
  50447. 2011-07-18 Mihnea Ovidenie <mihnea@adobe.com>
  50448. [REGRESSION] Value 'none' breaks multiple background-image display
  50449. https://bugs.webkit.org/show_bug.cgi?id=59274
  50450. Reviewed by Simon Fraser.
  50451. When taking fast path for simple color background, we should draw
  50452. the background only if it is the last in the list of backgrounds.
  50453. Otherwise, it will obscure the previously drawn backgrounds.
  50454. Test: fast/backgrounds/background-fast-path-simple-color.html
  50455. * rendering/RenderBoxModelObject.cpp:
  50456. (WebCore::RenderBoxModelObject::paintFillLayerExtended):
  50457. 2011-07-18 Yi Shen <yi.4.shen@nokia.com>
  50458. [Qt] ASSERTION FAILED in ResourceHandle::setDefersLoading causes crash
  50459. https://bugs.webkit.org/show_bug.cgi?id=62808
  50460. The assertion in ResourceHandle::setDefersLoading assumes asynchronous
  50461. content delivery -- To resume a page, first, its main resource loader
  50462. calls setDefersLoading to resume loading the main content; then all the
  50463. sub-resource loaders calls setDefersLoading to resume sub-contents.
  50464. However, since QNetworkReplyHandler delivers content synchronously,
  50465. some new sub-resource loaders get created as soon as the main resource
  50466. loader resumed, and all these new sub-resource loaders set their
  50467. defersLoading flag to false. Then, the assertion fails for these new
  50468. sub-resource loaders when calling setDefersLoading on them. As a fix,
  50469. this path makes QNetworkReplyHandler deliver content asynchronously
  50470. when its load type is set to SynchronousLoad.
  50471. Reviewed by Benjamin Poulain.
  50472. Test: loader/load-defer-resume-crash.html
  50473. * platform/network/qt/QNetworkReplyHandler.cpp:
  50474. (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
  50475. * platform/network/qt/QNetworkReplyHandler.h:
  50476. (WebCore::QNetworkReplyHandler::setLoadingDeferred):
  50477. 2011-07-18 Young Han Lee <joybro@company100.net>
  50478. AnimationBase asserts if a test tries to pause during the delay phase
  50479. https://bugs.webkit.org/show_bug.cgi?id=59475
  50480. Reviewed by Simon Fraser.
  50481. There is no more assertion failure after r90765, but the testcase still fails due to
  50482. the miscalculation of the pauseTime. This patch pauses the animation at its startTime
  50483. if a test tries to pause it during the delay phase.
  50484. Test: transitions/transition-in-delay-phase.html
  50485. * page/animation/AnimationBase.cpp:
  50486. (WebCore::AnimationBase::freezeAtTime):
  50487. 2011-07-18 Vsevolod Vlasov <vsevik@chromium.org>
  50488. Web Inspector: Web Inspector: provide unique identifiers for loaders
  50489. https://bugs.webkit.org/show_bug.cgi?id=64599
  50490. Reviewed by Pavel Feldman.
  50491. * inspector/InspectorInstrumentation.cpp:
  50492. (WebCore::InspectorInstrumentation::loaderDetachedFromFrameImpl):
  50493. * inspector/InspectorInstrumentation.h:
  50494. (WebCore::InspectorInstrumentation::frameDestroyed):
  50495. (WebCore::InspectorInstrumentation::loaderDetachedFromFrame):
  50496. * inspector/InspectorPageAgent.cpp:
  50497. (WebCore::InspectorPageAgent::loaderId):
  50498. (WebCore::InspectorPageAgent::loaderDetachedFromFrame):
  50499. * inspector/InspectorPageAgent.h:
  50500. * loader/DocumentLoader.cpp:
  50501. (WebCore::DocumentLoader::detachFromFrame):
  50502. 2011-07-18 Pavel Feldman <pfeldman@google.com>
  50503. Web Inspector: "Reveal in Elements Panel" is broken.
  50504. https://bugs.webkit.org/show_bug.cgi?id=64688
  50505. Reviewed by Yury Semikhatsky.
  50506. * inspector/front-end/ElementsTreeOutline.js:
  50507. (WebInspector.ElementsTreeOutline):
  50508. (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
  50509. (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
  50510. (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
  50511. 2011-07-18 Julien Chaffraix <jchaffraix@webkit.org>
  50512. Remove RenderObject::addLayers second argument
  50513. https://bugs.webkit.org/show_bug.cgi?id=64649
  50514. Reviewed by Benjamin Poulain.
  50515. No change in behavior.
  50516. The code was always passing |this| as the second argument. Thus just
  50517. removed the argument for clarity.
  50518. * rendering/RenderObject.h:
  50519. * rendering/RenderObject.cpp:
  50520. (WebCore::RenderObject::addLayers): Removed the argument, replaced
  50521. by |this|.
  50522. * rendering/RenderObjectChildList.cpp:
  50523. (WebCore::RenderObjectChildList::appendChildNode):
  50524. (WebCore::RenderObjectChildList::insertChildNode):
  50525. Removed the second argument at those 2 call sites.
  50526. 2011-07-18 Pavel Feldman <pfeldman@google.com>
  50527. Web Inspector: do not pause on caught exceptions while typing in the console.
  50528. https://bugs.webkit.org/show_bug.cgi?id=64379
  50529. Reviewed by Yury Semikhatsky.
  50530. * inspector/Inspector.json:
  50531. * inspector/InspectorController.cpp:
  50532. (WebCore::InspectorController::InspectorController):
  50533. * inspector/InspectorRuntimeAgent.cpp:
  50534. (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
  50535. (WebCore::InspectorRuntimeAgent::evaluate):
  50536. (WebCore::InspectorRuntimeAgent::setScriptDebugServer):
  50537. * inspector/InspectorRuntimeAgent.h:
  50538. * inspector/WorkerInspectorController.cpp:
  50539. (WebCore::WorkerInspectorController::WorkerInspectorController):
  50540. * inspector/front-end/ConsoleView.js:
  50541. (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
  50542. * inspector/front-end/WatchExpressionsSidebarPane.js:
  50543. (WebInspector.WatchExpressionsSection.prototype.update):
  50544. 2011-07-18 Sheriff Bot <webkit.review.bot@gmail.com>
  50545. Unreviewed, rolling out r91132 and r91135.
  50546. http://trac.webkit.org/changeset/91132
  50547. http://trac.webkit.org/changeset/91135
  50548. https://bugs.webkit.org/show_bug.cgi?id=64681
  50549. Broke GTK and Chromium debug bots (Requested by rniwa on
  50550. #webkit).
  50551. * accessibility/AXObjectCache.h:
  50552. * accessibility/AccessibilityMenuList.cpp:
  50553. * accessibility/AccessibilityMenuList.h:
  50554. * accessibility/AccessibilityMenuListPopup.cpp:
  50555. * accessibility/AccessibilityMenuListPopup.h:
  50556. * accessibility/chromium/AXObjectCacheChromium.cpp:
  50557. (WebCore::AXObjectCache::postPlatformNotification):
  50558. * accessibility/win/AXObjectCacheWin.cpp:
  50559. (WebCore::AXObjectCache::postPlatformNotification):
  50560. * dom/SelectElement.cpp:
  50561. (WebCore::SelectElement::setSelectedIndex):
  50562. * rendering/RenderMenuList.cpp:
  50563. (WebCore::RenderMenuList::RenderMenuList):
  50564. (WebCore::RenderMenuList::setTextFromOption):
  50565. (WebCore::RenderMenuList::didSetSelectedIndex):
  50566. * rendering/RenderMenuList.h:
  50567. 2011-07-17 Luke Macpherson <macpherson@chromium.org>
  50568. Implement CSSPropertyCursor in CSSStyleApplyProperty
  50569. https://bugs.webkit.org/show_bug.cgi?id=64432
  50570. Reviewed by Dimitri Glazkov.
  50571. No new tests / refectoring only.
  50572. * css/CSSStyleApplyProperty.cpp:
  50573. Add handler for CSSPropertyCursor.
  50574. * css/CSSStyleSelector.cpp:
  50575. Remove current handler of CSSPropertyCursor.
  50576. * css/CSSStyleSelector.h:
  50577. Make styleImage and cachedOrPendingFromValue public.
  50578. 2011-07-16 Simon Fraser <simon.fraser@apple.com>
  50579. Add code to attempt to align compositing layers to pixel boundaries when page scale changes
  50580. https://bugs.webkit.org/show_bug.cgi?id=64658
  50581. Reviewed by Dan Bernstein.
  50582. Implemented a new behavior on GraphicsLayerCA which attempts to keep layers pixel
  50583. aligned as page scale changes.
  50584. This requires denoting which layer has the page scale on it (it is assumed to be
  50585. already aligned), via setAppliesPageScale(). We also now pass a scale and offset
  50586. down through the GraphicsLayer commits, which are used to map layer bounds to display
  50587. coordinates for rounding.
  50588. * platform/graphics/GraphicsLayer.h: New flags and getters/setters for pixel alignment,
  50589. and the layer that is the applier of the scale.
  50590. (WebCore::GraphicsLayer::setMaintainsPixelAlignment):
  50591. (WebCore::GraphicsLayer::maintainsPixelAlignment):
  50592. (WebCore::GraphicsLayer::setAppliesPageScale):
  50593. (WebCore::GraphicsLayer::appliesPageScale):
  50594. * platform/graphics/GraphicsLayer.cpp:
  50595. (WebCore::GraphicsLayer::GraphicsLayer): Initialize the new flags.
  50596. (WebCore::GraphicsLayer::backingScaleFactor): Utility method that calls the client if there is one.
  50597. (WebCore::GraphicsLayer::pageScaleFactor): Ditto.
  50598. * platform/graphics/GraphicsLayerClient.h:
  50599. (WebCore::GraphicsLayerClient::backingScaleFactor): Provide default implementation.
  50600. (WebCore::GraphicsLayerClient::pageScaleFactor): Ditto.
  50601. * platform/graphics/ca/GraphicsLayerCA.h: Pass scale and base-relative offset around
  50602. to methods that need to update geometry during commit.
  50603. Some new methods related to pixel alignment.
  50604. * platform/graphics/ca/GraphicsLayerCA.cpp:
  50605. (WebCore::GraphicsLayerCA::computePositionRelativeToBase): For single-layer commits,
  50606. we have to compute the base-relative offset, and whether we're under the layer
  50607. applying the scale by walking up the tree.
  50608. (WebCore::GraphicsLayerCA::syncCompositingStateForThisLayerOnly): Call
  50609. computePositionRelativeToBase() to get scaling parameters for the target layer.
  50610. (WebCore::GraphicsLayerCA::recursiveCommitChanges): Pass flags related to scaling.
  50611. positionRelativeToBase is an offset relative to the ancestor layer known to be pixel
  50612. aligned. affectedByPageScale is true for layers which are descendants of the layer
  50613. which applies the scale.
  50614. (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Pass scale and offset.
  50615. (WebCore::GraphicsLayerCA::updateGeometry): Call computePixelAlignment() to get
  50616. pixel-aligned geometry. This only needs to be applied to layers which render content,
  50617. so re-organize the code to use the unchanged layer geometry for the structural layer,
  50618. but to apply the adjusted geometry to the m_layer.
  50619. (WebCore::GraphicsLayerCA::updateStructuralLayer): Pass scale and offset.
  50620. (WebCore::GraphicsLayerCA::ensureStructuralLayer): Ditto.
  50621. (WebCore::GraphicsLayerCA::updateLayerDrawsContent): Ditto.
  50622. (WebCore::GraphicsLayerCA::updateContentsScale): Ditto.
  50623. (WebCore::GraphicsLayerCA::requiresTiledLayer): Ditto.
  50624. (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Ditto.
  50625. (WebCore::GraphicsLayerCA::setKeepPixelAligned): When set, dirties flags
  50626. for properties that need to be recomputed.
  50627. (WebCore::GraphicsLayerCA::noteChangesForScaleSensitiveProperties):
  50628. (WebCore::isIntegral):
  50629. (WebCore::GraphicsLayerCA::computePixelAlignment): Map our bounds to screen
  50630. scale, round out to an integral rect, then map it back, adding a fudge factor
  50631. so that CA backing stores don't end up being smaller than we expect because
  50632. of integer truncation.
  50633. * rendering/RenderLayerBacking.cpp:
  50634. (WebCore::RenderLayerBacking::createGraphicsLayer): Turn on pixel alignment if
  50635. the compositor says so.
  50636. (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Set the RenderView's
  50637. layer as the one applying the scale, for the main frame.
  50638. * rendering/RenderLayerCompositor.h: New method.
  50639. * rendering/RenderLayerCompositor.cpp:
  50640. (WebCore::RenderLayerCompositor::keepLayersPixelAligned): Master switch for
  50641. pixel alignment. Default to on.
  50642. (WebCore::RenderLayerCompositor::ensureRootLayer): Give the two root-ish layers
  50643. a client so they can ask for page scale if necessary.
  50644. 2011-07-16 Enrica Casucci <enrica@apple.com>
  50645. REGRESSION: Pressing return in a particular document sends the cursor to the end of the document.
  50646. https://bugs.webkit.org/show_bug.cgi?id=64140
  50647. <rdar://problem/9737491>
  50648. Inserting a paragraph separator at a break element, inside an inline, generates redundant markup
  50649. and moves the selection at the end of the inserted block.
  50650. The fix consists in detecting that the insertion point is a break element and simply inserting another
  50651. break element. This solves the problem of the wrong final selection and also produces less redundant
  50652. markup.
  50653. Reviewed by Simon Fraser.
  50654. Test: editing/inserting/insert-paragraph-separator-at-break.html
  50655. * editing/InsertParagraphSeparatorCommand.cpp:
  50656. (WebCore::InsertParagraphSeparatorCommand::doApply): Modified logic for insertion at a break
  50657. element.
  50658. 2011-07-16 Pratik Solanki <psolanki@apple.com>
  50659. SubresourceLoader::didReceiveDataArray can crash when calling m_client->didReceiveData()
  50660. https://bugs.webkit.org/show_bug.cgi?id=64656
  50661. <rdar://problem/9754425>
  50662. Reviewed by Alexey Proskuryakov.
  50663. * loader/cf/SubresourceLoaderCF.cpp:
  50664. (WebCore::SubresourceLoader::didReceiveDataArray): Check for m_client before calling
  50665. m_client->didReceiveData().
  50666. 2011-07-16 Dinu Jacob <dinu.jacob@nokia.com>
  50667. [Qt] Compilation fails on disabling TextureMapper
  50668. https://bugs.webkit.org/show_bug.cgi?id=64408
  50669. Fix compilation error due to API name change in GraphicsLayer
  50670. Reviewed by Noam Rosenthal.
  50671. * platform/graphics/qt/GraphicsLayerQt.cpp:
  50672. (WebCore::GraphicsLayerQt::setContentsToBackgroundColor):
  50673. * platform/graphics/qt/GraphicsLayerQt.h:
  50674. 2011-07-15 Pratik Solanki <psolanki@apple.com>
  50675. Part of https://bugs.webkit.org/show_bug.cgi?id=63674
  50676. Get webkit to compile with USE(CFNETWORK) enabled on Mac
  50677. Reviewed by David Kilzer.
  50678. New WebKitSystemInterface functions for CFNetwork-based loader.
  50679. * WebCore.exp.in:
  50680. * platform/mac/WebCoreSystemInterface.h:
  50681. * platform/mac/WebCoreSystemInterface.mm:
  50682. 2011-07-16 Jessie Berlin <jberlin@apple.com>
  50683. Work towards determining the cause of frequent crashes due to null frame below
  50684. ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache.
  50685. https://bugs.webkit.org/show_bug.cgi?id=62764
  50686. Reviewed by Darin Adler.
  50687. No loads should be going on for a DocumentLoader that has been detached from its frame, but
  50688. that appears to be what is happening in this bug.
  50689. Add assertions with the hope that someone will run into this while debugging and thereby find
  50690. a reproducible case.
  50691. * loader/ResourceLoader.cpp:
  50692. (WebCore::ResourceLoader::willSendRequest):
  50693. (WebCore::ResourceLoader::didSendData):
  50694. (WebCore::ResourceLoader::didReceiveResponse):
  50695. (WebCore::ResourceLoader::didReceiveData):
  50696. (WebCore::ResourceLoader::didFinishLoading):
  50697. (WebCore::ResourceLoader::didFail):
  50698. (WebCore::ResourceLoader::wasBlocked):
  50699. (WebCore::ResourceLoader::cannotShowURL):
  50700. (WebCore::ResourceLoader::shouldUseCredentialStorage):
  50701. (WebCore::ResourceLoader::willCacheResponse):
  50702. 2011-07-16 Sergey Glazunov <serg.glazunov@gmail.com>
  50703. DOMWindow::open performs a security check on a wrong window
  50704. https://bugs.webkit.org/show_bug.cgi?id=64651
  50705. Reviewed by Adam Barth.
  50706. Test: http/tests/security/xss-DENIED-window-open-parent.html
  50707. * page/DOMWindow.cpp:
  50708. (WebCore::DOMWindow::open):
  50709. 2011-07-16 Sam Weinig <sam@webkit.org>
  50710. Attribute selectors don't handle glob namespaces (e.g. *|E)
  50711. https://bugs.webkit.org/show_bug.cgi?id=64567
  50712. Reviewed by Anders Carlsson.
  50713. Change checking of attribute selectors to match CSS 3 Selectors in
  50714. the presence of namespaces. This entails changing the algorithm to
  50715. check each attribute on an element as a match for the attribute selector
  50716. and taking into account a prefix of *.
  50717. * css/CSSStyleSelector.cpp:
  50718. (WebCore::attributeQualifiedNameMatches):
  50719. Checks if the a particular attributes qualified name matches
  50720. the attribute selector, taking into account a prefix of *.
  50721. (WebCore::attributeValueMatches):
  50722. Checks if a particular attribute on an element, matches
  50723. the attribute selector.
  50724. (WebCore::anyAttributeMatches):
  50725. Top level attribute check. Checks if any of an elements attributes
  50726. match the attribute selector.
  50727. (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
  50728. Factor out attribute checking code into the above functions.
  50729. 2011-07-16 Jon Honeycutt <jhoneycutt@apple.com>
  50730. WinCE build fix. Unreviewed.
  50731. * dom/SelectElement.cpp:
  50732. 2011-07-16 Kulanthaivel Palanichamy <kulanthaivel@codeaurora.org>
  50733. Reviewed by Nikolas Zimmermann.
  50734. SVG animation API crashes on SVGAnimateTransform
  50735. https://bugs.webkit.org/show_bug.cgi?id=64104
  50736. This patch ensures the update in AnimatedTransform list in
  50737. SVGAnimateTransformElement.cpp is in sync with its wrapper list.
  50738. Test: svg/animations/svgtransform-animation-discrete.html
  50739. * svg/SVGAnimateTransformElement.cpp:
  50740. (WebCore::animatedTransformListFor):
  50741. (WebCore::SVGAnimateTransformElement::resetToBaseValue):
  50742. (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
  50743. (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
  50744. 2011-07-15 Simon Fraser <simon.fraser@apple.com>
  50745. Fix the build.
  50746. * platform/mac/ScrollbarThemeMac.mm:
  50747. (WebCore::ScrollbarThemeMac::updateEnabledState):
  50748. 2011-07-15 Simon Fraser <simon.fraser@apple.com>
  50749. Another Windows build fix; make this method non-pure virtual.
  50750. * platform/graphics/GraphicsLayerClient.h:
  50751. (WebCore::GraphicsLayerClient::didCommitChangesForLayer):
  50752. 2011-07-15 Simon Fraser <simon.fraser@apple.com>
  50753. Fix build error in 32-bit builds.
  50754. * rendering/svg/RenderSVGPath.cpp:
  50755. (WebCore::RenderSVGPath::zeroLengthSubpathRect):
  50756. 2011-07-15 Simon Fraser <simon.fraser@apple.com>
  50757. Fix Windows build.
  50758. * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
  50759. (WebCore::MediaPlayerPrivate::backingScaleFactor):
  50760. (WebCore::MediaPlayerPrivate::pageScaleFactor):
  50761. 2011-07-15 Simon Fraser <simon.fraser@apple.com>
  50762. Have GraphicsLayer pull their contentsScale, rather than pushing it onto them
  50763. https://bugs.webkit.org/show_bug.cgi?id=64643
  50764. Reviewed by Darin Adler.
  50765. RenderLayerBacking would set the contentsScale on GraphicsLayers
  50766. on creation, and update it when the pageScaleFactor changed. However,
  50767. RenderLayerBacking doesn't really know what contentsScale is best
  50768. for a layer, so instead, have GraphicsLayers call back through the
  50769. GraphicsLayerClient to get the two relevant scale factors, and do
  50770. their own computation of contentsScale.
  50771. No testable behavior changes.
  50772. * page/Frame.cpp:
  50773. (WebCore::Frame::pageScaleFactorChanged): No need to pass the scale.
  50774. * platform/graphics/GraphicsLayer.cpp:
  50775. (WebCore::GraphicsLayer::notePageScaleFactorChangedIncludingDescendants):
  50776. Recurse through the GraphicsLayer tree, calling pageScaleFactorChanged() on
  50777. each layer.
  50778. * platform/graphics/GraphicsLayer.h:
  50779. (WebCore::GraphicsLayer::pageScaleFactorChanged):
  50780. Remove contentsScale/setContentsScale
  50781. * platform/graphics/GraphicsLayerClient.h:
  50782. Add methods to fetch the backingScaleFactor() and pageScaleFactor().
  50783. * platform/graphics/ca/GraphicsLayerCA.cpp:
  50784. (WebCore::GraphicsLayerCA::GraphicsLayerCA): m_uncommittedChanges
  50785. defaults to ContentsScaleChanged so we update contentsScale on
  50786. the first flush.
  50787. (WebCore::GraphicsLayerCA::setContentsToBackgroundColor):
  50788. This was the wrong time to call updateContentsRect() and setupContentsLayer();
  50789. those should be done at commit time, so moved to updateLayerBackgroundColor().
  50790. (WebCore::GraphicsLayerCA::recursiveCommitChanges): Note whether we
  50791. have any changes, and call didCommitChangesForLayer() on the client.
  50792. (WebCore::GraphicsLayerCA::updateLayerBackgroundColor): Code moved to here.
  50793. (WebCore::clampedContentsScaleForScale): No longer has any hysteresis
  50794. on the scale, and now just clamps.
  50795. (WebCore::GraphicsLayerCA::updateContentsScale): Fetch the scales
  50796. from the client, and multiply them, then clamp.
  50797. (WebCore::GraphicsLayerCA::requiresTiledLayer): This now takes
  50798. contentsScale into account when deciding to use tiled layer,
  50799. so that zooming in will cause layers to start tiling.
  50800. (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Don't call
  50801. setContentsScale(), but rather updateContentsScale().
  50802. (WebCore::GraphicsLayerCA::pageScaleFactorChanged): Set the bits
  50803. for properties that depend on the scale.
  50804. (WebCore::GraphicsLayerCA::noteChangesForScaleSensitiveProperties):
  50805. Note that contentsScale needs to be updated. At some point we might also
  50806. need to dirty other properties.
  50807. * platform/graphics/ca/GraphicsLayerCA.h: Moved the m_allowTiledLayer
  50808. bool for better packing. No need for a m_contentsScale member now.
  50809. * rendering/RenderLayer.cpp: Removed pageScaleFactorChanged().
  50810. * rendering/RenderLayer.h: Ditto.
  50811. * rendering/RenderLayerBacking.cpp:
  50812. (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): No need
  50813. to push the contents scale.
  50814. (WebCore::RenderLayerBacking::updateForegroundLayer): Ditto.
  50815. (WebCore::RenderLayerBacking::updateMaskLayer): Ditto.
  50816. (WebCore::RenderLayerBacking::pageScaleFactor): GraphicsLayerClient method.
  50817. (WebCore::RenderLayerBacking::backingScaleFactor): GraphicsLayerClient method.
  50818. (WebCore::RenderLayerBacking::didCommitChangesForLayer): Send through
  50819. to the compositor.
  50820. * rendering/RenderLayerBacking.h: GraphicsLayerClient methods.
  50821. * rendering/RenderLayerCompositor.cpp:
  50822. (WebCore::RenderLayerCompositor::didFlushChangesForLayer): We'll use
  50823. this later.
  50824. (WebCore::RenderLayerCompositor::backingScaleFactor): GraphicsLayerClient method.
  50825. (WebCore::RenderLayerCompositor::pageScaleFactor): Ditto.
  50826. (WebCore::RenderLayerCompositor::didCommitChangesForLayer): Ditto.
  50827. (WebCore::RenderLayerCompositor::ensureRootLayer): No need to push the contents scale.
  50828. (WebCore::RenderLayerCompositor::pageScaleFactorChanged): Just call notePageScaleFactorChangedIncludingDescendants()
  50829. on the root GraphicsLayer.
  50830. * rendering/RenderLayerCompositor.h: Added GraphicsLayerClient methods.
  50831. 2011-07-15 Jon Honeycutt <jhoneycutt@apple.com>
  50832. Build fix. Unreviewed.
  50833. * accessibility/AccessibilityMenuListPopup.cpp:
  50834. (WebCore::AccessibilityMenuListPopup::didUpdateActiveOption):
  50835. Cast size_t to int for comparison.
  50836. 2011-07-15 Andy Estes <aestes@apple.com>
  50837. Rename applicationIsSolarWalk() to applicationIsSolarWalkMac().
  50838. https://bugs.webkit.org/show_bug.cgi?id=64641
  50839. Reviewed by Brian Weinstein.
  50840. * WebCore.exp.in: Update to new symbol.
  50841. * platform/RuntimeApplicationChecks.cpp:
  50842. (WebCore::applicationIsSolarWalkMac): Renamed from applicationIsSolarWalk.
  50843. * platform/RuntimeApplicationChecks.h: Ditto.
  50844. 2011-07-15 Mark Rowe <mrowe@apple.com>
  50845. Fix the build.
  50846. * platform/graphics/GraphicsContext.h:
  50847. (WebCore::GraphicsContextStateSaver::context): Remove a bogus type qualifier.
  50848. 2011-07-13 Jon Honeycutt <jhoneycutt@apple.com>
  50849. Focus and selection events are not fired when a <select>'s selection
  50850. changes
  50851. https://bugs.webkit.org/show_bug.cgi?id=64504
  50852. <rdar://problem/9319881>
  50853. Reviewed by Alice Liu.
  50854. Test: platform/win/accessibility/option-element-selection-and-focus-events.html
  50855. * accessibility/chromium/AXObjectCacheChromium.cpp:
  50856. (WebCore::AXObjectCache::postPlatformNotification):
  50857. Add new notification type to the section of unhandled notifications.
  50858. * accessibility/AXObjectCache.h:
  50859. Declare a new notification, AXMenuListItemSelected.
  50860. * accessibility/AccessibilityMenuList.cpp:
  50861. (WebCore::AccessibilityMenuList::didUpdateActiveOption):
  50862. Tell our child popup that the active option changed, and post a
  50863. notification that our value changed.
  50864. * accessibility/AccessibilityMenuList.h:
  50865. Declare didUpdateActiveOption().
  50866. * accessibility/AccessibilityMenuListPopup.cpp:
  50867. (WebCore::AccessibilityMenuListPopup::didUpdateActiveOption):
  50868. Get the child <option> element that is selected, and fire focus and
  50869. selection events for it.
  50870. * accessibility/AccessibilityMenuListPopup.h:
  50871. Declare didUpdateActiveOption().
  50872. * accessibility/win/AXObjectCacheWin.cpp:
  50873. (WebCore::AXObjectCache::postPlatformNotification):
  50874. Map AXMenuListItemSelected -> EVENT_OBJECT_SELECTION.
  50875. * dom/SelectElement.cpp:
  50876. (WebCore::SelectElement::setSelectedIndex):
  50877. Pass the newly-selected index.
  50878. * rendering/RenderMenuList.cpp:
  50879. (WebCore::RenderMenuList::RenderMenuList):
  50880. Update the initialization list for the renamed m_lastActiveIndex.
  50881. (WebCore::RenderMenuList::setTextFromOption):
  50882. A new selection has been made in the popup; call
  50883. didUpdateActiveOption().
  50884. (WebCore::RenderMenuList::didSetSelectedIndex):
  50885. Call didUpdateActiveOption(), passing the index of the newly-selected
  50886. <option>.
  50887. (WebCore::RenderMenuList::didUpdateActiveOption):
  50888. If accessibility is disabled, or if the active option has not changed,
  50889. return early. Check whether the option index is in the range of list
  50890. items, and assert that the item at that index is an <option> element.
  50891. Tell the AccessibilityMenuList for this element that we updated the
  50892. active option.
  50893. * rendering/RenderMenuList.h:
  50894. Updated the declaration of didSetSelectedIndex() to take the selected
  50895. index. Declared didUpdateActiveOption(). Renamed m_lastSelectedIndex to
  50896. m_lastActiveIndex.
  50897. 2011-07-13 Jon Honeycutt <jhoneycutt@apple.com>
  50898. ALT + DOWN arrow key does not open select
  50899. https://bugs.webkit.org/show_bug.cgi?id=14407
  50900. <rdar://problem/5319507>
  50901. Reviewed by Alexey Proskuryakov.
  50902. No test, because eventSender sends events to the WebView, rather than
  50903. the popup menu, so the popup isn't closed.
  50904. * WebCore.vcproj/WebCore.vcproj:
  50905. Add SelectElementWin.cpp to project.
  50906. * dom/SelectElement.cpp:
  50907. (WebCore::SelectElement::platformHandleKeydownEvent):
  50908. Moved ARROW_KEYS_POP_MENU code here. Updated to return whether the
  50909. function has handled the key, or whether the caller needs to process it
  50910. further.
  50911. (WebCore::SelectElement::menuListDefaultEventHandler):
  50912. Allow the platform the first chance at handling the keyboard event.
  50913. * dom/SelectElement.h:
  50914. Declare platformHandleKeydownEvent().
  50915. * dom/SelectElementWin.cpp: Added.
  50916. (WebCore::SelectElement::platformHandleKeyboardEvent):
  50917. Allow (Shift) F4 and (Ctrl/Shift) Alt/AltGr + Up/Down
  50918. arrow to show the popup. After the popup is dismissed, call
  50919. setSelectedIndex(), and report that we handled the event.
  50920. * platform/win/PopupMenuWin.cpp:
  50921. Declare HIGH_BIT_MASK_SHORT.
  50922. (WebCore::PopupMenuWin::show):
  50923. Forward WM_SYSKEYDOWN to the popup's HWND.
  50924. (WebCore::PopupMenuWin::wndProc):
  50925. Allow the same shortcuts that show the menu to hide it, matching
  50926. Firefox.
  50927. 2011-07-12 Jon Honeycutt <jhoneycutt@apple.com>
  50928. Ensure that a single select element's child option elements are
  50929. reported correctly to accessibility clients if the children are
  50930. changed.
  50931. https://bugs.webkit.org/show_bug.cgi?id=64500
  50932. <rdar://problem/9773066>
  50933. Reviewed by Beth Dakin.
  50934. Test: platform/win/accessibility/single-select-children-changed.html
  50935. * accessibility/AccessibilityMenuListPopup.cpp:
  50936. (WebCore::AccessibilityMenuListPopup::addChildren):
  50937. Remove a comment about WML, which we no longer support.
  50938. (WebCore::AccessibilityMenuListPopup::childrenChanged):
  50939. Don't just remove children that were detached - this will miss childen
  50940. that were dynamically added. Clear the children and re-add them.
  50941. 2011-07-15 Rob Buis <rbuis@rim.com>
  50942. Stroking of zero-length paths in SVG should change according to erratum
  50943. https://bugs.webkit.org/show_bug.cgi?id=18356
  50944. Reviewed by Nikolas Zimmermann.
  50945. Ensure rendering of zero-length paths with stroke-linecap=square works by
  50946. creating the square rectangle manually.
  50947. Tests: svg/W3C-SVG-1.1-SE/painting-control-04-f.svg
  50948. svg/custom/zero-path-square-cap-rendering.svg
  50949. * platform/graphics/GraphicsContext.h:
  50950. (WebCore::GraphicsContextStateSaver::context):
  50951. * rendering/svg/RenderSVGPath.cpp:
  50952. (WebCore::RenderSVGPath::strokeContains):
  50953. (WebCore::RenderSVGPath::shouldStrokeZeroLengthSubpath):
  50954. (WebCore::RenderSVGPath::zeroLengthSubpathRect):
  50955. (WebCore::RenderSVGPath::setupSquareCapPath):
  50956. (WebCore::RenderSVGPath::setupNonScalingStrokePath):
  50957. (WebCore::RenderSVGPath::fillAndStrokePath):
  50958. (WebCore::RenderSVGPath::updateCachedBoundaries):
  50959. * rendering/svg/RenderSVGPath.h:
  50960. 2011-06-27 Adrienne Walker <enne@google.com>
  50961. Reviewed by Simon Fraser.
  50962. Overlap map for compositing needs to consider clipping
  50963. https://bugs.webkit.org/show_bug.cgi?id=63493
  50964. Test: compositing/layer-creation/overlap-clipping.html
  50965. * rendering/RenderLayerCompositor.cpp:
  50966. (WebCore::RenderLayerCompositor::addToOverlapMap):
  50967. * rendering/RenderLayerCompositor.h:
  50968. 2011-07-15 Sheriff Bot <webkit.review.bot@gmail.com>
  50969. Unreviewed, rolling out r90592.
  50970. http://trac.webkit.org/changeset/90592
  50971. https://bugs.webkit.org/show_bug.cgi?id=64627
  50972. Causes crashes with the web audio async decoding API
  50973. (Requested by jamesr on #webkit).
  50974. * html/canvas/ArrayBuffer.cpp:
  50975. (WebCore::ArrayBuffer::~ArrayBuffer):
  50976. (WebCore::ArrayBuffer::tryAllocate):
  50977. * manual-tests/array-buffer-memory.html: Removed.
  50978. 2011-07-15 Kenneth Russell <kbr@google.com>
  50979. Don't restore WebGL context if it was guilty of a graphics reset
  50980. https://bugs.webkit.org/show_bug.cgi?id=64497
  50981. Reviewed by Stephen White.
  50982. Use getGraphicsResetStatusARB already defined in Extensions3D to
  50983. determine why the context was lost, and respond to guilty context
  50984. notifications by forbidding restoration of the context.
  50985. It isn't currently possible to write an automated test for this.
  50986. We might consider extending the WEBKIT_lose_context extension to
  50987. allow a reason to be provided why the context was lost. It was
  50988. tested manually in Chromium on Windows and Linux with some test
  50989. cases that provoke actual graphics card resets.
  50990. * html/canvas/WebGLRenderingContext.cpp:
  50991. (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired):
  50992. (WebCore::WebGLRenderingContext::forceLostContext):
  50993. (WebCore::WebGLRenderingContext::maybeRestoreContext):
  50994. * html/canvas/WebGLRenderingContext.h:
  50995. 2011-07-15 Chris Marrin <cmarrin@apple.com>
  50996. Move TransformState to platform/graphics and give it the option to transform just a FloatQuad
  50997. https://bugs.webkit.org/show_bug.cgi?id=64542
  50998. Reviewed by Simon Fraser.
  50999. This is to make it possible to use TransformState in some GraphicsLayer work. HitTestingTransformState
  51000. was split out and left in rendering since it's not needed in the platform code. Also added a FIXME
  51001. because HitTestingTransformState should eventually be replaced by TransformState.
  51002. * CMakeLists.txt:
  51003. * GNUmakefile.list.am:
  51004. * WebCore.gypi:
  51005. * WebCore.pro:
  51006. * WebCore.vcproj/WebCore.vcproj:
  51007. * WebCore.xcodeproj/project.pbxproj:
  51008. * platform/graphics/transforms/TransformState.cpp: Copied from Source/WebCore/rendering/TransformState.cpp.
  51009. (WebCore::TransformState::move):
  51010. (WebCore::TransformState::flattenWithTransform):
  51011. * platform/graphics/transforms/TransformState.h: Copied from Source/WebCore/rendering/TransformState.h.
  51012. (WebCore::TransformState::TransformState):
  51013. (WebCore::TransformState::setQuad):
  51014. * rendering/HitTestingTransformState.cpp: Copied from Source/WebCore/rendering/TransformState.cpp.
  51015. * rendering/HitTestingTransformState.h: Copied from Source/WebCore/rendering/TransformState.h.
  51016. * rendering/RenderLayer.cpp:
  51017. * rendering/RenderObject.cpp:
  51018. (WebCore::RenderObject::localToContainerQuad):
  51019. * rendering/RenderingAllInOne.cpp:
  51020. * rendering/TransformState.cpp: Removed.
  51021. * rendering/TransformState.h: Removed.
  51022. 2011-07-15 Pratik Solanki <psolanki@apple.com>
  51023. Part of https://bugs.webkit.org/show_bug.cgi?id=63674
  51024. Get webkit to compile with USE(CFNETWORK) enabled on Mac
  51025. Reviewed by David Kilzer.
  51026. Minor changes needed to keep the compiler happy.
  51027. No new tests because no change in functionality.
  51028. * platform/network/cf/FormDataStreamCFNet.cpp:
  51029. * platform/network/cf/ResourceErrorCF.cpp:
  51030. (WebCore::ResourceError::platformCopy):
  51031. * platform/network/cf/ResourceHandleCFNet.cpp:
  51032. (WebCore::WebCoreSynchronousLoaderClient::willSendRequest):
  51033. * platform/network/cf/ResourceResponseCFNet.cpp:
  51034. (WebCore::toTimeT):
  51035. 2011-07-15 Dan Bernstein <mitz@apple.com>
  51036. REGRESSION: Mouse cursor doesn’t hide when full screen video HUD hides
  51037. https://bugs.webkit.org/show_bug.cgi?id=64615
  51038. Reviewed by Anders Carlsson.
  51039. * html/shadow/MediaControlRootElement.cpp:
  51040. (WebCore::MediaControlRootElement::enteredFullscreen): Hide the mouse cursor immediately when
  51041. entering full screen.
  51042. (WebCore::MediaControlRootElement::hideFullscreenControlsTimerFired): Hide the mouse cursor when
  51043. hiding the HUD.
  51044. * loader/EmptyClients.h:
  51045. (WebCore::EmptyChromeClient::setCursorHiddenUntilMouseMoves): Added empty implementation.
  51046. * page/Chrome.cpp:
  51047. (WebCore::Chrome::setCursorHiddenUntilMouseMoves): Added. Calls through to the client.
  51048. * page/Chrome.h:
  51049. * page/ChromeClient.h:
  51050. * platform/HostWindow.h:
  51051. 2011-07-14 Gavin Barraclough <barraclough@apple.com>
  51052. https://bugs.webkit.org/show_bug.cgi?id=64250
  51053. Global strict mode function leaking global object as "this".
  51054. Reviewed by Oliver Hunt.
  51055. * bindings/js/JSMainThreadExecState.h:
  51056. (WebCore::JSMainThreadExecState::call):
  51057. * bindings/scripts/CodeGeneratorJS.pm:
  51058. (GenerateHeader):
  51059. - Change call to pass DOM Window shell, instead of the global varaible object.
  51060. 2011-07-15 Brian Salomon <bsalomon@google.com>
  51061. [SKIA] Must make skia's GL context current before drawing in GraphicsContext::clearRect
  51062. https://bugs.webkit.org/show_bug.cgi?id=64612
  51063. Reviewed by Stephen White.
  51064. Tested by compositing/shadows/shadow-drawing.html
  51065. * platform/graphics/skia/GraphicsContextSkia.cpp:
  51066. (WebCore::GraphicsContext::clearRect):
  51067. 2011-07-15 Ian Henderson <ianh@apple.com>
  51068. Avoid rounded rect corner-drawing overhead if no corners are visible
  51069. https://bugs.webkit.org/show_bug.cgi?id=64584
  51070. Reviewed by Simon Fraser.
  51071. No new tests, rendering is visually identical.
  51072. * rendering/InlineFlowBox.cpp:
  51073. (WebCore::InlineFlowBox::paintBoxDecorations): Pass PaintInfo into
  51074. paintBorder.
  51075. * rendering/RenderBox.cpp:
  51076. (WebCore::RenderBox::paintBoxDecorations): Ditto.
  51077. * rendering/RenderBoxModelObject.cpp:
  51078. (WebCore::unroundClippedCorners):
  51079. (WebCore::RenderBoxModelObject::paintBorder):
  51080. Any invisible corner may be replaced with a corner of radius zero, as
  51081. long as the stroke style is solid. Change the GraphicsContext
  51082. parameter into a PaintInfo parameter so we can get the rect to be
  51083. drawn.
  51084. * rendering/RenderBoxModelObject.h:
  51085. * rendering/RenderFieldset.cpp:
  51086. (WebCore::RenderFieldset::paintBoxDecorations): Pass PaintInfo into
  51087. paintBorder.
  51088. * rendering/RenderTable.cpp:
  51089. (WebCore::RenderTable::paintBoxDecorations): Ditto.
  51090. * rendering/RenderTableCell.cpp:
  51091. (WebCore::RenderTableCell::paintBoxDecorations): Ditto.
  51092. 2011-07-15 Jeff Miller <jeffm@apple.com>
  51093. Add UserAgentStyleSheetsData.cpp to WebCore.vcproj
  51094. https://bugs.webkit.org/show_bug.cgi?id=64609
  51095. Add UserAgentStyleSheetsData.cpp to WebCore.vcproj for convenient access, but don't compile it.
  51096. This matches what we do with other generated DerivedSources.
  51097. Reviewed by Brian Weinstein.
  51098. No new tests, just adding a file.
  51099. * WebCore.vcproj/WebCore.vcproj: Add UserAgentStyleSheetsData.cpp.
  51100. 2011-07-15 Pratik Solanki <psolanki@apple.com>
  51101. Part of https://bugs.webkit.org/show_bug.cgi?id=63674
  51102. Get webkit to compile with USE(CFNETWORK) enabled on Mac
  51103. Reviewed by David Kilzer.
  51104. No new tests because no change in functionality and option is not enabled on Mac.
  51105. * platform/network/cf/AuthenticationCF.h: Just use AuthenticationMac.h instead of having
  51106. Mac-specific declarations here.
  51107. * platform/network/cf/CredentialStorageCFNet.cpp:
  51108. * platform/network/mac/AuthenticationMac.h:
  51109. 2011-07-15 Pratik Solanki <psolanki@apple.com>
  51110. Part of https://bugs.webkit.org/show_bug.cgi?id=63674
  51111. Get webkit to compile with USE(CFNETWORK) enabled on Mac
  51112. Reviewed by David Kilzer.
  51113. Get LoaderRunLoop to work on Mac when USE(CFNETWORK) is enabled. Although we could use the
  51114. main run loop, it's better to have a separate thread handling the loads so that it can work
  51115. in parallel to the main thread. This is similar to what NSURLConnection does for us
  51116. internally when we use the NS APIs.
  51117. No new tests because no change in functionality and option is not enabled on Mac.
  51118. * platform/network/cf/LoaderRunLoopCF.cpp:
  51119. (WebCore::runLoaderThread): Create an autorelease pool for objc code that might be called in
  51120. the run loop.
  51121. (WebCore::loaderRunLoop):
  51122. * platform/network/cf/LoaderRunLoopCF.h:
  51123. 2011-07-15 Xiaomei Ji <xji@chromium.org>
  51124. --webkit-visual-word crash on mixed editability
  51125. https://bugs.webkit.org/show_bug.cgi?id=61978
  51126. --webkit-visual-word crashes (VisiblePosition.getInlineBoxAndOffset could return null box)
  51127. https://bugs.webkit.org/show_bug.cgi?id=62814
  51128. Reviewed by Ryosuke Niwa.
  51129. Replace previousWordPosition/nextWordPosition with previousBoundary/nextBoundary which do
  51130. not honor editable bounary. Honor editable boundary as the last stage of leftWordPosition
  51131. and rightWordPosition.
  51132. Check previousBoundary/nextBoundary against NULL. Have a static function to encapsulate the
  51133. usage of getInlineBoxAndOffset and check the visible position is not NULL before passing to
  51134. getInlineBoxAndOffset. Check the box returned from getInlineBoxAndOffset is not NULL before
  51135. accessing.
  51136. Test: editing/selection/move-by-word-visually-null-box.html
  51137. * editing/visible_units.cpp:
  51138. (WebCore::positionIsInBox):
  51139. (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality):
  51140. (WebCore::lastWordBreakInBox):
  51141. (WebCore::positionIsVisuallyOrderedInBoxInBlockWithDifferentDirectionality):
  51142. (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
  51143. (WebCore::positionIsInsideBox):
  51144. (WebCore::leftWordPositionAcrossBoundary):
  51145. (WebCore::rightWordPositionAcrossBoundary):
  51146. (WebCore::leftWordPosition):
  51147. (WebCore::rightWordPosition):
  51148. 2011-07-15 Pratik Solanki <psolanki@apple.com>
  51149. Remove unncessary creation of connectionProperties dictionary
  51150. https://bugs.webkit.org/show_bug.cgi?id=63958
  51151. Reviewed by Alexey Proskuryakov.
  51152. No new tests because no change in functionality.
  51153. * platform/network/cf/ResourceHandleCFNet.cpp:
  51154. (WebCore::ResourceHandle::loadResourceSynchronously):
  51155. 2011-07-15 Pavel Feldman <pfeldman@google.com>
  51156. Web Inspector: Focusing on another node while editing CSS property does not update styles
  51157. https://bugs.webkit.org/show_bug.cgi?id=64283
  51158. Reviewed by Yury Semikhatsky.
  51159. Test: inspector/styles/styles-change-node-while-editing.html
  51160. * inspector/front-end/CSSStyleModel.js:
  51161. (WebInspector.CSSProperty.prototype.setText):
  51162. (WebInspector.CSSProperty.prototype.setText.callback):
  51163. * inspector/front-end/DOMAgent.js:
  51164. (WebInspector.DOMAgent.prototype._inlineStyleInvalidated):
  51165. (WebInspector.DOMDispatcher.prototype.inlineStyleInvalidated):
  51166. * inspector/front-end/ElementsPanel.js:
  51167. (WebInspector.ElementsPanel):
  51168. (WebInspector.ElementsPanel.prototype._attributesUpdated):
  51169. (WebInspector.ElementsPanel.prototype.updateStyles):
  51170. * inspector/front-end/MetricsSidebarPane.js:
  51171. (WebInspector.MetricsSidebarPane):
  51172. (WebInspector.MetricsSidebarPane.prototype.update):
  51173. (WebInspector.MetricsSidebarPane.prototype._innerUpdate.callback):
  51174. (WebInspector.MetricsSidebarPane.prototype._innerUpdate.inlineStyleCallback):
  51175. (WebInspector.MetricsSidebarPane.prototype._innerUpdate):
  51176. (WebInspector.MetricsSidebarPane.prototype._styleSheetChanged):
  51177. (WebInspector.MetricsSidebarPane.prototype._attributesUpdated):
  51178. (WebInspector.MetricsSidebarPane.prototype.startEditing):
  51179. (WebInspector.MetricsSidebarPane.prototype.editingEnded):
  51180. * inspector/front-end/StylesSidebarPane.js:
  51181. (WebInspector.StylesSidebarPane):
  51182. (WebInspector.StylesSidebarPane.prototype.update):
  51183. (WebInspector.StylesSidebarPane.prototype._innerUpdate.stylesCallback):
  51184. (WebInspector.StylesSidebarPane.prototype._innerUpdate.computedStyleCallback):
  51185. (WebInspector.StylesSidebarPane.prototype._innerUpdate):
  51186. (WebInspector.StylesSidebarPane.prototype._styleSheetChanged):
  51187. (WebInspector.StylesSidebarPane.prototype._attributesUpdated):
  51188. (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
  51189. (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
  51190. (WebInspector.StylesSidebarPane.prototype._nodeStylesUpdatedForTest):
  51191. (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
  51192. (WebInspector.StylesSidebarPane.prototype._createElementStatePane.clickListener):
  51193. (WebInspector.StylePropertyTreeElement.prototype):
  51194. (WebInspector.StylePropertyTreeElement.prototype.event):
  51195. (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
  51196. (WebInspector.StylePropertyTreeElement.prototype.styleText.updateInterface.majorChange.isRevert):
  51197. 2011-07-15 Mike Reed <reed@google.com>
  51198. [skia] remove legacy draw-text-as-paths code, as skia now draws all text as text
  51199. https://bugs.webkit.org/show_bug.cgi?id=64368
  51200. Reviewed by James Robinson.
  51201. * platform/graphics/chromium/FontChromiumWin.cpp:
  51202. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
  51203. * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
  51204. (WebCore::FontPlatformData::RefCountedHFONT::~RefCountedHFONT):
  51205. * platform/graphics/chromium/UniscribeHelper.cpp:
  51206. (WebCore::UniscribeHelper::draw):
  51207. * platform/graphics/skia/SkiaFontWin.cpp:
  51208. (WebCore::skiaDrawText):
  51209. (WebCore::setupPaintForFont):
  51210. (WebCore::paintSkiaText):
  51211. * platform/graphics/skia/SkiaFontWin.h:
  51212. 2011-07-15 Piroska András <Piroska.Andras@stud.u-szeged.hu>
  51213. Pixel difference in FEMorphology effect
  51214. https://bugs.webkit.org/show_bug.cgi?id=63930
  51215. Reviewed by Zoltan Herczeg.
  51216. Using short-circuit evaluation in the setFilterEffectAttribute function
  51217. was wrong. We should call both setRadius functions and evaluate the
  51218. changes separately.
  51219. * svg/SVGFEMorphologyElement.cpp:
  51220. (WebCore::SVGFEMorphologyElement::setFilterEffectAttribute):
  51221. 2011-07-15 Jeff Miller <jeffm@apple.com>
  51222. Fullscreen content doesn't use fullscreen controller on Windows
  51223. https://bugs.webkit.org/show_bug.cgi?id=64540
  51224. <rdar://problem/9510455>
  51225. Reviewed by Darin Adler.
  51226. RenderThemeWin needs to override extraFullScreenStyleSheet() to return
  51227. the fullscreenQuickTime stylesheet.
  51228. Test added to fullscreen/video-controls-override.html.
  51229. * rendering/RenderThemeWin.cpp:
  51230. (WebCore::RenderThemeWin::extraFullScreenStyleSheet): Added.
  51231. * rendering/RenderThemeWin.h: Override extraFullScreenStyleSheet().
  51232. 2011-07-15 Nikolas Zimmermann <nzimmermann@rim.com>
  51233. Not reviewed. Fix build failure introduced in r91061.
  51234. * page/Console.cpp:
  51235. (WebCore::Console::markTimeline): Remove argument name from unused parameter.
  51236. 2011-07-15 Kenneth Rohde Christiansen <kenneth@webkit.org>
  51237. Upstream QtWebKit/N9 changes related to visibleContentRect
  51238. https://bugs.webkit.org/show_bug.cgi?id=64589
  51239. Reviewed by Simon Hausmann.
  51240. Rename setActualVisibleContentRect to setFixedVisibleContentRect
  51241. as that makes it more obvious that it is an override. It is also
  51242. consistent with the setFixedLayout which is often used in
  51243. conjunction with it.
  51244. Make visibleContentRect return the fixed value if set, and remove
  51245. all calls to actualVisibleContentRect.
  51246. Also updated the documentation.
  51247. This is similar to what we have on our QtWebKit/N9 branch and is
  51248. pretty well tested.
  51249. * platform/ScrollView.cpp:
  51250. (WebCore::ScrollView::visibleContentRect):
  51251. If a fixed visibleContentRect is set, return that.
  51252. Remove the code returning the contents size when in
  51253. paintsEntireContents mode as that is wrong and already
  51254. ifdeffed out for EFL.
  51255. (WebCore::ScrollView::setScrollPosition):
  51256. Do not try to be smart and update the fixed visibleContentsRect
  51257. automatically, as the embedder might ignore the scroll request
  51258. for various reasons.
  51259. * platform/ScrollView.h:
  51260. (WebCore::ScrollView::setFixedVisibleContentRect):
  51261. (WebCore::ScrollView::fixedVisibleContentRect):
  51262. 2011-07-15 Mike West <mkwst@chromium.org>
  51263. Web Inspector: Rename console.markTimeline() to console.timeStamp() for Firebug compatibility.
  51264. https://bugs.webkit.org/show_bug.cgi?id=63317
  51265. Reviewed by Pavel Feldman.
  51266. Test: inspector/timeline/timeline-time-stamp.html
  51267. * inspector/InspectorConsoleInstrumentation.h:
  51268. (WebCore::InspectorInstrumentation::consoleTimeStamp):
  51269. * inspector/InspectorInstrumentation.cpp:
  51270. (WebCore::InspectorInstrumentation::consoleTimeStampImpl):
  51271. * inspector/InspectorInstrumentation.h:
  51272. * inspector/InspectorTimelineAgent.cpp:
  51273. (WebCore::InspectorTimelineAgent::didTimeStamp):
  51274. * inspector/InspectorTimelineAgent.h:
  51275. * inspector/TimelineRecordFactory.cpp:
  51276. (WebCore::TimelineRecordFactory::createTimeStampData):
  51277. * inspector/TimelineRecordFactory.h:
  51278. * inspector/front-end/TimelineAgent.js:
  51279. * inspector/front-end/TimelineOverviewPane.js:
  51280. (WebInspector.TimelineOverviewPane.prototype.update.markPercentagesForRecord):
  51281. (WebInspector.TimelineOverviewPane.prototype.update):
  51282. * inspector/front-end/TimelinePanel.js:
  51283. (WebInspector.TimelinePanel):
  51284. (WebInspector.TimelinePanel.prototype.get _recordStyles):
  51285. (WebInspector.TimelinePanel.prototype._updateEventDividers):
  51286. (WebInspector.TimelinePanel.prototype._createEventDivider):
  51287. (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
  51288. (WebInspector.TimelinePanel.prototype._clearPanel):
  51289. (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
  51290. * page/Console.cpp:
  51291. (WebCore::Console::markTimeline):
  51292. (WebCore::Console::timeStamp):
  51293. * page/Console.h:
  51294. * page/Console.idl:
  51295. 2011-07-15 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
  51296. LocalStorage: Changed the value type of ItemTable from TEXT to BLOB
  51297. to avoid string truncation.
  51298. This patch will also convert the exsisting ItemTable and perform
  51299. the DATA MIGRATION job.
  51300. https://bugs.webkit.org/show_bug.cgi?id=58762
  51301. Reviewed by Jeremy Orlow.
  51302. Tests: manual-tests/localstorage-value-truncation.html
  51303. * manual-tests/localstorage-value-truncation.html: Added.
  51304. Demostrate the testcase shown in bug 58762.
  51305. * platform/sql/SQLiteStatement.cpp:
  51306. (WebCore::SQLiteStatement::isColumnDeclearedAsBlob):
  51307. Test if the pre-defined type of column is BLOB.
  51308. * platform/sql/SQLiteStatement.h:
  51309. * storage/StorageAreaSync.cpp:
  51310. Change the localStorage value type from Text to BLOB to avoid the
  51311. value string truncation at \x00.
  51312. (WebCore::StorageAreaSync::openDatabase):
  51313. Change the database structure, use BLOB to replace the TEXT type of
  51314. value segment in ItemTable.
  51315. (WebCore::StorageAreaSync::migrateItemTableIfNeeded):
  51316. Migrate the ItemTable if the pre-defined type of value is TEXT.
  51317. (WebCore::StorageAreaSync::performImport):
  51318. Use getColumnBlobAsString() to import the BLOB value.
  51319. (WebCore::StorageAreaSync::sync):
  51320. Use bindBlob() to bind value string to the SQLiteStatement for the
  51321. database execution.
  51322. * storage/StorageAreaSync.h:
  51323. 2011-07-15 Kentaro Hara <haraken@google.com>
  51324. Clear the content of a search input form when 'Escape' is pressed.
  51325. https://bugs.webkit.org/show_bug.cgi?id=51897
  51326. This change added handleKeydownEvent() to a search input form,
  51327. which clears the form and triggers a 'search' event when 'Escape' is pressed.
  51328. Reviewed by Kent Tamura.
  51329. Test: fast/forms/input-search-press-escape-key.html
  51330. * html/SearchInputType.cpp:
  51331. (WebCore::SearchInputType::handleKeydownEvent):
  51332. * html/SearchInputType.h:
  51333. 2011-07-15 Alexandru Chiculita <achicu@adobe.com>
  51334. Move useRepaintBounds from RenderBlock::layoutRunsAndFloats to LineLayoutState
  51335. https://bugs.webkit.org/show_bug.cgi?id=64360
  51336. Reviewed by Hajime Morita.
  51337. No new tests needed because the patch is just a refactor.
  51338. * rendering/RenderBlock.h:
  51339. * rendering/RenderBlockLineLayout.cpp:
  51340. (WebCore::LineLayoutState::LineLayoutState):
  51341. (WebCore::LineLayoutState::usesRepaintBounds):
  51342. (WebCore::LineLayoutState::setRepaintRange):
  51343. (WebCore::LineLayoutState::updateRepaintRangeFromBox):
  51344. (WebCore::RenderBlock::layoutRunsAndFloats):
  51345. (WebCore::RenderBlock::determineStartPosition):
  51346. 2011-07-14 MORITA Hajime <morrita@google.com>
  51347. ExceptionCodePlaceholder should have its own ExceptionCodePlaceholder.cpp file
  51348. https://bugs.webkit.org/show_bug.cgi?id=64503
  51349. Reviewed by Darin Adler.
  51350. No new tests. Just a file reorg.
  51351. * CMakeLists.txt:
  51352. * GNUmakefile.list.am:
  51353. * WebCore.gypi:
  51354. * WebCore.pro:
  51355. * WebCore.vcproj/WebCore.vcproj:
  51356. * WebCore.xcodeproj/project.pbxproj:
  51357. * dom/DOMAllInOne.cpp:
  51358. * dom/ExceptionCodePlaceholder.cpp: Added.
  51359. (WebCore::NoExceptionAssertionChecker::NoExceptionAssertionChecker):
  51360. (WebCore::NoExceptionAssertionChecker::~NoExceptionAssertionChecker):
  51361. * dom/ExceptionCodePlaceholder.h: Removed NoExceptionAssertionChecker::m_function, which is loonger used.
  51362. 2011-07-14 Mark Pilgrim <pilgrim@chromium.org>
  51363. Remove LegacyDefaultOptionalArguments flag from WebGL
  51364. https://bugs.webkit.org/show_bug.cgi?id=64549
  51365. Reviewed by Kenneth Russell.
  51366. * html/canvas/WebGLRenderingContext.idl:
  51367. 2011-07-14 Yuta Kitamura <yutak@chromium.org>
  51368. WebSocket: Introduce pywebsocket-0.6b2
  51369. https://bugs.webkit.org/show_bug.cgi?id=64534
  51370. Reviewed by Kent Tamura.
  51371. pywebsocket now accepts "Sec-WebSocket-Version: 8" as required in hybi-10 specification.
  51372. No new functionality is added, thus no new tests. Existing WebSocket tests should keep passing.
  51373. * websockets/WebSocketHandshake.cpp:
  51374. (WebCore::WebSocketHandshake::clientHandshakeMessage):
  51375. (WebCore::WebSocketHandshake::clientHandshakeRequest):
  51376. 2011-07-14 SravanKumar S <sravan.ken@gmail.com>
  51377. Replaced isChecked() with shouldAppearChecked() in HTMLInputElement.cpp along with all the corresponding function calls.
  51378. https://bugs.webkit.org/show_bug.cgi?id=54476
  51379. Reviewed by Darin Adler.
  51380. No new tests, since existing fast/dom/HTMLInputElement/checked-pseudo-selector.html verifies the patch.
  51381. * accessibility/AccessibilityRenderObject.cpp:
  51382. (WebCore::AccessibilityRenderObject::isChecked):
  51383. * css/CSSStyleSelector.cpp:
  51384. (WebCore::CSSStyleSelector::canShareStyleWithControl):
  51385. (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
  51386. * dom/CheckedRadioButtons.cpp:
  51387. (WebCore::CheckedRadioButtons::removeButton):
  51388. * html/HTMLInputElement.cpp:
  51389. (WebCore::HTMLInputElement::shouldAppearChecked):
  51390. * html/HTMLInputElement.h: Removed virtual declaration from shouldAppearChecked().
  51391. * rendering/RenderTheme.cpp:
  51392. (WebCore::RenderTheme::isChecked):
  51393. 2011-07-14 Kenichi Ishibashi <bashi@chromium.org>
  51394. <input form="x"> should not associate the input with any forms when there is no form with id="x"
  51395. https://bugs.webkit.org/show_bug.cgi?id=64509
  51396. Don't set form owner when a form associated element has the form attribute but there is no such form element.
  51397. Reviewed by Kent Tamura.
  51398. Test: fast/forms/form-attribute-nonexistence-form-id.html
  51399. * dom/Document.cpp:
  51400. (WebCore::Document::resetFormElementsOwner): Removed the argument which is no longer needed.
  51401. * dom/Document.h: Ditto.
  51402. * html/FormAssociatedElement.cpp:
  51403. (WebCore::FormAssociatedElement::insertedIntoTree): Resets m_form whenever the element has the form attribute.
  51404. (WebCore::FormAssociatedElement::resetFormOwner): Don't set m_form when there is no form element which has the given id.
  51405. (WebCore::FormAssociatedElement::formAttributeChanged): Removed the argument of resetFormOwner().
  51406. * html/FormAssociatedElement.h: Ditto.
  51407. * html/HTMLFormElement.cpp: Ditto.
  51408. (WebCore::HTMLFormElement::insertedIntoDocument):
  51409. (WebCore::HTMLFormElement::removedFromDocument):
  51410. 2011-07-14 Kent Tamura <tkent@chromium.org>
  51411. REGRESSION (r90809): Setting a checkbox's checked property, doesn't render as checked until app window loses focus
  51412. https://bugs.webkit.org/show_bug.cgi?id=64537
  51413. Reviewed by Darin Adler.
  51414. We stopped to call updateCheckedRadioButtons() for checkboxes
  51415. since r90809, but we need to call RenderTheme::stateChanged(),
  51416. which was in updateCheckedRadioButtons(), for checkboxes.
  51417. Tests: fast/forms/checkbox-appearance-change-by-checked-expected.html
  51418. fast/forms/checkbox-appearance-change-by-checked.html
  51419. * html/HTMLInputElement.cpp: Move the RenderTheme::stateChanged() call
  51420. from updateCheckedRadioButtons() to setChecked().
  51421. (WebCore::HTMLInputElement::updateCheckedRadioButtons):
  51422. (WebCore::HTMLInputElement::setChecked):
  51423. 2011-07-14 Adam Barth <abarth@webkit.org>
  51424. The beforeload event allows tracking URI changes in a frame
  51425. https://bugs.webkit.org/show_bug.cgi?id=64482
  51426. Reviewed by Nate Chapin.
  51427. Tests: http/tests/security/beforeload-iframe-client-redirect.html
  51428. http/tests/security/beforeload-iframe-server-redirect.html
  51429. Only dispatch the beforeload event for a frame if we haven't yet
  51430. committed our first real load. The URL that we send to our parent will
  51431. be the same URL the parent seens in the src attribute.
  51432. * loader/FrameLoader.cpp:
  51433. (WebCore::FrameLoader::loadWithDocumentLoader):
  51434. 2011-07-14 Dan Bernstein <mitz@apple.com>
  51435. LLVM Compiler build fix.
  51436. * css/CSSStyleApplyProperty.cpp:
  51437. (WebCore::ApplyPropertyComputeLength::applyValue):
  51438. 2011-07-14 Darin Adler <darin@apple.com>
  51439. [Mac] Use [NSCursor operationNotAllowedCursor] for CSS no-drop as well as CSS not-allowed
  51440. https://bugs.webkit.org/show_bug.cgi?id=64570
  51441. Reviewed by Alexey Proskuryakov.
  51442. Mac OS X documentation and usage makes it clear that this cursor is usually used for no-drop,
  51443. and that it's also reasonable to use it for not-allowed.
  51444. * platform/mac/CursorMac.mm:
  51445. (WebCore::Cursor::ensurePlatformCursor): Use [NSCursor operationNotAllowedCursor] for
  51446. Cursor::NoDrop.
  51447. 2011-07-14 Luke Macpherson <macpherson@chromium.org>
  51448. Reviewed by Dimitri Glazkov.
  51449. Introduce templated compute length class in CSSStyleApplyProperty, and use to handle several CSS properties.
  51450. https://bugs.webkit.org/show_bug.cgi?id=62957
  51451. No new tests / refactoring only.
  51452. * css/CSSPrimitiveValue.cpp:
  51453. (WebCore::CSSPrimitiveValue::computeLength):
  51454. Add computeLength function that returns unsigned short.
  51455. * css/CSSStyleApplyProperty.cpp:
  51456. (WebCore::ApplyPropertyComputeLength::ApplyPropertyComputeLength):
  51457. Added class to handle computeLength based properties.
  51458. (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
  51459. Initialize ApplyPropertyComputeLength for appropriate properties.
  51460. * css/CSSStyleSelector.cpp:
  51461. (WebCore::CSSStyleSelector::useSVGZoomRules):
  51462. Make this a public member function instead of a private static function.
  51463. (WebCore::CSSStyleSelector::applyProperty):
  51464. Removed code now implemented in CSSStyleApplyProperty.
  51465. (WebCore::CSSStyleSelector::setFontSize):
  51466. Use new useSVGZoomRules function.
  51467. * css/CSSStyleSelector.h:
  51468. Add interface for useSVGZoomRules.
  51469. 2011-07-14 Antti Koivisto <antti@apple.com>
  51470. REGRESSION: Should not dispatch didFirstVisuallyNonEmptyLayout for the initial empty document
  51471. https://bugs.webkit.org/show_bug.cgi?id=64557
  51472. Reviewed by Kenneth Rohde Christiansen.
  51473. Avoid sending didFirstVisuallyNonEmptyLayout for the initial empty document of the frame. The
  51474. clients may not expect it and it doesn't make much sense in any case.
  51475. * page/FrameView.cpp:
  51476. (WebCore::FrameView::performPostLayoutTasks):
  51477. 2011-07-14 Jeffrey Pfau <jpfau@apple.com>
  51478. Character reference parser for new XML parser
  51479. https://bugs.webkit.org/show_bug.cgi?id=64398
  51480. Reviewed by Adam Barth.
  51481. Refactored out the HTML entity parser and added a common template for parsing character references.
  51482. * WebCore.xcodeproj/project.pbxproj:
  51483. * html/parser/HTMLEntityParser.cpp:
  51484. (WebCore::consumeHTMLEntity):
  51485. * xml/parser/CharacterReferenceParserInlineMethods.h: Copied from Source/WebCore/html/parser/HTMLEntityParser.cpp.
  51486. (WebCore::isHexDigit):
  51487. (WebCore::unconsumeCharacters):
  51488. (WebCore::consumeCharacterReference):
  51489. * xml/parser/XMLCharacterReferenceParser.cpp: Added.
  51490. (WebCore::consumeXMLCharacterReference):
  51491. * xml/parser/XMLCharacterReferenceParser.h: Added.
  51492. 2011-07-14 Ilya Tikhonovsky <loislo@chromium.org>
  51493. Reviewed by Pavel Feldman.
  51494. Web Inspector: panel switching is too slow.
  51495. https://bugs.webkit.org/show_bug.cgi?id=60959
  51496. * inspector/front-end/inspector.css:
  51497. (.panel):
  51498. (.panel.visible):
  51499. 2011-07-14 Andrey Kosyakov <caseq@chromium.org>
  51500. Web Inspector: remove more unused CSS from inspector.css
  51501. https://bugs.webkit.org/show_bug.cgi?id=64529
  51502. Reviewed by Pavel Feldman.
  51503. * inspector/front-end/inspector.css:
  51504. 2011-07-14 Ryosuke Niwa <rniwa@webkit.org>
  51505. Move subtreeHasChanged from RenderTextControl to HTMLTextFormControlElement
  51506. https://bugs.webkit.org/show_bug.cgi?id=64476
  51507. Reviewed by Kent Tamura.
  51508. Moved subtreeHasChanged from RenderTextControl, RenderTextControlSingleLine, and
  51509. RenderTextControlMultiLine to HTMLTextFormControlElement, HTMLInputElement, and
  51510. HTMLTextAreaElement. Also moved m_searchEventTimer and related functions from
  51511. RenderTextSingleLine to SearchInputType.
  51512. * html/HTMLInputElement.cpp:
  51513. (WebCore::HTMLInputElement::subtreeHasChanged): Moved from RenderTextControlSingleLine.
  51514. (WebCore::HTMLInputElement::onSearch): Calls stopSearchEventTimer.
  51515. * html/HTMLInputElement.h:
  51516. * html/HTMLTextAreaElement.cpp:
  51517. (WebCore::HTMLTextAreaElement::subtreeHasChanged): Moved from RenderTextMultiLine.
  51518. * html/HTMLTextAreaElement.h:
  51519. * html/HTMLTextFormControlElement.cpp:
  51520. (WebCore::HTMLTextFormControlElement::defaultEventHandler): Calls subtreeHasChanged.
  51521. (WebCore::HTMLTextFormControlElement::subtreeHasChanged): Added; calls respondToChangeByUser.
  51522. * html/HTMLTextFormControlElement.h:
  51523. * html/SearchInputType.cpp:
  51524. (WebCore::SearchInputType::SearchInputType): Initializes m_searchEventTimer.
  51525. (WebCore::SearchInputType::startSearchEventTimer): Moved from RenderTextControlSingleLine.
  51526. (WebCore::SearchInputType::stopSearchEventTimer): Ditto.
  51527. (WebCore::SearchInputType::searchEventTimerFired): Ditto.
  51528. * html/SearchInputType.h:
  51529. * html/TextFieldInputType.cpp:
  51530. (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent): Updated comment.
  51531. * rendering/RenderTextControl.cpp:
  51532. * rendering/RenderTextControl.h:
  51533. (WebCore::RenderTextControl::respondToChangeByUser): Renamed from subtreeHasChanged.
  51534. * rendering/RenderTextControlMultiLine.cpp:
  51535. * rendering/RenderTextControlMultiLine.h:
  51536. * rendering/RenderTextControlSingleLine.cpp:
  51537. (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): No longer initializes
  51538. m_searchEventTimer.
  51539. * rendering/RenderTextControlSingleLine.h:
  51540. 2011-07-14 Vsevolod Vlasov <vsevik@chromium.org>
  51541. Move XML errors handling out from XMLDocumentParser (refactoring).
  51542. https://bugs.webkit.org/show_bug.cgi?id=64305
  51543. XML errors handling logic is moved out from XMLDocumentParser to allow using it for XSLT error handling as well.
  51544. Reviewed by Adam Barth.
  51545. No tests needed as there is no new functionality added.
  51546. * CMakeLists.txt:
  51547. * GNUmakefile.list.am:
  51548. * WebCore.gypi:
  51549. * WebCore.pro:
  51550. * WebCore.vcproj/WebCore.vcproj:
  51551. * WebCore.xcodeproj/project.pbxproj:
  51552. * xml/XMLErrors.cpp: Added.
  51553. (WebCore::XMLErrors::XMLErrors):
  51554. (WebCore::XMLErrors::handleError):
  51555. (WebCore::XMLErrors::appendErrorMessage):
  51556. (WebCore::createXHTMLParserErrorHeader):
  51557. (WebCore::XMLErrors::insertErrorMessageBlock):
  51558. * xml/XMLErrors.h: Added.
  51559. * xml/parser/XMLDocumentParser.cpp:
  51560. (WebCore::XMLDocumentParser::pushCurrentNode):
  51561. (WebCore::XMLDocumentParser::handleError):
  51562. (WebCore::XMLDocumentParser::insertErrorMessageBlock):
  51563. * xml/parser/XMLDocumentParser.h:
  51564. * xml/parser/XMLDocumentParserLibxml2.cpp:
  51565. (WebCore::PendingCallbacks::appendErrorCallback):
  51566. (WebCore::XMLDocumentParser::XMLDocumentParser):
  51567. (WebCore::XMLDocumentParser::doWrite):
  51568. (WebCore::XMLDocumentParser::error):
  51569. (WebCore::warningHandler):
  51570. (WebCore::fatalErrorHandler):
  51571. (WebCore::normalErrorHandler):
  51572. * xml/parser/XMLDocumentParserQt.cpp:
  51573. (WebCore::XMLDocumentParser::XMLDocumentParser):
  51574. (WebCore::XMLDocumentParser::doWrite):
  51575. (WebCore::XMLDocumentParser::doEnd):
  51576. (WebCore::XMLDocumentParser::parse):
  51577. (WebCore::XMLDocumentParser::parseStartElement):
  51578. (WebCore::XMLDocumentParser::parseDtd):
  51579. 2011-07-14 Vsevolod Vlasov <vsevik@chromium.org>
  51580. Web Inspector: InspectorResourceAgent should generate unique identifier and save cachedResource for resources from memory cache.
  51581. https://bugs.webkit.org/show_bug.cgi?id=64356
  51582. Reviewed by Yury Semikhatsky.
  51583. * inspector/Inspector.json:
  51584. * inspector/InspectorInstrumentation.cpp:
  51585. (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
  51586. * inspector/InspectorInstrumentation.h:
  51587. (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
  51588. * inspector/InspectorResourceAgent.cpp:
  51589. (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
  51590. * inspector/InspectorResourceAgent.h:
  51591. * inspector/front-end/NetworkManager.js:
  51592. (WebInspector.NetworkManager.prototype.requestContent):
  51593. (WebInspector.NetworkDispatcher):
  51594. (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
  51595. (WebInspector.NetworkDispatcher.prototype._appendRedirect):
  51596. * inspector/front-end/NetworkPanel.js:
  51597. (WebInspector.NetworkLogView.prototype._frameNavigated):
  51598. * loader/FrameLoader.cpp:
  51599. (WebCore::FrameLoader::loadedResourceFromMemoryCache):
  51600. * loader/FrameLoader.h:
  51601. 2011-07-14 Tim Horton <timothy_horton@apple.com>
  51602. Clear SVGElementInstance's children immediately upon detachment
  51603. https://bugs.webkit.org/show_bug.cgi?id=63739
  51604. <rdar://problem/9705708>
  51605. Reviewed by Nikolas Zimmermann.
  51606. In addition to clearing the instance's children in the destructor,
  51607. clear them when the instance is detached from its <use>. This way,
  51608. we won't attempt to use them after we're detached but before the
  51609. destructor has been called.
  51610. Test: svg/custom/use-crash-using-children-before-destroy.svg
  51611. * svg/SVGElementInstance.cpp:
  51612. (WebCore::SVGElementInstance::~SVGElementInstance):
  51613. (WebCore::SVGElementInstance::clearChildren):
  51614. * svg/SVGElementInstance.h:
  51615. * svg/SVGUseElement.cpp:
  51616. (WebCore::SVGUseElement::detachInstance):
  51617. 2011-07-14 Nate Chapin <japhet@chromium.org>
  51618. Don't skip custom cursors if an Image* is null,
  51619. since this can lead to a non-custom Cursor flickering
  51620. back in when the custom cursor hasn't finished loading yet.
  51621. https://bugs.webkit.org/show_bug.cgi?id=64321
  51622. Reviewed by Darin Fisher.
  51623. Manual test, since we're testing visual flickering.
  51624. * manual-tests/canvas-cursor.html: Added.
  51625. * page/EventHandler.cpp:
  51626. (WebCore::EventHandler::selectCursor):
  51627. * platform/Cursor.cpp:
  51628. (WebCore::determineHotSpot):
  51629. 2011-07-14 Young Han Lee <joybro@company100.net>
  51630. Reviewed by Dirk Schulze.
  51631. REGRESSION (r89774): svg/W3C-SVG-1.1/animate-elem-82-t.svg hits assertion failure.
  51632. https://bugs.webkit.org/show_bug.cgi?id=63911
  51633. Some functions assumed calculateKeyTimesIndex() does not return the last index of
  51634. the keyTimes, but it would be right behavior for calculateKeyTimesIndex() when it
  51635. accepts 1 as the percent argument.
  51636. To avoid the assumption, and for more efficiency, this patch allows the functions
  51637. using calculateKeyTimesIndex() to return early when it accepts 1 as the percent argument.
  51638. These functions have always returned the last element of the corresponding vector
  51639. in that situation.
  51640. * svg/SVGAnimationElement.cpp:
  51641. (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
  51642. (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
  51643. 2011-07-14 Andrey Kosyakov <caseq@chromium.org>
  51644. Web Inspector: remove more dead code
  51645. https://bugs.webkit.org/show_bug.cgi?id=64524
  51646. Reviewed by Yury Semikhatsky.
  51647. * WebCore.gypi:
  51648. * inspector/front-end/SummaryBar.js: Removed.
  51649. * inspector/front-end/WebKit.qrc:
  51650. * inspector/front-end/inspector.css:
  51651. * inspector/front-end/inspector.html:
  51652. 2011-07-14 Peter Varga <pvarga@webkit.org>
  51653. [Qt][V8] Build fix after r90830.
  51654. Reviewed by Csaba Osztrogonác.
  51655. The histogramEnumeration() function isn't available from the Qt port's
  51656. PlatformBridge.h because this function is Chromium specific.
  51657. Since the http://trac.webkit.org/changeset/90830 change we need to
  51658. guard the usage of the histogramEnumeration() function.
  51659. No new tests needed.
  51660. * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
  51661. (WebCore::V8InspectorFrontendHost::recordActionTakenCallback):
  51662. (WebCore::V8InspectorFrontendHost::recordPanelShownCallback):
  51663. (WebCore::V8InspectorFrontendHost::recordSettingChangedCallback):
  51664. 2011-07-14 Yury Semikhatsky <yurys@chromium.org>
  51665. Web Inspector: show only Console and Scripts panels in shared worker inspector front-end
  51666. https://bugs.webkit.org/show_bug.cgi?id=64519
  51667. Reviewed by Pavel Feldman.
  51668. * inspector/front-end/WorkerManager.js:
  51669. (WebInspector.WorkerManager):
  51670. (WebInspector.WorkerManager.isWorkerFrontend):
  51671. (WebInspector.WorkerManager.isSharedWorkerFrontend):
  51672. (WebInspector.WorkerManager.prototype._openInspectorWindow):
  51673. (WebInspector.DedicatedWorkerMessageForwarder):
  51674. 2011-07-14 MORITA Hajime <morrita@google.com>
  51675. Unreviewed, rolling out r90976, r90981, and r90985.
  51676. http://trac.webkit.org/changeset/90976
  51677. http://trac.webkit.org/changeset/90981
  51678. http://trac.webkit.org/changeset/90985
  51679. https://bugs.webkit.org/show_bug.cgi?id=64251
  51680. build break
  51681. * WebCore.exp.in:
  51682. * dom/NodeRenderingContext.cpp:
  51683. (WebCore::NodeRenderingContext::NodeRenderingContext):
  51684. (WebCore::NodeRenderingContext::nextRenderer):
  51685. (WebCore::NodeRenderingContext::previousRenderer):
  51686. * dom/NodeRenderingContext.h:
  51687. * dom/ShadowContentElement.cpp:
  51688. (WebCore::ShadowContentElement::attach):
  51689. (WebCore::ShadowContentElement::detach):
  51690. * dom/ShadowContentElement.h:
  51691. * dom/ShadowContentSelector.cpp:
  51692. (WebCore::ShadowContentSelector::ShadowContentSelector):
  51693. (WebCore::ShadowContentSelector::selectInclusion):
  51694. (WebCore::ShadowContentSelector::willAttachContentFor):
  51695. (WebCore::ShadowContentSelector::didAttachContent):
  51696. (WebCore::ShadowContentSelector::activeElement):
  51697. * dom/ShadowContentSelector.h:
  51698. * dom/ShadowRoot.cpp:
  51699. (WebCore::ShadowRoot::~ShadowRoot):
  51700. (WebCore::ShadowRoot::activeContentElement):
  51701. * dom/ShadowRoot.h:
  51702. * testing/Internals.cpp:
  51703. * testing/Internals.h:
  51704. * testing/Internals.idl:
  51705. 2011-07-13 Ryosuke Niwa <rniwa@webkit.org>
  51706. Move forwardEvent from RenderTextControl to HTMLTextFormControlElement
  51707. https://bugs.webkit.org/show_bug.cgi?id=64475
  51708. Reviewed by Kent Tamura.
  51709. Moved forwardEvent from RenderTextControl, RenderTextControlSingleLine, and RenderTextControlMultiLine
  51710. to HTMLTextFormControlElement, HTMLInputElement, and HTMLTextAreaElement.
  51711. This removes the last dependency on Event.h and EventNames.h in the cpp files for the above render
  51712. objects classes.
  51713. * html/HTMLTextAreaElement.cpp:
  51714. (WebCore::HTMLTextAreaElement::defaultEventHandler):
  51715. * html/HTMLTextFormControlElement.cpp:
  51716. (WebCore::HTMLTextFormControlElement::forwardEvent):
  51717. * html/HTMLTextFormControlElement.h:
  51718. * html/TextFieldInputType.cpp:
  51719. (WebCore::TextFieldInputType::forwardEvent):
  51720. * rendering/RenderTextControl.cpp:
  51721. * rendering/RenderTextControl.h:
  51722. * rendering/RenderTextControlMultiLine.cpp:
  51723. * rendering/RenderTextControlMultiLine.h:
  51724. * rendering/RenderTextControlSingleLine.cpp:
  51725. * rendering/RenderTextControlSingleLine.h:
  51726. 2011-07-13 Ilya Tikhonovsky <loislo@chromium.org>
  51727. Web Inspector: if you rename an element into the INPUT element the browser will crash.
  51728. https://bugs.webkit.org/show_bug.cgi?id=64292
  51729. Reviewed by Joseph Pecoraro.
  51730. * inspector/InspectorDOMAgent.cpp:
  51731. (WebCore::InspectorDOMAgent::setNodeName):
  51732. Unnecessary function call copyNonAttributeProperties was removed.
  51733. 2011-07-13 Yuta Kitamura <yutak@chromium.org>
  51734. WebSocket: Implement hybi handshake
  51735. https://bugs.webkit.org/show_bug.cgi?id=64344
  51736. Reviewed by Kent Tamura.
  51737. Implement WebSocket handshake which is described at
  51738. <http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-5.1>.
  51739. Notable differences from hixie-76 protocol are:
  51740. - Challenge-response scheme has been changed dramatically.
  51741. - Servers do not send Sec-WebSocket-Location and Sec-WebSocket-Origin anymore.
  51742. - The value of "Upgrade" header has been changed to "websocket" (lower-case only).
  51743. - "Origin" header in client's request is renamed to "Sec-WebSocket-Origin".
  51744. New tests: http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header.html
  51745. http/tests/websocket/tests/hybi/handshake-fail-by-no-accept-header.html
  51746. http/tests/websocket/tests/hybi/handshake-fail-by-wrong-accept-header.html
  51747. Note: Tests under hybi/ directory (including the new ones) are skipped and cannot be enabled
  51748. yet, because pywebsocket does not accept requests from half-baked client implementation
  51749. (i.e. hybi handshake + hixie-76 framing). They will be unskipped when hybi framing is landed
  51750. in WebCore.
  51751. * websockets/WebSocketHandshake.cpp:
  51752. Functions and members only used for hixie-76 handshake are renamed so that they are not confused
  51753. with hybi-10's ones.
  51754. (WebCore::generateHixie76SecWebSocketKey):
  51755. (WebCore::generateHixie76Key3):
  51756. (WebCore::generateHixie76ExpectedChallengeResponse):
  51757. (WebCore::generateSecWebSocketKey):
  51758. Generates a value for Sec-WebSocket-Key as stated in hybi-10.
  51759. (WebCore::getExpectedWebSocketAccept):
  51760. Calculates the expected value of Sec-WebSocket-Accept.
  51761. (WebCore::WebSocketHandshake::WebSocketHandshake):
  51762. (WebCore::WebSocketHandshake::clientHandshakeMessage):
  51763. (WebCore::WebSocketHandshake::clientHandshakeRequest):
  51764. (WebCore::WebSocketHandshake::readServerHandshake):
  51765. (WebCore::WebSocketHandshake::serverWebSocketAccept):
  51766. (WebCore::WebSocketHandshake::serverWebSocketExtensions):
  51767. (WebCore::WebSocketHandshake::checkResponseHeaders):
  51768. * websockets/WebSocketHandshake.h:
  51769. 2011-07-13 MORITA Hajime <morrita@google.com>
  51770. [ShadowContentElement] forwarded node should be able to access its hosting content element.
  51771. https://bugs.webkit.org/show_bug.cgi?id=64251
  51772. Reviewed by Dimitri Glazkov.
  51773. - Introduced ShadowInclusionSet to manage included nodes to its includer content element.
  51774. ShadowInclusionSet instance is owned by ShadowRoot.
  51775. - Updated the set on inclusion list changes.
  51776. - Used the set to retrieve the content element of NodeRenderingContext.
  51777. There are also related refactoring and cleanup:
  51778. - Renamed NodeRenderingContext::m_contentElement to m_includer
  51779. - ShadowContentSelector::m_activeElement is no longer used, thus removed.
  51780. Test: fast/dom/shadow/content-element-includer.html
  51781. * WebCore.exp.in:
  51782. * dom/NodeRenderingContext.cpp:
  51783. (WebCore::NodeRenderingContext::NodeRenderingContext):
  51784. (WebCore::NodeRenderingContext::nextRenderer):
  51785. (WebCore::NodeRenderingContext::previousRenderer):
  51786. * dom/NodeRenderingContext.h:
  51787. (WebCore::NodeRenderingContext::includer):
  51788. * dom/ShadowContentElement.cpp:
  51789. (WebCore::removeFromSet): Added
  51790. (WebCore::addToSet): Added
  51791. (WebCore::ShadowContentElement::attach):
  51792. (WebCore::ShadowContentElement::detach):
  51793. * dom/ShadowContentElement.h:
  51794. (WebCore::ShadowInclusionSet::add):
  51795. (WebCore::ShadowInclusionSet::remove):
  51796. (WebCore::ShadowInclusionSet::isEmpty):
  51797. (WebCore::ShadowInclusionSet::Translator::hash):
  51798. (WebCore::ShadowInclusionSet::Translator::equal):
  51799. (WebCore::ShadowInclusionSet::Hash::hash):
  51800. (WebCore::ShadowInclusionSet::Hash::equal):
  51801. (WebCore::ShadowInclusionSet::find):
  51802. * dom/ShadowContentSelector.cpp:
  51803. (WebCore::ShadowContentSelector::ShadowContentSelector):
  51804. (WebCore::ShadowContentSelector::selectInclusion):
  51805. * dom/ShadowContentSelector.h:
  51806. * dom/ShadowRoot.cpp:
  51807. (WebCore::ShadowRoot::~ShadowRoot):
  51808. (WebCore::ShadowRoot::includerFor): Replaced activeElement()
  51809. (WebCore::ShadowRoot::inclusions): Added
  51810. (WebCore::ShadowRoot::ensureInclusions): Added
  51811. * dom/ShadowRoot.h:
  51812. (WebCore::toShadowRoot):
  51813. * testing/Internals.cpp:
  51814. (WebCore::Internals::includerFor):
  51815. * testing/Internals.h:
  51816. * testing/Internals.idl:
  51817. 2011-07-12 Dominic Cooney <dominicc@chromium.org>
  51818. Raise if dispatchEvent dispatches an event that is being dispatched
  51819. https://bugs.webkit.org/show_bug.cgi?id=64150
  51820. Reviewed by Dimitri Glazkov.
  51821. Spec: http://www.w3.org/TR/DOM-Level-3-Events/#events-EventTarget-dispatchEvent
  51822. Test: fast/events/dispatch-event-being-dispatched.html
  51823. * dom/Event.h:
  51824. (WebCore::Event::isBeingDispatched): Added.
  51825. * dom/EventException.h:
  51826. * dom/EventException.idl: Add DISPATCH_REQUEST_ERR.
  51827. * dom/EventTarget.cpp:
  51828. (WebCore::EventTarget::dispatchEvent): Raise if being dispatched.
  51829. * dom/ExceptionCode.cpp: Add gunk for DISPATCH_REQUEST_ERR.
  51830. 2011-07-13 Kent Tamura <tkent@chromium.org>
  51831. Implement text field placeholders using shadow DOM
  51832. https://bugs.webkit.org/show_bug.cgi?id=64253
  51833. Reviewed by Dimitri Glazkov.
  51834. Represents a placeholder text as a shadow element, and its
  51835. visibility is controlled by 'visibility' CSS property.
  51836. This patch removes all of existing code about placeholder from
  51837. RenderTextControl*. RenderTextControl* have only small code about
  51838. placeholder layout.
  51839. Also, this patch removes INPUT_PLACEHOLDER legacy pseudo ID, and
  51840. the placeholder style uses Element::shadowPseudoId().
  51841. This fixes the following regressions:
  51842. - https://bugs.webkit.org/show_bug.cgi?id=51290
  51843. - https://bugs.webkit.org/show_bug.cgi?id=54797
  51844. - https://bugs.webkit.org/show_bug.cgi?id=54814
  51845. - https://bugs.webkit.org/show_bug.cgi?id=63367
  51846. Test: fast/forms/textarea-placeholder-wrapping.html
  51847. * css/CSSSelector.cpp: Remove INPUT_PLACEHOLDER legacy pseudo ID.
  51848. (WebCore::CSSSelector::pseudoId):
  51849. (WebCore::nameToPseudoTypeMap):
  51850. (WebCore::CSSSelector::extractPseudoType):
  51851. * css/CSSSelector.h: ditto.
  51852. * css/html.css:
  51853. (::-webkit-input-placeholder): Added. This contains properties
  51854. common in <input> and <textarea>. Some properties have !important
  51855. so that a stylesheet specified by a page author won't break
  51856. WebKit's assumption.
  51857. (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
  51858. Added the default style for <input> placeholders.
  51859. * html/HTMLInputElement.cpp:
  51860. (WebCore::HTMLInputElement::placeholderElement): Delegate to an InputType.
  51861. (WebCore::HTMLInputElement::updatePlaceholderText): ditto.
  51862. * html/HTMLInputElement.h: Declare placeholderElement() and updatePlaceholderText().
  51863. * html/HTMLTextAreaElement.cpp:
  51864. (WebCore::HTMLTextAreaElement::createRenderer):
  51865. Remove the 'placeholderVisible' argument.
  51866. (WebCore::HTMLTextAreaElement::placeholderElement): Added.
  51867. (WebCore::HTMLTextAreaElement::updatePlaceholderText):
  51868. Added. This creates, deletes, or updates the placeholder element.
  51869. * html/HTMLTextAreaElement.h:
  51870. - Declare placeholderElement() and updatePlaceholderText().
  51871. - Add m_placeholder.
  51872. * html/HTMLTextFormControlElement.cpp:
  51873. (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
  51874. Update the placeholder element and 'visibility' CSS property,
  51875. instead of delegating the job to a renderer.
  51876. * html/HTMLTextFormControlElement.h:
  51877. Declare two pure virtual functions: placeholderElement() and updatePlaceholderText().
  51878. * html/InputType.cpp:
  51879. (WebCore::InputType::placeholderElement): Add an empty implementation.
  51880. (WebCore::InputType::updatePlaceholderText): Add an empty implementation.
  51881. * html/InputType.h: Declare placeholderElement() and updatePlaceholderText().
  51882. * html/TextFieldInputType.cpp:
  51883. (WebCore::TextFieldInputType::createRenderer):
  51884. Remove the 'placeholderVisible' argument.
  51885. (WebCore::TextFieldInputType::placeholderElement): Added.
  51886. (WebCore::TextFieldInputType::destroyShadowSubtree): Deletes m_placeholder.
  51887. (WebCore::TextFieldInputType::updatePlaceholderText):
  51888. Added. This creates, deletes, or updates the placeholder element.
  51889. * html/TextFieldInputType.h:
  51890. - Declare placeholderElement() and updatePlaceholderText().
  51891. - Add m_placeholder.
  51892. * rendering/RenderTextControl.cpp:
  51893. (WebCore::RenderTextControl::RenderTextControl):
  51894. Remove the 'placeholderVisible' argument.
  51895. (WebCore::RenderTextControl::layoutSpecialExcludedChild):
  51896. Excludes the placeholder renderer in order to avoid to secure a box for
  51897. the placeholder.
  51898. * rendering/RenderTextControl.h:
  51899. - Remove declarations of removed functions.
  51900. - Update the RenderTextControl signature.
  51901. - Add layoutSpecialExcludedChild().
  51902. * rendering/RenderTextControlMultiLine.cpp:
  51903. (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
  51904. Remove the 'placeholderVisible' argument.
  51905. (WebCore::RenderTextControlMultiLine::layoutSpecialExcludedChild):
  51906. Laying out the placeholder box so that it has correct width and location.
  51907. * rendering/RenderTextControlMultiLine.h:
  51908. - Remove declarations of removed functions.
  51909. - Update the RenderTextControlMultiLine signature.
  51910. - Add layoutSpecialExcludedChild().
  51911. * rendering/RenderTextControlSingleLine.cpp:
  51912. (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
  51913. Remove the 'placeholderVisible' argument.
  51914. (WebCore::RenderTextControlSingleLine::layout):
  51915. Laying out the placeholder box so that it has correct width and location.
  51916. * rendering/RenderTextControlSingleLine.h:
  51917. - Remove declarations of removed functions.
  51918. - Update the RenderTextControlSingleLine signature.
  51919. * rendering/style/RenderStyleConstants.h: Remove INPUT_PLACEHOLDER.
  51920. 2011-07-13 James Simonsen <simonjam@chromium.org>
  51921. Remove hack that forcefully prevents scripts from running in shadow SVG
  51922. https://bugs.webkit.org/show_bug.cgi?id=64419
  51923. This hack was put in to prevent scripts from running in shadow SVG. This should never have
  51924. happened, but did because we didn't parse <script> tags in SVG properly. This was fixed in
  51925. r88584, so the hack is no longer needed.
  51926. No new tests since there is no change in functionality.
  51927. Reviewed by Tony Gentilcore.
  51928. * dom/ScriptElement.cpp:
  51929. (WebCore::ScriptElement::prepareScript):
  51930. 2011-07-13 Mihnea Ovidenie <mihnea@adobe.com>
  51931. [CSSRegions] Parse -webkit-content-order property
  51932. https://bugs.webkit.org/show_bug.cgi?id=63897
  51933. Reviewed by David Hyatt.
  51934. Test: fast/regions/webkit-content-order-parsing.html
  51935. * css/CSSComputedStyleDeclaration.cpp:
  51936. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  51937. * css/CSSParser.cpp:
  51938. (WebCore::CSSParser::parseValue):
  51939. * css/CSSPropertyNames.in:
  51940. * css/CSSStyleSelector.cpp:
  51941. (WebCore::CSSStyleSelector::applyProperty):
  51942. * rendering/style/RenderStyle.cpp:
  51943. (WebCore::RenderStyle::diff):
  51944. * rendering/style/RenderStyle.h:
  51945. (WebCore::InheritedFlags::regionIndex):
  51946. (WebCore::InheritedFlags::setRegionIndex):
  51947. (WebCore::InheritedFlags::initialRegionIndex):
  51948. * rendering/style/StyleRareNonInheritedData.cpp:
  51949. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  51950. (WebCore::StyleRareNonInheritedData::operator==):
  51951. * rendering/style/StyleRareNonInheritedData.h:
  51952. 2011-07-13 James Robinson <jamesr@chromium.org>
  51953. Reviewed by Kenneth Russell.
  51954. [chromium] Move draw implementation for ContentLayerChromium/ImageLayerChromium to the appropriate CCLayerImpl subclass
  51955. https://bugs.webkit.org/show_bug.cgi?id=58833
  51956. Adds a TiledLayerChromium class to handle the tiling logic shared by ContentLayerChromium and ImageLayerChromium
  51957. so that they can be siblings in the class hierarchy instead of children. Also adds a CCTiledLayerImpl to handle
  51958. the drawing responsibilities for tiled layers.
  51959. TiledLayerChromium maintains a tiler, tiling options, and calculates the tiling transform. Subclasses are
  51960. responsible for providing an appropriate texture updater implementation. CCTiledLayerImpl takes the tiler,
  51961. tiling transform and layer properties and draws the layer. Longer term it'd be better of the CCTiledLayerImpl
  51962. owned the tiler and the TiledLayerChromium only owned an updater, but getting there will require changing the
  51963. way tile eviction works.
  51964. * WebCore.gypi:
  51965. * platform/graphics/chromium/ContentLayerChromium.cpp:
  51966. (WebCore::ContentLayerChromium::ContentLayerChromium):
  51967. (WebCore::ContentLayerChromium::paintContentsIfDirty):
  51968. (WebCore::ContentLayerChromium::drawsContent):
  51969. * platform/graphics/chromium/ContentLayerChromium.h:
  51970. (WebCore::ContentLayerChromium::textureUpdater):
  51971. * platform/graphics/chromium/ImageLayerChromium.cpp:
  51972. (WebCore::ImageLayerChromium::ImageLayerChromium):
  51973. (WebCore::ImageLayerChromium::cleanupResources):
  51974. (WebCore::ImageLayerChromium::paintContentsIfDirty):
  51975. (WebCore::ImageLayerChromium::textureUpdater):
  51976. (WebCore::ImageLayerChromium::contentBounds):
  51977. (WebCore::ImageLayerChromium::drawsContent):
  51978. (WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):
  51979. * platform/graphics/chromium/ImageLayerChromium.h:
  51980. * platform/graphics/chromium/LayerChromium.cpp:
  51981. (WebCore::LayerChromium::pushPropertiesTo):
  51982. (WebCore::LayerChromium::ccLayerImpl):
  51983. * platform/graphics/chromium/LayerChromium.h:
  51984. * platform/graphics/chromium/LayerRendererChromium.cpp:
  51985. (WebCore::LayerRendererChromium::drawRootLayer):
  51986. * platform/graphics/chromium/LayerTilerChromium.cpp:
  51987. (WebCore::LayerTilerChromium::updateRect):
  51988. (WebCore::LayerTilerChromium::draw):
  51989. (WebCore::LayerTilerChromium::drawTiles):
  51990. * platform/graphics/chromium/LayerTilerChromium.h:
  51991. * platform/graphics/chromium/TiledLayerChromium.cpp: Added.
  51992. (WebCore::TiledLayerChromium::TiledLayerChromium):
  51993. (WebCore::TiledLayerChromium::~TiledLayerChromium):
  51994. (WebCore::TiledLayerChromium::createCCLayerImpl):
  51995. (WebCore::TiledLayerChromium::cleanupResources):
  51996. (WebCore::TiledLayerChromium::setLayerRenderer):
  51997. (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
  51998. (WebCore::TiledLayerChromium::drawsContent):
  51999. (WebCore::TiledLayerChromium::createTilerIfNeeded):
  52000. (WebCore::TiledLayerChromium::updateCompositorResources):
  52001. (WebCore::TiledLayerChromium::setTilingOption):
  52002. (WebCore::TiledLayerChromium::setIsMask):
  52003. (WebCore::TiledLayerChromium::tilingTransform):
  52004. (WebCore::TiledLayerChromium::pushPropertiesTo):
  52005. (WebCore::writeIndent):
  52006. (WebCore::TiledLayerChromium::dumpLayerProperties):
  52007. * platform/graphics/chromium/TiledLayerChromium.h: Added.
  52008. * platform/graphics/chromium/cc/CCLayerImpl.cpp:
  52009. (WebCore::CCLayerImpl::draw):
  52010. * platform/graphics/chromium/cc/CCLayerImpl.h:
  52011. (WebCore::CCLayerImpl::setDrawsContent):
  52012. (WebCore::CCLayerImpl::drawsContent):
  52013. * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Added.
  52014. (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
  52015. (WebCore::CCTiledLayerImpl::~CCTiledLayerImpl):
  52016. (WebCore::CCTiledLayerImpl::draw):
  52017. (WebCore::CCTiledLayerImpl::bindContentsTexture):
  52018. (WebCore::CCTiledLayerImpl::dumpLayerProperties):
  52019. * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Added.
  52020. (WebCore::CCTiledLayerImpl::create):
  52021. (WebCore::CCTiledLayerImpl::setTilingTransform):
  52022. (WebCore::CCTiledLayerImpl::setTiler):
  52023. 2011-07-13 Julien Chaffraix <jchaffraix@webkit.org>
  52024. Remove an unused bit in RenderObject
  52025. https://bugs.webkit.org/show_bug.cgi?id=64485
  52026. Reviewed by Darin Adler.
  52027. No change in behavior so no new test.
  52028. * rendering/RenderObject.h: Removed a bit that was duplicated from RenderTableCell.
  52029. However it was not used in RenderObject and RenderTableCell already packed this bit.
  52030. We were lying in the number of used bits in RenderObject which was 33. This change
  52031. brings us back to what was advertised.
  52032. 2011-07-13 Simon Fraser <simon.fraser@apple.com>
  52033. Fix non-debug builds.
  52034. * rendering/RenderLayerBacking.cpp:
  52035. (WebCore::RenderLayerBacking::createGraphicsLayer):
  52036. 2011-07-13 Vitaly Repeshko <vitalyr@chromium.org>
  52037. [chromium] Fix mac build after r90949.
  52038. * bindings/v8/V8HiddenPropertyName.cpp:
  52039. (WebCore::V8HiddenPropertyName::hiddenReferenceName):
  52040. * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
  52041. (WebCore::toV8Object):
  52042. 2011-07-13 Emil A Eklund <eae@chromium.org>
  52043. Switch table rendering to to new layout types
  52044. https://bugs.webkit.org/show_bug.cgi?id=64478
  52045. Reviewed by Eric Seidel.
  52046. No new tests, no new functionality.
  52047. * rendering/AutoTableLayout.cpp:
  52048. * rendering/AutoTableLayout.h:
  52049. * rendering/HitTestResult.cpp:
  52050. * rendering/HitTestResult.h:
  52051. * rendering/LayoutTypes.h:
  52052. * rendering/RenderBlock.h:
  52053. * rendering/RenderBoxModelObject.cpp:
  52054. * rendering/RenderBoxModelObject.h:
  52055. * rendering/RenderObject.h:
  52056. * rendering/RenderTable.cpp:
  52057. * rendering/RenderTable.h:
  52058. * rendering/RenderTableCell.cpp:
  52059. * rendering/RenderTableCell.h:
  52060. 2011-07-13 Simon Fraser <simon.fraser@apple.com>
  52061. Factor some GraphicsLayer creation code in RenderLayerBacking
  52062. https://bugs.webkit.org/show_bug.cgi?id=64487
  52063. Reviewed by Sam Weinig.
  52064. Move the GraphicsLayer::create() calls into once place so that we
  52065. don't have lots of #ifndef NDEBUG in various places, and can share
  52066. more code in future.
  52067. No behavior change, so no new tests.
  52068. * rendering/RenderLayerBacking.cpp:
  52069. (WebCore::RenderLayerBacking::RenderLayerBacking):
  52070. (WebCore::RenderLayerBacking::~RenderLayerBacking):
  52071. (WebCore::RenderLayerBacking::createGraphicsLayer):
  52072. (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
  52073. (WebCore::RenderLayerBacking::destroyGraphicsLayers):
  52074. (WebCore::RenderLayerBacking::updateLayerTransform):
  52075. (WebCore::RenderLayerBacking::updateClippingLayers):
  52076. (WebCore::RenderLayerBacking::updateOverflowControlsLayers):
  52077. (WebCore::RenderLayerBacking::updateForegroundLayer):
  52078. (WebCore::RenderLayerBacking::updateMaskLayer):
  52079. * rendering/RenderLayerBacking.h:
  52080. 2011-07-13 Xan Lopez <xlopez@igalia.com>
  52081. [GTK] Fix distcheck.
  52082. Reviewed by Martin Robinson.
  52083. * GNUmakefile.list.am: add missing files.
  52084. 2011-07-13 James Robinson <jamesr@chromium.org>
  52085. [chromium] No implementation defined for WTF::monotonicallyIncreasingTime
  52086. https://bugs.webkit.org/show_bug.cgi?id=64420
  52087. Reviewed by Tony Gentilcore.
  52088. Removes some redundant time related code.
  52089. * platform/chromium/PlatformBridge.h:
  52090. * platform/chromium/SystemTimeChromium.cpp:
  52091. (WebCore::userIdleTime):
  52092. 2011-07-13 Vitaly Repeshko <vitalyr@chromium.org>
  52093. [V8] Avoid memory leaks with hidden references.
  52094. https://bugs.webkit.org/show_bug.cgi?id=64467
  52095. Reviewed by Adam Barth.
  52096. We used to have growing arrays of hidden references associated
  52097. with objects. The entries in this array had no keys and were never
  52098. removed. This patch changes the interface to require a reference
  52099. name. This way it's harder to leak an unbounded number of
  52100. objects. Also it makes our wrapper objects one machine word
  52101. smaller.
  52102. * bindings/scripts/CodeGeneratorV8.pm:
  52103. (GenerateNormalAttrGetter): Started using new interface.
  52104. Interface changes:
  52105. * bindings/v8/V8DOMWrapper.cpp:
  52106. (WebCore::V8DOMWrapper::setNamedHiddenReference):
  52107. (WebCore::V8DOMWrapper::setNamedHiddenWindowReference):
  52108. * bindings/v8/V8DOMWrapper.h:
  52109. Added a helper to compute hidden reference names as V8 strings:
  52110. * bindings/v8/V8HiddenPropertyName.cpp:
  52111. (WebCore::V8HiddenPropertyName::hiddenReferenceName):
  52112. * bindings/v8/V8HiddenPropertyName.h:
  52113. * bindings/v8/WrapperTypeInfo.h: Removed the hidden reference
  52114. array internal field.
  52115. Update usages of hidden references:
  52116. * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
  52117. (WebCore::toV8):
  52118. * bindings/v8/custom/V8DOMStringMapCustom.cpp:
  52119. (WebCore::toV8):
  52120. * bindings/v8/custom/V8DOMTokenListCustom.cpp:
  52121. (WebCore::toV8):
  52122. * bindings/v8/custom/V8LocationCustom.cpp:
  52123. (WebCore::toV8):
  52124. * bindings/v8/custom/V8MessageChannelConstructor.cpp:
  52125. (WebCore::V8MessageChannel::constructorCallback):
  52126. * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
  52127. (WebCore::toV8):
  52128. * bindings/v8/custom/V8StyleSheetCustom.cpp:
  52129. (WebCore::toV8):
  52130. * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
  52131. (WebCore::toV8Object):
  52132. * bindings/scripts/test/V8/V8TestObj.cpp:
  52133. (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter): Updated.
  52134. 2011-07-13 Joseph Pecoraro <joepeck@webkit.org>
  52135. Improve names of some ApplicationCacheStorage accessor methods
  52136. https://bugs.webkit.org/show_bug.cgi?id=64433
  52137. Reviewed by Alexey Proskuryakov.
  52138. Some methods returned a bool for success/failure and
  52139. actually returned a value as an out parameter so their
  52140. name was confusing. Rename these methods to make them
  52141. more clear.
  52142. (WebCore::ApplicationCache::diskUsageForOrigin):
  52143. * loader/appcache/ApplicationCacheGroup.cpp:
  52144. (WebCore::ApplicationCacheGroup::recalculateAvailableSpaceInQuota):
  52145. * loader/appcache/ApplicationCacheStorage.cpp:
  52146. (WebCore::ApplicationCacheStorage::calculateQuotaForOrigin):
  52147. (WebCore::ApplicationCacheStorage::calculateUsageForOrigin):
  52148. (WebCore::ApplicationCacheStorage::calculateRemainingSizeForOriginExcludingCache):
  52149. (WebCore::ApplicationCacheStorage::checkOriginQuota):
  52150. * loader/appcache/ApplicationCacheStorage.h:
  52151. * loader/appcache/ApplicationCache.cpp:
  52152. Rename the methods.
  52153. * WebCore.exp.in:
  52154. Replaced old versions. Also, calculateRemaining wasn't needed
  52155. outside WebCore, so no longer export it.
  52156. 2011-07-13 Joseph Pecoraro <joepeck@webkit.org>
  52157. Some ApplicationCache Origin Cleanup
  52158. https://bugs.webkit.org/show_bug.cgi?id=64431
  52159. Reviewed by Alexey Proskuryakov.
  52160. - m_loadedSize is inaccurate. This just replaces it with
  52161. calls to ApplicationCache::estimatedSizeInStorage.
  52162. - m_availableSpaceInQuota can get out of date, so we just
  52163. recalculate it at the start of appcache downloads.
  52164. * loader/appcache/ApplicationCacheGroup.h:
  52165. * loader/appcache/ApplicationCacheGroup.cpp:
  52166. (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
  52167. (WebCore::ApplicationCacheGroup::didReceiveData):
  52168. Remove references to m_loadedSize.
  52169. (WebCore::ApplicationCacheGroup::didFinishLoading):
  52170. Replace m_loadedSize with estimatedSizeInStorage after we
  52171. add the new cached resource to the cache. The calculation
  52172. already happened so this check is fast.
  52173. (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
  52174. When we start the Downloading phase, recalculate the quota
  52175. so that we have an up to date quota value so that we can
  52176. break early if needed.
  52177. 2011-07-12 Brent Fulgham <bfulgham@webkit.org>
  52178. Standardize WinCairo conditionalized code under PLATFORM macro.
  52179. https://bugs.webkit.org/show_bug.cgi?id=64377
  52180. Reviewed by Maciej Stachowiak.
  52181. Update compile-time conditions that had previously used #ifdef
  52182. of WIN_CAIRO to consistently use PLATFORM(WIN_CAIRO).
  52183. * WebCore.vcproj/WebCoreCairo.vsprops: Remove redundant declaration
  52184. of WIN_CAIRO.
  52185. * WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops: Update to use
  52186. the existing WinCairo.vsprops file.
  52187. * WebCorePrefix.h: Update for new WTF_PLATFORM_WIN_CAIRO define.
  52188. * config.h: Update to use PLATFORM(WIN_CAIRO).
  52189. 2011-07-13 Alexandru Chiculita <achicu@adobe.com>
  52190. [CSS Exclusions] Fix for comment #23 on wrap-shape parsing bug 61726
  52191. https://bugs.webkit.org/show_bug.cgi?id=64464
  52192. Reviewed by Tony Chang.
  52193. No new tests needed.
  52194. * css/CSSParser.cpp:
  52195. (WebCore::CSSParser::parseWrapShapeRect): Removed the "valid" local.
  52196. (WebCore::CSSParser::parseWrapShapeCircle): Removed the "valid" local.
  52197. (WebCore::CSSParser::parseWrapShapeEllipse): Removed the "valid" local.
  52198. * css/CSSPrimitiveValue.cpp:
  52199. * css/CSSWrapShapes.h:
  52200. (WebCore::CSSWrapShapePolygon::getXAt): Replaced bit shift with multiplication.
  52201. (WebCore::CSSWrapShapePolygon::getYAt): Replaced bit shift with multiplication.
  52202. * rendering/style/RenderStyle.cpp:
  52203. * rendering/style/StyleRareNonInheritedData.h:
  52204. 2011-07-13 Abhishek Arya <inferno@chromium.org>
  52205. Reviewed by Adam Barth.
  52206. Issue with Frame lifetime due to deletion in beforeload event.
  52207. https://bugs.webkit.org/show_bug.cgi?id=64457
  52208. Copy the Frame protector higher in the stack from loadWithDocumentLoader
  52209. to loadFrameRequest since any of loadPostRequest or loadURL can call
  52210. loadWithDocumentLoader, thereby dispatching the beforeload event and
  52211. blowing away the frame. This deleted frame will be later accessed in
  52212. the loadFrameRequest function causing a crash.
  52213. Test: fast/events/form-iframe-target-before-load-crash2.html
  52214. * loader/FrameLoader.cpp:
  52215. (WebCore::FrameLoader::loadFrameRequest):
  52216. (WebCore::FrameLoader::loadWithDocumentLoader):
  52217. 2011-07-13 Mihnea Ovidenie <mihnea@adobe.com>
  52218. [CSSRegions]content:-webkit-from-flow not applied correctly
  52219. https://bugs.webkit.org/show_bug.cgi?id=64438
  52220. Reviewed by Tony Chang.
  52221. Forgot to modify getStringValue(), i was modifying only getStringValue(ExceptionCode&).
  52222. Test: fast/regions/content-webkit-from-flow-parsing.html (existing).
  52223. * css/CSSPrimitiveValue.cpp:
  52224. (WebCore::CSSPrimitiveValue::getStringValue):
  52225. 2011-07-12 Ryosuke Niwa <rniwa@webkit.org>
  52226. Don't reuse the last InsertTextCommand
  52227. https://bugs.webkit.org/show_bug.cgi?id=64416
  52228. Reviewed by Justin Garcia.
  52229. This patch makes the interface of InsertTextCommand less foreign. It now takes arguments in
  52230. its constructor and executes the command in doApply like other edit commands.
  52231. * editing/CompositeEditCommand.cpp:
  52232. (WebCore::CompositeEditCommand::applyCommandToComposite): Added.
  52233. * editing/CompositeEditCommand.h:
  52234. * editing/InsertTextCommand.cpp:
  52235. (WebCore::InsertTextCommand::InsertTextCommand): Takes arguments input used to take.
  52236. (WebCore::InsertTextCommand::doApply): Renamed from input.
  52237. * editing/InsertTextCommand.h:
  52238. (WebCore::InsertTextCommand::create): Takes arguments input used to take.
  52239. * editing/TypingCommand.cpp:
  52240. (WebCore::TypingCommand::insertTextRunWithoutNewlines): Creates InsertTextCommand.
  52241. 2011-07-12 Dmitry Lomov <dslomov@google.com>
  52242. https://bugs.webkit.org/show_bug.cgi?id=63041
  52243. [Chromium][V8] Make DOMDataStore per-isolate
  52244. This patch:
  52245. - makes DOMData class an utility class with static members only
  52246. - adds an isolate-specific DOMDataStore in V8BindingPerIsolateData.
  52247. Dromaeo benchmarks are not affected.
  52248. Reviewed by Adam Barth.
  52249. * bindings/v8/DOMData.cpp:
  52250. (WebCore::getDefaultStore):
  52251. (WebCore::DOMData::getCurrentStore):
  52252. * bindings/v8/DOMData.h:
  52253. * bindings/v8/DOMDataStore.cpp:
  52254. (WebCore::DOMDataStore::DOMDataStore):
  52255. (WebCore::DOMDataStore::allStores):
  52256. * bindings/v8/DOMDataStore.h:
  52257. * bindings/v8/ScopedDOMDataStore.cpp:
  52258. (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
  52259. * bindings/v8/ScopedDOMDataStore.h:
  52260. * bindings/v8/StaticDOMDataStore.cpp:
  52261. (WebCore::StaticDOMDataStore::StaticDOMDataStore):
  52262. * bindings/v8/StaticDOMDataStore.h:
  52263. * bindings/v8/V8Binding.h:
  52264. (WebCore::V8BindingPerIsolateData::allStores):
  52265. (WebCore::V8BindingPerIsolateData::getDOMDataStore):
  52266. (WebCore::V8BindingPerIsolateData::setDOMDataStore):
  52267. * bindings/v8/V8Binding.cpp:
  52268. (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
  52269. * bindings/v8/V8DOMMap.cpp:
  52270. (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
  52271. (WebCore::getDOMDataStore):
  52272. (WebCore::enableFasterDOMStoreAccess):
  52273. 2011-07-12 Simon Fraser <simon.fraser@apple.com>
  52274. Rename compositing-related updateContentsScale() methods
  52275. https://bugs.webkit.org/show_bug.cgi?id=64430
  52276. Reviewed by Joseph Pecoraro.
  52277. Rename updateContentsScale() to something less presumptuous; layers may choose
  52278. to do something other than update their contents scale when the page scale factor
  52279. changes. pageScaleFactorChanged() is a better name.
  52280. * page/Frame.cpp:
  52281. (WebCore::Frame::pageScaleFactorChanged):
  52282. (WebCore::Frame::scalePage):
  52283. * page/Frame.h:
  52284. * rendering/RenderLayer.cpp:
  52285. (WebCore::RenderLayer::pageScaleFactorChanged):
  52286. * rendering/RenderLayer.h:
  52287. * rendering/RenderLayerBacking.cpp:
  52288. (WebCore::RenderLayerBacking::pageScaleFactorChanged):
  52289. * rendering/RenderLayerBacking.h:
  52290. * rendering/RenderLayerCompositor.cpp:
  52291. (WebCore::RenderLayerCompositor::pageScaleFactorChanged):
  52292. * rendering/RenderLayerCompositor.h:
  52293. 2011-07-13 Pierre Rossi <pierre.rossi@gmail.com>
  52294. Fix compile for QRawFont.
  52295. https://bugs.webkit.org/show_bug.cgi?id=64453
  52296. Reviewed by Andreas Kling.
  52297. * platform/graphics/GraphicsContext.h:
  52298. * platform/graphics/qt/FontQt.cpp:
  52299. (WebCore::Font::drawGlyphs):
  52300. 2011-07-13 John Knottenbelt <jknotten@chromium.org>
  52301. Reference Geolocation object from GeoNotifier and Geolocation::setIsAllowed.
  52302. https://bugs.webkit.org/show_bug.cgi?id=64363
  52303. Reviewed by Tony Gentilcore.
  52304. Test: fast/dom/Geolocation/remove-remote-context-in-error-callback-crash.html
  52305. * page/Geolocation.cpp:
  52306. (WebCore::Geolocation::setIsAllowed):
  52307. * page/Geolocation.h:
  52308. 2011-07-13 Vsevolod Vlasov <vsevik@chromium.org>
  52309. Web Inspector: Network panel search needs each resource to have unique identifier.
  52310. https://bugs.webkit.org/show_bug.cgi?id=64287
  52311. Reviewed by Pavel Feldman.
  52312. * inspector/front-end/NetworkManager.js:
  52313. (WebInspector.NetworkManager.prototype.requestContent):
  52314. (WebInspector.NetworkDispatcher):
  52315. (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
  52316. (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
  52317. (WebInspector.NetworkDispatcher.prototype._appendRedirect):
  52318. * inspector/front-end/NetworkPanel.js:
  52319. (WebInspector.NetworkPanel.prototype._appendResource):
  52320. (WebInspector.NetworkPanel.prototype._frameNavigated):
  52321. (WebInspector.NetworkPanel.prototype._updateSearchMatchedListAfterResourceIdentifierChanged):
  52322. 2011-07-13 Alexandru Chiculita <achicu@adobe.com>
  52323. Bridge RenderBoxModelObject::calculateBackgroundImageGeometry parameters into a class
  52324. https://bugs.webkit.org/show_bug.cgi?id=63987
  52325. Reviewed by Hajime Morita.
  52326. Change doesn't add new functionality. No test needed.
  52327. * rendering/RenderBox.cpp:
  52328. (WebCore::RenderBox::maskClipRect):
  52329. (WebCore::RenderBox::repaintLayerRectsForImage):
  52330. * rendering/RenderBoxModelObject.cpp:
  52331. (WebCore::RenderBoxModelObject::paintFillLayerExtended):
  52332. (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatX):
  52333. (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatY):
  52334. (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
  52335. (WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip):
  52336. (WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase):
  52337. (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
  52338. * rendering/RenderBoxModelObject.h:
  52339. (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destOrigin):
  52340. (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestOrigin):
  52341. (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destRect):
  52342. (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestRect):
  52343. (WebCore::RenderBoxModelObject::BackgroundImageGeometry::phase):
  52344. (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhase):
  52345. (WebCore::RenderBoxModelObject::BackgroundImageGeometry::tileSize):
  52346. (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setTileSize):
  52347. (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseX):
  52348. (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseY):
  52349. 2011-07-13 MORITA Hajime <morrita@google.com>
  52350. Refactoring: Ignored ExceptionCode value should be less annoying.
  52351. https://bugs.webkit.org/show_bug.cgi?id=63688
  52352. - Introduced ExceptionCodePlaceholder class for the default parameter of ExceptionCode.
  52353. - Introduced ASSERT_NO_EXCEPTION to check ExceptionCode not set to non-zero after the call.
  52354. - Adopted ASSERT_NO_EXCEPTION in Range.cpp
  52355. No new tests. No behaviour change.
  52356. Reviewed by Darin Adler.
  52357. * GNUmakefile.list.am:
  52358. * WebCore.gypi:
  52359. * WebCore.xcodeproj/project.pbxproj:
  52360. * dom/ExceptionCodePlaceholder.h: Added.
  52361. (WebCore::ExceptionCodePlaceholder::ExceptionCodePlaceholder):
  52362. (WebCore::ExceptionCodePlaceholder::operator ExceptionCode& ):
  52363. (WebCore::IgnorableExceptionCode::IgnorableExceptionCode):
  52364. (WebCore::CheckedExceptionCode::CheckedExceptionCode):
  52365. (WebCore::CheckedExceptionCode::~CheckedExceptionCode):
  52366. * dom/Range.cpp:
  52367. (WebCore::Range::Range):
  52368. (WebCore::Range::editingStartPosition):
  52369. * dom/Range.h:
  52370. 2011-07-13 Nikolas Zimmermann <nzimmermann@rim.com>
  52371. Regression: OOB read in svg text run
  52372. https://bugs.webkit.org/show_bug.cgi?id=63627
  52373. Not reviewed.
  52374. Fixed last minute typo leading to assertions.
  52375. * rendering/InlineTextBox.cpp:
  52376. (WebCore::InlineTextBox::paintSelection):
  52377. 2011-07-12 Andrey Kosyakov <caseq@chromium.org>
  52378. Web Inspector: factor NetworkLogView out of Network panel
  52379. https://bugs.webkit.org/show_bug.cgi?id=64366
  52380. Reviewed by Pavel Feldman.
  52381. * inspector/front-end/NetworkPanel.js:
  52382. (WebInspector.NetworkLogView):
  52383. (WebInspector.NetworkLogView.prototype.get useLargeRows):
  52384. (WebInspector.NetworkLogView.prototype.set allowPopover):
  52385. (WebInspector.NetworkLogView.prototype.elementsToRestoreScrollPositionsFor):
  52386. (WebInspector.NetworkLogView.prototype.resize):
  52387. (WebInspector.NetworkLogView.prototype._createTable):
  52388. (WebInspector.NetworkLogView.prototype.show):
  52389. (WebInspector.NetworkLogView.prototype.hide):
  52390. (WebInspector.NetworkLogView.prototype._reset):
  52391. (WebInspector.NetworkLogView.prototype.switchToDetailedView):
  52392. (WebInspector.NetworkLogView.prototype.switchToBriefView):
  52393. (WebInspector.NetworkLogView.prototype.get _setLargerResources):
  52394. (WebInspector.NetworkLogView.prototype._getPopoverAnchor):
  52395. (WebInspector.NetworkPanel):
  52396. (WebInspector.NetworkPanel.prototype.get toolbarItemLabel):
  52397. (WebInspector.NetworkPanel.prototype.get statusBarItems):
  52398. (WebInspector.NetworkPanel.prototype.elementsToRestoreScrollPositionsFor):
  52399. (WebInspector.NetworkPanel.prototype.resize):
  52400. (WebInspector.NetworkPanel.prototype._reset):
  52401. (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
  52402. (WebInspector.NetworkPanel.prototype.updateMainViewWidth):
  52403. (WebInspector.NetworkPanel.prototype.handleShortcut):
  52404. (WebInspector.NetworkPanel.prototype.show):
  52405. (WebInspector.NetworkPanel.prototype.hide):
  52406. (WebInspector.NetworkPanel.prototype.get resources):
  52407. (WebInspector.NetworkPanel.prototype.resourceById):
  52408. (WebInspector.NetworkPanel.prototype.canShowAnchorLocation):
  52409. (WebInspector.NetworkPanel.prototype.showAnchorLocation):
  52410. (WebInspector.NetworkPanel.prototype._onViewCleared):
  52411. (WebInspector.NetworkPanel.prototype._onRowSizeChanged):
  52412. (WebInspector.NetworkPanel.prototype._onResourceSelected):
  52413. (WebInspector.NetworkPanel.prototype._showResource):
  52414. (WebInspector.NetworkPanel.prototype._closeVisibleResource):
  52415. (WebInspector.NetworkPanel.prototype._toggleGridMode):
  52416. (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
  52417. (WebInspector.NetworkPanel.prototype.performSearch):
  52418. (WebInspector.NetworkPanel.prototype.jumpToPreviousSearchResult):
  52419. (WebInspector.NetworkPanel.prototype.jumpToNextSearchResult):
  52420. (WebInspector.NetworkPanel.prototype.searchCanceled):
  52421. (WebInspector.NetworkDataGridNode):
  52422. (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
  52423. (WebInspector.NetworkDataGridNode.prototype.select):
  52424. (WebInspector.NetworkDataGridNode.prototype.get selectable):
  52425. 2011-07-13 Sheriff Bot <webkit.review.bot@gmail.com>
  52426. Unreviewed, rolling out r90634.
  52427. http://trac.webkit.org/changeset/90634
  52428. https://bugs.webkit.org/show_bug.cgi?id=64448
  52429. Qt HTTP Pipelining is not robust enough to be used in that
  52430. generic way. (Requested by benjaminp on #webkit).
  52431. * platform/network/qt/ResourceRequestQt.cpp:
  52432. (WebCore::ResourceRequest::toNetworkRequest):
  52433. 2011-07-13 Nikolas Zimmermann <nzimmermann@rim.com>
  52434. Regression: OOB read in svg text run
  52435. https://bugs.webkit.org/show_bug.cgi?id=63627
  52436. Reviewed by Zoltan Herczeg.
  52437. A TextRun is constructed for a portion of a string [a,b] whose original length is c (0 < a < b < c).
  52438. The TextRun charactersLength variable stores the length of the remaining text from (b..c) in order
  52439. to support ligatures in SVG Fonts. Example: <text>ffl</text>. When measuring the advance from char 0
  52440. to char 1 the whole 'ffl' text must be passed to the SVG glyph selection code, as the SVG Font may
  52441. define a single glyph for the characters 'ffl' thus leading to a single character long text
  52442. pointing to the ffl ligature, not three individual 'f' / 'f' / 'l' characters anymore.
  52443. constructTextRun(..const UChar*, int length, ..) did not correctly calculate the maximum length (b..c).
  52444. The passed in UChar buffer starts at eg. textRenderer->characters() + start(), and following condition
  52445. holds true for 'length': start() + length <= textRenderer->textLength() (which denotes the maximum length
  52446. of the textRenderer->characters() buffer). We have to keep track of the start() offset, so that we
  52447. can calculate the charactersLength for the TextRun correctly: textRenderer->textLength() - start().
  52448. There are also other cases like RenderCombinedText and/or the presence of hyphens that were incorrectly
  52449. tracked. Only InlineTextBox had to be fixed, the other callsites in eg. RenderBlockLineLayout already
  52450. computed the maximum length correctly - I assured this by valgrind runs on all SVG Font tests.
  52451. * rendering/InlineTextBox.cpp:
  52452. (WebCore::InlineTextBox::paint):
  52453. (WebCore::InlineTextBox::paintSelection):
  52454. (WebCore::InlineTextBox::constructTextRun): Add maximumLength parameter to constructTextRun.
  52455. * rendering/InlineTextBox.h: Ditto.
  52456. 2011-07-12 Antti Koivisto <antti@apple.com>
  52457. didFirstVisuallyNonEmptyLayout dispatched too early
  52458. https://bugs.webkit.org/show_bug.cgi?id=64412
  52459. Reviewed by Darin Adler and Sam Weinig.
  52460. Improve the mechanism that dispatches didFirstVisuallyNonEmptyLayout
  52461. - Wait until a threshold of characters and pixels has been exceeded before dispatching.
  52462. - Wait until stylesheets are loaded (painting is disabled in this case).
  52463. * page/FrameView.cpp:
  52464. (WebCore::FrameView::reset):
  52465. (WebCore::FrameView::performPostLayoutTasks):
  52466. * page/FrameView.h:
  52467. (WebCore::FrameView::incrementVisuallyNonEmptyCharacterCount):
  52468. (WebCore::FrameView::incrementVisuallyNonEmptyPixelCount):
  52469. * rendering/RenderImage.cpp:
  52470. (WebCore::RenderImage::RenderImage):
  52471. (WebCore::RenderImage::imageChanged):
  52472. * rendering/RenderImage.h:
  52473. * rendering/RenderText.cpp:
  52474. (WebCore::RenderText::RenderText):
  52475. 2011-07-12 MORITA Hajime <morrita@google.com>
  52476. [Refactoring][ShadowContentElement] Forwarded node list should be a linked-list.
  52477. https://bugs.webkit.org/show_bug.cgi?id=64252
  52478. Reviewed by Dimitri Glazkov.
  52479. Introduced ShadowInclusionList and ShadowInclusion for maintaining
  52480. forwarded content children. ShadowInclusion is doubly-linked list.
  52481. ShadowContentElement::m_inclusions is replaced by ShadowInclusionList.
  52482. This change is a prepration for bug 64251, which will introduce
  52483. forwarded-children to content-element table.
  52484. No new tests. No behavioral change.
  52485. * dom/NodeRenderingContext.cpp:
  52486. (WebCore::nextRendererOf):
  52487. (WebCore::previousRendererOf):
  52488. (WebCore::firstRendererOf):
  52489. (WebCore::lastRendererOf):
  52490. * dom/ShadowContentElement.cpp:
  52491. (WebCore::ShadowInclusion::append):
  52492. (WebCore::ShadowInclusion::unlink):
  52493. (WebCore::ShadowInclusionList::ShadowInclusionList):
  52494. (WebCore::ShadowInclusionList::~ShadowInclusionList):
  52495. (WebCore::ShadowInclusionList::find):
  52496. (WebCore::ShadowInclusionList::clear):
  52497. (WebCore::ShadowInclusionList::append):
  52498. (WebCore::ShadowContentElement::attach):
  52499. * dom/ShadowContentElement.h:
  52500. (WebCore::ShadowInclusion::includer):
  52501. (WebCore::ShadowInclusion::content):
  52502. (WebCore::ShadowInclusion::next):
  52503. (WebCore::ShadowInclusion::previous):
  52504. (WebCore::ShadowInclusion::ShadowInclusion):
  52505. (WebCore::ShadowInclusion::create):
  52506. (WebCore::ShadowInclusionList::first):
  52507. (WebCore::ShadowInclusionList::last):
  52508. (WebCore::ShadowInclusionList::isEmpty):
  52509. (WebCore::ShadowInclusionList::append):
  52510. (WebCore::ShadowContentElement::inclusions):
  52511. * dom/ShadowContentSelector.cpp:
  52512. (WebCore::ShadowContentSelector::selectInclusion):
  52513. * dom/ShadowContentSelector.h:
  52514. 2011-07-12 David Reveman <reveman@chromium.org>
  52515. [Chromium] Use nearest filter method with pixel aligned transforms.
  52516. https://bugs.webkit.org/show_bug.cgi?id=64338
  52517. Reviewed by James Robinson.
  52518. Check for integer translation and use nearest texture filter when
  52519. possible to avoid filter precisions problems at the layer edges.
  52520. Test: compositing/iframes/nested-iframe-scrolling.html (existing)
  52521. * platform/graphics/chromium/LayerTilerChromium.cpp:
  52522. (WebCore::LayerTilerChromium::drawTiles):
  52523. * platform/graphics/transforms/TransformationMatrix.cpp:
  52524. (WebCore::TransformationMatrix::isIntegerTranslation):
  52525. * platform/graphics/transforms/TransformationMatrix.h:
  52526. 2011-07-12 David Reveman <reveman@chromium.org>
  52527. Removed unnecessary function parameters from TilingData::textureOffset.
  52528. https://bugs.webkit.org/show_bug.cgi?id=64245
  52529. Reviewed by Brent Fulgham.
  52530. No new tests, no functionality changes.
  52531. * platform/graphics/chromium/LayerTilerChromium.cpp:
  52532. (WebCore::LayerTilerChromium::drawTiles):
  52533. * platform/graphics/gpu/TilingData.cpp:
  52534. (WebCore::TilingData::textureOffset):
  52535. * platform/graphics/gpu/TilingData.h:
  52536. 2011-07-12 Ryosuke Niwa <rniwa@webkit.org>
  52537. Move RenderTextControl::indexForVisiblePosition to HTMLTextFormControlElement
  52538. https://bugs.webkit.org/show_bug.cgi?id=64403
  52539. Reviewed by Hajime Morita.
  52540. Moved indexForVisiblePosition from RenderTextControl to HTMLTextFormControlElement.
  52541. Also replaced the call to RenderTextControl::isSelectableElement by a call to enclosingTextFormControl
  52542. (moved from htmlediting to HTMLTextFormControlElement) because we are only interested in checking
  52543. whether the given position is inside the current text form control or not.
  52544. In addition, modernized the code in indexForVisiblePosition by calling parentAnchoredEquivalent on the
  52545. given position and replacing calls to deprecateNode and deprecatedEditingOffset by calls to containerNode
  52546. and offsetInContainer.
  52547. * accessibility/AccessibilityRenderObject.cpp:
  52548. (WebCore::AccessibilityRenderObject::indexForVisiblePosition): Calls indexForVisiblePosition.
  52549. * editing/htmlediting.cpp: Removed enclosingTextFromControl.
  52550. * editing/htmlediting.h: Removed enclosingTextFromControl.
  52551. * html/HTMLTextFormControlElement.cpp:
  52552. (WebCore::HTMLTextFormControlElement::indexForVisiblePosition): Moved from RenderTextControl.
  52553. (WebCore::HTMLTextFormControlElement::computeSelectionStart): Calls indexForVisiblePosition.
  52554. (WebCore::HTMLTextFormControlElement::computeSelectionEnd): Calls indexForVisiblePosition.
  52555. (WebCore::enclosingTextFormControl): Moved from htmlediting.cpp
  52556. * html/HTMLTextFormControlElement.h:
  52557. * rendering/RenderTextControl.cpp:
  52558. * rendering/RenderTextControl.h:
  52559. 2011-07-12 Julien Chaffraix <jchaffraix@webkit.org>
  52560. Make RenderObject::containingBlock virtual for better speed and clarity
  52561. https://bugs.webkit.org/show_bug.cgi?id=64318
  52562. Reviewed by Darin Adler.
  52563. No new tests, performance refactoring.
  52564. On some of my test cases, this method takes between 3 and 5% of the time spend.
  52565. The method makes 2 calls to virtual methods which could be moved to their overriden
  52566. version of containingBlock if we made it virtual.
  52567. That's what this patch does. It saves between 1 and 2% on some synthetic test cases
  52568. as well as made the current method shorter.
  52569. * rendering/RenderObject.cpp:
  52570. (WebCore::RenderObject::containingBlock): Removed code for RenderView and RenderTableCell,
  52571. replaced by ASSERTs.
  52572. * rendering/RenderObject.h: Made containingBlock virtual.
  52573. * rendering/RenderTableCell.h:
  52574. (WebCore::RenderTableCell::containingBlock):
  52575. * rendering/RenderView.h:
  52576. (WebCore::RenderView::containingBlock):
  52577. The code moved from RenderObject is inlined in those 2 methods.
  52578. 2011-07-12 James Robinson <jamesr@chromium.org>
  52579. [chromium] Chromium win build fix.
  52580. * platform/graphics/chromium/FontChromiumWin.cpp:
  52581. (WebCore::drawGlyphsWin):
  52582. 2011-07-12 Pratik Solanki <psolanki@apple.com>
  52583. Get webkit to compile with USE(CFNETWORK) enabled on Mac
  52584. https://bugs.webkit.org/show_bug.cgi?id=63674
  52585. Reviewed by David Kilzer.
  52586. Changes to ResourceHandle class to get it to compile with USE(CFNETWORK).
  52587. No new tests because no change in functionality and option is not enabled on Mac.
  52588. * platform/network/ResourceHandle.h:
  52589. * platform/network/ResourceHandleInternal.h:
  52590. * platform/network/cf/ResourceHandleCFNet.cpp:
  52591. (WebCore::didReceiveResponse):
  52592. (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
  52593. (WebCore::ResourceHandle::start):
  52594. (WebCore::WebCoreSynchronousLoaderClient::willSendRequest): Call adjustMIMETypeIfNecessary
  52595. on Mac. Also port over fix for <rdar://problem/6901522> added in r43993 which forces the
  52596. MIME type to text/html if the request is annotated with a "ForceHTMLMIMEType" property.
  52597. 2011-07-12 James Robinson <jamesr@chromium.org>
  52598. [chromium] Delete the unused legacy accelerated canvas 2d code
  52599. https://bugs.webkit.org/show_bug.cgi?id=64214
  52600. Reviewed by Stephen White.
  52601. This removes the legacy accelerated canvas 2d path and support logic since we (chromium) are no longer using
  52602. this codepath and it seems clear that no other port is interested.
  52603. Refactoring and removing unused code, so no new tests.
  52604. * WebCore.gypi:
  52605. * WebCore.xcodeproj/project.pbxproj:
  52606. * html/canvas/CanvasRenderingContext2D.cpp:
  52607. (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
  52608. (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
  52609. (WebCore::CanvasRenderingContext2D::didDraw):
  52610. * html/canvas/CanvasRenderingContext2D.h:
  52611. * loader/EmptyClients.h:
  52612. * page/ChromeClient.h:
  52613. * page/Page.cpp:
  52614. (WebCore::Page::sharedGraphicsContext3D):
  52615. * page/Page.h:
  52616. * platform/graphics/GraphicsContext.cpp:
  52617. (WebCore::GraphicsContext::setSharedGraphicsContext3D):
  52618. (WebCore::GraphicsContext::syncSoftwareCanvas):
  52619. * platform/graphics/GraphicsContext.h:
  52620. * platform/graphics/GraphicsContext3D.h:
  52621. * platform/graphics/chromium/DrawingBufferChromium.cpp:
  52622. (WebCore::DrawingBuffer::setGrContext):
  52623. * platform/graphics/chromium/FontLinux.cpp:
  52624. (WebCore::Font::drawGlyphs):
  52625. * platform/graphics/chromium/cc/CCLayerSorter.cpp:
  52626. (WebCore::pointInTriangle):
  52627. * platform/graphics/gpu/BicubicShader.cpp: Removed.
  52628. * platform/graphics/gpu/BicubicShader.h: Removed.
  52629. * platform/graphics/gpu/ConvolutionShader.cpp: Removed.
  52630. * platform/graphics/gpu/ConvolutionShader.h: Removed.
  52631. * platform/graphics/gpu/GraphicsContextGPU.cpp: Removed.
  52632. * platform/graphics/gpu/GraphicsContextGPU.h: Removed.
  52633. * platform/graphics/gpu/SharedGraphicsContext3D.cpp: Removed.
  52634. * platform/graphics/gpu/SharedGraphicsContext3D.h: Removed.
  52635. * platform/graphics/gpu/SolidFillShader.cpp: Removed.
  52636. * platform/graphics/gpu/SolidFillShader.h: Removed.
  52637. * platform/graphics/gpu/TexShader.cpp: Removed.
  52638. * platform/graphics/gpu/TexShader.h: Removed.
  52639. * platform/graphics/skia/GraphicsContextSkia.cpp:
  52640. (WebCore::GraphicsContext::savePlatformState):
  52641. (WebCore::GraphicsContext::restorePlatformState):
  52642. (WebCore::GraphicsContext::addInnerRoundedRectClip):
  52643. (WebCore::GraphicsContext::clearRect):
  52644. (WebCore::GraphicsContext::clip):
  52645. (WebCore::GraphicsContext::canvasClip):
  52646. (WebCore::GraphicsContext::clipOut):
  52647. (WebCore::GraphicsContext::clipPath):
  52648. (WebCore::GraphicsContext::concatCTM):
  52649. (WebCore::GraphicsContext::setCTM):
  52650. (WebCore::GraphicsContext::drawConvexPolygon):
  52651. (WebCore::GraphicsContext::drawEllipse):
  52652. (WebCore::GraphicsContext::drawFocusRing):
  52653. (WebCore::GraphicsContext::drawLine):
  52654. (WebCore::GraphicsContext::drawLineForTextChecking):
  52655. (WebCore::GraphicsContext::drawLineForText):
  52656. (WebCore::GraphicsContext::drawRect):
  52657. (WebCore::GraphicsContext::fillPath):
  52658. (WebCore::GraphicsContext::fillRect):
  52659. (WebCore::GraphicsContext::fillRoundedRect):
  52660. (WebCore::GraphicsContext::scale):
  52661. (WebCore::GraphicsContext::setAlpha):
  52662. (WebCore::GraphicsContext::setPlatformCompositeOperation):
  52663. (WebCore::GraphicsContext::setPlatformFillColor):
  52664. (WebCore::GraphicsContext::setPlatformShadow):
  52665. (WebCore::GraphicsContext::strokeArc):
  52666. (WebCore::GraphicsContext::strokePath):
  52667. (WebCore::GraphicsContext::strokeRect):
  52668. (WebCore::GraphicsContext::rotate):
  52669. (WebCore::GraphicsContext::translate):
  52670. (WebCore::GraphicsContext::setSharedGraphicsContext3D):
  52671. (WebCore::GraphicsContext::syncSoftwareCanvas):
  52672. * platform/graphics/skia/ImageBufferSkia.cpp:
  52673. (WebCore::ImageBuffer::copyImage):
  52674. (WebCore::ImageBuffer::draw):
  52675. (WebCore::ImageBuffer::getUnmultipliedImageData):
  52676. (WebCore::ImageBuffer::getPremultipliedImageData):
  52677. (WebCore::ImageBuffer::putUnmultipliedImageData):
  52678. (WebCore::ImageBuffer::putPremultipliedImageData):
  52679. * platform/graphics/skia/ImageSkia.cpp:
  52680. (WebCore::BitmapImage::draw):
  52681. (WebCore::BitmapImageSingleFrameSkia::draw):
  52682. * platform/graphics/skia/NativeImageSkia.cpp:
  52683. (WebCore::NativeImageSkia::~NativeImageSkia):
  52684. * platform/graphics/skia/PlatformContextSkia.cpp:
  52685. (WebCore::PlatformContextSkia::PlatformContextSkia):
  52686. (WebCore::PlatformContextSkia::~PlatformContextSkia):
  52687. (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
  52688. (WebCore::PlatformContextSkia::makeGrContextCurrent):
  52689. * platform/graphics/skia/PlatformContextSkia.h:
  52690. 2011-07-12 Emil A Eklund <eae@chromium.org>
  52691. Switch InlineFlowBox to to new layout types
  52692. https://bugs.webkit.org/show_bug.cgi?id=64399
  52693. Reviewed by Eric Seidel.
  52694. First step in moving floats over to the new layout abstraction.
  52695. No new tests, no new functionality.
  52696. * rendering/InlineBox.cpp:
  52697. (WebCore::InlineBox::logicalHeight):
  52698. * rendering/InlineBox.h:
  52699. (WebCore::InlineBox::logicalTop):
  52700. (WebCore::InlineBox::logicalBottom):
  52701. (WebCore::InlineBox::setLogicalTop):
  52702. * rendering/InlineFlowBox.cpp:
  52703. (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
  52704. (WebCore::InlineFlowBox::computeLogicalBoxHeights):
  52705. (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
  52706. (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
  52707. (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
  52708. (WebCore::InlineFlowBox::addReplacedChildOverflow):
  52709. (WebCore::InlineFlowBox::constrainToLineTopAndBottomIfNeeded):
  52710. (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
  52711. (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
  52712. * rendering/InlineFlowBox.h:
  52713. * rendering/RenderBlock.cpp:
  52714. (WebCore::RenderBlock::logicalRightSelectionGap):
  52715. * rendering/RenderBlock.h:
  52716. * rendering/RootInlineBox.cpp:
  52717. (WebCore::RootInlineBox::alignBoxesInBlockDirection):
  52718. (WebCore::RootInlineBox::lineSelectionGap):
  52719. (WebCore::RootInlineBox::ascentAndDescentForBox):
  52720. (WebCore::RootInlineBox::verticalPositionForBox):
  52721. * rendering/RootInlineBox.h:
  52722. * rendering/style/RenderStyle.cpp:
  52723. (WebCore::RenderStyle::getShadowExtent):
  52724. (WebCore::RenderStyle::getShadowHorizontalExtent):
  52725. (WebCore::RenderStyle::getShadowVerticalExtent):
  52726. * rendering/style/RenderStyle.h:
  52727. (WebCore::InheritedFlags::getTextShadowExtent):
  52728. (WebCore::InheritedFlags::getTextShadowHorizontalExtent):
  52729. (WebCore::InheritedFlags::getTextShadowVerticalExtent):
  52730. (WebCore::InheritedFlags::getTextShadowInlineDirectionExtent):
  52731. (WebCore::InheritedFlags::getTextShadowBlockDirectionExtent):
  52732. (WebCore::InheritedFlags::getBoxShadowExtent):
  52733. (WebCore::InheritedFlags::getBoxShadowHorizontalExtent):
  52734. (WebCore::InheritedFlags::getBoxShadowVerticalExtent):
  52735. (WebCore::InheritedFlags::getBoxShadowInlineDirectionExtent):
  52736. (WebCore::InheritedFlags::getBoxShadowBlockDirectionExtent):
  52737. (WebCore::InheritedFlags::getShadowInlineDirectionExtent):
  52738. (WebCore::InheritedFlags::getShadowBlockDirectionExtent):
  52739. * rendering/style/ShadowData.cpp:
  52740. (WebCore::calculateShadowExtent):
  52741. (WebCore::ShadowData::adjustRectForShadow):
  52742. * rendering/style/ShadowData.h:
  52743. (WebCore::ShadowData::ShadowData):
  52744. (WebCore::ShadowData::x):
  52745. (WebCore::ShadowData::y):
  52746. 2011-07-12 Kenichi Ishibashi <bashi@chromium.org>
  52747. [Chromium] SVG text is not rendered sometimes with geometricPrecision
  52748. https://bugs.webkit.org/show_bug.cgi?id=64341
  52749. Changing the type of x and y offsets of ComplexTextControllerLinux to make it possible to treat negative offsets.
  52750. Reviewed by Tony Chang.
  52751. Test: platform/chromium-linux/svg/text/text-with-geometric-precision.svg
  52752. * platform/graphics/chromium/ComplexTextControllerLinux.cpp: Changed the type of m_offsetX and m_startingY from unsigned to int.
  52753. (WebCore::ComplexTextController::ComplexTextController): Changed the type of the argument.
  52754. (WebCore::ComplexTextController::reset): Ditto.
  52755. * platform/graphics/chromium/ComplexTextControllerLinux.h:
  52756. 2011-07-12 Alexandru Chiculita <achicu@adobe.com>
  52757. Reviewed by David Hyatt.
  52758. [CSS Exclusions] Parse wrap-shape property
  52759. https://bugs.webkit.org/show_bug.cgi?id=61726
  52760. Parsing wrap-shape: rect, circle, ellipse and polygon.
  52761. Moved WindRule from Path.h to it's own file.
  52762. Test: fast/exclusions/parsing-wrap-shape.html
  52763. * WebCore.vcproj/WebCore.vcproj:
  52764. * WebCore.xcodeproj/project.pbxproj:
  52765. * css/CSSComputedStyleDeclaration.cpp:
  52766. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  52767. * css/CSSParser.cpp:
  52768. (WebCore::CSSParser::parseValue):
  52769. (WebCore::CSSParser::parseWrapShapeRect):
  52770. (WebCore::CSSParser::parseWrapShapeCircle):
  52771. (WebCore::CSSParser::parseWrapShapeEllipse):
  52772. (WebCore::CSSParser::parseWrapShapePolygon):
  52773. (WebCore::CSSParser::parseWrapShape):
  52774. * css/CSSParser.h:
  52775. * css/CSSPrimitiveValue.cpp:
  52776. (WebCore::CSSPrimitiveValue::init):
  52777. (WebCore::CSSPrimitiveValue::cleanup):
  52778. (WebCore::CSSPrimitiveValue::cssText):
  52779. * css/CSSPrimitiveValue.h:
  52780. (WebCore::CSSPrimitiveValue::getShapeValue):
  52781. * css/CSSPropertyNames.in:
  52782. * css/CSSStyleSelector.cpp:
  52783. (WebCore::CSSStyleSelector::applyProperty):
  52784. * css/CSSValueKeywords.in:
  52785. * css/CSSWrapShapes.cpp: Added.
  52786. (WebCore::CSSWrapShapeRect::cssText):
  52787. (WebCore::CSSWrapShapeCircle::cssText):
  52788. (WebCore::CSSWrapShapeEllipse::cssText):
  52789. (WebCore::CSSWrapShapePolygon::cssText):
  52790. * css/CSSWrapShapes.h: Added.
  52791. (WebCore::CSSWrapShape::~CSSWrapShape):
  52792. (WebCore::CSSWrapShape::CSSWrapShape):
  52793. (WebCore::CSSWrapShapeRect::create):
  52794. (WebCore::CSSWrapShapeRect::left):
  52795. (WebCore::CSSWrapShapeRect::top):
  52796. (WebCore::CSSWrapShapeRect::width):
  52797. (WebCore::CSSWrapShapeRect::height):
  52798. (WebCore::CSSWrapShapeRect::radiusX):
  52799. (WebCore::CSSWrapShapeRect::radiusY):
  52800. (WebCore::CSSWrapShapeRect::setLeft):
  52801. (WebCore::CSSWrapShapeRect::setTop):
  52802. (WebCore::CSSWrapShapeRect::setWidth):
  52803. (WebCore::CSSWrapShapeRect::setHeight):
  52804. (WebCore::CSSWrapShapeRect::setRadiusX):
  52805. (WebCore::CSSWrapShapeRect::setRadiusY):
  52806. (WebCore::CSSWrapShapeRect::type):
  52807. (WebCore::CSSWrapShapeRect::CSSWrapShapeRect):
  52808. (WebCore::CSSWrapShapeCircle::create):
  52809. (WebCore::CSSWrapShapeCircle::left):
  52810. (WebCore::CSSWrapShapeCircle::top):
  52811. (WebCore::CSSWrapShapeCircle::radius):
  52812. (WebCore::CSSWrapShapeCircle::setLeft):
  52813. (WebCore::CSSWrapShapeCircle::setTop):
  52814. (WebCore::CSSWrapShapeCircle::setRadius):
  52815. (WebCore::CSSWrapShapeCircle::type):
  52816. (WebCore::CSSWrapShapeCircle::CSSWrapShapeCircle):
  52817. (WebCore::CSSWrapShapeEllipse::create):
  52818. (WebCore::CSSWrapShapeEllipse::left):
  52819. (WebCore::CSSWrapShapeEllipse::top):
  52820. (WebCore::CSSWrapShapeEllipse::radiusX):
  52821. (WebCore::CSSWrapShapeEllipse::radiusY):
  52822. (WebCore::CSSWrapShapeEllipse::setLeft):
  52823. (WebCore::CSSWrapShapeEllipse::setTop):
  52824. (WebCore::CSSWrapShapeEllipse::setRadiusX):
  52825. (WebCore::CSSWrapShapeEllipse::setRadiusY):
  52826. (WebCore::CSSWrapShapeEllipse::type):
  52827. (WebCore::CSSWrapShapeEllipse::CSSWrapShapeEllipse):
  52828. (WebCore::CSSWrapShapePolygon::create):
  52829. (WebCore::CSSWrapShapePolygon::appendPoint):
  52830. (WebCore::CSSWrapShapePolygon::getXAt):
  52831. (WebCore::CSSWrapShapePolygon::getYAt):
  52832. (WebCore::CSSWrapShapePolygon::setWindRule):
  52833. (WebCore::CSSWrapShapePolygon::windRule):
  52834. (WebCore::CSSWrapShapePolygon::type):
  52835. (WebCore::CSSWrapShapePolygon::CSSWrapShapePolygon):
  52836. * css/SVGCSSValueKeywords.in:
  52837. * platform/graphics/Path.h:
  52838. * platform/graphics/WindRule.h: Added.
  52839. * rendering/style/RenderStyle.cpp:
  52840. (WebCore::RenderStyle::diff):
  52841. * rendering/style/RenderStyle.h:
  52842. (WebCore::InheritedFlags::setWrapShape):
  52843. (WebCore::InheritedFlags::wrapShape):
  52844. (WebCore::InheritedFlags::initialWrapShape):
  52845. * rendering/style/StyleRareNonInheritedData.cpp:
  52846. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  52847. (WebCore::StyleRareNonInheritedData::operator==):
  52848. * rendering/style/StyleRareNonInheritedData.h:
  52849. 2011-07-12 Simon Fraser <simon.fraser@apple.com>
  52850. Clean up some RenderLayerCompositor code relating to scroll and root layers
  52851. https://bugs.webkit.org/show_bug.cgi?id=64400
  52852. Reviewed by James Robinson.
  52853. There was no need for FrameView::syncCompositingStateForThisFrame()
  52854. to call syncCompositingStateForThisLayerOnly() on the various
  52855. scrollbar-related layers, because the subsequent call to
  52856. compositor()->flushPendingLayerChanges() starts to flush at
  52857. m_overflowControlsHostLayer if one exists, and it's an ancestor
  52858. of the scrollbar layers.
  52859. Also clean up terminology in RenderLayerCompositor.
  52860. m_rootPlatformLayer -> m_rootContentLayer
  52861. rootPlatformLayer() -> rootGraphicsLayer()
  52862. No behavior change, so no new tests.
  52863. * page/FrameView.cpp:
  52864. (WebCore::FrameView::syncCompositingStateForThisFrame):
  52865. * rendering/RenderLayerCompositor.cpp:
  52866. (WebCore::RenderLayerCompositor::enableCompositingMode):
  52867. (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
  52868. (WebCore::RenderLayerCompositor::updateCompositingLayers):
  52869. (WebCore::RenderLayerCompositor::layerTreeAsText):
  52870. (WebCore::RenderLayerCompositor::parentFrameContentLayers):
  52871. (WebCore::RenderLayerCompositor::rootGraphicsLayer):
  52872. (WebCore::RenderLayerCompositor::didMoveOnscreen):
  52873. (WebCore::RenderLayerCompositor::willMoveOffscreen):
  52874. (WebCore::RenderLayerCompositor::updateRootLayerPosition):
  52875. (WebCore::RenderLayerCompositor::ensureRootLayer):
  52876. (WebCore::RenderLayerCompositor::destroyRootLayer):
  52877. (WebCore::RenderLayerCompositor::attachRootLayer):
  52878. (WebCore::RenderLayerCompositor::detachRootLayer):
  52879. (WebCore::RenderLayerCompositor::updateRootLayerAttachment):
  52880. * rendering/RenderLayerCompositor.h:
  52881. 2011-07-12 Sheriff Bot <webkit.review.bot@gmail.com>
  52882. Unreviewed, rolling out r90842.
  52883. http://trac.webkit.org/changeset/90842
  52884. https://bugs.webkit.org/show_bug.cgi?id=64401
  52885. Causes crash in debug on compositing/overflow/content-gains-
  52886. scrollbars.html (Requested by jamesr on #webkit).
  52887. * WebCore.gypi:
  52888. * platform/graphics/chromium/ContentLayerChromium.cpp:
  52889. (WebCore::ContentLayerChromium::ContentLayerChromium):
  52890. (WebCore::ContentLayerChromium::paintContentsIfDirty):
  52891. (WebCore::ContentLayerChromium::cleanupResources):
  52892. (WebCore::ContentLayerChromium::setLayerRenderer):
  52893. (WebCore::ContentLayerChromium::tilingTransform):
  52894. (WebCore::ContentLayerChromium::contentBounds):
  52895. (WebCore::ContentLayerChromium::updateLayerSize):
  52896. (WebCore::ContentLayerChromium::draw):
  52897. (WebCore::ContentLayerChromium::drawsContent):
  52898. (WebCore::ContentLayerChromium::createTilerIfNeeded):
  52899. (WebCore::ContentLayerChromium::updateCompositorResources):
  52900. (WebCore::ContentLayerChromium::setTilingOption):
  52901. (WebCore::ContentLayerChromium::bindContentsTexture):
  52902. (WebCore::ContentLayerChromium::setIsMask):
  52903. (WebCore::writeIndent):
  52904. (WebCore::ContentLayerChromium::dumpLayerProperties):
  52905. * platform/graphics/chromium/ContentLayerChromium.h:
  52906. * platform/graphics/chromium/ImageLayerChromium.cpp:
  52907. (WebCore::ImageLayerChromium::ImageLayerChromium):
  52908. (WebCore::ImageLayerChromium::paintContentsIfDirty):
  52909. (WebCore::ImageLayerChromium::updateCompositorResources):
  52910. (WebCore::ImageLayerChromium::contentBounds):
  52911. * platform/graphics/chromium/ImageLayerChromium.h:
  52912. (WebCore::ImageLayerChromium::drawsContent):
  52913. * platform/graphics/chromium/LayerChromium.cpp:
  52914. (WebCore::LayerChromium::pushPropertiesTo):
  52915. (WebCore::LayerChromium::ccLayerImpl):
  52916. * platform/graphics/chromium/LayerChromium.h:
  52917. (WebCore::LayerChromium::draw):
  52918. * platform/graphics/chromium/LayerRendererChromium.cpp:
  52919. (WebCore::LayerRendererChromium::drawRootLayer):
  52920. * platform/graphics/chromium/LayerTilerChromium.cpp:
  52921. (WebCore::LayerTilerChromium::updateRect):
  52922. (WebCore::LayerTilerChromium::draw):
  52923. (WebCore::LayerTilerChromium::drawTiles):
  52924. * platform/graphics/chromium/LayerTilerChromium.h:
  52925. * platform/graphics/chromium/TiledLayerChromium.cpp: Removed.
  52926. * platform/graphics/chromium/TiledLayerChromium.h: Removed.
  52927. * platform/graphics/chromium/cc/CCLayerImpl.cpp:
  52928. (WebCore::CCLayerImpl::drawsContent):
  52929. (WebCore::CCLayerImpl::draw):
  52930. * platform/graphics/chromium/cc/CCLayerImpl.h:
  52931. * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Removed.
  52932. * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Removed.
  52933. 2011-07-12 Joseph Pecoraro <joepeck@webkit.org>
  52934. ApplicationCache update should not immediately fail when reaching per-origin quota
  52935. https://bugs.webkit.org/show_bug.cgi?id=64177
  52936. Reviewed by Alexey Proskuryakov.
  52937. New behavior of handling ApplicationCache per-origin quotas. Previously,
  52938. if the quota was reached while downloading we would fail the download
  52939. and then prompt the user for a storage increase. This required a refresh,
  52940. a redownload of resources, and the total storage was not known so the
  52941. process could be repeated multiple times before an acceptable quota
  52942. was found or the user disallowed an increase.
  52943. The new behavior is to complete the download of the entire appcache.
  52944. When the cache completes downloading and it is greater than the origin
  52945. quota, prompt the user to allow a quota increase with the known space
  52946. needed. If the quota is increased, the cache will succeed, otherwise
  52947. it will fail with the normal failure steps.
  52948. An alternative behavior is prompting while downloading immediately
  52949. when the origin quota is reached, however at that point the entire
  52950. space needed is unknown and so quota increases might not be enough
  52951. and could result in multiple prompts to the user.
  52952. Tests: http/tests/appcache/origin-quota-continued-download-multiple-manifests.html
  52953. http/tests/appcache/origin-quota-continued-download.html
  52954. * loader/appcache/ApplicationCacheGroup.h:
  52955. * loader/appcache/ApplicationCacheGroup.cpp:
  52956. (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
  52957. Rename instance variable to be more clear on its intent.
  52958. (WebCore::ApplicationCacheGroup::didFinishLoading):
  52959. Check the quota limit while downloading so we can fail early
  52960. if the user already denied a quota increase.
  52961. (WebCore::ApplicationCacheGroup::didReachOriginQuota):
  52962. Pass the space needed information to the chrome client.
  52963. (WebCore::ApplicationCacheGroup::cacheUpdateFailedDueToOriginQuota):
  52964. Removed. Instead convert the callers to update state and console
  52965. log when the per-origin quota is reached. This allows us to follow
  52966. the normal failure steps if the quota is reached at the end of a
  52967. download, and the alternative short path when we fail during downloading.
  52968. (WebCore::ApplicationCacheGroup::recalculateAvailableSpaceInQuota):
  52969. Extract to a helper function.
  52970. (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
  52971. Allow for a quota increase at the end of the download now that
  52972. we know the space needed. Then proceed to fail or succeed
  52973. as we normally would.
  52974. * loader/appcache/ApplicationCacheStorage.h:
  52975. * loader/appcache/ApplicationCacheStorage.cpp:
  52976. (WebCore::ApplicationCacheStorage::checkOriginQuota):
  52977. (WebCore::ApplicationCacheStorage::storeNewestCache):
  52978. Extract checking the origin quota for when an ApplicationCacheGroup
  52979. will be replacing an ApplicationCacheGroup into a helper function.
  52980. The helper also provides an out parameter for the space needed
  52981. to properly fit the new cache group if it wouldn't fit.
  52982. * page/ChromeClient.h:
  52983. * loader/EmptyClients.h:
  52984. (WebCore::EmptyChromeClient::reachedApplicationCacheOriginQuota):
  52985. Add a space needed parameter when reaching the per-origin quota.
  52986. 2011-07-12 Chris Rogers <crogers@google.com>
  52987. AudioDevice::Stop can close NULL handle.
  52988. https://bugs.webkit.org/show_bug.cgi?id=64157
  52989. Reviewed by Kenneth Russell.
  52990. No new tests since audio API is not yet implemented.
  52991. * bindings/js/JSAudioContextCustom.cpp:
  52992. (WebCore::JSAudioContextConstructor::constructJSAudioContext):
  52993. * bindings/v8/custom/V8AudioContextCustom.cpp:
  52994. (WebCore::V8AudioContext::constructorCallback):
  52995. * webaudio/AudioContext.cpp:
  52996. (WebCore::AudioContext::create):
  52997. (WebCore::AudioContext::uninitialize):
  52998. * webaudio/AudioContext.h:
  52999. 2011-07-12 John Bates <jbates@google.com>
  53000. Move call to syncCompositingLayers so that we do not trigger redundant draws.
  53001. https://bugs.webkit.org/show_bug.cgi?id=64224
  53002. doComposite was triggering two composites every time a canvas was dirtied.
  53003. By moving syncCompositingLayers call to layout, the client code can draw without triggering
  53004. a redundant frame. Also renamed WebViewImpl::updateLayers to
  53005. syncCompositingLayers, because it was confusing. CCLayerTreeHostImplProxy::updateLayers was
  53006. no longer needed, because animateAndLayout calls WebViewImpl::layout.
  53007. Reviewed by James Robinson.
  53008. * platform/graphics/chromium/LayerRendererChromium.cpp:
  53009. (WebCore::LayerRendererChromium::updateLayers):
  53010. * platform/graphics/chromium/LayerRendererChromium.h:
  53011. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
  53012. (WebCore::CCLayerTreeHost::syncCompositingLayers):
  53013. * platform/graphics/chromium/cc/CCLayerTreeHost.h:
  53014. * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
  53015. (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommit):
  53016. 2011-07-12 Ryosuke Niwa <rniwa@webkit.org>
  53017. Isolate HTMLTextFormControlElement into a separate file
  53018. https://bugs.webkit.org/show_bug.cgi?id=64381
  53019. Reviewed by Dimitri Glazkov.
  53020. Extracted HTMLTextFormControlElement.h and HTMLTextFormControlElement.cpp out of
  53021. HTMLFormControlElement.h and HTMLFormControlElement.cpp.
  53022. Also moved defaultEventHandler from HTMLFormControlElementWithState to HTMLTextFormControlElement
  53023. because it was specific to HTMLTextFormControlElement, and replaced all references to
  53024. HTMLFormControlElementWithState in HTMLInputElement and HTMLTextAreaElement by ones to
  53025. HTMLTextFormControlElement.
  53026. * CMakeLists.txt:
  53027. * GNUmakefile.list.am:
  53028. * WebCore.gypi:
  53029. * WebCore.pro:
  53030. * WebCore.vcproj/WebCore.vcproj:
  53031. * WebCore.xcodeproj/project.pbxproj:
  53032. * editing/TextIterator.cpp:
  53033. * editing/htmlediting.cpp:
  53034. * html/HTMLElementsAllInOne.cpp:
  53035. * html/HTMLFormControlElement.cpp:
  53036. (WebCore::HTMLFormControlElement::isFocusable):
  53037. * html/HTMLFormControlElement.h:
  53038. * html/HTMLInputElement.cpp:
  53039. (WebCore::HTMLInputElement::isKeyboardFocusable):
  53040. (WebCore::HTMLInputElement::isMouseFocusable):
  53041. (WebCore::HTMLInputElement::updateFocusAppearance):
  53042. (WebCore::HTMLInputElement::canStartSelection):
  53043. (WebCore::HTMLInputElement::parseMappedAttribute):
  53044. (WebCore::HTMLInputElement::finishParsingChildren):
  53045. (WebCore::HTMLInputElement::rendererIsNeeded):
  53046. (WebCore::HTMLInputElement::attach):
  53047. (WebCore::HTMLInputElement::detach):
  53048. (WebCore::HTMLInputElement::copyNonAttributeProperties):
  53049. (WebCore::HTMLInputElement::defaultEventHandler):
  53050. (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
  53051. (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
  53052. (WebCore::HTMLInputElement::addSubresourceAttributeURLs):
  53053. (WebCore::HTMLInputElement::recalcWillValidate):
  53054. * html/HTMLInputElement.h:
  53055. * html/HTMLTextAreaElement.cpp:
  53056. (WebCore::HTMLTextAreaElement::defaultEventHandler):
  53057. * html/HTMLTextAreaElement.h:
  53058. * html/HTMLTextFormControlElement.cpp: Copied from Source/WebCore/html/HTMLFormControlElement.cpp.
  53059. (WebCore::HTMLTextFormControlElement::defaultEventHandler):
  53060. * html/HTMLTextFormControlElement.h: Copied from Source/WebCore/html/HTMLFormControlElement.h.
  53061. 2011-07-12 Sheriff Bot <webkit.review.bot@gmail.com>
  53062. Unreviewed, rolling out r90831.
  53063. http://trac.webkit.org/changeset/90831
  53064. https://bugs.webkit.org/show_bug.cgi?id=64389
  53065. Likely caused fast/canvas/DrawImageSinglePixelStretch.html to
  53066. start timing out on the chromium GPU bots (Requested by ojan
  53067. on #webkit).
  53068. * platform/graphics/skia/ImageBufferSkia.cpp:
  53069. (WebCore::getImageData):
  53070. (WebCore::putImageData):
  53071. 2011-07-12 James Robinson <jamesr@chromium.org>
  53072. Reviewed by Kenneth Russell.
  53073. [chromium] Move draw implementation for ContentLayerChromium/ImageLayerChromium to the appropriate CCLayerImpl subclass
  53074. https://bugs.webkit.org/show_bug.cgi?id=58833
  53075. Adds a TiledLayerChromium class to handle the tiling logic shared by ContentLayerChromium and ImageLayerChromium
  53076. so that they can be siblings in the class hierarchy instead of children. Also adds a CCTiledLayerImpl to handle
  53077. the drawing responsibilities for tiled layers.
  53078. TiledLayerChromium maintains a tiler, tiling options, and calculates the tiling transform. Subclasses are
  53079. responsible for providing an appropriate texture updater implementation. CCTiledLayerImpl takes the tiler,
  53080. tiling transform and layer properties and draws the layer. Longer term it'd be better of the CCTiledLayerImpl
  53081. owned the tiler and the TiledLayerChromium only owned an updater, but getting there will require changing the
  53082. way tile eviction works.
  53083. * WebCore.gypi:
  53084. * platform/graphics/chromium/ContentLayerChromium.cpp:
  53085. (WebCore::ContentLayerChromium::ContentLayerChromium):
  53086. (WebCore::ContentLayerChromium::paintContentsIfDirty):
  53087. (WebCore::ContentLayerChromium::drawsContent):
  53088. * platform/graphics/chromium/ContentLayerChromium.h:
  53089. (WebCore::ContentLayerChromium::textureUpdater):
  53090. * platform/graphics/chromium/ImageLayerChromium.cpp:
  53091. (WebCore::ImageLayerChromium::ImageLayerChromium):
  53092. (WebCore::ImageLayerChromium::cleanupResources):
  53093. (WebCore::ImageLayerChromium::paintContentsIfDirty):
  53094. (WebCore::ImageLayerChromium::textureUpdater):
  53095. (WebCore::ImageLayerChromium::contentBounds):
  53096. (WebCore::ImageLayerChromium::drawsContent):
  53097. (WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):
  53098. * platform/graphics/chromium/ImageLayerChromium.h:
  53099. * platform/graphics/chromium/LayerChromium.cpp:
  53100. (WebCore::LayerChromium::pushPropertiesTo):
  53101. (WebCore::LayerChromium::ccLayerImpl):
  53102. * platform/graphics/chromium/LayerChromium.h:
  53103. (WebCore::LayerChromium::contentBounds):
  53104. * platform/graphics/chromium/LayerRendererChromium.cpp:
  53105. (WebCore::LayerRendererChromium::drawRootLayer):
  53106. (WebCore::visibleLayerRect):
  53107. (WebCore::paintLayerContentsIfDirty):
  53108. (WebCore::LayerRendererChromium::paintLayerContents):
  53109. (WebCore::LayerRendererChromium::drawLayer):
  53110. * platform/graphics/chromium/LayerTilerChromium.cpp:
  53111. (WebCore::LayerTilerChromium::updateRect):
  53112. (WebCore::LayerTilerChromium::draw):
  53113. (WebCore::LayerTilerChromium::drawTiles):
  53114. * platform/graphics/chromium/LayerTilerChromium.h:
  53115. * platform/graphics/chromium/TiledLayerChromium.cpp: Added.
  53116. (WebCore::TiledLayerChromium::TiledLayerChromium):
  53117. (WebCore::TiledLayerChromium::~TiledLayerChromium):
  53118. (WebCore::TiledLayerChromium::createCCLayerImpl):
  53119. (WebCore::TiledLayerChromium::cleanupResources):
  53120. (WebCore::TiledLayerChromium::setLayerRenderer):
  53121. (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
  53122. (WebCore::TiledLayerChromium::drawsContent):
  53123. (WebCore::TiledLayerChromium::createTilerIfNeeded):
  53124. (WebCore::TiledLayerChromium::updateCompositorResources):
  53125. (WebCore::TiledLayerChromium::setTilingOption):
  53126. (WebCore::TiledLayerChromium::setIsMask):
  53127. (WebCore::TiledLayerChromium::tilingTransform):
  53128. (WebCore::TiledLayerChromium::pushPropertiesTo):
  53129. (WebCore::writeIndent):
  53130. (WebCore::TiledLayerChromium::dumpLayerProperties):
  53131. * platform/graphics/chromium/TiledLayerChromium.h: Copied from Source/WebCore/platform/graphics/chromium/ContentLayerChromium.h.
  53132. * platform/graphics/chromium/cc/CCLayerImpl.cpp:
  53133. (WebCore::CCLayerImpl::draw):
  53134. * platform/graphics/chromium/cc/CCLayerImpl.h:
  53135. (WebCore::CCLayerImpl::setDrawsContent):
  53136. (WebCore::CCLayerImpl::drawsContent):
  53137. (WebCore::CCLayerImpl::contentBounds):
  53138. (WebCore::CCLayerImpl::setContentBounds):
  53139. (WebCore::CCLayerImpl::doubleSided):
  53140. (WebCore::CCLayerImpl::setDoubleSided):
  53141. * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Added.
  53142. (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
  53143. (WebCore::CCTiledLayerImpl::~CCTiledLayerImpl):
  53144. (WebCore::CCTiledLayerImpl::draw):
  53145. (WebCore::CCTiledLayerImpl::bindContentsTexture):
  53146. (WebCore::CCTiledLayerImpl::dumpLayerProperties):
  53147. * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Added.
  53148. (WebCore::CCTiledLayerImpl::create):
  53149. (WebCore::CCTiledLayerImpl::setTilingTransform):
  53150. (WebCore::CCTiledLayerImpl::setTiler):
  53151. 2011-07-12 Arno Renevier <arno@renevier.net>
  53152. [GTK] DOM bindings do not have gir annotations
  53153. https://bugs.webkit.org/show_bug.cgi?id=45395
  53154. Reviewed by Xan Lopez.
  53155. * bindings/scripts/CodeGeneratorGObject.pm: generate introspection annotations.
  53156. * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: update for new output.
  53157. * bindings/scripts/test/GObject/WebKitDOMTestObj.h: ditto.
  53158. * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h: ditto.
  53159. 2011-07-12 Chris Rogers <crogers@google.com>
  53160. webkitAudioContext does not do proper sanity checking on its arguments.
  53161. https://bugs.webkit.org/show_bug.cgi?id=64076
  53162. Reviewed by Kenneth Russell.
  53163. No new tests since audio API is not yet implemented.
  53164. * bindings/js/JSAudioContextCustom.cpp:
  53165. (WebCore::JSAudioContextConstructor::constructJSAudioContext):
  53166. (WebCore::JSAudioContext::createBuffer):
  53167. * bindings/v8/custom/V8AudioContextCustom.cpp:
  53168. (WebCore::V8AudioContext::constructorCallback):
  53169. (WebCore::V8AudioContext::createBufferCallback):
  53170. * platform/audio/HRTFDatabaseLoader.h:
  53171. (WebCore::HRTFDatabaseLoader::databaseSampleRate):
  53172. * webaudio/AudioContext.cpp:
  53173. (WebCore::AudioContext::create):
  53174. (WebCore::AudioContext::createOfflineContext):
  53175. (WebCore::AudioContext::createBuffer):
  53176. * webaudio/AudioContext.h:
  53177. 2011-07-12 Pratik Solanki <psolanki@apple.com>
  53178. Implement didReceiveDataArray callback for CFNetwork based loader
  53179. https://bugs.webkit.org/show_bug.cgi?id=64130
  53180. Reviewed by David Kilzer.
  53181. Factor out the didReceiveDataArray code from ResourceHandleMac.mm into
  53182. a new method ResourceHandle::handleDataArray(). Implement the callback
  53183. in the CFNetwork loader code and call handleDataArray() to process
  53184. incoming data.
  53185. No new tests because the flag is not enabled for any bots.
  53186. * platform/network/ResourceHandle.h:
  53187. * platform/network/cf/ResourceHandleCFNet.cpp:
  53188. (WebCore::didReceiveDataArray):
  53189. (WebCore::ResourceHandle::createCFURLConnection):
  53190. (WebCore::ResourceHandle::handleDataArray):
  53191. * platform/network/mac/ResourceHandleMac.mm:
  53192. (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]):
  53193. 2011-07-12 Emil A Eklund <eae@chromium.org>
  53194. Switch preferred width/height and columns to to new layout types
  53195. https://bugs.webkit.org/show_bug.cgi?id=64329
  53196. Reviewed by Eric Seidel.
  53197. No new tests, no new functionality.
  53198. * rendering/LayoutTypes.h:
  53199. (WebCore::ceiledLayoutUnit):
  53200. Add ceiledLayoutUnit to go with the floored version.
  53201. * rendering/RenderBlock.cpp:
  53202. (WebCore::RenderBlock::adjustRectForColumns):
  53203. (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
  53204. (WebCore::RenderBlock::adjustStartEdgeForWritingModeIncludingColumns):
  53205. Rename rect version of flipForWritingModeIncludingColumns to
  53206. adjustStartEdgeForWritingModeIncludingColumns as it adjust the start edge
  53207. and does not flip the rect.
  53208. (WebCore::RenderBlock::adjustForColumns):
  53209. (WebCore::updatePreferredWidth):
  53210. * rendering/RenderBlock.h:
  53211. * rendering/RenderBox.cpp:
  53212. (WebCore::RenderBox::minPreferredLogicalWidth):
  53213. (WebCore::RenderBox::maxPreferredLogicalWidth):
  53214. (WebCore::RenderBox::offsetFromContainer):
  53215. (WebCore::RenderBox::computePercentageLogicalHeight):
  53216. (WebCore::RenderBox::flipForWritingMode):
  53217. (WebCore::RenderBox::flipForWritingModeIncludingColumns):
  53218. * rendering/RenderBox.h:
  53219. * rendering/RenderListBox.cpp:
  53220. (WebCore::RenderListBox::itemBoundingBoxRect):
  53221. * rendering/RenderListBox.h:
  53222. * rendering/RenderObject.h:
  53223. (WebCore::RenderObject::minPreferredLogicalWidth):
  53224. (WebCore::RenderObject::maxPreferredLogicalWidth):
  53225. (WebCore::RenderObject::adjustForColumns):
  53226. * rendering/RenderReplaced.cpp:
  53227. (WebCore::RenderReplaced::computeReplacedLogicalWidth):
  53228. (WebCore::RenderReplaced::computeReplacedLogicalHeight):
  53229. * rendering/TableLayout.h:
  53230. 2011-07-12 Levi Weintraub <leviw@chromium.org>
  53231. Change roundedIntRect to roundedRect
  53232. https://bugs.webkit.org/show_bug.cgi?id=64326
  53233. Reviewed by Eric Seidel.
  53234. Renaming RoundedIntRect to RoundedRect and moving the underlying type to Layout units from
  53235. integer-based versions.
  53236. No new tests, no new functionality
  53237. * WebCore.gypi:
  53238. * WebCore.pro:
  53239. * WebCore.vcproj/WebCore.vcproj:
  53240. * WebCore.xcodeproj/project.pbxproj:
  53241. * platform/graphics/GraphicsContext.cpp:
  53242. (WebCore::GraphicsContext::addRoundedRectClip):
  53243. (WebCore::GraphicsContext::clipOutRoundedRect):
  53244. (WebCore::GraphicsContext::fillRoundedRect):
  53245. (WebCore::GraphicsContext::fillRectWithRoundedHole):
  53246. * platform/graphics/GraphicsContext.h:
  53247. * platform/graphics/Path.cpp:
  53248. (WebCore::Path::addRoundedRect):
  53249. * platform/graphics/Path.h:
  53250. * platform/graphics/RoundedIntRect.cpp: Removed.
  53251. * platform/graphics/RoundedIntRect.h: Removed.
  53252. * platform/graphics/RoundedRect.cpp: Copied from Source/WebCore/platform/graphics/RoundedIntRect.cpp.
  53253. (WebCore::RoundedRect::Radii::isZero):
  53254. (WebCore::RoundedRect::Radii::scale):
  53255. (WebCore::RoundedRect::Radii::expand):
  53256. (WebCore::RoundedRect::inflateWithRadii):
  53257. (WebCore::RoundedRect::Radii::includeLogicalEdges):
  53258. (WebCore::RoundedRect::Radii::excludeLogicalEdges):
  53259. (WebCore::RoundedRect::RoundedRect):
  53260. (WebCore::RoundedRect::includeLogicalEdges):
  53261. (WebCore::RoundedRect::excludeLogicalEdges):
  53262. (WebCore::RoundedRect::isRenderable):
  53263. * platform/graphics/RoundedRect.h: Copied from Source/WebCore/platform/graphics/RoundedIntRect.h.
  53264. (WebCore::RoundedRect::Radii::Radii):
  53265. (WebCore::RoundedRect::Radii::setTopLeft):
  53266. (WebCore::RoundedRect::Radii::setTopRight):
  53267. (WebCore::RoundedRect::Radii::setBottomLeft):
  53268. (WebCore::RoundedRect::Radii::setBottomRight):
  53269. (WebCore::RoundedRect::Radii::topLeft):
  53270. (WebCore::RoundedRect::Radii::topRight):
  53271. (WebCore::RoundedRect::Radii::bottomLeft):
  53272. (WebCore::RoundedRect::Radii::bottomRight):
  53273. (WebCore::RoundedRect::Radii::expand):
  53274. (WebCore::RoundedRect::Radii::shrink):
  53275. (WebCore::RoundedRect::rect):
  53276. (WebCore::RoundedRect::setRect):
  53277. (WebCore::RoundedRect::move):
  53278. (WebCore::RoundedRect::inflate):
  53279. (WebCore::RoundedRect::expandRadii):
  53280. (WebCore::RoundedRect::shrinkRadii):
  53281. (WebCore::operator==):
  53282. * platform/graphics/ShadowBlur.cpp:
  53283. (WebCore::ScratchBuffer::setLastShadowValues):
  53284. (WebCore::ScratchBuffer::setLastInsetShadowValues):
  53285. (WebCore::ScratchBuffer::matchesLastShadow):
  53286. (WebCore::ScratchBuffer::matchesLastInsetShadow):
  53287. (WebCore::computeSliceSizesFromRadii):
  53288. (WebCore::ShadowBlur::templateSize):
  53289. (WebCore::ShadowBlur::drawRectShadow):
  53290. (WebCore::ShadowBlur::drawInsetShadow):
  53291. (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
  53292. (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
  53293. (WebCore::ShadowBlur::drawInsetShadowWithTiling):
  53294. (WebCore::ShadowBlur::drawRectShadowWithTiling):
  53295. (WebCore::ShadowBlur::drawLayerPieces):
  53296. * platform/graphics/ShadowBlur.h:
  53297. * platform/graphics/cg/GraphicsContextCG.cpp:
  53298. (WebCore::GraphicsContext::fillRect):
  53299. (WebCore::GraphicsContext::fillRoundedRect):
  53300. (WebCore::GraphicsContext::fillRectWithRoundedHole):
  53301. * rendering/RenderBox.cpp:
  53302. (WebCore::RenderBox::paintBoxDecorations):
  53303. * rendering/RenderBoxModelObject.cpp:
  53304. (WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
  53305. (WebCore::RenderBoxModelObject::paintFillLayerExtended):
  53306. (WebCore::RenderBoxModelObject::paintOneBorderSide):
  53307. (WebCore::RenderBoxModelObject::paintBorderSides):
  53308. (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
  53309. (WebCore::RenderBoxModelObject::paintBorder):
  53310. (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
  53311. (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
  53312. (WebCore::RenderBoxModelObject::paintBoxShadow):
  53313. * rendering/RenderBoxModelObject.h:
  53314. * rendering/RenderThemeMac.mm:
  53315. (WebCore::RenderThemeMac::paintMenuListButtonGradients):
  53316. (WebCore::RenderThemeMac::paintSliderTrack):
  53317. * rendering/style/RenderStyle.cpp:
  53318. (WebCore::calcRadiiFor):
  53319. (WebCore::calcConstraintScaleFor):
  53320. (WebCore::RenderStyle::getRoundedBorderFor):
  53321. (WebCore::RenderStyle::getRoundedInnerBorderFor):
  53322. * rendering/style/RenderStyle.h:
  53323. 2011-07-12 Mike Reed <reed@google.com>
  53324. [skia] optimize getImageData to avoid a copy when not needed. lockPixels() now does the right thing.
  53325. https://bugs.webkit.org/show_bug.cgi?id=64302
  53326. Reviewed by Stephen White.
  53327. No new tests. Just an optimization for getImageData(), existing <canvas> tests apply
  53328. * platform/graphics/skia/ImageBufferSkia.cpp:
  53329. (WebCore::getImageData):
  53330. (WebCore::putImageData):
  53331. 2011-07-12 Pavel Feldman <pfeldman@google.com>
  53332. Web Inspector: introduce UserMetrics for collecting stats in Chromium port.
  53333. https://bugs.webkit.org/show_bug.cgi?id=64350
  53334. Reviewed by Yury Semikhatsky.
  53335. Test: inspector/user-metrics.html
  53336. * WebCore.gypi:
  53337. * WebCore.vcproj/WebCore.vcproj:
  53338. * bindings/js/JSInspectorFrontendHostCustom.cpp:
  53339. (WebCore::JSInspectorFrontendHost::recordActionTaken):
  53340. (WebCore::JSInspectorFrontendHost::recordPanelShown):
  53341. (WebCore::JSInspectorFrontendHost::recordSettingChanged):
  53342. * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
  53343. (WebCore::histogramEnumeration):
  53344. (WebCore::V8InspectorFrontendHost::recordActionTakenCallback):
  53345. (WebCore::V8InspectorFrontendHost::recordPanelShownCallback):
  53346. (WebCore::V8InspectorFrontendHost::recordSettingChangedCallback):
  53347. * inspector/InspectorFrontendHost.idl:
  53348. * inspector/front-end/AuditsPanel.js:
  53349. (WebInspector.AuditsPanel.prototype.initiateAudit):
  53350. * inspector/front-end/ConsoleView.js:
  53351. * inspector/front-end/DebuggerModel.js:
  53352. (WebInspector.DebuggerModel.prototype.setBreakpoint):
  53353. (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
  53354. * inspector/front-end/InspectorFrontendHostStub.js:
  53355. (.WebInspector.InspectorFrontendHostStub.prototype.loadSessionSetting):
  53356. (.WebInspector.InspectorFrontendHostStub.prototype.recordActionTaken):
  53357. (.WebInspector.InspectorFrontendHostStub.prototype.recordPanelShown):
  53358. (.WebInspector.InspectorFrontendHostStub.prototype.recordSettingChanged):
  53359. * inspector/front-end/ProfilesPanel.js:
  53360. (WebInspector.ProfilesPanel.prototype._setRecordingProfile):
  53361. (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
  53362. * inspector/front-end/TimelinePanel.js:
  53363. (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
  53364. * inspector/front-end/UserMetrics.js: Added.
  53365. (WebInspector.UserMetrics.settingChanged):
  53366. (WebInspector.UserMetrics):
  53367. (WebInspector.UserMetrics.prototype.panelShown):
  53368. (WebInspector.UserMetrics._Recorder):
  53369. (WebInspector.UserMetrics._Recorder.prototype.record):
  53370. * inspector/front-end/WebKit.qrc:
  53371. * inspector/front-end/inspector.html:
  53372. * inspector/front-end/inspector.js:
  53373. (WebInspector._toggleAttach):
  53374. 2011-07-12 Pratik Solanki <psolanki@apple.com>
  53375. Reviewed by David Kilzer.
  53376. Add NSURLResponse wrapper in ResourceResponse when USE(CFNETWORK) is enabled
  53377. https://bugs.webkit.org/show_bug.cgi?id=63286
  53378. When USE(CFNETWORK) is enabled on Mac, keep an NSURLResponse object along with the
  53379. CFURLResponseRef so that WebKit can continue using the NSURLResponse.
  53380. No new tests because no change in functionality and option is not enabled on Mac.
  53381. * platform/network/cf/ResourceResponse.h:
  53382. (WebCore::ResourceResponse::ResourceResponse):
  53383. * platform/network/mac/ResourceResponseMac.mm:
  53384. (WebCore::ResourceResponse::initNSURLResponse):
  53385. (WebCore::ResourceResponse::nsURLResponse):
  53386. (WebCore::ResourceResponse::ResourceResponse):
  53387. 2011-07-12 Pavel Podivilov <podivilov@chromium.org>
  53388. Web Inspector: Cancelling an empty edit fails.
  53389. https://bugs.webkit.org/show_bug.cgi?id=64351
  53390. Reviewed by Pavel Feldman.
  53391. * inspector/front-end/ResourceView.js:
  53392. (WebInspector.EditableResourceSourceFrame.prototype.cancelEditing):
  53393. 2011-07-12 Pavel Podivilov <podivilov@chromium.org>
  53394. Web Inspector: make TextViewerDelegate methods implementations public in SourceFrame.
  53395. https://bugs.webkit.org/show_bug.cgi?id=64353
  53396. Reviewed by Pavel Feldman.
  53397. * inspector/front-end/SourceFrame.js:
  53398. (WebInspector.SourceFrame.prototype.beforeTextChanged):
  53399. (WebInspector.SourceFrame.prototype.afterTextChanged):
  53400. (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
  53401. (WebInspector.SourceFrame.prototype.suggestedFileName):
  53402. (WebInspector.SourceFrame.prototype.doubleClick):
  53403. (WebInspector.SourceFrame.prototype.cancelEditing):
  53404. (WebInspector.TextViewerDelegateForSourceFrame.prototype.doubleClick):
  53405. (WebInspector.TextViewerDelegateForSourceFrame.prototype.beforeTextChanged):
  53406. (WebInspector.TextViewerDelegateForSourceFrame.prototype.afterTextChanged):
  53407. (WebInspector.TextViewerDelegateForSourceFrame.prototype.commitEditing):
  53408. (WebInspector.TextViewerDelegateForSourceFrame.prototype.cancelEditing):
  53409. (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateLineGutterContextMenu):
  53410. (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
  53411. (WebInspector.TextViewerDelegateForSourceFrame.prototype.suggestedFileName):
  53412. 2011-07-12 Andrey Kosyakov <caseq@chromium.org>
  53413. Web Inspector: remove more dead code from the Network panel
  53414. https://bugs.webkit.org/show_bug.cgi?id=64291
  53415. Reviewed by Pavel Feldman.
  53416. * inspector/front-end/NetworkPanel.js:
  53417. (WebInspector.NetworkPanel.prototype._toggleGridMode):
  53418. (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
  53419. * inspector/front-end/networkPanel.css:
  53420. 2011-07-12 Adam Roben <aroben@apple.com>
  53421. Unreviewed, rolling out r90811.
  53422. http://trac.webkit.org/changeset/90811
  53423. https://bugs.webkit.org/show_bug.cgi?id=61025
  53424. Several svg tests failing assertions beneath
  53425. SVGSMILElement::findInstanceTime
  53426. * svg/animation/SVGSMILElement.cpp:
  53427. (WebCore::SVGSMILElement::findInstanceTime):
  53428. 2011-07-12 Oliver Varga <Varga.Oliver@stud.u-szeged.hu>
  53429. Reviewed by Nikolas Zimmermann.
  53430. Speed up SVGSMILElement::findInstanceTime.
  53431. https://bugs.webkit.org/show_bug.cgi?id=61025
  53432. Replace the linear search to binary search on ordered list because
  53433. the previous searches from the beginning was not efficient.
  53434. Out of index error fixed by Renata Hodovan.
  53435. No new tests this is only a performance tweak.
  53436. * svg/animation/SVGSMILElement.cpp:
  53437. (WebCore::extractTimeFromVector):
  53438. (WebCore::SVGSMILElement::findInstanceTime):
  53439. 2011-07-11 Zeng Huiqing <huiqing.zeng@intel.com>
  53440. Optimize HTMLInputElement::updateCheckedRadioButtons
  53441. https://bugs.webkit.org/show_bug.cgi?id=62840
  53442. Reviewed by Kent Tamura.
  53443. No new tests.
  53444. * dom/Document.h:
  53445. (WebCore::Document::getFormElements):
  53446. * html/HTMLInputElement.cpp:
  53447. (WebCore::HTMLInputElement::updateCheckedRadioButtons):
  53448. (WebCore::HTMLInputElement::setChecked):
  53449. 2011-07-11 Pratik Solanki <psolanki@apple.com>
  53450. Reviewed by David Kilzer.
  53451. Add NSURLRequest wrapper in ResourceRequest when USE(CFNETWORK) is enabled
  53452. https://bugs.webkit.org/show_bug.cgi?id=63276
  53453. When USE(CFNETWORK) is enabled on Mac, keep an NSURLRequest object along with the
  53454. CFURLRequestRef so that WebKit can continue using the NSURLRequest.
  53455. No new tests because no change in functionality and option is not enabled on Mac.
  53456. * platform/network/cf/ResourceRequest.h:
  53457. (WebCore::ResourceRequest::updateNSURLRequest):
  53458. (WebCore::ResourceRequest::ResourceRequest):
  53459. * platform/network/cf/ResourceRequestCFNet.cpp:
  53460. (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction):
  53461. (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
  53462. (WebCore::ResourceRequest::doUpdatePlatformRequest):
  53463. (WebCore::ResourceRequest::applyWebArchiveHackForMail):
  53464. * platform/network/mac/ResourceRequestMac.mm:
  53465. (WebCore::ResourceRequest::nsURLRequest):
  53466. (WebCore::ResourceRequest::ResourceRequest):
  53467. (WebCore::ResourceRequest::updateNSURLRequest):
  53468. 2011-07-11 Ryosuke Niwa <rniwa@webkit.org>
  53469. positionForPoint is broken when a block is positioned relatively inside the parent
  53470. https://bugs.webkit.org/show_bug.cgi?id=64298
  53471. Reviewed by Simon Fraser.
  53472. The bug was caused by positionForPointRespectingEditingBoundaries's not taking relativePositionOffset
  53473. into account when computing the point in child coordinates. Fixed the bug by adding the offset to
  53474. childLocation as needed.
  53475. Test: fast/block/positioning/hittest-on-relative-positioned-children.html
  53476. * rendering/RenderBlock.cpp:
  53477. (WebCore::positionForPointRespectingEditingBoundaries): Fixed the bug; also replaced all instances of
  53478. IntPoint by LayoutPoint.
  53479. 2011-07-11 Dan Bernstein <mitz@apple.com>
  53480. Excessive expansion of justified text when rounding hacks are enabled
  53481. https://bugs.webkit.org/show_bug.cgi?id=64331
  53482. Reviewed by Anders Carlsson.
  53483. Test: platform/mac/fast/text/rounding-hacks-expansion.html
  53484. When rounding hacks are enabled, the expansion at each expansion opportunity should be by an
  53485. integer. Restored more of the logic that was removed in r78846 in order to ensure this.
  53486. * platform/graphics/WidthIterator.cpp:
  53487. (WebCore::WidthIterator::advance):
  53488. * platform/graphics/mac/ComplexTextController.cpp:
  53489. (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
  53490. 2011-07-11 Jer Noble <jer.noble@apple.com>
  53491. HTML5 video controller in fullscreen is partly off-screen (at least on youtube) using ClickToFlash
  53492. https://bugs.webkit.org/show_bug.cgi?id=64327
  53493. Reviewed by Darin Adler.
  53494. No new tests; no change in functionality, so covered by existing tests.
  53495. Make the rules from fullscreenQuickTime.css !important so they are not overridden
  53496. by page authors.
  53497. * css/fullscreenQuickTime.css:
  53498. (video:-webkit-full-screen::-webkit-media-controls-panel):
  53499. 2011-07-11 Levi Weintraub <leviw@chromium.org>
  53500. Switch lineTop and lineBottom to new layout types
  53501. https://bugs.webkit.org/show_bug.cgi?id=64317
  53502. Reviewed by Eric Seidel.
  53503. Changing lineTop and lineBottom to LayoutUnits and preparing all uses
  53504. of them for the upcoming conversion.
  53505. No new tests, no new functionality.
  53506. * rendering/EllipsisBox.cpp:
  53507. (WebCore::EllipsisBox::nodeAtPoint):
  53508. * rendering/EllipsisBox.h:
  53509. * rendering/GapRects.h:
  53510. (WebCore::GapRects::left):
  53511. (WebCore::GapRects::center):
  53512. (WebCore::GapRects::right):
  53513. (WebCore::GapRects::uniteLeft):
  53514. (WebCore::GapRects::uniteCenter):
  53515. (WebCore::GapRects::uniteRight):
  53516. (WebCore::GapRects::operator LayoutRect):
  53517. * rendering/InlineBox.cpp:
  53518. (WebCore::InlineBox::nodeAtPoint):
  53519. * rendering/InlineBox.h:
  53520. * rendering/InlineFlowBox.cpp:
  53521. (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
  53522. (WebCore::InlineFlowBox::flipLinesInBlockDirection):
  53523. (WebCore::InlineFlowBox::computeOverflow):
  53524. (WebCore::InlineFlowBox::setLayoutOverflow):
  53525. (WebCore::InlineFlowBox::setVisualOverflow):
  53526. (WebCore::InlineFlowBox::setOverflowFromLogicalRects):
  53527. (WebCore::InlineFlowBox::nodeAtPoint):
  53528. * rendering/InlineFlowBox.h:
  53529. (WebCore::InlineFlowBox::layoutOverflowRect):
  53530. (WebCore::InlineFlowBox::visualOverflowRect):
  53531. * rendering/InlineTextBox.cpp:
  53532. (WebCore::InlineTextBox::nodeAtPoint):
  53533. * rendering/RenderLineBoxList.cpp:
  53534. (WebCore::RenderLineBoxList::anyLineIntersectsRect):
  53535. * rendering/RenderLineBoxList.h:
  53536. * rendering/RenderListItem.cpp:
  53537. (WebCore::RenderListItem::positionListMarker):
  53538. * rendering/RenderTextControl.h:
  53539. * rendering/RenderTextControlMultiLine.cpp:
  53540. (WebCore::RenderTextControlMultiLine::adjustControlHeightBasedOnLineHeight):
  53541. * rendering/RenderTextControlSingleLine.cpp:
  53542. (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
  53543. * rendering/RenderTextControlSingleLine.h:
  53544. * rendering/RootInlineBox.cpp:
  53545. (WebCore::RootInlineBox::nodeAtPoint):
  53546. * rendering/RootInlineBox.h:
  53547. (WebCore::RootInlineBox::lineTop):
  53548. (WebCore::RootInlineBox::lineBottom):
  53549. (WebCore::RootInlineBox::setLineTopBottomPositions):
  53550. (WebCore::RootInlineBox::logicalTopVisualOverflow):
  53551. (WebCore::RootInlineBox::logicalBottomVisualOverflow):
  53552. (WebCore::RootInlineBox::logicalTopLayoutOverflow):
  53553. (WebCore::RootInlineBox::logicalBottomLayoutOverflow):
  53554. * rendering/svg/SVGInlineFlowBox.h:
  53555. * rendering/svg/SVGInlineTextBox.cpp:
  53556. (WebCore::SVGInlineTextBox::nodeAtPoint):
  53557. * rendering/svg/SVGInlineTextBox.h:
  53558. * rendering/svg/SVGRootInlineBox.h:
  53559. 2011-07-11 Martin Robinson <mrobinson@igalia.com>
  53560. Reviewed by Daniel Bates.
  53561. [GTK] Transition to Mozilla named cursors have incorrect hotspot and rendering
  53562. https://bugs.webkit.org/show_bug.cgi?id=62752
  53563. Instead of offsetting the cursor blit by the hotspot, just pass the hotspot
  53564. arguments to the GdkCursor constructor.
  53565. No new tests. This is covered by manual-tests/cursor.html.
  53566. * platform/gtk/CursorGtk.cpp:
  53567. (WebCore::createNamedCursor):
  53568. 2011-07-11 Yi Shen <yi.4.shen@nokia.com>
  53569. [Qt] Unreviewed rollout 90779 which may fail the layout-test.
  53570. * platform/network/qt/QNetworkReplyHandler.cpp:
  53571. (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
  53572. * platform/network/qt/QNetworkReplyHandler.h:
  53573. 2011-07-11 Bradley Nelson <bradnelson@chromium.org>
  53574. Reviewed by Darin Fisher.
  53575. Split webcore_dom off webcore_remaining to reduce its size for
  53576. whole program optimization builds.
  53577. https://bugs.webkit.org/show_bug.cgi?id=64299
  53578. * WebCore.gyp/WebCore.gyp:
  53579. 2011-07-11 Yi Shen <yi.4.shen@nokia.com>
  53580. [Qt] ASSERTION FAILED in ResourceHandle::setDefersLoading causes crash
  53581. https://bugs.webkit.org/show_bug.cgi?id=62808
  53582. Reviewed by Benjamin Poulain.
  53583. The assertion in ResourceHandle::setDefersLoading assumes asynchronous
  53584. content delivery -- To resume a page, first, its main resource loader
  53585. calls setDefersLoading to resume loading the main content; then all the
  53586. sub-resource loaders calls setDefersLoading to resume sub-contents.
  53587. However, since QNetworkReplyHandler delivers content synchronously,
  53588. some new sub-resource loaders get created as soon as the main resource
  53589. loader resumed, and all these new sub-resource loaders set their
  53590. defersLoading flag to false. Then, the assertion fails for these new
  53591. sub-resource loaders when calling setDefersLoading on them. As a fix,
  53592. this path makes QNetworkReplyHandler deliver content asynchronously.
  53593. Test: loader/load-defer-resume-crash.html
  53594. * platform/network/qt/QNetworkReplyHandler.cpp:
  53595. (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
  53596. * platform/network/qt/QNetworkReplyHandler.h:
  53597. 2011-07-08 Ryosuke Niwa <rniwa@webkit.org>
  53598. Move innerTextElement() from RenderTextControl to HTMLTextFormControlElement
  53599. https://bugs.webkit.org/show_bug.cgi?id=64134
  53600. Reviewed by Kent Tamura.
  53601. Moved innerTextElement from RenderTextControl to HTMLTextFormControlElement. It is implemented by
  53602. HTMLInputElement and HTMLTextAreaElement instead of RenderTextControlSingleLine and
  53603. RenderTextControlMultiLine.
  53604. This refactoring removes the indirection through RenderTextControl and makes the ownership of
  53605. shadow DOM for input and textarea elements clear. Accessing the shadow DOM of input and textarea elements
  53606. are now less error prone because it no longer depends on the lifetime of the render tree.
  53607. * accessibility/AccessibilityRenderObject.cpp:
  53608. (WebCore::AccessibilityRenderObject::indexForVisiblePosition): Access innerTextElement via
  53609. HTMLTextFormControlElement.
  53610. * dom/Node.cpp:
  53611. (WebCore::traverseTreeAndMark): No longer calls innerTextElement because this was a work-around
  53612. needed before making input and textarea elements use the new shadow DOM model.
  53613. * editing/TextIterator.cpp:
  53614. (WebCore::TextIterator::handleReplacedElement): Access innerTextElement via HTMLTextFormControlElement.
  53615. * html/HTMLFormControlElement.cpp:
  53616. (WebCore::hasVisibleTextArea): Takes innerTextElement.
  53617. (WebCore::HTMLTextFormControlElement::setSelectionRange): Calls innerTextElement().
  53618. (WebCore::HTMLTextFormControlElement::selection): Ditto.
  53619. (WebCore::HTMLTextFormControlElement::selectionStart): Ditto; no longer uses a temporary local variable
  53620. for innerTextElement because innerTextElement() no longer depends on the lifetime of the render tree.
  53621. (WebCore::HTMLTextFormControlElement::selectionEnd): Ditto.
  53622. * html/HTMLFormControlElement.h:
  53623. * html/HTMLTextAreaElement.cpp:
  53624. (WebCore::HTMLTextAreaElement::innerTextElement): Added.
  53625. * html/HTMLTextAreaElement.h:
  53626. * rendering/RenderTextControl.cpp:
  53627. (WebCore::RenderTextControl::textFormControlElement): Made this function a const member.
  53628. (WebCore::RenderTextControl::innerTextElement): Added.
  53629. * rendering/RenderTextControl.h:
  53630. * rendering/RenderTextControlMultiLine.cpp:
  53631. * rendering/RenderTextControlMultiLine.h:
  53632. * rendering/RenderTextControlSingleLine.cpp:
  53633. * rendering/RenderTextControlSingleLine.h:
  53634. 2011-07-11 Tony Chang <tony@chromium.org>
  53635. rename RenderObject::isFlexibleBox to isDeprecatedFlexibleBox
  53636. https://bugs.webkit.org/show_bug.cgi?id=64217
  53637. Reviewed by Ojan Vafai.
  53638. This is to make way for the new flexbox needing a similar method.
  53639. RenderObject also has isFlexingChildren() and isStretchingChildren(),
  53640. but we may be able to use those for the new flexbox as well so I
  53641. didn't rename them.
  53642. No new tests, just refactoring.
  53643. * rendering/RenderBlock.cpp:
  53644. (WebCore::RenderBlock::removeChild):
  53645. (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
  53646. (WebCore::shouldCheckLines):
  53647. * rendering/RenderBox.cpp:
  53648. (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
  53649. (WebCore::RenderBox::computeLogicalWidth):
  53650. (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
  53651. (WebCore::RenderBox::computeLogicalHeight):
  53652. * rendering/RenderDeprecatedFlexibleBox.cpp:
  53653. (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
  53654. * rendering/RenderDeprecatedFlexibleBox.h:
  53655. (WebCore::RenderDeprecatedFlexibleBox::isDeprecatedFlexibleBox):
  53656. * rendering/RenderObject.h:
  53657. (WebCore::RenderObject::isDeprecatedFlexibleBox):
  53658. 2011-07-11 Nate Chapin <japhet@chromium.org>
  53659. [Chromium] Ensure we don't crash when an
  53660. HTMLSelectElement mouse release event removes
  53661. the element from the DOM.
  53662. https://bugs.webkit.org/show_bug.cgi?id=64295
  53663. Reviewed by Dimitri Glazkov.
  53664. Manual test only because the crash requires a
  53665. real popup menu, which DRT doesn't provide.
  53666. * manual-tests/chromium/popup-menu-crash.html: Added.
  53667. * platform/chromium/PopupMenuChromium.cpp:
  53668. (WebCore::PopupContainer::handleMouseReleaseEvent):
  53669. 2011-07-11 Mike Reed <reed@google.com>
  53670. [skia] remove platform helpers for gradients and patterns
  53671. https://bugs.webkit.org/show_bug.cgi?id=64281
  53672. Reviewed by Stephen White.
  53673. No new tests. fixes canvas/philip/tests/2d.gradient.object.update.html
  53674. Remove (now empty) platform helpers for fill/stroke gradients/patterns. We now pickup the platformGradient
  53675. and platformPattern fresh when they're needed, so we can see any edits that have occurred to them
  53676. 2d.gradient.object.update.html sets the fillgradient, and then edits the gradient object. This CL allows
  53677. us to see that edit.
  53678. * platform/graphics/GraphicsContext.cpp:
  53679. (WebCore::GraphicsContext::setStrokePattern):
  53680. (WebCore::GraphicsContext::setFillPattern):
  53681. (WebCore::GraphicsContext::setStrokeGradient):
  53682. (WebCore::GraphicsContext::setFillGradient):
  53683. * platform/graphics/GraphicsContext.h:
  53684. * platform/graphics/skia/GraphicsContextSkia.cpp:
  53685. (WebCore::GraphicsContext::platformInit):
  53686. * platform/graphics/skia/PlatformContextSkia.cpp:
  53687. (WebCore::PlatformContextSkia::State::State):
  53688. (WebCore::PlatformContextSkia::State::~State):
  53689. (WebCore::PlatformContextSkia::PlatformContextSkia):
  53690. (WebCore::PlatformContextSkia::drawRect):
  53691. (WebCore::PlatformContextSkia::setupShader):
  53692. (WebCore::PlatformContextSkia::setupPaintForFilling):
  53693. (WebCore::PlatformContextSkia::setupPaintForStroking):
  53694. (WebCore::PlatformContextSkia::setFillColor):
  53695. (WebCore::PlatformContextSkia::setStrokeColor):
  53696. (WebCore::PlatformContextSkia::canAccelerate):
  53697. * platform/graphics/skia/PlatformContextSkia.h:
  53698. (WebCore::PlatformContextSkia::setGraphicsContext):
  53699. 2011-07-11 Young Han Lee <joybro@company100.net>
  53700. Reviewed by Simon Fraser.
  53701. Transition LayoutTest using pause API shows wrong result if it tries to pause a transition after its delay time.
  53702. https://bugs.webkit.org/show_bug.cgi?id=63859
  53703. The existing code to set the m_startTime haven't worked because
  53704. the animation is not the right state to accept the start event.
  53705. This patch just sets the values directly instead of using event.
  53706. Test: transitions/delay.html
  53707. * page/animation/AnimationBase.cpp:
  53708. (WebCore::AnimationBase::freezeAtTime):
  53709. 2011-07-11 Ryosuke Niwa <rniwa@webkit.org>
  53710. Move selection related code from RenderTextControl to HTMLTextFormControlElement
  53711. https://bugs.webkit.org/show_bug.cgi?id=64133
  53712. Reviewed by Dimitri Glazkov.
  53713. Moved selectionStart, selectionEnd, hasVisibleTextArea, setSelectionRange, setContainerAndOffsetForRange
  53714. and selection from RenderTextControl.cpp to HTMLFormControlElement.cpp.
  53715. This refactoring removes RenderTextControl's dependency on FrameSelection.
  53716. * accessibility/AccessibilityRenderObject.cpp:
  53717. (WebCore::AccessibilityRenderObject::selectedText): Calls HTMLTextFromControl::selectedText.
  53718. (WebCore::AccessibilityRenderObject::selectedTextRange): Calls selectionStart and selectionEnd.
  53719. (WebCore::AccessibilityRenderObject::setSelectedTextRange): Ditto.
  53720. * html/HTMLFormControlElement.cpp:
  53721. (WebCore::HTMLTextFormControlElement::selectedText): Extracted from AccessibilityRenderObject::selectedText.
  53722. (WebCore::hasVisibleTextArea): Added.
  53723. (WebCore::HTMLTextFormControlElement::setSelectionRange): Merged with the function of the same name in RenderTextControl.
  53724. (WebCore::HTMLTextFormControlElement::selectionStart): Calls computeSelectionStart instead of RenderTextControl::selectionStart.
  53725. (WebCore::HTMLTextFormControlElement::computeSelectionStart): Moved from RenderTextControl::selectionStart.
  53726. (WebCore::HTMLTextFormControlElement::selectionEnd): Calls computeSelectionEnd instead of RenderText::selectionEnd.
  53727. (WebCore::HTMLTextFormControlElement::computeSelectionEnd): Moved from RenderTextControl::selectionStart.
  53728. (WebCore::setContainerAndOffsetForRange): Moved from RenderTextControl.cpp.
  53729. (WebCore::HTMLTextFormControlElement::selection): Merged with the function of the same name in RenderTextControl.
  53730. (WebCore::HTMLTextFormControlElement::restoreCachedSelection): Calls computeSelectionStart and computeSelectionEnd instead of
  53731. RenderTextControl::selectionStart and RenderTextControl::selectionEnd.
  53732. (WebCore::HTMLTextFormControlElement::selectionChanged): Calls selectionStart and selectionEnd.
  53733. * html/HTMLFormControlElement.h:
  53734. * html/HTMLInputElement.cpp:
  53735. (WebCore::HTMLInputElement::setValue): Calls setSelectionRange.
  53736. * rendering/RenderTextControl.cpp:
  53737. (WebCore::RenderTextControl::textFormControlElement): Added.
  53738. * rendering/RenderTextControl.h:
  53739. 2011-07-11 Andreas Kling <kling@webkit.org>
  53740. Reviewed by Oliver Hunt.
  53741. Canvas: Use fast, approximate dirty rects for stroke()
  53742. https://bugs.webkit.org/show_bug.cgi?id=59764
  53743. No new tests, this is an optimization.
  53744. * html/canvas/CanvasRenderingContext2D.cpp:
  53745. (WebCore::CanvasRenderingContext2D::stroke): Instead of using
  53746. Path::strokeBoundingRect() to calculate the exact bounding rect
  53747. for a path stroke, get the Path::boundingRect() and inflate it by
  53748. miterLimit + lineWidth to get a slightly oversized dirty rect
  53749. in a fraction of the time.
  53750. 2011-07-11 Andrey Kosyakov <caseq@chromium.org>
  53751. Reviewed by Pavel Feldman.
  53752. Web Inspector: [refactoring] Remove dependencies of components requiring network resource list from network panel
  53753. https://bugs.webkit.org/show_bug.cgi?id=62477
  53754. * inspector/front-end/AuditsPanel.js:
  53755. * inspector/front-end/ExtensionServer.js:
  53756. (WebInspector.ExtensionServer):
  53757. (WebInspector.ExtensionServer.prototype._inspectedURLChanged):
  53758. (WebInspector.ExtensionServer.prototype._onGetHAR):
  53759. (WebInspector.ExtensionServer.prototype.initExtensions):
  53760. * inspector/front-end/HAREntry.js:
  53761. (WebInspector.HARLog):
  53762. (WebInspector.HARLog.prototype.build):
  53763. * inspector/front-end/NetworkManager.js:
  53764. (WebInspector.NetworkLog):
  53765. (WebInspector.NetworkLog.prototype.get resources):
  53766. (WebInspector.NetworkLog.prototype._onInspectedURLChanged):
  53767. (WebInspector.NetworkLog.prototype._onResourceStarted):
  53768. * inspector/front-end/NetworkPanel.js:
  53769. (WebInspector.NetworkPanel.prototype._reset):
  53770. (WebInspector.NetworkPanel.prototype._copyAll):
  53771. (WebInspector.NetworkPanel.prototype._exportAll):
  53772. * inspector/front-end/inspector.js:
  53773. (WebInspector.reset):
  53774. 2011-07-11 Pavel Podivilov <podivilov@chromium.org>
  53775. Web Inspector: make SourceFrame a View.
  53776. https://bugs.webkit.org/show_bug.cgi?id=64274
  53777. Reviewed by Pavel Feldman.
  53778. * inspector/front-end/SourceFrame.js:
  53779. (WebInspector.SourceFrame):
  53780. (WebInspector.SourceFrame.createSearchRegex):
  53781. (WebInspector.SourceFrame.prototype.show):
  53782. (WebInspector.SourceFrame.prototype.hide):
  53783. (WebInspector.SourceFrame.prototype._beforeTextChanged):
  53784. (WebInspector.SourceFrame.prototype._afterTextChanged):
  53785. (WebInspector.SourceFrame.prototype._initializeTextViewer):
  53786. (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
  53787. (WebInspector.SourceFrame.prototype.performSearch):
  53788. (WebInspector.SourceFrame.prototype._populateTextAreaContextMenu):
  53789. (WebInspector.SourceFrame.prototype._suggestedFileName):
  53790. (WebInspector.SourceFrame.prototype._doubleClick):
  53791. (WebInspector.SourceFrame.prototype._cancelEditing):
  53792. (WebInspector.TextViewerDelegateForSourceFrame):
  53793. (WebInspector.TextViewerDelegateForSourceFrame.prototype.doubleClick):
  53794. (WebInspector.TextViewerDelegateForSourceFrame.prototype.beforeTextChanged):
  53795. (WebInspector.TextViewerDelegateForSourceFrame.prototype.afterTextChanged):
  53796. (WebInspector.TextViewerDelegateForSourceFrame.prototype.commitEditing):
  53797. (WebInspector.TextViewerDelegateForSourceFrame.prototype.cancelEditing):
  53798. (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateLineGutterContextMenu):
  53799. (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
  53800. (WebInspector.TextViewerDelegateForSourceFrame.prototype.suggestedFileName):
  53801. * inspector/front-end/TextViewer.js:
  53802. (WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu):
  53803. 2011-07-11 Noel Gordon <noel.gordon@gmail.com>
  53804. Reviewed by Adam Roben.
  53805. Forward focus events to windowless plugins on the windows port.
  53806. https://bugs.webkit.org/show_bug.cgi?id=62375
  53807. * plugins/win/PluginViewWin.cpp:
  53808. (WebCore::PluginView::setFocus): Forward focus events if the plugin is windowless.
  53809. 2011-07-11 Shinya Kawanaka <shinyak@google.com>
  53810. Added accessibility notification when value is changed.
  53811. https://bugs.webkit.org/show_bug.cgi?id=64256
  53812. Notifies the value change of range input when accessibility is enabled.
  53813. Reviewed by Kent Tamura.
  53814. Covered by existing tests.
  53815. * html/RangeInputType.cpp:
  53816. (WebCore::RangeInputType::handleKeydownEvent):
  53817. Added accessibility notification when value is changed.
  53818. 2011-07-08 Mikhail Naganov <mnaganov@chromium.org>
  53819. Web Inspector: Fix resizing of sidebar pane in Timeline and Profile panels.
  53820. https://bugs.webkit.org/show_bug.cgi?id=64161
  53821. Reviewed by Pavel Feldman.
  53822. * inspector/front-end/ProfilesPanel.js:
  53823. (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
  53824. * inspector/front-end/TimelineOverviewPane.js:
  53825. (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
  53826. 2011-07-11 Pavel Feldman <pfeldman@google.com>
  53827. Web Inspector: [REGRESSION r89753-89754] highlight does not respect scroller location.
  53828. https://bugs.webkit.org/show_bug.cgi?id=63982
  53829. Rolling out 89760, 89756, 89754, 89753 for breaking inspector highlight.
  53830. Reviewed by Yury Semikhatsky.
  53831. * WebCore.exp.in:
  53832. * inspector/DOMNodeHighlighter.cpp:
  53833. (WebCore::DOMNodeHighlighter::drawNodeHighlight):
  53834. * page/FrameView.cpp:
  53835. * page/FrameView.h:
  53836. * platform/ScrollView.h:
  53837. * platform/Widget.cpp:
  53838. * platform/Widget.h:
  53839. * rendering/RenderBox.cpp:
  53840. (WebCore::RenderBox::mapLocalToContainer):
  53841. * rendering/RenderBox.h:
  53842. * rendering/RenderInline.cpp:
  53843. (WebCore::RenderInline::mapLocalToContainer):
  53844. * rendering/RenderInline.h:
  53845. * rendering/RenderObject.cpp:
  53846. (WebCore::RenderObject::mapLocalToContainer):
  53847. (WebCore::RenderObject::localToContainerQuad):
  53848. * rendering/RenderObject.h:
  53849. (WebCore::RenderObject::localToAbsoluteQuad):
  53850. * rendering/RenderView.cpp:
  53851. (WebCore::RenderView::mapLocalToContainer):
  53852. * rendering/RenderView.h:
  53853. * rendering/svg/RenderSVGForeignObject.cpp:
  53854. (WebCore::RenderSVGForeignObject::mapLocalToContainer):
  53855. * rendering/svg/RenderSVGForeignObject.h:
  53856. * rendering/svg/RenderSVGInline.cpp:
  53857. (WebCore::RenderSVGInline::mapLocalToContainer):
  53858. * rendering/svg/RenderSVGInline.h:
  53859. * rendering/svg/RenderSVGModelObject.cpp:
  53860. (WebCore::RenderSVGModelObject::mapLocalToContainer):
  53861. * rendering/svg/RenderSVGModelObject.h:
  53862. * rendering/svg/RenderSVGRoot.cpp:
  53863. (WebCore::RenderSVGRoot::mapLocalToContainer):
  53864. * rendering/svg/RenderSVGRoot.h:
  53865. * rendering/svg/RenderSVGText.cpp:
  53866. (WebCore::RenderSVGText::mapLocalToContainer):
  53867. * rendering/svg/RenderSVGText.h:
  53868. * rendering/svg/SVGRenderSupport.cpp:
  53869. (WebCore::SVGRenderSupport::mapLocalToContainer):
  53870. * rendering/svg/SVGRenderSupport.h:
  53871. 2011-07-11 Mustafizur Rahaman <mustaf.here@gmail.com>
  53872. Reviewed by James Robinson.
  53873. Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.fill.destination-atop.html
  53874. https://bugs.webkit.org/show_bug.cgi?id=48292
  53875. and
  53876. Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.pattern.destination-atop.html
  53877. https://bugs.webkit.org/show_bug.cgi?id=48302
  53878. * html/canvas/CanvasRenderingContext2D.cpp:
  53879. (WebCore::CanvasRenderingContext2D::shouldDisplayTransparencyElsewhere): Added CompositeDestinationAtop
  53880. to draw transparency elsewhere for destination-atop
  53881. 2011-07-08 Mikhail Naganov <mnaganov@chromium.org>
  53882. Web Inspector: [Chromium] Get rid of flickering "Please wait" message in Heap profiler.
  53883. https://bugs.webkit.org/show_bug.cgi?id=61175
  53884. The message has been replaced with spinner icons appearing instead of profile's
  53885. icon. As each profile owns a worker, they run independently, and there can be
  53886. multiple spinners at the same time.
  53887. Reviewed by Pavel Feldman.
  53888. * WebCore.gypi:
  53889. * WebCore.vcproj/WebCore.vcproj:
  53890. * inspector/front-end/DetailedHeapshotGridNodes.js:
  53891. (WebInspector.HeapSnapshotGridNode.prototype._populate.sorted):
  53892. (WebInspector.HeapSnapshotGridNode.prototype._populate):
  53893. (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
  53894. (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
  53895. * inspector/front-end/DetailedHeapshotView.js:
  53896. (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
  53897. (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext):
  53898. (WebInspector.HeapSnapshotRetainingPathsList.prototype.searchCancelled):
  53899. (WebInspector.DetailedHeapshotView.profileCallback):
  53900. (WebInspector.DetailedHeapshotView):
  53901. (WebInspector.DetailedHeapshotView.prototype._changeBase.baseProfileLoaded):
  53902. (WebInspector.DetailedHeapshotView.prototype._changeBase):
  53903. (WebInspector.DetailedHeapshotView.prototype.processLoadedSnapshot):
  53904. (WebInspector.DetailedHeapshotView.prototype._changeView):
  53905. * inspector/front-end/HeapSnapshotProxy.js:
  53906. (WebInspector.HeapSnapshotWorker):
  53907. (WebInspector.HeapSnapshotWorker.prototype.dispose):
  53908. (WebInspector.HeapSnapshotWorker.prototype.startCheckingForLongRunningCalls):
  53909. (WebInspector.HeapSnapshotWorker.prototype._checkLongRunningCalls):
  53910. (WebInspector.HeapSnapshotProxyObject.prototype.callMethod):
  53911. (WebInspector.HeapSnapshotProxyObject.prototype.get worker):
  53912. * inspector/front-end/Images/spinnerActive.gif: Added. Generated using ajaxload.info.
  53913. * inspector/front-end/Images/spinnerActiveSelected.gif: Added. Generated using ajaxload.info.
  53914. * inspector/front-end/Images/spinnerInactive.gif: Added. Generated using ajaxload.info.
  53915. * inspector/front-end/Images/spinnerInactiveSelected.gif: Added. Generated using ajaxload.info.
  53916. * inspector/front-end/PleaseWaitMessage.js: Removed.
  53917. * inspector/front-end/ProfilesPanel.js:
  53918. (WebInspector.ProfilesPanel.prototype._addProfileHeader):
  53919. (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot.setProfileWait):
  53920. (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
  53921. (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.parsed):
  53922. (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
  53923. (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
  53924. * inspector/front-end/SidebarTreeElement.js:
  53925. (WebInspector.SidebarTreeElement.prototype.set wait):
  53926. * inspector/front-end/WebKit.qrc:
  53927. * inspector/front-end/heapProfiler.css:
  53928. (.heap-snapshot-sidebar-tree-item.wait .icon):
  53929. (.heap-snapshot-sidebar-tree-item.wait.selected .icon):
  53930. (body.inactive .heap-snapshot-sidebar-tree-item.wait .icon):
  53931. (body.inactive .heap-snapshot-sidebar-tree-item.wait.selected .icon):
  53932. * inspector/front-end/inspector.html:
  53933. 2011-07-10 Patrick Gansterer <paroga@webkit.org>
  53934. Generate conditional include statements in CodeGeneratorJS
  53935. https://bugs.webkit.org/show_bug.cgi?id=64231
  53936. Reviewed by Brent Fulgham.
  53937. Suround headers with a correspondig #if ENABLE() line.
  53938. This allows us to generate bindings only of required IDL files.
  53939. Changing the current preprocessor statements to the Conditional attribute
  53940. in a next step helps in getting rid of calls to the preprocessor,
  53941. which causes so much pain on a natvie Windows environment.
  53942. * bindings/scripts/CodeGeneratorJS.pm:
  53943. (GenerateImplementation):
  53944. (WriteData):
  53945. 2011-07-10 Patrick Gansterer <paroga@webkit.org>
  53946. Remove array size from generated JSC binding tables
  53947. https://bugs.webkit.org/show_bug.cgi?id=64229
  53948. Reviewed by Brent Fulgham.
  53949. Because many items in the array are surrounded with #if(ENABLE_XXX) lines,
  53950. the array size isn't fix and correct in all cases.
  53951. So let the compiler calculate the correct size itself.
  53952. * bindings/scripts/CodeGeneratorJS.pm:
  53953. (GenerateHashTable):
  53954. * bindings/scripts/test/JS/JSTestInterface.cpp:
  53955. * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  53956. * bindings/scripts/test/JS/JSTestObj.cpp:
  53957. * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  53958. 2011-07-10 Kenichi Ishibashi <bashi@chromium.org>
  53959. Let plugins participate in form submission
  53960. https://bugs.webkit.org/show_bug.cgi?id=13061
  53961. Implements HTMLObjectElement::appendFormData() so that object
  53962. elements respond as form associated elements.
  53963. Reviewed by Anders Carlsson.
  53964. Test: plugins/form-value.html
  53965. * html/HTMLObjectElement.cpp:
  53966. (WebCore::HTMLObjectElement::appendFormData): Implemented.
  53967. * plugins/PluginViewBase.h:
  53968. (WebCore::PluginViewBase::getFormValue): Added.
  53969. 2011-07-10 Anders Carlsson <andersca@apple.com>
  53970. WebKit2 is leaking NSCursors created by leakNamedCursor
  53971. https://bugs.webkit.org/show_bug.cgi?id=64241
  53972. <rdar://problem/9507151>
  53973. Reviewed by Oliver Hunt.
  53974. * platform/mac/CursorMac.mm:
  53975. (WebCore::createNamedCursor):
  53976. Rename this from leakNamedCursor to createNamedCursor and make it return a
  53977. RetainPtr<NSCursor> instead of a raw pointer.
  53978. (WebCore::Cursor::ensurePlatformCursor):
  53979. Don't leak cursors here. We still won't deallocate cursors during shutdown (which leakNamedCursor
  53980. was said to prevent) because the cursor singletons are all allocated from the heap and are never destroyed
  53981. anyway.
  53982. 2011-07-10 Yuta Kitamura <yutak@chromium.org>
  53983. WebSocket: Add useHixie76Protocol flag to WebSocketChannel and WebSocketHandshake
  53984. https://bugs.webkit.org/show_bug.cgi?id=64244
  53985. Reviewed by Kent Tamura.
  53986. Get the value of Settings::useHixie76WebSocketProtocol() and save it in
  53987. WebSocketChannel and WebSocketHandshake instances. Obtained flag value
  53988. is not used for now.
  53989. No behavior change, thus no new tests.
  53990. * websockets/WebSocketChannel.cpp:
  53991. (WebCore::WebSocketChannel::WebSocketChannel):
  53992. WebSocketChannel is always created in context of Document (see
  53993. ThreadableWebSocketChannel::create()).
  53994. Because m_useHixie76Protocol must be passed to WebSocketHandshake
  53995. constructor, WebSocketHandshake instance is allocated dynamically
  53996. and stored in OwnPtr.
  53997. (WebCore::WebSocketChannel::connect):
  53998. (WebCore::WebSocketChannel::fail):
  53999. (WebCore::WebSocketChannel::disconnect):
  54000. (WebCore::WebSocketChannel::didOpen):
  54001. (WebCore::WebSocketChannel::didFail):
  54002. (WebCore::WebSocketChannel::processBuffer):
  54003. * websockets/WebSocketChannel.h:
  54004. * websockets/WebSocketHandshake.cpp:
  54005. (WebCore::WebSocketHandshake::WebSocketHandshake):
  54006. * websockets/WebSocketHandshake.h:
  54007. 2011-07-10 Tom Hudson <tomhudson@google.com>
  54008. Reviewed by James Robinson.
  54009. GraphicsContextSkia::drawConvexPolygon doesn't pay attention to shouldAntialias
  54010. https://bugs.webkit.org/show_bug.cgi?id=61369
  54011. * platform/graphics/skia/GraphicsContextSkia.cpp:
  54012. (WebCore::GraphicsContext::drawConvexPolygon): Pass the
  54013. shouldAntialias parameter on to Skia.
  54014. 2011-07-10 Yuzo Fujishima <yuzo@google.com>
  54015. Fix for Bug 63968 - Add comment to explain Vector usage in FontCache::purgeInactiveFontData
  54016. https://bugs.webkit.org/show_bug.cgi?id=63968
  54017. Reviewed by Dan Bernstein.
  54018. No new tests because this changes comments only.
  54019. * platform/graphics/FontCache.cpp:
  54020. (WebCore::FontCache::purgeInactiveFontData): Add explanation why SimpleFontData is not deleted in the iteration loop.
  54021. 2011-07-10 Emil A Eklund <eae@chromium.org>
  54022. Switch updateHitTestResult to to new layout types
  54023. https://bugs.webkit.org/show_bug.cgi?id=64209
  54024. Reviewed by Eric Seidel.
  54025. No new tests, no functionality changes.
  54026. * rendering/EllipsisBox.cpp:
  54027. (WebCore::EllipsisBox::nodeAtPoint):
  54028. * rendering/RenderBlock.cpp:
  54029. (WebCore::RenderBlock::hitTestFloats):
  54030. (WebCore::RenderBlock::updateHitTestResult):
  54031. * rendering/RenderBlock.h:
  54032. * rendering/RenderInline.cpp:
  54033. (WebCore::RenderInline::updateHitTestResult):
  54034. * rendering/RenderInline.h:
  54035. * rendering/RenderLineBoxList.cpp:
  54036. (WebCore::RenderLineBoxList::hitTest):
  54037. * rendering/RenderObject.cpp:
  54038. (WebCore::RenderObject::updateHitTestResult):
  54039. * rendering/RenderObject.h:
  54040. * rendering/RenderView.cpp:
  54041. (WebCore::RenderView::updateHitTestResult):
  54042. * rendering/RenderView.h:
  54043. * rendering/svg/RenderSVGContainer.cpp:
  54044. (WebCore::RenderSVGContainer::nodeAtFloatPoint):
  54045. * rendering/svg/RenderSVGImage.cpp:
  54046. (WebCore::RenderSVGImage::nodeAtFloatPoint):
  54047. * rendering/svg/RenderSVGPath.cpp:
  54048. (WebCore::RenderSVGPath::nodeAtFloatPoint):
  54049. * rendering/svg/RenderSVGRoot.cpp:
  54050. (WebCore::RenderSVGRoot::nodeAtPoint):
  54051. 2011-07-10 Patrick Gansterer <paroga@webkit.org>
  54052. Reviewed by Adam Barth.
  54053. Fix member variable order of ContextMenuItem
  54054. https://bugs.webkit.org/show_bug.cgi?id=59905
  54055. Use the same order at decleration and assignment to silence compiler warning.
  54056. * platform/ContextMenuItem.h:
  54057. 2011-07-10 Dan Bernstein <mitz@apple.com>
  54058. <rdar://problem/9750062> REGRESSION: Button text missing in many iTunes Store pages
  54059. https://bugs.webkit.org/show_bug.cgi?id=64236
  54060. Reviewed by Maciej Stachowiak.
  54061. Test: fast/css/empty-display-none.html
  54062. When an :empty selector caused an element to not have a renderer, the check for empty style
  54063. change when finishing parsing the elemenet did nothing, because it could not check if the
  54064. element’s current style was affected by :empty. The fix is to record the fact that the style
  54065. was affected by :empty in ElementRareData in the no-renderer case.
  54066. * dom/Element.cpp:
  54067. (WebCore::Element::recalcStyle): Clear the m_styleAffectedByEmpty flag.
  54068. (WebCore::checkForEmptyStyleChange): If the style is null (meaning there is no renderer), check
  54069. Element::styleAffectedByEmpty().
  54070. (WebCore::Element::setStyleAffectedByEmpty): Added. Sets the flag in rare data.
  54071. (WebCore::Element::styleAffectedByEmpty): Added. Checks for the flag in rare data.
  54072. * dom/Element.h:
  54073. * dom/ElementRareData.h:
  54074. (WebCore::ElementRareData::ElementRareData): Added m_styleAffectedByEmpty and initialized it
  54075. to false.
  54076. * dom/NodeRenderingContext.cpp:
  54077. (WebCore::NodeRendererFactory::createRendererAndStyle): If an element doesn’t need a renderer
  54078. and its style is affected by :empty, record this fact in the element by calling setStyleAffectedByEmpty().
  54079. 2011-07-10 Mark Rowe <mrowe@apple.com>
  54080. Fix the build.
  54081. * svg/properties/SVGAttributeToPropertyMap.h: Forward-declare SVGPropertyInfo as a struct
  54082. since that's what it is.
  54083. 2011-07-09 Patrick Gansterer <paroga@webkit.org>
  54084. Unreviewed WinCE build fix for r90680.
  54085. Repeat the change done in r90681 for all other SVGAnimated*PropertyTearOff.h files.
  54086. * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h: Make create public and remove friendship with SVGAnimatedProperty.
  54087. * svg/properties/SVGAnimatedListPropertyTearOff.h: Ditto.
  54088. * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Ditto.
  54089. * svg/properties/SVGAnimatedPropertyTearOff.h: Ditto.
  54090. * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: Ditto.
  54091. 2011-07-09 Nikolas Zimmermann <nzimmermann@rim.com>
  54092. Add a possibility to retrieve the associated SVGAnimatedProperty object for a certain XML attribute
  54093. https://bugs.webkit.org/show_bug.cgi?id=63797
  54094. Fix WinCE build. Funny none other platform complained.
  54095. * svg/properties/SVGAnimatedStaticPropertyTearOff.h: Make create public, SVGAnimatedProperty needs it - remove friendship with it.
  54096. 2011-07-09 Nikolas Zimmermann <nzimmermann@rim.com>
  54097. Add a possibility to retrieve the associated SVGAnimatedProperty object for a certain XML attribute
  54098. https://bugs.webkit.org/show_bug.cgi?id=63797
  54099. Reviewed by Dirk Schulze.
  54100. In order to prepare animVal support we need a way to map a given SVG DOM attribute to a SVGAnimatedProperty.
  54101. eg. SVGNames::xAttr -> SVGRectElement::xAnimated(), etc. This will be needed to update the animVal of the
  54102. SVGAnimatedProperty, if an animation is running. It would required adding a new method to all SVG* classes
  54103. that define animated properties. Unfortunately we already have lots of repeated code in methods like
  54104. synchronizeProperty / fillAttributeToPropertyTypeMap. Look at SVGRectElement for example:
  54105. void SVGRectElement::synchronizeProperty(const QualifiedName& attrName)
  54106. {
  54107. if (attrName == anyQName()) {
  54108. synchronizeX();
  54109. synchronizeY();
  54110. ...
  54111. }
  54112. if (attrName == SVGNames::xAttr) {
  54113. synchronizeX();
  54114. return;
  54115. }
  54116. if (attrName == SVGNames::yAttr) {
  54117. synchronizeY();
  54118. return;
  54119. }
  54120. ...
  54121. }
  54122. or
  54123. void SVGRectElement::fillAttributeToPropertyTypeMap()
  54124. {
  54125. AttributeToPropertyTypeMap& attributeToPropertyTypeMap = this->attributeToPropertyTypeMap();
  54126. SVGStyledTransformableElement::fillPassedAttributeToPropertyTypeMap(attributeToPropertyTypeMap);
  54127. attributeToPropertyTypeMap.set(SVGNames::xAttr, AnimatedLength);
  54128. attributeToPropertyTypeMap.set(SVGNames::yAttr, AnimatedLength);
  54129. ...
  54130. }
  54131. These lookups are all performed dynamically. Each synchronizeProperty() call does a lot of comparisons.
  54132. fillAttributeToPropertyTypeMap() isn't that bad as the result is cached in a static HashMap per-SVGRectElement.
  54133. There's no reason to do these things dynamically!
  54134. Inspired by JSC, I'm adding a "static const SVGPropertyInfo s_fooPropertyInfo" object for each animated SVG property.
  54135. For example, for SVGRectElements SVGAnimatedLength x property we're storing:
  54136. - "AnimatedPropertyType type" (AnimatedLength -- note the enum was named AnimatedAttributeType, I renamed it to AnimatedPropertyType for clarity)
  54137. - "const QualifiedName& attributeName" (SVGNames::xAttr)
  54138. - "const AtomicString& propertyIdentifier" (SVGNames::xAttr.localName() -- only different if N-wrappers map to a single XML DOM attribute, eg. orientAttr)
  54139. - "SynchronizeProperty synchronizeProperty" (callback to SVGRectElement::synchronizeX)
  54140. - "LookupOrCreateWrapperForAnimatedProperty lookupOrCreateWrapperForAnimatedProperty" (callback to SVGRectElement::xAnimated)
  54141. Using this information, we can replace all the various synchronizeProperty/fillAttributeToPropertyMap implementations, with a single one in SVGElement.
  54142. All these are auto-generated, using the standard macros used to define/declare SVG animated properties. This required several changes to the macros.
  54143. Here's a summary:
  54144. #1) In all headers, wrap DECLARE_ANIMATED_* calls, in BEGIN_DECLARE_ANIMATED_PROPERTIES(ClassName) / END_DECLARE_ANIMATED_PROPERTIES blocks.
  54145. Sample change for SVGRectElement:
  54146. - DECLARE_ANIMATED_LENGTH(X, x)
  54147. - DECLARE_ANIMATED_LENGTH(Y, y)
  54148. - ...
  54149. + BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGRectElement)
  54150. + DECLARE_ANIMATED_LENGTH(X, x)
  54151. + DECLARE_ANIMATED_LENGTH(Y, y)
  54152. + ...
  54153. + END_DECLARE_ANIMATED_PROPERTIES
  54154. #2) In all cpp files, add a new section wrapped in BEGIN_REGISTER_ANIMATED_PROPERTIES(ClassName / END_REGISTER_ANIMATED_PROPERTIES blocks:
  54155. Sample change for SVGRectElement:
  54156. +BEGIN_REGISTER_ANIMATED_PROPERTIES(SVGRectElement)
  54157. + REGISTER_LOCAL_ANIMATED_PROPERTY(x)
  54158. + REGISTER_LOCAL_ANIMATED_PROPERTY(y)
  54159. + ...
  54160. + REGISTER_PARENT_ANIMATED_PROPERTIES(SVGStyledTransformableElement)
  54161. + REGISTER_PARENT_ANIMATED_PROPERTIES(SVGTests)
  54162. +END_REGISTER_ANIMATED_PROPERTIES
  54163. This is the main piece of the logic that replaces the manual synchronizeProperty/fillAttributeToPropertyMap implementation. It expands to following:
  54164. SVGAttributeToPropertyMap& SVGRectElement::attributeToPropertyMap()
  54165. {
  54166. DEFINE_STATIC_LOCAL(SVGAttributeToPropertyMap, s_attributeToPropertyMap, ());
  54167. }
  54168. static void registerAnimatedPropertiesForSVGRectElement()
  54169. {
  54170. SVGAttributeToPropertyMap& map = SVGRectElement::attributeToPropertyMap();
  54171. if (!map.isEmpty())
  54172. return;
  54173. map.addProperty(SVGRectElement::xPropertyInfo());
  54174. map.addProperty(SVGRectElement::yPropertyInfo());
  54175. ...
  54176. map.addProperties(SVGStyledTransformableElement::attributeToPropertyMap());
  54177. map.addProperties(SVGTests::attributeToPropertyMap());
  54178. }
  54179. A single-instance of SVGAttributeToPropertyMap is created for each SVG*Element. The constructor of SVGRectElement is supposed to call
  54180. registerAnimatedPropertiesForSVGRectElement(), which collects all properties of SVGRectElement and all its parent classes and stores them
  54181. in a Vector<const SVGPropertyInfo*>. This Vector is stored in a HashMap<QualifiedName, Vector<const SVGPropertyInfo*> > where the key
  54182. is the attribute name (eg. SVGNames::xAttr -> SVGRectElement::xPropertyInfo). This is only done _once_ per SVGRectElement.
  54183. SVGElement contains a "virtual SVGAttributeToPropertyMap& localAttributeToPropertyMap()" method, and SVGRectElement overrides it
  54184. and returns SVGRectElement::attributeToPropertyMap() (which is static!) -- this is hidden again in the macros, no need to write any code.
  54185. SVGAttributeToPropertyMap provides following API:
  54186. - bool synchronizeProperty(SVGElement* contextElement, const QualifiedName& attributeName)
  54187. - void synchronizeProperties(SVGElement* contextElement)
  54188. A generic way to synchronize a SVGAnimatedProperty with its XML DOM attribute. Any SVG DOM change to eg. <rect>s x property will now trigger
  54189. contextElement->localAttributeToPropertyMap().synchronizeProperty(this, SVGNames::xAttr)
  54190. The SVGAttributeToPropertyMap will ask its HashMap for the Vector containing the properties for SVGNames::xAttr (in that case, just one xAnimated()).
  54191. - void animatedPropertyTypeForAttribute(const QualifiedName& attributeName, Vector<AnimatedPropertyType>& propertyTypes)
  54192. This method replaces the fillAttributeToPropertyMap implementations everywhere.
  54193. - void animatedPropertiesForAttribute(SVGElement* contextElement, const QualifiedName& attributeName, Vector<RefPtr<SVGAnimatedProperty> >& properties);
  54194. This method is not used yet, but allows us to collect all SVGAnimatedProperties for a QualifiedName -- the initial goal for this patch.
  54195. #3) In all cpp files, add a call to "registerAnimatedPropertiesForClassName()" in the constructor. Forgetting this will result in a compile error.
  54196. Doesn't affect any tests.
  54197. * CMakeLists.txt:
  54198. * GNUmakefile.list.am:
  54199. * WebCore.gypi:
  54200. * WebCore.pro:
  54201. * WebCore.vcproj/WebCore.vcproj:
  54202. * WebCore.xcodeproj/project.pbxproj:
  54203. * bindings/scripts/CodeGeneratorJS.pm:
  54204. (NativeToJSValue):
  54205. * bindings/scripts/CodeGeneratorObjC.pm:
  54206. (GenerateImplementation):
  54207. * bindings/scripts/CodeGeneratorV8.pm:
  54208. (GenerateNormalAttrGetter):
  54209. * svg/SVGAElement.cpp:
  54210. (WebCore::SVGAElement::SVGAElement):
  54211. * svg/SVGAElement.h:
  54212. (WebCore::SVGAElement::synchronizeRequiredFeatures):
  54213. (WebCore::SVGAElement::synchronizeRequiredExtensions):
  54214. (WebCore::SVGAElement::synchronizeSystemLanguage):
  54215. * svg/SVGAltGlyphElement.cpp:
  54216. (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
  54217. * svg/SVGAltGlyphElement.h:
  54218. * svg/SVGAnimateElement.cpp:
  54219. (WebCore::SVGAnimateElement::SVGAnimateElement):
  54220. (WebCore::SVGAnimateElement::hasValidAttributeType):
  54221. (WebCore::SVGAnimateElement::determineAnimatedPropertyType):
  54222. (WebCore::SVGAnimateElement::determinePropertyValueTypes):
  54223. (WebCore::SVGAnimateElement::calculateAnimatedValue):
  54224. (WebCore::SVGAnimateElement::calculateFromAndToValues):
  54225. (WebCore::SVGAnimateElement::calculateFromAndByValues):
  54226. (WebCore::SVGAnimateElement::resetToBaseValue):
  54227. (WebCore::SVGAnimateElement::applyResultsToTarget):
  54228. (WebCore::SVGAnimateElement::calculateDistance):
  54229. (WebCore::SVGAnimateElement::ensureAnimator):
  54230. * svg/SVGAnimateElement.h:
  54231. * svg/SVGAnimateTransformElement.cpp:
  54232. (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
  54233. (WebCore::SVGAnimateTransformElement::determineAnimatedPropertyType):
  54234. (WebCore::SVGAnimateTransformElement::resetToBaseValue):
  54235. (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
  54236. (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
  54237. * svg/SVGAnimateTransformElement.h:
  54238. * svg/SVGAnimatedAngle.h:
  54239. * svg/SVGAnimatedBoolean.h:
  54240. * svg/SVGAnimatedEnumeration.h:
  54241. * svg/SVGAnimatedInteger.h:
  54242. * svg/SVGAnimatedLength.h:
  54243. * svg/SVGAnimatedLengthList.h:
  54244. * svg/SVGAnimatedNumber.h:
  54245. * svg/SVGAnimatedNumberList.h:
  54246. * svg/SVGAnimatedPreserveAspectRatio.h:
  54247. * svg/SVGAnimatedRect.h:
  54248. * svg/SVGAnimatedString.h:
  54249. * svg/SVGAnimatedTransformList.h:
  54250. * svg/SVGAnimatedType.cpp:
  54251. (WebCore::SVGAnimatedType::SVGAnimatedType):
  54252. * svg/SVGAnimatedType.h:
  54253. (WebCore::SVGAnimatedType::type):
  54254. * svg/SVGAnimatedTypeAnimator.h:
  54255. (WebCore::SVGAnimatedTypeAnimator::SVGAnimatedTypeAnimator):
  54256. * svg/SVGAnimationElement.cpp:
  54257. (WebCore::SVGAnimationElement::SVGAnimationElement):
  54258. (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
  54259. * svg/SVGAnimationElement.h:
  54260. (WebCore::SVGAnimationElement::synchronizeRequiredFeatures):
  54261. (WebCore::SVGAnimationElement::synchronizeRequiredExtensions):
  54262. (WebCore::SVGAnimationElement::synchronizeSystemLanguage):
  54263. * svg/SVGAnimatorFactory.h:
  54264. (WebCore::SVGAnimatorFactory::create):
  54265. * svg/SVGCircleElement.cpp:
  54266. (WebCore::SVGCircleElement::SVGCircleElement):
  54267. * svg/SVGCircleElement.h:
  54268. (WebCore::SVGCircleElement::synchronizeRequiredFeatures):
  54269. (WebCore::SVGCircleElement::synchronizeRequiredExtensions):
  54270. (WebCore::SVGCircleElement::synchronizeSystemLanguage):
  54271. * svg/SVGClipPathElement.cpp:
  54272. (WebCore::SVGClipPathElement::SVGClipPathElement):
  54273. * svg/SVGClipPathElement.h:
  54274. (WebCore::SVGClipPathElement::synchronizeRequiredFeatures):
  54275. (WebCore::SVGClipPathElement::synchronizeRequiredExtensions):
  54276. (WebCore::SVGClipPathElement::synchronizeSystemLanguage):
  54277. * svg/SVGComponentTransferFunctionElement.cpp:
  54278. (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
  54279. * svg/SVGComponentTransferFunctionElement.h:
  54280. * svg/SVGCursorElement.cpp:
  54281. (WebCore::SVGCursorElement::SVGCursorElement):
  54282. * svg/SVGCursorElement.h:
  54283. (WebCore::SVGCursorElement::synchronizeRequiredFeatures):
  54284. (WebCore::SVGCursorElement::synchronizeRequiredExtensions):
  54285. (WebCore::SVGCursorElement::synchronizeSystemLanguage):
  54286. * svg/SVGDefsElement.cpp:
  54287. (WebCore::SVGDefsElement::SVGDefsElement):
  54288. * svg/SVGDefsElement.h:
  54289. (WebCore::SVGDefsElement::synchronizeRequiredFeatures):
  54290. (WebCore::SVGDefsElement::synchronizeRequiredExtensions):
  54291. (WebCore::SVGDefsElement::synchronizeSystemLanguage):
  54292. * svg/SVGElement.cpp:
  54293. (WebCore::SVGElement::animatedPropertyTypeForAttribute):
  54294. (WebCore::SVGElement::updateAnimatedSVGAttribute):
  54295. (WebCore::SVGElement::localAttributeToPropertyMap):
  54296. (WebCore::SVGElement::synchronizeRequiredFeatures):
  54297. (WebCore::SVGElement::synchronizeRequiredExtensions):
  54298. (WebCore::SVGElement::synchronizeSystemLanguage):
  54299. * svg/SVGElement.h:
  54300. (WebCore::SVGElement::svgAttributeChanged):
  54301. (WebCore::SVGElement::synchronizeRequiredFeatures):
  54302. (WebCore::SVGElement::synchronizeRequiredExtensions):
  54303. (WebCore::SVGElement::synchronizeSystemLanguage):
  54304. * svg/SVGEllipseElement.cpp:
  54305. (WebCore::SVGEllipseElement::SVGEllipseElement):
  54306. * svg/SVGEllipseElement.h:
  54307. (WebCore::SVGEllipseElement::synchronizeRequiredFeatures):
  54308. (WebCore::SVGEllipseElement::synchronizeRequiredExtensions):
  54309. (WebCore::SVGEllipseElement::synchronizeSystemLanguage):
  54310. * svg/SVGFEBlendElement.cpp:
  54311. (WebCore::SVGFEBlendElement::SVGFEBlendElement):
  54312. * svg/SVGFEBlendElement.h:
  54313. * svg/SVGFEColorMatrixElement.cpp:
  54314. (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
  54315. * svg/SVGFEColorMatrixElement.h:
  54316. * svg/SVGFEComponentTransferElement.cpp:
  54317. (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
  54318. * svg/SVGFEComponentTransferElement.h:
  54319. * svg/SVGFECompositeElement.cpp:
  54320. (WebCore::SVGFECompositeElement::SVGFECompositeElement):
  54321. * svg/SVGFECompositeElement.h:
  54322. * svg/SVGFEConvolveMatrixElement.cpp:
  54323. (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
  54324. * svg/SVGFEConvolveMatrixElement.h:
  54325. * svg/SVGFEDiffuseLightingElement.cpp:
  54326. (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
  54327. * svg/SVGFEDiffuseLightingElement.h:
  54328. * svg/SVGFEDisplacementMapElement.cpp:
  54329. (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
  54330. * svg/SVGFEDisplacementMapElement.h:
  54331. * svg/SVGFEDropShadowElement.cpp:
  54332. (WebCore::SVGFEDropShadowElement::SVGFEDropShadowElement):
  54333. * svg/SVGFEDropShadowElement.h:
  54334. * svg/SVGFEFloodElement.cpp:
  54335. * svg/SVGFEFloodElement.h:
  54336. * svg/SVGFEGaussianBlurElement.cpp:
  54337. (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
  54338. * svg/SVGFEGaussianBlurElement.h:
  54339. * svg/SVGFEImageElement.cpp:
  54340. (WebCore::SVGFEImageElement::SVGFEImageElement):
  54341. * svg/SVGFEImageElement.h:
  54342. * svg/SVGFELightElement.cpp:
  54343. (WebCore::SVGFELightElement::SVGFELightElement):
  54344. * svg/SVGFELightElement.h:
  54345. * svg/SVGFEMergeElement.cpp:
  54346. * svg/SVGFEMergeElement.h:
  54347. * svg/SVGFEMergeNodeElement.cpp:
  54348. (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
  54349. * svg/SVGFEMergeNodeElement.h:
  54350. * svg/SVGFEMorphologyElement.cpp:
  54351. (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
  54352. * svg/SVGFEMorphologyElement.h:
  54353. * svg/SVGFEOffsetElement.cpp:
  54354. (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
  54355. * svg/SVGFEOffsetElement.h:
  54356. * svg/SVGFESpecularLightingElement.cpp:
  54357. (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
  54358. * svg/SVGFESpecularLightingElement.h:
  54359. * svg/SVGFETileElement.cpp:
  54360. (WebCore::SVGFETileElement::SVGFETileElement):
  54361. * svg/SVGFETileElement.h:
  54362. * svg/SVGFETurbulenceElement.cpp:
  54363. (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
  54364. * svg/SVGFETurbulenceElement.h:
  54365. * svg/SVGFilterElement.cpp:
  54366. (WebCore::SVGFilterElement::SVGFilterElement):
  54367. * svg/SVGFilterElement.h:
  54368. * svg/SVGFilterPrimitiveStandardAttributes.cpp:
  54369. (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
  54370. * svg/SVGFilterPrimitiveStandardAttributes.h:
  54371. * svg/SVGFitToViewBox.cpp:
  54372. * svg/SVGFitToViewBox.h:
  54373. * svg/SVGFontElement.cpp:
  54374. (WebCore::SVGFontElement::SVGFontElement):
  54375. * svg/SVGFontElement.h:
  54376. (WebCore::SVGFontElement::rendererIsNeeded):
  54377. * svg/SVGForeignObjectElement.cpp:
  54378. (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
  54379. * svg/SVGForeignObjectElement.h:
  54380. (WebCore::SVGForeignObjectElement::synchronizeRequiredFeatures):
  54381. (WebCore::SVGForeignObjectElement::synchronizeRequiredExtensions):
  54382. (WebCore::SVGForeignObjectElement::synchronizeSystemLanguage):
  54383. * svg/SVGGElement.cpp:
  54384. (WebCore::SVGGElement::SVGGElement):
  54385. * svg/SVGGElement.h:
  54386. (WebCore::SVGGElement::synchronizeRequiredFeatures):
  54387. (WebCore::SVGGElement::synchronizeRequiredExtensions):
  54388. (WebCore::SVGGElement::synchronizeSystemLanguage):
  54389. * svg/SVGGlyphElement.cpp:
  54390. * svg/SVGGlyphElement.h:
  54391. * svg/SVGGradientElement.cpp:
  54392. (WebCore::SVGGradientElement::SVGGradientElement):
  54393. (WebCore::SVGGradientElement::svgAttributeChanged):
  54394. * svg/SVGGradientElement.h:
  54395. * svg/SVGImageElement.cpp:
  54396. (WebCore::SVGImageElement::SVGImageElement):
  54397. * svg/SVGImageElement.h:
  54398. (WebCore::SVGImageElement::synchronizeRequiredFeatures):
  54399. (WebCore::SVGImageElement::synchronizeRequiredExtensions):
  54400. (WebCore::SVGImageElement::synchronizeSystemLanguage):
  54401. * svg/SVGLineElement.cpp:
  54402. (WebCore::SVGLineElement::SVGLineElement):
  54403. * svg/SVGLineElement.h:
  54404. (WebCore::SVGLineElement::synchronizeRequiredFeatures):
  54405. (WebCore::SVGLineElement::synchronizeRequiredExtensions):
  54406. (WebCore::SVGLineElement::synchronizeSystemLanguage):
  54407. * svg/SVGLinearGradientElement.cpp:
  54408. (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
  54409. * svg/SVGLinearGradientElement.h:
  54410. * svg/SVGMPathElement.cpp:
  54411. (WebCore::SVGMPathElement::SVGMPathElement):
  54412. * svg/SVGMPathElement.h:
  54413. * svg/SVGMarkerElement.cpp:
  54414. (WebCore::SVGMarkerElement::orientTypePropertyInfo):
  54415. (WebCore::SVGMarkerElement::SVGMarkerElement):
  54416. (WebCore::SVGMarkerElement::setOrientToAuto):
  54417. (WebCore::SVGMarkerElement::setOrientToAngle):
  54418. (WebCore::SVGMarkerElement::synchronizeOrientType):
  54419. (WebCore::SVGMarkerElement::lookupOrCreateOrientTypeWrapper):
  54420. (WebCore::SVGMarkerElement::orientTypeAnimated):
  54421. * svg/SVGMarkerElement.h:
  54422. * svg/SVGMaskElement.cpp:
  54423. (WebCore::SVGMaskElement::SVGMaskElement):
  54424. * svg/SVGMaskElement.h:
  54425. (WebCore::SVGMaskElement::synchronizeRequiredFeatures):
  54426. (WebCore::SVGMaskElement::synchronizeRequiredExtensions):
  54427. (WebCore::SVGMaskElement::synchronizeSystemLanguage):
  54428. * svg/SVGMissingGlyphElement.cpp:
  54429. * svg/SVGMissingGlyphElement.h:
  54430. * svg/SVGPathElement.cpp:
  54431. (WebCore::SVGPathElement::dPropertyInfo):
  54432. (WebCore::SVGPathElement::SVGPathElement):
  54433. (WebCore::SVGPathElement::svgAttributeChanged):
  54434. (WebCore::SVGPathElement::lookupOrCreateDWrapper):
  54435. (WebCore::SVGPathElement::synchronizeD):
  54436. (WebCore::SVGPathElement::pathSegList):
  54437. (WebCore::SVGPathElement::animatedPathSegList):
  54438. * svg/SVGPathElement.h:
  54439. (WebCore::SVGPathElement::pathByteStream):
  54440. (WebCore::SVGPathElement::synchronizeRequiredFeatures):
  54441. (WebCore::SVGPathElement::synchronizeRequiredExtensions):
  54442. (WebCore::SVGPathElement::synchronizeSystemLanguage):
  54443. * svg/SVGPathSegWithContext.h:
  54444. (WebCore::SVGPathSegWithContext::animatedProperty):
  54445. * svg/SVGPatternElement.cpp:
  54446. (WebCore::SVGPatternElement::SVGPatternElement):
  54447. * svg/SVGPatternElement.h:
  54448. (WebCore::SVGPatternElement::synchronizeRequiredFeatures):
  54449. (WebCore::SVGPatternElement::synchronizeRequiredExtensions):
  54450. (WebCore::SVGPatternElement::synchronizeSystemLanguage):
  54451. * svg/SVGPolyElement.cpp:
  54452. (WebCore::SVGPolyElement::pointsPropertyInfo):
  54453. (WebCore::SVGPolyElement::SVGPolyElement):
  54454. (WebCore::SVGPolyElement::parseMappedAttribute):
  54455. (WebCore::SVGPolyElement::synchronizePoints):
  54456. (WebCore::SVGPolyElement::lookupOrCreatePointsWrapper):
  54457. (WebCore::SVGPolyElement::points):
  54458. (WebCore::SVGPolyElement::animatedPoints):
  54459. * svg/SVGPolyElement.h:
  54460. (WebCore::SVGPolyElement::synchronizeRequiredFeatures):
  54461. (WebCore::SVGPolyElement::synchronizeRequiredExtensions):
  54462. (WebCore::SVGPolyElement::synchronizeSystemLanguage):
  54463. * svg/SVGRadialGradientElement.cpp:
  54464. (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
  54465. * svg/SVGRadialGradientElement.h:
  54466. * svg/SVGRectElement.cpp:
  54467. (WebCore::SVGRectElement::SVGRectElement):
  54468. * svg/SVGRectElement.h:
  54469. (WebCore::SVGRectElement::synchronizeRequiredFeatures):
  54470. (WebCore::SVGRectElement::synchronizeRequiredExtensions):
  54471. (WebCore::SVGRectElement::synchronizeSystemLanguage):
  54472. * svg/SVGSVGElement.cpp:
  54473. (WebCore::SVGSVGElement::SVGSVGElement):
  54474. * svg/SVGSVGElement.h:
  54475. (WebCore::SVGSVGElement::synchronizeRequiredFeatures):
  54476. (WebCore::SVGSVGElement::synchronizeRequiredExtensions):
  54477. (WebCore::SVGSVGElement::synchronizeSystemLanguage):
  54478. * svg/SVGScriptElement.cpp:
  54479. (WebCore::SVGScriptElement::SVGScriptElement):
  54480. * svg/SVGScriptElement.h:
  54481. * svg/SVGStopElement.cpp:
  54482. (WebCore::SVGStopElement::SVGStopElement):
  54483. * svg/SVGStopElement.h:
  54484. * svg/SVGStyledElement.cpp:
  54485. (WebCore::SVGStyledElement::SVGStyledElement):
  54486. (WebCore::cssPropertyToTypeMap):
  54487. (WebCore::SVGStyledElement::animatedPropertyTypeForAttribute):
  54488. * svg/SVGStyledElement.h:
  54489. * svg/SVGStyledTransformableElement.cpp:
  54490. (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
  54491. * svg/SVGStyledTransformableElement.h:
  54492. * svg/SVGSwitchElement.cpp:
  54493. (WebCore::SVGSwitchElement::SVGSwitchElement):
  54494. * svg/SVGSwitchElement.h:
  54495. (WebCore::SVGSwitchElement::synchronizeRequiredFeatures):
  54496. (WebCore::SVGSwitchElement::synchronizeRequiredExtensions):
  54497. (WebCore::SVGSwitchElement::synchronizeSystemLanguage):
  54498. * svg/SVGSymbolElement.cpp:
  54499. (WebCore::SVGSymbolElement::SVGSymbolElement):
  54500. * svg/SVGSymbolElement.h:
  54501. * svg/SVGTRefElement.cpp:
  54502. (WebCore::SVGTRefElement::SVGTRefElement):
  54503. * svg/SVGTRefElement.h:
  54504. * svg/SVGTSpanElement.cpp:
  54505. * svg/SVGTSpanElement.h:
  54506. * svg/SVGTests.cpp:
  54507. (WebCore::SVGTests::requiredFeaturesPropertyInfo):
  54508. (WebCore::SVGTests::requiredExtensionsPropertyInfo):
  54509. (WebCore::SVGTests::systemLanguagePropertyInfo):
  54510. (WebCore::SVGTests::attributeToPropertyMap):
  54511. (WebCore::SVGTests::synchronizeRequiredFeatures):
  54512. (WebCore::SVGTests::synchronizeRequiredExtensions):
  54513. (WebCore::SVGTests::synchronizeSystemLanguage):
  54514. * svg/SVGTests.h:
  54515. * svg/SVGTextContentElement.cpp:
  54516. (WebCore::SVGTextContentElement::textLengthPropertyInfo):
  54517. (WebCore::SVGTextContentElement::SVGTextContentElement):
  54518. (WebCore::SVGTextContentElement::synchronizeTextLength):
  54519. (WebCore::SVGTextContentElement::lookupOrCreateTextLengthWrapper):
  54520. (WebCore::SVGTextContentElement::textLengthAnimated):
  54521. * svg/SVGTextContentElement.h:
  54522. (WebCore::SVGTextContentElement::synchronizeRequiredFeatures):
  54523. (WebCore::SVGTextContentElement::synchronizeRequiredExtensions):
  54524. (WebCore::SVGTextContentElement::synchronizeSystemLanguage):
  54525. * svg/SVGTextElement.cpp:
  54526. (WebCore::SVGTextElement::SVGTextElement):
  54527. * svg/SVGTextElement.h:
  54528. * svg/SVGTextPathElement.cpp:
  54529. (WebCore::SVGTextPathElement::SVGTextPathElement):
  54530. * svg/SVGTextPathElement.h:
  54531. * svg/SVGTextPositioningElement.cpp:
  54532. (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
  54533. * svg/SVGTextPositioningElement.h:
  54534. * svg/SVGTitleElement.cpp:
  54535. * svg/SVGTitleElement.h:
  54536. (WebCore::SVGTitleElement::rendererIsNeeded):
  54537. * svg/SVGUseElement.cpp:
  54538. (WebCore::SVGUseElement::SVGUseElement):
  54539. * svg/SVGUseElement.h:
  54540. (WebCore::SVGUseElement::synchronizeRequiredFeatures):
  54541. (WebCore::SVGUseElement::synchronizeRequiredExtensions):
  54542. (WebCore::SVGUseElement::synchronizeSystemLanguage):
  54543. * svg/SVGViewElement.cpp:
  54544. (WebCore::SVGViewElement::SVGViewElement):
  54545. * svg/SVGViewElement.h:
  54546. * svg/SVGViewSpec.cpp:
  54547. (WebCore::SVGViewSpec::SVGViewSpec):
  54548. * svg/SVGViewSpec.h:
  54549. * svg/properties/SVGAnimatedProperty.h:
  54550. (WebCore::SVGAnimatedProperty::lookupOrCreateWrapper):
  54551. (WebCore::SVGAnimatedProperty::lookupWrapper):
  54552. * svg/properties/SVGAnimatedPropertyMacros.h:
  54553. * svg/properties/SVGAnimatedPropertySynchronizer.h:
  54554. * svg/properties/SVGAttributeToPropertyMap.cpp: Added.
  54555. (WebCore::SVGAttributeToPropertyMap::addProperties):
  54556. (WebCore::SVGAttributeToPropertyMap::addProperty):
  54557. (WebCore::SVGAttributeToPropertyMap::animatedPropertiesForAttribute):
  54558. (WebCore::SVGAttributeToPropertyMap::animatedPropertyTypeForAttribute):
  54559. (WebCore::SVGAttributeToPropertyMap::synchronizeProperties):
  54560. (WebCore::SVGAttributeToPropertyMap::synchronizeProperty):
  54561. (WebCore::SVGAttributeToPropertyMap::animatedProperty):
  54562. * svg/properties/SVGAttributeToPropertyMap.h: Added.
  54563. (WebCore::SVGAttributeToPropertyMap::SVGAttributeToPropertyMap):
  54564. (WebCore::SVGAttributeToPropertyMap::~SVGAttributeToPropertyMap):
  54565. (WebCore::SVGAttributeToPropertyMap::isEmpty):
  54566. * svg/properties/SVGPropertyInfo.h: Added.
  54567. (WebCore::SVGPropertyInfo::SVGPropertyInfo):
  54568. 2011-07-09 Patrick Gansterer <paroga@webkit.org>
  54569. Unreviewed build fix after r90676.
  54570. * platform/graphics/ImageBuffer.cpp:
  54571. 2011-07-08 Dirk Schulze <krit@webkit.org>
  54572. Refactoring luminance code in RenderSVGResourceMasker
  54573. https://bugs.webkit.org/show_bug.cgi?id=64146
  54574. Reviewed by Simon Fraser.
  54575. Moved luminance calculcation code to ImageBuffer. The code is doing pixel manipulations and can now get replaced
  54576. by platform specific algorithms in the ImmageBuffer*.cpp files.
  54577. No change of functionality. No new tests.
  54578. * WebCore.xcodeproj/project.pbxproj:
  54579. * platform/graphics/ImageBuffer.cpp:
  54580. (WebCore::ImageBuffer::transformColorSpace):
  54581. (WebCore::ImageBuffer::genericConvertToLuminanceMask):
  54582. (WebCore::ImageBuffer::convertToLuminanceMask):
  54583. * platform/graphics/ImageBuffer.h:
  54584. * rendering/svg/RenderSVGResourceMasker.cpp:
  54585. (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
  54586. 2011-07-08 Simon Fraser <simon.fraser@apple.com>
  54587. Clean up RenderWidget::destroy() to share more code
  54588. https://bugs.webkit.org/show_bug.cgi?id=64138
  54589. Reviewed by James Robinson.
  54590. RenderWidget::destroy() copied code from various other
  54591. destroy() methods, which made code maintenance in this
  54592. area very risky.
  54593. Fix by adding a virtual willBeDestroyed() method, which
  54594. replaces most instances of destroy(). Now, only RenderWidget
  54595. and RenderObject implement destroy(), and each just calls
  54596. willBeDestroyed(). Code duplication is averted.
  54597. No behavior change, so no tests.
  54598. * rendering/RenderBlock.cpp:
  54599. (WebCore::RenderBlock::willBeDestroyed):
  54600. * rendering/RenderBlock.h:
  54601. * rendering/RenderBox.cpp:
  54602. (WebCore::RenderBox::willBeDestroyed):
  54603. * rendering/RenderBox.h:
  54604. * rendering/RenderBoxModelObject.cpp:
  54605. (WebCore::RenderBoxModelObject::willBeDestroyed):
  54606. * rendering/RenderBoxModelObject.h:
  54607. * rendering/RenderFullScreen.cpp:
  54608. (RenderFullScreenPlaceholder::willBeDestroyed):
  54609. (RenderFullScreen::willBeDestroyed):
  54610. * rendering/RenderFullScreen.h:
  54611. * rendering/RenderInline.cpp:
  54612. (WebCore::RenderInline::willBeDestroyed):
  54613. * rendering/RenderInline.h:
  54614. * rendering/RenderListItem.cpp:
  54615. (WebCore::RenderListItem::willBeDestroyed):
  54616. * rendering/RenderListItem.h:
  54617. * rendering/RenderObject.cpp:
  54618. (WebCore::RenderObject::willBeDestroyed):
  54619. (WebCore::RenderObject::destroy):
  54620. * rendering/RenderObject.h:
  54621. * rendering/RenderReplaced.cpp:
  54622. (WebCore::RenderReplaced::willBeDestroyed):
  54623. * rendering/RenderReplaced.h:
  54624. * rendering/RenderTableCell.cpp:
  54625. (WebCore::RenderTableCell::willBeDestroyed):
  54626. * rendering/RenderTableCell.h:
  54627. * rendering/RenderTableRow.cpp:
  54628. (WebCore::RenderTableRow::willBeDestroyed):
  54629. * rendering/RenderTableRow.h:
  54630. * rendering/RenderTableSection.cpp:
  54631. (WebCore::RenderTableSection::willBeDestroyed):
  54632. * rendering/RenderTableSection.h:
  54633. * rendering/RenderText.cpp:
  54634. (WebCore::RenderText::willBeDestroyed):
  54635. * rendering/RenderText.h:
  54636. * rendering/RenderTextFragment.cpp:
  54637. (WebCore::RenderTextFragment::willBeDestroyed):
  54638. * rendering/RenderTextFragment.h:
  54639. * rendering/RenderWidget.cpp:
  54640. (WebCore::RenderWidget::willBeDestroyed):
  54641. (WebCore::RenderWidget::destroy):
  54642. * rendering/RenderWidget.h:
  54643. * rendering/svg/RenderSVGBlock.cpp:
  54644. (WebCore::RenderSVGBlock::willBeDestroyed):
  54645. * rendering/svg/RenderSVGBlock.h:
  54646. * rendering/svg/RenderSVGInline.cpp:
  54647. (WebCore::RenderSVGInline::willBeDestroyed):
  54648. * rendering/svg/RenderSVGInline.h:
  54649. * rendering/svg/RenderSVGInlineText.cpp:
  54650. (WebCore::RenderSVGInlineText::willBeDestroyed):
  54651. * rendering/svg/RenderSVGInlineText.h:
  54652. * rendering/svg/RenderSVGModelObject.cpp:
  54653. (WebCore::RenderSVGModelObject::willBeDestroyed):
  54654. * rendering/svg/RenderSVGModelObject.h:
  54655. * rendering/svg/RenderSVGResourceContainer.cpp:
  54656. (WebCore::RenderSVGResourceContainer::willBeDestroyed):
  54657. * rendering/svg/RenderSVGResourceContainer.h:
  54658. * rendering/svg/RenderSVGRoot.cpp:
  54659. (WebCore::RenderSVGRoot::willBeDestroyed):
  54660. * rendering/svg/RenderSVGRoot.h:
  54661. * rendering/svg/SVGResourcesCache.h:
  54662. 2011-07-08 Adam Barth <abarth@webkit.org>
  54663. Unreviewed, rolling out r90662.
  54664. http://trac.webkit.org/changeset/90662
  54665. https://bugs.webkit.org/show_bug.cgi?id=64210
  54666. Introduced regressions in Chromium browser tests (Requested by
  54667. rniwa on #webkit).
  54668. * accessibility/AccessibilityRenderObject.cpp:
  54669. (WebCore::AccessibilityRenderObject::selectedText):
  54670. (WebCore::AccessibilityRenderObject::selectedTextRange):
  54671. (WebCore::AccessibilityRenderObject::setSelectedTextRange):
  54672. * html/HTMLFormControlElement.cpp:
  54673. (WebCore::HTMLTextFormControlElement::setSelectionRange):
  54674. (WebCore::HTMLTextFormControlElement::selectionStart):
  54675. (WebCore::HTMLTextFormControlElement::selectionEnd):
  54676. (WebCore::HTMLTextFormControlElement::selection):
  54677. (WebCore::HTMLTextFormControlElement::restoreCachedSelection):
  54678. (WebCore::HTMLTextFormControlElement::selectionChanged):
  54679. * html/HTMLFormControlElement.h:
  54680. * html/HTMLInputElement.cpp:
  54681. (WebCore::HTMLInputElement::setValue):
  54682. * rendering/RenderTextControl.cpp:
  54683. (WebCore::RenderTextControl::selectionStart):
  54684. (WebCore::RenderTextControl::selectionEnd):
  54685. (WebCore::RenderTextControl::hasVisibleTextArea):
  54686. (WebCore::setSelectionRange):
  54687. (WebCore::setContainerAndOffsetForRange):
  54688. (WebCore::RenderTextControl::selection):
  54689. * rendering/RenderTextControl.h:
  54690. 2011-07-08 Brian Salomon <bsalomon@google.com>
  54691. Make GL context current before updating layer texture using skia-gpu
  54692. https://bugs.webkit.org/show_bug.cgi?id=64206
  54693. Reviewed by James Robinson.
  54694. Covered by existing tests (when accelerated drawing and compositing are on).
  54695. * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
  54696. (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
  54697. 2011-07-08 Tony Chang <tony@chromium.org>
  54698. Refactor override size to be a size rather than just an int
  54699. https://bugs.webkit.org/show_bug.cgi?id=64195
  54700. Reviewed by David Hyatt.
  54701. Also convert to LayoutSize and LayoutUnit.
  54702. Covered by existing tests.
  54703. * rendering/RenderBox.cpp:
  54704. (WebCore::RenderBox::overrideSize): Pass in a LayoutSize.
  54705. (WebCore::RenderBox::setOverrideSize):
  54706. (WebCore::RenderBox::clearOverrideSize): New method for clearing the
  54707. override size (previous we would pass in -1)
  54708. (WebCore::RenderBox::overrideWidth):
  54709. (WebCore::RenderBox::overrideHeight):
  54710. (WebCore::RenderBox::computeLogicalWidth):
  54711. (WebCore::RenderBox::computeLogicalHeight):
  54712. (WebCore::RenderBox::computePercentageLogicalHeight):
  54713. (WebCore::RenderBox::availableLogicalHeightUsing):
  54714. * rendering/RenderBox.h:
  54715. * rendering/RenderDeprecatedFlexibleBox.cpp:
  54716. (WebCore::gatherFlexChildrenInfo):
  54717. (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
  54718. (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
  54719. (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
  54720. * rendering/RenderTableCell.cpp:
  54721. (WebCore::RenderTableCell::setOverrideSizeFromRowHeight):
  54722. * rendering/RenderTableCell.h: Remove setOverrideSize since it was
  54723. only called in one place to clear the override size. Inline this
  54724. logic instead.
  54725. * rendering/RenderTableSection.cpp:
  54726. (WebCore::RenderTableSection::calcRowLogicalHeight):
  54727. * rendering/RenderWidget.cpp:
  54728. (WebCore::RenderWidget::destroy):
  54729. 2011-07-08 Emil A Eklund <eae@chromium.org>
  54730. Switch pointInContainer and accumulatedOffset to to new layout types
  54731. https://bugs.webkit.org/show_bug.cgi?id=64112
  54732. Reviewed by Eric Seidel.
  54733. Convert remaining IntPoint versions of the pointInContainer and
  54734. accumulatedOffset arguments to the new layout abstraction.
  54735. No new tests, no functionality changes.
  54736. * rendering/HitTestResult.cpp:
  54737. (WebCore::HitTestResult::addNodeToRectBasedTestResult):
  54738. * rendering/HitTestResult.h:
  54739. * rendering/RenderBlock.cpp:
  54740. (WebCore::RenderBlock::isPointInOverflowControl):
  54741. * rendering/RenderBlock.h:
  54742. * rendering/RenderBox.cpp:
  54743. (WebCore::RenderBox::pushContentsClip):
  54744. (WebCore::RenderBox::popContentsClip):
  54745. * rendering/RenderBox.h:
  54746. * rendering/RenderEmbeddedObject.cpp:
  54747. (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
  54748. * rendering/RenderEmbeddedObject.h:
  54749. * rendering/RenderLineBoxList.cpp:
  54750. (WebCore::RenderLineBoxList::hitTest):
  54751. * rendering/RenderLineBoxList.h:
  54752. * rendering/RenderListBox.cpp:
  54753. (WebCore::RenderListBox::isPointInOverflowControl):
  54754. * rendering/RenderListBox.h:
  54755. * rendering/RenderObject.cpp:
  54756. (WebCore::RenderObject::hitTest):
  54757. * rendering/RenderObject.h:
  54758. * rendering/RenderTextControl.cpp:
  54759. (WebCore::RenderTextControl::hitInnerTextElement):
  54760. * rendering/RenderTextControl.h:
  54761. * rendering/RenderTextControlSingleLine.cpp:
  54762. (WebCore::RenderTextControlSingleLine::nodeAtPoint):
  54763. 2011-07-07 Ryosuke Niwa <rniwa@webkit.org>
  54764. Move selection related code from RenderTextControl to HTMLTextFormControlElement
  54765. https://bugs.webkit.org/show_bug.cgi?id=64133
  54766. Reviewed by Dimitri Glazkov.
  54767. Moved selectionStart, selectionEnd, hasVisibleTextArea, setSelectionRange, setContainerAndOffsetForRange
  54768. and selection from RenderTextControl.cpp to HTMLFormControlElement.cpp.
  54769. This refactoring removes RenderTextControl's dependency on FrameSelection.
  54770. * accessibility/AccessibilityRenderObject.cpp:
  54771. (WebCore::AccessibilityRenderObject::selectedText): Calls HTMLTextFromControl::selectedText.
  54772. (WebCore::AccessibilityRenderObject::selectedTextRange): Calls selectionStart and selectionEnd.
  54773. (WebCore::AccessibilityRenderObject::setSelectedTextRange): Ditto.
  54774. * html/HTMLFormControlElement.cpp:
  54775. (WebCore::HTMLTextFormControlElement::selectedText): Extracted from AccessibilityRenderObject::selectedText.
  54776. (WebCore::hasVisibleTextArea):
  54777. (WebCore::HTMLTextFormControlElement::setSelectionRange): Merged with the function of the same name in
  54778. RenderTextControl.
  54779. (WebCore::HTMLTextFormControlElement::selectionStart): Ditto.
  54780. (WebCore::HTMLTextFormControlElement::selectionEnd): Ditto.
  54781. (WebCore::setContainerAndOffsetForRange): Moved from RenderTextControl.cpp
  54782. (WebCore::HTMLTextFormControlElement::selection): Merged with the function of the same name in RenderTextControl.
  54783. (WebCore::HTMLTextFormControlElement::selectionChanged): Calls selectionStart and selectionEnd.
  54784. * html/HTMLFormControlElement.h:
  54785. (WebCore::HTMLTextFormControlElement::restoreCachedSelection): Moved from HTMLFormControlElement.cpp now that
  54786. all functions are self-contained in HTMLTextFormControlElement.
  54787. * html/HTMLInputElement.cpp:
  54788. (WebCore::HTMLInputElement::setValue): Calls setSelectionRange.
  54789. * rendering/RenderTextControl.cpp:
  54790. (WebCore::RenderTextControl::textFormControlElement): Added.
  54791. * rendering/RenderTextControl.h:
  54792. 2011-07-08 Mike Reed <reed@google.com>
  54793. remove (empty) indirection between GraphicsContextPlatformPrivate and PlatformContextSkia
  54794. https://bugs.webkit.org/show_bug.cgi?id=64178
  54795. Reviewed by Stephen White.
  54796. No new tests. no functionality change, other than removing an indirection that is not needed
  54797. * platform/graphics/GraphicsContext.h:
  54798. * platform/graphics/skia/GraphicsContextPlatformPrivate.h: Removed.
  54799. * platform/graphics/skia/GraphicsContextSkia.cpp:
  54800. (WebCore::GraphicsContext::platformInit):
  54801. (WebCore::GraphicsContext::platformDestroy):
  54802. (WebCore::GraphicsContext::platformContext):
  54803. 2011-07-08 Jeffrey Pfau <jpfau@apple.com>
  54804. Add framework for a new/dummy XMLDocumentParser
  54805. https://bugs.webkit.org/show_bug.cgi?id=63955
  54806. Reviewed by Adam Barth.
  54807. Added a dummy framework NewXMLDocumentParser
  54808. * WebCore.xcodeproj/project.pbxproj:
  54809. * dom/Document.cpp:
  54810. (WebCore::Document::createParser):
  54811. * xml/parser/NewXMLDocumentParser.cpp: Added.
  54812. (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
  54813. (WebCore::NewXMLDocumentParser::textPosition):
  54814. (WebCore::NewXMLDocumentParser::lineNumber):
  54815. (WebCore::NewXMLDocumentParser::insert):
  54816. (WebCore::NewXMLDocumentParser::append):
  54817. (WebCore::NewXMLDocumentParser::finish):
  54818. (WebCore::NewXMLDocumentParser::detach):
  54819. (WebCore::NewXMLDocumentParser::hasInsertionPoint):
  54820. (WebCore::NewXMLDocumentParser::finishWasCalled):
  54821. (WebCore::NewXMLDocumentParser::processingData):
  54822. (WebCore::NewXMLDocumentParser::prepareToStopParsing):
  54823. (WebCore::NewXMLDocumentParser::stopParsing):
  54824. (WebCore::NewXMLDocumentParser::isWaitingForScripts):
  54825. (WebCore::NewXMLDocumentParser::isExecutingScript):
  54826. (WebCore::NewXMLDocumentParser::executeScriptsWaitingForStylesheets):
  54827. * xml/parser/NewXMLDocumentParser.h: Added.
  54828. (WebCore::NewXMLDocumentParser::create):
  54829. 2011-07-08 David Reveman <reveman@chromium.org>
  54830. Remove unused function parameters.
  54831. Reviewed by Ryosuke Niwa.
  54832. * platform/graphics/gpu/TilingData.cpp:
  54833. (WebCore::TilingData::textureOffset):
  54834. 2011-07-08 David Reveman <reveman@chromium.org>
  54835. Reviewed by Stephen White.
  54836. [Chromium] Edge anti-aliasing for composited layers.
  54837. https://bugs.webkit.org/show_bug.cgi?id=61388
  54838. Add transparent outer border to tiled layers and adjust vertex
  54839. coordinates so that use of a bilinear filter creates a smooth
  54840. layer edge.
  54841. Tests: platform/chromium/compositing/tiny-layer-rotated.html
  54842. platform/chromium/compositing/huge-layer-rotated.html (existing)
  54843. TilingDataTest in webkit_unit_tests
  54844. * platform/graphics/chromium/ContentLayerChromium.cpp:
  54845. Change maxUntiledSize to 510 to ensure that tiles are not greater
  54846. than 512 with outer borders.
  54847. (WebCore::ContentLayerChromium::updateLayerSize): We can't use the
  54848. layer size as tile size when we want to avoid tiling as this will
  54849. not be enough space to include possible outer borders. We instead use
  54850. an empty size, which allows the tiler to automatically adjust the
  54851. tile size to be large enough for the layer to fit in one tile.
  54852. (WebCore::ContentLayerChromium::createTilerIfNeeded):
  54853. (WebCore::ContentLayerChromium::setIsMask): Don't use border texels
  54854. for layer used as mask.
  54855. * platform/graphics/chromium/ContentLayerChromium.h:
  54856. (WebCore::ContentLayerChromium::m_borderTexels) Added.
  54857. * platform/graphics/chromium/LayerTilerChromium.cpp:
  54858. (WebCore::LayerTilerChromium::tileTexRect): Added.
  54859. (WebCore::LayerTilerChromium::tileLayerRect): m_tileSize is no
  54860. longer the correct layer size. Size of bounds with border should
  54861. be the correct layer size.
  54862. (WebCore::LayerTilerChromium::growLayerToContain): Adjust texture
  54863. size to include outer borders and handle empty m_tileSize.
  54864. (WebCore::LayerTilerChromium::invalidateRect): Use size of rectangle
  54865. returned by tileTexRect instead of m_tileSize for texture size.
  54866. (WebCore::LayerTilerChromium::prepareToUpdate): Ditto.
  54867. (WebCore::LayerTilerChromium::draw): Compute and intersect tile edges
  54868. instead of using tile coordinates directly. Edges are adjusted to
  54869. include outer borders and make sure all partially covered pixels are
  54870. processed.
  54871. (WebCore::LayerTilerChromium::drawTexturedQuad): Pass quad to
  54872. shader using point uniform.
  54873. (WebCore::LayerTilerChromium::invalidateRect): Invalidate old layer
  54874. area to clear any contents left from previous layer size.
  54875. * platform/graphics/chromium/LayerTilerChromium.h:
  54876. (WebCore::LayerTilerChromium::tileTexRect) Added.
  54877. (WebCore::LayerTilerChromium::drawTexturedQuad): Add quad parameter.
  54878. * platform/graphics/chromium/ShaderChromium.cpp:
  54879. (WebCore::VertexShaderPosTexTransform::getShaderString) Get X/Y vertex
  54880. components from point uniform.
  54881. (WebCore::VertexShaderPosTexTransform::VertexShaderPosTexTransform)
  54882. Added point uniform.
  54883. (WebCore::VertexShaderPosTexTransform::init) Ditto.
  54884. (WebCore::VertexShaderPosTexTransform::pointLocation) Added.
  54885. * platform/graphics/chromium/ShaderChromium.h:
  54886. (WebCore::VertexShaderPosTexTransform::pointLocation) Added.
  54887. * platform/graphics/gpu/TilingData.cpp:
  54888. (WebCore::TilingData::tileBoundsWithOuterBorder): Added.
  54889. (WebCore::TilingData::computeNumTiles): Adjust for outer border.
  54890. (WebCore::TilingData::tileXIndexFromSrcCoord): Ditto.
  54891. (WebCore::TilingData::tileYIndexFromSrcCoord): Ditto.
  54892. (WebCore::TilingData::tileSizeX): Ditto.
  54893. (WebCore::TilingData::tileSizeY): Ditto.
  54894. (WebCore::TilingData::intersectDrawQuad): Ditto.
  54895. (WebCore::TilingData::textureOffset): Ditto.
  54896. * platform/graphics/gpu/TilingData.h:
  54897. (WebCore::TilingData::tileBoundsWithOuterBorder): Added.
  54898. 2011-07-08 Mike Reed <reed@google.com>
  54899. [skia] don't rely on lockPixels failure to detect gpu-backed device (in prep for skia roll)
  54900. https://bugs.webkit.org/show_bug.cgi?id=64162
  54901. Reviewed by Stephen White.
  54902. No new tests. preparing for skia roll, where lockPixels always succeeds (but slowly for gpu-backed)
  54903. * platform/graphics/skia/ImageBufferSkia.cpp:
  54904. (WebCore::putImageData):
  54905. 2011-07-08 Chang Shu <cshu@webkit.org>
  54906. Update calling sites after function renamed.
  54907. https://bugs.webkit.org/show_bug.cgi?id=59114
  54908. Reviewed by Alexey Proskuryakov.
  54909. No new tests, just refactoring.
  54910. * editing/visible_units.cpp:
  54911. (WebCore::previousBoundary):
  54912. (WebCore::nextBoundary):
  54913. * rendering/RenderText.cpp:
  54914. (WebCore::RenderText::setTextInternal):
  54915. 2011-07-08 Mihnea Ovidenie <mihnea@adobe.com>
  54916. [CSSRegions]Parse content: -webkit-from-flow
  54917. https://bugs.webkit.org/show_bug.cgi?id=63133
  54918. Reviewed by David Hyatt.
  54919. Test: fast/regions/content-webkit-from-flow-parsing.html
  54920. * css/CSSComputedStyleDeclaration.cpp:
  54921. (WebCore::contentToCSSValue):
  54922. * css/CSSParser.cpp:
  54923. (WebCore::CSSParser::parseContent):
  54924. (WebCore::CSSParser::parseFromFlowContent):
  54925. * css/CSSParser.h:
  54926. * css/CSSPrimitiveValue.cpp:
  54927. (WebCore::CSSPrimitiveValue::cleanup):
  54928. (WebCore::CSSPrimitiveValue::getStringValue):
  54929. (WebCore::CSSPrimitiveValue::cssText):
  54930. * css/CSSPrimitiveValue.h:
  54931. * css/CSSStyleSelector.cpp:
  54932. (WebCore::CSSStyleSelector::applyProperty):
  54933. * rendering/style/RenderStyle.cpp:
  54934. (WebCore::RenderStyle::diff):
  54935. * rendering/style/RenderStyle.h:
  54936. (WebCore::InheritedFlags::regionThread):
  54937. (WebCore::InheritedFlags::setRegionThread):
  54938. (WebCore::InheritedFlags::initialRegionThread):
  54939. * rendering/style/StyleRareNonInheritedData.cpp:
  54940. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  54941. (WebCore::StyleRareNonInheritedData::operator==):
  54942. * rendering/style/StyleRareNonInheritedData.h:
  54943. 2011-07-08 Ilya Tikhonovsky <loislo@chromium.org>
  54944. Web Inspector: NetworkPanel search failed if the matched sting is in the query part of url
  54945. https://bugs.webkit.org/show_bug.cgi?id=64167
  54946. Reviewed by Yury Semikhatsky.
  54947. * inspector/front-end/NetworkPanel.js:
  54948. (WebInspector.NetworkPanel.prototype._matchResource):
  54949. (WebInspector.NetworkPanel.prototype._highlightNthMatchedResource):
  54950. (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
  54951. * inspector/front-end/Resource.js:
  54952. (WebInspector.Resource.prototype.get folder):
  54953. 2011-07-08 Benjamin Poulain <benjamin@webkit.org>
  54954. [Qt] Enable HTTP Pipelining by default
  54955. https://bugs.webkit.org/show_bug.cgi?id=64169
  54956. Reviewed by Andreas Kling.
  54957. QNetworkAccessManager disables HTTP pipelining by default. We enable it by
  54958. setting an attribute on the request.
  54959. * platform/network/qt/ResourceRequestQt.cpp:
  54960. (WebCore::ResourceRequest::toNetworkRequest):
  54961. 2011-07-08 Alexander Pavlov <apavlov@chromium.org>
  54962. Web Inspector: CSS inspector gets confused about specificity of !important properties
  54963. https://bugs.webkit.org/show_bug.cgi?id=64074
  54964. Reviewed by Yury Semikhatsky.
  54965. * inspector/front-end/StylesSidebarPane.js:
  54966. (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
  54967. 2011-07-08 Alexander Pavlov <apavlov@chromium.org>
  54968. [Chromium] Unreviewed, clang build fix.
  54969. * inspector/InspectorStyleTextEditor.h:
  54970. 2011-07-08 Pavel Feldman <pfeldman@google.com>
  54971. Web Inspector: add support for drag'n'drop of non-elements (comments, text, etc.)
  54972. https://bugs.webkit.org/show_bug.cgi?id=64163
  54973. Reviewed by Yury Semikhatsky.
  54974. * inspector/Inspector.json:
  54975. * inspector/InspectorDOMAgent.cpp:
  54976. (WebCore::InspectorDOMAgent::moveTo):
  54977. * inspector/front-end/ElementsTreeOutline.js:
  54978. (WebInspector.ElementsTreeOutline.prototype._isValidDragSourceOrTarget):
  54979. 2011-07-08 Andrey Kosyakov <caseq@chromium.org>
  54980. Web Inspector: secure access to extensions API
  54981. https://bugs.webkit.org/show_bug.cgi?id=64080
  54982. Reviewed by Pavel Feldman.
  54983. * inspector/front-end/ExtensionAPI.js:
  54984. (WebInspector.injectedExtensionAPI.Panels.prototype.create):
  54985. (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setPage):
  54986. * inspector/front-end/ExtensionPanel.js:
  54987. (WebInspector.ExtensionPanel):
  54988. * inspector/front-end/ExtensionServer.js:
  54989. (WebInspector.ExtensionServer):
  54990. (WebInspector.ExtensionServer.prototype._onCreatePanel):
  54991. (WebInspector.ExtensionServer.prototype._onSetSidebarPage):
  54992. (WebInspector.ExtensionServer.prototype._addExtensions):
  54993. (WebInspector.ExtensionServer.prototype._onWindowMessage):
  54994. (WebInspector.ExtensionServer.prototype._registerSubscriptionHandler):
  54995. (WebInspector.ExtensionServer.prototype._expandResourcePath):
  54996. (WebInspector.ExtensionServer.prototype._normalizePath):
  54997. 2011-07-08 Adam Barth <abarth@webkit.org>
  54998. Unreviewed, rolling out r90615.
  54999. http://trac.webkit.org/changeset/90615
  55000. https://bugs.webkit.org/show_bug.cgi?id=64158
  55001. broke inspector/extensions/extensions.html (Requested by caseq
  55002. on #webkit).
  55003. * inspector/front-end/ExtensionAPI.js:
  55004. (WebInspector.injectedExtensionAPI.Panels.prototype.create):
  55005. (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setPage):
  55006. (WebInspector.injectedExtensionAPI.expandURL):
  55007. * inspector/front-end/ExtensionPanel.js:
  55008. (WebInspector.ExtensionPanel):
  55009. * inspector/front-end/ExtensionServer.js:
  55010. (WebInspector.ExtensionServer):
  55011. (WebInspector.ExtensionServer.prototype._onCreatePanel):
  55012. (WebInspector.ExtensionServer.prototype._onSetSidebarPage):
  55013. (WebInspector.ExtensionServer.prototype._addExtensions):
  55014. (WebInspector.ExtensionServer.prototype._onWindowMessage):
  55015. (WebInspector.ExtensionServer.prototype._registerSubscriptionHandler):
  55016. 2011-07-07 Alexander Pavlov <apavlov@chromium.org>
  55017. Web Inspector: Adding CSS properties results in messy style rules
  55018. https://bugs.webkit.org/show_bug.cgi?id=63622
  55019. Reviewed by Pavel Feldman.
  55020. Test: inspector/styles/styles-formatting.html
  55021. * CMakeLists.txt:
  55022. * GNUmakefile.list.am:
  55023. * WebCore.gypi:
  55024. * WebCore.pro:
  55025. * WebCore.vcproj/WebCore.vcproj:
  55026. * WebCore.xcodeproj/project.pbxproj:
  55027. * css/CSSPropertySourceData.cpp:
  55028. (WebCore::SourceRange::length):
  55029. * css/CSSPropertySourceData.h:
  55030. * inspector/InspectorStyleSheet.cpp:
  55031. (WebCore::InspectorStyle::InspectorStyle):
  55032. (WebCore::InspectorStyle::setPropertyText):
  55033. (WebCore::InspectorStyle::toggleProperty):
  55034. (WebCore::InspectorStyle::applyStyleText):
  55035. (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
  55036. * inspector/InspectorStyleSheet.h:
  55037. * inspector/InspectorStyleTextEditor.cpp: Added.
  55038. (WebCore::InspectorStyleTextEditor::InspectorStyleTextEditor):
  55039. (WebCore::InspectorStyleTextEditor::insertProperty):
  55040. (WebCore::InspectorStyleTextEditor::replaceProperty):
  55041. (WebCore::InspectorStyleTextEditor::removeProperty):
  55042. (WebCore::InspectorStyleTextEditor::enableProperty):
  55043. (WebCore::InspectorStyleTextEditor::disableProperty):
  55044. (WebCore::InspectorStyleTextEditor::disabledIndexByOrdinal):
  55045. (WebCore::InspectorStyleTextEditor::shiftDisabledProperties):
  55046. (WebCore::InspectorStyleTextEditor::internalReplaceProperty):
  55047. * inspector/InspectorStyleTextEditor.h: Added.
  55048. (WebCore::InspectorStyleTextEditor::styleText):
  55049. 2011-07-08 Alexander Pavlov <apavlov@chromium.org>
  55050. Web Inspector: Quotes are rendered as &quot; in the DOM tree
  55051. https://bugs.webkit.org/show_bug.cgi?id=64154
  55052. Reviewed by Yury Semikhatsky.
  55053. Since we currently rely on setting textContent rather than innerHTML for the DOM tree elements,
  55054. escapeHTML() calls unnecessarily HTML-escape certain characters in the DOM tree contents.
  55055. * inspector/front-end/ElementsTreeOutline.js:
  55056. (WebInspector.ElementsTreeElement.prototype._buildAttributeDOM):
  55057. ():
  55058. 2011-07-08 Vsevolod Vlasov <vsevik@chromium.org>
  55059. Web Inspector: Remove unused code from InspectorAgent.h.
  55060. https://bugs.webkit.org/show_bug.cgi?id=64120
  55061. Reviewed by Joseph Pecoraro.
  55062. * inspector/InspectorAgent.h:
  55063. 2011-07-08 Andrey Kosyakov <caseq@chromium.org>
  55064. Web Inspector: secure access to extensions API
  55065. https://bugs.webkit.org/show_bug.cgi?id=64080
  55066. Reviewed by Pavel Feldman.
  55067. * inspector/front-end/ExtensionAPI.js:
  55068. (WebInspector.injectedExtensionAPI.Panels.prototype.create):
  55069. (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setPage):
  55070. * inspector/front-end/ExtensionPanel.js:
  55071. (WebInspector.ExtensionPanel):
  55072. * inspector/front-end/ExtensionServer.js:
  55073. (WebInspector.ExtensionServer):
  55074. (WebInspector.ExtensionServer.prototype._onCreatePanel):
  55075. (WebInspector.ExtensionServer.prototype._onSetSidebarPage):
  55076. (WebInspector.ExtensionServer.prototype._addExtensions):
  55077. (WebInspector.ExtensionServer.prototype._onWindowMessage):
  55078. (WebInspector.ExtensionServer.prototype._registerSubscriptionHandler):
  55079. (WebInspector.ExtensionServer.prototype._expandResourcePath):
  55080. (WebInspector.ExtensionServer.prototype._normalizePath):
  55081. 2011-07-08 Yury Semikhatsky <yurys@chromium.org>
  55082. Web Inspector: typing undefined = 1 in console crashes browser
  55083. https://bugs.webkit.org/show_bug.cgi?id=64155
  55084. Do not access undefined value directly when producing JSON objects as undefined
  55085. may be overriden by the inspected page.
  55086. Reviewed by Pavel Feldman.
  55087. Test: inspector/console/console-eval-undefined-override.html
  55088. * inspector/InjectedScriptSource.js:
  55089. (.):
  55090. ():
  55091. 2011-07-07 Emil A Eklund <eae@chromium.org>
  55092. Switch HitTestResult to to new layout types
  55093. https://bugs.webkit.org/show_bug.cgi?id=64131
  55094. Reviewed by Eric Seidel.
  55095. No new tests, no functionality changes.
  55096. * page/MouseEventWithHitTestResults.cpp:
  55097. (WebCore::MouseEventWithHitTestResults::localPoint):
  55098. * page/MouseEventWithHitTestResults.h:
  55099. * rendering/HitTestResult.cpp:
  55100. (WebCore::HitTestResult::HitTestResult):
  55101. (WebCore::HitTestResult::addNodeToRectBasedTestResult):
  55102. (WebCore::HitTestResult::rectForPoint):
  55103. * rendering/HitTestResult.h:
  55104. (WebCore::HitTestResult::point):
  55105. (WebCore::HitTestResult::localPoint):
  55106. (WebCore::HitTestResult::setPoint):
  55107. (WebCore::HitTestResult::setLocalPoint):
  55108. (WebCore::HitTestResult::rectForPoint):
  55109. 2011-07-07 Levi Weintraub <leviw@chromium.org>
  55110. Switch remaining paint functions to new layout types
  55111. https://bugs.webkit.org/show_bug.cgi?id=64116
  55112. Reviewed by Eric Seidel.
  55113. Switching all functions with IntPoint paintOffsets to the new Layout types.
  55114. No new tests, no functionality changes.
  55115. * rendering/EllipsisBox.cpp:
  55116. (WebCore::EllipsisBox::paint):
  55117. (WebCore::EllipsisBox::paintSelection):
  55118. * rendering/EllipsisBox.h:
  55119. * rendering/InlineBox.cpp:
  55120. (WebCore::InlineBox::paint):
  55121. * rendering/InlineBox.h:
  55122. * rendering/InlineFlowBox.cpp:
  55123. (WebCore::InlineFlowBox::paint):
  55124. * rendering/InlineFlowBox.h:
  55125. * rendering/InlineTextBox.cpp:
  55126. (WebCore::InlineTextBox::paint):
  55127. (WebCore::InlineTextBox::paintCustomHighlight):
  55128. * rendering/InlineTextBox.h:
  55129. * rendering/LayoutTypes.h:
  55130. * rendering/RenderBlock.cpp:
  55131. (WebCore::RenderBlock::paintColumnRules):
  55132. (WebCore::RenderBlock::paintColumnContents):
  55133. (WebCore::RenderBlock::paintContents):
  55134. (WebCore::RenderBlock::paintChildren):
  55135. (WebCore::RenderBlock::paintCaret):
  55136. (WebCore::RenderBlock::paintObject):
  55137. (WebCore::RenderBlock::paintFloats):
  55138. (WebCore::RenderBlock::paintEllipsisBoxes):
  55139. (WebCore::RenderBlock::paintContinuationOutlines):
  55140. (WebCore::RenderBlock::paintSelection):
  55141. * rendering/RenderBlock.h:
  55142. * rendering/RenderBox.cpp:
  55143. (WebCore::RenderBox::paintCustomHighlight):
  55144. * rendering/RenderBox.h:
  55145. * rendering/RenderInline.cpp:
  55146. (WebCore::RenderInline::paintOutline):
  55147. (WebCore::RenderInline::paintOutlineForLine):
  55148. * rendering/RenderInline.h:
  55149. * rendering/RenderLayer.cpp:
  55150. (WebCore::RenderLayer::paintOverflowControls):
  55151. (WebCore::RenderLayer::paintScrollCorner):
  55152. (WebCore::RenderLayer::paintResizer):
  55153. * rendering/RenderLayer.h:
  55154. * rendering/RenderLineBoxList.cpp:
  55155. (WebCore::RenderLineBoxList::paint):
  55156. * rendering/RenderListBox.cpp:
  55157. (WebCore::RenderListBox::paintScrollbar):
  55158. (WebCore::RenderListBox::paintItemForeground):
  55159. (WebCore::RenderListBox::paintItemBackground):
  55160. * rendering/RenderListBox.h:
  55161. * rendering/RenderObject.cpp:
  55162. (WebCore::RenderObject::paintFocusRing):
  55163. (WebCore::RenderObject::paintOutline):
  55164. * rendering/RenderObject.h:
  55165. * rendering/RenderReplaced.cpp:
  55166. (WebCore::RenderReplaced::shouldPaint):
  55167. * rendering/RenderReplaced.h:
  55168. * rendering/RenderScrollbarPart.cpp:
  55169. (WebCore::RenderScrollbarPart::paintIntoRect):
  55170. * rendering/RenderScrollbarPart.h:
  55171. * rendering/RenderTableCell.cpp:
  55172. (WebCore::RenderTableCell::paintBackgroundsBehindCell):
  55173. * rendering/RenderTableSection.cpp:
  55174. (WebCore::RenderTableSection::paintCell):
  55175. * rendering/RenderTableSection.h:
  55176. * rendering/RenderTextControl.cpp:
  55177. (WebCore::RenderTextControl::paintPlaceholder):
  55178. * rendering/RootInlineBox.cpp:
  55179. (WebCore::RootInlineBox::paintEllipsisBox):
  55180. (WebCore::RootInlineBox::paintCustomHighlight):
  55181. (WebCore::RootInlineBox::paint):
  55182. * rendering/RootInlineBox.h:
  55183. * rendering/mathml/RenderMathMLBlock.cpp:
  55184. (WebCore::RenderMathMLBlock::paint):
  55185. * rendering/mathml/RenderMathMLFraction.cpp:
  55186. (WebCore::RenderMathMLFraction::paint):
  55187. * rendering/mathml/RenderMathMLRoot.cpp:
  55188. (WebCore::RenderMathMLRoot::paint):
  55189. * rendering/mathml/RenderMathMLSquareRoot.cpp:
  55190. (WebCore::RenderMathMLSquareRoot::paint):
  55191. 2011-07-07 Steve VanDeBogart <vandebo@chromium.org>
  55192. Work around Skia PDF's lack of inverted path support.
  55193. https://bugs.webkit.org/show_bug.cgi?id=64032
  55194. Reviewed by James Robinson.
  55195. The trick used in http://neugierig.org/software/chromium/notes/2010/07/clipping.html
  55196. to support antialiased clips doesn't work when printing to Skia's PDF backend because
  55197. the backend does not support inverted paths. This manifests as rounded buttons not being
  55198. drawn when printing, tracked as Chrome bug 79519.
  55199. However, when the output is a vector device, like PDF, we don't need antialiased clips.
  55200. It's up to the PDF rendering engine to do that. So we can simply disable the antialiased
  55201. clip code if the output is a vector device.
  55202. I think the fix isn't testable because it requires examining the printed output.
  55203. * platform/graphics/skia/PlatformContextSkia.cpp:
  55204. (WebCore::PlatformContextSkia::clipPathAntiAliased):
  55205. 2011-07-07 Emil A Eklund <eae@chromium.org>
  55206. Switch rendering tree selection code to to new layout types
  55207. https://bugs.webkit.org/show_bug.cgi?id=63762
  55208. Reviewed by Eric Seidel.
  55209. Switch selection getters and selection gap calculation methods over to
  55210. new layout abstraction.
  55211. No new tests, no functionality changes.
  55212. * rendering/InlineTextBox.cpp:
  55213. (WebCore::InlineTextBox::selectionTop):
  55214. (WebCore::InlineTextBox::selectionBottom):
  55215. (WebCore::InlineTextBox::selectionHeight):
  55216. (WebCore::InlineTextBox::isSelected):
  55217. * rendering/InlineTextBox.h:
  55218. * rendering/RenderBR.h:
  55219. (WebCore::RenderBR::selectionRectForRepaint):
  55220. * rendering/RenderBlock.cpp:
  55221. (WebCore::RenderBlock::selectionGapRectsForRepaint):
  55222. (WebCore::RenderBlock::selectionGaps):
  55223. (WebCore::RenderBlock::inlineSelectionGaps):
  55224. (WebCore::RenderBlock::blockSelectionGaps):
  55225. (WebCore::RenderBlock::blockSelectionGap):
  55226. (WebCore::RenderBlock::logicalLeftSelectionGap):
  55227. (WebCore::RenderBlock::logicalRightSelectionGap):
  55228. (WebCore::RenderBlock::logicalLeftSelectionOffset):
  55229. (WebCore::RenderBlock::logicalRightSelectionOffset):
  55230. (WebCore::RenderBlock::positionForPointWithInlineChildren):
  55231. (WebCore::RenderBlock::desiredColumnWidth):
  55232. * rendering/RenderBlock.h:
  55233. (WebCore::RenderBlock::selectionRectForRepaint):
  55234. * rendering/RenderListMarker.cpp:
  55235. (WebCore::RenderListMarker::selectionRectForRepaint):
  55236. * rendering/RenderListMarker.h:
  55237. * rendering/RenderObject.h:
  55238. (WebCore::RenderObject::selectionRect):
  55239. (WebCore::RenderObject::selectionRectForRepaint):
  55240. * rendering/RenderReplaced.cpp:
  55241. (WebCore::RenderReplaced::selectionRectForRepaint):
  55242. * rendering/RenderReplaced.h:
  55243. * rendering/RenderSelectionInfo.h:
  55244. (WebCore::RenderSelectionInfo::RenderSelectionInfo):
  55245. * rendering/RenderText.cpp:
  55246. (WebCore::RenderText::selectionRectForRepaint):
  55247. * rendering/RenderText.h:
  55248. * rendering/RootInlineBox.cpp:
  55249. (WebCore::RootInlineBox::selectionTop):
  55250. (WebCore::RootInlineBox::selectionBottom):
  55251. * rendering/RootInlineBox.h:
  55252. (WebCore::RootInlineBox::selectionHeight):
  55253. 2011-07-07 Gavin Peters <gavinp@chromium.org>
  55254. Reviewed by Alexey Proskuryakov.
  55255. fast/dom/HTMLLinkElement/link-and-subresource-test.html is flaky on chromium debug bots
  55256. https://bugs.webkit.org/show_bug.cgi?id=60097
  55257. The culprit was that CachedResource:stopLoading() was using *this
  55258. after a call to checkNotify(), which isn't kosher. This patch
  55259. uses a CachedResourceHandle to keep the CachedResource alive.
  55260. The test is a very close copy of the eponymous
  55261. link-and-subresource-test.html, only substituting invalid
  55262. resources for the valid ones in that test. The reproduction is
  55263. timing related, and happens much more consistantly with an invalid
  55264. resource for whatever reason.
  55265. Test: fast/dom/HTMLLinkElement/link-and-subresource-test-nonexistent.html
  55266. * loader/cache/CachedResource.cpp:
  55267. (WebCore::CachedResource::stopLoading):
  55268. 2011-07-07 James Robinson <jamesr@chromium.org>
  55269. Reviewed by Kenneth Russell.
  55270. Use v8::AdjustAmountOfExternalAllocatedMemory for ArrayBuffers
  55271. https://bugs.webkit.org/show_bug.cgi?id=42912
  55272. This calls v8's AdjustAmountOfExternalAllocatedMemory when ArrayBuffers are allocated/deallocated so that V8's
  55273. garbage collection heuristics can account for the memory held by these objects. On the new test page, this
  55274. reduces the peak memory use from 5BG+ (or a crash in 32-bit systems) to <300MB.
  55275. Test: WebCore/manual-tests/array-buffer-memory.html
  55276. * html/canvas/ArrayBuffer.cpp:
  55277. (WebCore::ArrayBuffer::~ArrayBuffer):
  55278. (WebCore::ArrayBuffer::tryAllocate):
  55279. 2011-07-07 Ryosuke Niwa <rniwa@webkit.org>
  55280. Move all code related to cachedSelection to HTMLTextFormControlElement
  55281. https://bugs.webkit.org/show_bug.cgi?id=64118
  55282. Reviewed by Alexey Proskuryakov.
  55283. Moved m_cachedSelectionStart and m_cachedSelectionEnd from HTMLInputElement
  55284. and HTMLTextAreaElement to HTMLTextFormControlElement
  55285. Also removed cached selection related functions from RenderTextControl,
  55286. RenderTextControlSingleLine, and RenderTextControlMultiLine because they were
  55287. merely providing wrapper functions to enable polymorphism between
  55288. input and textarea elements and their WML equivalents.
  55289. * editing/FrameSelection.cpp:
  55290. (WebCore::FrameSelection::notifyRendererOfSelectionChange): Calls HTMLTextFormControlElement's
  55291. selectionChanged instead of RenderTextControl's.
  55292. * html/HTMLFormControlElement.cpp:
  55293. (WebCore::HTMLTextFormControlElement::HTMLTextFormControlElement): Initialize
  55294. m_cachedSelectionStart and m_cachedSelectionEnd.
  55295. (WebCore::HTMLTextFormControlElement::selectionStart):
  55296. (WebCore::HTMLTextFormControlElement::selectionEnd):
  55297. (WebCore::HTMLTextFormControlElement::selection):
  55298. (WebCore::HTMLTextFormControlElement::restoreCachedSelection): Added.
  55299. (WebCore::HTMLTextFormControlElement::selectionChanged): Extracted from
  55300. RenderTextControl::selectionChanged.
  55301. * html/HTMLFormControlElement.h:
  55302. (WebCore::HTMLTextFormControlElement::cacheSelection): Extracted from HTMLInputElement
  55303. and HTMLTextAreaElement.
  55304. (WebCore::HTMLTextFormControlElement::hasCachedSelectionStart): Added.
  55305. (WebCore::HTMLTextFormControlElement::hasCachedSelectionEnd): Added.
  55306. * html/HTMLInputElement.cpp:
  55307. (WebCore::HTMLInputElement::HTMLInputElement):
  55308. (WebCore::HTMLInputElement::updateFocusAppearance):
  55309. * html/HTMLInputElement.h:
  55310. * html/HTMLTextAreaElement.cpp:
  55311. (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
  55312. (WebCore::HTMLTextAreaElement::updateFocusAppearance):
  55313. * html/HTMLTextAreaElement.h:
  55314. (WebCore::HTMLTextAreaElement::isEmptyValue):
  55315. * rendering/RenderTextControl.cpp:
  55316. (WebCore::setSelectionRange):
  55317. * rendering/RenderTextControl.h:
  55318. * rendering/RenderTextControlMultiLine.cpp:
  55319. * rendering/RenderTextControlMultiLine.h:
  55320. * rendering/RenderTextControlSingleLine.cpp:
  55321. * rendering/RenderTextControlSingleLine.h:
  55322. 2011-07-07 Emil A Eklund <eae@chromium.org>
  55323. Switch addFocusRingRects to to new layout types
  55324. https://bugs.webkit.org/show_bug.cgi?id=64114
  55325. Reviewed by Eric Seidel.
  55326. No new tests, no functionality changes.
  55327. * rendering/LayoutTypes.h:
  55328. (WebCore::flooredLayoutPoint):
  55329. * rendering/RenderBlock.cpp:
  55330. (WebCore::RenderBlock::addFocusRingRects):
  55331. * rendering/RenderBlock.h:
  55332. * rendering/RenderBox.cpp:
  55333. (WebCore::RenderBox::addFocusRingRects):
  55334. * rendering/RenderBox.h:
  55335. * rendering/RenderInline.cpp:
  55336. (WebCore::RenderInline::addFocusRingRects):
  55337. * rendering/RenderInline.h:
  55338. * rendering/RenderListBox.cpp:
  55339. (WebCore::RenderListBox::addFocusRingRects):
  55340. * rendering/RenderListBox.h:
  55341. * rendering/RenderObject.h:
  55342. (WebCore::RenderObject::addFocusRingRects):
  55343. * rendering/RenderTextControl.cpp:
  55344. (WebCore::RenderTextControl::addFocusRingRects):
  55345. * rendering/RenderTextControl.h:
  55346. * rendering/svg/RenderSVGContainer.cpp:
  55347. (WebCore::RenderSVGContainer::addFocusRingRects):
  55348. * rendering/svg/RenderSVGContainer.h:
  55349. * rendering/svg/RenderSVGImage.cpp:
  55350. (WebCore::RenderSVGImage::addFocusRingRects):
  55351. * rendering/svg/RenderSVGImage.h:
  55352. * rendering/svg/RenderSVGPath.cpp:
  55353. (WebCore::RenderSVGPath::addFocusRingRects):
  55354. * rendering/svg/RenderSVGPath.h:
  55355. 2011-07-06 Adrienne Walker <enne@google.com>
  55356. [chromium] Reduce compositor texture memory by skipping layers and clipping surfaces
  55357. https://bugs.webkit.org/show_bug.cgi?id=64052
  55358. Reviewed by James Robinson.
  55359. Layers and surfaces that are entirely transparent are now skipped.
  55360. Parent scissor rects are now applied to the content rect of surfaces
  55361. so that offscreen surfaces can be skipped.
  55362. Landing this for vangelis@chromium.org.
  55363. Covered by existing tests.
  55364. * platform/graphics/chromium/LayerRendererChromium.cpp:
  55365. (WebCore::calculateVisibleRect):
  55366. (WebCore::calculateVisibleLayerRect):
  55367. (WebCore::LayerRendererChromium::paintLayerContents):
  55368. (WebCore::LayerRendererChromium::drawLayers):
  55369. (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
  55370. (WebCore::LayerRendererChromium::updateCompositorResources):
  55371. (WebCore::LayerRendererChromium::drawLayer):
  55372. * platform/graphics/chromium/RenderSurfaceChromium.cpp:
  55373. (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
  55374. 2011-07-07 Adam Barth <abarth@webkit.org>
  55375. Unreviewed, rolling out r90581.
  55376. http://trac.webkit.org/changeset/90581
  55377. https://bugs.webkit.org/show_bug.cgi?id=64124
  55378. Broke a bunch of inspector tests (Requested by ojan on
  55379. #webkit).
  55380. * inspector/front-end/ExtensionAPI.js:
  55381. (WebInspector.injectedExtensionAPI.Panels.prototype.create):
  55382. (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setPage):
  55383. (WebInspector.injectedExtensionAPI.expandURL):
  55384. * inspector/front-end/ExtensionPanel.js:
  55385. (WebInspector.ExtensionPanel):
  55386. * inspector/front-end/ExtensionServer.js:
  55387. (WebInspector.ExtensionServer):
  55388. (WebInspector.ExtensionServer.prototype._onCreatePanel):
  55389. (WebInspector.ExtensionServer.prototype._onSetSidebarPage):
  55390. (WebInspector.ExtensionServer.prototype._addExtensions):
  55391. (WebInspector.ExtensionServer.prototype._onWindowMessage):
  55392. (WebInspector.ExtensionServer.prototype._registerSubscriptionHandler):
  55393. 2011-07-07 Adrienne Walker <enne@google.com>
  55394. [chromium] Fix crash when compositing gets disabled mid-paint
  55395. https://bugs.webkit.org/show_bug.cgi?id=64119
  55396. Reviewed by James Robinson.
  55397. WebKit paint can disable compositing and call setRootLayer(0). Adding
  55398. a check for this in drawLayers prevents a null pointer deref.
  55399. * platform/graphics/chromium/LayerRendererChromium.cpp:
  55400. (WebCore::LayerRendererChromium::drawLayers):
  55401. 2011-07-07 Dirk Schulze <krit@webkit.org>
  55402. SVGAnimateTransform does not support calcMode=discrete
  55403. https://bugs.webkit.org/show_bug.cgi?id=63914
  55404. Reviewed by Rob Buis.
  55405. CalcMode discrete specifies that the animation function will jump from one value to the next without any interpolation.
  55406. Implemented calcMode discrete by checking current progress of animation. If we are in the first half of the animation,
  55407. we use the start value of the aniamtion, end value for the second half of the animation. The key time at 50% is used on
  55408. all other animations as well as on other SVG viewers.
  55409. Added a manual test. DRT crashes on an automated test with the SVG animation API. Opened a new bug report: 64104.
  55410. * manual-tests/svg-animateTransform-calcMode-discrete.svg: Added.
  55411. * svg/SVGAnimateTransformElement.cpp:
  55412. (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
  55413. 2011-07-07 Dirk Schulze <krit@webkit.org>
  55414. Reviewed by Rob Buis.
  55415. SVGAnimatedPath needs fallback for 'by' animation
  55416. https://bugs.webkit.org/show_bug.cgi?id=63865
  55417. Added fallback to 'to' animation for 'by' animated SVGAnimatedPathAnimator.
  55418. Clenup of SVGAnimateElement. Removed all switches since we support all AnimatedTypes
  55419. with the exception of AnimatedEnumeration. AnimatedEnumeration gets animated as AnimatedString at the moment.
  55420. Test: svg/animations/svgpath-animation-1.html
  55421. * svg/SVGAnimateElement.cpp:
  55422. (WebCore::getPropertyValue):
  55423. (WebCore::inheritsFromProperty):
  55424. (WebCore::attributeValueIsCurrentColor):
  55425. (WebCore::SVGAnimateElement::adjustForCurrentColor):
  55426. (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
  55427. (WebCore::SVGAnimateElement::calculateAnimatedValue):
  55428. (WebCore::SVGAnimateElement::calculateFromAndToValues):
  55429. (WebCore::SVGAnimateElement::calculateFromAndByValues):
  55430. (WebCore::SVGAnimateElement::resetToBaseValue):
  55431. (WebCore::SVGAnimateElement::applyResultsToTarget):
  55432. (WebCore::SVGAnimateElement::calculateDistance):
  55433. * svg/SVGAnimatedPath.cpp:
  55434. (WebCore::SVGAnimatedPathAnimator::calculateFromAndByValues):
  55435. 2011-07-07 Andrey Kosyakov <caseq@chromium.org>
  55436. Web Inspector: secure access to extensions API
  55437. https://bugs.webkit.org/show_bug.cgi?id=64080
  55438. Reviewed by Pavel Feldman.
  55439. * inspector/front-end/ExtensionAPI.js:
  55440. (WebInspector.injectedExtensionAPI.Panels.prototype.create):
  55441. (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setPage):
  55442. * inspector/front-end/ExtensionPanel.js:
  55443. (WebInspector.ExtensionPanel):
  55444. * inspector/front-end/ExtensionServer.js:
  55445. (WebInspector.ExtensionServer):
  55446. (WebInspector.ExtensionServer.prototype._onCreatePanel):
  55447. (WebInspector.ExtensionServer.prototype._onSetSidebarPage):
  55448. (WebInspector.ExtensionServer.prototype._addExtensions):
  55449. (WebInspector.ExtensionServer.prototype._onWindowMessage):
  55450. (WebInspector.ExtensionServer.prototype._registerSubscriptionHandler):
  55451. (WebInspector.ExtensionServer.prototype._expandResourcePath):
  55452. 2011-07-07 Kyusun Kim <maniagoon@company100.net>
  55453. The return value of SharedBuffer::createWithContentsOfFile must have valid m_size.
  55454. https://bugs.webkit.org/show_bug.cgi?id=63313
  55455. Reviewed by Eric Seidel.
  55456. * platform/posix/SharedBufferPOSIX.cpp:
  55457. (WebCore::SharedBuffer::createWithContentsOfFile):
  55458. 2011-07-07 Dan Bernstein <mitz@apple.com>
  55459. <rdar://problem/9737435> Re-enable -webkit-column-break-inside: avoid
  55460. https://bugs.webkit.org/show_bug.cgi?id=64102
  55461. Reviewed by Simon Fraser.
  55462. -webkit-column-break-inside: avoid was disabled in r62632 along with page-break-inside: avoid.
  55463. The latter remains disabled.
  55464. * rendering/RenderBlock.cpp:
  55465. (WebCore::RenderBlock::adjustForUnsplittableChild): Treat the child as unsplittable if
  55466. '-webkit-column-break-inside: avoid' was specified.
  55467. 2011-07-07 Andrey Kosyakov <caseq@chromium.org>
  55468. Web Inspector: visual regressions in network panel
  55469. https://bugs.webkit.org/show_bug.cgi?id=64089
  55470. Reviewed by Pavel Feldman.
  55471. * inspector/front-end/networkPanel.css:
  55472. (.data-grid.network-log-grid tr.filler td):
  55473. (.network.panel .sidebar):
  55474. 2011-07-07 Julien Chaffraix <jchaffraix@webkit.org>
  55475. Reviewed by David Hyatt.
  55476. Partial layout when a flex-box has visibility: collapse
  55477. https://bugs.webkit.org/show_bug.cgi?id=63776
  55478. Tests: fast/flexbox/crash-button-input-autofocus.html
  55479. fast/flexbox/crash-button-keygen.html
  55480. fast/flexbox/crash-button-relayout.html
  55481. The issue is that FlexBoxIterator would skip any child if it has visibility: collapsed.
  55482. However if one of the child is anonymous, it may wrap some other child that would be skipped.
  55483. Now FlexBoxIterator is called during the layout phase and thus some nodes would not relayouted
  55484. as expected.
  55485. * rendering/RenderDeprecatedFlexibleBox.cpp:
  55486. (WebCore::FlexBoxIterator::next): When iterating, don't skip anonymous content as there may
  55487. be real content hiding below.
  55488. 2011-07-07 Vsevolod Vlasov <vsevik@chromium.org>
  55489. Web Inspector: URL links in styles open new tab instead of showing resources panel.
  55490. https://bugs.webkit.org/show_bug.cgi?id=64090
  55491. Reviewed by Pavel Feldman.
  55492. * inspector/front-end/StylesSidebarPane.js:
  55493. (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
  55494. 2011-07-07 Andrey Kosyakov <caseq@chromium.org>
  55495. Web Inspector: active panel does not receive resize event when drawer is resized
  55496. https://bugs.webkit.org/show_bug.cgi?id=64094
  55497. Reviewed by Pavel Feldman.
  55498. * inspector/front-end/Drawer.js:
  55499. (WebInspector.Drawer.prototype._statusBarDragging):
  55500. 2011-07-07 Pavel Feldman <pfeldman@chromium.org>
  55501. Web Inspector: prevent default action during drag'n'drop in the Elements panel.
  55502. https://bugs.webkit.org/show_bug.cgi?id=64081
  55503. Reviewed by Yury Semikhatsky.
  55504. * inspector/front-end/ElementsTreeOutline.js:
  55505. (WebInspector.ElementsTreeOutline):
  55506. (WebInspector.ElementsTreeOutline.prototype._ondragstart):
  55507. (WebInspector.ElementsTreeOutline.prototype._ondragover):
  55508. (WebInspector.ElementsTreeOutline.prototype._ondragend):
  55509. * inspector/front-end/treeoutline.js:
  55510. (TreeOutline.prototype.treeElementFromPoint):
  55511. 2011-07-07 Nikolas Zimmermann <nzimmermann@rim.com>
  55512. Move remaining enums out of SVG*Element classes
  55513. https://bugs.webkit.org/show_bug.cgi?id=64075
  55514. Reviewed by Dirk Schulze.
  55515. Move remaining enums out of SVG*Element classes. This is a preparation patch for bug 63797.
  55516. Also move the SVGPropertyTraits template specializations for enum types before the class
  55517. definition in the header, otherwhise we can't use SVGPropertyTraits<FooType>::fromString/toString
  55518. in the DECLARE_ANIMATED* macros, which is needed soon.
  55519. No new tests, just refactoring.
  55520. * rendering/svg/RenderSVGResourceGradient.cpp:
  55521. (WebCore::RenderSVGResourceGradient::applyResource):
  55522. * rendering/svg/RenderSVGResourceGradient.h:
  55523. * rendering/svg/RenderSVGResourceMarker.cpp:
  55524. (WebCore::RenderSVGResourceMarker::angle):
  55525. (WebCore::RenderSVGResourceMarker::markerTransformation):
  55526. * rendering/svg/RenderSVGResourceMarker.h:
  55527. (WebCore::RenderSVGResourceMarker::markerUnits):
  55528. * rendering/svg/RenderSVGTextPath.cpp:
  55529. (WebCore::RenderSVGTextPath::RenderSVGTextPath):
  55530. (WebCore::RenderSVGTextPath::exactAlignment):
  55531. (WebCore::RenderSVGTextPath::stretchMethod):
  55532. * rendering/svg/SVGRenderTreeAsText.cpp:
  55533. (WebCore::operator<<):
  55534. (WebCore::writeCommonGradientProperties):
  55535. * rendering/svg/SVGTextChunkBuilder.cpp:
  55536. (WebCore::SVGTextChunkBuilder::addTextChunk):
  55537. * rendering/svg/SVGTextLayoutEngine.cpp:
  55538. (WebCore::SVGTextLayoutEngine::parentDefinesTextLength):
  55539. (WebCore::SVGTextLayoutEngine::beginTextPathLayout):
  55540. * svg/GradientAttributes.h:
  55541. (WebCore::GradientAttributes::GradientAttributes):
  55542. (WebCore::GradientAttributes::spreadMethod):
  55543. (WebCore::GradientAttributes::setSpreadMethod):
  55544. * svg/SVGComponentTransferFunctionElement.h:
  55545. * svg/SVGFEBlendElement.h:
  55546. * svg/SVGFEColorMatrixElement.h:
  55547. * svg/SVGFECompositeElement.h:
  55548. * svg/SVGFEConvolveMatrixElement.h:
  55549. * svg/SVGFEDisplacementMapElement.h:
  55550. * svg/SVGFEMorphologyElement.h:
  55551. * svg/SVGFETurbulenceElement.h:
  55552. * svg/SVGGradientElement.cpp:
  55553. (WebCore::SVGGradientElement::SVGGradientElement):
  55554. * svg/SVGGradientElement.h:
  55555. * svg/SVGMarkerElement.cpp:
  55556. (WebCore::SVGMarkerElement::SVGMarkerElement):
  55557. (WebCore::SVGMarkerElement::parseMappedAttribute):
  55558. (WebCore::SVGMarkerElement::setOrientToAuto):
  55559. (WebCore::SVGMarkerElement::setOrientToAngle):
  55560. (WebCore::SVGMarkerElement::synchronizeOrientType):
  55561. (WebCore::SVGMarkerElement::orientTypeAnimated):
  55562. * svg/SVGMarkerElement.h:
  55563. * svg/SVGTextContentElement.cpp:
  55564. (WebCore::SVGTextContentElement::SVGTextContentElement):
  55565. * svg/SVGTextContentElement.h:
  55566. * svg/SVGTextPathElement.cpp:
  55567. (WebCore::SVGTextPathElement::SVGTextPathElement):
  55568. * svg/SVGTextPathElement.h:
  55569. 2011-07-07 Ilya Tikhonovsky <loislo@chromium.org>
  55570. Web Inspector: Protocol: pointers to optional "in" parameters passing to the
  55571. backend methods should be NULL if they are not specified in the message.
  55572. https://bugs.webkit.org/show_bug.cgi?id=64083
  55573. Reviewed by Pavel Feldman.
  55574. * inspector/CodeGeneratorInspector.pm:
  55575. (generateBackendFunction):
  55576. (generateArgumentGetters):
  55577. * inspector/InspectorCSSAgent.cpp:
  55578. (WebCore::InspectorCSSAgent::getStylesForNode):
  55579. 2011-07-07 Ilya Tikhonovsky <loislo@chromium.org>
  55580. Web Inspector: Searching on the Network panel doesn't do anything?
  55581. https://bugs.webkit.org/show_bug.cgi?id=55489
  55582. This is initial implementation of search in Network panel.
  55583. It is pretty simple search only for names and paths.
  55584. Reviewed by Pavel Feldman.
  55585. * inspector/front-end/NetworkPanel.js:
  55586. (WebInspector.NetworkPanel.prototype.refresh):
  55587. (WebInspector.NetworkPanel.prototype._reset):
  55588. (WebInspector.NetworkPanel.prototype._updateOffscreenRows):
  55589. (WebInspector.NetworkPanel.prototype._matchResource):
  55590. (WebInspector.NetworkPanel.prototype._clearSearchMatchedList):
  55591. (WebInspector.NetworkPanel.prototype._highlightNthMatchedResource):
  55592. (WebInspector.NetworkPanel.prototype.performSearch):
  55593. (WebInspector.NetworkDataGridNode.prototype.createCells):
  55594. * inspector/front-end/utilities.js:
  55595. (String.prototype.escapeHTML):
  55596. ():
  55597. 2011-07-07 Vsevolod Vlasov <vsevik@chromium.org>
  55598. Web Inspector: Resources panel shows only one resource when multiple resources have the same url.
  55599. https://bugs.webkit.org/show_bug.cgi?id=63936
  55600. Reviewed by Pavel Feldman.
  55601. Test: http/tests/inspector/resource-tree/resource-tree-non-unique-url.html
  55602. * inspector/front-end/ResourcesPanel.js:
  55603. (WebInspector.FrameTreeElement.prototype.appendResource):
  55604. 2011-07-07 Vsevolod Vlasov <vsevik@chromium.org>
  55605. Web Inspector: Add support for clearing cache and cookies from network panel.
  55606. https://bugs.webkit.org/show_bug.cgi?id=63999
  55607. Reviewed by Pavel Feldman.
  55608. * English.lproj/localizedStrings.js:
  55609. * inspector/Inspector.json:
  55610. * inspector/InspectorClient.h:
  55611. (WebCore::InspectorClient::clearBrowserCache):
  55612. (WebCore::InspectorClient::clearBrowserCookies):
  55613. * inspector/InspectorController.cpp:
  55614. (WebCore::InspectorController::InspectorController):
  55615. * inspector/InspectorResourceAgent.cpp:
  55616. (WebCore::InspectorResourceAgent::clearBrowserCache):
  55617. (WebCore::InspectorResourceAgent::clearBrowserCookies):
  55618. (WebCore::InspectorResourceAgent::InspectorResourceAgent):
  55619. * inspector/InspectorResourceAgent.h:
  55620. (WebCore::InspectorResourceAgent::create):
  55621. * inspector/front-end/NetworkPanel.js:
  55622. (WebInspector.NetworkPanel.prototype._contextMenu):
  55623. (WebInspector.NetworkPanel.prototype._clearBrowserCache):
  55624. (WebInspector.NetworkPanel.prototype._clearBrowserCookies):
  55625. * inspector/front-end/Settings.js:
  55626. 2011-07-07 Shinya Kawanaka <shinyak@google.com>
  55627. Added more key bindings for input[type=range].
  55628. https://bugs.webkit.org/show_bug.cgi?id=52262
  55629. Added PageUp/PageDown/Home/End key bindings for input[type=range].
  55630. PageUp/PageDown change value by about 10%.
  55631. Home/End change value to minimum/maximum.
  55632. Reviewed by Kent Tamura.
  55633. * html/RangeInputType.cpp:
  55634. (WebCore::RangeInputType::handleKeydownEvent):
  55635. Added key bindings.
  55636. 2011-07-07 Oleg Romashin <romaxa@gmail.com>
  55637. Fix InspectorInstrumentation compilation.
  55638. https://bugs.webkit.org/show_bug.cgi?id=64033
  55639. Reviewed by Yury Semikhatsky.
  55640. No new tests. just compile fix.
  55641. * inspector/InspectorInstrumentation.cpp:
  55642. (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
  55643. 2011-07-06 Mihnea Ovidenie <mihnea@adobe.com>
  55644. Reviewed by David Hyatt.
  55645. [CSSRegions] Parse flow property
  55646. https://bugs.webkit.org/show_bug.cgi?id=61730
  55647. Test: fast/regions/webkit-flow-parsing.html
  55648. * css/CSSComputedStyleDeclaration.cpp:
  55649. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  55650. * css/CSSParser.cpp:
  55651. (WebCore::CSSParser::parseValue):
  55652. (WebCore::CSSParser::parseFlowThread):
  55653. * css/CSSParser.h:
  55654. * css/CSSPropertyNames.in:
  55655. * css/CSSStyleSelector.cpp:
  55656. (WebCore::CSSStyleSelector::applyProperty):
  55657. * rendering/style/RenderStyle.cpp:
  55658. (WebCore::RenderStyle::diff):
  55659. * rendering/style/RenderStyle.h:
  55660. (WebCore::InheritedFlags::flowThread):
  55661. (WebCore::InheritedFlags::setFlowThread):
  55662. (WebCore::InheritedFlags::initialFlowThread):
  55663. * rendering/style/StyleRareNonInheritedData.cpp:
  55664. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  55665. (WebCore::StyleRareNonInheritedData::operator==):
  55666. * rendering/style/StyleRareNonInheritedData.h:
  55667. 2011-07-06 MORITA Hajime <morrita@google.com>
  55668. [ShadowContentElement] Redundant RenderText objects are created on the content boundaries.
  55669. https://bugs.webkit.org/show_bug.cgi?id=63977
  55670. Reviewed by Dimitri Glazkov.
  55671. NodeRenderingContext::nextRenderer() and previousRenderer() didn't work well
  55672. when it crosses content elements:
  55673. - It doesn't step into forwarded children of ShadowContentElement.
  55674. - It doesn't step out from traversing forwarded children to
  55675. neighbors of the content element of that forwarded chidren.
  55676. This change makes it to step into and out from content element.
  55677. Test: fast/dom/shadow/content-element-renderers.html
  55678. * dom/NodeRenderingContext.cpp:
  55679. (WebCore::firstRendererOf): Added
  55680. (WebCore::lastRendererOf): Added
  55681. (WebCore::NodeRenderingContext::nextRenderer):
  55682. (WebCore::NodeRenderingContext::previousRenderer):
  55683. 2011-07-06 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  55684. [EFL] Add Fullscreen API feature
  55685. https://bugs.webkit.org/show_bug.cgi?id=63975
  55686. Add needed files for enabling ENABLE_FULLSCREEN_API feature.
  55687. Reviewed by Adam Barth.
  55688. * CMakeLists.txt: Add RenderFullScreen.cpp, fullscreen.css
  55689. 2011-07-06 Emil A Eklund <eae@chromium.org>
  55690. Switch absoluteRects to to new layout types
  55691. https://bugs.webkit.org/show_bug.cgi?id=64035
  55692. Reviewed by Eric Seidel.
  55693. Move absoluteRects over to new layout unit abstraction.
  55694. Add flooredLayoutPoint, mapped to flooredIntPoint.
  55695. No new tests, no functionality changes.
  55696. * rendering/LayoutTypes.h:
  55697. (WebCore::flooredLayoutPoint):
  55698. * rendering/RenderBlock.cpp:
  55699. (WebCore::RenderBlock::absoluteRects):
  55700. * rendering/RenderBlock.h:
  55701. * rendering/RenderBox.cpp:
  55702. (WebCore::RenderBox::absoluteRects):
  55703. * rendering/RenderInline.cpp:
  55704. (WebCore::RenderInline::absoluteRects):
  55705. * rendering/RenderInline.h:
  55706. * rendering/RenderObject.cpp:
  55707. (WebCore::RenderObject::absoluteBoundingBoxRect):
  55708. * rendering/RenderObject.h:
  55709. (WebCore::RenderObject::absoluteRects):
  55710. * rendering/RenderText.cpp:
  55711. (WebCore::RenderText::absoluteRects):
  55712. * rendering/RenderText.h:
  55713. * rendering/RenderView.cpp:
  55714. (WebCore::RenderView::absoluteRects):
  55715. * rendering/RenderView.h:
  55716. * rendering/svg/RenderSVGBlock.cpp:
  55717. (WebCore::RenderSVGBlock::absoluteRects):
  55718. * rendering/svg/RenderSVGBlock.h:
  55719. * rendering/svg/RenderSVGModelObject.cpp:
  55720. (WebCore::RenderSVGModelObject::absoluteRects):
  55721. * rendering/svg/RenderSVGModelObject.h:
  55722. 2011-07-06 Emil A Eklund <eae@chromium.org>
  55723. Reviewed by Eric Seidel.
  55724. Switch offsetFromContainer and related to to new layout types
  55725. https://bugs.webkit.org/show_bug.cgi?id=63659
  55726. Switch offsetFromContainer and related mapping methods to new layout unit
  55727. abstraction.
  55728. No new tests, no functionality changes.
  55729. * rendering/LayoutTypes.h:
  55730. (WebCore::enclosingLayoutRect):
  55731. (WebCore::roundedLayoutPoint):
  55732. (WebCore::roundedLayoutUnit):
  55733. Add LayoutUnit versions of enclosingIntRect, roundedIntPoint and lroundf.
  55734. For now these map to their int counterpart but once we switch to float or
  55735. fixed point they'll be no-ops and eventually will be removed.
  55736. * rendering/RenderBox.cpp:
  55737. (WebCore::RenderBox::mapLocalToContainer):
  55738. (WebCore::RenderBox::mapAbsoluteToLocalPoint):
  55739. (WebCore::RenderBox::offsetFromContainer):
  55740. * rendering/RenderBox.h:
  55741. * rendering/RenderInline.cpp:
  55742. (WebCore::RenderInline::linesBoundingBox):
  55743. (WebCore::RenderInline::offsetFromContainer):
  55744. (WebCore::RenderInline::mapLocalToContainer):
  55745. (WebCore::RenderInline::mapAbsoluteToLocalPoint):
  55746. (WebCore::RenderInline::relativePositionedInlineOffset):
  55747. * rendering/RenderInline.h:
  55748. * rendering/RenderObject.cpp:
  55749. (WebCore::RenderObject::offsetFromContainer):
  55750. (WebCore::RenderObject::offsetFromAncestorContainer):
  55751. * rendering/RenderObject.h:
  55752. * rendering/RenderTableCell.cpp:
  55753. (WebCore::RenderTableCell::offsetFromContainer):
  55754. * rendering/RenderTableCell.h:
  55755. * rendering/RenderThemeMac.mm:
  55756. (WebCore::RenderThemeMac::convertToPaintingRect):
  55757. 2011-07-06 Levi Weintraub <leviw@chromium.org>
  55758. Switch FrameSelection to new Layout Types
  55759. https://bugs.webkit.org/show_bug.cgi?id=64043
  55760. Reviewed by Eric Seidel.
  55761. Switching the selection classes to the new layout types. Changing
  55762. NoXPosForVerticalArrowNavigation to a static inline since as it stood it violated
  55763. our global initializer rule when converted to numeric_limits from INT_MIN.
  55764. No new tests, no functionality changes.
  55765. * editing/FrameSelection.cpp:
  55766. (WebCore::FrameSelection::modify):
  55767. (WebCore::absoluteCaretY):
  55768. (WebCore::FrameSelection::lineDirectionPointForBlockDirectionNavigation):
  55769. (WebCore::CaretBase::clearCaretRect):
  55770. (WebCore::CaretBase::updateCaretRect):
  55771. (WebCore::FrameSelection::localCaretRect):
  55772. (WebCore::CaretBase::absoluteBoundsForLocalRect):
  55773. (WebCore::FrameSelection::absoluteCaretBounds):
  55774. (WebCore::repaintRectForCaret):
  55775. (WebCore::CaretBase::caretRepaintRect):
  55776. (WebCore::FrameSelection::recomputeCaretRect):
  55777. (WebCore::FrameSelection::paintCaret):
  55778. (WebCore::CaretBase::paintCaret):
  55779. (WebCore::FrameSelection::contains):
  55780. (WebCore::DragCaretController::paintDragCaret):
  55781. (WebCore::FrameSelection::bounds):
  55782. (WebCore::FrameSelection::revealSelection):
  55783. * editing/FrameSelection.h:
  55784. (WebCore::CaretBase::localCaretRectWithoutUpdate):
  55785. 2011-07-06 Levi Weintraub <leviw@chromium.org>
  55786. Switch Overflow and FrameRect methods in InlineBox to Layout Units
  55787. https://bugs.webkit.org/show_bug.cgi?id=64034
  55788. Reviewed by Eric Seidel.
  55789. Switching Overflow and FrameRect methods on InlineBox to new Layout Unit abstraction and
  55790. cleaning up some compilation errors that crop up when building with floating point layout units.
  55791. No new tests, no functionality changes.
  55792. * css/CSSComputedStyleDeclaration.cpp:
  55793. (WebCore::sizingBox):
  55794. * dom/Document.h:
  55795. * editing/DeleteButtonController.cpp:
  55796. (WebCore::isDeletableElement):
  55797. * inspector/DOMNodeHighlighter.cpp:
  55798. (WebCore::DOMNodeHighlighter::drawNodeHighlight):
  55799. * page/animation/AnimationBase.cpp:
  55800. (WebCore::blendFunc):
  55801. * platform/ScrollView.h:
  55802. (WebCore::ScrollView::visibleWidth):
  55803. (WebCore::ScrollView::visibleHeight):
  55804. * platform/ScrollableArea.h:
  55805. (WebCore::ScrollableArea::visibleHeight):
  55806. (WebCore::ScrollableArea::visibleWidth):
  55807. * platform/graphics/FloatPoint.h: Adding FloatPoint and FloatSize move[By] functions
  55808. (WebCore::FloatPoint::move):
  55809. (WebCore::FloatPoint::moveBy):
  55810. * rendering/AutoTableLayout.cpp:
  55811. (WebCore::AutoTableLayout::computePreferredLogicalWidths):
  55812. (WebCore::AutoTableLayout::layout):
  55813. * rendering/InlineFlowBox.h:
  55814. (WebCore::InlineFlowBox::layoutOverflowRect):
  55815. (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
  55816. (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
  55817. (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
  55818. (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
  55819. (WebCore::InlineFlowBox::logicalLayoutOverflowRect):
  55820. (WebCore::InlineFlowBox::visualOverflowRect):
  55821. (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
  55822. (WebCore::InlineFlowBox::logicalRightVisualOverflow):
  55823. (WebCore::InlineFlowBox::logicalTopVisualOverflow):
  55824. (WebCore::InlineFlowBox::logicalBottomVisualOverflow):
  55825. (WebCore::InlineFlowBox::logicalVisualOverflowRect):
  55826. (WebCore::InlineFlowBox::frameRectIncludingLineHeight):
  55827. (WebCore::InlineFlowBox::logicalFrameRectIncludingLineHeight):
  55828. * rendering/RenderBlock.h:
  55829. (WebCore::RenderBlock::RenderBlockRareData::positiveMarginBeforeDefault):
  55830. (WebCore::RenderBlock::RenderBlockRareData::negativeMarginBeforeDefault):
  55831. (WebCore::RenderBlock::RenderBlockRareData::positiveMarginAfterDefault):
  55832. (WebCore::RenderBlock::RenderBlockRareData::negativeMarginAfterDefault):
  55833. 2011-07-06 Emil A Eklund <eae@chromium.org>
  55834. Reviewed by Eric Seidel.
  55835. Switch nodeAtPoint to to new layout types
  55836. https://bugs.webkit.org/show_bug.cgi?id=63663
  55837. No new tests, no functionality changes.
  55838. * rendering/EllipsisBox.cpp:
  55839. (WebCore::EllipsisBox::nodeAtPoint):
  55840. * rendering/EllipsisBox.h:
  55841. * rendering/InlineBox.cpp:
  55842. (WebCore::InlineBox::nodeAtPoint):
  55843. * rendering/InlineBox.h:
  55844. * rendering/InlineFlowBox.cpp:
  55845. (WebCore::InlineFlowBox::nodeAtPoint):
  55846. * rendering/InlineFlowBox.h:
  55847. * rendering/InlineTextBox.cpp:
  55848. (WebCore::InlineTextBox::nodeAtPoint):
  55849. * rendering/InlineTextBox.h:
  55850. * rendering/LayoutTypes.h:
  55851. (WebCore::toLayoutSize):
  55852. (WebCore::toLayoutPoint):
  55853. (WebCore::roundedLayoutPoint):
  55854. (WebCore::roundedLayoutUnit):
  55855. * rendering/RenderBlock.cpp:
  55856. (WebCore::RenderBlock::nodeAtPoint):
  55857. * rendering/RenderBlock.h:
  55858. * rendering/RenderBox.cpp:
  55859. (WebCore::RenderBox::nodeAtPoint):
  55860. * rendering/RenderBox.h:
  55861. * rendering/RenderFrameSet.cpp:
  55862. (WebCore::RenderFrameSet::nodeAtPoint):
  55863. * rendering/RenderFrameSet.h:
  55864. * rendering/RenderImage.cpp:
  55865. (WebCore::RenderImage::nodeAtPoint):
  55866. * rendering/RenderImage.h:
  55867. * rendering/RenderInline.cpp:
  55868. (WebCore::RenderInline::nodeAtPoint):
  55869. * rendering/RenderInline.h:
  55870. * rendering/RenderListBox.cpp:
  55871. (WebCore::RenderListBox::nodeAtPoint):
  55872. * rendering/RenderListBox.h:
  55873. * rendering/RenderObject.cpp:
  55874. (WebCore::RenderObject::nodeAtPoint):
  55875. * rendering/RenderObject.h:
  55876. * rendering/RenderTable.cpp:
  55877. (WebCore::RenderTable::nodeAtPoint):
  55878. * rendering/RenderTable.h:
  55879. * rendering/RenderTableRow.cpp:
  55880. (WebCore::RenderTableRow::nodeAtPoint):
  55881. * rendering/RenderTableRow.h:
  55882. * rendering/RenderTableSection.cpp:
  55883. (WebCore::RenderTableSection::nodeAtPoint):
  55884. * rendering/RenderTableSection.h:
  55885. * rendering/RenderText.h:
  55886. (WebCore::RenderText::nodeAtPoint):
  55887. * rendering/RenderTextControlMultiLine.cpp:
  55888. (WebCore::RenderTextControlMultiLine::nodeAtPoint):
  55889. * rendering/RenderTextControlMultiLine.h:
  55890. * rendering/RenderTextControlSingleLine.cpp:
  55891. (WebCore::RenderTextControlSingleLine::nodeAtPoint):
  55892. * rendering/RenderTextControlSingleLine.h:
  55893. * rendering/RenderWidget.cpp:
  55894. (WebCore::RenderWidget::nodeAtPoint):
  55895. * rendering/RenderWidget.h:
  55896. * rendering/RootInlineBox.cpp:
  55897. (WebCore::RootInlineBox::nodeAtPoint):
  55898. * rendering/RootInlineBox.h:
  55899. * rendering/svg/RenderSVGForeignObject.cpp:
  55900. (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
  55901. (WebCore::RenderSVGForeignObject::nodeAtPoint):
  55902. * rendering/svg/RenderSVGForeignObject.h:
  55903. * rendering/svg/RenderSVGModelObject.cpp:
  55904. (WebCore::RenderSVGModelObject::nodeAtPoint):
  55905. * rendering/svg/RenderSVGModelObject.h:
  55906. * rendering/svg/RenderSVGRoot.cpp:
  55907. (WebCore::RenderSVGRoot::nodeAtPoint):
  55908. * rendering/svg/RenderSVGRoot.h:
  55909. * rendering/svg/RenderSVGText.cpp:
  55910. (WebCore::RenderSVGText::nodeAtPoint):
  55911. * rendering/svg/RenderSVGText.h:
  55912. * rendering/svg/SVGInlineTextBox.cpp:
  55913. (WebCore::SVGInlineTextBox::nodeAtPoint):
  55914. * rendering/svg/SVGInlineTextBox.h:
  55915. 2011-07-06 Adrienne Walker <enne@google.com>
  55916. [chromium] Add compositor texture manager soft limits and lost focus reclaiming
  55917. https://bugs.webkit.org/show_bug.cgi?id=64009
  55918. Reviewed by James Robinson.
  55919. Add a soft limit for texture memory. Unprotected textures will get
  55920. reclaimed when above this limit. Increase the hard limit for maximum
  55921. texture memory as well, now that there is a better heuristic and
  55922. textures are reclaimed from tabs without focus.
  55923. Landing this for vangelis@chromium.org.
  55924. * platform/graphics/chromium/LayerRendererChromium.cpp:
  55925. (WebCore::LayerRendererChromium::releaseTextures):
  55926. (WebCore::LayerRendererChromium::initializeSharedObjects):
  55927. * platform/graphics/chromium/LayerRendererChromium.h:
  55928. * platform/graphics/chromium/LayerTilerChromium.cpp:
  55929. (WebCore::LayerTilerChromium::protectTileTextures):
  55930. * platform/graphics/chromium/LayerTilerChromium.h:
  55931. * platform/graphics/chromium/TextureManager.cpp:
  55932. (WebCore::TextureManager::TextureManager):
  55933. (WebCore::TextureManager::requestTexture):
  55934. * platform/graphics/chromium/TextureManager.h:
  55935. (WebCore::TextureManager::create):
  55936. 2011-07-06 Pavel Feldman <pfeldman@chromium.org>
  55937. Not reviewed: Web Inspector: fixing typo introduced in the r90397.
  55938. * inspector/front-end/StylesSidebarPane.js:
  55939. 2011-07-06 Mike Reed <reed@google.com>
  55940. [skia] don't include deprecated header
  55941. https://bugs.webkit.org/show_bug.cgi?id=64025
  55942. Reviewed by James Robinson.
  55943. No new tests. Just removing #include of an unused header that will be gone soon
  55944. * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
  55945. * platform/graphics/skia/PlatformContextSkia.cpp:
  55946. 2011-06-30 Cris Neckar <cdn@chromium.org>
  55947. Reviewed by Darin Fisher.
  55948. Add versioning to Chromium clipboard and prevent polling from inside events.
  55949. https://bugs.webkit.org/show_bug.cgi?id=63738
  55950. * platform/chromium/ChromiumDataObject.cpp:
  55951. (WebCore::ChromiumDataObject::getSequenceNumber):
  55952. * platform/chromium/ChromiumDataObject.h:
  55953. * platform/chromium/ClipboardChromium.cpp:
  55954. (WebCore::ClipboardChromium::ClipboardChromium):
  55955. (WebCore::ClipboardChromium::getData):
  55956. (WebCore::ClipboardChromium::platformClipboardChanged):
  55957. * platform/chromium/ClipboardChromium.h:
  55958. * platform/chromium/DataTransferItemChromium.cpp:
  55959. (WebCore::DataTransferItemChromium::getAsString):
  55960. (WebCore::DataTransferItemChromium::getAsFile):
  55961. * platform/chromium/PlatformBridge.h:
  55962. * svg/SVGAnimationElement.cpp:
  55963. (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
  55964. 2011-07-01 James Robinson <jamesr@chromium.org>
  55965. Reviewed by Stephen White.
  55966. [chromium] Externalize layer visibility calculation
  55967. https://bugs.webkit.org/show_bug.cgi?id=63847
  55968. This moves the layer visibility calculation from the layer itself out to LayerRendererChromium, like the other
  55969. calculated properties. Previously, we were doing this calculating at paint time and again at draw time and
  55970. relying on the fact that this produced the same value. This avoids the redundant calculation.
  55971. Covered by existing compositing/ layout tests.
  55972. * platform/graphics/chromium/ContentLayerChromium.cpp:
  55973. (WebCore::ContentLayerChromium::ContentLayerChromium):
  55974. (WebCore::ContentLayerChromium::paintContentsIfDirty):
  55975. (WebCore::ContentLayerChromium::tilingTransform):
  55976. (WebCore::ContentLayerChromium::contentBounds):
  55977. (WebCore::ContentLayerChromium::updateLayerSize):
  55978. (WebCore::ContentLayerChromium::draw):
  55979. (WebCore::ContentLayerChromium::setTilingOption):
  55980. (WebCore::ContentLayerChromium::setIsMask):
  55981. * platform/graphics/chromium/ContentLayerChromium.h:
  55982. * platform/graphics/chromium/ImageLayerChromium.cpp:
  55983. (WebCore::ImageLayerChromium::paintContentsIfDirty):
  55984. (WebCore::ImageLayerChromium::contentBounds):
  55985. * platform/graphics/chromium/ImageLayerChromium.h:
  55986. * platform/graphics/chromium/LayerChromium.cpp:
  55987. (WebCore::LayerChromium::pushPropertiesTo):
  55988. * platform/graphics/chromium/LayerChromium.h:
  55989. (WebCore::LayerChromium::contentBounds):
  55990. (WebCore::LayerChromium::visibleLayerRect):
  55991. (WebCore::LayerChromium::setVisibleLayerRect):
  55992. (WebCore::LayerChromium::draw):
  55993. * platform/graphics/chromium/LayerRendererChromium.cpp:
  55994. (WebCore::calculateVisibleLayerRect):
  55995. (WebCore::LayerRendererChromium::paintLayerContents):
  55996. (WebCore::LayerRendererChromium::drawLayer):
  55997. * platform/graphics/chromium/RenderSurfaceChromium.cpp:
  55998. (WebCore::RenderSurfaceChromium::draw):
  55999. * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
  56000. (WebCore::CCCanvasLayerImpl::draw):
  56001. * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
  56002. * platform/graphics/chromium/cc/CCLayerImpl.cpp:
  56003. (WebCore::CCLayerImpl::draw):
  56004. * platform/graphics/chromium/cc/CCLayerImpl.h:
  56005. (WebCore::CCLayerImpl::contentBounds):
  56006. (WebCore::CCLayerImpl::setContentBounds):
  56007. (WebCore::CCLayerImpl::visibleLayerRect):
  56008. (WebCore::CCLayerImpl::setVisibleLayerRect):
  56009. (WebCore::CCLayerImpl::doubleSided):
  56010. (WebCore::CCLayerImpl::setDoubleSided):
  56011. * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
  56012. (WebCore::CCPluginLayerImpl::draw):
  56013. * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
  56014. * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
  56015. (WebCore::CCVideoLayerImpl::draw):
  56016. * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
  56017. 2011-07-06 John Sullivan <sullivan@apple.com>
  56018. IconDatabase::synchronousIconForPageURL() has inconsistent API when no custom icon is available
  56019. <https://bugs.webkit.org/show_bug.cgi?id=64015>
  56020. <rdar://problem/9706277>
  56021. For some URLs it would return a particular size of default icon; for other
  56022. URLs it would return 0.
  56023. Reviewed by Ada Chan.
  56024. * loader/icon/IconDatabase.cpp:
  56025. (WebCore::IconDatabase::synchronousIconForPageURL):
  56026. Return 0 in all cases where there is no custom icon.
  56027. 2011-07-06 Emil A Eklund <eae@chromium.org>
  56028. Reviewed by Eric Seidel.
  56029. Switch RenderLayer::hitTest* to to new layout types
  56030. https://bugs.webkit.org/show_bug.cgi?id=63640
  56031. Switch hit testing and supporting methods for RenderLayer over to the new
  56032. layout unit abstraction.
  56033. No new tests, no functionality changes.
  56034. * rendering/LayoutTypes.h:
  56035. (WebCore::roundedLayoutPoint):
  56036. Add roundedLayoutPoint abstraction, calls roundedIntPoint now but will be a
  56037. no-op (and eventually go away) once we switch to float or fixed point.
  56038. * rendering/RenderLayer.cpp:
  56039. (WebCore::RenderLayer::createLocalTransformState):
  56040. (WebCore::RenderLayer::hitTestLayer):
  56041. (WebCore::RenderLayer::hitTestList):
  56042. (WebCore::RenderLayer::hitTestPaginatedChildLayer):
  56043. (WebCore::RenderLayer::hitTestChildLayerColumns):
  56044. (WebCore::RenderLayer::calculateRects):
  56045. * rendering/RenderLayer.h:
  56046. 2011-07-06 Simon Fraser <simon.fraser@apple.com>
  56047. Have RenderLayerCompositor take care of clearing backing store when entering the page cache
  56048. https://bugs.webkit.org/show_bug.cgi?id=64018
  56049. Reviewed by Joseph Pecoraro.
  56050. Move responsibility for tearing down all RenderLayer backing stores from
  56051. RenderLayer itself to RenderLayerCompositor, since RenderLayerCompositor
  56052. manages backing store creation and destruction in general.
  56053. * page/FrameView.cpp:
  56054. (WebCore::FrameView::clearBackingStores):
  56055. * rendering/RenderLayer.cpp:
  56056. * rendering/RenderLayer.h:
  56057. * rendering/RenderLayerCompositor.cpp:
  56058. (WebCore::RenderLayerCompositor::clearBackingForLayerIncludingDescendants):
  56059. (WebCore::RenderLayerCompositor::clearBackingForAllLayers):
  56060. * rendering/RenderLayerCompositor.h:
  56061. 2011-07-06 Ryuan Choi <ryuan.choi@samsung.com>
  56062. [Performance] Only call sendContentResizeNotification when the scrollbar actually did change
  56063. https://bugs.webkit.org/show_bug.cgi?id=47320
  56064. Reviewed by Eric Seidel.
  56065. Move avoidScrollbarCreation checking code from setHasHorizontalScrollbar
  56066. and setHasVerticalScrollbar to their caller in order to keep sendContentResizedNotification
  56067. false in case scrollbar is not really changed.
  56068. As a result, it will remove unnecessary relayout in the above case.
  56069. No new tests as this is very hard to write tests for. The bug only
  56070. occured when scrolling the sites which contain frame in browser with
  56071. frameFlattening. This should not change functionality in other case.
  56072. * platform/ScrollView.cpp:
  56073. (WebCore::ScrollView::setHasHorizontalScrollbar):
  56074. (WebCore::ScrollView::setHasVerticalScrollbar):
  56075. (WebCore::ScrollView::updateScrollbars):
  56076. 2011-07-06 Nate Chapin <japhet@chromium.org>
  56077. Don't let all subresources keep isLoadingInAPISense() from
  56078. returning false, only requests that affect
  56079. CachedResourceRequest::requestCount().
  56080. https://bugs.webkit.org/show_bug.cgi?id=62066
  56081. Reviewed by Adam Barth.
  56082. * dom/Document.cpp:
  56083. (WebCore::Document::Document):
  56084. (WebCore::Document::dispatchWindowLoadEvent):
  56085. * dom/Document.h:
  56086. (WebCore::Document::loadEventFinished):
  56087. * loader/DocumentLoader.cpp:
  56088. (WebCore::DocumentLoader::isLoadingInAPISense):
  56089. 2011-07-06 Pavel Feldman <pfeldman@google.com>
  56090. Web Inspector: implement drag'n'drop in the elements panel for reordering nodes.
  56091. https://bugs.webkit.org/show_bug.cgi?id=63990
  56092. Reviewed by Yury Semikhatsky.
  56093. * inspector/Inspector.json:
  56094. * inspector/InspectorDOMAgent.cpp:
  56095. (WebCore::InspectorDOMAgent::moveTo):
  56096. * inspector/InspectorDOMAgent.h:
  56097. * inspector/front-end/DOMAgent.js:
  56098. (WebInspector.DOMNode.prototype._removeChild):
  56099. (WebInspector.DOMNode.prototype.ownerDocumentElement):
  56100. (WebInspector.DOMNode.prototype.moveTo):
  56101. (WebInspector.DOMAgent.prototype._childNodeRemoved):
  56102. * inspector/front-end/ElementsTreeOutline.js:
  56103. (WebInspector.ElementsTreeOutline):
  56104. (WebInspector.ElementsTreeOutline.prototype._ondragstart):
  56105. (WebInspector.ElementsTreeOutline.prototype._ondragover):
  56106. (WebInspector.ElementsTreeOutline.prototype._ondragleave):
  56107. (WebInspector.ElementsTreeOutline.prototype._isValidDragSourceOrTarget):
  56108. (WebInspector.ElementsTreeOutline.prototype._ondragend.callback):
  56109. (WebInspector.ElementsTreeOutline.prototype._ondragend):
  56110. (WebInspector.ElementsTreeOutline.prototype._clearDragOverTreeElementMarker):
  56111. (WebInspector.ElementsTreeOutline.prototype.populateContextMenu.focusElement):
  56112. (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
  56113. (WebInspector.ElementsTreeElement.prototype.onattach):
  56114. * inspector/front-end/inspector.css:
  56115. (.outline-disclosure li.elements-drag-over .selection):
  56116. * inspector/front-end/treeoutline.js:
  56117. (TreeOutline.prototype.treeElementFromEvent):
  56118. 2011-07-06 Andras Becsi <abecsi@webkit.org>
  56119. Fix "warning: a `;' might be needed at the end of action code"
  56120. Unreviewed gardening.
  56121. No new tests needed.
  56122. * css/CSSGrammar.y: Future versions of Bison will not add the ';' so add it.
  56123. 2011-07-06 Andras Becsi <abecsi@webkit.org>
  56124. [Qt] Revome unused but set shadowBlur variable after r90406.
  56125. Unreviewed build fix.
  56126. No new tests needed.
  56127. * platform/graphics/qt/GraphicsContextQt.cpp:
  56128. (WebCore::GraphicsContext::fillPath): Use the GraphicsContext brush.
  56129. 2011-07-06 Andras Becsi <abecsi@webkit.org>
  56130. [Qt] Remove duplicate entries of ShadowBlur sources from project file.
  56131. Rubber-stamped by Csaba Osztrogonác.
  56132. No new tests needed.
  56133. * WebCore.pro: These files were already added in r84410.
  56134. 2011-07-05 Kentaro Hara <haraken@google.com>
  56135. Trigger a 'change' event whenever selected files are changed
  56136. https://bugs.webkit.org/show_bug.cgi?id=63929
  56137. Reviewed by Kent Tamura.
  56138. Record previously selected files and then compare them with newly selected files.
  56139. If the previously selected files and their order are not equal to those of
  56140. the newly selected files, we trigger the 'change' event.
  56141. Test: fast/forms/file-input-change-event.html
  56142. * html/FileInputType.cpp:
  56143. (WebCore::FileInputType::filesChosen): Calls dispathChangeEvent() only when the previously selected files are different from the newly selected files
  56144. 2011-06-29 Kent Tamura <tkent@chromium.org>
  56145. Reviewed by Alexey Proskuryakov.
  56146. [Mac] REGRESSION (r88415): Range slider doesn't have focus appearance.
  56147. https://bugs.webkit.org/show_bug.cgi?id=63573
  56148. * rendering/RenderThemeMac.mm:
  56149. (WebCore::RenderThemeMac::paintSliderThumb):
  56150. Need to pass the RenderObject of the owner <input> because
  56151. updateFocusedState() checks the outline style of the specified
  56152. renderer, and we'd like to make a slider thumb reflect the owner
  56153. focus style.
  56154. 2011-07-05 Hans Wennborg <hans@chromium.org>
  56155. [V8][Chromium] Remove use of OwnHandle from V8LocalContext
  56156. https://bugs.webkit.org/show_bug.cgi?id=63925
  56157. Reviewed by Adam Barth.
  56158. Replace the OwnHandle<> member in V8LocalContext with
  56159. v8::Persistent<v8::Context>.
  56160. The code that used OwnHandle<> would not correctly Dispose
  56161. of the Context, which would cause the memory to fill up when creating
  56162. and destructing many V8LocalContext objects, such as in the case
  56163. of IndexedDB.
  56164. * bindings/v8/V8Utilities.cpp:
  56165. (WebCore::V8LocalContext::V8LocalContext):
  56166. (WebCore::V8LocalContext::~V8LocalContext):
  56167. * bindings/v8/V8Utilities.h:
  56168. 2011-07-05 Igor Oliveira <igor.oliveira@openbossa.org>
  56169. [Qt] Add ShadowBlur support
  56170. https://bugs.webkit.org/show_bug.cgi?id=62997
  56171. Use ShadowBlur instead of ContextShadow to handle canvas and css shadows. ShadowBlur is
  56172. a newer and platform independent shadow implementation.
  56173. Qt QPainter does not have support for shadows so is necessary to create a layer support
  56174. to draw complex shapes and fonts. The beginShadowLayer creates a temporary shadow buffer
  56175. where the canvas can draw onto and endShadowLayer applies the blur filter, colors the
  56176. shadow buffer and draw the final shadow to the graphics context.
  56177. Reviewed by Andreas Kling.
  56178. * WebCore.pro:
  56179. * platform/graphics/GraphicsContext.cpp:
  56180. * platform/graphics/GraphicsContext.h:
  56181. * platform/graphics/ShadowBlur.cpp:
  56182. (WebCore::ShadowBlur::ShadowBlur):
  56183. (WebCore::ShadowBlur::setShadowValues):
  56184. (WebCore::ShadowBlur::updateShadowBlurValues):
  56185. (WebCore::ShadowBlur::clear):
  56186. (WebCore::ShadowBlur::blurAndColorShadowBuffer):
  56187. (WebCore::ShadowBlur::beginShadowLayer):
  56188. (WebCore::ShadowBlur::endShadowLayer):
  56189. * platform/graphics/ShadowBlur.h:
  56190. (WebCore::ShadowBlur::type):
  56191. * platform/graphics/qt/ContextShadowQt.cpp: Removed.
  56192. * platform/graphics/qt/FontQt.cpp:
  56193. (WebCore::drawTextCommon):
  56194. (WebCore::Font::drawGlyphs):
  56195. * platform/graphics/qt/GraphicsContextQt.cpp:
  56196. (WebCore::GraphicsContextPlatformPrivate::mustUseShadowBlur):
  56197. (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
  56198. (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
  56199. (WebCore::GraphicsContext::savePlatformState):
  56200. (WebCore::GraphicsContext::restorePlatformState):
  56201. (WebCore::GraphicsContext::fillPath):
  56202. (WebCore::GraphicsContext::strokePath):
  56203. (WebCore::GraphicsContext::fillRect):
  56204. (WebCore::GraphicsContext::fillRoundedRect):
  56205. (WebCore::GraphicsContext::shadowBlur):
  56206. (WebCore::GraphicsContext::clipBounds):
  56207. (WebCore::GraphicsContext::setPlatformShadow):
  56208. (WebCore::GraphicsContext::clearPlatformShadow):
  56209. * platform/graphics/qt/ImageQt.cpp:
  56210. (WebCore::BitmapImage::draw):
  56211. * platform/graphics/qt/StillImageQt.cpp:
  56212. (WebCore::StillImage::draw):
  56213. 2011-07-05 Sam Weinig <sam@webkit.org>
  56214. Null deref accessing CustomEvent.detail
  56215. <rdar://problem/9724577>
  56216. https://bugs.webkit.org/show_bug.cgi?id=63885
  56217. Reviewed by Anders Carlsson.
  56218. Test: fast/events/custom-event-uninitialized.html
  56219. * bindings/scripts/CodeGeneratorJS.pm:
  56220. Guard against uninitialized script value.
  56221. 2011-07-05 Pratik Solanki <psolanki@apple.com>
  56222. Reviewed by Dan Bernstein.
  56223. Coalesce data array into one NSData before calling didReceiveData
  56224. https://bugs.webkit.org/show_bug.cgi?id=63916
  56225. <rdar://problem/9715181>
  56226. Instead of calling didReceiveData multiple times with smaller chunks of data, we merge the
  56227. data buffers into one and call it once.
  56228. No new tests because the flag isn't enabled yet.
  56229. * platform/network/mac/ResourceHandleMac.mm:
  56230. (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]):
  56231. 2011-07-05 Tamas Czene <Czene.Tamas@stud.u-szeged.hu>
  56232. Reviewed by Simon Fraser.
  56233. Remove virtual functions from StyleImage.
  56234. https://bugs.webkit.org/show_bug.cgi?id=63909
  56235. We can remove the virtual "isChachedImage, isPendingImage, isGeneratedImage" functions to speed up the StyleImage.
  56236. Some profile data shows this part is significant, especially in small CSS-based sites.
  56237. Removing the virtual functions - removing the calls - makes a small performance progression on this part.
  56238. * rendering/style/StyleCachedImage.h:
  56239. (WebCore::StyleCachedImage::StyleCachedImage):
  56240. * rendering/style/StyleGeneratedImage.h:
  56241. (WebCore::StyleGeneratedImage::StyleGeneratedImage):
  56242. * rendering/style/StyleImage.h:
  56243. (WebCore::StyleImage::isCachedImage):
  56244. (WebCore::StyleImage::isPendingImage):
  56245. (WebCore::StyleImage::isGeneratedImage):
  56246. (WebCore::StyleImage::StyleImage):
  56247. * rendering/style/StylePendingImage.h:
  56248. (WebCore::StylePendingImage::StylePendingImage):
  56249. 2011-07-05 Pavel Feldman <pfeldman@google.com>
  56250. Web Inspector: add "element state" setting to the styles section title.
  56251. https://bugs.webkit.org/show_bug.cgi?id=63932
  56252. Reviewed by Yury Semikhatsky.
  56253. * English.lproj/localizedStrings.js:
  56254. * WebCore.gypi:
  56255. * inspector/front-end/Images/paneElementStateButtons.png: Added.
  56256. * inspector/front-end/StylesSidebarPane.js:
  56257. (WebInspector.StylesSidebarPane.muteEventListener):
  56258. (WebInspector.StylesSidebarPane):
  56259. (WebInspector.StylesSidebarPane.prototype.update):
  56260. (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
  56261. (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
  56262. (WebInspector.StylesSidebarPane.prototype.addBlankSection):
  56263. (WebInspector.StylesSidebarPane.prototype.registerShortcuts):
  56264. (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
  56265. (WebInspector.StylesSidebarPane.prototype._createElementStatePane.clickListener):
  56266. (WebInspector.StylesSidebarPane.prototype._createElementStatePane.createCheckbox):
  56267. (WebInspector.StylesSidebarPane.prototype._createElementStatePane):
  56268. * inspector/front-end/WebKit.qrc:
  56269. * inspector/front-end/inspector.css:
  56270. (.pane > .title > .pane-title-button:active, .pane > .title > .pane-title-button.toggled):
  56271. (.pane > .title > .pane-title-button.element-state):
  56272. (.styles-element-state-pane):
  56273. (.styles-element-state-pane.expanded):
  56274. (.styles-element-state-pane > table):
  56275. (.styles-element-state-pane input):
  56276. 2011-06-22 Pavel Podivilov <podivilov@chromium.org>
  56277. Reviewed by Yury Semikhatsky.
  56278. Web Inspector: extract duplicated code that deals with source mappings.
  56279. https://bugs.webkit.org/show_bug.cgi?id=63139
  56280. * inspector/front-end/ConsoleView.js:
  56281. (WebInspector.ConsoleMessage.prototype.isEqual):
  56282. (WebInspector.ConsoleMessage.prototype.get stackTrace):
  56283. * inspector/front-end/DebuggerPresentationModel.js:
  56284. (WebInspector.DebuggerPresentationModel.prototype._uiLocationToScriptLocation):
  56285. (WebInspector.DebuggerPresentationModel.prototype._updateAnchor):
  56286. (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
  56287. (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
  56288. (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
  56289. (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didGetScriptLocation):
  56290. (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
  56291. (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.updateSourceFileBreakpointsAndDispatchEvent):
  56292. (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didGetUILocation):
  56293. (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
  56294. (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
  56295. (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
  56296. (WebInspector.PresenationCallFrame):
  56297. (WebInspector.PresenationCallFrame.prototype.sourceLine):
  56298. 2011-07-05 Ilya Tikhonovsky <loislo@chromium.org>
  56299. Web Inspector: WebInspector frontend reports a protocol error in remote debugging mode.
  56300. https://bugs.webkit.org/show_bug.cgi?id=63935
  56301. it was error generated for obsolete message "loaded" which was sent from frontend to backend.
  56302. Reviewed by Yury Semikhatsky.
  56303. * inspector/CodeGeneratorInspector.pm:
  56304. * inspector/front-end/inspector.js:
  56305. (WebInspector.loaded.WebInspector.socket.onopen):
  56306. (WebInspector.loaded):
  56307. 2011-07-05 Andrey Kosyakov <caseq@chromium.org>
  56308. Web Inspector: [refactoring] remove network-sidebar style, add network-log-grid
  56309. https://bugs.webkit.org/show_bug.cgi?id=63913
  56310. Reviewed by Yury Semikhatsky.
  56311. * inspector/front-end/NetworkPanel.js:
  56312. (WebInspector.NetworkPanel):
  56313. (WebInspector.NetworkPanel.prototype._createTable):
  56314. * inspector/front-end/networkPanel.css:
  56315. (.network-log-grid):
  56316. (.network-log-grid table.data):
  56317. (.network-log-grid.small table.data):
  56318. (.network-log-grid td):
  56319. (.network-log-grid.small td):
  56320. (.network-log-grid th):
  56321. (.network-log-grid.small th):
  56322. (.network-log-grid th, .network.panel .data-grid th.sort-descending, .network.panel .data-grid th.sort-ascending):
  56323. (.network-log-grid .data-container):
  56324. (.network-log-grid.small .data-container):
  56325. (.network-log-grid select):
  56326. (.network-log-grid.small tr.offscreen):
  56327. (.network-log-grid tr.offscreen):
  56328. (.network-log-grid tr.offscreen td):
  56329. (.network-log-grid tr.filler):
  56330. (.network-log-grid tr:not(.filler) td.name-column):
  56331. (.network.panel:not(.viewing-resource) .network-log-grid td.name-column:hover):
  56332. (.network-log-grid td.time-column):
  56333. (.network-log-grid.small .network-graph-side):
  56334. (.network-log-grid th.sortable:active):
  56335. (.network-log-grid tr.selected .network-cell-subtitle):
  56336. (.network-log-grid .icon):
  56337. (.network-log-grid.small .icon):
  56338. (.network-log-grid .network-category-scripts .icon):
  56339. (.network-log-grid.small .network-category-scripts .icon):
  56340. (.network-log-grid .network-category-documents .icon):
  56341. (.network-log-grid.small .network-category-documents .icon):
  56342. (.network-log-grid .network-category-stylesheets .icon):
  56343. (.network-log-grid.small .network-category-stylesheets .icon):
  56344. (.network-log-grid .network-category-images .icon):
  56345. (.network-log-grid.small .network-category-images .icon):
  56346. (.network-log-grid .image-network-icon-preview):
  56347. (.network-log-grid.small .image-network-icon-preview):
  56348. (.network-timeline-grid.small .network-event-divider):
  56349. (.network-log-grid .resources-dividers):
  56350. (.network-log-grid .resources-dividers-label-bar):
  56351. (.network-timeline-grid.small .resources-dividers-label-bar):
  56352. (.network-timeline-grid .resources-divider-label):
  56353. (.network-timeline-grid .resources-dividers-label-bar .resources-divider):
  56354. (.network-timeline-grid.small .resources-dividers-label-bar .resources-divider):
  56355. (.network-timeline-grid .resources-divider.first .resources-divider-label):
  56356. (.network-timeline-grid .resources-dividers-label-bar .resources-divider.first):
  56357. (.network-timeline-grid tr.filler td):
  56358. (.network-summary-bar td):
  56359. (.network.panel.viewing-resource .network-log-grid th):
  56360. (.network-log-grid.full-grid-mode .viewer-column):
  56361. (.network-log-grid.brief-grid-mode .time-column):
  56362. (.network-log-grid.viewing-resource-mode .timeline-column):
  56363. (.network.panel .sidebar):
  56364. (.network.panel.viewing-resource .network-log-grid .data-grid-resizer):
  56365. 2011-07-05 Alexandru Chiculita <achicu@adobe.com>
  56366. Reviewed by Simon Hausmann.
  56367. [Qt] "cat" is not available when building.
  56368. https://bugs.webkit.org/show_bug.cgi?id=63924
  56369. Changed 'cat' to 'perl -ne \"print $1\"' because 'cat' is not available on Windows with
  56370. MSVC toolchain. It passed the Qt buildbots, because they run with cygwin.
  56371. Project file change. No tests needed.
  56372. * CodeGenerators.pri:
  56373. 2011-07-05 Vsevolod Vlasov <vsevik@chromium.org>
  56374. Unreviewed; Qt Linux Release minimal compile fix.
  56375. * testing/Internals.h:
  56376. (WebCore::Internals::setInspectorResourcesDataSizeLimits):
  56377. * testing/Internals.idl:
  56378. 2011-07-05 Vsevolod Vlasov <vsevik@chromium.org>
  56379. Web Inspector: Show content for plugin requests in network panel.
  56380. https://bugs.webkit.org/show_bug.cgi?id=30080
  56381. Now the data from didReceiveData callback is passed to inspector.
  56382. It is then saved in NetworkResourcesData structure for plugin requests.
  56383. Added window.internals.setInspectorResourcesDataSizeLimits() method
  56384. for testing replacement logic.
  56385. Reviewed by Pavel Feldman.
  56386. Tests: http/tests/inspector/network/network-content-replacement-embed.html
  56387. http/tests/inspector/network/network-content-replacement-xhr.html
  56388. http/tests/inspector/network/network-embed.html
  56389. * WebCore.exp.in:
  56390. * inspector/InspectorController.cpp:
  56391. (WebCore::InspectorController::setResourcesDataSizeLimitsFromInternals):
  56392. * inspector/InspectorController.h:
  56393. * inspector/InspectorInstrumentation.cpp:
  56394. (WebCore::InspectorInstrumentation::didReceiveDataImpl):
  56395. * inspector/InspectorInstrumentation.h:
  56396. (WebCore::InspectorInstrumentation::didReceiveData):
  56397. * inspector/InspectorResourceAgent.cpp:
  56398. (WebCore::InspectorResourceAgent::didReceiveResponse):
  56399. (WebCore::InspectorResourceAgent::didReceiveData):
  56400. (WebCore::InspectorResourceAgent::didFinishLoading):
  56401. (WebCore::InspectorResourceAgent::setInitialXHRContent):
  56402. (WebCore::InspectorResourceAgent::setResourcesDataSizeLimitsFromInternals):
  56403. (WebCore::InspectorResourceAgent::getResourceContent):
  56404. * inspector/InspectorResourceAgent.h:
  56405. * inspector/NetworkResourcesData.cpp:
  56406. (WebCore::NetworkResourcesData::ResourceData::ResourceData):
  56407. (WebCore::NetworkResourcesData::ResourceData::setContent):
  56408. (WebCore::NetworkResourcesData::ResourceData::purgeContent):
  56409. (WebCore::NetworkResourcesData::ResourceData::createDecoder):
  56410. (WebCore::NetworkResourcesData::ResourceData::dataLength):
  56411. (WebCore::NetworkResourcesData::ResourceData::appendData):
  56412. (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
  56413. (WebCore::NetworkResourcesData::NetworkResourcesData):
  56414. (WebCore::NetworkResourcesData::responseReceived):
  56415. (WebCore::NetworkResourcesData::setResourceContent):
  56416. (WebCore::NetworkResourcesData::maybeAddResourceData):
  56417. (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
  56418. (WebCore::NetworkResourcesData::data):
  56419. (WebCore::NetworkResourcesData::clear):
  56420. (WebCore::NetworkResourcesData::setResourcesDataSizeLimits):
  56421. (WebCore::NetworkResourcesData::ensureNoDataForIdentifier):
  56422. (WebCore::NetworkResourcesData::ensureFreeSpace):
  56423. * inspector/NetworkResourcesData.h:
  56424. (WebCore::NetworkResourcesData::ResourceData::hasContent):
  56425. (WebCore::NetworkResourcesData::ResourceData::content):
  56426. (WebCore::NetworkResourcesData::ResourceData::decoder):
  56427. (WebCore::NetworkResourcesData::ResourceData::buffer):
  56428. (WebCore::NetworkResourcesData::ResourceData::setBuffer):
  56429. (WebCore::NetworkResourcesData::ResourceData::hasData):
  56430. * inspector/front-end/Resource.js:
  56431. (WebInspector.Resource.prototype.get contentEncoded):
  56432. * inspector/front-end/ResourcePreviewView.js:
  56433. (WebInspector.ResourcePreviewView.prototype.contentLoaded):
  56434. (WebInspector.ResourcePreviewView.prototype._createEmptyView):
  56435. (WebInspector.ResourcePreviewView.prototype._createPreviewView):
  56436. * inspector/front-end/ResourceView.js:
  56437. (WebInspector.ResourceView.hasTextContent):
  56438. * loader/DocumentThreadableLoader.cpp:
  56439. (WebCore::DocumentThreadableLoader::didReceiveData):
  56440. * loader/FrameLoader.cpp:
  56441. (WebCore::FrameLoader::willLoadMediaElementURL):
  56442. (WebCore::FrameLoader::commitProvisionalLoad):
  56443. (WebCore::FrameLoader::loadResourceSynchronously):
  56444. (WebCore::FrameLoader::loadedResourceFromMemoryCache):
  56445. * loader/ResourceLoadNotifier.cpp:
  56446. (WebCore::ResourceLoadNotifier::didReceiveData):
  56447. (WebCore::ResourceLoadNotifier::dispatchDidReceiveData):
  56448. (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
  56449. * loader/ResourceLoadNotifier.h:
  56450. * loader/appcache/ApplicationCacheGroup.cpp:
  56451. (WebCore::ApplicationCacheGroup::didReceiveData):
  56452. * testing/Internals.cpp:
  56453. (WebCore::Internals::setInspectorResourcesDataSizeLimits):
  56454. * testing/Internals.h:
  56455. * testing/Internals.idl:
  56456. 2011-07-05 Kent Tamura <tkent@chromium.org>
  56457. Add an assertion that percent height box is unregistered correctly.
  56458. https://bugs.webkit.org/show_bug.cgi?id=62792
  56459. Reviewed by Hajime Morita.
  56460. No new tests. This won't change behavior.
  56461. * rendering/RenderBlock.cpp:
  56462. (WebCore::RenderBlock::hasPercentHeightDescendant): Added.
  56463. * rendering/RenderBlock.h: Declare hasPercentHeightDescendant().
  56464. * rendering/RenderBox.cpp:
  56465. (WebCore::RenderBox::destroy): Assert !hasPercentHeightDescendant().
  56466. 2011-07-04 Pavel Feldman <pfeldman@google.com>
  56467. Web Inspector: Enable settings screen with settings for console and elements panels.
  56468. https://bugs.webkit.org/show_bug.cgi?id=62853
  56469. Reviewed by Yury Semikhatsky.
  56470. * English.lproj/localizedStrings.js:
  56471. * inspector/front-end/HelpScreen.js:
  56472. (WebInspector.HelpScreen.prototype.hide):
  56473. * inspector/front-end/SettingsScreen.js:
  56474. (WebInspector.SettingsScreen):
  56475. (WebInspector.SettingsScreen.prototype._createRadioSetting.clickListener):
  56476. (WebInspector.SettingsScreen.prototype._createRadioSetting.get for):
  56477. * inspector/front-end/ShortcutsScreen.js:
  56478. (WebInspector.ShortcutsScreen.prototype.hide):
  56479. * inspector/front-end/StylesSidebarPane.js:
  56480. (WebInspector.StylesSidebarPane.prototype._colorFormatSettingChanged):
  56481. (WebInspector.StylesSidebarPane.prototype._updateColorFormatFilter.get var):
  56482. (WebInspector.StylesSidebarPane.prototype._updateColorFormatFilter):
  56483. (WebInspector.StylesSidebarPane.prototype._changeSetting):
  56484. (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
  56485. * inspector/front-end/inspector.css:
  56486. (#counters):
  56487. * inspector/front-end/inspector.js:
  56488. (WebInspector._createGlobalStatusBarItems):
  56489. (WebInspector._toggleSettings):
  56490. (WebInspector._showShortcutsScreen):
  56491. (WebInspector._hideShortcutsScreen):
  56492. (WebInspector._showSettingsScreen.onhide):
  56493. (WebInspector._showSettingsScreen):
  56494. (WebInspector._hideSettingsScreen):
  56495. (WebInspector.documentKeyDown):
  56496. 2011-07-05 Shinya Kawanaka <shinyak@google.com>
  56497. Reviewed by Kent Tamura.
  56498. The default step is used when attribute step of input[type='number'] is "any".
  56499. https://bugs.webkit.org/show_bug.cgi?id=57723
  56500. When step is "any", 0 was chosen as step, but this is not intuitive.
  56501. So changed to use the default step.
  56502. * html/HTMLInputElement.cpp:
  56503. (WebCore::HTMLInputElement::getAllowedValueStep):
  56504. Calls getAllowedValueStepWithDecimalPlaces with RejectAny.
  56505. (WebCore::HTMLInputElement::getAllowedValueStepWithDecimalPlaces):
  56506. Takes a new arugument AnyStepHandling. If it is AnyIsDefaultStep, this method
  56507. allows "step" attribute to take a value "any" to use the default step as step value.
  56508. Otherwise, INVALID_STATE_ERR will be returned if "step" is "any".
  56509. (WebCore::HTMLInputElement::applyStep): ditto.
  56510. (WebCore::HTMLInputElement::stepUp):
  56511. Calls applyStep with RejectAny.
  56512. (WebCore::HTMLInputElement::stepDown): ditto.
  56513. (WebCore::HTMLInputElement::stepUpFromRenderer):
  56514. Removes a check that step is "any". It is checked in getAllowedValueStepWithDecimalPlaces.
  56515. * html/HTMLInputElement.h:
  56516. 2011-07-04 Dominic Cooney <dominicc@chromium.org>
  56517. Simplify <progress> element's isDeterminate logic.
  56518. https://bugs.webkit.org/show_bug.cgi?id=63889
  56519. Reviewed by Hajime Morita.
  56520. Covered by existing tests
  56521. fast/dom/HTMLProgressElement/indeterminate-progress-*.html
  56522. * html/HTMLProgressElement.cpp:
  56523. (WebCore::HTMLProgressElement::position): don't duplicate isDeterminate
  56524. (WebCore::HTMLProgressElement::isDeterminate): remove redundant tests
  56525. (WebCore::HTMLProgressElement::didElementStateChange): fix formatting
  56526. * html/HTMLProgressElement.h:
  56527. 2011-07-04 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  56528. Reviewed by Kent Tamura.
  56529. [EFL] Add hasOwnDisabledStateHandlingFor() to RenderThemeEfl
  56530. https://bugs.webkit.org/show_bug.cgi?id=63884
  56531. As MediaControlRootElement decides whether it will display timeline
  56532. according to the return value of RenderTheme's hasOwnDisabledStateHandlingFor(),
  56533. RenderThemeEfl has to implement this function.
  56534. Existing tests cover the visibility of the controls.
  56535. * platform/efl/RenderThemeEfl.h:
  56536. (WebCore::RenderThemeEfl::hasOwnDisabledStateHandlingFor):
  56537. 2011-07-04 Kent Tamura <tkent@chromium.org>
  56538. REGRESSION (r87067): Text overflows from short height text field.
  56539. https://bugs.webkit.org/show_bug.cgi?id=61768
  56540. Reviewed by Dimitri Glazkov.
  56541. Since r87067, the RenderStyle for the inner text element is reset
  56542. by the value update, but the renderer for the inner text element
  56543. keeps to have metrics calculated by the previous style. So
  56544. RenderTextControlSingleLine::layout() didn't set a desired height
  56545. to the renderer for the inner text element.
  56546. This patch changes the style creation code so that it has the
  56547. desired height initially.
  56548. Test: fast/forms/textfield-overflow-by-value-update.html
  56549. * rendering/RenderTextControlSingleLine.cpp:
  56550. (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
  56551. Initialize m_desiredInnerTextHeight.
  56552. (WebCore::RenderTextControlSingleLine::layout):
  56553. Update m_desiredInnerTextHeight.
  56554. (WebCore::RenderTextControlSingleLine::styleDidChange):
  56555. Reset m_desiredInnerTextHeight.
  56556. (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
  56557. Sets the height if m_desiredInnerTextHeight has a concrete value.
  56558. * rendering/RenderTextControlSingleLine.h:
  56559. Declare m_desiredInnerTextHeight.
  56560. 2011-07-04 MORITA Hajime <morrita@google.com>
  56561. Accessing ShadowRoot.nodeList causes an assertion failure.
  56562. http://webkit.org/b/63798
  56563. The TreeScope destructor did clear the reference to TreeScope,
  56564. then the Node destructor accessing treeScope(), which results
  56565. an inconsistent state during the NodeList cache cleanup.
  56566. This change clears NodeList cache during the TreeScope destructor.
  56567. The Node destructor no longer does problematic NodeList cache
  56568. manipulation.
  56569. Test: fast/dom/shadow/shadow-root-node-list.html
  56570. Reviewed by Dimitri Glazkov.
  56571. * dom/Node.cpp:
  56572. (WebCore::Node::~Node):
  56573. (WebCore::Node::clearRareData):
  56574. * dom/Node.h:
  56575. * dom/TreeScope.cpp:
  56576. (WebCore::TreeScope::~TreeScope):
  56577. 2011-07-04 Vsevolod Vlasov <vsevik@chromium.org>
  56578. ResourceLoadNotifier::dispatchWillSendRequest should not compare StringImpl directly
  56579. https://bugs.webkit.org/show_bug.cgi?id=63873
  56580. Reviewed by Alexey Proskuryakov.
  56581. * loader/ResourceLoadNotifier.cpp:
  56582. (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
  56583. 2011-07-04 Sheriff Bot <webkit.review.bot@gmail.com>
  56584. Unreviewed, rolling out r90373.
  56585. http://trac.webkit.org/changeset/90373
  56586. https://bugs.webkit.org/show_bug.cgi?id=63917
  56587. Breaks Qt Linux Release minimal (Requested by vsevik on
  56588. #webkit).
  56589. * WebCore.exp.in:
  56590. * inspector/InspectorController.cpp:
  56591. * inspector/InspectorController.h:
  56592. * inspector/InspectorInstrumentation.cpp:
  56593. (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
  56594. * inspector/InspectorInstrumentation.h:
  56595. (WebCore::InspectorInstrumentation::didReceiveContentLength):
  56596. * inspector/InspectorResourceAgent.cpp:
  56597. (WebCore::InspectorResourceAgent::didReceiveResponse):
  56598. (WebCore::InspectorResourceAgent::didReceiveContentLength):
  56599. (WebCore::InspectorResourceAgent::didFinishLoading):
  56600. (WebCore::InspectorResourceAgent::setInitialXHRContent):
  56601. (WebCore::InspectorResourceAgent::getResourceContent):
  56602. * inspector/InspectorResourceAgent.h:
  56603. * inspector/NetworkResourcesData.cpp:
  56604. (WebCore::NetworkResourcesData::ResourceData::ResourceData):
  56605. (WebCore::NetworkResourcesData::ResourceData::content):
  56606. (WebCore::NetworkResourcesData::ResourceData::appendContent):
  56607. (WebCore::NetworkResourcesData::ResourceData::purgeContent):
  56608. (WebCore::NetworkResourcesData::NetworkResourcesData):
  56609. (WebCore::NetworkResourcesData::responseReceived):
  56610. (WebCore::NetworkResourcesData::addResourceContent):
  56611. (WebCore::NetworkResourcesData::data):
  56612. (WebCore::NetworkResourcesData::clear):
  56613. (WebCore::NetworkResourcesData::ensureNoDataForIdentifier):
  56614. (WebCore::NetworkResourcesData::ensureFreeSpace):
  56615. * inspector/NetworkResourcesData.h:
  56616. (WebCore::NetworkResourcesData::ResourceData::hasContent):
  56617. (WebCore::NetworkResourcesData::ResourceData::setIsContentPurged):
  56618. (WebCore::NetworkResourcesData::ResourceData::textEncodingName):
  56619. (WebCore::NetworkResourcesData::ResourceData::setTextEncodingName):
  56620. * inspector/front-end/Resource.js:
  56621. * inspector/front-end/ResourcePreviewView.js:
  56622. (WebInspector.ResourcePreviewView.prototype.contentLoaded):
  56623. (WebInspector.ResourcePreviewView.prototype._createInnerView):
  56624. * inspector/front-end/ResourceView.js:
  56625. (WebInspector.ResourceView.hasTextContent):
  56626. * loader/DocumentThreadableLoader.cpp:
  56627. (WebCore::DocumentThreadableLoader::didReceiveData):
  56628. * loader/FrameLoader.cpp:
  56629. (WebCore::FrameLoader::willLoadMediaElementURL):
  56630. (WebCore::FrameLoader::commitProvisionalLoad):
  56631. (WebCore::FrameLoader::loadResourceSynchronously):
  56632. (WebCore::FrameLoader::loadedResourceFromMemoryCache):
  56633. * loader/ResourceLoadNotifier.cpp:
  56634. (WebCore::ResourceLoadNotifier::didReceiveData):
  56635. (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
  56636. (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
  56637. * loader/ResourceLoadNotifier.h:
  56638. * loader/appcache/ApplicationCacheGroup.cpp:
  56639. (WebCore::ApplicationCacheGroup::didReceiveData):
  56640. * testing/Internals.cpp:
  56641. * testing/Internals.h:
  56642. * testing/Internals.idl:
  56643. 2011-07-04 Vsevolod Vlasov <vsevik@chromium.org>
  56644. Web Inspector: Show content for plugin requests in network panel.
  56645. https://bugs.webkit.org/show_bug.cgi?id=30080
  56646. Reviewed by Pavel Feldman.
  56647. Tests: http/tests/inspector/network/network-content-replacement-embed.html
  56648. http/tests/inspector/network/network-content-replacement-xhr.html
  56649. http/tests/inspector/network/network-embed.html
  56650. * WebCore.exp.in:
  56651. * inspector/InspectorController.cpp:
  56652. (WebCore::InspectorController::setResourcesDataSizeLimitsFromInternals):
  56653. * inspector/InspectorController.h:
  56654. * inspector/InspectorInstrumentation.cpp:
  56655. (WebCore::InspectorInstrumentation::didReceiveDataImpl):
  56656. * inspector/InspectorInstrumentation.h:
  56657. (WebCore::InspectorInstrumentation::didReceiveData):
  56658. * inspector/InspectorResourceAgent.cpp:
  56659. (WebCore::InspectorResourceAgent::didReceiveResponse):
  56660. (WebCore::InspectorResourceAgent::didReceiveData):
  56661. (WebCore::InspectorResourceAgent::didFinishLoading):
  56662. (WebCore::InspectorResourceAgent::setInitialXHRContent):
  56663. (WebCore::InspectorResourceAgent::setResourcesDataSizeLimitsFromInternals):
  56664. (WebCore::InspectorResourceAgent::getResourceContent):
  56665. * inspector/InspectorResourceAgent.h:
  56666. * inspector/NetworkResourcesData.cpp:
  56667. (WebCore::NetworkResourcesData::ResourceData::ResourceData):
  56668. (WebCore::NetworkResourcesData::ResourceData::setContent):
  56669. (WebCore::NetworkResourcesData::ResourceData::purgeContent):
  56670. (WebCore::NetworkResourcesData::ResourceData::createDecoder):
  56671. (WebCore::NetworkResourcesData::ResourceData::dataLength):
  56672. (WebCore::NetworkResourcesData::ResourceData::appendData):
  56673. (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
  56674. (WebCore::NetworkResourcesData::NetworkResourcesData):
  56675. (WebCore::NetworkResourcesData::responseReceived):
  56676. (WebCore::NetworkResourcesData::setResourceContent):
  56677. (WebCore::NetworkResourcesData::maybeAddResourceData):
  56678. (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
  56679. (WebCore::NetworkResourcesData::data):
  56680. (WebCore::NetworkResourcesData::clear):
  56681. (WebCore::NetworkResourcesData::setResourcesDataSizeLimits):
  56682. (WebCore::NetworkResourcesData::ensureNoDataForIdentifier):
  56683. (WebCore::NetworkResourcesData::ensureFreeSpace):
  56684. * inspector/NetworkResourcesData.h:
  56685. (WebCore::NetworkResourcesData::ResourceData::hasContent):
  56686. (WebCore::NetworkResourcesData::ResourceData::content):
  56687. (WebCore::NetworkResourcesData::ResourceData::decoder):
  56688. (WebCore::NetworkResourcesData::ResourceData::buffer):
  56689. (WebCore::NetworkResourcesData::ResourceData::setBuffer):
  56690. (WebCore::NetworkResourcesData::ResourceData::hasData):
  56691. * inspector/front-end/Resource.js:
  56692. (WebInspector.Resource.prototype.get contentEncoded):
  56693. * inspector/front-end/ResourcePreviewView.js:
  56694. (WebInspector.ResourcePreviewView.prototype.contentLoaded):
  56695. (WebInspector.ResourcePreviewView.prototype._createEmptyView):
  56696. (WebInspector.ResourcePreviewView.prototype._createPreviewView):
  56697. * inspector/front-end/ResourceView.js:
  56698. (WebInspector.ResourceView.hasTextContent):
  56699. * loader/DocumentThreadableLoader.cpp:
  56700. (WebCore::DocumentThreadableLoader::didReceiveData):
  56701. * loader/FrameLoader.cpp:
  56702. (WebCore::FrameLoader::willLoadMediaElementURL):
  56703. (WebCore::FrameLoader::commitProvisionalLoad):
  56704. (WebCore::FrameLoader::loadResourceSynchronously):
  56705. (WebCore::FrameLoader::loadedResourceFromMemoryCache):
  56706. * loader/ResourceLoadNotifier.cpp:
  56707. (WebCore::ResourceLoadNotifier::didReceiveData):
  56708. (WebCore::ResourceLoadNotifier::dispatchDidReceiveData):
  56709. (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
  56710. * loader/ResourceLoadNotifier.h:
  56711. * loader/appcache/ApplicationCacheGroup.cpp:
  56712. (WebCore::ApplicationCacheGroup::didReceiveData):
  56713. * testing/Internals.cpp:
  56714. (WebCore::Internals::setInspectorResourcesDataSizeLimits):
  56715. * testing/Internals.h:
  56716. * testing/Internals.idl:
  56717. 2011-07-04 Jeff Timanus <twiz@chromium.org>
  56718. Reviewed by Stephen White.
  56719. Prevent calls to GrapicsContext3D::deleteTexture with id 0 in DrawingBuffer::clear().
  56720. https://bugs.webkit.org/show_bug.cgi?id=63756
  56721. * platform/graphics/gpu/DrawingBuffer.cpp:
  56722. (WebCore::DrawingBuffer::clear):
  56723. 2011-07-04 Martin Robinson <mrobinson@igalia.com>
  56724. Reviewed by Andreas Kling.
  56725. [GTK] r90148 did not apply to X11 platforms in WebKit1
  56726. https://bugs.webkit.org/show_bug.cgi?id=63862
  56727. Correct the guard for an X11 specific piece of code. TARGET(X11) not
  56728. defined for the GTK+ port.
  56729. No new tests. This is covered by an existing test.
  56730. * plugins/npapi.cpp: Correct the X11 guard.
  56731. (NPN_InvalidateRect):
  56732. 2011-07-04 Pavel Feldman <pfeldman@google.com>
  56733. Web Inspector: implement settings panel.
  56734. https://bugs.webkit.org/show_bug.cgi?id=63907
  56735. Reviewed by Yury Semikhatsky.
  56736. * English.lproj/localizedStrings.js:
  56737. * WebCore.gypi:
  56738. * WebCore.vcproj/WebCore.vcproj:
  56739. * inspector/front-end/BreakpointsSidebarPane.js:
  56740. (WebInspector.XHRBreakpointsSidebarPane.prototype._saveBreakpoints):
  56741. (WebInspector.EventListenerBreakpointsSidebarPane.prototype._saveBreakpoints):
  56742. * inspector/front-end/ConsoleView.js:
  56743. (WebInspector.ConsoleView):
  56744. (WebInspector.ConsoleView.prototype._handleContextMenuEvent.monitoringXHRItemAction):
  56745. (WebInspector.ConsoleView.prototype._handleContextMenuEvent.get preserveLogItemAction):
  56746. (WebInspector.ConsoleView.prototype._monitoringXHREnabledSettingChanged):
  56747. (WebInspector.ConsoleView.prototype._registerShortcuts):
  56748. * inspector/front-end/DOMBreakpointsSidebarPane.js:
  56749. (WebInspector.DOMBreakpointsSidebarPane.prototype._saveBreakpoints):
  56750. * inspector/front-end/DebuggerPresentationModel.js:
  56751. (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
  56752. * inspector/front-end/ElementsPanel.js:
  56753. (WebInspector.ElementsPanel.prototype._contextMenuEventFired):
  56754. (WebInspector.ElementsPanel.prototype._domWordWrapSettingChanged):
  56755. (WebInspector.ElementsPanel.prototype._registerShortcuts):
  56756. * inspector/front-end/EventListenersSidebarPane.js:
  56757. (WebInspector.EventListenersSidebarPane.prototype):
  56758. ():
  56759. * inspector/front-end/HelpScreen.js:
  56760. (WebInspector.HelpScreen):
  56761. (WebInspector.HelpScreen.prototype.show):
  56762. (WebInspector.HelpScreen.prototype.hide):
  56763. (WebInspector.HelpScreen.prototype._onKeyDown):
  56764. * inspector/front-end/NetworkItemView.js:
  56765. * inspector/front-end/NetworkPanel.js:
  56766. * inspector/front-end/Panel.js:
  56767. (WebInspector.Panel.prototype.saveSidebarWidth):
  56768. * inspector/front-end/ProfilesPanel.js:
  56769. * inspector/front-end/ResourcesPanel.js:
  56770. (WebInspector.BaseStorageTreeElement.prototype.onselect):
  56771. (WebInspector.StorageCategoryTreeElement.prototype.onexpand):
  56772. (WebInspector.StorageCategoryTreeElement.prototype.set oncollapse):
  56773. * inspector/front-end/ScriptsPanel.js:
  56774. (WebInspector.ScriptsPanel.prototype._sourceFileAdded.get if):
  56775. (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions.callback):
  56776. (WebInspector.ScriptsPanel.prototype._createSidebarButtonAndRegisterShortcuts):
  56777. * inspector/front-end/Settings.js:
  56778. (WebInspector.Settings):
  56779. (WebInspector.Settings.prototype.installApplicationSetting):
  56780. (WebInspector.Setting):
  56781. (WebInspector.Setting.prototype.addChangeListener):
  56782. (WebInspector.Setting.prototype.removeChangeListener):
  56783. (WebInspector.Setting.prototype.get var):
  56784. (WebInspector.Setting.prototype):
  56785. (WebInspector.Setting.prototype.set if):
  56786. * inspector/front-end/SettingsScreen.js: Added.
  56787. (WebInspector.SettingsScreen):
  56788. (WebInspector.SettingsScreen.prototype._appendSection):
  56789. (WebInspector.SettingsScreen.prototype._columnElement):
  56790. (WebInspector.SettingsScreen.prototype._createCheckboxSetting.get listener):
  56791. (WebInspector.SettingsScreen.prototype._createRadioSetting):
  56792. * inspector/front-end/ShortcutsScreen.js: Renamed from Source/WebCore/inspector/front-end/ShortcutsHelp.js.
  56793. (WebInspector.ShortcutsScreen):
  56794. * inspector/front-end/StylesSidebarPane.js:
  56795. (WebInspector.StylesSidebarPane.prototype.registerShortcuts):
  56796. * inspector/front-end/WatchExpressionsSidebarPane.js:
  56797. * inspector/front-end/WebKit.qrc:
  56798. * inspector/front-end/helpScreen.css:
  56799. (.help-window-main):
  56800. (body.attached .help-window-main):
  56801. (.help-window-caption):
  56802. (body.attached .help-window-caption):
  56803. (.help-content):
  56804. (.help-close-button):
  56805. (body.attached .help-close-button):
  56806. (body.attached .help-content):
  56807. (.help-table):
  56808. (body.platform-mac .help-key):
  56809. (.help-combine-keys):
  56810. (.help-content p):
  56811. (.help-content fieldset):
  56812. (.help-content fieldset p):
  56813. (.help-content p.help-section):
  56814. (.help-section-title):
  56815. (.help-content input[type=checkbox]):
  56816. * inspector/front-end/inspector.css:
  56817. (button.settings-status-bar-item):
  56818. (.settings-status-bar-item .glyph):
  56819. * inspector/front-end/inspector.html:
  56820. * inspector/front-end/inspector.js:
  56821. (WebInspector._createGlobalStatusBarItems):
  56822. (WebInspector._toggleAttach):
  56823. (WebInspector._toggleSettings):
  56824. (WebInspector._registerShortcuts):
  56825. (WebInspector.documentKeyDown):
  56826. 2011-07-04 Vsevolod Vlasov <vsevik@chromium.org>
  56827. Web Inspector: Resources loaded to Resources Panel from InspectorPageAgent do not have mime type set.
  56828. https://bugs.webkit.org/show_bug.cgi?id=63701
  56829. Pass cachedResource/documentLoader mimeType from InspectorPageAgent to frontend.
  56830. Reviewed by Yury Semikhatsky.
  56831. Test: http/tests/inspector/resource-tree/resource-tree-mimetype.html
  56832. * inspector/Inspector.json:
  56833. * inspector/InspectorPageAgent.cpp:
  56834. (WebCore::InspectorPageAgent::buildObjectForFrame):
  56835. (WebCore::InspectorPageAgent::buildObjectForFrameTree):
  56836. * inspector/front-end/ResourceTreeModel.js:
  56837. (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
  56838. (WebInspector.ResourceTreeModel.prototype._createResource):
  56839. 2011-07-04 Yury Semikhatsky <yurys@chromium.org>
  56840. Web Inspector: repeated message counter should be aligned with other message icons
  56841. https://bugs.webkit.org/show_bug.cgi?id=63901
  56842. Reviewed by Pavel Feldman.
  56843. * inspector/front-end/inspector.css:
  56844. (.console-message .bubble):
  56845. 2011-07-04 Alexander Pavlov <apavlov@chromium.org>
  56846. Reviewed by Pavel Feldman.
  56847. Web Inspector: Adding new CSS rules should be more discoverable in the UI
  56848. https://bugs.webkit.org/show_bug.cgi?id=63803
  56849. * inspector/front-end/StylesSidebarPane.js:
  56850. (WebInspector.StylesSidebarPane.prototype._createNewRule):
  56851. 2011-07-04 Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk>
  56852. [Qt] Fixing build with --media-stream flag enabled
  56853. https://bugs.webkit.org/show_bug.cgi?id=63831
  56854. Reviewed by Benjamin Poulain.
  56855. * features.pri: Adding support to ENABLE_MEDIA_STREAM flag.
  56856. 2011-07-04 Vsevolod Vlasov <vsevik@chromium.org>
  56857. Reviewed by Yury Semikhatsky.
  56858. Web Inspector: Update network resource url from response data.
  56859. https://bugs.webkit.org/show_bug.cgi?id=63736
  56860. * inspector/Inspector.json:
  56861. * inspector/InspectorResourceAgent.cpp:
  56862. (WebCore::buildObjectForResourceResponse):
  56863. * inspector/front-end/NetworkManager.js:
  56864. (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
  56865. 2011-07-04 Andrey Kosyakov <caseq@chromium.org>
  56866. Reviewed by Yury Semikhatsky.
  56867. Web Inspector: [Extensions API] audit formatter names should begin with create
  56868. https://bugs.webkit.org/show_bug.cgi?id=63802
  56869. * inspector/front-end/ExtensionAPI.js:
  56870. (WebInspector.injectedExtensionAPI.AuditResultImpl):
  56871. 2011-07-03 Dominic Cooney <dominicc@chromium.org>
  56872. The value property of an indeterminate progress element should be zero
  56873. https://bugs.webkit.org/show_bug.cgi?id=63861
  56874. Reviewed by Kent Tamura.
  56875. Test: fast/dom/HTMLProgressElement/set-progress-properties.html
  56876. * html/HTMLProgressElement.cpp:
  56877. (WebCore::HTMLProgressElement::value):
  56878. 2011-07-03 Robert Hogan <robert@webkit.org>
  56879. Restore scroll position on page reloads scheduled by <meta http-equiv="refresh" content="XX"/>
  56880. https://bugs.webkit.org/show_bug.cgi?id=62482
  56881. If a <meta http-equiv="refresh"> directive schedules a page reload rather than
  56882. a redirect restore the scroll position after the reload. Do the same on location.reload().
  56883. Reviewed by Adam Barth.
  56884. Tests: http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier-2.html
  56885. http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier.html
  56886. http/tests/navigation/scrollstate-after-http-equiv-refresh.html
  56887. http/tests/navigation/scrollstate-after-location-reload.html
  56888. * loader/FrameLoader.cpp:
  56889. (WebCore::FrameLoader::loadURL):
  56890. Only make the load FrameLoadTypeSame if it has not already been set as FrameLoadTypeReload*.
  56891. FrameLoadTypeReload* loads are set through http-equiv refreshes, manual reloads, or location.reload()
  56892. and honour the user's scroll position in the frame. A FrameLoadTypeSame is for when the frame is loading
  56893. the same page again, e.g. by clicking a link.
  56894. * loader/NavigationScheduler.cpp:
  56895. (WebCore::ScheduledRedirect::fire): Tell FrameLoader::changeLocation() if this is a reload.
  56896. 2011-07-03 Dirk Schulze <krit@webkit.org>
  56897. SVGAnimateTransform accumulate=sum restarts on every repeat
  56898. https://bugs.webkit.org/show_bug.cgi?id=63876
  56899. Reviewed by Nikolas Zimmermann.
  56900. We applied transforms from previous animation repeats to a transform list. The problem is, that we calculated the current
  56901. transform based on the percentage of the current repeat count. This causes an animation starting from scale level 0
  56902. on every repeat. Now I add the repeat count to the current percentage, so that the distance calculation starts from 100% on
  56903. the first repeat, from 200% on the second and so on.
  56904. Test: svg/animations/svgtransform-animation-1.html
  56905. * svg/SVGAnimateTransformElement.cpp:
  56906. (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
  56907. 2011-07-03 Sheriff Bot <webkit.review.bot@gmail.com>
  56908. Unreviewed, rolling out r90342.
  56909. http://trac.webkit.org/changeset/90342
  56910. https://bugs.webkit.org/show_bug.cgi?id=63875
  56911. Newly added tests fail on Mac, GTK, and Win7 (Requested by
  56912. abarth on #webkit).
  56913. * loader/FrameLoader.cpp:
  56914. (WebCore::FrameLoader::loadURL):
  56915. * loader/NavigationScheduler.cpp:
  56916. 2011-07-03 Robert Hogan <robert@webkit.org>
  56917. Restore scroll position on page reloads scheduled by <meta http-equiv="refresh" content="XX"/>
  56918. https://bugs.webkit.org/show_bug.cgi?id=62482
  56919. If a <meta http-equiv="refresh"> directive schedules a page reload rather than
  56920. a redirect restore the scroll position after the reload. Do the same on location.reload().
  56921. Reviewed by Adam Barth.
  56922. Tests: http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier-2.html
  56923. http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier.html
  56924. http/tests/navigation/scrollstate-after-http-equiv-refresh.html
  56925. http/tests/navigation/scrollstate-after-location-reload.html
  56926. * loader/FrameLoader.cpp:
  56927. (WebCore::FrameLoader::loadURL):
  56928. Only make the load FrameLoadTypeSame if it has not already been set as FrameLoadTypeReload*.
  56929. FrameLoadTypeReload* loads are set through http-equiv refreshes, manual reloads, or location.reload()
  56930. and honour the user's scroll position in the frame. A FrameLoadTypeSame is for when the frame is loading
  56931. the same page again, e.g. by clicking a link.
  56932. * loader/NavigationScheduler.cpp:
  56933. (WebCore::ScheduledRedirect::fire): Tell FrameLoader::changeLocation() if this is a reload.
  56934. 2011-04-02 Robert Hogan <robert@webkit.org>
  56935. Reviewed by Benjamin Poulain.
  56936. [Qt] Support third-party cookie policy for Qt clients
  56937. https://bugs.webkit.org/show_bug.cgi?id=45455
  56938. Identifying third-party cookies is facilitated by API new to QUrl from
  56939. Qt 4.8: QUrl::topLevelDomain(). This API uses the Mozilla public suffix
  56940. list to determine the top-level registry-controlled domain of the Url.
  56941. See also: http://gitorious.org/qt/qt/merge_requests/1205
  56942. (commit 154402f56dcf8303a6ce601a52215226af8d31ba)
  56943. http://bugreports.qt.nokia.com/browse/QTBUG-13601
  56944. Test: http/tests/cookies/strict-third-party-cookie-blocking.html
  56945. * WebCore.pro:
  56946. * platform/network/qt/ResourceRequestQt.cpp:
  56947. (WebCore::ResourceRequest::toNetworkRequest):
  56948. * platform/qt/CookieJarQt.cpp:
  56949. (WebCore::setCookies):
  56950. (WebCore::cookies):
  56951. * platform/qt/ThirdPartyCookiesQt.cpp: Added.
  56952. (WebCore::cookieJar):
  56953. (WebCore::isFirstPartyCookie):
  56954. (WebCore::cookieAllowed):
  56955. (WebCore::allowThirdPartyCookies):
  56956. * platform/qt/ThirdPartyCookiesQt.h: Added.
  56957. 2011-07-03 Vsevolod Vlasov <vsevik@chromium.org>
  56958. Reviewed by Alexey Proskuryakov.
  56959. Web Inspector: Preflight OPTIONS requests are not shown on network panel for asynchronous XHRs.
  56960. https://bugs.webkit.org/show_bug.cgi?id=63712
  56961. Added InspectorInstrumentation calls to preflight OPTIONS requests callbacks in DocumentThreadableLoader.
  56962. * loader/DocumentThreadableLoader.cpp:
  56963. (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
  56964. (WebCore::DocumentThreadableLoader::didReceiveResponse):
  56965. (WebCore::DocumentThreadableLoader::didReceiveData):
  56966. (WebCore::DocumentThreadableLoader::didFinishLoading):
  56967. (WebCore::DocumentThreadableLoader::didFail):
  56968. (WebCore::DocumentThreadableLoader::loadRequest):
  56969. * loader/DocumentThreadableLoader.h:
  56970. 2011-06-23 Robert Hogan <robert@webkit.org>
  56971. Reviewed by Simon Hausmann.
  56972. [Qt] Windowless Plugins : <input> cursor blinks even after transferring focus to plugin
  56973. https://bugs.webkit.org/show_bug.cgi?id=30355
  56974. Test: plugins/mouse-click-plugin-clears-selection.html
  56975. PluginView needs to use page->focusController()->setFocusedNode() when focusing a plugin
  56976. in order to clear the FrameSelection in the currently focused node. In its platform-specific
  56977. code Chromium already does this (WebPluginContainerImpl.cpp).
  56978. * WebCore.exp.in: Add symbol for FocusController::setFocusedNode
  56979. * plugins/PluginView.cpp:
  56980. (WebCore::PluginView::focusPluginElement): Using FocusController::setFocusedNode() makes
  56981. the call to FocusController:setFocusedFrame() and Document::setFocusedNode()
  56982. redundant, since it calls both.
  56983. 2011-07-01 Michael Nordman <michaeln@google.com>
  56984. Reviewed by Darin Fisher.
  56985. [Chromium] FileSystem API can be used to learn about installed software on the user's computer.
  56986. Added a new MIMETypeRegistry method to return a type based on a well known set of mappings
  56987. without consulting the OS/registry.
  56988. https://bugs.webkit.org/show_bug.cgi?id=63220
  56989. No new tests, existing layout tests that invoke file.type apply.
  56990. * fileapi/File.cpp: Refactored the factory methods.
  56991. (WebCore::createBlobDataForFileWithType):
  56992. (WebCore::createBlobDataForFile):
  56993. (WebCore::createBlobDataForFileSystemFile):
  56994. (WebCore::File::File):
  56995. * platform/MIMETypeRegistry.cpp: Added getWellKnownMIMETypeForExtension() method.
  56996. (WebCore::mediaMIMETypeMap):
  56997. (WebCore::findMimeType):
  56998. (WebCore::MIMETypeRegistry::getWellKnownMIMETypeForExtension):
  56999. * platform/MIMETypeRegistry.h:
  57000. * platform/chromium/MIMETypeRegistryChromium.cpp: Added getWellKnownMIMETypeForExtension() method.
  57001. (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
  57002. (WebCore::MIMETypeRegistry::getWellKnownMIMETypeForExtension):
  57003. (WebCore::findMimeType):
  57004. * platform/chromium/PlatformBridge.h:
  57005. 2011-07-01 Tim Horton <timothy_horton@apple.com>
  57006. Reviewed by Darin Adler.
  57007. SVG data:image/svg+xml;base64 URLs inside CSS throw mime type warning
  57008. https://bugs.webkit.org/show_bug.cgi?id=54325
  57009. Add image/svg+xml to the list of acceptable MIME types for the Image type.
  57010. * inspector/front-end/inspector.js:
  57011. (WebInspector):
  57012. 2011-07-01 Tim Horton <timothy_horton@apple.com>
  57013. Reviewed by Darin Adler.
  57014. Errors encountered within SVG documents should be reported to the console
  57015. https://bugs.webkit.org/show_bug.cgi?id=62599
  57016. Add SVGElement::reportAttributeParsingError, which will
  57017. write a Web Inspector console message if passed an SVGParsingError
  57018. and the attribute which was being applied, only in the case where
  57019. there is actually an error.
  57020. Include the SVG document's URI when writing to the Web Inspector
  57021. console, so that the UI displays both the filename and the line number.
  57022. * svg/SVGDocumentExtensions.cpp:
  57023. (WebCore::reportMessage):
  57024. * svg/SVGElement.cpp:
  57025. (WebCore::SVGElement::reportAttributeParsingError):
  57026. * svg/SVGElement.h:
  57027. 2011-07-01 Scott Byer <scottbyer@chromium.org>
  57028. Reviewed by Adam Barth.
  57029. Smooth scrolling fixes
  57030. https://bugs.webkit.org/show_bug.cgi?id=63770
  57031. Tests: Chromium webkit_unit_tests ScrollAnimatorNoneTest.ScrollWheelTrace and .LinuxTrackPadTrace
  57032. Fix issues found in manual testing; distill the traces into unit tests. Fix the issues the tests exposed in the
  57033. scroll animation code.
  57034. * platform/ScrollAnimatorNone.cpp:
  57035. (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
  57036. (WebCore::ScrollAnimatorNone::scroll):
  57037. 2011-07-01 Levi Weintraub <leviw@chromium.org>
  57038. Switch primary virtual layout functions to new layout types
  57039. https://bugs.webkit.org/show_bug.cgi?id=63852
  57040. Reviewed by Eric Seidel.
  57041. Switching the primary overloaded layout functions over to the new layout unit abstraction.
  57042. No new tests, no functionality changes.
  57043. * html/shadow/MediaControlElements.cpp:
  57044. (WebCore::RenderMediaVolumeSliderContainer::layout):
  57045. * page/FrameView.cpp:
  57046. (WebCore::FrameView::layout):
  57047. * rendering/AutoTableLayout.cpp:
  57048. (WebCore::AutoTableLayout::layout):
  57049. * rendering/FixedTableLayout.cpp:
  57050. (WebCore::FixedTableLayout::layout):
  57051. * rendering/RenderBox.cpp:
  57052. (WebCore::RenderBox::layout):
  57053. * rendering/RenderFrameSet.cpp:
  57054. (WebCore::RenderFrameSet::layout):
  57055. * rendering/RenderMedia.cpp:
  57056. (WebCore::RenderMedia::layout):
  57057. * rendering/RenderRubyRun.cpp:
  57058. (WebCore::RenderRubyRun::layout):
  57059. * rendering/RenderScrollbarPart.cpp:
  57060. (WebCore::RenderScrollbarPart::layout):
  57061. * rendering/RenderSlider.cpp:
  57062. (WebCore::RenderSlider::layout):
  57063. * rendering/RenderTable.cpp:
  57064. (WebCore::RenderTable::layout):
  57065. * rendering/RenderTableRow.cpp:
  57066. (WebCore::RenderTableRow::layout):
  57067. * rendering/RenderTableSection.cpp:
  57068. (WebCore::RenderTableSection::layout):
  57069. * rendering/RenderTextControlSingleLine.cpp:
  57070. (WebCore::RenderTextControlSingleLine::layout):
  57071. * rendering/RenderView.cpp:
  57072. (WebCore::RenderView::layout):
  57073. * rendering/RenderView.h:
  57074. (WebCore::RenderView::layoutDelta):
  57075. (WebCore::RenderView::addLayoutDelta):
  57076. * rendering/mathml/RenderMathMLRoot.cpp:
  57077. (WebCore::RenderMathMLRoot::layout):
  57078. * rendering/mathml/RenderMathMLRow.cpp:
  57079. (WebCore::RenderMathMLRow::layout):
  57080. * rendering/mathml/RenderMathMLSquareRoot.cpp:
  57081. (WebCore::RenderMathMLSquareRoot::layout):
  57082. * rendering/mathml/RenderMathMLSubSup.cpp:
  57083. (WebCore::RenderMathMLSubSup::layout):
  57084. * rendering/mathml/RenderMathMLUnderOver.cpp:
  57085. (WebCore::RenderMathMLUnderOver::layout):
  57086. 2011-07-01 Sam Weinig <sam@webkit.org>
  57087. Reduce parser nesting cap to 512
  57088. https://bugs.webkit.org/show_bug.cgi?id=63856
  57089. Reviewed by Dan Bernstein.
  57090. Given Firefox's cap of 200, our cap of 2048 seemed a little excessive. Lower
  57091. the nesting cap to 512 to cover more cases where rending recursion was biting us.
  57092. * page/Settings.h:
  57093. Reduce the nesting cap to 512.
  57094. 2011-07-01 Darin Adler <darin@apple.com>
  57095. Add change accidentally left out of last commit.
  57096. * rendering/RenderLayerBacking.cpp:
  57097. (WebCore::RenderLayerBacking::updateContentsScale): Multiply in the
  57098. backing scale.
  57099. 2011-07-01 Darin Adler <darin@apple.com>
  57100. Consider backing scale when setting up graphics layers
  57101. https://bugs.webkit.org/show_bug.cgi?id=63848
  57102. Reviewed by Simon Fraser.
  57103. * platform/graphics/ca/GraphicsLayerCA.cpp:
  57104. (WebCore::GraphicsLayerCA::clampedContentsScaleForScale):
  57105. Increased the maximum scale since scale factor can now include
  57106. both page contents scale and backing scale.
  57107. * rendering/RenderLayerBacking.cpp:
  57108. (WebCore::RenderLayerBacking::createGraphicsLayer): Multiply in the
  57109. backing scale as well as the page contents scale.
  57110. (WebCore::RenderLayerBacking::updateForegroundLayer): Ditto.
  57111. (WebCore::RenderLayerBacking::updateMaskLayer): Ditto.
  57112. (WebCore::RenderLayerBacking::pageContentsScale): Added.
  57113. (WebCore::RenderLayerBacking::backingScale): Added.
  57114. * rendering/RenderLayerBacking.h: Added new private functions.
  57115. 2011-07-01 Adele Peterson <adele@apple.com>
  57116. Reviewed by Darin Adler.
  57117. WebCore part of fix for https://bugs.webkit.org/show_bug.cgi?id=63851
  57118. <rdar://problem/8981062> Crash when loading a document in an editable WebView that has a subframe with an unstyled body
  57119. No new tests. I tried to make a test in DumpRenderTree with an editable WebView,
  57120. but was unsuccessful in getting the crash to happen in that instance.
  57121. * editing/Editor.cpp: (WebCore::Editor::applyEditingStyleToElement): Add a nil check that exits early, in addition to the ASSERT.
  57122. 2011-07-01 Levi Weintraub <leviw@chromium.org>
  57123. Switch overflow and collapsedMargins to new layout types
  57124. https://bugs.webkit.org/show_bug.cgi?id=63840
  57125. Reviewed by Eric Seidel.
  57126. Switching overflow and collapsedMargins over to the new layout unit abstraction.
  57127. Also removing an unused function: blockDirectionOverflow
  57128. No new tests, no functionality changes.
  57129. * rendering/RenderBlock.cpp:
  57130. (WebCore::RenderBlock::collapsedMarginBeforeForChild):
  57131. (WebCore::RenderBlock::collapsedMarginAfterForChild):
  57132. * rendering/RenderBlock.h:
  57133. (WebCore::RenderBlock::collapsedMarginBefore):
  57134. (WebCore::RenderBlock::collapsedMarginAfter):
  57135. * rendering/RenderBox.cpp:
  57136. (WebCore::RenderBox::addOverflowFromChild):
  57137. (WebCore::RenderBox::addLayoutOverflow):
  57138. (WebCore::RenderBox::addVisualOverflow):
  57139. * rendering/RenderBox.h:
  57140. (WebCore::RenderBox::layoutOverflowRect):
  57141. (WebCore::RenderBox::minYLayoutOverflow):
  57142. (WebCore::RenderBox::maxYLayoutOverflow):
  57143. (WebCore::RenderBox::minXLayoutOverflow):
  57144. (WebCore::RenderBox::maxXLayoutOverflow):
  57145. (WebCore::RenderBox::maxLayoutOverflow):
  57146. (WebCore::RenderBox::logicalLeftLayoutOverflow):
  57147. (WebCore::RenderBox::logicalRightLayoutOverflow):
  57148. (WebCore::RenderBox::visualOverflowRect):
  57149. (WebCore::RenderBox::minYVisualOverflow):
  57150. (WebCore::RenderBox::maxYVisualOverflow):
  57151. (WebCore::RenderBox::minXVisualOverflow):
  57152. (WebCore::RenderBox::maxXVisualOverflow):
  57153. (WebCore::RenderBox::logicalLeftVisualOverflow):
  57154. (WebCore::RenderBox::logicalRightVisualOverflow):
  57155. (WebCore::RenderBox::addOverflowFromChild):
  57156. (WebCore::RenderBox::collapsedMarginBefore):
  57157. (WebCore::RenderBox::collapsedMarginAfter):
  57158. * rendering/RenderOverflow.h:
  57159. (WebCore::RenderOverflow::RenderOverflow):
  57160. (WebCore::RenderOverflow::minYLayoutOverflow):
  57161. (WebCore::RenderOverflow::maxYLayoutOverflow):
  57162. (WebCore::RenderOverflow::minXLayoutOverflow):
  57163. (WebCore::RenderOverflow::maxXLayoutOverflow):
  57164. (WebCore::RenderOverflow::minYVisualOverflow):
  57165. (WebCore::RenderOverflow::maxYVisualOverflow):
  57166. (WebCore::RenderOverflow::minXVisualOverflow):
  57167. (WebCore::RenderOverflow::maxXVisualOverflow):
  57168. (WebCore::RenderOverflow::setMinYLayoutOverflow):
  57169. (WebCore::RenderOverflow::setMaxYLayoutOverflow):
  57170. (WebCore::RenderOverflow::setMinXLayoutOverflow):
  57171. (WebCore::RenderOverflow::setMaxXLayoutOverflow):
  57172. (WebCore::RenderOverflow::setMinYVisualOverflow):
  57173. (WebCore::RenderOverflow::setMaxYVisualOverflow):
  57174. (WebCore::RenderOverflow::setMinXVisualOverflow):
  57175. (WebCore::RenderOverflow::setMaxXVisualOverflow):
  57176. (WebCore::RenderOverflow::layoutOverflowRect):
  57177. (WebCore::RenderOverflow::visualOverflowRect):
  57178. (WebCore::RenderOverflow::move):
  57179. (WebCore::RenderOverflow::addLayoutOverflow):
  57180. (WebCore::RenderOverflow::addVisualOverflow):
  57181. (WebCore::RenderOverflow::setLayoutOverflow):
  57182. (WebCore::RenderOverflow::setVisualOverflow):
  57183. (WebCore::RenderOverflow::resetLayoutOverflow):
  57184. 2011-07-01 Nate Chapin <japhet@chromium.org>
  57185. Ensure WorkerScriptLoader::notifyFinished() doesn't re-enter.
  57186. https://bugs.webkit.org/show_bug.cgi?id=63835
  57187. Reviewed by Dmitry Titov.
  57188. Test: fast/workers/worker-finish-crash.html
  57189. * workers/WorkerScriptLoader.cpp:
  57190. (WebCore::WorkerScriptLoader::WorkerScriptLoader):
  57191. (WebCore::WorkerScriptLoader::notifyFinished):
  57192. * workers/WorkerScriptLoader.h:
  57193. 2011-07-01 Adrienne Walker <enne@google.com>
  57194. [chromium] Upload root layer textures first so that it is less likely to be skipped
  57195. https://bugs.webkit.org/show_bug.cgi?id=63850
  57196. Reviewed by James Robinson.
  57197. This is a tiny follow-on patch to bug 63760. If the root layer is not
  57198. uploaded first, then it may not have enough space to fit into texture
  57199. memory and might be skipped, leaving a blue background.
  57200. * platform/graphics/chromium/LayerRendererChromium.cpp:
  57201. (WebCore::LayerRendererChromium::updateLayers):
  57202. 2011-07-01 Mihai Parparita <mihaip@chromium.org>
  57203. Reviewed by Darin Fisher.
  57204. location.replace with a hash change does not update the history entry
  57205. https://bugs.webkit.org/show_bug.cgi?id=63777
  57206. location.replace('#foo') would not update the HistoryItem with the
  57207. new URL, thus navigating back to the page would use the previous
  57208. URL, even though it had been replaced. Make
  57209. HistoryController::updateForSameDocumentNavigation mirror
  57210. HistoryController::replaceState.
  57211. Test: fast/history/location-replace-hash.html
  57212. * loader/HistoryController.cpp:
  57213. (WebCore::HistoryController::updateForSameDocumentNavigation):
  57214. 2011-07-01 Ryosuke Niwa <rniwa@webkit.org>
  57215. Reviewed by Ojan Vafai.
  57216. Move m_isDirectional from FrameSelection to VisibleSelection
  57217. https://bugs.webkit.org/show_bug.cgi?id=63473
  57218. Move m_isDirectional from FrameSelection to VisibleSelection.
  57219. Also fixed a bug that WebKit does not preserve non-directional selection after undo.
  57220. Test: editing/selection/directionality-after-undo-replace.html
  57221. * WebCore.exp.in: Updated the signature of setSelection.
  57222. * editing/FrameSelection.cpp:
  57223. (WebCore::FrameSelection::FrameSelection): Removed the call to setIsDirectional.
  57224. (WebCore::shouldAlwaysUseDirectionalSelection): Added.
  57225. (WebCore::FrameSelection::setSelection): No longer takes DirectionalityPolicy.
  57226. Calls setIsDirectional(true) when the platform doesn't support non-directional selection.
  57227. Passes align and granularity to setSelection of the base end point as expected.
  57228. No longer updates granularity when updating the selection of a different frame.
  57229. (WebCore::FrameSelection::willBeModified): Calls VisibleSelection::isDirectional().
  57230. (WebCore::FrameSelection::modify): No longer calls trialFrameSelection.setIsDirectional
  57231. because the directionality is passed from m_selection automatically.
  57232. Also calls shouldAlwaysUseDirectionalSelection.
  57233. * editing/FrameSelection.h: Remove m_isDirectional. Make all boolean bit fields.
  57234. (WebCore::FrameSelection::setSelection): No longer takes DirectionalityPolicy.
  57235. * editing/VisibleSelection.cpp:
  57236. (WebCore::VisibleSelection::VisibleSelection): Initializes m_isDirectional to true.
  57237. This should be changed to false to fix the bug 60529.
  57238. * editing/VisibleSelection.h:
  57239. (WebCore::VisibleSelection::isDirectional): Added.
  57240. (WebCore::VisibleSelection::setIsDirectional): Added.
  57241. * page/EventHandler.cpp:
  57242. (WebCore::setNonDirectionalSelectionIfNeeded): Creates a non-directional selection instead of
  57243. calling setSelection with MakeNonDirectionalSelection.
  57244. (WebCore::EventHandler::handleMousePressEventSingleClick): Remove the call to setIsDirectional
  57245. because it already calls setNonDirectionalSelectionIfNeeded.
  57246. 2011-07-01 Tony Chang <tony@chromium.org>
  57247. cleanup of flexbox and marquee data naming in StyleRareNonInheritedData
  57248. https://bugs.webkit.org/show_bug.cgi?id=63827
  57249. Reviewed by Ojan Vafai.
  57250. * rendering/style/RenderStyle.cpp:
  57251. (WebCore::RenderStyle::RenderStyle):
  57252. (WebCore::RenderStyle::diff):
  57253. * rendering/style/RenderStyle.h:
  57254. (WebCore::InheritedFlags::boxAlign):
  57255. (WebCore::InheritedFlags::boxFlex):
  57256. (WebCore::InheritedFlags::boxFlexGroup):
  57257. (WebCore::InheritedFlags::boxLines):
  57258. (WebCore::InheritedFlags::boxOrdinalGroup):
  57259. (WebCore::InheritedFlags::boxOrient):
  57260. (WebCore::InheritedFlags::boxPack):
  57261. (WebCore::InheritedFlags::marqueeIncrement):
  57262. (WebCore::InheritedFlags::marqueeSpeed):
  57263. (WebCore::InheritedFlags::marqueeLoopCount):
  57264. (WebCore::InheritedFlags::marqueeBehavior):
  57265. (WebCore::InheritedFlags::marqueeDirection):
  57266. (WebCore::InheritedFlags::setBoxAlign):
  57267. (WebCore::InheritedFlags::setBoxFlex):
  57268. (WebCore::InheritedFlags::setBoxFlexGroup):
  57269. (WebCore::InheritedFlags::setBoxLines):
  57270. (WebCore::InheritedFlags::setBoxOrdinalGroup):
  57271. (WebCore::InheritedFlags::setBoxOrient):
  57272. (WebCore::InheritedFlags::setBoxPack):
  57273. (WebCore::InheritedFlags::setMarqueeIncrement):
  57274. (WebCore::InheritedFlags::setMarqueeSpeed):
  57275. (WebCore::InheritedFlags::setMarqueeDirection):
  57276. (WebCore::InheritedFlags::setMarqueeBehavior):
  57277. (WebCore::InheritedFlags::setMarqueeLoopCount):
  57278. * rendering/style/StyleRareNonInheritedData.cpp:
  57279. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  57280. (WebCore::StyleRareNonInheritedData::operator==):
  57281. * rendering/style/StyleRareNonInheritedData.h:
  57282. flexibleBox -> m_deprecatedFlexibleBox and marquee to m_marquee
  57283. 2011-07-01 Mike Reed <reed@google.com>
  57284. Stop using deprecated SkDeviceFactory API
  57285. https://bugs.webkit.org/show_bug.cgi?id=63488
  57286. Reviewed by James Robinson.
  57287. No new tests. Check-point for removing Factory API from Skia
  57288. * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
  57289. (WebCore::LayerTextureUpdaterSkPicture::createFrameBuffer):
  57290. * platform/graphics/skia/PlatformContextSkia.cpp:
  57291. (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
  57292. 2011-07-01 Jeffrey Pfau <jpfau@apple.com>
  57293. Reviewed by Adam Barth.
  57294. Move XMLDocumentParser to new folder xml/parser/
  57295. https://bugs.webkit.org/show_bug.cgi?id=63666
  57296. * CMakeLists.txt:
  57297. * GNUmakefile.am:
  57298. * GNUmakefile.list.am:
  57299. * WebCore.gyp/WebCore.gyp:
  57300. * WebCore.gypi:
  57301. * WebCore.pri:
  57302. * WebCore.pro:
  57303. * WebCore.vcproj/WebCore.vcproj:
  57304. * WebCore.vcproj/WebCoreCommon.vsprops:
  57305. * WebCore.vcproj/copyForwardingHeaders.cmd:
  57306. * WebCore.xcodeproj/project.pbxproj:
  57307. * xml/parser/XMLDocumentParser.cpp:
  57308. (WebCore::XMLDocumentParser::pushCurrentNode):
  57309. (WebCore::XMLDocumentParser::popCurrentNode):
  57310. (WebCore::XMLDocumentParser::clearCurrentNodeStack):
  57311. (WebCore::XMLDocumentParser::insert):
  57312. (WebCore::XMLDocumentParser::append):
  57313. (WebCore::XMLDocumentParser::handleError):
  57314. (WebCore::XMLDocumentParser::enterText):
  57315. (WebCore::toString):
  57316. (WebCore::XMLDocumentParser::exitText):
  57317. (WebCore::XMLDocumentParser::detach):
  57318. (WebCore::XMLDocumentParser::end):
  57319. (WebCore::XMLDocumentParser::finish):
  57320. (WebCore::XMLDocumentParser::finishWasCalled):
  57321. (WebCore::createXHTMLParserErrorHeader):
  57322. (WebCore::XMLDocumentParser::insertErrorMessageBlock):
  57323. (WebCore::XMLDocumentParser::notifyFinished):
  57324. (WebCore::XMLDocumentParser::isWaitingForScripts):
  57325. (WebCore::XMLDocumentParser::pauseParsing):
  57326. (WebCore::XMLDocumentParser::parseDocumentFragment):
  57327. * xml/parser/XMLDocumentParser.h:
  57328. (WebCore::XMLParserContext::context):
  57329. (WebCore::XMLParserContext::XMLParserContext):
  57330. (WebCore::XMLDocumentParser::create):
  57331. (WebCore::XMLDocumentParser::setIsXHTMLDocument):
  57332. (WebCore::XMLDocumentParser::isXHTMLDocument):
  57333. (WebCore::XMLDocumentParser::setIsXHTMLMPDocument):
  57334. (WebCore::XMLDocumentParser::isXHTMLMPDocument):
  57335. (WebCore::XMLDocumentParser::wellFormed):
  57336. (WebCore::XMLDocumentParser::context):
  57337. * xml/parser/XMLDocumentParserLibxml2.cpp:
  57338. (WebCore::PendingCallbacks::~PendingCallbacks):
  57339. (WebCore::PendingCallbacks::create):
  57340. (WebCore::PendingCallbacks::appendStartElementNSCallback):
  57341. (WebCore::PendingCallbacks::appendEndElementNSCallback):
  57342. (WebCore::PendingCallbacks::appendCharactersCallback):
  57343. (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
  57344. (WebCore::PendingCallbacks::appendCDATABlockCallback):
  57345. (WebCore::PendingCallbacks::appendCommentCallback):
  57346. (WebCore::PendingCallbacks::appendInternalSubsetCallback):
  57347. (WebCore::PendingCallbacks::appendErrorCallback):
  57348. (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
  57349. (WebCore::PendingCallbacks::isEmpty):
  57350. (WebCore::PendingCallbacks::PendingCallbacks):
  57351. (WebCore::PendingCallbacks::PendingCallback::~PendingCallback):
  57352. (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
  57353. (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
  57354. (WebCore::PendingCallbacks::PendingEndElementNSCallback::call):
  57355. (WebCore::PendingCallbacks::PendingCharactersCallback::~PendingCharactersCallback):
  57356. (WebCore::PendingCallbacks::PendingCharactersCallback::call):
  57357. (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::~PendingProcessingInstructionCallback):
  57358. (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::call):
  57359. (WebCore::PendingCallbacks::PendingCDATABlockCallback::~PendingCDATABlockCallback):
  57360. (WebCore::PendingCallbacks::PendingCDATABlockCallback::call):
  57361. (WebCore::PendingCallbacks::PendingCommentCallback::~PendingCommentCallback):
  57362. (WebCore::PendingCallbacks::PendingCommentCallback::call):
  57363. (WebCore::PendingCallbacks::PendingInternalSubsetCallback::~PendingInternalSubsetCallback):
  57364. (WebCore::PendingCallbacks::PendingInternalSubsetCallback::call):
  57365. (WebCore::matchFunc):
  57366. (WebCore::OffsetBuffer::OffsetBuffer):
  57367. (WebCore::OffsetBuffer::readOutBytes):
  57368. (WebCore::switchToUTF16):
  57369. (WebCore::shouldAllowExternalLoad):
  57370. (WebCore::openFunc):
  57371. (WebCore::readFunc):
  57372. (WebCore::writeFunc):
  57373. (WebCore::closeFunc):
  57374. (WebCore::errorFunc):
  57375. (WebCore::XMLParserContext::createStringParser):
  57376. (WebCore::XMLParserContext::createMemoryParser):
  57377. (WebCore::XMLDocumentParser::supportsXMLVersion):
  57378. (WebCore::XMLDocumentParser::XMLDocumentParser):
  57379. (WebCore::XMLParserContext::~XMLParserContext):
  57380. (WebCore::XMLDocumentParser::~XMLDocumentParser):
  57381. (WebCore::XMLDocumentParser::doWrite):
  57382. (WebCore::toString):
  57383. (WebCore::toAtomicString):
  57384. (WebCore::handleElementNamespaces):
  57385. (WebCore::handleElementAttributes):
  57386. (WebCore::XMLDocumentParser::startElementNs):
  57387. (WebCore::XMLDocumentParser::endElementNs):
  57388. (WebCore::XMLDocumentParser::characters):
  57389. (WebCore::XMLDocumentParser::error):
  57390. (WebCore::XMLDocumentParser::processingInstruction):
  57391. (WebCore::XMLDocumentParser::cdataBlock):
  57392. (WebCore::XMLDocumentParser::comment):
  57393. (WebCore::XMLDocumentParser::startDocument):
  57394. (WebCore::XMLDocumentParser::endDocument):
  57395. (WebCore::XMLDocumentParser::internalSubset):
  57396. (WebCore::getParser):
  57397. (WebCore::hackAroundLibXMLEntityBug):
  57398. (WebCore::startElementNsHandler):
  57399. (WebCore::endElementNsHandler):
  57400. (WebCore::charactersHandler):
  57401. (WebCore::processingInstructionHandler):
  57402. (WebCore::cdataBlockHandler):
  57403. (WebCore::commentHandler):
  57404. (WebCore::warningHandler):
  57405. (WebCore::fatalErrorHandler):
  57406. (WebCore::normalErrorHandler):
  57407. (WebCore::sharedXHTMLEntity):
  57408. (WebCore::getXHTMLEntity):
  57409. (WebCore::getEntityHandler):
  57410. (WebCore::startDocumentHandler):
  57411. (WebCore::endDocumentHandler):
  57412. (WebCore::internalSubsetHandler):
  57413. (WebCore::externalSubsetHandler):
  57414. (WebCore::ignorableWhitespaceHandler):
  57415. (WebCore::XMLDocumentParser::initializeParserContext):
  57416. (WebCore::XMLDocumentParser::doEnd):
  57417. (WebCore::xmlDocPtrForString):
  57418. (WebCore::XMLDocumentParser::lineNumber):
  57419. (WebCore::XMLDocumentParser::columnNumber):
  57420. (WebCore::XMLDocumentParser::textPosition):
  57421. (WebCore::XMLDocumentParser::textPositionOneBased):
  57422. (WebCore::XMLDocumentParser::stopParsing):
  57423. (WebCore::XMLDocumentParser::resumeParsing):
  57424. (WebCore::XMLDocumentParser::appendFragmentSource):
  57425. (WebCore::attributesStartElementNsHandler):
  57426. (WebCore::parseAttributes):
  57427. * xml/parser/XMLDocumentParserQt.cpp:
  57428. (WebCore::EntityResolver::resolveUndeclaredEntity):
  57429. (WebCore::XMLDocumentParser::supportsXMLVersion):
  57430. (WebCore::XMLDocumentParser::XMLDocumentParser):
  57431. (WebCore::XMLDocumentParser::~XMLDocumentParser):
  57432. (WebCore::XMLDocumentParser::doWrite):
  57433. (WebCore::XMLDocumentParser::initializeParserContext):
  57434. (WebCore::XMLDocumentParser::doEnd):
  57435. (WebCore::XMLDocumentParser::lineNumber):
  57436. (WebCore::XMLDocumentParser::columnNumber):
  57437. (WebCore::XMLDocumentParser::textPosition):
  57438. (WebCore::XMLDocumentParser::textPositionOneBased):
  57439. (WebCore::XMLDocumentParser::stopParsing):
  57440. (WebCore::XMLDocumentParser::resumeParsing):
  57441. (WebCore::XMLDocumentParser::appendFragmentSource):
  57442. (WebCore::attributesStartElementNsHandler):
  57443. (WebCore::parseAttributes):
  57444. (WebCore::prefixFromQName):
  57445. (WebCore::handleElementNamespaces):
  57446. (WebCore::handleElementAttributes):
  57447. (WebCore::XMLDocumentParser::parse):
  57448. (WebCore::XMLDocumentParser::startDocument):
  57449. (WebCore::XMLDocumentParser::parseStartElement):
  57450. (WebCore::XMLDocumentParser::parseEndElement):
  57451. (WebCore::XMLDocumentParser::parseCharacters):
  57452. (WebCore::XMLDocumentParser::parseProcessingInstruction):
  57453. (WebCore::XMLDocumentParser::parseCdata):
  57454. (WebCore::XMLDocumentParser::parseComment):
  57455. (WebCore::XMLDocumentParser::endDocument):
  57456. (WebCore::XMLDocumentParser::hasError):
  57457. (WebCore::XMLDocumentParser::parseDtd):
  57458. * xml/parser/XMLDocumentParserScope.cpp:
  57459. (WebCore::XMLDocumentParserScope::XMLDocumentParserScope):
  57460. (WebCore::XMLDocumentParserScope::~XMLDocumentParserScope):
  57461. 2011-07-01 Vangelis Kokkevis <vangelis@chromium.org>
  57462. Reviewed by James Robinson.
  57463. [chromium] Reserve all tile textures at layer update time to guarantee
  57464. that they will be available at draw time.
  57465. https://bugs.webkit.org/show_bug.cgi?id=63760
  57466. In addition, this patch unreserves textures used by RenderSurface's
  57467. right after the RenderSurface has been used to free up memory for
  57468. subsequent RenderSurfaces.
  57469. This patch also "fixes" the pages that display a blue background when
  57470. running out of texture memory as the root layer tiles get reserved first
  57471. and are guaranteed to get textures.
  57472. * platform/graphics/chromium/ContentLayerChromium.cpp:
  57473. (WebCore::ContentLayerChromium::ContentLayerChromium):
  57474. (WebCore::ContentLayerChromium::visibleLayerRect):
  57475. (WebCore::ContentLayerChromium::setIsMask):
  57476. * platform/graphics/chromium/ContentLayerChromium.h:
  57477. * platform/graphics/chromium/ImageLayerChromium.cpp:
  57478. (WebCore::ImageLayerChromium::paintContentsIfDirty):
  57479. * platform/graphics/chromium/LayerRendererChromium.cpp:
  57480. (WebCore::LayerRendererChromium::paintLayerContents):
  57481. (WebCore::LayerRendererChromium::drawLayer):
  57482. (WebCore::LayerRendererChromium::initializeSharedObjects):
  57483. * platform/graphics/chromium/LayerTexture.cpp:
  57484. (WebCore::LayerTexture::unreserve):
  57485. * platform/graphics/chromium/LayerTexture.h:
  57486. * platform/graphics/chromium/LayerTilerChromium.cpp:
  57487. (WebCore::LayerTilerChromium::prepareToUpdate):
  57488. (WebCore::LayerTilerChromium::updateRect):
  57489. (WebCore::LayerTilerChromium::drawTiles):
  57490. * platform/graphics/chromium/RenderSurfaceChromium.cpp:
  57491. (WebCore::RenderSurfaceChromium::releaseContentsTexture):
  57492. * platform/graphics/chromium/RenderSurfaceChromium.h:
  57493. * platform/graphics/chromium/TextureManager.cpp:
  57494. (WebCore::TextureManager::unprotectTexture):
  57495. * platform/graphics/chromium/TextureManager.h:
  57496. 2011-07-01 Jungshik Shin <jshin@chromium.org>
  57497. Reviewed by Alexey Proskuryakov.
  57498. Allow generic font family settings per script code.
  57499. https://bugs.webkit.org/show_bug.cgi?id=20797
  57500. Make generic font family getters/setters accept an additional
  57501. argument (script code). It has a default value so that if an embedder
  57502. does not have/want a per-script font family setting, call-sites
  57503. don't have to be changed.
  57504. This is to prepare for fixing bug 10874 (font selection is not
  57505. language-dependent) and bug 18085.
  57506. uscript.h has been updated to that of ICU 3.6 (the version of ICU on
  57507. Mac OS 10.5)
  57508. There should be no change in layout and no new layout test
  57509. is added.
  57510. * WebCore.exp.in:
  57511. * icu/unicode/uscript.h: updated to ICU 4.6
  57512. * page/Settings.cpp:
  57513. (WebCore::setGenericFontFamilyMap): helper to set generic family per script
  57514. (WebCore::getGenericFontFamilyForScript): helper function used by getters for fooFontFamily.
  57515. (WebCore::Settings::standardFontFamily):
  57516. (WebCore::Settings::setStandardFontFamily):
  57517. (WebCore::Settings::fixedFontFamily):
  57518. (WebCore::Settings::setFixedFontFamily):
  57519. (WebCore::Settings::serifFontFamily):
  57520. (WebCore::Settings::setSerifFontFamily):
  57521. (WebCore::Settings::sansSerifFontFamily):
  57522. (WebCore::Settings::setSansSerifFontFamily):
  57523. (WebCore::Settings::cursiveFontFamily):
  57524. (WebCore::Settings::setCursiveFontFamily):
  57525. (WebCore::Settings::fantasyFontFamily):
  57526. (WebCore::Settings::setFantasyFontFamily):
  57527. * page/Settings.h: setter and getter for FooFontFamily have a new optional argument, scriptCode.
  57528. 2011-07-01 Tony Chang <tony@chromium.org>
  57529. Reviewed by Ojan Vafai.
  57530. rename StyleFlexibleBoxData to StyleDeprecatedFlexibleBoxData
  57531. https://bugs.webkit.org/show_bug.cgi?id=63773
  57532. We will have a similar struct to hold CSS3 flexible box data, so
  57533. this makes way for the new class.
  57534. I will rename the member variable in RenderStyle.h in a follow up
  57535. change.
  57536. * CMakeLists.txt:
  57537. * GNUmakefile.list.am:
  57538. * WebCore.gypi:
  57539. * WebCore.order:
  57540. * WebCore.pro:
  57541. * WebCore.vcproj/WebCore.vcproj:
  57542. * WebCore.xcodeproj/project.pbxproj:
  57543. * rendering/style/RenderStyle.h:
  57544. * rendering/style/StyleAllInOne.cpp:
  57545. * rendering/style/StyleDeprecatedFlexibleBoxData.cpp:
  57546. (WebCore::StyleDeprecatedFlexibleBoxData::StyleDeprecatedFlexibleBoxData):
  57547. (WebCore::StyleDeprecatedFlexibleBoxData::operator==):
  57548. * rendering/style/StyleDeprecatedFlexibleBoxData.h:
  57549. (WebCore::StyleDeprecatedFlexibleBoxData::create):
  57550. (WebCore::StyleDeprecatedFlexibleBoxData::copy):
  57551. (WebCore::StyleDeprecatedFlexibleBoxData::operator!=):
  57552. * rendering/style/StyleRareNonInheritedData.h:
  57553. 2011-07-01 Hans Wennborg <hans@chromium.org>
  57554. Reviewed by Tony Chang.
  57555. IndexedDB: Fix constants for webkitIDBTransaction.READ_WRITE/READ_ONLY
  57556. https://bugs.webkit.org/show_bug.cgi?id=63754
  57557. Fix values for the webkitIDBTransaction.READ_WRITE/READ_ONLY
  57558. constants. Douglas Stockwell pointed out that these were reverse
  57559. of what the spec says.
  57560. * storage/IDBTransaction.h:
  57561. * storage/IDBTransaction.idl:
  57562. 2011-07-01 Levi Weintraub <leviw@chromium.org>
  57563. Reviewed by Eric Seidel.
  57564. Switch positionForPoint to new layout types
  57565. https://bugs.webkit.org/show_bug.cgi?id=63774
  57566. Switching positionForPoint functions to new layout unit abstraction.
  57567. No new tests, no functionality changes.
  57568. * rendering/RenderBR.cpp:
  57569. (WebCore::RenderBR::positionForPoint):
  57570. * rendering/RenderBR.h:
  57571. * rendering/RenderBlock.cpp:
  57572. (WebCore::RenderBlock::positionForPoint):
  57573. * rendering/RenderBlock.h:
  57574. * rendering/RenderBox.cpp:
  57575. (WebCore::RenderBox::positionForPoint):
  57576. * rendering/RenderBox.h:
  57577. * rendering/RenderFileUploadControl.cpp:
  57578. (WebCore::RenderFileUploadControl::positionForPoint):
  57579. * rendering/RenderFileUploadControl.h:
  57580. * rendering/RenderInline.cpp:
  57581. (WebCore::RenderInline::positionForPoint):
  57582. * rendering/RenderInline.h:
  57583. * rendering/RenderObject.cpp:
  57584. (WebCore::RenderObject::positionForPoint):
  57585. * rendering/RenderReplaced.cpp:
  57586. (WebCore::RenderReplaced::positionForPoint):
  57587. * rendering/RenderReplaced.h:
  57588. * rendering/RenderText.cpp:
  57589. (WebCore::RenderText::positionForPoint):
  57590. * rendering/RenderText.h:
  57591. * rendering/RenderTextControlSingleLine.cpp:
  57592. (WebCore::RenderTextControlInnerBlock::positionForPoint):
  57593. * rendering/RenderTextControlSingleLine.h:
  57594. * rendering/svg/RenderSVGInlineText.cpp:
  57595. (WebCore::RenderSVGInlineText::positionForPoint):
  57596. * rendering/svg/RenderSVGInlineText.h:
  57597. * rendering/svg/RenderSVGText.cpp:
  57598. (WebCore::RenderSVGText::positionForPoint):
  57599. * rendering/svg/RenderSVGText.h:
  57600. 2011-07-01 Andrew Scherkus <scherkus@chromium.org>
  57601. Reviewed by Darin Fisher.
  57602. Re-enable WTF_USE_WEBAUDIO_FFMPEG for Chromium
  57603. https://bugs.webkit.org/show_bug.cgi?id=63783
  57604. * WebCore.gyp/WebCore.gyp:
  57605. 2011-07-01 Patrick Gansterer <paroga@webkit.org>
  57606. Reviewed by Daniel Bates.
  57607. [CMake] Don't compile unused bindings
  57608. https://bugs.webkit.org/show_bug.cgi?id=63741
  57609. * UseJSC.cmake: Added IF (ENABLE_XXX) around files.
  57610. 2011-07-01 Joone Hur <joone.hur@collabora.co.uk>
  57611. Reviewed by Martin Robinson.
  57612. [GTK] Add DeviceOrientation feature
  57613. https://bugs.webkit.org/show_bug.cgi?id=63720
  57614. Add DeviceMotionClientGtk.cpp and DeviceOrientationClientGtk.cpp to WebKitGtk+ build.
  57615. * GNUmakefile.am: Add DeviceMotionClientGtk.cpp, DeviceOrientationClientGtk.cpp.
  57616. 2011-07-01 Kentaro Hara <haraken@google.com>
  57617. Reviewed by Kent Tamura.
  57618. Disallow clicking an [X] button in 'search' input forms when 'disabled' attribute or 'readonly' attribute is set.
  57619. https://bugs.webkit.org/show_bug.cgi?id=63709
  57620. Ignore a cancel button event on a 'search' input form if 'disabled' attribute or
  57621. 'readonly' attribute is set to the input form.
  57622. Test: fast/forms/search-disabled-readonly.html
  57623. * html/shadow/TextControlInnerElements.cpp:
  57624. (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
  57625. 2011-06-30 Mikhail Naganov <mnaganov@chromium.org>
  57626. Reviewed by Yury Semikhatsky.
  57627. Web Inspector: [Chromium] Fix heap snapshots in a remote debugging session from Safari.
  57628. https://bugs.webkit.org/show_bug.cgi?id=63703
  57629. * inspector/front-end/HeapSnapshotWorker.js:
  57630. (.Function.prototype.bind.return.bound):
  57631. (.Function.prototype.bind):
  57632. 2011-07-01 Dirk Schulze <krit@webkit.org>
  57633. Reviewed by Nikolas Zimmermann.
  57634. SVGAnimatedLengthListAnimator does not take additive="sum" into accout
  57635. https://bugs.webkit.org/show_bug.cgi?id=63705
  57636. Added support for additive animations to SVGAnimatedLengthListAnimator. Don't clear the animatedList if not
  57637. necessary.
  57638. SVGLength unit gets animated as well now. We used to take the unit of 'from' all the time.
  57639. Tests: svg/animations/svglength-animation-unitType.html
  57640. svg/animations/svglengthlist-animation-5.html
  57641. * svg/SVGAnimatedLength.cpp:
  57642. (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue): Code clean-up and support for unit animation.
  57643. * svg/SVGAnimatedLengthList.cpp: Add support for additive animations.
  57644. (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
  57645. * svg/SVGLength.cpp:
  57646. (WebCore::SVGLength::SVGLength):
  57647. (WebCore::SVGLength::setValue): New setValue that gets the LengthType and UnitType as argument for supporting animations of units as well.
  57648. * svg/SVGLength.h:
  57649. 2011-07-01 Dirk Schulze <krit@webkit.org>
  57650. Reviewed by Nikolas Zimmermann.
  57651. SVGAnimatedType should support SVGAnimatedInteger animation
  57652. https://bugs.webkit.org/show_bug.cgi?id=63789
  57653. Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
  57654. This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAnimatedInteger.
  57655. SVGAnimatedInteger is used for some attributes of SVG filter effects. The animation of those attributes work after this patch.
  57656. Test: svg/animations/svginteger-animation-1.html
  57657. * CMakeLists.txt: Added file to build system.
  57658. * GNUmakefile.list.am: Ditto.
  57659. * WebCore.gypi: Ditto.
  57660. * WebCore.pro: Ditto.
  57661. * WebCore.xcodeproj/project.pbxproj: Ditto.
  57662. * svg/SVGAllInOne.cpp: Ditto.
  57663. * svg/SVGAnimateElement.cpp: Make use of AnimatedInteger.
  57664. (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
  57665. (WebCore::SVGAnimateElement::calculateAnimatedValue):
  57666. (WebCore::SVGAnimateElement::calculateFromAndToValues):
  57667. (WebCore::SVGAnimateElement::calculateFromAndByValues):
  57668. (WebCore::SVGAnimateElement::resetToBaseValue):
  57669. (WebCore::SVGAnimateElement::applyResultsToTarget):
  57670. (WebCore::SVGAnimateElement::calculateDistance):
  57671. * svg/SVGAnimatedInteger.cpp: Added. The new animator for SVGAnimatedInteger.
  57672. (WebCore::SVGAnimatedIntegerAnimator::SVGAnimatedIntegerAnimator):
  57673. (WebCore::SVGAnimatedIntegerAnimator::constructFromString):
  57674. (WebCore::SVGAnimatedIntegerAnimator::calculateFromAndToValues):
  57675. (WebCore::SVGAnimatedIntegerAnimator::calculateFromAndByValues):
  57676. (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedValue):
  57677. (WebCore::SVGAnimatedIntegerAnimator::calculateDistance):
  57678. * svg/SVGAnimatedInteger.h:
  57679. (WebCore::SVGAnimatedIntegerAnimator::~SVGAnimatedIntegerAnimator):
  57680. * svg/SVGAnimatedType.cpp: Added handler for AnimatedInteger.
  57681. (WebCore::SVGAnimatedType::~SVGAnimatedType):
  57682. (WebCore::SVGAnimatedType::createInteger):
  57683. (WebCore::SVGAnimatedType::integer):
  57684. (WebCore::SVGAnimatedType::valueAsString):
  57685. (WebCore::SVGAnimatedType::setValueAsString):
  57686. * svg/SVGAnimatedType.h:
  57687. * svg/SVGAnimatorFactory.h:
  57688. (WebCore::SVGAnimatorFactory::create):
  57689. 2011-06-30 Eugene Klyuchnikov <eustas.bug@gmail.com>
  57690. Reviewed by Pavel Feldman.
  57691. WebInspector: Performance / memory allocation issue in WebInspector.TextEditorModel.prototype._replaceTabsIfNeeded
  57692. https://bugs.webkit.org/show_bug.cgi?id=40447
  57693. Test: inspector/editor/text-editor-model-replace-tabs.html
  57694. * inspector/front-end/TextEditorModel.js:
  57695. (WebInspector.TextEditorModel.prototype._replaceTabsIfNeeded): avoid looped production of tail substrings
  57696. 2011-06-30 Kent Tamura <tkent@chromium.org>
  57697. Reviewed by Tony Chang.
  57698. [Chromium] Input type="range" slider thumb is rendered upside down on Mac OS X.
  57699. https://bugs.webkit.org/show_bug.cgi?id=63697
  57700. http://trac.webkit.org/changeset/86261 added a thumb flipping code
  57701. for Mac-WebKit2. Chromium also needs it.
  57702. * rendering/RenderThemeMac.mm:
  57703. (WebCore::RenderThemeMac::paintSliderThumb): Always flip vertically on Chromium.
  57704. 2011-06-30 Kenichi Ishibashi <bashi@chromium.org>
  57705. Reviewed by Simon Fraser.
  57706. [Chromium] -webkit-text-stroke doesn't affect with non-zero width border property
  57707. https://bugs.webkit.org/show_bug.cgi?id=63698
  57708. Restore the stroke style when it is modified in RenderObject::drawLineForBoxSide() to show text stroke correctly.
  57709. Test: platform/chromium/fast/text/text-stroke-with-border.html
  57710. * rendering/RenderObject.cpp:
  57711. (WebCore::RenderObject::drawLineForBoxSide): Save/restore the stroke style.
  57712. 2011-06-30 Gwang Yoon Hwang <ryumiel@company100.net>
  57713. Reviewed by Nate Chapin.
  57714. [V8] Add ENABLE(INSPECTOR) guards around v8 custom bindings.
  57715. https://bugs.webkit.org/show_bug.cgi?id=63442
  57716. No new tests needed.
  57717. * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
  57718. * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
  57719. 2011-06-30 Levi Weintraub <leviw@chromium.org>
  57720. Reviewed by Eric Seidel.
  57721. Remove positionForCoordinates
  57722. https://bugs.webkit.org/show_bug.cgi?id=63765
  57723. Removing positionForCoordinate. We should always use positionForPoint. Also cleaning up
  57724. RenderBox's implementation of positionForPoint.
  57725. No new tests, there should be no functionality changes.
  57726. * accessibility/AccessibilityRenderObject.cpp:
  57727. (WebCore::AccessibilityRenderObject::stringValue): Removing dead, or at least untested, code and
  57728. adding an ASSERT_NOT_REACHED.
  57729. (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
  57730. * rendering/RenderBox.cpp:
  57731. (WebCore::RenderBox::positionForPoint): cleaning up some ugly code.
  57732. * rendering/RenderInline.cpp:
  57733. (WebCore::RenderInline::positionForPoint):
  57734. * rendering/RenderObject.cpp:
  57735. * rendering/RenderObject.h:
  57736. 2011-06-30 Zhenyao Mo <zmo@google.com>
  57737. Reviewed by Kenneth Russell.
  57738. Improve WebGL object lifetime management in WebGLRenderingContext
  57739. https://bugs.webkit.org/show_bug.cgi?id=63635
  57740. * html/canvas/WebGLRenderingContext.cpp:
  57741. (WebCore::WebGLRenderingContext::getAttachedShaders): Use cached objects instead of querying the underlying GL.
  57742. (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Ditto.
  57743. (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects): Multiple loop because objects might be removed from the table within an iteration.
  57744. * html/canvas/WebGLRenderingContext.h:
  57745. 2011-06-30 Rafael Brandao <rafael.lobo@openbossa.org>
  57746. Reviewed by Andreas Kling.
  57747. [Qt] build-webkit warning: cannot find file ElementShadowPseudoId.h
  57748. https://bugs.webkit.org/show_bug.cgi?id=63747
  57749. Removed reference to ElementShadowPseudoId.h that no longer exists.
  57750. * WebCore.pro:
  57751. 2011-06-30 Anders Carlsson <andersca@apple.com>
  57752. Fix clang build.
  57753. Remove the complete Widget constructor from the .exp.in file; since Widget is an abstract class,
  57754. its complete constructor can never be called and clang has stopped emitting it altogether.
  57755. * WebCore.exp.in:
  57756. 2011-06-30 Levi Weintraub <leviw@chromium.org>
  57757. Reviewed by Eric Seidel.
  57758. Switch paintingRootRect and RenderObject repaint methods to new layout types
  57759. https://bugs.webkit.org/show_bug.cgi?id=63746
  57760. Switching paintingRootRect and RenderObject repaint functions over to the
  57761. new layout unit abstraction.
  57762. No new tests, no functionality changes.
  57763. * rendering/RenderBox.cpp:
  57764. (WebCore::RenderBox::repaintDuringLayoutIfMoved):
  57765. * rendering/RenderBox.h:
  57766. * rendering/RenderObject.cpp:
  57767. (WebCore::RenderObject::paintingRootRect):
  57768. (WebCore::RenderObject::paint):
  57769. (WebCore::RenderObject::repaintUsingContainer):
  57770. (WebCore::RenderObject::repaintRectangle):
  57771. (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
  57772. (WebCore::RenderObject::repaintDuringLayoutIfMoved):
  57773. * rendering/RenderObject.h:
  57774. 2011-06-30 Cary Clark <caryclark@google.com>
  57775. Reviewed by James Robinson.
  57776. Use Skia if Skia on Mac Chrome is enabled
  57777. https://bugs.webkit.org/show_bug.cgi?id=62999
  57778. No new tests. This does not affect existing
  57779. functionality.
  57780. * WebCore.gyp/WebCore.gyp:
  57781. Include Skia and related files and exclude CG
  57782. and related files when building Chromium for Skia
  57783. on the Mac.
  57784. * loader/cache/CachedFont.cpp:
  57785. Rename CHROME to CHROMIUM.
  57786. * platform/chromium/DragImageRef.h:
  57787. * platform/graphics/FloatPoint.h:
  57788. * platform/graphics/FloatRect.h:
  57789. * platform/graphics/FloatSize.h:
  57790. * platform/graphics/FontPlatformData.h:
  57791. (WebCore::FontPlatformData::hash):
  57792. * platform/graphics/GlyphBuffer.h:
  57793. (WebCore::GlyphBuffer::advanceAt):
  57794. (WebCore::GlyphBuffer::add):
  57795. (WebCore::GlyphBuffer::expandLastAdvance):
  57796. * platform/graphics/IntPoint.h:
  57797. * platform/graphics/IntRect.h:
  57798. * platform/graphics/IntSize.h:
  57799. * platform/graphics/SimpleFontData.h:
  57800. * platform/graphics/cg/FloatPointCG.cpp:
  57801. * platform/graphics/cg/FloatRectCG.cpp:
  57802. * platform/graphics/cg/FloatSizeCG.cpp:
  57803. * platform/graphics/cg/IntPointCG.cpp:
  57804. * platform/graphics/cg/IntRectCG.cpp:
  57805. * platform/graphics/cg/IntSizeCG.cpp:
  57806. * platform/graphics/mac/FontCustomPlatformData.cpp:
  57807. (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
  57808. (WebCore::createFontCustomPlatformData):
  57809. * platform/graphics/mac/FontCustomPlatformData.h:
  57810. (WebCore::FontCustomPlatformData::FontCustomPlatformData):
  57811. Ditto.
  57812. 2011-06-30 Julien Chaffraix <jchaffraix@webkit.org>
  57813. Reviewed by Nikolas Zimmermann.
  57814. Update SVG position values on SVG DOM updates
  57815. https://bugs.webkit.org/show_bug.cgi?id=62439
  57816. Test: svg/custom/crash-textPath-attributes.html
  57817. * rendering/svg/RenderSVGInline.cpp:
  57818. (WebCore::RenderSVGInline::destroy): Notify our containing RenderSVGText that it needs
  57819. to update its positioning information.
  57820. * rendering/svg/SVGInlineFlowBox.cpp:
  57821. (WebCore::SVGInlineFlowBox::calculateBoundaries): Check the type of the InlineBox
  57822. like the rest of the code (fixes an ASSERT_NOT_REACHED in InlineBox::calculateBoudaries).
  57823. * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
  57824. (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextSubtree): Clear
  57825. our cached layout attributes every time we invalidate them. This avoids keeping stale
  57826. attribute that have a backpointer to a RenderObject.
  57827. 2011-06-30 Sreeram Ramachandran <sreeram@chromium.org>
  57828. Reviewed by Adam Barth.
  57829. Suppress modal JavaScript/HTML dialogs during unload events
  57830. https://bugs.webkit.org/show_bug.cgi?id=56397
  57831. Allows clients to specify whether to show alerts during unload handlers.
  57832. When checking for whether a page dismissal event is being dispatched,
  57833. it's important to check all frames on the page (otherwise it becomes a
  57834. loophole easily exploited).
  57835. Test: fast/loader/page-dismissal-modal-dialogs.html
  57836. * loader/FrameLoader.cpp:
  57837. (WebCore::FrameLoader::FrameLoader):
  57838. (WebCore::FrameLoader::stopLoading):
  57839. (WebCore::FrameLoader::loadURL):
  57840. (WebCore::FrameLoader::loadWithDocumentLoader):
  57841. (WebCore::FrameLoader::stopAllLoaders):
  57842. (WebCore::FrameLoader::fireBeforeUnloadEvent):
  57843. * loader/FrameLoader.h:
  57844. (WebCore::FrameLoader::pageDismissalEventBeingDispatched):
  57845. * loader/cache/CachedResourceLoader.cpp:
  57846. (WebCore::CachedResourceLoader::requestImage):
  57847. * page/Chrome.cpp:
  57848. (WebCore::canRunModalIfDuringPageDismissal):
  57849. (WebCore::Chrome::canRunModalNow):
  57850. (WebCore::Chrome::runJavaScriptAlert):
  57851. (WebCore::Chrome::runJavaScriptConfirm):
  57852. (WebCore::Chrome::runJavaScriptPrompt):
  57853. * page/Chrome.h:
  57854. * page/ChromeClient.h:
  57855. (WebCore::ChromeClient::shouldRunModalDialogDuringPageDismissal):
  57856. * page/DOMWindow.cpp:
  57857. (WebCore::DOMWindow::showModalDialog):
  57858. 2011-06-30 Julien Chaffraix <jchaffraix@webkit.org>
  57859. Reviewed by Nikolas Zimmermann.
  57860. Assertion failure in RenderSVGInlineText::characterStartsNewTextChunk
  57861. https://bugs.webkit.org/show_bug.cgi?id=63076
  57862. Tests: svg/custom/crash-text-in-textpath.svg
  57863. svg/custom/text-node-in-text-invalidated.svg
  57864. The problem was that we did not call setNeedsPositionUpdate on RenderSVGText. When
  57865. doing our layout, we would not update the attributes on our SVGRenderInlineText as
  57866. we would not lay it out.
  57867. This was caused by childrenChanged being overridden on SVGTextPositioningElement but
  57868. not on SVGTextPathElement.
  57869. As both classes shared the same mother class, it made sense to move the logic here.
  57870. There should be no other side effects as SVGTextPathElement and SVGTextPositioningElement
  57871. are the only classes deriving from SVGTextContentElement.
  57872. * svg/SVGTextContentElement.cpp:
  57873. (WebCore::SVGTextContentElement::childrenChanged): Moved this method from SVGTextPositioningElement.
  57874. * svg/SVGTextContentElement.h:
  57875. * svg/SVGTextPositioningElement.cpp:
  57876. (WebCore::SVGTextPositioningElement::svgAttributeChanged): Updated after updatePositioningValuesInRenderer
  57877. removal, replaced by RenderSVGText::locateRenderSVGTextAncestor.
  57878. * svg/SVGTextPositioningElement.h:
  57879. 2011-06-30 Patrick Gansterer <paroga@webkit.org>
  57880. Unreviewed build fix for !ENABLE(DATABASE) after r84789.
  57881. * bindings/js/JSDOMBinding.cpp:
  57882. 2011-06-30 Anders Carlsson <andersca@apple.com>
  57883. Reviewed by Dan Bernstein.
  57884. More ScrollableArea scaffolding
  57885. https://bugs.webkit.org/show_bug.cgi?id=63678
  57886. Add a way to get the enclosing scrollable area for a given scrollable area.
  57887. Also, add ScrollableArea::isPinnedInDirectionOfScrollDelta.
  57888. * page/FrameView.cpp:
  57889. (WebCore::FrameView::enclosingScrollableArea):
  57890. Return 0 for now.
  57891. * page/FrameView.h:
  57892. Add FrameView::enclosingScrollableArea.
  57893. * platform/ScrollableArea.cpp:
  57894. (WebCore::ScrollableArea::isPinnedInDirectionOfScrollDelta):
  57895. Return whether the area is pinned in the direction of the scroll delta.
  57896. * platform/ScrollableArea.h:
  57897. Add new member functions.
  57898. * platform/chromium/FramelessScrollView.cpp:
  57899. (WebCore::FramelessScrollView::enclosingScrollableArea):
  57900. * platform/chromium/FramelessScrollView.h:
  57901. Add stub.
  57902. * platform/win/PopupMenuWin.h:
  57903. (WebCore::PopupMenuWin::enclosingScrollableArea):
  57904. Always return 0.
  57905. * rendering/RenderLayer.cpp:
  57906. (WebCore::RenderLayer::enclosingScrollableLayer):
  57907. Add helper function.
  57908. (WebCore::RenderLayer::scrollByRecursively):
  57909. Use the new enclosingScrollableLayer helper function.
  57910. (WebCore::RenderLayer::enclosingScrollableArea):
  57911. Return the enclosing scrollable area.
  57912. * rendering/RenderLayer.h:
  57913. Add new member function.
  57914. * rendering/RenderListBox.cpp:
  57915. (WebCore::RenderListBox::enclosingScrollableArea):
  57916. Return 0 for now.
  57917. * rendering/RenderListBox.h:
  57918. Add new member function.
  57919. 2011-06-30 Martin Robinson <mrobinson@igalia.com>
  57920. Reviewed by Anders Carlsson.
  57921. [GTK] Crash observed with nspluginwrapper and flash
  57922. https://bugs.webkit.org/show_bug.cgi?id=62249
  57923. Test: plugins/invalidate-rect-with-null-npp-argument.html
  57924. * plugins/npapi.cpp:
  57925. (NPN_InvalidateRect): Guard against null instances here.
  57926. 2011-06-30 Levi Weintraub <leviw@chromium.org>
  57927. Reviewed by Eric Seidel.
  57928. Switch availableWidth/Height, logicalLeft/RightOffsetForLine to new layout types
  57929. https://bugs.webkit.org/show_bug.cgi?id=63671
  57930. Switch availableWidth/Height, logicalLeft/RightOffsetForLine functions over to the
  57931. new layout unit abstraction.
  57932. No new tests, no functionality changes.
  57933. * rendering/RenderBlock.cpp:
  57934. (WebCore::RenderBlock::logicalLeftOffsetForLine):
  57935. (WebCore::RenderBlock::logicalRightOffsetForLine):
  57936. (WebCore::RenderBlock::availableLogicalWidthForLine):
  57937. (WebCore::RenderBlock::availableLogicalWidth):
  57938. * rendering/RenderBlock.h:
  57939. (WebCore::RenderBlock::logicalRightOffsetForLine):
  57940. (WebCore::RenderBlock::logicalLeftOffsetForLine):
  57941. (WebCore::RenderBlock::startOffsetForLine):
  57942. * rendering/RenderBox.cpp:
  57943. (WebCore::RenderBox::availableLogicalHeight):
  57944. (WebCore::RenderBox::availableLogicalHeightUsing):
  57945. * rendering/RenderBox.h:
  57946. (WebCore::RenderBox::availableLogicalWidth):
  57947. (WebCore::RenderBox::availableWidth):
  57948. (WebCore::RenderBox::availableHeight):
  57949. 2011-06-30 Adam Barth <abarth@webkit.org>
  57950. Remove useless ASSERT that breaks the build.
  57951. * dom/StyledElement.cpp:
  57952. (WebCore::parseColorStringWithCrazyLegacyRules):
  57953. 2011-06-30 Tab Atkins <jackalmage@gmail.com>
  57954. Reviewed by Adam Barth.
  57955. Fix legacy color attribute parsing to match HTML spec
  57956. https://bugs.webkit.org/show_bug.cgi?id=63029
  57957. Relevant spec link: http://www.whatwg.org/specs/web-apps/current-work/complete/common-microsyntaxes.html#rules-for-parsing-a-legacy-color-value
  57958. Fix legacy color attribute parsing (<body bgcolor>, <font color>, etc.) to match the HTML spec and more closely match other browsers.
  57959. Test: fast/dom/attribute-legacy-colors.html
  57960. * dom/StyledElement.cpp:
  57961. (WebCore::StyledElement::addCSSColor):
  57962. 2011-06-28 Hans Wennborg <hans@chromium.org>
  57963. Reviewed by Tony Chang.
  57964. IndexedDB: Prepare for running layout tests with LevelDB
  57965. https://bugs.webkit.org/show_bug.cgi?id=63593
  57966. Migration of data from SQLite to LevelDB must be done before the
  57967. m_backingStore map is checked for an open LevelDB, because if a
  57968. previous layout test has used LevelDB, it will be in the
  57969. m_backingStore map.
  57970. Covered by existing layout tests.
  57971. * storage/IDBFactoryBackendImpl.cpp:
  57972. (WebCore::IDBFactoryBackendImpl::open):
  57973. 2011-06-30 Pavel Feldman <pfeldman@chromium.org>
  57974. Reviewed by Yury Semikhatsky.
  57975. Web Inspector: introduce "filter" icons for timeline panel and elements sidebar.
  57976. https://bugs.webkit.org/show_bug.cgi?id=63731
  57977. * inspector/front-end/EventListenersSidebarPane.js:
  57978. * inspector/front-end/Images/paneFilterButtons.png: Added.
  57979. * inspector/front-end/Images/statusbarButtonGlyphs.png:
  57980. * inspector/front-end/StylesSidebarPane.js:
  57981. * inspector/front-end/inspector.css:
  57982. (.pane > .title > select):
  57983. (.pane > .title > select.select-settings):
  57984. (.pane > .title > select.select-filter):
  57985. (.timeline-filter-status-bar-item .glyph):
  57986. 2011-06-28 Hans Wennborg <hans@chromium.org>
  57987. Reviewed by Tony Chang.
  57988. IndexedDB: Support for deleteIndex with LevelDB backing store
  57989. https://bugs.webkit.org/show_bug.cgi?id=63539
  57990. Covered by storage/indexeddb/mozilla/remove-index.html.
  57991. * storage/IDBLevelDBBackingStore.cpp:
  57992. (WebCore::IDBLevelDBBackingStore::deleteIndex):
  57993. 2011-06-30 Abhishek Arya <inferno@chromium.org>
  57994. Reviewed by Ryosuke Niwa.
  57995. Crash when calling DOMSubtreeModified event when extracting range
  57996. contents.
  57997. https://bugs.webkit.org/show_bug.cgi?id=63650
  57998. Convert a few nodes to RefPtrs and add commonRoot verification checks
  57999. for Range::processContents.
  58000. Tests: fast/dom/Range/range-extract-contents-event-fire-crash.html
  58001. fast/dom/Range/range-extract-contents-event-fire-crash2.html
  58002. * dom/Range.cpp:
  58003. (WebCore::childOfCommonRootBeforeOffset):
  58004. (WebCore::Range::processContents):
  58005. (WebCore::Range::processContentsBetweenOffsets):
  58006. (WebCore::Range::processAncestorsAndTheirSiblings):
  58007. 2011-06-30 Dan Bernstein <mitz@apple.com>
  58008. Reviewed by Adele Peterson.
  58009. Add +[WebView _allowsRoundingHacks]
  58010. https://bugs.webkit.org/show_bug.cgi?id=63734
  58011. * WebCore.exp.in: Export TextRun::allowsRoundingHacks().
  58012. * platform/graphics/TextRun.cpp:
  58013. (WebCore::TextRun::allowsRoundingHacks): Added this accessor.
  58014. * platform/graphics/TextRun.h:
  58015. 2011-06-30 Patrick Gansterer <paroga@webkit.org>
  58016. Reviewed by Adam Roben.
  58017. [WIN] Don't redefine the keyboard codes
  58018. https://bugs.webkit.org/show_bug.cgi?id=63726
  58019. Only define the codes when undefined.
  58020. r64957 fixed this problem for COMPILER(MINGW) but not for OS(WINCE).
  58021. * platform/WindowsKeyboardCodes.h:
  58022. 2011-06-30 Yury Semikhatsky <yurys@chromium.org>
  58023. Reviewed by Pavel Feldman.
  58024. Web Inspector: hide "Enabled background events collection" option in context menu until the setting is persisted
  58025. https://bugs.webkit.org/show_bug.cgi?id=63708
  58026. The option has no much sense if it is not preserved between browser restarts.
  58027. * inspector/front-end/NetworkPanel.js:
  58028. (WebInspector.NetworkPanel.prototype._contextMenu):
  58029. 2011-06-30 Patrick Gansterer <paroga@webkit.org>
  58030. Reviewed by Darin Adler.
  58031. Remove dependnecy on IDL generation for disabled features in JSC bindings
  58032. https://bugs.webkit.org/show_bug.cgi?id=63718
  58033. Move the #if ENABLE() line directly after #include "config.h".
  58034. This enables us to compile all files even when we don't generate the IDL output.
  58035. * bindings/js/IDBBindingUtilities.cpp:
  58036. * bindings/js/JSConsoleCustom.cpp:
  58037. * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
  58038. * bindings/js/JSCustomXPathNSResolver.cpp:
  58039. * bindings/js/JSDOMApplicationCacheCustom.cpp:
  58040. * bindings/js/JSDeviceMotionEventCustom.cpp:
  58041. * bindings/js/JSDeviceOrientationEventCustom.cpp:
  58042. * bindings/js/JSInjectedScriptHostCustom.cpp:
  58043. * bindings/js/JSInjectedScriptManager.cpp:
  58044. * bindings/js/JSInspectorFrontendHostCustom.cpp:
  58045. * bindings/js/JSJavaScriptCallFrameCustom.cpp:
  58046. * bindings/js/JSSQLResultSetRowListCustom.cpp:
  58047. * bindings/js/JSSQLTransactionCustom.cpp:
  58048. * bindings/js/JSSQLTransactionSyncCustom.cpp:
  58049. * bindings/js/JSSVGElementInstanceCustom.cpp:
  58050. * bindings/js/JSStorageCustom.cpp:
  58051. * bindings/js/JSTouchCustom.cpp:
  58052. * bindings/js/JSTouchListCustom.cpp:
  58053. * bindings/js/JSXPathResultCustom.cpp:
  58054. * bindings/js/JavaScriptCallFrame.cpp:
  58055. * bindings/js/PageScriptDebugServer.cpp:
  58056. * bindings/js/ScriptDebugServer.cpp:
  58057. * bindings/js/ScriptGCEvent.cpp:
  58058. * bindings/js/ScriptProfile.cpp:
  58059. * bindings/js/WorkerScriptDebugServer.cpp:
  58060. 2011-06-30 Alexander Pavlov <apavlov@chromium.org>
  58061. Reviewed by Kent Tamura.
  58062. [Chromium] Autofill suggestions appear in upper left corner after input change
  58063. https://bugs.webkit.org/show_bug.cgi?id=63702
  58064. This change fixes a few popup layout issues, some of which have existed for quite a while:
  58065. - the absence of the ChromeClientImpl::screenToWindow() implementation (the method used to always return (0, 0));
  58066. - the confusion of window and screen coordinates passed into the autofill popup client's setWindowRect() method;
  58067. - the use of the current frameRect() width as the target element's width (which was wrong when refreshing
  58068. a popup resized during the initial layout (e.g. made wider than the target element)).
  58069. No new tests, as this is a change to platform-specific widget code. The test case is provided in the bug description.
  58070. * platform/chromium/PopupMenuChromium.cpp:
  58071. (WebCore::PopupContainer::layoutAndGetRTLOffset): Use original target element width, not frameRect().width(),
  58072. since the latter gets updated if the popup is not the same width as the target element.
  58073. (WebCore::PopupContainer::refresh): Restore only the popup bounds rather than its original rectangle,
  58074. since it sometimes breaks the invalidation region and layout.
  58075. 2011-06-30 Sheriff Bot <webkit.review.bot@gmail.com>
  58076. Unreviewed, rolling out r90102.
  58077. http://trac.webkit.org/changeset/90102
  58078. https://bugs.webkit.org/show_bug.cgi?id=63714
  58079. Lots of tests asserting beneath
  58080. SVGSMILElement::findInstanceTime (Requested by aroben on
  58081. #webkit).
  58082. * svg/animation/SVGSMILElement.cpp:
  58083. (WebCore::SVGSMILElement::findInstanceTime):
  58084. 2011-06-30 Andrey Kosyakov <caseq@chromium.org>
  58085. Reviewed by Yury Semikhatsky.
  58086. Web Inspector: remove ExtensionAPISchema.json
  58087. https://bugs.webkit.org/show_bug.cgi?id=63687
  58088. * inspector/front-end/ExtensionAPISchema.json: Removed.
  58089. 2011-06-30 Ilya Tikhonovsky <loislo@chromium.org>
  58090. Unreviewed build fix for chromium.
  58091. * inspector/CodeGeneratorInspector.pm:
  58092. 2011-06-30 Ilya Tikhonovsky <loislo@chromium.org>
  58093. Unreviewed build fix for mac.
  58094. * inspector/CodeGeneratorInspector.pm:
  58095. 2011-06-30 Ilya Tikhonovsky <loislo@chromium.org>
  58096. Reviewed by Pavel Feldman.
  58097. Web Inspector: Protocol: error object needs some improvement.
  58098. https://bugs.webkit.org/show_bug.cgi?id=63707
  58099. Current implementation is not useful in the code.
  58100. We need to have toString implementation with nice formatting
  58101. I'd like to use error.message property as the main place for the error's text.
  58102. * inspector/CodeGeneratorInspector.pm:
  58103. 2011-06-30 Mikhail Naganov <mnaganov@chromium.org>
  58104. Reviewed by Yury Semikhatsky.
  58105. Web Inspector: [Chromium] Support annotations for arrays in heap profiler.
  58106. https://bugs.webkit.org/show_bug.cgi?id=63690
  58107. * inspector/front-end/DetailedHeapshotGridNodes.js:
  58108. (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
  58109. 2011-06-30 Patrick Gansterer <paroga@webkit.org>
  58110. Unreviewed build fix for !ENABLE(SVG_ANIMATION) after r88663, r89187, r89220, r89431 and r89661.
  58111. * svg/SVGAnimatedAngle.h:
  58112. * svg/SVGAnimatedLength.h:
  58113. * svg/SVGAnimatedNumber.h:
  58114. * svg/SVGAnimatedRect.h:
  58115. * svg/SVGAnimatedString.h:
  58116. 2011-06-30 Gabor Loki <loki@webkit.org>
  58117. Reviewed by Csaba Osztrogonác.
  58118. Fixed several style and typo issues after r90091.
  58119. https://bugs.webkit.org/show_bug.cgi?id=63692
  58120. Rename yStart to extremaStartY during computing extremas
  58121. * platform/graphics/filters/FEMorphology.cpp:
  58122. (WebCore::FEMorphology::platformApplyGeneric):
  58123. * platform/graphics/filters/FEMorphology.h:
  58124. 2011-06-30 Oliver Varga <Varga.Oliver@stud.u-szeged.hu>
  58125. Reviewed by Nikolas Zimmermann.
  58126. Speed up SVGSMILElement::findInstanceTime.
  58127. https://bugs.webkit.org/show_bug.cgi?id=61025
  58128. Replace the linear search to binary search on ordered list because
  58129. the previous searches from the beginning was not efficient.
  58130. No new tests this is only a performance tweak.
  58131. * svg/animation/SVGSMILElement.cpp:
  58132. (WebCore::extractTimeFromVector):
  58133. (WebCore::SVGSMILElement::findInstanceTime):
  58134. 2011-06-30 Kentaro Hara <haraken@google.com>
  58135. Reviewed by Kent Tamura.
  58136. Change the label of an HTML5 file chooser button to "Choose Files"
  58137. https://bugs.webkit.org/show_bug.cgi?id=49245
  58138. We should notify capability of multiple files to users.
  58139. Test: fast/forms/input-file-label.html
  58140. * English.lproj/Localizable.strings:
  58141. * html/FileInputType.cpp:
  58142. (WebCore::UploadButtonElement::createForMultiple): Constructs a multiple file chooser button.
  58143. (WebCore::FileInputType::createShadowSubtree): Constructs a single/multiple file chooser button depending on 'multiple' attribute.
  58144. (WebCore::FileInputType::multipleAttributeChanged): Updates the label of the file chooser button.
  58145. * html/FileInputType.h:
  58146. * html/HTMLInputElement.cpp:
  58147. (WebCore::HTMLInputElement::parseMappedAttribute): Updates the shadow tree of the file chooser button when 'multiple' attribute is set or unset.
  58148. * html/InputType.cpp:
  58149. (WebCore::InputType::multipleAttributeChanged): Virtual method to be overridden by FileInputType.
  58150. * html/InputType.h:
  58151. * platform/DefaultLocalizationStrategy.cpp:
  58152. (WebCore::DefaultLocalizationStrategy::fileButtonChooseFileLabel): Updated the description for "Choose File".
  58153. (WebCore::DefaultLocalizationStrategy::fileButtonChooseMultipleFilesLabel): Returns a string "Choose Files".
  58154. * platform/DefaultLocalizationStrategy.h:
  58155. * platform/LocalizationStrategy.h:
  58156. * platform/LocalizedStrings.cpp:
  58157. (WebCore::fileButtonChooseMultipleFilesLabel): Wrapper method for getting the "Choose Files" label.
  58158. * platform/LocalizedStrings.h:
  58159. * platform/brew/LocalizedStringsBrew.cpp:
  58160. (WebCore::fileButtonChooseMultipleFilesLabel): Returns a "Choose Files" label.
  58161. * platform/efl/LocalizedStringsEfl.cpp:
  58162. (WebCore::fileButtonChooseMultipleFilesLabel): Returns a "Choose Files" label.
  58163. * platform/gtk/LocalizedStringsGtk.cpp:
  58164. (WebCore::fileButtonChooseMultipleFilesLabel): Returns a "Choose Files" label.
  58165. * platform/haiku/LocalizedStringsHaiku.cpp:
  58166. (WebCore::fileButtonChooseMultipleFilesLabel): Returns a "Choose Files" label.
  58167. * platform/wx/LocalizedStringsWx.cpp:
  58168. (WebCore::fileButtonChooseMultipleFilesLabel): Returns a "Choose Files" label.
  58169. 2011-06-30 Ryosuke Niwa <rniwa@webkit.org>
  58170. Reviewed by Kent Tamura.
  58171. Replace isNodeInTextFormControl(Node*) by enclosingTextFormControl(const Position&)
  58172. https://bugs.webkit.org/show_bug.cgi?id=63672
  58173. Replaced isNodeInTextFormControl(Node*) by enclosingTextFormControl(const Position&).
  58174. Also added a safe toTextFormControl to HTMLFormControlElement.h.
  58175. * editing/DeleteSelectionCommand.cpp:
  58176. (WebCore::DeleteSelectionCommand::doApply): Calls enclosingTextFormControl instead of manually
  58177. checking the tag name of shadowAncestorNode.
  58178. * editing/Editor.cpp:
  58179. (WebCore::Editor::selectionForCommand): Rewritten using enclosingTextFormControl and toTextFormControl.
  58180. (WebCore::Editor::cut): Calls enclosingTextFormControl instead of isNodeInTextFormControl.
  58181. (WebCore::Editor::copy): Ditto.
  58182. (WebCore::Editor::setBaseWritingDirection): Calls toTextFormControl instead of manually checking tag name.
  58183. * editing/FrameSelection.cpp:
  58184. (WebCore::FrameSelection::isInPasswordField): Calls enclosingTextFormControl.
  58185. * editing/ReplaceSelectionCommand.cpp:
  58186. (WebCore::ReplaceSelectionCommand::doApply): Ditto.
  58187. * editing/htmlediting.cpp:
  58188. (WebCore::enclosingTextFormControl): Added.
  58189. * editing/htmlediting.h:
  58190. * html/HTMLFormControlElement.h:
  58191. (WebCore::toTextFormControl): Added.
  58192. * page/DragController.cpp:
  58193. (WebCore::DragController::startDrag): Calls enclosingTextFormControl instead of isNodeInTextFormControl.
  58194. 2011-06-27 Pavel Podivilov <podivilov@chromium.org>
  58195. Reviewed by Pavel Feldman.
  58196. Web Inspector: source code is not highlighted after drawer height animations.
  58197. https://bugs.webkit.org/show_bug.cgi?id=62860
  58198. * inspector/front-end/Drawer.js:
  58199. (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
  58200. (WebInspector.Drawer.prototype._animateDrawerHeight):
  58201. 2011-06-30 MORITA Hajime <morrita@google.com>
  58202. Reviewed by Dimitri Glazkov.
  58203. Crash if ShadowRoot has a text node.
  58204. https://bugs.webkit.org/show_bug.cgi?id=63607
  58205. Node::styleForRenderer() for Text node wasn't shadow-aware.
  58206. This change allow styleForRenderer() to know its visual parent by
  58207. passing NodeRenderingContext.
  58208. Changes other than NodeRenderingContext and Element is just a
  58209. follow up for change above.
  58210. * dom/Element.cpp: use NodeRenderingContext to resolve parent node.
  58211. (WebCore::Element::recalcStyle):
  58212. * dom/Node.cpp:
  58213. (WebCore::Node::styleForRenderer): Added NodeRenderingContext as a parameter.
  58214. * dom/Node.h:
  58215. * dom/NodeRenderingContext.cpp:
  58216. (WebCore::NodeRendererFactory::createRendererAndStyle):
  58217. * html/HTMLOptGroupElement.cpp:
  58218. (WebCore::HTMLOptGroupElement::attach):
  58219. * html/HTMLOptionElement.cpp:
  58220. (WebCore::HTMLOptionElement::attach):
  58221. * html/HTMLTitleElement.cpp:
  58222. (WebCore::HTMLTitleElement::textWithDirection):
  58223. * html/shadow/TextControlInnerElements.cpp:
  58224. (WebCore::TextControlInnerElement::styleForRenderer):
  58225. (WebCore::TextControlInnerTextElement::styleForRenderer):
  58226. * html/shadow/TextControlInnerElements.h:
  58227. Test: fast/dom/shadow/shadow-root-text-child.html
  58228. 2011-06-30 Piroska András <Piroska.Andras@stud.u-szeged.hu>
  58229. Reviewed by Dirk Schulze.
  58230. Apply the ParallelJobs support to FEMorphology
  58231. https://bugs.webkit.org/show_bug.cgi?id=63064
  58232. The FEMorphology filter of SVG can consume lots of resources if it is
  58233. applied to a large area. The computation can be distributed to multiple
  58234. cores if the architecture supports.
  58235. The average performance progression is 20-25% on dual-core machines.
  58236. * platform/graphics/filters/FEMorphology.cpp:
  58237. (WebCore::FEMorphology::platformApplyGeneric): Apply the filter between yStart and yEnd interval
  58238. (WebCore::FEMorphology::platformApplyWorker): Call the generic apply from a parallel worker
  58239. (WebCore::FEMorphology::platformApply):
  58240. (WebCore::FEMorphology::apply): Move the functionality into platformApply
  58241. (WebCore::FEMorphology::externalRepresentation): Remove whitespaces
  58242. * platform/graphics/filters/FEMorphology.h:
  58243. 2011-06-29 Kent Tamura <tkent@chromium.org>
  58244. Reviewed by Dimitri Glazkov.
  58245. Avoid custom layout code of RenderTextControlSingleLine
  58246. https://bugs.webkit.org/show_bug.cgi?id=61415
  58247. If a text field has a search results button, a search cancel
  58248. button, a speech button, or a spin button, the editable inner text
  58249. element and the buttons are wrapped by a flexible box container,
  58250. and the editable inner text element has flexibility. As the result
  58251. of applying the flexible box, we don't need any horizontal layout
  58252. code in RenderTextControlSingleLine except the inner spin button.
  58253. Also, we remove custom hit-testing code in nodeAtPoint(). If a
  58254. user clicks on a position left of the inner editable text but not
  58255. on the search results button, the search results button doesn't
  58256. work though it worked.
  58257. * css/html.css:
  58258. (input::-webkit-textfield-decoration-container):
  58259. New style definition for the "container" element.
  58260. (input[type="search"]::-webkit-search-cancel-button):
  58261. It should be a block element because it's a child of the flexible box.
  58262. Also, this doesn't have flexibility.
  58263. (input[type="search"]::-webkit-search-decoration): ditto.
  58264. (input[type="search"]::-webkit-search-results-decoration): ditto.
  58265. (input[type="search"]::-webkit-search-results-button): ditto.
  58266. (input::-webkit-inner-spin-button): ditto.
  58267. (input::-webkit-input-speech-button): ditto.
  58268. * html/HTMLInputElement.cpp:
  58269. (WebCore::HTMLInputElement::containerElement):
  58270. Add an accessor of the flexible box container.
  58271. It just calls InputType::containerElement().
  58272. * html/HTMLInputElement.h: Declare it.
  58273. * html/InputType.h:
  58274. (WebCore::InputType::containerElement): New accessor for a shadow element.
  58275. * html/SearchInputType.cpp:
  58276. (WebCore::SearchInputType::SearchInputType):
  58277. m_innerBlock is moved to TextFieldInputType.
  58278. (WebCore::SearchInputType::needsContainer):
  58279. A search field always needs the flexible box container because
  58280. of the results button and the cancel button.
  58281. (WebCore::SearchInputType::createShadowSubtree):
  58282. Use TextFieldInputType::createShadowSubtree(), then modify the tree.
  58283. (WebCore::SearchInputType::destroyShadowSubtree):
  58284. m_innerBlock is moved to TextFieldInputType.
  58285. * html/SearchInputType.h:
  58286. * html/TextFieldInputType.cpp:
  58287. (WebCore::TextFieldInputType::TextFieldInputType):
  58288. Initialize the new members.
  58289. (WebCore::TextFieldInputType::needsContainer):
  58290. Returns true if x-webkit-speech. We check a spin button separately.
  58291. (WebCore::TextFieldInputType::createShadowSubtree):
  58292. Wrap everything with the flexible box container if needsContainer() or we need a spin button.
  58293. (WebCore::TextFieldInputType::containerElement): Added an accessor.
  58294. (WebCore::TextFieldInputType::innerBlockElement): ditto.
  58295. (WebCore::TextFieldInputType::innerTextElement): ditto.
  58296. (WebCore::TextFieldInputType::innerSpinButtonElement): ditto.
  58297. (WebCore::TextFieldInputType::speechButtonElement): ditto.
  58298. (WebCore::TextFieldInputType::destroyShadowSubtree):
  58299. Clear references to new shadow nodes.
  58300. * html/TextFieldInputType.h:
  58301. * rendering/RenderTextControlSingleLine.cpp:
  58302. (WebCore::RenderTextControlSingleLine::containerElement): Added an accessor.
  58303. (WebCore::RenderTextControlSingleLine::innerTextElement):
  58304. (WebCore::RenderTextControlSingleLine::layout):
  58305. - Correct heights check
  58306. Comparing with height(), not contentHeigth(), was incorrect.
  58307. - Adjust the container height like the editable inner text.
  58308. - Remove width adjustment
  58309. - Remove the speech button layout code
  58310. The flexible box layout is enough.
  58311. (WebCore::RenderTextControlSingleLine::nodeAtPoint):
  58312. Remove custom code for results/cancel/speech buttons, and
  58313. Simplify comments.
  58314. (WebCore::RenderTextControlSingleLine::forwardEvent):
  58315. Remove custom forwarding code for results/cancel buttons.
  58316. (WebCore::RenderTextControlSingleLine::styleDidChange):
  58317. Clear the style of the container because we update it in layout().
  58318. (WebCore::RenderTextControlSingleLine::hasControlClip):
  58319. Decoration buttons should be clipped by the container.
  58320. (WebCore::RenderTextControlSingleLine::controlClipRect): ditto.
  58321. (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
  58322. We don't need to use display:inline-block any more.
  58323. (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
  58324. The text wrapper element should have flexibility.
  58325. (WebCore::RenderTextControlSingleLine::textBlockInsetTop):
  58326. Updated for the tree structure change.
  58327. * rendering/RenderTextControlSingleLine.h:
  58328. 2011-06-29 Kent Tamura <tkent@chromium.org>
  58329. [Mac] Attempt to fix Leopard build.
  58330. * platform/mac/CursorMac.mm:
  58331. (WebCore::Cursor::ensurePlatformCursor):
  58332. 2011-06-29 Darin Adler <darin@apple.com>
  58333. Reviewed by Dan Bernstein.
  58334. [Mac] Use system cursors instead of custom bitmaps where possible
  58335. https://bugs.webkit.org/show_bug.cgi?id=63679
  58336. * Resources/crossHairCursor.png: Removed.
  58337. * Resources/notAllowedCursor.png: Removed.
  58338. * WebCore.exp.in: Added wkCursor.
  58339. * WebCore/WebCore.gyp/WebCore.gyp: Removed the two now-unused PNG files.
  58340. * WebCore.xcodeproj/project.pbxproj: Ditto.
  58341. * platform/mac/CursorMac.mm:
  58342. (WebCore::Cursor::ensurePlatformCursor): Use NSCursor API for Cross, Hand,
  58343. VerticalText, ContextMenu, Copy, and NotAllowed. Use wkCursor for Move,
  58344. Alias, Progress, and the resize and panning cursors.
  58345. * platform/mac/WebCoreSystemInterface.h: Added wkCursor.
  58346. * platform/mac/WebCoreSystemInterface.mm: Ditto.
  58347. 2011-06-29 Keishi Hattori <keishi@webkit.org>
  58348. Reviewed by Adam Barth.
  58349. Remove extra space at EOL in view source mode
  58350. https://bugs.webkit.org/show_bug.cgi?id=63620
  58351. Test: fast/frames/viewsource-linebreak.html
  58352. * css/view-source.css:
  58353. (tbody:last-child .webkit-line-content:empty:before): If we don't do this
  58354. the last line will be empty and the height will be shorter than the rest.
  58355. * html/HTMLViewSourceDocument.cpp:
  58356. (WebCore::HTMLViewSourceDocument::addSource): If source file is empty, add an empty line.
  58357. (WebCore::HTMLViewSourceDocument::finishLine): Call when you are done with the current line.
  58358. Adds a BR element if the line is empty and sets current to tbody.
  58359. (WebCore::HTMLViewSourceDocument::addText):
  58360. * html/HTMLViewSourceDocument.h:
  58361. 2011-06-29 Brent Fulgham <bfulgham@webkit.org>
  58362. [WinCE] Correct logical state of WINCE test.
  58363. * platform/win/ScrollbarThemeWin.cpp: The #if OS(WINCE)
  58364. should have been #if !OS(WINCE)
  58365. (WebCore::ScrollbarThemeWin::paintTrackPiece):
  58366. (WebCore::ScrollbarThemeWin::paintButton):
  58367. (WebCore::ScrollbarThemeWin::paintThumb):
  58368. * rendering/RenderThemeWin.cpp: ditto.
  58369. (WebCore::drawControl):
  58370. 2011-06-29 Justin Garcia <justin.garcia@apple.com>
  58371. Reviewed by Enrica Casucci.
  58372. I forgot to include these (reviewed) style fix-ups in my previous check-in.
  58373. * editing/htmlediting.cpp:
  58374. (WebCore::indexForVisiblePosition):
  58375. (WebCore::visiblePositionForIndex):
  58376. 2011-06-29 Justin Garcia <justin.garcia@apple.com>
  58377. Reviewed by Enrica Casucci.
  58378. https://bugs.webkit.org/show_bug.cgi?id=62922
  58379. indexForVisiblePosition(const VisiblePosition& visiblePosition) does not consider shadow content
  58380. VisiblePositions can be inside web form text regions, which use shadow trees. Made indexForVisiblePosition
  58381. aware of this, and added a new parameter to obtain the scope for a VisiblePosition, in addition to its index.
  58382. Added visiblePositionForIndex to go in the opposite direction, taking into account the scope
  58383. used to compute the index.
  58384. These two functions use TextIterators to convert between VisiblePositions and indices. But
  58385. TextIterator iteration using TextIteratorEmitsCharactersBetweenAllVisiblePositions does not
  58386. exactly match VisiblePosition iteration, so using them to preserve a selection during an
  58387. editing operation is unreliable. This can be seen in the expected results for:
  58388. editing/execCommand/indent-pre-list.html
  58389. editing/execCommand/crash-indenting-list-item.html
  58390. TextIterator's TextIteratorEmitsCharactersBetweenAllVisiblePositions mode needs to be fixed, or
  58391. these functions need to be changed to iterate using actual VisiblePositions. See:
  58392. https://bugs.webkit.org/show_bug.cgi?id=63590
  58393. TextIterators in TextIteratorEmitsCharactersBetweenAllVisiblePositions do not exactly match VisiblePositions
  58394. Also:
  58395. https://bugs.webkit.org/show_bug.cgi?id=63592
  58396. Use visiblePositionForIndex and indexForVisiblePosition everywhere that TextIterators are used to convert between VisiblePositions and indices
  58397. No new tests added because indexForVisiblePosition is currently only used for editing operations
  58398. that cannot be performed inside web form fields.
  58399. * editing/ApplyBlockElementCommand.cpp:
  58400. (WebCore::ApplyBlockElementCommand::doApply):
  58401. * editing/InsertListCommand.cpp:
  58402. (WebCore::InsertListCommand::doApply):
  58403. * editing/htmlediting.cpp:
  58404. (WebCore::indexForVisiblePosition):
  58405. (WebCore::visiblePositionForIndex):
  58406. * editing/htmlediting.h:
  58407. 2011-06-29 Dimitri Glazkov <dglazkov@chromium.org>
  58408. Reviewed by Kent Tamura.
  58409. Remove ElementWithPseudoId, since now an Element can store it all by itself.
  58410. https://bugs.webkit.org/show_bug.cgi?id=63657
  58411. Refactoring, covered by existing tests.
  58412. * CMakeLists.txt: Removed ElementWithPseudoId from build.
  58413. * GNUmakefile.list.am: Ditto.
  58414. * WebCore.gypi: Ditto.
  58415. * WebCore.order: Ditto.
  58416. * WebCore.pro: Ditto.
  58417. * WebCore.vcproj/WebCore.vcproj: Ditto.
  58418. * WebCore.xcodeproj/project.pbxproj: Ditto.
  58419. * html/ColorInputType.cpp:
  58420. (WebCore::ColorInputType::createShadowSubtree): Changed to use plain-old HTMLDivElement.
  58421. * html/RangeInputType.cpp:
  58422. (WebCore::RangeInputType::createShadowSubtree): Ditto.
  58423. * html/ValidationMessage.cpp:
  58424. (WebCore::ValidationMessage::buildBubbleTree): Ditto.
  58425. * html/shadow/ElementWithPseudoId.cpp: Removed.
  58426. * html/shadow/ElementWithPseudoId.h: Removed.
  58427. 2011-06-29 Levi Weintraub <leviw@chromium.org>
  58428. Reviewed by Eric Seidel.
  58429. Switch computeWidth and computeHeight functions to new layout types
  58430. https://bugs.webkit.org/show_bug.cgi?id=63655
  58431. Switch computeWidth and computeHeight functions over to the new layout unit abstraction.
  58432. Making a point to mark rounding that should eventually be removed by linking to a new
  58433. tracking bug: 63645.
  58434. No new tests, no functionality changes.
  58435. * rendering/AutoTableLayout.cpp:
  58436. (WebCore::AutoTableLayout::computePreferredLogicalWidths):
  58437. * rendering/AutoTableLayout.h:
  58438. * rendering/FixedTableLayout.cpp:
  58439. (WebCore::FixedTableLayout::computePreferredLogicalWidths):
  58440. * rendering/FixedTableLayout.h:
  58441. * rendering/LayoutTypes.h:
  58442. * rendering/RenderBlock.cpp:
  58443. (WebCore::RenderBlock::computePreferredLogicalWidths):
  58444. (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
  58445. (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
  58446. * rendering/RenderBox.cpp:
  58447. (WebCore::RenderBox::computeLogicalWidthUsing):
  58448. (WebCore::RenderBox::computeLogicalHeight):
  58449. (WebCore::RenderBox::computeLogicalHeightUsing):
  58450. (WebCore::RenderBox::computePercentageLogicalHeight):
  58451. (WebCore::RenderBox::computeReplacedLogicalWidth):
  58452. (WebCore::RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth):
  58453. (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
  58454. (WebCore::RenderBox::computeReplacedLogicalHeight):
  58455. (WebCore::RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight):
  58456. (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
  58457. * rendering/RenderBox.h:
  58458. * rendering/RenderIFrame.cpp:
  58459. (WebCore::RenderIFrame::computeLogicalWidth):
  58460. * rendering/RenderImage.cpp:
  58461. (WebCore::RenderImage::computeReplacedLogicalWidth):
  58462. (WebCore::RenderImage::computeReplacedLogicalHeight):
  58463. * rendering/RenderImage.h:
  58464. * rendering/RenderListBox.cpp:
  58465. (WebCore::RenderListBox::computePreferredLogicalWidths):
  58466. * rendering/RenderListMarker.cpp:
  58467. (WebCore::RenderListMarker::computePreferredLogicalWidths):
  58468. * rendering/RenderMenuList.cpp:
  58469. (WebCore::RenderMenuList::computePreferredLogicalWidths):
  58470. * rendering/RenderReplaced.cpp:
  58471. (WebCore::RenderReplaced::computeReplacedLogicalWidth):
  58472. (WebCore::RenderReplaced::computeReplacedLogicalHeight):
  58473. (WebCore::RenderReplaced::computePreferredLogicalWidths):
  58474. * rendering/RenderReplaced.h:
  58475. * rendering/RenderSlider.cpp:
  58476. (WebCore::RenderSlider::computePreferredLogicalWidths):
  58477. * rendering/RenderTable.cpp:
  58478. (WebCore::RenderTable::computeLogicalWidth):
  58479. * rendering/RenderTextControl.cpp:
  58480. (WebCore::RenderTextControl::computePreferredLogicalWidths):
  58481. * rendering/RenderVideo.cpp:
  58482. (WebCore::RenderVideo::computeReplacedLogicalWidth):
  58483. (WebCore::RenderVideo::computeReplacedLogicalHeight):
  58484. * rendering/RenderVideo.h:
  58485. * rendering/svg/RenderSVGForeignObject.cpp:
  58486. (WebCore::RenderSVGForeignObject::computeLogicalWidth):
  58487. (WebCore::RenderSVGForeignObject::computeLogicalHeight):
  58488. * rendering/svg/RenderSVGRoot.cpp:
  58489. (WebCore::RenderSVGRoot::computePreferredLogicalWidths):
  58490. (WebCore::RenderSVGRoot::computeIntrinsicWidth):
  58491. (WebCore::RenderSVGRoot::computeIntrinsicHeight):
  58492. (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
  58493. (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
  58494. (WebCore::RenderSVGRoot::layout):
  58495. * rendering/svg/RenderSVGRoot.h:
  58496. 2011-06-23 Abhishek Arya <inferno@chromium.org>
  58497. Reviewed by James Robinson.
  58498. In RenderBlock, RenderWidget and RenderReplaced destroy functions,
  58499. call dirtyLinesFromChangedChild to tell our parent that we are going away.
  58500. https://bugs.webkit.org/show_bug.cgi?id=60307
  58501. Test: fast/block/child-not-removed-from-parent-lineboxes-crash.html
  58502. fast/block/block-not-removed-from-parent-lineboxes-crash.html
  58503. * rendering/RenderBlock.cpp:
  58504. (WebCore::RenderBlock::destroy):
  58505. * rendering/RenderReplaced.cpp:
  58506. (WebCore::RenderReplaced::destroy):
  58507. * rendering/RenderReplaced.h:
  58508. * rendering/RenderWidget.cpp:
  58509. (WebCore::RenderWidget::destroy):
  58510. 2011-06-29 Brent Fulgham <bfulgham@webkit.org>
  58511. Speculative WinCE build correction.
  58512. * rendering/RenderThemeWin.cpp:
  58513. (WebCore::drawControl): Don't call setRGBABitmapAlpha
  58514. for WinCE case.
  58515. 2011-06-29 Ryosuke Niwa <rniwa@webkit.org>
  58516. Reviewed by Darin Adler.
  58517. REGRESSION(r89952): r89952 added a wrong assertion in visible_units.cpp
  58518. https://bugs.webkit.org/show_bug.cgi?id=63668
  58519. We need to assert the offset to be zero only when the position is NOT offset in node.
  58520. * editing/visible_units.cpp:
  58521. (WebCore::startOfParagraph):
  58522. 2011-06-29 Brent Fulgham <bfulgham@webkit.org>
  58523. Speculative WinCE build correction after r90057.
  58524. * CMakeListsWinCE.txt: Roll back r90061, since GetWorldTransform
  58525. is not available in WinCE.
  58526. * platform/win/ScrollbarThemeWin.cpp: Conditionally exclude calls
  58527. to DIBPixelData::setRGBABitmapAlpha for WinCE.
  58528. (WebCore::ScrollbarThemeWin::paintTrackPiece):
  58529. (WebCore::ScrollbarThemeWin::paintButton):
  58530. (WebCore::ScrollbarThemeWin::paintThumb):
  58531. 2011-06-29 Brent Fulgham <bfulgham@webkit.org>
  58532. Speculative WinCE build correction after r90057.
  58533. * CMakeListsWinCE.txt: Add missing DIBPixelData.cpp to
  58534. WinCE build to support setting bitmap image alpha value.
  58535. 2011-06-29 Simon Fraser <simon.fraser@apple.com>
  58536. Reviewed by Beth Dakin.
  58537. Lay some groundwork for rubber-banding in overflow:scroll divs
  58538. https://bugs.webkit.org/show_bug.cgi?id=63654
  58539. Make it possible for scrollTop and scrollLeft on a RenderLayer to be
  58540. set to negative values, which we will do during rubber-banding in
  58541. future. Continue to clamp programmatic scrolls, and scroll positions
  58542. set by layout between 0 and the max value.
  58543. Test: fast/layers/negative-scroll-positions.html
  58544. * rendering/RenderBox.cpp:
  58545. (WebCore::RenderBox::setScrollLeft):
  58546. (WebCore::RenderBox::setScrollTop):
  58547. * rendering/RenderLayer.cpp:
  58548. (WebCore::RenderLayer::scrollToOffset):
  58549. (WebCore::RenderLayer::scrollTo):
  58550. * rendering/RenderLayer.h:
  58551. (WebCore::RenderLayer::scrollToXOffset):
  58552. (WebCore::RenderLayer::scrollToYOffset):
  58553. * rendering/RenderTextControlSingleLine.cpp:
  58554. (WebCore::RenderTextControlSingleLine::forwardEvent):
  58555. 2011-06-29 Anders Carlsson <andersca@apple.com>
  58556. Reviewed by Simon Fraser.
  58557. RenderLayer::maximumScrollPosition() is wrong
  58558. https://bugs.webkit.org/show_bug.cgi?id=62667
  58559. * platform/ScrollableArea.h:
  58560. (WebCore::ScrollableArea::isVerticalScrollerPinnedToMinimumPosition):
  58561. (WebCore::ScrollableArea::isVerticalScrollerPinnedToMaximumPosition):
  58562. Add these for good measure; they will be needed in an upcoming patch.
  58563. * rendering/RenderLayer.cpp:
  58564. (WebCore::RenderLayer::maximumScrollPosition):
  58565. Subtract the visible content rect, including the scroll bars.
  58566. 2011-06-29 Brent Fulgham <bfulgham@webkit.org>
  58567. Speculative WinCE build correction after r90053.
  58568. * platform/graphics/GraphicsContext.h:
  58569. (WebCore::GraphicsContext::inTransparencyLayer): Provide
  58570. stub implementation for 'inTransparencyLayer'.
  58571. 2011-06-29 Xu Fan <qifuren1985@gmail.com>
  58572. Reviewed by Brent Fulgham.
  58573. Fix Scrollbars Transparent in Windows XP if WebKit is using Layered Window
  58574. https://bugs.webkit.org/show_bug.cgi?id=61136
  58575. * platform/graphics/win/DIBPixelData.h: add a static method setRGBABitmapAlpha
  58576. * platform/graphics/win/DIBPixelData.cpp: add implementation
  58577. * platform/win/ScrollbarThemeWin.cpp: fix scroolbar transparent
  58578. * rendering/RenderThemeWin.cpp: fix textbox and button transparent
  58579. 2011-06-29 Emil A Eklund <eae@chromium.org>
  58580. Reviewed by Eric Seidel.
  58581. Switch RenderBoxModelObject::margin* and setMargin* to to new layout types
  58582. https://bugs.webkit.org/show_bug.cgi?id=63652
  58583. Switch margin methods for render tree over to the new layout unit abstraction.
  58584. No new tests, no functionality changes.
  58585. * rendering/InlineFlowBox.h:
  58586. * rendering/RenderBlock.cpp:
  58587. * rendering/RenderBlock.h:
  58588. * rendering/RenderBox.cpp:
  58589. * rendering/RenderBox.h:
  58590. * rendering/RenderBoxModelObject.h:
  58591. * rendering/RenderInline.cpp:
  58592. * rendering/RenderInline.h:
  58593. * rendering/RenderText.h:
  58594. 2011-06-29 Levi Weintraub <leviw@chromium.org>
  58595. Reviewed by Eric Seidel.
  58596. Switch paint to new layout types
  58597. https://bugs.webkit.org/show_bug.cgi?id=63645
  58598. Switch vanilla paint function over to the new layout unit abstraction.
  58599. No new tests, no functionality changes.
  58600. * rendering/RenderBlock.cpp:
  58601. (WebCore::RenderBlock::paint):
  58602. * rendering/RenderBlock.h:
  58603. * rendering/RenderBox.cpp:
  58604. (WebCore::RenderBox::paint):
  58605. * rendering/RenderBox.h:
  58606. * rendering/RenderDetailsMarker.cpp:
  58607. (WebCore::RenderDetailsMarker::paint):
  58608. * rendering/RenderDetailsMarker.h:
  58609. * rendering/RenderEmbeddedObject.cpp:
  58610. (WebCore::RenderEmbeddedObject::paint):
  58611. * rendering/RenderEmbeddedObject.h:
  58612. * rendering/RenderFrameSet.cpp:
  58613. (WebCore::RenderFrameSet::paint):
  58614. * rendering/RenderFrameSet.h:
  58615. * rendering/RenderImage.cpp:
  58616. (WebCore::RenderImage::paint):
  58617. * rendering/RenderImage.h:
  58618. * rendering/RenderInline.cpp:
  58619. (WebCore::RenderInline::paint):
  58620. * rendering/RenderInline.h:
  58621. * rendering/RenderLineBoxList.h:
  58622. * rendering/RenderListItem.cpp:
  58623. (WebCore::RenderListItem::paint):
  58624. * rendering/RenderListItem.h:
  58625. * rendering/RenderListMarker.cpp:
  58626. (WebCore::RenderListMarker::paint):
  58627. * rendering/RenderListMarker.h:
  58628. * rendering/RenderObject.h:
  58629. * rendering/RenderReplaced.cpp:
  58630. (WebCore::RenderReplaced::paint):
  58631. * rendering/RenderReplaced.h:
  58632. * rendering/RenderReplica.cpp:
  58633. (WebCore::RenderReplica::paint):
  58634. * rendering/RenderReplica.h:
  58635. * rendering/RenderTable.cpp:
  58636. (WebCore::RenderTable::paint):
  58637. * rendering/RenderTable.h:
  58638. * rendering/RenderTableCell.cpp:
  58639. (WebCore::RenderTableCell::paint):
  58640. * rendering/RenderTableCell.h:
  58641. * rendering/RenderTableRow.cpp:
  58642. (WebCore::RenderTableRow::paint):
  58643. * rendering/RenderTableRow.h:
  58644. * rendering/RenderTableSection.cpp:
  58645. (WebCore::RenderTableSection::paint):
  58646. * rendering/RenderTableSection.h:
  58647. * rendering/RenderTextControlSingleLine.cpp:
  58648. (WebCore::RenderTextControlSingleLine::paint):
  58649. * rendering/RenderTextControlSingleLine.h:
  58650. * rendering/RenderTheme.h:
  58651. * rendering/RenderView.cpp:
  58652. (WebCore::RenderView::paint):
  58653. * rendering/RenderView.h:
  58654. * rendering/RenderWidget.cpp:
  58655. (WebCore::RenderWidget::paint):
  58656. * rendering/RenderWidget.h:
  58657. * rendering/mathml/RenderMathMLBlock.h:
  58658. * rendering/mathml/RenderMathMLFraction.h:
  58659. * rendering/mathml/RenderMathMLRoot.h:
  58660. * rendering/mathml/RenderMathMLSquareRoot.h:
  58661. * rendering/svg/RenderSVGContainer.h:
  58662. * rendering/svg/RenderSVGForeignObject.h:
  58663. * rendering/svg/RenderSVGHiddenContainer.h:
  58664. * rendering/svg/RenderSVGImage.h:
  58665. * rendering/svg/RenderSVGPath.h:
  58666. * rendering/svg/RenderSVGRoot.cpp:
  58667. (WebCore::RenderSVGRoot::paint):
  58668. * rendering/svg/RenderSVGRoot.h:
  58669. * rendering/svg/RenderSVGText.h:
  58670. 2011-06-29 Jian Li <jianli@chromium.org>
  58671. Reviewed by Kenneth Russell.
  58672. WebGL test failing on SL bots: fast/canvas/webgl/data-view-test.html
  58673. https://bugs.webkit.org/show_bug.cgi?id=63151
  58674. The fix is to change to throw TypeError in custom JS/V8 bindings.
  58675. * bindings/js/JSDataViewCustom.cpp:
  58676. (WebCore::getDataViewMember):
  58677. (WebCore::setDataViewMember):
  58678. * bindings/v8/custom/V8DataViewCustom.cpp:
  58679. (WebCore::V8DataView::constructorCallback):
  58680. (WebCore::V8DataView::getInt8Callback):
  58681. 2011-06-29 Luke Macpherson <macpherson@chromium.org>
  58682. Reviewed by Darin Adler.
  58683. Convert uses of computeLengthIntForLength() to computeLength<Length>()
  58684. https://bugs.webkit.org/show_bug.cgi?id=63641
  58685. No new tests / refactoring only.
  58686. * css/CSSStyleSelector.cpp:
  58687. (WebCore::convertToLength):
  58688. (WebCore::CSSStyleSelector::applyProperty):
  58689. (WebCore::CSSStyleSelector::applyPageSizeProperty):
  58690. (WebCore::CSSStyleSelector::mmLength):
  58691. (WebCore::CSSStyleSelector::inchLength):
  58692. (WebCore::CSSStyleSelector::mapFillSize):
  58693. (WebCore::CSSStyleSelector::mapFillXPosition):
  58694. (WebCore::CSSStyleSelector::mapFillYPosition):
  58695. 2011-06-29 Chris Rogers <crogers@google.com>
  58696. Reviewed by Kenneth Russell.
  58697. Simplify AudioBufferSourceNode rendering
  58698. https://bugs.webkit.org/show_bug.cgi?id=63586
  58699. No new tests since this doesn't change API.
  58700. * webaudio/AudioBufferSourceNode.cpp:
  58701. (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
  58702. (WebCore::AudioBufferSourceNode::process):
  58703. (WebCore::AudioBufferSourceNode::renderFromBuffer):
  58704. (WebCore::AudioBufferSourceNode::reset):
  58705. (WebCore::AudioBufferSourceNode::setBuffer):
  58706. (WebCore::AudioBufferSourceNode::noteOn):
  58707. (WebCore::AudioBufferSourceNode::noteGrainOn):
  58708. (WebCore::AudioBufferSourceNode::totalPitchRate):
  58709. * webaudio/AudioBufferSourceNode.h:
  58710. 2011-06-29 Martin Robinson <mrobinson@igalia.com>
  58711. Reviewed by Xan Lopez.
  58712. [Freetype] Many tests report ERROR: Failed to get glyph page zero.
  58713. https://bugs.webkit.org/show_bug.cgi?id=63498
  58714. Instead of conditionally instantiating the m_scaledFont member of FontPlatformData,
  58715. always instantiate it. For times when the size is 0 and the instantiation would lead
  58716. to a Cairo error, we use size 1 and just make operations which would fail conditional
  58717. on the m_size > 0.
  58718. No new tests. This change is covered by existing tests. We should
  58719. observe no errors on the bots after landing.
  58720. * platform/graphics/cairo/FontCairo.cpp:
  58721. (WebCore::Font::drawGlyphs): Instead of looking at whether or not there is
  58722. a scaled font to determine whether to draw, just look at the size.
  58723. * platform/graphics/freetype/FontPlatformData.h: Remove the m_font member.
  58724. * platform/graphics/freetype/FontPlatformDataFreeType.cpp: Always instantiate
  58725. a scaled font member and remove references to m_font. If we are instantiating
  58726. a scaled font for a 0 size font, instantiate a size 1 font, so that we can
  58727. still use Cairo to query font properties.
  58728. * platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
  58729. (WebCore::GlyphPage::fill): We can assume there is always a scaled font now.
  58730. * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
  58731. (WebCore::SimpleFontData::platformInit): Ditto.
  58732. (WebCore::SimpleFontData::createScaledFontData): Ditto.
  58733. (WebCore::SimpleFontData::containsCharacters): Ditto.
  58734. (WebCore::SimpleFontData::platformWidthForGlyph): Ditto.
  58735. 2011-06-29 Eric Carlson <eric.carlson@apple.com>
  58736. Reviewed by Darin Adler.
  58737. Media element loads blocked by a resource load delegate do not generate an error event
  58738. https://bugs.webkit.org/show_bug.cgi?id=63558
  58739. Tests: media/media-blocked-by-beforeload.html
  58740. media/media-blocked-by-willsendrequest.html
  58741. * html/HTMLMediaElement.cpp:
  58742. (WebCore::HTMLMediaElement::selectMediaResource): Call mediaLoadingFailed instead of noneSupported
  58743. so all failures follow the same code path.
  58744. (WebCore::HTMLMediaElement::loadResource): Call mediaLoadingFailed when there is no frame, when
  58745. the loader delegate rejects the url, or when MediaPlayer doesn't find a media engine that
  58746. supports the type.
  58747. (WebCore::HTMLMediaElement::selectNextSourceChild): Fix incorrect logging.
  58748. (WebCore::HTMLMediaElement::mediaLoadingFailed): Change name of parameter from "state" to
  58749. "error" to make its purpose obvious.
  58750. * platform/graphics/MediaPlayer.cpp:
  58751. (WebCore::MediaPlayer::load): Return a bool indicating whether or not the url was given to
  58752. a media engine.
  58753. (WebCore::MediaPlayer::loadWithNextMediaEngine): Add some logging.
  58754. * platform/graphics/MediaPlayer.h:
  58755. 2011-06-29 Darin Adler <darin@apple.com>
  58756. Reviewed by Anders Carlsson.
  58757. [WebKit2] Crash loading page that adds/removes frame in DOMContentLoaded/loaded
  58758. https://bugs.webkit.org/show_bug.cgi?id=63483
  58759. Test: fast/loader/create-frame-in-DOMContentLoaded.html
  58760. * loader/FrameLoader.cpp:
  58761. (WebCore::FrameLoader::init): Added an assertion.
  58762. (WebCore::FrameLoader::finishedLoadingDocument): Removed a non-helpful #if
  58763. statement. The rule that we do not call the client when creating the initial
  58764. empty document was nominally specific to Windows and Chromium but is needed
  58765. for all platforms.
  58766. 2011-06-29 Emil A Eklund <eae@chromium.org>
  58767. Reviewed by Darin Adler.
  58768. Switch hitTestColumns/Contents/Floats to to new layout types
  58769. https://bugs.webkit.org/show_bug.cgi?id=63589
  58770. Switch location and size methods for RenderBox over to the new layout unit abstraction.
  58771. No new tests, no functionality changes.
  58772. * rendering/ColumnInfo.h:
  58773. (WebCore::ColumnInfo::desiredColumnWidth):
  58774. (WebCore::ColumnInfo::setDesiredColumnWidth):
  58775. (WebCore::ColumnInfo::columnHeight):
  58776. (WebCore::ColumnInfo::setColumnCountAndHeight):
  58777. (WebCore::ColumnInfo::setColumnHeight):
  58778. (WebCore::ColumnInfo::updateMinimumColumnHeight):
  58779. (WebCore::ColumnInfo::minimumColumnHeight):
  58780. * rendering/RenderBlock.cpp:
  58781. (WebCore::RenderBlock::addOverflowFromChildren):
  58782. (WebCore::RenderBlock::paintColumnRules):
  58783. (WebCore::RenderBlock::paintColumnContents):
  58784. (WebCore::RenderBlock::hitTestFloats):
  58785. (WebCore::RenderBlock::hitTestColumns):
  58786. (WebCore::RenderBlock::hitTestContents):
  58787. (WebCore::RenderBlock::columnRectAt):
  58788. * rendering/RenderBlock.h:
  58789. (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
  58790. (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
  58791. * rendering/RenderLayer.cpp:
  58792. (WebCore::RenderLayer::hitTestContents):
  58793. * rendering/RenderLayer.h:
  58794. 2011-06-29 Adrienne Walker <enne@google.com>
  58795. Reviewed by James Robinson.
  58796. [chromium] Divide by zero in TilingData
  58797. https://bugs.webkit.org/show_bug.cgi?id=63305
  58798. Add safety checks for empty layers.
  58799. * platform/graphics/chromium/LayerTilerChromium.cpp:
  58800. (WebCore::LayerTilerChromium::prepareToUpdate):
  58801. (WebCore::LayerTilerChromium::reset):
  58802. (WebCore::LayerTilerChromium::updateRect):
  58803. 2011-06-29 Dimitri Glazkov <dglazkov@chromium.org>
  58804. Reviewed by Adam Barth.
  58805. Extract setShadowRoot function, harden it in preparation to be exposed to script.
  58806. https://bugs.webkit.org/show_bug.cgi?id=63596
  58807. Refactoring, covered by existing tests.
  58808. * dom/Element.cpp:
  58809. (WebCore::validateShadowRoot): Added.
  58810. (WebCore::Element::setShadowRoot): Extracted from ensureShadowRoot.
  58811. (WebCore::Element::ensureShadowRoot): Changed to use setShadowRoot.
  58812. * dom/Element.h: Added decl.
  58813. 2011-06-29 Vsevolod Vlasov <vsevik@chromium.org>
  58814. Reviewed by Pavel Feldman.
  58815. Web Inspector: REGRESSION Resource revision fails to request content if it was not yet loaded for resource.
  58816. https://bugs.webkit.org/show_bug.cgi?id=63631
  58817. Test: http/tests/inspector/network/network-request-revision-content.html
  58818. * inspector/front-end/Resource.js:
  58819. (WebInspector.ResourceRevision.prototype.requestContent):
  58820. 2011-06-29 Igor Oliveira <igor.oliveira@openbossa.org>
  58821. Reviewed by Andreas Kling.
  58822. [Qt] GraphicsContext::clipToImageBuffer does not support scale transformation
  58823. https://bugs.webkit.org/show_bug.cgi?id=63555
  58824. Scale alphaMask if GraphicsContext is scaled
  58825. * platform/graphics/qt/GraphicsContextQt.cpp:
  58826. (WebCore::GraphicsContext::pushTransparencyLayerInternal):
  58827. * platform/graphics/qt/ImageBufferQt.cpp:
  58828. (WebCore::ImageBuffer::clip):
  58829. 2011-06-29 Andrey Kosyakov <caseq@chromium.org>
  58830. Reviewed by Pavel Feldman.
  58831. Web Inspector: backend needs to provide system-unique object ids, so these remain unique across navigation
  58832. https://bugs.webkit.org/show_bug.cgi?id=62894
  58833. * inspector/InspectorController.cpp:
  58834. (WebCore::InspectorController::setAgentProcessIdentifier):
  58835. * inspector/InspectorController.h:
  58836. * inspector/InspectorPageAgent.cpp:
  58837. (WebCore::InspectorPageAgent::setAgentIdentifier):
  58838. (WebCore::InspectorPageAgent::createIdentifier):
  58839. (WebCore::InspectorPageAgent::frameForId):
  58840. (WebCore::InspectorPageAgent::frameId):
  58841. (WebCore::InspectorPageAgent::frameDestroyed):
  58842. * inspector/InspectorPageAgent.h:
  58843. 2011-06-29 Pavel Feldman <pfeldman@google.com>
  58844. Reviewed by Yury Semikhatsky.
  58845. Web Inspector: create status bar buttons programmatically. Add "Inspect" button to all panels.
  58846. https://bugs.webkit.org/show_bug.cgi?id=63450
  58847. Buttons should be created in code, not in HTML. Also making Inspect Element
  58848. action available on all panels (as an experiment).
  58849. * inspector/front-end/ConsoleView.js:
  58850. (WebInspector.ConsoleView.prototype.show):
  58851. (WebInspector.ConsoleView.prototype.hide):
  58852. * inspector/front-end/ElementsPanel.js:
  58853. (WebInspector.ElementsPanel):
  58854. (WebInspector.ElementsPanel.prototype.get statusBarItems):
  58855. (WebInspector.ElementsPanel.prototype.updateFocusedNode):
  58856. (WebInspector.ElementsPanel.prototype._setSearchingForNode):
  58857. (WebInspector.ElementsPanel.prototype.toggleSearchingForNode):
  58858. * inspector/front-end/inspector.css:
  58859. (button.dock-status-bar-item.status-bar-item .glyph):
  58860. (button.dock-status-bar-item.status-bar-item.toggled-on .glyph):
  58861. (.console-status-bar-item .glyph):
  58862. * inspector/front-end/inspector.html:
  58863. * inspector/front-end/inspector.js:
  58864. (WebInspector._createGlobalStatusBarItems):
  58865. (WebInspector.set attached):
  58866. 2011-06-29 Pavel Feldman <pfeldman@google.com>
  58867. Reviewed by Yury Semikhatsky.
  58868. Web Inspector: tab crash after deleting trailing quote when editing attribute
  58869. https://bugs.webkit.org/show_bug.cgi?id=63544
  58870. * inspector/InspectorDOMAgent.cpp:
  58871. (WebCore::InspectorDOMAgent::setAttributesText):
  58872. * inspector/front-end/ElementsTreeOutline.js:
  58873. (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded):
  58874. (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
  58875. 2011-06-29 Vsevolod Vlasov <vsevik@chromium.org>
  58876. Reviewed by Pavel Feldman.
  58877. Web Inspector: REGRESSION Inspector failing to load resource content after navigation. Safari.
  58878. https://bugs.webkit.org/show_bug.cgi?id=63480
  58879. * inspector/front-end/NetworkManager.js:
  58880. (WebInspector.NetworkDispatcher):
  58881. (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
  58882. 2011-06-29 Mike West <mkwst@chromium.org>
  58883. Reviewed by Pavel Feldman.
  58884. Web Inspector: Missing fields in HAR
  58885. https://bugs.webkit.org/show_bug.cgi?id=58127
  58886. Specifically, this patch adds:
  58887. - entry.request.httpVersion
  58888. - entry.request.headersSize
  58889. - entry.request.bodySize
  58890. - entry.response.httpVersion
  58891. - entry.response.headersSize
  58892. - entry.response.bodySize
  58893. - entry.response.content.compression
  58894. Tests: http/tests/inspector/resource-har-conversion.html
  58895. http/tests/inspector/resource-har-headers.html
  58896. http/tests/inspector/resource-parameters.html
  58897. http/tests/inspector/network/network-size.html
  58898. * inspector/front-end/HAREntry.js:
  58899. (WebInspector.HAREntry.prototype.build):
  58900. (WebInspector.HAREntry.prototype._buildRequest):
  58901. (WebInspector.HAREntry.prototype._buildResponse):
  58902. (WebInspector.HAREntry.prototype._buildContent):
  58903. (WebInspector.HAREntry.prototype._buildCookie):
  58904. (WebInspector.HAREntry.prototype._interval):
  58905. (WebInspector.HAREntry.prototype.get requestBodySize):
  58906. (WebInspector.HAREntry.prototype.get responseBodySize):
  58907. (WebInspector.HAREntry.prototype.get responseCompression):
  58908. (WebInspector.HARLog.prototype.build):
  58909. * inspector/front-end/Resource.js:
  58910. (WebInspector.Resource.prototype.set requestHeaders):
  58911. (WebInspector.Resource.prototype.get requestHeadersText):
  58912. (WebInspector.Resource.prototype.set requestHeadersText):
  58913. (WebInspector.Resource.prototype.get requestHeadersSize):
  58914. (WebInspector.Resource.prototype.get requestHttpVersion):
  58915. (WebInspector.Resource.prototype.set responseHeaders):
  58916. (WebInspector.Resource.prototype.get responseHeadersText):
  58917. (WebInspector.Resource.prototype.set responseHeadersText):
  58918. (WebInspector.Resource.prototype.get responseHeadersSize):
  58919. (WebInspector.Resource.prototype.get responseHttpVersion):
  58920. 2011-06-29 Hayato Ito <hayato@chromium.org>
  58921. Reviewed by Hajime Morita.
  58922. Make a shadow host transfer a focus to the first focusable element in the shadow root when its focus() is called.
  58923. https://bugs.webkit.org/show_bug.cgi?id=62358.
  58924. This patch doesn't take an effect on the following elements to keep a compatibility.
  58925. - <input>, <textarea>, <video> and <audio> elements
  58926. We'll address these elements separately after re-targeting focus events
  58927. (bug 61421) is implemented.
  58928. A shadow root's <content> is not considered in this patch.
  58929. That should be addressed in another patch. See bug 63522.
  58930. Test: fast/dom/shadow/shadow-host-transfer-focus.html
  58931. * dom/Element.cpp:
  58932. (WebCore::Element::focus):
  58933. * page/FocusController.cpp:
  58934. (WebCore::shadowRoot):
  58935. (WebCore::isTreeScopeOwner):
  58936. (WebCore::FocusController::transferFocusToElementInShadowRoot):
  58937. (WebCore::hasCustomFocusLogic):
  58938. (WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocumentOrShadowRoot):
  58939. (WebCore::FocusController::advanceFocusInDocumentOrder):
  58940. (WebCore::ownerOfTreeScope):
  58941. (WebCore::FocusController::findFocusableNodeAcrossTreeScope):
  58942. * page/FocusController.h:
  58943. 2011-06-29 Ryan Sleevi <rsleevi@chromium.org>
  58944. Reviewed by Dirk Schulze.
  58945. SVGRadialGradientElement::selfHasRelativeLengths() doesn't consider if cx() is relative
  58946. https://bugs.webkit.org/show_bug.cgi?id=61600
  58947. Correct the logic for checking for relative lengths in a SVGRadialGradientElement to consider cx() in addition to cy()
  58948. No new tests, as there is no way to currently test this. With the bug present, a side-effect is causing the
  58949. expected/correct image to be rendered. This is because the cached SVG resource is getting invalided through a
  58950. different path, forcing a repaint. The repaint takes into consideration the proper dimensions, hiding the bug.
  58951. * svg/SVGRadialGradientElement.cpp:
  58952. (WebCore::SVGRadialGradientElement::selfHasRelativeLengths):
  58953. 2011-06-28 Dirk Schulze <krit@webkit.org>
  58954. Reviewed by Nikolas Zimmermann.
  58955. SVGAnimatedType should support SVGBoolean animation
  58956. https://bugs.webkit.org/show_bug.cgi?id=63529
  58957. Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
  58958. This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGBoolean.
  58959. The new animator does not affect any behavior, since it was animated with SVGAnimatedString before. The new animator is still needed
  58960. to support animVal and baseVal later.
  58961. Test: svg/animations/svgboolean-animation-1.html
  58962. * CMakeLists.txt: Add new file to build system.
  58963. * GNUmakefile.list.am: Ditto.
  58964. * WebCore.gypi: Ditto.
  58965. * WebCore.pro: Ditto.
  58966. * WebCore.xcodeproj/project.pbxproj: Ditto.
  58967. * svg/SVGAllInOne.cpp: Ditto.
  58968. * svg/SVGAnimateElement.cpp: Make use of AnimatedBoolean.
  58969. (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
  58970. (WebCore::SVGAnimateElement::calculateAnimatedValue):
  58971. (WebCore::SVGAnimateElement::calculateFromAndToValues):
  58972. (WebCore::SVGAnimateElement::calculateFromAndByValues):
  58973. (WebCore::SVGAnimateElement::resetToBaseValue):
  58974. (WebCore::SVGAnimateElement::applyResultsToTarget):
  58975. (WebCore::SVGAnimateElement::calculateDistance):
  58976. * svg/SVGAnimatedBoolean.cpp: Added. New animator for SVGBoolean.
  58977. (WebCore::SVGAnimatedBooleanAnimator::SVGAnimatedBooleanAnimator):
  58978. (WebCore::SVGAnimatedBooleanAnimator::constructFromString):
  58979. (WebCore::SVGAnimatedBooleanAnimator::calculateFromAndToValues):
  58980. (WebCore::SVGAnimatedBooleanAnimator::calculateFromAndByValues):
  58981. (WebCore::SVGAnimatedBooleanAnimator::calculateAnimatedValue):
  58982. (WebCore::SVGAnimatedBooleanAnimator::calculateDistance):
  58983. * svg/SVGAnimatedBoolean.h:
  58984. (WebCore::SVGAnimatedBooleanAnimator::~SVGAnimatedBooleanAnimator):
  58985. * svg/SVGAnimatedType.cpp: Use bool for SVGBoolean.
  58986. (WebCore::SVGAnimatedType::~SVGAnimatedType):
  58987. (WebCore::SVGAnimatedType::createBoolean):
  58988. (WebCore::SVGAnimatedType::boolean):
  58989. (WebCore::SVGAnimatedType::valueAsString):
  58990. (WebCore::SVGAnimatedType::setValueAsString):
  58991. * svg/SVGAnimatedType.h:
  58992. * svg/SVGAnimatorFactory.h: New crate function for SVGAnimatedSVGBooleanAnimator.
  58993. (WebCore::SVGAnimatorFactory::create):
  58994. 2011-06-28 Dimitri Glazkov <dglazkov@chromium.org>
  58995. Reviewed by Adam Barth.
  58996. Make applyAuthorSheets settable on ShadowRoot.
  58997. https://bugs.webkit.org/show_bug.cgi?id=63599
  58998. Refactoring and adding not-yet used function, tests to follow when API lands.
  58999. * dom/ShadowRoot.cpp:
  59000. (WebCore::ShadowRoot::ShadowRoot): Added initializer.
  59001. (WebCore::ShadowRoot::applyAuthorSheets): Made to use member variable.
  59002. (WebCore::ShadowRoot::setApplyAuthorSheets): Added.
  59003. * dom/ShadowRoot.h: Tweaked, added decls.
  59004. 2011-06-28 Ilya Sherman <isherman@chromium.org>
  59005. Reviewed by Adam Barth.
  59006. form.autocomplete="off" does not work
  59007. Rename the autoComplete() method for HTMLFormElement, HTMLFormControlElementWithState, and HTMLInputElement to shouldAutocomplete()
  59008. Add the autocomplete attribute to HTMLFormElement.idl and HTMLInputElement.idl
  59009. https://bugs.webkit.org/show_bug.cgi?id=35823
  59010. Test: fast/forms/autocomplete.html
  59011. * html/HTMLFormControlElement.cpp:
  59012. (WebCore::HTMLFormControlElementWithState::shouldAutocomplete): Renamed from ::autoComplete()
  59013. (WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState): Update callsite.
  59014. * html/HTMLFormControlElement.h:
  59015. * html/HTMLFormElement.cpp:
  59016. (WebCore::HTMLFormElement::~HTMLFormElement): Update callsite.
  59017. (WebCore::HTMLFormElement::parseMappedAttribute): Update callsite.
  59018. (WebCore::HTMLFormElement::documentDidBecomeActive): Update callsite.
  59019. (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): Update callsite.
  59020. (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Update callsite.
  59021. (WebCore::HTMLFormElement::shouldAutocomplete): Renamed from ::autoComplete()
  59022. * html/HTMLFormElement.h:
  59023. * html/HTMLFormElement.idl: Bind the autocomplete attribute to a JavaScript property.
  59024. * html/HTMLInputElement.cpp:
  59025. (WebCore::HTMLInputElement::shouldAutocomplete): Renamed from ::autoComplete()
  59026. * html/HTMLInputElement.h:
  59027. * html/HTMLInputElement.idl: Bind the autocomplete attribute to a JavaScript property.
  59028. * WebCore.exp.in: Updated autoComplete() -> shouldAutocomplete()
  59029. 2011-06-28 Dimitri Glazkov <dglazkov@chromium.org>
  59030. Reviewed by Kent Tamura.
  59031. Store shadowPseudoId in ElementRareData.
  59032. https://bugs.webkit.org/show_bug.cgi?id=63604
  59033. No new tests, because the code isn't yet used.
  59034. * css/CSSSelector.cpp:
  59035. (WebCore::CSSSelector::isUnknownPseudoType): Added convenience helper.
  59036. * css/CSSSelector.h: Added decl.
  59037. * dom/Element.cpp:
  59038. (WebCore::Element::shadowPseudoId): Changed to use ElementRareData.
  59039. (WebCore::Element::setShadowPseudoId): Ditto.
  59040. * dom/Element.h: Added decls.
  59041. * dom/ElementRareData.h: Added a member to keep shadowPseudoId.
  59042. 2011-06-28 Kenichi Ishibashi <bashi@chromium.org>
  59043. Reviewed by Tony Chang.
  59044. [Chromium] Remove dependencies on harfbuzz from FontPlatformDataLinux and FontLinux
  59045. https://bugs.webkit.org/show_bug.cgi?id=62530
  59046. - Moved codes of FontLinux which depend on harfbuzz APIs to ComplexTextController. Removed Some methods of ComplexTextController(advances() and logClusters()) since they are no longer needed.
  59047. - Moved RefCountedHarfbuzzFace from FontPlatformDataLinux to HarfbuzzSkia and renamed it to HarfbuzzFace.
  59048. No new tests because there is no behavior change (The existing tests should cover the changes).
  59049. * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
  59050. (WebCore::ComplexTextController::ComplexTextController): Added arguments so eliminating setter invocations.
  59051. (WebCore::ComplexTextController::setupForRTL): Added.
  59052. (WebCore::ComplexTextController::setupFontForScriptRun): Adopt the change of HarfbuzzFace class.
  59053. (WebCore::ComplexTextController::setGlyphPositions): Use m_item.log_clusters instead of removed method.
  59054. (WebCore::ComplexTextController::glyphIndexForXPositionInScriptRun): Added.
  59055. (WebCore::ComplexTextController::offsetForPosition): Ditto.
  59056. (WebCore::ComplexTextController::selectionRect): Ditto.
  59057. * platform/graphics/chromium/ComplexTextControllerLinux.h:
  59058. (WebCore::ComplexTextController::width):
  59059. * platform/graphics/chromium/FontLinux.cpp: Removed truncateFixedPointToInteger().
  59060. (WebCore::Font::drawComplexText): Removed setter invocations of ComplexTextController.
  59061. (WebCore::Font::floatWidthForComplexText): Ditto.
  59062. (WebCore::Font::offsetForPositionForComplexText): Moved harfbuzz dependent code to ComplexTextController.
  59063. (WebCore::Font::selectionRectForComplexText): Ditto.
  59064. * platform/graphics/chromium/FontPlatformDataLinux.cpp:
  59065. (WebCore::FontPlatformData::harfbuzzFace): Wrapped up HB_FaceRec in HarfbuzzFace class.
  59066. * platform/graphics/chromium/FontPlatformDataLinux.h: Moved RefCountedHarfbuzzFace class and renamed to HarfbuzzFace.
  59067. * platform/graphics/chromium/HarfbuzzSkia.cpp:
  59068. (WebCore::allocHarfbuzzFont): Moved from ComplexTextControllerLinux.cpp.
  59069. (WebCore::HarfbuzzFace::HarfbuzzFace): Added.
  59070. (WebCore::HarfbuzzFace::~HarfbuzzFace): Added.
  59071. * platform/graphics/chromium/HarfbuzzSkia.h:
  59072. (WebCore::HarfbuzzFace::create): Added.
  59073. (WebCore::HarfbuzzFace::face): Added.
  59074. * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
  59075. (WebCore::substituteWithVerticalGlyphs): Adopt the change of HarfbuzzFace class.
  59076. 2011-06-28 Roland Steiner <rolandsteiner@chromium.org>
  59077. Reviewed by Eric Seidel.
  59078. Bug 55930 - (CVE-2011-1440) Incorrect handling of 'display:' property within nested <ruby> tags
  59079. https://bugs.webkit.org/show_bug.cgi?id=55930
  59080. Don't set style type BEFORE/AFTER on anonymous wrapper block.
  59081. Rather, check style type on generated wrapped child.
  59082. Tests: fast/ruby/generated-after-counter-doesnt-crash.html
  59083. fast/ruby/generated-before-and-after-counter-doesnt-crash.html
  59084. fast/ruby/generated-before-counter-doesnt-crash.html
  59085. * rendering/RenderRuby.cpp:
  59086. (WebCore::isAnonymousRubyInlineBlock):
  59087. (WebCore::isRubyBeforeBlock):
  59088. (WebCore::isRubyAfterBlock):
  59089. (WebCore::rubyBeforeBlock):
  59090. (WebCore::rubyAfterBlock):
  59091. (WebCore::createAnonymousRubyInlineBlock):
  59092. (WebCore::RenderRubyAsInline::addChild):
  59093. (WebCore::RenderRubyAsBlock::addChild):
  59094. 2011-06-28 Emil A Eklund <eae@chromium.org>
  59095. Reviewed by Eric Seidel.
  59096. Switch RenderLayer position/size to to new layout types
  59097. https://bugs.webkit.org/show_bug.cgi?id=63578
  59098. Switch location and size methods for RenderLayer over to the new layout unit abstraction.
  59099. No new tests, no functionality changes.
  59100. * rendering/RenderLayer.cpp:
  59101. (WebCore::RenderLayer::resize):
  59102. (WebCore::RenderLayer::visibleHeight):
  59103. (WebCore::RenderLayer::visibleWidth):
  59104. (WebCore::RenderLayer::offsetFromResizeCorner):
  59105. * rendering/RenderLayer.h:
  59106. (WebCore::RenderLayer::location):
  59107. (WebCore::RenderLayer::setLocation):
  59108. (WebCore::RenderLayer::size):
  59109. (WebCore::RenderLayer::setSize):
  59110. (WebCore::RenderLayer::rect):
  59111. (WebCore::RenderLayer::renderBoxLocation):
  59112. (WebCore::RenderLayer::renderBoxX):
  59113. (WebCore::RenderLayer::renderBoxY):
  59114. * rendering/RenderListBox.cpp:
  59115. (WebCore::RenderListBox::visibleHeight):
  59116. (WebCore::RenderListBox::visibleWidth):
  59117. * rendering/RenderListBox.h:
  59118. 2011-06-28 Levi Weintraub <leviw@chromium.org>
  59119. Reviewed by Eric Seidel.
  59120. Switch paintObject and paintReplaced to new layout types
  59121. https://bugs.webkit.org/show_bug.cgi?id=63585
  59122. Switching paintObject and paintReplaced to layout type abstractions from more integral types.
  59123. No new tests as this is just moving to an abstraction.
  59124. * rendering/RenderBlock.cpp:
  59125. (WebCore::RenderBlock::paintObject):
  59126. * rendering/RenderBlock.h:
  59127. * rendering/RenderBox.h:
  59128. (WebCore::RenderBox::paintObject):
  59129. * rendering/RenderEmbeddedObject.cpp:
  59130. (WebCore::RenderEmbeddedObject::paintReplaced):
  59131. * rendering/RenderEmbeddedObject.h:
  59132. * rendering/RenderFileUploadControl.cpp:
  59133. (WebCore::RenderFileUploadControl::paintObject):
  59134. * rendering/RenderFileUploadControl.h:
  59135. * rendering/RenderHTMLCanvas.cpp:
  59136. (WebCore::RenderHTMLCanvas::paintReplaced):
  59137. * rendering/RenderHTMLCanvas.h:
  59138. * rendering/RenderImage.cpp:
  59139. (WebCore::RenderImage::paintReplaced):
  59140. * rendering/RenderImage.h:
  59141. * rendering/RenderListBox.cpp:
  59142. (WebCore::RenderListBox::paintObject):
  59143. * rendering/RenderListBox.h:
  59144. * rendering/RenderReplaced.h:
  59145. (WebCore::RenderReplaced::paintReplaced):
  59146. * rendering/RenderTable.cpp:
  59147. (WebCore::RenderTable::paintObject):
  59148. * rendering/RenderTable.h:
  59149. * rendering/RenderTableSection.cpp:
  59150. (WebCore::RenderTableSection::paintObject):
  59151. * rendering/RenderTableSection.h:
  59152. * rendering/RenderTextControl.cpp:
  59153. (WebCore::RenderTextControl::paintObject):
  59154. * rendering/RenderTextControl.h:
  59155. * rendering/RenderVideo.cpp:
  59156. (WebCore::RenderVideo::paintReplaced):
  59157. * rendering/RenderVideo.h:
  59158. 2011-06-28 Adam Langley <agl@chromium.org>
  59159. Reviewed by Adam Barth.
  59160. Skip cache validation on back with HTTPS.
  59161. https://bugs.webkit.org/show_bug.cgi?id=63537
  59162. For back navigations over HTTP, WebKit sets a flag to use cached data
  59163. irrespective of whether it has expired. However, this isn't currently
  59164. done for HTTPS.
  59165. The logic in question was added in
  59166. https://bugs.webkit.org/show_bug.cgi?id=33993 and appears to have been
  59167. precautionary. However, both Firefox and IE will use this back
  59168. navigation trick for HTTPS as well and so we should probably behave
  59169. likewise.
  59170. Test: http/tests/cache/history-only-cached-subresource-loads-max-age-https.html
  59171. * loader/FrameLoader.cpp:
  59172. (WebCore::FrameLoader::addExtraFieldsToRequest):
  59173. 2011-06-28 Dimitri Glazkov <dglazkov@chromium.org>
  59174. Reviewed by Adam Barth.
  59175. Remove errant isShadowBoundary on ShadowRoot.
  59176. https://bugs.webkit.org/show_bug.cgi?id=63588
  59177. Removing dead code, no tests for that.
  59178. * dom/ShadowRoot.h: Removed a function that's no longer used.
  59179. 2011-06-28 Zeng Huiqing <huiqing.zeng@intel.com>
  59180. Reviewed by Kenneth Russell.
  59181. [chromium]Optimize GraphicsLayerChromium::setChildren()
  59182. https://bugs.webkit.org/show_bug.cgi?id=62837
  59183. No new tests.
  59184. * platform/graphics/chromium/GraphicsLayerChromium.cpp:
  59185. (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
  59186. (WebCore::GraphicsLayerChromium::setChildren):
  59187. (WebCore::GraphicsLayerChromium::addChild):
  59188. * platform/graphics/chromium/GraphicsLayerChromium.h:
  59189. 2011-06-28 Levi Weintraub <leviw@chromium.org>
  59190. Reviewed by Eric Seidel.
  59191. Switch paintBoxShadow and paintBoxDecorations to new layout types
  59192. https://bugs.webkit.org/show_bug.cgi?id=63577
  59193. Switching paintBoxShadow and paintBoxDecorations to layout type abstraction
  59194. from more integral types.
  59195. No new tests as this is just moving to an abstraction.
  59196. * rendering/InlineFlowBox.cpp:
  59197. (WebCore::InlineFlowBox::paintBoxShadow):
  59198. (WebCore::InlineFlowBox::paintBoxDecorations):
  59199. * rendering/InlineFlowBox.h:
  59200. * rendering/RenderBox.cpp:
  59201. (WebCore::RenderBox::paintBoxDecorations):
  59202. * rendering/RenderBox.h:
  59203. * rendering/RenderBoxModelObject.cpp:
  59204. (WebCore::RenderBoxModelObject::paintBoxShadow):
  59205. * rendering/RenderBoxModelObject.h:
  59206. * rendering/RenderFieldset.cpp:
  59207. (WebCore::RenderFieldset::paintBoxDecorations):
  59208. * rendering/RenderFieldset.h:
  59209. * rendering/RenderTable.cpp:
  59210. (WebCore::RenderTable::paintBoxDecorations):
  59211. * rendering/RenderTable.h:
  59212. * rendering/RenderTableCell.cpp:
  59213. (WebCore::RenderTableCell::paintBoxDecorations):
  59214. * rendering/RenderTableCell.h:
  59215. * rendering/RenderView.cpp:
  59216. (WebCore::RenderView::paintBoxDecorations):
  59217. * rendering/RenderView.h:
  59218. 2011-06-28 Emil A Eklund <eae@chromium.org>
  59219. Reviewed by Eric Seidel.
  59220. Switch RenderBox position/size to to new layout types
  59221. https://bugs.webkit.org/show_bug.cgi?id=63571
  59222. Switch location and size methods for RenderBox over to the new layout unit abstraction.
  59223. No new tests, no functionality changes.
  59224. * rendering/RenderBox.cpp:
  59225. * rendering/RenderBox.h:
  59226. * rendering/RenderBoxModelObject.cpp:
  59227. * rendering/RenderBoxModelObject.h:
  59228. * rendering/RenderInline.cpp:
  59229. * rendering/RenderInline.h:
  59230. * rendering/RenderVideo.cpp:
  59231. * rendering/RenderVideo.h:
  59232. 2011-06-28 Sheriff Bot <webkit.review.bot@gmail.com>
  59233. Unreviewed, rolling out r89968.
  59234. http://trac.webkit.org/changeset/89968
  59235. https://bugs.webkit.org/show_bug.cgi?id=63581
  59236. Broke chromium windows compile (Requested by jamesr on
  59237. #webkit).
  59238. * WebCore.gyp/WebCore.gyp:
  59239. * loader/cache/CachedFont.cpp:
  59240. * platform/chromium/DragImageRef.h:
  59241. * platform/graphics/FloatPoint.h:
  59242. * platform/graphics/FloatRect.h:
  59243. * platform/graphics/FloatSize.h:
  59244. * platform/graphics/FontPlatformData.h:
  59245. (WebCore::FontPlatformData::hash):
  59246. * platform/graphics/GlyphBuffer.h:
  59247. (WebCore::GlyphBuffer::advanceAt):
  59248. (WebCore::GlyphBuffer::add):
  59249. (WebCore::GlyphBuffer::expandLastAdvance):
  59250. * platform/graphics/IntPoint.h:
  59251. * platform/graphics/IntRect.h:
  59252. * platform/graphics/IntSize.h:
  59253. * platform/graphics/SimpleFontData.h:
  59254. * platform/graphics/cg/FloatPointCG.cpp:
  59255. * platform/graphics/cg/FloatRectCG.cpp:
  59256. * platform/graphics/cg/FloatSizeCG.cpp:
  59257. * platform/graphics/cg/IntPointCG.cpp:
  59258. * platform/graphics/cg/IntRectCG.cpp:
  59259. * platform/graphics/cg/IntSizeCG.cpp:
  59260. * platform/graphics/mac/FontCustomPlatformData.cpp:
  59261. (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
  59262. (WebCore::createFontCustomPlatformData):
  59263. * platform/graphics/mac/FontCustomPlatformData.h:
  59264. (WebCore::FontCustomPlatformData::FontCustomPlatformData):
  59265. 2011-06-28 Levi Weintraub <leviw@chromium.org>
  59266. Reviewed by Eric Seidel.
  59267. Switch PaintMask* to new layout types
  59268. https://bugs.webkit.org/show_bug.cgi?id=63576
  59269. Switching paintMask* to layout type abstraction from more integral types.
  59270. No new tests as this is just moving to an abstraction.
  59271. * rendering/InlineFlowBox.cpp:
  59272. (WebCore::InlineFlowBox::paintMask):
  59273. * rendering/InlineFlowBox.h:
  59274. * rendering/RenderBox.cpp:
  59275. (WebCore::RenderBox::paintMask):
  59276. (WebCore::RenderBox::paintMaskImages):
  59277. * rendering/RenderBox.h:
  59278. * rendering/RenderFieldset.cpp:
  59279. (WebCore::RenderFieldset::paintMask):
  59280. * rendering/RenderFieldset.h:
  59281. * rendering/RenderTable.cpp:
  59282. (WebCore::RenderTable::paintMask):
  59283. * rendering/RenderTable.h:
  59284. * rendering/RenderTableCell.cpp:
  59285. (WebCore::RenderTableCell::paintMask):
  59286. * rendering/RenderTableCell.h:
  59287. 2011-06-28 Levi Weintraub <leviw@chromium.org>
  59288. Reviewed by Eric Seidel.
  59289. Switch paintFillLayer* to new layout types
  59290. https://bugs.webkit.org/show_bug.cgi?id=63570
  59291. Switching painFillLayer* to layout type abstraction from more integral types.
  59292. No new tests as this is just moving to an abstraction.
  59293. * rendering/InlineFlowBox.cpp:
  59294. (WebCore::InlineFlowBox::paintFillLayers):
  59295. (WebCore::InlineFlowBox::paintFillLayer):
  59296. * rendering/InlineFlowBox.h:
  59297. * rendering/RenderBox.cpp:
  59298. (WebCore::RenderBox::paintFillLayers):
  59299. (WebCore::RenderBox::paintFillLayer):
  59300. * rendering/RenderBox.h:
  59301. * rendering/RenderBoxModelObject.cpp:
  59302. (WebCore::RenderBoxModelObject::paintFillLayerExtended):
  59303. * rendering/RenderBoxModelObject.h:
  59304. * rendering/RenderObject.h:
  59305. 2011-06-28 Luke Macpherson <macpherson@chromium.org>
  59306. Reviewed by Eric Seidel.
  59307. Use appropriate macro for CSSPropertyWebkitAppearance in CSSStyleSelector::applyProperty()
  59308. https://bugs.webkit.org/show_bug.cgi?id=63197
  59309. No new tests / no functionality changed.
  59310. * css/CSSStyleSelector.cpp:
  59311. (WebCore::CSSStyleSelector::applyProperty):
  59312. Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro and delete duplicate code.
  59313. 2011-06-28 Cary Clark <caryclark@google.com>
  59314. Reviewed by James Robinson.
  59315. Use Skia if Skia on Mac Chrome is enabled
  59316. https://bugs.webkit.org/show_bug.cgi?id=62999
  59317. No new tests. This does not affect existing
  59318. functionality.
  59319. * WebCore.gyp/WebCore.gyp:
  59320. Include Skia and related files and exclude CG
  59321. and related files when building Chromium for Skia
  59322. on the Mac.
  59323. * loader/cache/CachedFont.cpp:
  59324. Rename CHROME to CHROMIUM.
  59325. * platform/chromium/DragImageRef.h:
  59326. * platform/graphics/FloatPoint.h:
  59327. * platform/graphics/FloatRect.h:
  59328. * platform/graphics/FloatSize.h:
  59329. * platform/graphics/FontPlatformData.h:
  59330. (WebCore::FontPlatformData::hash):
  59331. * platform/graphics/GlyphBuffer.h:
  59332. (WebCore::GlyphBuffer::advanceAt):
  59333. (WebCore::GlyphBuffer::add):
  59334. (WebCore::GlyphBuffer::expandLastAdvance):
  59335. * platform/graphics/IntPoint.h:
  59336. * platform/graphics/IntRect.h:
  59337. * platform/graphics/IntSize.h:
  59338. * platform/graphics/SimpleFontData.h:
  59339. * platform/graphics/cg/FloatPointCG.cpp:
  59340. * platform/graphics/cg/FloatRectCG.cpp:
  59341. * platform/graphics/cg/FloatSizeCG.cpp:
  59342. * platform/graphics/cg/IntPointCG.cpp:
  59343. * platform/graphics/cg/IntRectCG.cpp:
  59344. * platform/graphics/cg/IntSizeCG.cpp:
  59345. * platform/graphics/mac/FontCustomPlatformData.cpp:
  59346. (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
  59347. (WebCore::createFontCustomPlatformData):
  59348. * platform/graphics/mac/FontCustomPlatformData.h:
  59349. (WebCore::FontCustomPlatformData::FontCustomPlatformData):
  59350. Ditto.
  59351. 2011-06-28 Ryosuke Niwa <rniwa@webkit.org>
  59352. Reviewed by Darin Adler.
  59353. Stop instantiating Position with PositionIsOffsetInAnchor in various files
  59354. https://bugs.webkit.org/show_bug.cgi?id=63384
  59355. Refactoring.
  59356. Removed many if conditions that compared the anchor type to Position::PositionIsOffsetInAnchor
  59357. because there were also checking that containerNode is a text node.
  59358. Also added Position::containerText() to avoid manually casting containerNode().
  59359. * dom/Position.cpp:
  59360. (WebCore::Position::Position): Added an assertion to ensure BeforeChildren/AfterChildren
  59361. anchor type won't be used for a node whose contents is ignored by editing.
  59362. (WebCore::Position::containerText): Added.
  59363. * dom/Position.h:
  59364. * editing/ApplyBlockElementCommand.cpp:
  59365. (WebCore::isNewLineAtPosition): Removed a redundant comparison of anchor type.
  59366. (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): Since containerNode
  59367. is always a text node when renderStyleOfEnclosingTextNode returns a render style, use new Position
  59368. constructor that takes Text* and offset.
  59369. (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): Removed redundant
  59370. comparison of anchor type and use new Position constructor that takes Text* and offset.
  59371. * editing/ApplyStyleCommand.cpp:
  59372. (WebCore::ApplyStyleCommand::splitTextAtStart): Replaced an assertion that compared anchor type by
  59373. an assertion that the container node is a text node; use new constructor.
  59374. (WebCore::ApplyStyleCommand::splitTextAtEnd): Ditto; also added early exits in the case script
  59375. modified DOM.
  59376. (WebCore::ApplyStyleCommand::splitTextElementAtStart): Ditto.
  59377. (WebCore::ApplyStyleCommand::splitTextElementAtEnd): Ditto.
  59378. (WebCore::ApplyStyleCommand::joinChildTextNodes): Use new constructor.
  59379. * editing/CompositeEditCommand.cpp:
  59380. (WebCore::Editor::replaceSelectedTextInNode): Calls containerText instead of manually casting containerNode.
  59381. * editing/Editor.cpp:
  59382. (WebCore::Editor::canDeleteRange): Call Range::startPosition instead of manually instantiating Position
  59383. by calling startContainer and startOffset.
  59384. * editing/FrameSelection.cpp:
  59385. (WebCore::FrameSelection::setSelectedRange): Ditto.
  59386. * editing/InsertTextCommand.cpp:
  59387. (WebCore::InsertTextCommand::input): Calls containerText instead of manually casting containerNode.
  59388. * editing/ReplaceSelectionCommand.cpp:
  59389. (WebCore::ReplaceSelectionCommand::doApply): Calls containerText instead of manually casting containerNode.
  59390. * editing/VisiblePosition.cpp:
  59391. (WebCore::VisiblePosition::characterAfter): Removed a redundant anchor type comparison.
  59392. (WebCore::startVisiblePosition): Call Range::startPosition instead of startContainer and startOffset.
  59393. (WebCore::endVisiblePosition): Call Range::endPosition instead of endContainer and endOffset.
  59394. * editing/htmlediting.cpp:
  59395. (WebCore::firstInSpecialElement): Call containerNode() to address <rdar://problem/5027702>.
  59396. (WebCore::lastInSpecialElement): Ditto; use new constructor.
  59397. * editing/visible_units.cpp:
  59398. (WebCore::endPositionForLine): Use new constructor.
  59399. (WebCore::startOfParagraph): Ditto.
  59400. (WebCore::endOfParagraph): Ditto.
  59401. 2011-06-28 Rob Buis <rbuis@rim.com>
  59402. Reviewed by Nikolas Zimmermann.
  59403. SVG1.1SE test text-tref-03-b.svg fails
  59404. https://bugs.webkit.org/show_bug.cgi?id=63390
  59405. Support tref on forward referenced content by listening to DOMSubtreeModified events. This also
  59406. allows updating after modifications in the referenced content subtree.
  59407. Tests: svg/W3C-SVG-1.1-SE/text-tref-03-b.svg
  59408. svg/custom/text-tref-03-b-change-href-dom.svg
  59409. svg/custom/text-tref-03-b-change-href.svg
  59410. svg/custom/text-tref-03-b-dynamic.svg
  59411. svg/custom/text-tref-03-b-dynamic2.svg
  59412. svg/custom/text-tref-03-b-referenced-element-removal.svg
  59413. svg/custom/text-tref-03-b-tref-removal.svg
  59414. * svg/SVGTRefElement.cpp:
  59415. (WebCore::SubtreeModificationEventListener::create):
  59416. (WebCore::SubtreeModificationEventListener::cast):
  59417. (WebCore::SubtreeModificationEventListener::removeFromTarget):
  59418. (WebCore::SubtreeModificationEventListener::SubtreeModificationEventListener):
  59419. (WebCore::SubtreeModificationEventListener::operator==):
  59420. (WebCore::SubtreeModificationEventListener::handleEvent):
  59421. (WebCore::SVGTRefElement::updateReferencedText):
  59422. (WebCore::SVGTRefElement::parseMappedAttribute):
  59423. (WebCore::SVGTRefElement::svgAttributeChanged):
  59424. (WebCore::SVGTRefElement::buildPendingResource):
  59425. (WebCore::SVGTRefElement::removedFromDocument):
  59426. * svg/SVGTRefElement.h:
  59427. 2011-06-28 Abhishek Arya <inferno@chromium.org>
  59428. Reviewed by Anders Carlsson.
  59429. Split the string creation into a local (while creating text runs)
  59430. so that it is not destroyed prematurely.
  59431. https://bugs.webkit.org/show_bug.cgi?id=63543
  59432. Run fast/forms/text-control-intrinsic-widths.html under valgrind/ASAN.
  59433. * rendering/RenderFileUploadControl.cpp:
  59434. (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
  59435. this one is just done for caution, in case, we don't do the same
  59436. mistake when adding legacy rounding hacks option.
  59437. * rendering/RenderTextControl.cpp:
  59438. (WebCore::RenderTextControl::getAvgCharWidth):
  59439. 2011-06-28 Greg Simon <gregsimon@chromium.org>
  59440. Reviewed by Dimitri Glazkov.
  59441. Migrate SQLite backing store to LevelDB backing store for Indexeddb.
  59442. https://bugs.webkit.org/show_bug.cgi?id=62780
  59443. * storage/IDBFactoryBackendImpl.cpp:
  59444. (WebCore::computeFileIdentifier):
  59445. (WebCore::computeUniqueIdentifier):
  59446. (WebCore::IDBFactoryBackendImpl::open):
  59447. (WebCore::migrateObjectStores):
  59448. (WebCore::IDBFactoryBackendImpl::migrateFromSQLiteToLevelDB):
  59449. * storage/IDBLevelDBBackingStore.cpp:
  59450. (WebCore::IDBLevelDBBackingStore::backingStoreExists):
  59451. * storage/IDBLevelDBBackingStore.h:
  59452. * storage/IDBObjectStoreBackendImpl.cpp:
  59453. (WebCore::IDBObjectStoreBackendImpl::populateIndex):
  59454. * storage/IDBObjectStoreBackendImpl.h:
  59455. * storage/IDBSQLiteBackingStore.cpp:
  59456. (WebCore::IDBSQLiteBackingStore::backingStoreExists):
  59457. * storage/IDBSQLiteBackingStore.h:
  59458. 2011-06-28 Levi Weintraub <leviw@chromium.org>
  59459. Reviewed by Darin Adler.
  59460. Create intermediate classes as a path towards getting off of pixel offsets
  59461. https://bugs.webkit.org/show_bug.cgi?id=61896
  59462. Creating three intermediate typedefs to aid in moving layout and hit testing from integers
  59463. to floats. We'll transition the render tree over to these intermediate types and add
  59464. infrastructure to support the new types behind USE(FLOAT_LAYOUT_OFFSETS). This allows the ultimate
  59465. changeover to be easier.
  59466. Switching LayoutState over to this abstraction to verify it works correctly.
  59467. No new tests since this is creating a new abstraction, not changing current behavior.
  59468. * GNUmakefile.list.am:
  59469. * WebCore.gypi:
  59470. * WebCore.pro:
  59471. * WebCore.vcproj/WebCore.vcproj:
  59472. * WebCore.xcodeproj/project.pbxproj:
  59473. * rendering/LayoutState.cpp:
  59474. (WebCore::LayoutState::LayoutState):
  59475. (WebCore::LayoutState::pageLogicalOffset):
  59476. (WebCore::LayoutState::addForcedColumnBreak):
  59477. * rendering/LayoutState.h:
  59478. * rendering/LayoutTypes.h: Added.
  59479. 2011-06-28 Jeff Miller <jeffm@apple.com>
  59480. Add fullscreen.css and fullscreenQuickTime.css to the WebCore Visual Studio project for convenience.
  59481. Looks like Visual Studio also re-sorted one more file since my last checkin.
  59482. * WebCore.vcproj/WebCore.vcproj:
  59483. 2011-06-28 Jeff Miller <jeffm@apple.com>
  59484. Re-sort the WebCore project with Visual Studio after recent changes that I assume were done by manually editing the XML.
  59485. * WebCore.vcproj/WebCore.vcproj:
  59486. 2011-06-28 Joone Hur <joone.hur@collabora.co.uk>
  59487. Reviewed by Martin Robinson.
  59488. [GTK] Rename 3D transforms to 3D rendering
  59489. https://bugs.webkit.org/show_bug.cgi?id=63508
  59490. This patch allows to include ENABLE_3D_RENDERING to build WebKitGtk+.
  59491. * GNUmakefile.am: Add ENABLE_3D_RENDERING
  59492. 2011-06-22 Pavel Podivilov <podivilov@chromium.org>
  59493. Reviewed by Yury Semikhatsky.
  59494. Web Inspector: use column numbers when linking to script location in timeline and console.
  59495. https://bugs.webkit.org/show_bug.cgi?id=63126
  59496. * inspector/front-end/ConsoleView.js:
  59497. (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
  59498. * inspector/front-end/TimelinePanel.js:
  59499. (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
  59500. (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
  59501. 2011-06-28 Joone Hur <joone.hur@collabora.co.uk>
  59502. Reviewed by Martin Robinson.
  59503. [GTK] Allow to build WebKitGtk+ with accelerated compositing
  59504. https://bugs.webkit.org/show_bug.cgi?id=63404
  59505. WebKitGtk+ needs to implement accelerated compositing for running CSS3 3D transforms
  59506. and animation through GPU acceleration. We could implement GraphicsLayer using Clutter.
  59507. * GNUmakefile.list.am:
  59508. * platform/graphics/clutter/GraphicsLayerClutter.cpp: Added.
  59509. (WebCore::GraphicsLayer::create): Not implemented yet.
  59510. (WebCore::GraphicsLayerClutter::GraphicsLayerClutter):
  59511. (WebCore::GraphicsLayerClutter::~GraphicsLayerClutter):
  59512. (WebCore::GraphicsLayerClutter::setNeedsDisplay): Ditto.
  59513. (WebCore::GraphicsLayerClutter::setNeedsDisplayInRect): Ditto.
  59514. * platform/graphics/clutter/GraphicsLayerClutter.h: Added.
  59515. 2011-06-28 Dan Bernstein <mitz@apple.com>
  59516. Reviewed by Darin Adler.
  59517. REGRESSION (r89733): fast/text/zero-font-size.html is failing on Leopard
  59518. https://bugs.webkit.org/show_bug.cgi?id=63512
  59519. * platform/graphics/mac/SimpleFontDataMac.mm:
  59520. (WebCore::SimpleFontData::platformWidthForGlyph): Initialize the advance local variable, because
  59521. on Leopard wkGetGlyphTransformedAdvances can return successfully yet not update the variable when
  59522. the font size is 0. Presumably, r89733 exposed this by changing the values put on the stack just
  59523. before this function is called.
  59524. 2011-06-27 Alexander Pavlov <apavlov@chromium.org>
  59525. Reviewed by Pavel Feldman.
  59526. Web Inspector: Change the inspector model API and backend to allow CSS pseudoclass inspection
  59527. https://bugs.webkit.org/show_bug.cgi?id=63446
  59528. * inspector/Inspector.json:
  59529. * inspector/InspectorCSSAgent.cpp:
  59530. (WebCore::computePseudoClassMask):
  59531. (WebCore::InspectorCSSAgent::getStylesForNode):
  59532. * inspector/InspectorCSSAgent.h:
  59533. * inspector/front-end/AuditRules.js:
  59534. (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
  59535. * inspector/front-end/CSSStyleModel.js:
  59536. (WebInspector.CSSStyleModel.prototype.getStylesAsync):
  59537. * inspector/front-end/StylesSidebarPane.js:
  59538. (WebInspector.StylesSidebarPane.prototype.update):
  59539. 2011-06-28 Kent Tamura <tkent@chromium.org>
  59540. Fix a build error on Mac by r89907.
  59541. * svg/animation/SVGSMILElement.cpp:
  59542. (WebCore::SVGSMILElement::endListChanged):
  59543. 2011-06-27 Alexander Pavlov <apavlov@chromium.org>
  59544. Reviewed by Kent Tamura.
  59545. [Chromium] SELECT or autofill popup is trimmed by screen edge on Windows
  59546. https://bugs.webkit.org/show_bug.cgi?id=63438
  59547. If the popup is calculated to be trimmed by a screen edge, an attempt is made
  59548. to alter its vertical edge alignment (set to the right edge for LTR or to the left edge for RTL)
  59549. to see if the trimmed portion becomes smaller than that with the original layout.
  59550. The change involves remembering the original frameRect for the popup and restoring it in refresh().
  59551. This is due to the fact that the frameRect originally set in showInRect() is overwritten
  59552. by layoutAndGetRTLOffset(), which breaks the originally requested popup container layout metrics.
  59553. The max width is reset on every layoutAndCalculateWidgetRect(), as it can be constrained by the screen edge,
  59554. and thus should be re-checked every time the popup is displayed, in case the browser window has been moved.
  59555. Tests: manual-tests/popup-width-restriction-within-screen.html partly covers the fix (should not regress).
  59556. Other than that, there is no way to unit-test the platform-specific native code.
  59557. * platform/chromium/PopupMenuChromium.cpp:
  59558. (WebCore::PopupListBox::setMaxWidth): Added. Avoid duplicate popup content layouts (in contrast with setMaxWidthAndLayout()).
  59559. (WebCore::PopupListBox::PopupListBox):
  59560. (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Attempt a left-right popup alignment inversion
  59561. to minimize the trimmed content. Also restore a default max popup width.
  59562. (WebCore::PopupContainer::layoutAndGetRTLOffset): Always return the popup listbox offset for the RTL (right alignment) case.
  59563. The method rename is due to the return value semantics change.
  59564. (WebCore::PopupContainer::showInRect): Store the originally requested frameRect for the popup.
  59565. (WebCore::PopupContainer::refresh): Restore the original popup frameRect to avoid layout artifacts on refresh.
  59566. (WebCore::PopupContainer::isRTL): This check should be made by the layoutAndGetRTLOffset() clients.
  59567. * platform/chromium/PopupMenuChromium.h:
  59568. 2011-06-28 Kentaro Hara <haraken@google.com>
  59569. Reviewed by Kent Tamura.
  59570. Allow spaces between e-mail addresses in 'email' input type.
  59571. https://bugs.webkit.org/show_bug.cgi?id=55987
  59572. Allowed spaces between e-mail addresses in 'email' input type,
  59573. e.g. ' a@p.com , b@p.com ' is a valid value. Implemented the
  59574. value sanitization algorithm for an e-mail value. Added more unit
  59575. tests that check the e-mail value parser.
  59576. Test: fast/forms/ValidityState-typeMismatch-email.html
  59577. * html/EmailInputType.cpp:
  59578. (WebCore::EmailInputType::typeMismatchFor):
  59579. (WebCore::EmailInputType::sanitizeValue):
  59580. * html/EmailInputType.h:
  59581. * html/parser/HTMLParserIdioms.cpp:
  59582. (WebCore::stripHTMLLineBreaks):
  59583. * html/parser/HTMLParserIdioms.h:
  59584. (WebCore::isHTMLLineBreak):
  59585. 2011-06-28 Kent Tamura <tkent@chromium.org>
  59586. Reviewed by Hajime Morita.
  59587. Refactor RenderTextControl::text().
  59588. https://bugs.webkit.org/show_bug.cgi?id=63519
  59589. No new tests because this is just a refactoring.
  59590. * rendering/RenderTextControl.cpp:
  59591. (WebCore::RenderTextControl::setInnerTextValue):
  59592. Resuce the number of text() calls.
  59593. (WebCore::finishText):
  59594. - Use StringBuilder.
  59595. - Make this a static function.
  59596. This function doesn't access anything of RenderTextControl.
  59597. (WebCore::RenderTextControl::text):
  59598. Use emptyString() and StringBuilder.
  59599. (WebCore::RenderTextControl::textWithHardLineBreaks): ditto.
  59600. * rendering/RenderTextControl.h: Remove finishText().
  59601. 2011-06-28 Yury Semikhatsky <yurys@chromium.org>
  59602. Reviewed by Pavel Feldman.
  59603. Web Inspector: console.group messages should never be coalesced
  59604. https://bugs.webkit.org/show_bug.cgi?id=63521
  59605. * inspector/InspectorConsoleAgent.cpp:
  59606. (WebCore::isGroupMessage):
  59607. (WebCore::InspectorConsoleAgent::addConsoleMessage):
  59608. 2011-06-28 Yury Semikhatsky <yurys@chromium.org>
  59609. Reviewed by Pavel Feldman.
  59610. Web Inspector: console group boundaries should be more distinct in UI
  59611. https://bugs.webkit.org/show_bug.cgi?id=63455
  59612. Show grey bracket to on the left side of a console group message to highlight
  59613. the group extent.
  59614. * inspector/front-end/ConsoleView.js:
  59615. (WebInspector.ConsoleGroup):
  59616. * inspector/front-end/inspector.css:
  59617. (#console-prompt):
  59618. (.console-message, .console-user-command):
  59619. (.console-message::before, .console-user-command::before, #console-prompt::before, .console-group-title::before):
  59620. (.console-group-title::before):
  59621. (.console-group):
  59622. (.console-group-bracket):
  59623. (.console-group.collapsed > .console-group-bracket):
  59624. 2011-06-28 Kent Tamura <tkent@chromium.org>
  59625. Reviewed by Hajime Morita.
  59626. Use RefPtr for the HTMLElement data members of TextFieldInptType
  59627. and SearchInputType.
  59628. https://bugs.webkit.org/show_bug.cgi?id=63511
  59629. No new tests because of no behavior change.
  59630. * html/SearchInputType.cpp:
  59631. (WebCore::SearchInputType::SearchInputType):
  59632. No need to initialize the element members explicitly because
  59633. RefPtr constructor works well.
  59634. (WebCore::SearchInputType::createShadowSubtree):
  59635. Substitute an element to a data member, and don't call RefPtr<>::release().
  59636. (WebCore::SearchInputType::innerBlockElement):
  59637. Moved from the header file, and adjustment for RefPtr<>.
  59638. (WebCore::SearchInputType::resultsButtonElement): ditto.
  59639. (WebCore::SearchInputType::cancelButtonElement): ditto.
  59640. (WebCore::SearchInputType::destroyShadowSubtree):
  59641. Adjustment for RefPtr<>.
  59642. * html/SearchInputType.h:
  59643. - Move accessor functions to the cpp file because they are virtual.
  59644. - Change element data member types: HTMLElement* -> RefPtr<HTMLElement>.
  59645. * html/TextFieldInputType.cpp:
  59646. (WebCore::TextFieldInputType::TextFieldInputType):
  59647. No need to initialize the element members explicitly because
  59648. RefPtr constructor works well.
  59649. (WebCore::TextFieldInputType::~TextFieldInputType):
  59650. Explicityly defines the destructor in the cpp file to avoid to
  59651. make it implicitly in the header file. If the destructor was made
  59652. in the header file, we would need to include HTMLElement.h in the
  59653. header file.
  59654. (WebCore::TextFieldInputType::createShadowSubtree):
  59655. - Don't call RenderTheme::themeForPage().
  59656. - Substitute an element to a data member, and don't call RefPtr<>::release().
  59657. (WebCore::TextFieldInputType::setInnerTextElement):
  59658. Moved from the header file to avoid to include HTMLElement.h.
  59659. (WebCore::TextFieldInputType::setSpeechButtonElement): ditto.
  59660. (WebCore::TextFieldInputType::innerTextElement):
  59661. Moved from the header file, and adjustment for RefPtr<>.
  59662. (WebCore::TextFieldInputType::innerSpinButtonElement): ditto.
  59663. (WebCore::TextFieldInputType::speechButtonElement): ditto.
  59664. (WebCore::TextFieldInputType::destroyShadowSubtree):
  59665. Adjustment for RefPtr<>.
  59666. * html/TextFieldInputType.h:
  59667. - Move accessor functions to the cpp file because they are virtual.
  59668. - Change element data member types: HTMLElement* -> RefPtr<HTMLElement>.
  59669. 2011-06-28 Felician Marton <marton.felician.zoltan@stud.u-szeged.hu>
  59670. Reviewed by Nikolas Zimmermann.
  59671. SVG animation flickers when restarting
  59672. https://bugs.webkit.org/show_bug.cgi?id=18450
  59673. Add new parameter to the following methods. The new parameter is the time of adding a "begin" or "end" time to the SVG animation.
  59674. - WebCore::SVGSMILElement::addBeginTime
  59675. - WebCore::SVGSMILElement::beginListChanged
  59676. - WebCore::SVGSMILElement::addEndTime
  59677. - WebCore::SVGSMILElement::endListChanged
  59678. In case of beginTime and beginListChanged it's necessary, because the delay between the event of adding a new begin time
  59679. (in WebCore::SVGAnimationElement::beginElementAt) and the actual processing (in WebCore::SVGSMILElement::endListChanged)
  59680. is significant. In lack of event time we can't decide that we should consider the new time or not.
  59681. If the new begin time is smaller than the event time, we musn't begin the animation, else we shoud do further calculations.
  59682. The following methods just modified for consistency:
  59683. - WebCore::SVGSMILElement::addEndTime
  59684. - WebCore::SVGSMILElement::endListChanged
  59685. No new tests, because currently there is no way to test SVG flickering at zero time.
  59686. * svg/SVGAnimationElement.cpp:
  59687. (WebCore::SVGAnimationElement::beginElementAt):
  59688. (WebCore::SVGAnimationElement::endElementAt):
  59689. * svg/animation/SVGSMILElement.cpp:
  59690. (WebCore::SVGSMILElement::attributeChanged):
  59691. (WebCore::SVGSMILElement::addBeginTime):
  59692. (WebCore::SVGSMILElement::addEndTime):
  59693. (WebCore::SVGSMILElement::beginListChanged):
  59694. (WebCore::SVGSMILElement::endListChanged):
  59695. The body changed:
  59696. - Use new parameter, the time of adding the new begin time.
  59697. - Cancel some incorrect optimalization. We should also do further calculations when elapsed >= m_intervalBegin.
  59698. (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
  59699. (WebCore::SVGSMILElement::handleConditionEvent):
  59700. (WebCore::SVGSMILElement::beginByLinkActivation):
  59701. * svg/animation/SVGSMILElement.h:
  59702. 2011-06-28 Csaba Osztrogonác <ossy@webkit.org>
  59703. Reviewed by Andreas Kling.
  59704. Adding MHTML reading support.
  59705. https://bugs.webkit.org/show_bug.cgi?id=7168
  59706. * features.pri: Disable MHTML on Qt by default in a proper way.
  59707. 2011-06-28 Csaba Osztrogonác <ossy@webkit.org>
  59708. Reviewed by Andreas Kling.
  59709. [Qt] Remove ENABLE_XBL, because there aren't ENABLE(XBL) macros anymore.
  59710. * features.pri:
  59711. 2011-06-27 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  59712. Unreviewed. Fix style error related to wrong include order.
  59713. * platform/graphics/efl/ImageEfl.cpp:
  59714. 2011-06-27 Brian Weinstein <bweinstein@apple.com>
  59715. Fix the WebCore vcproj file after r89851.
  59716. * WebCore.vcproj/WebCore.vcproj:
  59717. 2011-06-27 Joe Wild <joseph.wild@nokia.com>
  59718. Reviewed by Simon Fraser.
  59719. Crash on www.crave.cnet.com in FrameView::windowClipRect()
  59720. https://bugs.webkit.org/show_bug.cgi?id=56393
  59721. Check for a null renderer to fix a crash. This situation can
  59722. arise when external content/plugins is referenced from html
  59723. elements with style="display:none".
  59724. Test: plugins/hidden-iframe-with-swf-plugin.html
  59725. * page/FrameView.cpp:
  59726. (WebCore::FrameView::windowClipRect):
  59727. 2011-06-27 Raymes Khoury <raymes@chromium.org>
  59728. Reviewed by Tony Chang.
  59729. WebCore fails to compile in thumb mode when neon instructions are
  59730. enabled.
  59731. There are two files (FELightingNEON.cpp and FEGaussianBlur.cpp)
  59732. which fail to build when -mthumb is passed to gcc. These contain inline
  59733. assembly for neon instructions on arm. This patch forces the -marm flag
  59734. to be passed when compiling these files to work around this.
  59735. https://bugs.webkit.org/show_bug.cgi?id=62916
  59736. Built WebKit in Chromium and checked that -marm is passed
  59737. only when building these files.
  59738. https://bugs.webkit.org/show_bug.cgi?id=62916
  59739. * WebCore.gyp/WebCore.gyp:
  59740. 2011-06-27 Jay Civelli <jcivelli@chromium.org>
  59741. Reviewed by Darin Fisher.
  59742. Adding binary part support to MHTML.
  59743. https://bugs.webkit.org/show_bug.cgi?id=63310
  59744. * loader/archive/mhtml/MHTMLArchive.cpp:
  59745. (WebCore::MHTMLArchive::generateMHTMLData):
  59746. (WebCore::MHTMLArchive::generateMHTMLDataUsingBinaryEncoding):
  59747. * loader/archive/mhtml/MHTMLArchive.h:
  59748. * loader/archive/mhtml/MHTMLParser.cpp:
  59749. (WebCore::MHTMLParser::parseNextPart):
  59750. * platform/SharedBuffer.cpp:
  59751. (WebCore::SharedBuffer::append):
  59752. * platform/SharedBuffer.h:
  59753. * platform/network/MIMEHeader.cpp:
  59754. (WebCore::MIMEHeader::parseContentTransferEncoding):
  59755. * platform/network/MIMEHeader.h:
  59756. 2011-06-27 Levi Weintraub <leviw@chromium.org>
  59757. Reviewed by Eric Seidel.
  59758. Add support for unicode-bidi:plaintext CSS property
  59759. https://bugs.webkit.org/show_bug.cgi?id=50949
  59760. Adding support for unicode-bidi: plaintext. This involves invoking P2 and P3
  59761. of the Unicode BiDi algorithm on each paragraph of a block with that style.
  59762. This is similar to dir=auto but done per-paragraph instead of per element.
  59763. Test: fast/text/international/unicode-bidi-plaintext.html
  59764. * css/CSSParser.cpp:
  59765. (WebCore::CSSParser::parseValue): Added plaintext.
  59766. * css/CSSPrimitiveValueMappings.h:
  59767. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Ditto.
  59768. (WebCore::CSSPrimitiveValue::operator EUnicodeBidi): Ditto.
  59769. * css/CSSValueKeywords.in: Ditto.
  59770. * html/HTMLElement.cpp:
  59771. (WebCore::unicodeBidiAttributeForDirAuto): Helper to map elements with dir=auto
  59772. to their proper unicode-bidi attribute.
  59773. (WebCore::HTMLElement::parseMappedAttribute): Assign plaintext to pre and textarea
  59774. when dir=auto.
  59775. * platform/text/UnicodeBidi.h: Added plaintext.
  59776. * rendering/RenderBlockLineLayout.cpp:
  59777. (WebCore::determineParagraphDirection): Determines the direction of a paragraph
  59778. based on the first strong character. Stops at first paragraph separator.
  59779. (WebCore::RenderBlock::layoutInlineChildren): Uses determineParagraphDirection
  59780. when in unicode-bidi: plaintext mode (and operating at the block's BidiContext)
  59781. to set each paragraph to the proper base BidiContext.
  59782. (WebCore::RenderBlock::determineStartPosition): Ditto.
  59783. * rendering/style/RenderStyle.h: Gave _unicodebidi another bit to accomodate
  59784. for plaintext.
  59785. 2011-06-27 Alexis Menard <alexis.menard@openbossa.org>
  59786. Reviewed by Darin Adler.
  59787. Use specific headers includes rather than full system headers.
  59788. https://bugs.webkit.org/show_bug.cgi?id=63475
  59789. Use only needed headers rather than system headers.
  59790. No new tests, it's just a little cosmetic change.
  59791. * platform/mac/WebVideoFullscreenController.h:
  59792. * platform/mac/WebVideoFullscreenHUDWindowController.h:
  59793. 2011-06-27 Joseph Pecoraro <joepeck@webkit.org>
  59794. Reviewed by Darin Adler.
  59795. Allow non-main thread text drawing in ICU ports
  59796. https://bugs.webkit.org/show_bug.cgi?id=63482
  59797. Some ports allow multiple threads to draw strings.
  59798. LineBreakIteratorPool is not thread safe and the existing
  59799. ASSERT caught cases where multiple threads were trying
  59800. to access the shared pool. This makes the pool a lazily
  59801. created per-thread pool to allow for thread safe pool use.
  59802. * platform/ThreadGlobalData.h:
  59803. * platform/ThreadGlobalData.cpp:
  59804. (WebCore::ThreadGlobalData::ThreadGlobalData): start with null.
  59805. (WebCore::ThreadGlobalData::lineBreakIteratorPool): lazily create.
  59806. (WebCore::ThreadGlobalData::destroy): delete.
  59807. Manage the lifetime of the per-thread pool instance.
  59808. * platform/text/LineBreakIteratorPoolICU.h:
  59809. (WebCore::LineBreakIteratorPool::sharedPool):
  59810. Use the per-thread pool instance and remove the ASSERT that
  59811. this needs to be on the main thread.
  59812. (WebCore::LineBreakIteratorPool::create):
  59813. Create a PassOwnPtr so we can use OwnPtr on pools.
  59814. (WebCore::LineBreakIteratorPool::LineBreakIteratorPool):
  59815. Private now that there is a public create function.
  59816. 2011-06-27 Joseph Pecoraro <joepeck@webkit.org>
  59817. Reviewed by Darin Adler.
  59818. Extract LineBreakIteratorPool class into its own file
  59819. https://bugs.webkit.org/show_bug.cgi?id=63471
  59820. * GNUmakefile.list.am:
  59821. * WebCore.gypi:
  59822. * WebCore.vcproj/WebCore.vcproj:
  59823. * WebCore.xcodeproj/project.pbxproj:
  59824. Add the new file to builds that used TextBreakIteratorPoolICU.h.
  59825. * platform/text/LineBreakIteratorPoolICU.h: Added.
  59826. (WebCore::LineBreakIteratorPool::sharedPool):
  59827. (WebCore::LineBreakIteratorPool::LineBreakIteratorPool):
  59828. Expose the constructor so it can be used by others.
  59829. * platform/text/TextBreakIteratorICU.cpp:
  59830. Remove the old LineBreakIteratorPool implementation.
  59831. 2011-06-27 Justin Garcia <justin.garcia@apple.com>
  59832. Reviewed by Ryosuke Niwa.
  59833. CompositeEditCommand::inputText(const String& text, bool selectedInsertText) is unused
  59834. https://bugs.webkit.org/show_bug.cgi?id=62921
  59835. * editing/CompositeEditCommand.cpp:
  59836. * editing/CompositeEditCommand.h:
  59837. * editing/InsertTextCommand.cpp:
  59838. (WebCore::InsertTextCommand::input):
  59839. 2011-05-17 Nat Duca <nduca@chromium.org>
  59840. Reviewed by James Robinson.
  59841. [chromium] Implement CCLayerTreeHost and CCLayerTreeHostImpl portions of threaded compositor
  59842. https://bugs.webkit.org/show_bug.cgi?id=58408
  59843. Create CCLayerTreeHost and CCLayerTreeHostImpl, which are the main
  59844. thread and compositor thread halves of a composited view. Communication
  59845. between the two is based on the design used in FileStreamProxy.
  59846. * WebCore.gypi:
  59847. * platform/chromium/TraceEvent.h:
  59848. * platform/graphics/chromium/LayerRendererChromium.cpp:
  59849. (WebCore::LayerRendererChromium::create):
  59850. (WebCore::LayerRendererChromium::LayerRendererChromium):
  59851. (WebCore::LayerRendererChromium::setViewport):
  59852. (WebCore::LayerRendererChromium::updateLayers):
  59853. (WebCore::LayerRendererChromium::drawLayers):
  59854. (WebCore::LayerRendererChromiumImpl::create):
  59855. (WebCore::LayerRendererChromiumImpl::drawLayersAndPresent):
  59856. (WebCore::LayerRendererChromiumImpl::LayerRendererChromiumImpl):
  59857. (WebCore::LayerRendererChromiumImpl::drawLayersOnMainThread):
  59858. (WebCore::LayerRendererChromiumImplProxy::create):
  59859. (WebCore::LayerRendererChromiumImplProxy::createLayerTreeHostImpl):
  59860. (WebCore::LayerRendererChromiumImplProxy::LayerRendererChromiumImplProxy):
  59861. (WebCore::LayerRendererChromium::createLayerTreeHostImplProxy):
  59862. * platform/graphics/chromium/LayerRendererChromium.h:
  59863. * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
  59864. (WebCore::CCHeadsUpDisplay::setShowFPSCounter):
  59865. (WebCore::CCHeadsUpDisplay::setShowPlatformLayerTree):
  59866. * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
  59867. (WebCore::CCHeadsUpDisplay::currentFrameNumber):
  59868. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
  59869. (WebCore::CCLayerTreeHost::CCLayerTreeHost):
  59870. (WebCore::CCLayerTreeHost::init):
  59871. (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
  59872. (WebCore::CCLayerTreeHost::beginCommit):
  59873. (WebCore::CCLayerTreeHost::commitComplete):
  59874. (WebCore::CCLayerTreeHost::animateAndLayout):
  59875. (WebCore::CCLayerTreeHost::createLayerTreeHostCommitter):
  59876. (WebCore::CCLayerTreeHost::setNeedsCommitAndRedraw):
  59877. (WebCore::CCLayerTreeHost::setNeedsRedraw):
  59878. (WebCore::CCLayerTreeHost::updateLayers):
  59879. * platform/graphics/chromium/cc/CCLayerTreeHost.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
  59880. (WebCore::CCLayerTreeHost::frameNumber):
  59881. * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
  59882. (WebCore::CCLayerTreeHostCommitter::create):
  59883. (WebCore::CCLayerTreeHostCommitter::commit):
  59884. * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
  59885. (WebCore::CCLayerTreeHostCommitter::CCLayerTreeHostCommitter):
  59886. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: Added.
  59887. (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
  59888. (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
  59889. (WebCore::CCLayerTreeHostImpl::beginCommit):
  59890. (WebCore::CCLayerTreeHostImpl::commitComplete):
  59891. (WebCore::CCLayerTreeHostImpl::drawLayers):
  59892. (WebCore::CCLayerTreeHostImpl::setNeedsCommitAndRedraw):
  59893. (WebCore::CCLayerTreeHostImpl::setNeedsRedraw):
  59894. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
  59895. (WebCore::CCLayerTreeHostImplClient::~CCLayerTreeHostImplClient):
  59896. (WebCore::CCLayerTreeHostImpl::frameNumber):
  59897. (WebCore::CCLayerTreeHostImpl::sourceFrameNumber):
  59898. (WebCore::CCLayerTreeHostImpl::setSourceFrameNumber):
  59899. * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp: Added.
  59900. (WebCore::CCLayerTreeHostImplProxy::CCLayerTreeHostImplProxy):
  59901. (WebCore::CCLayerTreeHostImplProxy::start):
  59902. (WebCore::CCLayerTreeHostImplProxy::~CCLayerTreeHostImplProxy):
  59903. (WebCore::CCLayerTreeHostImplProxy::isStarted):
  59904. (WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedraw):
  59905. (WebCore::CCLayerTreeHostImplProxy::setNeedsRedraw):
  59906. (WebCore::CCLayerTreeHostImplProxy::stop):
  59907. (WebCore::CCLayerTreeHostImplProxy::postDrawLayersTaskOnCCThread):
  59908. (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommitOnCCThread):
  59909. (WebCore::CCLayerTreeHostImplProxy::isMainThread):
  59910. (WebCore::CCLayerTreeHostImplProxy::isCCThread):
  59911. (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommit):
  59912. (WebCore::CCLayerTreeHostImplProxy::commitOnCCThread):
  59913. (WebCore::CCLayerTreeHostImplProxy::drawLayersOnCCThread):
  59914. (WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedrawOnCCThread):
  59915. (WebCore::CCLayerTreeHostImplProxy::setNeedsRedrawOnCCThread):
  59916. (WebCore::CCLayerTreeHostImplProxy::initImplOnCCThread):
  59917. (WebCore::CCLayerTreeHostImplProxy::layerTreeHostClosedOnCCThread):
  59918. * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h: Added.
  59919. (WebCore::CCLayerTreeHostImplProxy::host):
  59920. * platform/graphics/chromium/cc/CCMainThreadTask.h:
  59921. * platform/graphics/chromium/cc/CCThread.cpp:
  59922. (WebCore::CCThread::runLoop):
  59923. * platform/graphics/chromium/cc/CCThreadTask.h:
  59924. 2011-06-27 Abhishek Arya <inferno@chromium.org>
  59925. Reviewed by Simon Fraser.
  59926. Fix removal of overhanging floats on style changes to absolute/fixed position.
  59927. https://bugs.webkit.org/show_bug.cgi?id=63355
  59928. 1. If we are not currently positioned.
  59929. 2. And we are not floating. (If we are floating, then this will be automatically
  59930. done in RenderBox::styleWillChange as part of removeFloatingOrPositionedChildFromBlockLists)
  59931. 3. And we have overhanging floats from previous sibling blocks.
  59932. 4. And our new new style tells that we will have absolute or fixed position.
  59933. Then, we mark all our descendants with floats for layout. This will make sure that
  59934. overhanging floats are removed. Also, it is important to do that since if that previous
  59935. sibling block goes away, it is not able to tell us that to remove those floats thinking
  59936. that being a positioned block, we should have removed them already.
  59937. Tests: fast/block/float/intruding-float-add-in-sibling-block-on-static-position.html
  59938. fast/block/float/intruding-float-add-in-sibling-block-on-static-position2.html
  59939. fast/block/float/intruding-float-remove-from-sibling-block-on-absolute-position.html
  59940. fast/block/float/intruding-float-remove-from-sibling-block-on-absolute-position2.html
  59941. fast/block/float/intruding-float-remove-from-sibling-block-on-fixed-position.html
  59942. fast/block/float/intruding-float-remove-from-sibling-block-on-fixed-position2.html
  59943. fast/block/float/overhanging-float-add-in-static-position-block.html
  59944. fast/block/float/overhanging-float-add-in-static-position-block2.html
  59945. fast/block/float/overhanging-float-remove-from-absolute-position-block.html
  59946. fast/block/float/overhanging-float-remove-from-absolute-position-block2.html
  59947. fast/block/float/overhanging-float-remove-from-fixed-position-block.html
  59948. fast/block/float/overhanging-float-remove-from-fixed-position-block2.html
  59949. * rendering/RenderBlock.cpp:
  59950. (WebCore::RenderBlock::styleWillChange):
  59951. 2011-06-27 Dirk Schulze <krit@webkit.org>
  59952. Reviewed by Nikolas Zimmermann.
  59953. SVGAnimatedType should support SVGPreserveAspectRatio animation
  59954. https://bugs.webkit.org/show_bug.cgi?id=63456
  59955. Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
  59956. This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAnimatedPreserveAspectRatio.
  59957. The new animator does not affect any behavior, since it was animated with SVGAnimatedString before. The new animator is still needed
  59958. to support animVal and baseVal later.
  59959. Test: svg/animations/svgPreserveAspectRatio-animation-1.html
  59960. * CMakeLists.txt: Added new file.
  59961. * GNUmakefile.list.am: Ditto.
  59962. * WebCore.gypi: Ditto.
  59963. * WebCore.pro: Ditto.
  59964. * WebCore.xcodeproj/project.pbxproj: Ditto.
  59965. * svg/SVGAllInOne.cpp: Ditto.
  59966. * svg/SVGAnimateElement.cpp: Handle AnimatedPreserveAspectRatio.
  59967. (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
  59968. (WebCore::SVGAnimateElement::calculateAnimatedValue):
  59969. (WebCore::SVGAnimateElement::calculateFromAndToValues):
  59970. (WebCore::SVGAnimateElement::calculateFromAndByValues):
  59971. (WebCore::SVGAnimateElement::resetToBaseValue):
  59972. (WebCore::SVGAnimateElement::applyResultsToTarget):
  59973. (WebCore::SVGAnimateElement::calculateDistance):
  59974. * svg/SVGAnimatedPreserveAspectRatio.cpp: Added. New animator for SVGAnimatedPreserveAspectRatio.
  59975. (WebCore::SVGAnimatedPreserveAspectRatioAnimator::SVGAnimatedPreserveAspectRatioAnimator):
  59976. (WebCore::SVGAnimatedPreserveAspectRatioAnimator::constructFromString):
  59977. (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateFromAndToValues):
  59978. (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateFromAndByValues):
  59979. (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateAnimatedValue):
  59980. (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateDistance):
  59981. * svg/SVGAnimatedPreserveAspectRatio.h:
  59982. (WebCore::SVGAnimatedPreserveAspectRatioAnimator::~SVGAnimatedPreserveAspectRatioAnimator):
  59983. * svg/SVGAnimatedType.cpp: Support for SVGPreserveAspectRatio.
  59984. (WebCore::SVGAnimatedType::~SVGAnimatedType):
  59985. (WebCore::SVGAnimatedType::createPreserveAspectRatio):
  59986. (WebCore::SVGAnimatedType::preserveAspectRatio):
  59987. (WebCore::SVGAnimatedType::valueAsString):
  59988. (WebCore::SVGAnimatedType::setValueAsString):
  59989. (WebCore::SVGAnimatedType::setPreserveAspectRatioBaseValue):
  59990. * svg/SVGAnimatedType.h:
  59991. * svg/SVGAnimatorFactory.h:
  59992. (WebCore::SVGAnimatorFactory::create):
  59993. 2011-06-27 Alexis Menard <alexis.menard@openbossa.org>
  59994. Reviewed by Kenneth Rohde Christiansen.
  59995. [Qt] Remove Phonon MediaPlayer from the tree.
  59996. https://bugs.webkit.org/show_bug.cgi?id=63448
  59997. Remove Phonon mediaplayer as it is unused, not finished and
  59998. unmaintained.
  59999. * WebCore.gypi:
  60000. * WebCore.pri:
  60001. * WebCore.pro:
  60002. * features.pri:
  60003. * platform/graphics/MediaPlayer.cpp:
  60004. * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Removed.
  60005. * platform/graphics/qt/MediaPlayerPrivatePhonon.h: Removed.
  60006. 2011-06-27 Ryosuke Niwa <rniwa@webkit.org>
  60007. Reviewed by Kent Tamura.
  60008. Crash in TextIterator
  60009. https://bugs.webkit.org/show_bug.cgi?id=63334
  60010. Fix a crash in TextIterator. Keep m_sortedTextBoxes and renderer consistent
  60011. and check !m_offset when handling first letter.
  60012. Also add more assertions to help detecting similar bugs.
  60013. Test: editing/text-iterator/first-letter-rtl-crash.html
  60014. * editing/TextIterator.cpp:
  60015. (WebCore::TextIterator::handleTextNode):
  60016. (WebCore::TextIterator::emitText):
  60017. 2011-06-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
  60018. Reviewed by Andreas Kling.
  60019. [Qt] tst_QWebFrame::overloadedSlots() fails
  60020. https://bugs.webkit.org/show_bug.cgi?id=37319
  60021. This patch is based on Noam Rosenthal original patch in the same bug.
  60022. When hinted with QWebElement metatype, we qualify the conversion
  60023. from JSElement as a "perfect match".
  60024. The test was failing because the wrong slot was called, since the QWebElement
  60025. match was taken as equal to the others and not chosen when the metacall happened.
  60026. * bridge/qt/qt_runtime.cpp:
  60027. (JSC::Bindings::convertValueToQVariant): Identify the conversion between JSElement
  60028. to QWebElement as a "perfect match" (dist = 0). Add comments to explain the reason
  60029. why we have the implicit conversion.
  60030. 2011-06-27 ChangSeok Oh <shivamidow@gmail.com>
  60031. Reviewed by Martin Robinson.
  60032. [GTK] Fix build break to support webgl
  60033. https://bugs.webkit.org/show_bug.cgi?id=63425
  60034. Some missing files in ANGLE are just added to fix build-break.
  60035. No test reqired
  60036. * GNUmakefile.list.am:
  60037. 2011-06-27 Hyowon Kim <hw1008.kim@samsung.com>
  60038. Reviewed by Martin Robinson.
  60039. [EFL] Add some PLATFORM(EFL) ifdefs to GraphicsContext3D.h
  60040. https://bugs.webkit.org/show_bug.cgi?id=62959
  60041. Add PLATFORM(EFL) ifdefs to use GraphicsContextInternal.
  60042. * platform/graphics/GraphicsContext3D.h:
  60043. 2011-06-27 Alexandru Chiculita <achicu@adobe.com>
  60044. Reviewed by Ojan Vafai.
  60045. css combinator "+" in combination with NAV tag is buggy
  60046. https://bugs.webkit.org/show_bug.cgi?id=47971
  60047. Added a new state in css/tokenizer.flex for the "nth" rule. The state begins
  60048. at nth-*( functions and ends at the first ")". It avoids parsing selectors
  60049. like "#div+nav" as: "#div" "+n" "av".
  60050. Test: fast/css/div_plus_nav_bug47971.html
  60051. * css/maketokenizer:
  60052. * css/tokenizer.flex:
  60053. 2011-06-27 Sheriff Bot <webkit.review.bot@gmail.com>
  60054. Unreviewed, rolling out r89822.
  60055. http://trac.webkit.org/changeset/89822
  60056. https://bugs.webkit.org/show_bug.cgi?id=63461
  60057. Broken builds (Requested by apavlov on #webkit).
  60058. * inspector/Inspector.json:
  60059. * inspector/InspectorCSSAgent.cpp:
  60060. (WebCore::InspectorCSSAgent::getStylesForNode):
  60061. * inspector/InspectorCSSAgent.h:
  60062. * inspector/front-end/AuditRules.js:
  60063. (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
  60064. * inspector/front-end/CSSStyleModel.js:
  60065. (WebInspector.CSSStyleModel.prototype.getStylesAsync):
  60066. * inspector/front-end/StylesSidebarPane.js:
  60067. (WebInspector.StylesSidebarPane.prototype.update):
  60068. 2011-06-27 Noel Gordon <noel.gordon@gmail.com>
  60069. Reviewed by Adam Roben.
  60070. Send keypress events to windowless plugins on the windows port.
  60071. https://bugs.webkit.org/show_bug.cgi?id=63144
  60072. No new tests. Covered by existing windowless plugin tests plugins/mouse-events.html
  60073. and plugins/keyboard-events.html. Both are not yet working as desired because focus
  60074. events are not being fowarded to windowed plugins on the win port (bug 62375). Test
  60075. plugin logging on the win port was added in bug 61721. New failing expectations for
  60076. plugins/keyboard-events.html were subsequently added in bug 33973 so there's no need
  60077. to update test expectations in this patch.
  60078. * plugins/win/PluginViewWin.cpp:
  60079. (WebCore::PluginView::handleKeyboardEvent): Add an ASSERT(m_plugin && !m_isWindowed)
  60080. to indicate that the routine is for windowless plugins. Remove trailing whitespace.
  60081. Add handling for keyPress events (map to WM_CHAR).
  60082. (WebCore::PluginView::handleMouseEvent): Add the ASSERT to indicate that the routine
  60083. is for windowless plugins. Add FIXME note. Remove trailing whitespace.
  60084. 2011-06-27 Alexander Pavlov <apavlov@chromium.org>
  60085. Reviewed by Pavel Feldman.
  60086. Web Inspector: Change the inspector model API and backend to allow CSS pseudoclass inspection
  60087. https://bugs.webkit.org/show_bug.cgi?id=63446
  60088. * inspector/Inspector.json:
  60089. * inspector/InspectorCSSAgent.cpp:
  60090. (WebCore::computePseudoClassMask):
  60091. (WebCore::InspectorCSSAgent::getStylesForNode):
  60092. * inspector/InspectorCSSAgent.h:
  60093. * inspector/front-end/AuditRules.js:
  60094. (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
  60095. * inspector/front-end/CSSStyleModel.js:
  60096. (WebInspector.CSSStyleModel.prototype.getStylesAsync):
  60097. * inspector/front-end/StylesSidebarPane.js:
  60098. (WebInspector.StylesSidebarPane.prototype.update):
  60099. 2011-06-27 Pavel Feldman <pfeldman@google.com>
  60100. Reviewed by Yury Semikhatsky.
  60101. Web Inspector: [REGRESSION r84481] updateLayout called from DrawNodeHighlight
  60102. https://bugs.webkit.org/show_bug.cgi?id=63405
  60103. We should not call layout from paint.
  60104. * inspector/DOMNodeHighlighter.cpp:
  60105. (WebCore::DOMNodeHighlighter::drawNodeHighlight):
  60106. * inspector/DOMNodeHighlighter.h:
  60107. * inspector/InspectorDOMAgent.cpp:
  60108. (WebCore::InspectorDOMAgent::drawNodeHighlight):
  60109. 2011-06-27 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  60110. Unreviewed. Fix style error in EFL port.
  60111. * platform/efl/PlatformKeyboardEventEfl.cpp:
  60112. * platform/efl/PlatformScreenEfl.cpp:
  60113. * platform/efl/SharedBufferEfl.cpp:
  60114. 2011-06-27 Pavel Feldman <pfeldman@google.com>
  60115. Reviewed by Yury Semikhatsky.
  60116. Web Inspector: node selection is slow in the Elements panel.
  60117. https://bugs.webkit.org/show_bug.cgi?id=60813
  60118. * inspector/front-end/StylesSidebarPane.js:
  60119. (WebInspector.StylesSidebarPane.prototype.update.stylesCallback):
  60120. (WebInspector.StylesSidebarPane.prototype.update.computedStyleCallback):
  60121. (WebInspector.StylesSidebarPane.prototype.update):
  60122. 2011-06-26 Pavel Feldman <pfeldman@chromium.org>
  60123. Reviewed by Yury Semikhatsky.
  60124. Web Inspector: roll out r88337 for making tests flaky.
  60125. https://bugs.webkit.org/show_bug.cgi?id=63422
  60126. * inspector/front-end/ElementsPanel.js:
  60127. (WebInspector.ElementsPanel):
  60128. (WebInspector.ElementsPanel.prototype.updateStyles):
  60129. (WebInspector.ElementsPanel.prototype._stylesUpdated):
  60130. * inspector/front-end/StylesSidebarPane.js:
  60131. (WebInspector.StylesSidebarPane.prototype.update.stylesCallback):
  60132. (WebInspector.StylesSidebarPane.prototype.update.computedStyleCallback):
  60133. (WebInspector.StylesSidebarPane.prototype.update):
  60134. 2011-06-27 Huang Dongsung <luxtella@company100.net>
  60135. Reviewed by Kenneth Rohde Christiansen.
  60136. TiledBackingStore endlessly creates and destroys tiles due to an off-by-one
  60137. error.
  60138. https://bugs.webkit.org/show_bug.cgi?id=62422
  60139. REGRESSION(r77286): Remove bottomRight().
  60140. REGRESSION(r77312): Change the logic to get the bottom right point.
  60141. REGRESSION(r77928): Cause off-by-one error in TiledBackingStore.
  60142. REGRESSION(r78783): Cause off-by-one error in TiledDrawingAreaProxy.
  60143. REGRESSION(r78785): Cause off-by-one error in TiledDrawingAreaProxy.
  60144. If the viewport width equals the contents width, especially in the mobile
  60145. device, TiledBackingStore endlessly creates and deletes the rightmost
  60146. column and bottom row of tiles.
  60147. In the detail, dropTilesOutsideRect() in TiledBackingStore::createTiles()
  60148. deletes tiles and setTile(coordinate, Tile::create(this, coordinate)) creates
  60149. tiles infinitely.
  60150. Modified TiledDrawingAreaProxy also.
  60151. * platform/graphics/TiledBackingStore.cpp:
  60152. (WebCore::innerBottomRight):
  60153. (WebCore::TiledBackingStore::invalidate):
  60154. (WebCore::TiledBackingStore::paint):
  60155. (WebCore::TiledBackingStore::createTiles):
  60156. 2011-06-26 Adam Barth <abarth@webkit.org>
  60157. Reviewed by Eric Seidel.
  60158. Remove LegacyDefaultOptionalArguments from WebAudio IDL files
  60159. https://bugs.webkit.org/show_bug.cgi?id=63416
  60160. WebAudio isn't that widely used, so it's seems somewhat safe to remove
  60161. legacy code generation hacks. I'm not an expert on WebAudio, but the
  60162. API doesn't appear to need many optional arguments.
  60163. There are a bunch of APIs that have custom bindings that look like they
  60164. could be autogenerated. I've added FIXME comments where appropriate.
  60165. * webaudio/AudioBuffer.idl:
  60166. * webaudio/AudioContext.idl:
  60167. * webaudio/AudioListener.idl:
  60168. * webaudio/AudioNode.idl:
  60169. * webaudio/AudioPannerNode.idl:
  60170. * webaudio/AudioParam.idl:
  60171. * webaudio/RealtimeAnalyserNode.idl:
  60172. 2011-06-26 Yury Semikhatsky <yurys@chromium.org>
  60173. Reviewed by Pavel Feldman.
  60174. Web Inspector: REGRESSION Scripts panel sidebar pane context menu has no "Remove breakpoint" item
  60175. https://bugs.webkit.org/show_bug.cgi?id=63421
  60176. Show generic sidebar menu only if no pane-specific menu has been shown.
  60177. * inspector/front-end/ScriptsPanel.js:
  60178. (WebInspector.ScriptsPanel):
  60179. 2011-06-26 Adam Barth <abarth@webkit.org>
  60180. Build fix for clang. Apparently clang doesn't want us to use the std
  60181. namespace in headers, which makes sense.
  60182. * svg/SVGAnimatedType.h:
  60183. 2011-06-26 Adam Barth <abarth@webkit.org>
  60184. Reviewed by Eric Seidel.
  60185. Remove LegacyDefaultOptionalArguments from XMLHttpRequest.idl and XMLHttpRequestUpload.idl
  60186. https://bugs.webkit.org/show_bug.cgi?id=63418
  60187. The XMLHttpRequest.idl interface used to implement the new behavior
  60188. manually using the RequiresAllArguments attribute. Now that we have
  60189. that behavior by default, we can simply remove the
  60190. LegacyDefaultOptionalArguments attribute.
  60191. * xml/XMLHttpRequest.idl:
  60192. * xml/XMLHttpRequestUpload.idl:
  60193. 2011-06-26 Dirk Schulze <krit@webkit.org>
  60194. Reviewed by Nikolas Zimmermann.
  60195. SVGAnimatedType should support SVGLengthList animation
  60196. https://bugs.webkit.org/show_bug.cgi?id=63399
  60197. Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
  60198. This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAnimatedLengthList.
  60199. Interpolated animations of glyph positions are possible now.
  60200. Tests: svg/animations/svglengthlist-animation-1.html
  60201. svg/animations/svglengthlist-animation-2.html
  60202. svg/animations/svglengthlist-animation-3.html
  60203. svg/animations/svglengthlist-animation-4.html
  60204. * CMakeLists.txt: Add new file to build system.
  60205. * GNUmakefile.list.am: Ditto.
  60206. * WebCore.gypi: Ditto.
  60207. * WebCore.pro: Ditto.
  60208. * WebCore.xcodeproj/project.pbxproj: Ditto.
  60209. * svg/SVGAllInOne.cpp: Ditto.
  60210. * svg/SVGAnimateElement.cpp: Make use of AnimatedLengthList.
  60211. (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
  60212. (WebCore::SVGAnimateElement::calculateAnimatedValue):
  60213. (WebCore::SVGAnimateElement::calculateFromAndToValues):
  60214. (WebCore::SVGAnimateElement::calculateFromAndByValues):
  60215. (WebCore::SVGAnimateElement::resetToBaseValue):
  60216. (WebCore::SVGAnimateElement::applyResultsToTarget):
  60217. (WebCore::SVGAnimateElement::calculateDistance):
  60218. * svg/SVGAnimatedLengthList.cpp: Added. New animator for SVGLengthList.
  60219. (WebCore::SVGAnimatedLengthListAnimator::SVGAnimatedLengthListAnimator):
  60220. (WebCore::SVGAnimatedLengthListAnimator::constructFromString):
  60221. (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndToValues):
  60222. (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndByValues):
  60223. (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
  60224. (WebCore::SVGAnimatedLengthListAnimator::calculateDistance):
  60225. * svg/SVGAnimatedLengthList.h:
  60226. (WebCore::SVGAnimatedLengthListAnimator::~SVGAnimatedLengthListAnimator):
  60227. * svg/SVGAnimatedType.cpp: Add SVGLengthList.
  60228. (WebCore::SVGAnimatedType::~SVGAnimatedType):
  60229. (WebCore::SVGAnimatedType::createLengthList):
  60230. (WebCore::SVGAnimatedType::lengthList):
  60231. (WebCore::SVGAnimatedType::valueAsString):
  60232. (WebCore::SVGAnimatedType::setValueAsString):
  60233. * svg/SVGAnimatedType.h:
  60234. * svg/SVGAnimatorFactory.h:
  60235. (WebCore::SVGAnimatorFactory::create):
  60236. * svg/SVGLength.cpp: Add new constructor with LengthType, LengthMode and value.
  60237. (WebCore::SVGLength::SVGLength):
  60238. * svg/SVGLength.h:
  60239. 2011-06-26 Adam Barth <abarth@webkit.org>
  60240. Reviewed by Eric Seidel.
  60241. window.location should use the holder's prototype chain
  60242. https://bugs.webkit.org/show_bug.cgi?id=63411
  60243. This patch corrects the prototype chain for Location, but we really
  60244. should do a complete cleanup of the prototype chain generation, like we
  60245. did for JavaScriptCore.
  60246. Test: http/tests/security/location-prototype.html
  60247. * bindings/scripts/CodeGeneratorV8.pm:
  60248. 2011-06-26 Adam Barth <abarth@webkit.org>
  60249. Reviewed by Eric Seidel.
  60250. Add [Optional] attributes where appropriate for addEventListener and removeEventListener
  60251. https://bugs.webkit.org/show_bug.cgi?id=63417
  60252. This patch doesn't actually change behavior because these interfaces
  60253. have the LegacyDefaultOptionalArguments attribute. This patch paves
  60254. the way to removing LegacyDefaultOptionalArguments from some of these
  60255. interfaces as well as making the project safer for copy-and-pasting
  60256. these methods into new IDL files that don't have the
  60257. LegacyDefaultOptionalArguments attribute.
  60258. * bindings/scripts/test/TestObj.idl:
  60259. * dom/EventTarget.idl:
  60260. * dom/MediaStream.idl:
  60261. * dom/MessagePort.idl:
  60262. * dom/Node.idl:
  60263. * loader/appcache/DOMApplicationCache.idl:
  60264. * notifications/Notification.idl:
  60265. * page/DOMWindow.idl:
  60266. * page/EventSource.idl:
  60267. * storage/IDBRequest.idl:
  60268. * storage/IDBTransaction.idl:
  60269. * svg/SVGElementInstance.idl:
  60270. * websockets/WebSocket.idl:
  60271. * workers/AbstractWorker.idl:
  60272. * workers/WorkerContext.idl:
  60273. * xml/XMLHttpRequest.idl:
  60274. * xml/XMLHttpRequestUpload.idl:
  60275. 2011-06-26 Adam Barth <abarth@webkit.org>
  60276. Reviewed by Kent Tamura.
  60277. m_formElementsWithFormAttribute doesn't ref the objects it holds
  60278. https://bugs.webkit.org/show_bug.cgi?id=62956
  60279. Test: fast/forms/form-associated-element-crash3.html
  60280. * dom/Document.h:
  60281. 2011-06-26 Dimitri Glazkov <dglazkov@chromium.org>
  60282. Reviewed by Adam Barth.
  60283. FileList::filenames should be FileList::paths, because it's more accurate.
  60284. https://bugs.webkit.org/show_bug.cgi?id=63414
  60285. Refactoring, no change in behavior.
  60286. * fileapi/FileList.cpp:
  60287. (WebCore::FileList::paths): Renamed from filenames.
  60288. * fileapi/FileList.h:
  60289. * html/FileInputType.cpp:
  60290. (WebCore::FileInputType::handleDOMActivateEvent): Changed to use filenames, also fixed a reach-unto-thyself whoopsie.
  60291. (WebCore::FileInputType::requestIcon): Ditto.
  60292. (WebCore::FileInputType::filesChosen): Ditto.
  60293. * rendering/RenderFileUploadControl.cpp:
  60294. (WebCore::RenderFileUploadControl::fileTextValue): Ditto.
  60295. 2011-06-26 Young Han Lee <joybro@company100.net>
  60296. Reviewed by Dirk Schulze.
  60297. SVGAnimation - keyTime value 1 never get animated
  60298. https://bugs.webkit.org/show_bug.cgi?id=63230
  60299. According to the SMIL 3.0 specification, the index of the keyTimes should be
  60300. determined under the end-point-exclusive rule (e.g. Given keyTimes(0;0.5;1)
  60301. and t=0.5, the current index of the keyTimes have to be 1 not 0).
  60302. http://www.w3.org/TR/SMIL3/smil-animation.html#animationNS-InterpolationExamplesAdvanced
  60303. Test: svg/animations/animate-number-calcMode-discrete-keyTimes.html
  60304. * svg/SVGAnimationElement.cpp:
  60305. (WebCore::SVGAnimationElement::calculateKeyTimesIndex):
  60306. 2011-06-26 Dan Bernstein <mitz@apple.com>
  60307. Reviewed by Darin Adler.
  60308. With word-break: break-all, words do not break correctly before a surrogate pair
  60309. https://bugs.webkit.org/show_bug.cgi?id=63401
  60310. The code to check for mid-word breaks accumulates width one character at a time. It was actually
  60311. measuring the two parts of the surrogate pair individually, so they appeared to have zero width.
  60312. Fixed by checking for surrogate pairs and measuring the pair as one unit.
  60313. Test: fast/text/midword-break-before-surrogate-pair.html
  60314. * rendering/RenderBlockLineLayout.cpp:
  60315. (WebCore::RenderBlock::LineBreaker::nextLineBreak):
  60316. 2011-06-26 Dirk Schulze <krit@webkit.org>
  60317. Reviewed by Nikolas Zimmermann.
  60318. SVGAnimatedType should support SVGNumberOptionalNumber animation
  60319. https://bugs.webkit.org/show_bug.cgi?id=63397
  60320. Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
  60321. This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAnimatedNumberOptionalNumber.
  60322. Animations of attributes with type SVGAnimatedNumberOptionalNumber can be interpolated now. This can be used for smooth
  60323. growing shadows with feGaussianBlur, feDropShadow or other filter effects.
  60324. Tests: svg/animations/svgnumberoptionalnumber-animation-1.html
  60325. svg/animations/svgnumberoptionalnumber-animation-2.html
  60326. svg/animations/svgnumberoptionalnumber-animation-3.html
  60327. svg/animations/svgnumberoptionalnumber-animation-4.html
  60328. * CMakeLists.txt: Added new files to build system.
  60329. * GNUmakefile.list.am: Ditto.
  60330. * WebCore.gypi: Ditto.
  60331. * WebCore.pro: Ditto.
  60332. * WebCore.vcproj/WebCore.vcproj: Ditto.
  60333. * WebCore.xcodeproj/project.pbxproj: Ditto.
  60334. * svg/SVGAllInOne.cpp: Ditto.
  60335. * svg/SVGAnimateElement.cpp: Make use of attribute type AnimatedNumberOptionalNumber.
  60336. (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
  60337. (WebCore::SVGAnimateElement::calculateAnimatedValue):
  60338. (WebCore::SVGAnimateElement::calculateFromAndToValues):
  60339. (WebCore::SVGAnimateElement::calculateFromAndByValues):
  60340. (WebCore::SVGAnimateElement::resetToBaseValue):
  60341. (WebCore::SVGAnimateElement::applyResultsToTarget):
  60342. (WebCore::SVGAnimateElement::calculateDistance):
  60343. * svg/SVGAnimatedNumberOptionalNumber.cpp: Added. New animator for SVGAnimatedNumberOptionalNumber.
  60344. (WebCore::SVGAnimatedNumberOptionalNumberAnimator::SVGAnimatedNumberOptionalNumberAnimator):
  60345. (WebCore::SVGAnimatedNumberOptionalNumberAnimator::constructFromString):
  60346. (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateFromAndToValues):
  60347. (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateFromAndByValues):
  60348. (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
  60349. (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateDistance):
  60350. * svg/SVGAnimatedNumberOptionalNumber.h: Added.
  60351. (WebCore::SVGAnimatedNumberOptionalNumberAnimator::~SVGAnimatedNumberOptionalNumberAnimator):
  60352. * svg/SVGAnimatedType.cpp: Added new type: pair<float, float>.
  60353. (WebCore::SVGAnimatedType::~SVGAnimatedType):
  60354. (WebCore::SVGAnimatedType::createNumberOptionalNumber):
  60355. (WebCore::SVGAnimatedType::numberOptionalNumber):
  60356. (WebCore::SVGAnimatedType::valueAsString):
  60357. (WebCore::SVGAnimatedType::setValueAsString):
  60358. * svg/SVGAnimatedType.h:
  60359. * svg/SVGAnimatorFactory.h: Add new animator to factory.
  60360. (WebCore::SVGAnimatorFactory::create):
  60361. 2011-06-25 Dimitri Glazkov <dglazkov@chromium.org>
  60362. Reviewed by Adam Barth.
  60363. Crash in frameless document with media element.
  60364. https://bugs.webkit.org/show_bug.cgi?id=63393
  60365. Since MediaControls::create can return 0 (and does for frameless documents), we must anticipate it
  60366. in the calling code.
  60367. Test: fast/dom/shadow/frameless-media-element-crash.html
  60368. * html/HTMLMediaElement.cpp:
  60369. (WebCore::HTMLMediaElement::attributeChanged): Changed to bail out if controls weren't successfully created.
  60370. (WebCore::HTMLMediaElement::createMediaControls): Renamed to better reflect the purpose, changed to handle failure of creation.
  60371. (WebCore::HTMLMediaElement::preDispatchEventHandler): Changed to bail out if controls weren't successfully created.
  60372. * html/HTMLMediaElement.h: Adjusted def.
  60373. 2011-06-25 Joseph Pecoraro <joepeck@webkit.org>
  60374. Reviewed by Darin Adler.
  60375. Fix some minor style issues
  60376. https://bugs.webkit.org/show_bug.cgi?id=63391
  60377. * inspector/DOMNodeHighlighter.cpp:
  60378. (WebCore::DOMNodeHighlighter::DrawNodeHighlight):
  60379. The explicit WebCore namespace usage can be dropped.
  60380. * rendering/RenderView.cpp:
  60381. (WebCore::RenderView::mapLocalToContainer):
  60382. Use ASSERT_UNUSED for a parameter that we want to ASSERT
  60383. on for a debug build, but is UNUSED in a release build.
  60384. 2011-06-25 Joseph Pecoraro <joepeck@webkit.org>
  60385. Unreviewed build fix.
  60386. Use UNUSED_PARAM on the correct param!
  60387. * rendering/RenderView.cpp:
  60388. (WebCore::RenderView::mapLocalToContainer):
  60389. 2011-06-25 Joseph Pecoraro <joepeck@webkit.org>
  60390. Reviewed by Simon Fraser.
  60391. Inspector highlight rect is wrong for contents of transformed iframes
  60392. https://bugs.webkit.org/show_bug.cgi?id=53627
  60393. Part 2: Only adjust for the FrameView's scroll position when
  60394. the localToAbsolute mapping did not end with fixed content.
  60395. Content that is inside of a fixed position container is already
  60396. adjusted for the FrameView's scrollPosition when RenderView
  60397. maps local to container.
  60398. This patch uses a "wasFixed" out parameter to determine if
  60399. the localToAbsolute transformation ended inside a fixed block,
  60400. and if so does not apply the scroll position.
  60401. * page/FrameView.cpp:
  60402. (WebCore::FrameView::convertFromRenderer):
  60403. Respect wasFixed as described above.
  60404. * rendering/RenderBox.h:
  60405. * rendering/RenderBox.cpp:
  60406. (WebCore::RenderBox::mapLocalToContainer):
  60407. This is the only time that "fixed" ever changed. So when
  60408. fixed changes, update the optional wasFixed out parameter.
  60409. * rendering/RenderObject.cpp:
  60410. (WebCore::RenderObject::localToAbsolute):
  60411. (WebCore::RenderObject::mapLocalToContainer):
  60412. (WebCore::RenderObject::localToContainerQuad):
  60413. * rendering/RenderObject.h:
  60414. (WebCore::RenderObject::localToAbsoluteQuad):
  60415. Ignore wasFixed by default, but pipe it though where needed.
  60416. * rendering/RenderView.h:
  60417. * rendering/RenderView.cpp:
  60418. (WebCore::RenderView::mapLocalToContainer):
  60419. This is the final recursive call, so wasFixed goes no
  60420. further. We sanity check its value in debug builds.
  60421. * rendering/RenderBlock.cpp:
  60422. (WebCore::RenderBlock::selectionGapRectsForRepaint):
  60423. * rendering/RenderInline.cpp:
  60424. (WebCore::RenderInline::mapLocalToContainer):
  60425. * rendering/RenderInline.h:
  60426. * rendering/svg/RenderSVGForeignObject.cpp:
  60427. (WebCore::RenderSVGForeignObject::mapLocalToContainer):
  60428. * rendering/svg/RenderSVGForeignObject.h:
  60429. * rendering/svg/RenderSVGInline.cpp:
  60430. (WebCore::RenderSVGInline::mapLocalToContainer):
  60431. * rendering/svg/RenderSVGInline.h:
  60432. * rendering/svg/RenderSVGModelObject.cpp:
  60433. (WebCore::RenderSVGModelObject::mapLocalToContainer):
  60434. * rendering/svg/RenderSVGModelObject.h:
  60435. * rendering/svg/RenderSVGRoot.cpp:
  60436. (WebCore::RenderSVGRoot::mapLocalToContainer):
  60437. * rendering/svg/RenderSVGRoot.h:
  60438. * rendering/svg/RenderSVGText.cpp:
  60439. (WebCore::RenderSVGText::mapLocalToContainer):
  60440. * rendering/svg/RenderSVGText.h:
  60441. * rendering/svg/SVGRenderSupport.cpp:
  60442. (WebCore::SVGRenderSupport::mapLocalToContainer):
  60443. * rendering/svg/SVGRenderSupport.h:
  60444. Pipe wasFixed through where needed.
  60445. 2011-06-25 Joseph Pecoraro <joepeck@webkit.org>
  60446. Reviewed by Simon Fraser.
  60447. Inspector highlight rect is wrong for contents of transformed iframes
  60448. https://bugs.webkit.org/show_bug.cgi?id=53627
  60449. Part 1: Provide FloatQuad versions of convertFromRenderer,
  60450. convertToContainingView, and convertChildToSelf, so that we
  60451. can get the fully transformed quad of a renderer all the
  60452. way up to the root widget.
  60453. * page/FrameView.cpp:
  60454. (WebCore::FrameView::convertFromRenderer):
  60455. (WebCore::FrameView::convertToContainingView):
  60456. * page/FrameView.h:
  60457. * platform/ScrollView.h:
  60458. (WebCore::ScrollView::convertChildToSelf):
  60459. * platform/Widget.h:
  60460. * platform/Widget.cpp:
  60461. (WebCore::Widget::convertToContainingView):
  60462. Provide FloatQuad versions of these already existing functions.
  60463. (WebCore::Widget::convertToRootContainingView):
  60464. Provide a helper conversion function to recursively
  60465. convert a given FloatQuad up to the root widget.
  60466. * inspector/DOMNodeHighlighter.cpp:
  60467. (WebCore::DOMNodeHighlighter::DrawNodeHighlight):
  60468. Use the new methods to convert the FloatQuad for the highlighted
  60469. node to the root container, without losing transformation
  60470. information. Add a FIXME for SVG, which is still broken.
  60471. * WebCore.exp.in:
  60472. Export the new Widget functions so WebKit can link properly.
  60473. 2011-06-25 Dirk Schulze <krit@webkit.org>
  60474. Unreviewed build fix.
  60475. SVGAnimatedType should support SVGNumberList animation
  60476. https://bugs.webkit.org/show_bug.cgi?id=63387
  60477. * svg/SVGAnimatedNumberList.cpp:
  60478. (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
  60479. 2011-06-25 Dirk Schulze <krit@webkit.org>
  60480. Reviewed by Nikolas Zimmermann.
  60481. SVGAnimatedType should support SVGNumberList animation
  60482. https://bugs.webkit.org/show_bug.cgi?id=63387
  60483. Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
  60484. This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGNumberList.
  60485. Animations of attributes with type SVGNumberList can be interpolated now.
  60486. Tests: svg/animations/svgnumberlist-animation-1.html
  60487. svg/animations/svgnumberlist-animation-2.html
  60488. * CMakeLists.txt: Added new file to build system.
  60489. * GNUmakefile.list.am: Ditto.
  60490. * WebCore.gypi: Ditto.
  60491. * WebCore.pro: Ditto.
  60492. * WebCore.xcodeproj/project.pbxproj: Ditto.
  60493. * svg/SVGAllInOne.cpp: Ditto.
  60494. * svg/SVGAnimateElement.cpp: Make use of attribute type AnimatedNumberList.
  60495. (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
  60496. (WebCore::SVGAnimateElement::calculateAnimatedValue):
  60497. (WebCore::SVGAnimateElement::calculateFromAndToValues):
  60498. (WebCore::SVGAnimateElement::calculateFromAndByValues):
  60499. (WebCore::SVGAnimateElement::resetToBaseValue):
  60500. (WebCore::SVGAnimateElement::applyResultsToTarget):
  60501. (WebCore::SVGAnimateElement::calculateDistance):
  60502. * svg/SVGAnimatedNumber.cpp:
  60503. (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedNumber): Made method static for reuse in SVGAnimatedNumberList (and SVGAnimatedNumberOptionalNumber later).
  60504. (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue): Use new static function.
  60505. * svg/SVGAnimatedNumber.h:
  60506. * svg/SVGAnimatedNumberList.cpp: Added. New animator for SVGNumberList.
  60507. (WebCore::SVGAnimatedNumberListAnimator::SVGAnimatedNumberListAnimator):
  60508. (WebCore::SVGAnimatedNumberListAnimator::constructFromString):
  60509. (WebCore::SVGAnimatedNumberListAnimator::calculateFromAndToValues):
  60510. (WebCore::SVGAnimatedNumberListAnimator::calculateFromAndByValues):
  60511. (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
  60512. (WebCore::SVGAnimatedNumberListAnimator::calculateDistance):
  60513. * svg/SVGAnimatedNumberList.h:
  60514. (WebCore::SVGAnimatedNumberListAnimator::~SVGAnimatedNumberListAnimator):
  60515. * svg/SVGAnimatedType.cpp: Use new Animator.
  60516. (WebCore::SVGAnimatedType::~SVGAnimatedType):
  60517. (WebCore::SVGAnimatedType::createNumberList):
  60518. (WebCore::SVGAnimatedType::numberList):
  60519. (WebCore::SVGAnimatedType::valueAsString):
  60520. (WebCore::SVGAnimatedType::setValueAsString):
  60521. * svg/SVGAnimatedType.h:
  60522. * svg/SVGAnimatorFactory.h:
  60523. (WebCore::SVGAnimatorFactory::create):
  60524. 2011-06-25 Nikolas Zimmermann <nzimmermann@rim.com>
  60525. Reviewed by Dirk Schulze.
  60526. Convert SVGPath to SVGAnimatorFactory concept
  60527. https://bugs.webkit.org/show_bug.cgi?id=63336
  60528. Convert <animate attributeName="d"> parsing to the new SVGAnimatorFactory concept, removing
  60529. the last special data types from SVGAnimateElement: SVGPathByteStream m_fromPath/m_toPath/m_animatedPath.
  60530. All existing non-string primitives have been converted to the new concept.
  60531. Doesn't change any functionality.
  60532. * CMakeLists.txt: Added SVGAnimatedPath.*.
  60533. * GNUmakefile.list.am: Ditto.
  60534. * WebCore.gypi: Ditto.
  60535. * WebCore.pro: Ditto.
  60536. * WebCore.vcproj/WebCore.vcproj: Ditto.
  60537. * WebCore.xcodeproj/project.pbxproj: Ditto.
  60538. * svg/SVGAllInOne.cpp: Ditto.
  60539. * svg/SVGAnimateElement.cpp:
  60540. (WebCore::SVGAnimateElement::SVGAnimateElement):
  60541. (WebCore::SVGAnimateElement::calculateAnimatedValue):
  60542. (WebCore::SVGAnimateElement::calculateFromAndToValues):
  60543. (WebCore::SVGAnimateElement::calculateFromAndByValues):
  60544. (WebCore::SVGAnimateElement::resetToBaseValue):
  60545. (WebCore::SVGAnimateElement::applyResultsToTarget):
  60546. * svg/SVGAnimateElement.h:
  60547. * svg/SVGAnimatedPath.cpp: Added.
  60548. (WebCore::SVGAnimatedPathAnimator::SVGAnimatedPathAnimator):
  60549. (WebCore::SVGAnimatedPathAnimator::constructFromString):
  60550. (WebCore::SVGAnimatedPathAnimator::calculateFromAndToValues):
  60551. (WebCore::SVGAnimatedPathAnimator::calculateFromAndByValues):
  60552. (WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
  60553. (WebCore::SVGAnimatedPathAnimator::calculateDistance):
  60554. * svg/SVGAnimatedPath.h: Added.
  60555. (WebCore::SVGAnimatedPathAnimator::~SVGAnimatedPathAnimator):
  60556. * svg/SVGAnimatedType.cpp:
  60557. (WebCore::SVGAnimatedType::~SVGAnimatedType):
  60558. (WebCore::SVGAnimatedType::createPath):
  60559. (WebCore::SVGAnimatedType::path):
  60560. (WebCore::SVGAnimatedType::valueAsString):
  60561. (WebCore::SVGAnimatedType::setValueAsString):
  60562. * svg/SVGAnimatedType.h:
  60563. * svg/SVGAnimatorFactory.h:
  60564. (WebCore::SVGAnimatorFactory::create):
  60565. * svg/SVGPathByteStream.h:
  60566. (WebCore::SVGPathByteStream::initializeFrom):
  60567. * svg/SVGPathParserFactory.cpp:
  60568. (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
  60569. (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
  60570. (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
  60571. 2011-06-25 Jer Noble <jer.noble@apple.com>
  60572. Reviewed by Maciej Stachowiak.
  60573. SOFT_LINK_POINTER_OPTIONAL isn't optional.
  60574. https://bugs.webkit.org/show_bug.cgi?id=63378
  60575. Continuation of r89718. SOFT_LINK_POINTER_OPTIONAL should check the value returned by dlsym before dereferencing it.
  60576. * platform/mac/SoftLinking.h:
  60577. 2011-06-25 Rob Buis <rbuis@rim.com>
  60578. Reviewed by Nikolas Zimmermann.
  60579. SVG1.1SE test linking-uri-01-b.svg fails
  60580. https://bugs.webkit.org/show_bug.cgi?id=63322
  60581. Allow navigating to internal <view> targets. When choosing Back ensure
  60582. the <svg> current view is initialized correctly.
  60583. Tests: svg/W3C-SVG-1.1-SE/linking-uri-01-b.svg
  60584. svg/custom/linking-uri-01-b.svg
  60585. * page/FrameView.cpp: Delegate to setupInitialView.
  60586. (WebCore::FrameView::scrollToAnchor):
  60587. * svg/SVGAElement.cpp: Allow navigating to internal <view> targets.
  60588. (WebCore::SVGAElement::defaultEventHandler):
  60589. * svg/SVGSVGElement.cpp:
  60590. (WebCore::SVGSVGElement::setupInitialView): Initialize current view depending on fragment identifier.
  60591. (WebCore::SVGSVGElement::inheritViewAttributes):
  60592. * svg/SVGSVGElement.h:
  60593. 2011-06-24 Dimitri Glazkov <dglazkov@chromium.org>
  60594. Reviewed by Darin Adler.
  60595. REGRESSION (r77740): Shadow DOM pseudo elements aren't matching when combined with descendant selectors
  60596. https://bugs.webkit.org/show_bug.cgi?id=63373
  60597. * css/CSSStyleSelector.cpp:
  60598. (WebCore::CSSStyleSelector::pushParentStackFrame): Changed to use parentOrHostElement.
  60599. (WebCore::CSSStyleSelector::pushParent): Ditto.
  60600. * dom/Node.cpp:
  60601. (WebCore::Node::parentOrHostElement): Added.
  60602. * dom/Node.h:
  60603. 2011-06-24 Dan Bernstein <mitz@apple.com>
  60604. Reviewed by Anders Carlsson.
  60605. Add an option to enable legacy rounding hacks
  60606. https://bugs.webkit.org/show_bug.cgi?id=63363
  60607. Restored most of text rounding hacks which were removed in r78846, with a global flag to control
  60608. whether rounding hacks are allowed, which defaults to false.
  60609. Test: platform/mac/fast/text/rounding-hacks.html
  60610. * CMakeLists.txt: Added TextRun.cpp.
  60611. * GNUmakefile.list.am: Ditto.
  60612. * WebCore.exp.in: Export new TextRun function and global and updated StringTruncator functions.
  60613. * WebCore.gypi: Added TextRun.cpp.
  60614. * WebCore.pro: Ditto.
  60615. * WebCore.vcproj/WebCore.vcproj: Ditto.
  60616. * WebCore.xcodeproj/project.pbxproj: Ditto.
  60617. * html/canvas/CanvasRenderingContext2D.cpp:
  60618. (WebCore::CanvasRenderingContext2D::drawTextInternal): Disable rounding hacks in the one place
  60619. they used to be disabled.
  60620. * platform/graphics/Font.cpp: Re-added the rounding character table.
  60621. * platform/graphics/Font.h:
  60622. (WebCore::Font::isRoundingHackCharacter): Re-added.
  60623. * platform/graphics/FontFastPath.cpp:
  60624. (WebCore::Font::getGlyphsAndAdvancesForSimpleText): Account for final rounding width.
  60625. * platform/graphics/SimpleFontData.cpp:
  60626. (WebCore::SimpleFontData::platformGlyphInit): Initialize m_adjustedSpaceWidth.
  60627. * platform/graphics/SimpleFontData.h:
  60628. (WebCore::SimpleFontData::adjustedSpaceWidth): Re-added.
  60629. * platform/graphics/StringTruncator.cpp:
  60630. (WebCore::stringWidth): Re-added disableRoundingHacks parameter.
  60631. (WebCore::truncateString): Ditto.
  60632. (WebCore::StringTruncator::centerTruncate): Added EnableRoundingHacksOrNot parameter.
  60633. (WebCore::StringTruncator::rightTruncate): Ditto.
  60634. (WebCore::StringTruncator::width): Ditto.
  60635. * platform/graphics/StringTruncator.h:
  60636. * platform/graphics/TextRun.cpp: Added.
  60637. (WebCore::TextRun::setAllowsRoundingHacks): Added.
  60638. * platform/graphics/TextRun.h:
  60639. (WebCore::TextRun::TextRun): Added RoundingHacks parameter to the constructors, used to initialize
  60640. the m_applyRunRounding and m_applyWordRounding member variables, subject to rounding hacks being allowed.
  60641. (WebCore::TextRun::applyRunRounding): Re-added this accessor.
  60642. (WebCore::TextRun::applyWordRounding): Ditto.
  60643. (WebCore::TextRun::disableRoundingHacks): Re-added.
  60644. * platform/graphics/WidthIterator.cpp:
  60645. (WebCore::WidthIterator::WidthIterator): Re-added code to apply rounding hacks.
  60646. (WebCore::WidthIterator::advance): Ditto.
  60647. * platform/graphics/WidthIterator.h:
  60648. * platform/graphics/mac/ComplexTextController.cpp:
  60649. (WebCore::ceilCGFloat): Re-added.
  60650. (WebCore::ComplexTextController::ComplexTextController): Re-added code to apply rounding hacks.
  60651. (WebCore::ComplexTextController::advance): Ditto.
  60652. (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Ditto.
  60653. * platform/graphics/mac/ComplexTextController.h:
  60654. (WebCore::ComplexTextController::finalRoundingWidth): Re-added this accessor.
  60655. * platform/graphics/mac/FontComplexTextMac.cpp:
  60656. (WebCore::Font::getGlyphsAndAdvancesForComplexText): Accound for final rounding width.
  60657. * platform/graphics/qt/SimpleFontDataQt.cpp:
  60658. (WebCore::SimpleFontData::platformGlyphInit): Initialize m_adjustedSpaceWidth.
  60659. * platform/gtk/RenderThemeGtk.cpp:
  60660. (WebCore::RenderThemeGtk::fileListNameForWidth): Enabled rounding hacks in the string truncator.
  60661. * platform/mac/DragImageMac.mm:
  60662. (WebCore::widthWithFont): Disable rounding hacks when measuring.
  60663. (WebCore::drawAtPoint): Disable rounding hacks when drawing.
  60664. * platform/win/DragImageWin.cpp:
  60665. (WebCore::createDragImageForLink): Enable rounding hacks in the string truncator.
  60666. * platform/win/WebCoreTextRenderer.cpp:
  60667. (WebCore::WebCoreTextFloatWidth): Ditto.
  60668. * rendering/RenderFileUploadControl.cpp:
  60669. (WebCore::RenderFileUploadControl::paintObject): Disable rounding hacks.
  60670. * rendering/RenderListBox.cpp:
  60671. (WebCore::RenderListBox::updateFromElement): Ditto.
  60672. (WebCore::RenderListBox::paintItemForeground): Ditto.
  60673. * rendering/RenderTextControl.cpp:
  60674. (WebCore::RenderTextControl::getAvgCharWidth): Ditto.
  60675. * rendering/RenderTheme.cpp:
  60676. (WebCore::RenderTheme::fileListNameForWidth): Enabled rounding hacks in the string truncator.
  60677. * rendering/RenderThemeMac.mm:
  60678. (WebCore::RenderThemeMac::fileListNameForWidth): Ditto.
  60679. * rendering/svg/SVGInlineTextBox.cpp:
  60680. (WebCore::SVGInlineTextBox::constructTextRun): Disabled rounding hacks.
  60681. * rendering/svg/SVGTextMetrics.cpp:
  60682. (WebCore::constructTextRun): Ditto.
  60683. 2011-06-24 Nikolas Zimmermann <nzimmermann@rim.com>
  60684. Reviewed by Rob Buis.
  60685. Integrate SVG Fonts within GlyphPage concept, removing the special SVG code paths from Font, making it possible to reuse the simple text code path for SVG Fonts
  60686. https://bugs.webkit.org/show_bug.cgi?id=59085
  60687. font substitution doesn't work for HTML text using SVG fonts
  60688. https://bugs.webkit.org/show_bug.cgi?id=17608
  60689. Selection rects are wrong for text with SVG fonts
  60690. https://bugs.webkit.org/show_bug.cgi?id=25460
  60691. With @font-face, SVG fonts only work as primary, non-segmented
  60692. https://bugs.webkit.org/show_bug.cgi?id=32227
  60693. When using SVG fonts with @font-face word-spacing and text-align: justify are not being honored
  60694. https://bugs.webkit.org/show_bug.cgi?id=34236
  60695. SVG @font-face breaks text-overflow: ellipsis
  60696. https://bugs.webkit.org/show_bug.cgi?id=36840
  60697. REGRESSION: SVG Font selection problems
  60698. https://bugs.webkit.org/show_bug.cgi?id=41934
  60699. Tests: svg/custom/svg-fonts-fallback.xhtml (for bug 17608, extended the original test from Mark Ambachtsheer)
  60700. svg/custom/svg-fonts-segmented.xhtml (for bug 32227)
  60701. svg/custom/svg-fonts-word-spacing.html (for bug 34236, from Michael Lewis)
  60702. svg/text/select-text-svgfont.html (for bug 25460/41934, from Emil Schutte)
  60703. svg/text/text-overflow-ellipsis-svgfont.html (for 36840, from Emil Schutte)
  60704. Rewrite the SVG Fonts support to fully integrate within the GlyphPage concept and the "simple" code path used to render platform fonts.
  60705. That means the special logic for measuring text using SVG Fonts, calculating offset for positions, computing selection rects etc. is all gone now.
  60706. There's no difference anymore between using a native font or a SVG Font, in terms of these operations.
  60707. This makes text selection using SVG Fonts possible again.
  60708. * features.pri: Temporarily turn of SVG Fonts for Qt, as long as QRawFont support is not available and the fast path is disabled.
  60709. * page/DOMWindow.idl: Touched file to force Qt regenerating the bindings.
  60710. * platform/graphics/Font.cpp: Remove SVG Font special cases, the simple code path now handles SVG Fonts as well.
  60711. (WebCore::Font::drawText):
  60712. (WebCore::Font::drawEmphasisMarks):
  60713. (WebCore::Font::width):
  60714. (WebCore::Font::selectionRectForText):
  60715. (WebCore::Font::offsetForPosition):
  60716. (WebCore::Font::codePath):
  60717. * platform/graphics/Font.h: Pass TextRun to drawGlyphBuffer/drawEmphasisMarks. Add new glyphDataAndPageForCharacter() method which returns a pair
  60718. std::pair<GlyphData, GlyphPage*>, so we know the associated GlyphPage for a certain GlyphData object, which is needed to properly
  60719. handle font fallback glyph matching for SVG Fonts..
  60720. (WebCore::Font::fontList): Add FontFallbackList accessor.
  60721. * platform/graphics/FontFallbackList.h: Add getters/setters for glyphPageZero -- SVG Fonts support needs access to these objects from SVGTextRunRenderingContext.
  60722. (WebCore::FontFallbackList::glyphPageZero):
  60723. (WebCore::FontFallbackList::glyphPages):
  60724. (WebCore::FontFallbackList::setGlyphPageZero):
  60725. (WebCore::FontFallbackList::setGlyphPages):
  60726. * platform/graphics/FontFastPath.cpp:
  60727. (WebCore::Font::glyphDataForCharacter): Move implementation to glyphDataAndPageForCharacter(), and use that method from here.
  60728. (WebCore::Font::glyphDataAndPageForCharacter): Does the same as before, just returns an additional GlyphPage* pointer.
  60729. (WebCore::Font::getEmphasisMarkGlyphData): Remove SVG Fonts special case.
  60730. (WebCore::Font::drawGlyphBuffer): Ditto.
  60731. * platform/graphics/FontMetrics.h:
  60732. (WebCore::scaleEmToUnits): Refactored scaleEmToUnits free function from SimpleFontDataMac/CGWin to share with SVGFontData/SVGTextRunRenderingContext.
  60733. * platform/graphics/GlyphPageTreeNode.cpp:
  60734. (WebCore::fill): Stop skipping SVG Fonts, they now also fill the GlyphPage using the glyphs defined in the SVG Font.
  60735. * platform/graphics/SVGGlyph.h: s/isValid/isPartOfLigature/. Its usage has been changed.
  60736. (WebCore::SVGGlyph::SVGGlyph):
  60737. (WebCore::SVGGlyph::operator==):
  60738. * platform/graphics/SimpleFontData.cpp: Change font size to be a float, not an int.
  60739. (WebCore::SimpleFontData::SimpleFontData):
  60740. * platform/graphics/SimpleFontData.h: Add new pure virtual methods to the AdditionalFontData interface, to be implemented in SVGFontData.
  60741. (WebCore::SimpleFontData::widthForGlyph): Call widthForSVGGlyph, if we encounter a SVG glyph.
  60742. * platform/graphics/TextRun.h:
  60743. * platform/graphics/WidthIterator.cpp:
  60744. (WebCore::WidthIterator::glyphDataForCharacter):
  60745. (WebCore::WidthIterator::advance):
  60746. * platform/graphics/WidthIterator.h: Store several new members needed for SVG Fonts support (last processed glyph name used for kerning pair lookup)
  60747. and a map mapping each character of a text to its arabic-form (if needed, to perform SVG glyph selection for Arabic text).
  60748. (WebCore::WidthIterator::run):
  60749. (WebCore::WidthIterator::runWidthSoFar):
  60750. (WebCore::WidthIterator::lastGlyphName):
  60751. (WebCore::WidthIterator::setLastGlyphName):
  60752. (WebCore::WidthIterator::arabicForms):
  60753. * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Use new scaleEmToUnits free function from FontMetrics.h.
  60754. * platform/graphics/mac/SimpleFontDataMac.mm: Ditto.
  60755. * platform/graphics/win/SimpleFontDataCGWin.cpp: Ditto.
  60756. * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
  60757. (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes): Handle UTF-16 surrogate pairs correctly, fixes the previous Acid3 regression.
  60758. * rendering/svg/SVGTextMetrics.cpp:
  60759. (WebCore::SVGTextMetrics::SVGTextMetrics):
  60760. (WebCore::constructTextRun):
  60761. (WebCore::SVGTextMetrics::measureCharacterRange):
  60762. * rendering/svg/SVGTextMetrics.h:
  60763. * rendering/svg/SVGTextRunRenderingContext.cpp: Remove drawTextUsingSVGFont/floatWidthUsingSVGFont/selectionRectForTextUsingSVGFont/offsetForPositionForTextUsingSVGFont.
  60764. (WebCore::firstParentRendererForNonTextNode): Don't assert node() exists, doesn't hold true for generated render objects.
  60765. (WebCore::renderObjectFromRun): Renamed from referencingRenderObjectFromRun.
  60766. (WebCore::SVGTextRunRenderingContext::floatWidthUsingSVGFont): Remove extra "extraCharsAvailable" parameter, now solves via TextRun::charactersLength().
  60767. (WebCore::calculateEmUnitToPixelScaleFactor): Add helper method.
  60768. (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs): Main drawing method, this actually creates/renders Paths.
  60769. (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): Part 1/2 of SVG Glyph selection code.
  60770. * rendering/svg/SVGTextRunRenderingContext.h:
  60771. * svg/SVGAltGlyphElement.cpp:
  60772. (WebCore::SVGAltGlyphElement::hasValidGlyphElement):
  60773. * svg/SVGAltGlyphElement.h:
  60774. * svg/SVGFontData.cpp:
  60775. (WebCore::SVGFontData::initializeFontData): Changed font size from int to float.
  60776. (WebCore::SVGFontData::widthForSVGGlyph): Lookup a SVGGlyph from a Glyph using the glyph table in SVGFontElement and calculate its width.
  60777. (WebCore::SVGFontData::applySVGGlyphSelection): Part 2/2 of SVG Glyph selection code.
  60778. (WebCore::SVGFontData::fillSVGGlyphPage): Fill GlyphPage using glyphs defined in the SVG Font.
  60779. (WebCore::SVGFontData::fillBMPGlyphs): Moved from the previous fillSVGGlyphPage implementation.
  60780. (WebCore::SVGFontData::fillNonBMPGlyphs): Add non-bmp glyph handling, fixing the Acid3 regression (support using SVGGlyphs for UTF-16 surrogate pairs).
  60781. * svg/SVGFontData.h:
  60782. * svg/SVGFontElement.cpp:
  60783. (WebCore::SVGFontElement::registerLigaturesInGlyphCache): Enable ligature registration for the use within GlyphPage.
  60784. (WebCore::SVGFontElement::ensureGlyphCache):
  60785. * svg/SVGGlyphMap.h: Switch to use SurrogatePairTextIterator, and switch glyph table from UChar to UChar32, just like GlyphPage, to handle glyphs from non-BMP correctly.
  60786. (WebCore::SVGGlyphMap::addGlyph): Remove setting isValid, it's not needed anymore and gone.
  60787. (WebCore::SVGGlyphMap::collectGlyphsForString):
  60788. * svg/svgtags.in: Surround vkern in ENABLE_SVG_FONTS block.
  60789. 2011-06-24 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  60790. Reviewed by Antonio Gomes.
  60791. [CMAKE] Replace ";" with space in FEATURE_DEFINES macro
  60792. https://bugs.webkit.org/show_bug.cgi?id=62211
  60793. html.css file doesn't recognize ENABLE_XXX macro because FEATURE_DEFINES macro has ";"
  60794. as separator. So, let the html.css to use new feature macro with space separator.
  60795. * CMakeLists.txt:
  60796. 2011-06-24 Gavin Peters <gavinp@chromium.org>
  60797. Reviewed by Darin Adler.
  60798. fix possible race in LinkLoader
  60799. https://bugs.webkit.org/show_bug.cgi?id=63360
  60800. In chromium bug 80729
  60801. http://code.google.com/p/chromium/issues/detail?id=80729 I am
  60802. seeing some kind of double triggering of the timer; I am concerned
  60803. that it is possible that a Link element errors out or succeeds,
  60804. sets a timer, and shortly before the timer is triggered it is
  60805. editted, launches another request. After that, the first timer
  60806. triggers, zeroing out m_cachedResource. Then, the second load
  60807. finishes, and *crash*. If this is the case, this fix should stop
  60808. it.
  60809. No new tests; I haven't reproduced this. I hope chrome's crash
  60810. telemetry will give good feedback; this crash is occuring many times a
  60811. day so the difference should be obvious.
  60812. * loader/LinkLoader.cpp:
  60813. (WebCore::LinkLoader::LinkLoader):
  60814. (WebCore::LinkLoader::linkLoadTimerFired):
  60815. (WebCore::LinkLoader::linkLoadingErrorTimerFired):
  60816. (WebCore::LinkLoader::notifyFinished):
  60817. * loader/LinkLoader.h:
  60818. 2011-06-24 Jer Noble <jer.noble@apple.com>
  60819. Reviewed by Eric Carlson.
  60820. Safari will quit unexpectedly when launching Safari in the first time (crash in initQTSecurityPolicyNoLocalToRemoteSiteAttribute)
  60821. https://bugs.webkit.org/show_bug.cgi?id=63332
  60822. <rdar://problem/9661650>
  60823. No new tests; Only affects machines with QTKit < 7.6.3 installed.
  60824. Check to see if QTSecurityPolicyNoRemoteToLocalSiteAttribute is non-NULL before passing it into -[QTMovie initWithAttributes:],
  60825. as it is only defined in QTKit >= 7.6.3. If it is NULL, pass QTSecurityPolicyNoCrossSiteAttribute=YES instead, which has
  60826. the same effect in earlier versions of QTKit as the NoLocalToRemote and NoRemoteToLocal keys. To avoid ASSERTs when running
  60827. debug builds with earlier versions of QTKit, add a SOFT_LINK_POINTER_OPTIONAL macro to SoftLinking.h and make these keys optional.
  60828. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  60829. (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes):
  60830. * platform/mac/SoftLinking.h: Add SOFT_LINK_POINTER_OPTIONAL macro.
  60831. 2011-06-24 Darin Adler <darin@apple.com>
  60832. Try to fix Windows build failure.
  60833. * platform/win/ClipboardUtilitiesWin.cpp:
  60834. (WebCore::setFileDescriptorData): Copy string into a local so we
  60835. can call charactersWithNullTermination on it.
  60836. 2011-06-23 Darin Adler <darin@apple.com>
  60837. Reviewed by Adam Barth.
  60838. Remove some unneeded functions from FrameLoader
  60839. https://bugs.webkit.org/show_bug.cgi?id=63295
  60840. Removing 7 of the functions in FrameLoader.h is probably a step
  60841. in the right direction.
  60842. * loader/DocumentLoader.cpp:
  60843. (WebCore::DocumentLoader::handledOnloadEvents):
  60844. Moved the call to stopDeferringEvents in here from FrameLoader.
  60845. * loader/DocumentLoader.h: Ditto.
  60846. * loader/DocumentWriter.h: Fixed a typo.
  60847. * loader/FrameLoader.cpp:
  60848. (WebCore::FrameLoader::setFirstPartyForCookies): Changed this to
  60849. use a non-recursive tree walk instead of recursion.
  60850. (WebCore::FrameLoader::stopAllLoaders): Moved the code from
  60851. stopLoadingSubframes inline, since it's only two lines of code.
  60852. (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Moved
  60853. the code from markLoadComplete inline, since it's only one line.
  60854. (WebCore::FrameLoader::checkLoadComplete): Changed this to use a
  60855. non-recursive tree walk instead of recursion, eliminating the
  60856. recursiveCheckLoadComplete function completely.
  60857. (WebCore::FrameLoader::handledOnloadEvents): Moved the call to
  60858. stopDeferringEvents into DocumentLoader.
  60859. * loader/FrameLoader.h: Removed unneeded forward declarations,
  60860. and now-unneeded functions setupForReplaceByMIMEType,
  60861. isStopping, isLoadingFromCachedPage, stopLoadingSubframes,
  60862. markLoadComplete, mainReceivedError, and recursiveCheckLoadComplete.
  60863. Also made allChildrenAreComplete private.
  60864. * loader/MainResourceLoader.cpp:
  60865. (WebCore::MainResourceLoader::continueAfterContentPolicy):
  60866. Call DocumentLoader::isStopping so we can remove the function
  60867. from FrameLoader that just calls through. Other call sites were
  60868. using DocumentLoader::isStopping directly.
  60869. (WebCore::MainResourceLoader::didReceiveResponse): Call
  60870. DocumentLoader::setupForReplaceByMIMEType so we can remove the
  60871. function from FrameLoader that just calls through. This was
  60872. the only call site.
  60873. * loader/ResourceLoader.cpp:
  60874. (WebCore::ResourceLoader::init): Call the
  60875. ResourceLoader::cancelledError function instead of calling
  60876. directly to FrameLoader.
  60877. * loader/ResourceLoader.h: Made response an inline function.
  60878. 2011-06-24 Alexey Proskuryakov <ap@apple.com>
  60879. Rubber-stamped by Maciej Stachowiak.
  60880. REGRESSION (r88984): Infinite recursion in DocumentLoader::detachFromFrame/stopLoading
  60881. No new tests, as there is no known way to reproduce this (but we'll keep investigating, as
  60882. the rollout will re-introduce the older less frequent crash).
  60883. * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::detachFromFrame): Rollout the fix
  60884. for bug 62764.
  60885. 2011-06-24 Tony Chang <tony@chromium.org>
  60886. Reviewed by Ojan Vafai.
  60887. add flexbox and inline-flexbox as possible CSS display values
  60888. https://bugs.webkit.org/show_bug.cgi?id=63361
  60889. Test: css3/flexbox/display-property.html
  60890. * css/CSSParser.cpp:
  60891. (WebCore::CSSParser::parseValue):
  60892. * css/CSSValueKeywords.in:
  60893. 2011-06-24 Anna Cavender <annacc@chromium.org>
  60894. Reviewed by Eric Carlson.
  60895. Loading out-of-band text track files from <track>.
  60896. https://bugs.webkit.org/show_bug.cgi?id=62881
  60897. Uses the src attribute of <track> urls to load out-of-band text track
  60898. files using ThreadableLoader. Also removes TextTrackPrivateInterface
  60899. (as well as LoadableTextTrackImpl and MutableTextTrackImpl) classes.
  60900. No new tests because feature is hidden behind VIDEO_TRACK feature
  60901. define, which is turned off.
  60902. * CMakeLists.txt:
  60903. * GNUmakefile.am:
  60904. * GNUmakefile.list.am:
  60905. * WebCore.gypi:
  60906. * WebCore.pro:
  60907. * WebCore.xcodeproj/project.pbxproj:
  60908. * html/HTMLMediaElement.cpp:
  60909. * html/HTMLMediaElement.h:
  60910. * html/HTMLTrackElement.cpp:
  60911. * html/HTMLTrackElement.h:
  60912. * html/LoadableTextTrack.cpp:
  60913. * html/LoadableTextTrack.h:
  60914. * html/LoadableTextTrackImpl.cpp: Removed.
  60915. * html/LoadableTextTrackImpl.h: Removed.
  60916. * html/MutableTextTrack.cpp:
  60917. * html/MutableTextTrack.h:
  60918. * html/MutableTextTrackImpl.cpp: Removed.
  60919. * html/MutableTextTrackImpl.h: Removed.
  60920. * html/TextTrack.cpp:
  60921. * html/TextTrack.h:
  60922. * html/TextTrackPrivate.h: Removed.
  60923. * platform/track/CueParser.cpp:
  60924. * platform/track/CueParser.h:
  60925. 2011-06-24 Rob Buis <rbuis@rim.com>
  60926. Rubber-stamped by Nikolas Zimmermann.
  60927. All pointer-events fail if text has visibility="hidden"
  60928. https://bugs.webkit.org/show_bug.cgi?id=62209
  60929. Do not use writing mode aware code for SVG Text.
  60930. No new tests needed.
  60931. * rendering/svg/SVGInlineTextBox.cpp:
  60932. (WebCore::SVGInlineTextBox::nodeAtPoint):
  60933. 2011-06-24 Lukasz Slachciak <l.slachciak@samsung.com>
  60934. Reviewed by Darin Adler.
  60935. Change NDEBUG to !LOG_DISABLED macro in databases for logging.
  60936. https://bugs.webkit.org/show_bug.cgi?id=63346
  60937. Changed NDEBUG to !LOG_DISABLED in databases code which involves logging.
  60938. This change resolves also build break in Release build when logging enabled.
  60939. No new tests because there is no new behavior or feature exposed.
  60940. * loader/icon/IconDatabase.cpp: Macro fixes.
  60941. (WebCore::IconDatabase::iconDatabaseSyncThread):
  60942. (WebCore::IconDatabase::syncThreadMainLoop):
  60943. (WebCore::IconDatabase::readFromDatabase):
  60944. (WebCore::IconDatabase::writeToDatabase):
  60945. (WebCore::IconDatabase::cleanupSyncThread):
  60946. * storage/AbstractDatabase.h: Macro fixes.
  60947. * storage/DatabaseTask.cpp: Macro fixes.
  60948. * storage/DatabaseTask.h: Macro fixes.
  60949. * storage/SQLTransaction.cpp: Macro fixes.
  60950. * storage/SQLTransaction.h: Macro fixes.
  60951. 2011-06-24 Tony Chang <tony@chromium.org>
  60952. Reviewed by Adam Barth.
  60953. Pass Strings by const reference to functions
  60954. https://bugs.webkit.org/show_bug.cgi?id=63341
  60955. Note that since Strings hold a RefPtr to StringImpl, passing Strings
  60956. by value isn't horrible, but it does cause ref count churn and using
  60957. const references is more consistent with the rest of the code base.
  60958. * loader/FrameLoader.cpp:
  60959. (WebCore::FrameLoader::addHTTPOriginIfNeeded): Rework the code to not
  60960. change the value of the passed in String.
  60961. * loader/FrameLoader.h:
  60962. * platform/win/ClipboardUtilitiesWin.cpp:
  60963. (WebCore::setFileDescriptorData):
  60964. * platform/win/ClipboardUtilitiesWin.h:
  60965. * storage/DatabaseTracker.h:
  60966. * storage/IDBLevelDBBackingStore.cpp:
  60967. (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
  60968. * storage/IDBLevelDBBackingStore.h:
  60969. * storage/IDBSQLiteBackingStore.cpp:
  60970. (WebCore::IDBSQLiteBackingStore::IDBSQLiteBackingStore):
  60971. * storage/IDBSQLiteBackingStore.h:
  60972. * storage/chromium/DatabaseTrackerChromium.cpp:
  60973. (WebCore::DatabaseTracker::getOpenDatabases):
  60974. * svg/SVGPaint.cpp:
  60975. (WebCore::SVGPaint::SVGPaint):
  60976. * svg/SVGPaint.h:
  60977. * svg/animation/SMILTimeContainer.cpp:
  60978. (WebCore::SMILTimeContainer::updateAnimations):
  60979. * svg/animation/SMILTimeContainer.h:
  60980. * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
  60981. (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
  60982. * websockets/ThreadableWebSocketChannelClientWrapper.h:
  60983. 2011-06-24 Abhishek Arya <inferno@chromium.org>
  60984. Reviewed by Darin Adler.
  60985. Add clamping for CSSPrimitiveValues and SVGInlineText font size.
  60986. https://bugs.webkit.org/show_bug.cgi?id=53449
  60987. Test: svg/text/svg-zoom-large-value.xhtml
  60988. * css/CSSPrimitiveValue.cpp:
  60989. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): add asserts to detect if the
  60990. number created is valid.
  60991. * css/CSSPrimitiveValue.h: add clamping checks to prevent overflows.
  60992. (WebCore::CSSPrimitiveValue::getFloatValue):
  60993. (WebCore::CSSPrimitiveValue::getIntValue):
  60994. * css/CSSStyleSelector.cpp:
  60995. (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): split into two
  60996. static functions, one specific to CSSStyleSelector and other generic to help
  60997. in clamping font size for other callers like svg text, etc.
  60998. * css/CSSStyleSelector.h:
  60999. * platform/graphics/FontDescription.h: add asserts to detect if the new font
  61000. size is valid.
  61001. (WebCore::FontDescription::setComputedSize):
  61002. (WebCore::FontDescription::setSpecifiedSize):
  61003. * rendering/svg/RenderSVGInlineText.cpp:
  61004. (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle): use the new helper
  61005. from CSSStyleSelector to help in clamping new scaled font size. do not use
  61006. "smart minimum" since svg allows really small unreadable fonts (tested by existing
  61007. layout tests). Document's minimum font size clamp (0 in my case) and harmless epsilon
  61008. check in CSSStyleSelector function should still hold for svg.
  61009. 2011-06-24 Julien Chaffraix <jchaffraix@webkit.org>
  61010. Reviewed by Darin Adler.
  61011. Remove unsafe static_cast inside the InlineBox hierarchy
  61012. https://bugs.webkit.org/show_bug.cgi?id=63077
  61013. Refactoring only, no new test.
  61014. * rendering/InlineFlowBox.h:
  61015. (WebCore::toInlineFlowBox):
  61016. * rendering/InlineTextBox.h:
  61017. (WebCore::toInlineTextBox):
  61018. Added the proper cast methods to those 2 classes from an InlineBox.
  61019. * rendering/InlineBox.cpp:
  61020. (WebCore::InlineBox::nextLeafChild):
  61021. (WebCore::InlineBox::prevLeafChild):
  61022. * rendering/InlineFlowBox.cpp:
  61023. (WebCore::InlineFlowBox::getFlowSpacingLogicalWidth):
  61024. (WebCore::InlineFlowBox::addToLine):
  61025. (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
  61026. (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
  61027. (WebCore::InlineFlowBox::requiresIdeographicBaseline):
  61028. (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
  61029. (WebCore::InlineFlowBox::computeLogicalBoxHeights):
  61030. (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
  61031. (WebCore::InlineFlowBox::flipLinesInBlockDirection):
  61032. (WebCore::InlineFlowBox::computeOverflow):
  61033. (WebCore::InlineFlowBox::firstLeafChild):
  61034. (WebCore::InlineFlowBox::lastLeafChild):
  61035. (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
  61036. (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
  61037. * rendering/RenderBlock.cpp:
  61038. (WebCore::RenderBlock::positionForBox):
  61039. * rendering/RenderBlockLineLayout.cpp:
  61040. (WebCore::RenderBlock::createLineBoxes):
  61041. (WebCore::RenderBlock::constructLine):
  61042. (WebCore::setLogicalWidthForTextRun):
  61043. (WebCore::computeExpansionForJustifiedText):
  61044. (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
  61045. * rendering/RenderText.cpp:
  61046. (WebCore::RenderText::localCaretRect):
  61047. (WebCore::RenderText::positionLineBox):
  61048. * rendering/RootInlineBox.cpp:
  61049. (WebCore::RootInlineBox::ascentAndDescentForBox):
  61050. (WebCore::RootInlineBox::includeFontForBox):
  61051. (WebCore::RootInlineBox::includeGlyphsForBox):
  61052. Replaced the static_cast in those previous call sites with the new cast methods.
  61053. 2011-06-24 Alexis Menard <alexis.menard@openbossa.org>
  61054. Unreviewed build fix.
  61055. Build fix on Linux when using the GStreamer backend.
  61056. No new tests, just a build fix.
  61057. * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
  61058. (FullScreenVideoWindow::keyPressEvent):
  61059. 2011-06-24 Nat Duca <nduca@chromium.org>
  61060. Unreviewed, rolling out r89694.
  61061. http://trac.webkit.org/changeset/89694
  61062. https://bugs.webkit.org/show_bug.cgi?id=58408
  61063. Test shell still not ready for animate changes.
  61064. * WebCore.gypi:
  61065. * platform/graphics/chromium/LayerRendererChromium.cpp:
  61066. (WebCore::LayerRendererChromium::create):
  61067. (WebCore::LayerRendererChromium::LayerRendererChromium):
  61068. (WebCore::LayerRendererChromium::setViewport):
  61069. (WebCore::LayerRendererChromium::updateAndDrawLayers):
  61070. * platform/graphics/chromium/LayerRendererChromium.h:
  61071. * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
  61072. * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
  61073. (WebCore::CCHeadsUpDisplay::setShowFPSCounter):
  61074. (WebCore::CCHeadsUpDisplay::setShowPlatformLayerTree):
  61075. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: Removed.
  61076. * platform/graphics/chromium/cc/CCLayerTreeHost.h: Removed.
  61077. * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.cpp: Removed.
  61078. * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.h: Removed.
  61079. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: Removed.
  61080. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: Removed.
  61081. * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp: Removed.
  61082. * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h: Removed.
  61083. * platform/graphics/chromium/cc/CCMainThreadTask.h:
  61084. * platform/graphics/chromium/cc/CCThread.cpp:
  61085. (WebCore::CCThread::runLoop):
  61086. * platform/graphics/chromium/cc/CCThreadTask.h:
  61087. 2011-06-24 Chris Rogers <crogers@google.com>
  61088. Unreviewed build fix.
  61089. Fix Chromium Linux Build
  61090. https://bugs.webkit.org/show_bug.cgi?id=63349
  61091. * WebCore.gyp/WebCore.gyp:
  61092. 2011-06-24 Henry Song <hsong@sisa.samsung.com>
  61093. Reviewed by Martin Robinson.
  61094. Correct _sharedTimer value in SharedTimerEfl.cpp
  61095. https://bugs.webkit.org/show_bug.cgi?id=62380
  61096. SharedTimerEfl.cpp set _sharedTimer = 0 is incorrect in
  61097. timerEvent(), we have observed addNewTimer() can be triggered
  61098. by either inside timerFunction() or others that are not within
  61099. timerFunction(). We have observed the following case:
  61100. 1. add a new Timer within timerFunction()
  61101. 2. timerFunction returns, set _sharedTimer = 0
  61102. 3. addNewTimer() is triggered again within webkit, don't know
  61103. it triggers this.
  61104. 4. because at this moment, _sharedTimer == 0, the previous
  61105. registered timer (in step 1) did not get removed.
  61106. 5. Now in ecore_timer, there are two timers with same callbacks
  61107. 6. From now on, timerFunction() will be called twice back-to-back
  61108. in each ecore_timer loop.
  61109. To correct this, we should set _sharedTimer = 0 before
  61110. timerFunction() so that when addNewTimer() triggered within,
  61111. we have a valid timer object.
  61112. * platform/efl/SharedTimerEfl.cpp:
  61113. (WebCore::timerEvent):
  61114. 2011-05-17 Nat Duca <nduca@chromium.org>
  61115. Reviewed by James Robinson.
  61116. [chromium] Implement CCLayerTreeHost and CCLayerTreeHostImpl portions of threaded compositor
  61117. https://bugs.webkit.org/show_bug.cgi?id=58408
  61118. Create CCLayerTreeHost and CCLayerTreeHostImpl, which are the main
  61119. thread and compositor thread halves of a composited view. Communication
  61120. between the two is based on the design used in FileStreamProxy.
  61121. * WebCore.gypi:
  61122. * platform/chromium/TraceEvent.h:
  61123. * platform/graphics/chromium/LayerRendererChromium.cpp:
  61124. (WebCore::LayerRendererChromium::create):
  61125. (WebCore::LayerRendererChromium::LayerRendererChromium):
  61126. (WebCore::LayerRendererChromium::setViewport):
  61127. (WebCore::LayerRendererChromium::updateLayers):
  61128. (WebCore::LayerRendererChromium::drawLayers):
  61129. (WebCore::LayerRendererChromiumImpl::create):
  61130. (WebCore::LayerRendererChromiumImpl::drawLayersAndPresent):
  61131. (WebCore::LayerRendererChromiumImpl::LayerRendererChromiumImpl):
  61132. (WebCore::LayerRendererChromiumImpl::drawLayersOnMainThread):
  61133. (WebCore::LayerRendererChromiumImplProxy::create):
  61134. (WebCore::LayerRendererChromiumImplProxy::createLayerTreeHostImpl):
  61135. (WebCore::LayerRendererChromiumImplProxy::LayerRendererChromiumImplProxy):
  61136. (WebCore::LayerRendererChromium::createLayerTreeHostImplProxy):
  61137. * platform/graphics/chromium/LayerRendererChromium.h:
  61138. * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
  61139. (WebCore::CCHeadsUpDisplay::setShowFPSCounter):
  61140. (WebCore::CCHeadsUpDisplay::setShowPlatformLayerTree):
  61141. * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
  61142. (WebCore::CCHeadsUpDisplay::currentFrameNumber):
  61143. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
  61144. (WebCore::CCLayerTreeHost::CCLayerTreeHost):
  61145. (WebCore::CCLayerTreeHost::init):
  61146. (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
  61147. (WebCore::CCLayerTreeHost::beginCommit):
  61148. (WebCore::CCLayerTreeHost::commitComplete):
  61149. (WebCore::CCLayerTreeHost::animateAndLayout):
  61150. (WebCore::CCLayerTreeHost::createLayerTreeHostCommitter):
  61151. (WebCore::CCLayerTreeHost::setNeedsCommitAndRedraw):
  61152. (WebCore::CCLayerTreeHost::setNeedsRedraw):
  61153. (WebCore::CCLayerTreeHost::updateLayers):
  61154. * platform/graphics/chromium/cc/CCLayerTreeHost.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
  61155. (WebCore::CCLayerTreeHost::frameNumber):
  61156. * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
  61157. (WebCore::CCLayerTreeHostCommitter::create):
  61158. (WebCore::CCLayerTreeHostCommitter::commit):
  61159. * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
  61160. (WebCore::CCLayerTreeHostCommitter::CCLayerTreeHostCommitter):
  61161. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: Added.
  61162. (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
  61163. (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
  61164. (WebCore::CCLayerTreeHostImpl::beginCommit):
  61165. (WebCore::CCLayerTreeHostImpl::commitComplete):
  61166. (WebCore::CCLayerTreeHostImpl::drawLayers):
  61167. (WebCore::CCLayerTreeHostImpl::setNeedsCommitAndRedraw):
  61168. (WebCore::CCLayerTreeHostImpl::setNeedsRedraw):
  61169. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
  61170. (WebCore::CCLayerTreeHostImplClient::~CCLayerTreeHostImplClient):
  61171. (WebCore::CCLayerTreeHostImpl::frameNumber):
  61172. (WebCore::CCLayerTreeHostImpl::sourceFrameNumber):
  61173. (WebCore::CCLayerTreeHostImpl::setSourceFrameNumber):
  61174. * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp: Added.
  61175. (WebCore::CCLayerTreeHostImplProxy::CCLayerTreeHostImplProxy):
  61176. (WebCore::CCLayerTreeHostImplProxy::start):
  61177. (WebCore::CCLayerTreeHostImplProxy::~CCLayerTreeHostImplProxy):
  61178. (WebCore::CCLayerTreeHostImplProxy::isStarted):
  61179. (WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedraw):
  61180. (WebCore::CCLayerTreeHostImplProxy::setNeedsRedraw):
  61181. (WebCore::CCLayerTreeHostImplProxy::stop):
  61182. (WebCore::CCLayerTreeHostImplProxy::postDrawLayersTaskOnCCThread):
  61183. (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommitOnCCThread):
  61184. (WebCore::CCLayerTreeHostImplProxy::isMainThread):
  61185. (WebCore::CCLayerTreeHostImplProxy::isCCThread):
  61186. (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommit):
  61187. (WebCore::CCLayerTreeHostImplProxy::commitOnCCThread):
  61188. (WebCore::CCLayerTreeHostImplProxy::drawLayersOnCCThread):
  61189. (WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedrawOnCCThread):
  61190. (WebCore::CCLayerTreeHostImplProxy::setNeedsRedrawOnCCThread):
  61191. (WebCore::CCLayerTreeHostImplProxy::initImplOnCCThread):
  61192. (WebCore::CCLayerTreeHostImplProxy::layerTreeHostClosedOnCCThread):
  61193. * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h: Added.
  61194. (WebCore::CCLayerTreeHostImplProxy::host):
  61195. * platform/graphics/chromium/cc/CCMainThreadTask.h:
  61196. * platform/graphics/chromium/cc/CCThread.cpp:
  61197. (WebCore::CCThread::runLoop):
  61198. * platform/graphics/chromium/cc/CCThreadTask.h:
  61199. 2011-06-24 Adrienne Walker <enne@google.com>
  61200. Unreviewed, remove assertion about root layers in RenderLayerBacking.
  61201. https://bugs.webkit.org/show_bug.cgi?id=60741
  61202. This was added in r89687, but somehow is not true on Safari Leopard.
  61203. However, as the tests that were added with that revision are passing
  61204. correctly, the assertion is most likely not correct.
  61205. * rendering/RenderLayerBacking.cpp:
  61206. (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
  61207. 2011-06-24 Nikolas Zimmermann <nzimmermann@rim.com>
  61208. Reviewed by Dirk Schulze.
  61209. Refactor text iterator code respecting surrogate pairs from WidthIterator
  61210. https://bugs.webkit.org/show_bug.cgi?id=63319
  61211. WidthIterator contains a surrogate pair aware text iterator that is needed in other parts of WebCore.
  61212. Refactor the code into its own SurrogatePairAwareTextIterator class. It can be used like this:
  61213. UChar32 character = 0;
  61214. unsigned clusterLength = 0;
  61215. SurrogatePairAwareTextIterator textIterator(myString.characters(), 0, myString.length(), myString.length());
  61216. while (textIterator.consume(character, clusterLength)) {
  61217. // Either clusterLength is 1 and UChar32 fits into a single UChar.
  61218. // Or clusterLength is 2 and the UChar32 has been computed by combining the high & low surrogate pairs
  61219. ...
  61220. textIterator.advance(clusterLength);
  61221. }
  61222. SVGGlyphMap is the next candidate that wants to make use of SurrogatePairAwareTextIterator.
  61223. Doesn't affect any tests, just refactoring.
  61224. * CMakeLists.txt: Add SurrogatePairAwareTextIterator.* to build.
  61225. * GNUmakefile.list.am: Ditto.
  61226. * WebCore.gypi: Ditto.
  61227. * WebCore.pro: Ditto.
  61228. * WebCore.vcproj/WebCore.vcproj: Ditto.
  61229. * WebCore.xcodeproj/project.pbxproj: Ditto.
  61230. * platform/graphics/SurrogatePairAwareTextIterator.cpp: Copied from platform/graphics/WidthIterator.cpp.
  61231. * platform/graphics/SurrogatePairAwareTextIterator.h: Added.
  61232. (WebCore::SurrogatePairAwareTextIterator::currentCharacter):
  61233. * platform/graphics/WidthIterator.cpp:
  61234. (WebCore::WidthIterator::advance):
  61235. * platform/graphics/WidthIterator.h:
  61236. 2011-06-24 Adrienne Walker <enne@google.com>
  61237. Reviewed by Simon Fraser.
  61238. Incorrect RenderLayer transforms on overflow RTL pages
  61239. https://bugs.webkit.org/show_bug.cgi?id=60741
  61240. Fix positioning of the root graphics layer for RTL pages. The fact
  61241. that the left side of the page is negative for pages with overflow is
  61242. not taken into account when calculating the position. This negative
  61243. value ends up being double-counted for the root graphics layer (once
  61244. in the position and once in the offset) and it shifts child layers
  61245. into the wrong place.
  61246. Tests: compositing/rtl/rtl-absolute-overflow-scrolled.html
  61247. compositing/rtl/rtl-absolute-overflow.html
  61248. compositing/rtl/rtl-absolute.html
  61249. compositing/rtl/rtl-fixed-overflow-scrolled.html
  61250. compositing/rtl/rtl-fixed-overflow.html
  61251. compositing/rtl/rtl-fixed.html
  61252. compositing/rtl/rtl-iframe-absolute-overflow-scrolled.html
  61253. compositing/rtl/rtl-iframe-absolute-overflow.html
  61254. compositing/rtl/rtl-iframe-absolute.html
  61255. compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html
  61256. compositing/rtl/rtl-iframe-fixed-overflow.html
  61257. compositing/rtl/rtl-iframe-fixed.html
  61258. compositing/rtl/rtl-iframe-relative.html
  61259. compositing/rtl/rtl-relative.html
  61260. * rendering/RenderLayerBacking.cpp:
  61261. (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
  61262. 2011-06-24 Ryosuke Niwa <rniwa@webkit.org>
  61263. Reviewed by Enrica Casucci.
  61264. Add BeforeChildren and AfterChildren to the Position's anchor types
  61265. https://bugs.webkit.org/show_bug.cgi?id=63100
  61266. Added PositionIsBeforeChildren and PositionIsAfterChildren to Position::AnchorType and deployed them in
  61267. firstPositionInNode and lastPositionInNode.
  61268. These new types of positions will let us express the first and the last positions in a non-text node in O(1).
  61269. No new tests because there is no new behavior or feature exposed.
  61270. * dom/Position.cpp:
  61271. (WebCore::Position::Position): Assert that the anchor type is not BeforeChildren and AfterChildren for text nodes.
  61272. (WebCore::Position::containerNode): For BeforeChildren and AfterChildren, the anchor node is the container node.
  61273. (WebCore::Position::computeOffsetInContainerNode): The offset in the container node is 0 for BeforeChildren and
  61274. the offset in the anchor node for AfterChildren.
  61275. (WebCore::Position::offsetForPositionAfterAnchor): Called by deprecatedNode; the anchor type could be AfterChildren.
  61276. (WebCore::Position::parentAnchoredEquivalent): If the anchor node is before or after children, then do the trick
  61277. for table and ignored contents like before or after anchor.
  61278. (WebCore::Position::computeNodeBeforePosition): Returns null for BeforeChildren and returns the last child of
  61279. the anchor node for AfterChildren.
  61280. (WebCore::Position::computeNodeAfterPosition): Returns the first child of the anchor node for BeforeChildren
  61281. (WebCore::Position::atFirstEditingPositionForNode): A position is at the last editing position if the anchor type
  61282. is BeforeChildren, or the anchor type is AfterChildren or AfterAnchor and the anchor doesn't have any children.
  61283. (WebCore::Position::atLastEditingPositionForNode): A position is at the last editing position if the anchor type
  61284. is AfterChildren.
  61285. (WebCore::Position::showAnchorTypeAndOffset): Supports BeforeChildren and AfterChildren.
  61286. * dom/Position.h:
  61287. (WebCore::Position::deprecatedEditingOffset): Returns m_offset if the anchor type is BeforeChildren.
  61288. (WebCore::firstPositionInNode): Returns a position in offset for a text node. Otherwise returns BeforeChildren.
  61289. (WebCore::lastPositionInNode): Returns a position in offset for a text node. Otherwise returns AfterChildren.
  61290. * editing/CompositeEditCommand.cpp:
  61291. (WebCore::CompositeEditCommand::positionOutsideTabSpan): Since the anchor node was a text node,
  61292. the anchor type shouldn't be BeforeChildren or AfterChildren.
  61293. * editing/DeleteSelectionCommand.cpp:
  61294. (WebCore::updatePositionForNodeRemoval): Supports BeforeChildren and AfterChildren.
  61295. (WebCore::DeleteSelectionCommand::handleGeneralDelete): Calls updatePositionForNodeRemoval on m_downstremEnd
  61296. when its anchor node is removed instead of manually updating the offset; also avoid calling moveToOffset
  61297. on BeforeChildren or AfterChildren position.
  61298. * editing/FormatBlockCommand.cpp:
  61299. (WebCore::FormatBlockCommand::formatRange): Since lastParagraphInBlockNode is used to insert a placeholder
  61300. after paragraphs below the block is moved into, it needs to be the position after the current last child in
  61301. the block instead of after children in the block; otherwise the position will move to the end of block.
  61302. * editing/VisiblePosition.cpp:
  61303. (WebCore::VisiblePosition::characterAfter): Since the container node is never a text for position before/after
  61304. children or before/after anchor, just return null for these anchor types.
  61305. 2011-06-24 Dominic Cooney <dominicc@chromium.org>
  61306. Reviewed by Dimitri Glazkov.
  61307. Convert shadow DOM-related tests to use window.internals
  61308. https://bugs.webkit.org/show_bug.cgi?id=61671
  61309. * WebCore.exp.in: Exports for symbols used by WebCoreTestSupport.
  61310. * testing/Internals.cpp: The new home of shadowRoot and friends.
  61311. (WebCore::Internals::ensureShadowRoot):
  61312. (WebCore::Internals::shadowRoot):
  61313. (WebCore::Internals::removeShadowRoot):
  61314. (WebCore::Internals::shadowPseudoId):
  61315. * testing/Internals.h:
  61316. * testing/Internals.idl:
  61317. 2011-06-24 Tony Chang <tony@chromium.org>
  61318. Reviewed by Darin Adler.
  61319. Refactor creation of primitive values in CSSParser
  61320. https://bugs.webkit.org/show_bug.cgi?id=63270
  61321. Covered by existing tests.
  61322. * css/CSSParser.cpp:
  61323. (WebCore::CSSParser::createPrimitiveNumericValue): Helper method for creating numeric values
  61324. to keep the cast in one place.
  61325. (WebCore::CSSParser::createPrimitiveStringValue): Helper method for creating string values.
  61326. (WebCore::CSSParser::parseValidPrimitive):
  61327. (WebCore::CSSParser::parseValue):
  61328. (WebCore::CSSParser::parseWCSSInputProperty):
  61329. (WebCore::CSSParser::parsePage):
  61330. (WebCore::CSSParser::parseSizeParameter):
  61331. (WebCore::CSSParser::parseContent):
  61332. (WebCore::CSSParser::parseFillPositionX):
  61333. (WebCore::CSSParser::parseFillPositionY):
  61334. (WebCore::CSSParser::parseFillPositionComponent):
  61335. (WebCore::CSSParser::parseFillSize):
  61336. (WebCore::CSSParser::parseAnimationDelay):
  61337. (WebCore::CSSParser::parseAnimationDuration):
  61338. (WebCore::CSSParser::parseAnimationIterationCount):
  61339. (WebCore::CSSParser::parseAnimationName):
  61340. (WebCore::CSSParser::parseTransformOriginShorthand):
  61341. (WebCore::CSSParser::parseDashboardRegions):
  61342. (WebCore::CSSParser::parseCounterContent):
  61343. (WebCore::CSSParser::parseShape):
  61344. (WebCore::CSSParser::parseFont):
  61345. (WebCore::CSSParser::parseReflect):
  61346. (WebCore::CSSParser::parseBorderRadius):
  61347. (WebCore::CSSParser::parseCounter):
  61348. (WebCore::CSSParser::parseDeprecatedGradient):
  61349. (WebCore::CSSParser::parseLinearGradient):
  61350. (WebCore::CSSParser::parseRadialGradient):
  61351. (WebCore::CSSParser::parseGradientColorStops):
  61352. (WebCore::CSSParser::parseTransform):
  61353. (WebCore::CSSParser::parseTransformOrigin):
  61354. (WebCore::CSSParser::parseTextEmphasisStyle):
  61355. * css/CSSParser.h:
  61356. * css/CSSPrimitiveValueCache.h:
  61357. (WebCore::CSSPrimitiveValueCache::createValue): pass String by const reference
  61358. 2011-06-24 Carlos Garcia Campos <cgarcia@igalia.com>
  61359. Reviewed by Martin Robinson.
  61360. [GTK] Fix runtime critical warnings in WebKit2
  61361. https://bugs.webkit.org/show_bug.cgi?id=63256
  61362. Check whether there's a view widget before trying to use it in
  61363. PlatformScreenGtk. If there isn't a view widget, which is the case
  61364. in WebKit2, try to use the default GdkScreen and monitor.
  61365. * platform/gtk/PlatformScreenGtk.cpp:
  61366. (WebCore::getToplevel): Helper function to get the toplevel
  61367. widget.
  61368. (WebCore::getVisual): Use getToplevel().
  61369. (WebCore::getScreen): Helper funtion to get the screen of a
  61370. widget.
  61371. (WebCore::screenRect): Use getToplevel() and getScreen().
  61372. 2011-06-24 Yuta Kitamura <yutak@chromium.org>
  61373. Reviewed by Adam Barth.
  61374. WebSocket: Add run-time flag for new HyBi protocol
  61375. https://bugs.webkit.org/show_bug.cgi?id=60348
  61376. Add a flag in Setting so that WebSocket protocols can be switched
  61377. dynamically. The protocol we have implemented so far is based on
  61378. older Hixie-76 specification. A new protocol is being discussed in
  61379. IETF HyBi working group, and I'm planning to implement the new protocol
  61380. behind this Settings flag.
  61381. I will add a method to LayoutTestController which flips this flag in
  61382. a later patch. In this way, we can put tests for both protocols in
  61383. the same place and test implementation for both protocols at the same time.
  61384. This patch only adds a flag. The flag is not used yet, thus there is
  61385. no change in functionality. Therefore, no tests were added.
  61386. * page/Settings.cpp:
  61387. (WebCore::Settings::Settings):
  61388. * page/Settings.h:
  61389. (WebCore::Settings::setUseHixie76WebSocketProtocol):
  61390. (WebCore::Settings::useHixie76WebSocketProtocol):
  61391. 2011-06-23 Mikhail Naganov <mnaganov@chromium.org>
  61392. Reviewed by Pavel Feldman.
  61393. Web Inspector: [Chromium] Shorten DOMWindow URLs in heap profiles.
  61394. https://bugs.webkit.org/show_bug.cgi?id=63238
  61395. * inspector/front-end/DetailedHeapshotGridNodes.js:
  61396. (WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.hoverMessage):
  61397. (WebInspector.HeapSnapshotGenericObjectNode):
  61398. (WebInspector.HeapSnapshotGenericObjectNode.prototype.hoverMessage):
  61399. (WebInspector.HeapSnapshotGenericObjectNode.prototype._updateHasChildren):
  61400. (WebInspector.HeapSnapshotGenericObjectNode.prototype.isDOMWindow):
  61401. (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
  61402. * inspector/front-end/DetailedHeapshotView.js:
  61403. (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.pathFound):
  61404. (WebInspector.DetailedHeapshotView.prototype._getHoverAnchor):
  61405. (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup.displayString):
  61406. (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup):
  61407. * inspector/front-end/utilities.js:
  61408. ():
  61409. 2011-06-24 Vsevolod Vlasov <vsevik@chromium.org>
  61410. Reviewed by Pavel Feldman.
  61411. Web Inspector: HTML preview should delete old iframe on show().
  61412. https://bugs.webkit.org/show_bug.cgi?id=63170
  61413. * inspector/front-end/ResourceHTMLView.js:
  61414. (WebInspector.ResourceHTMLView.prototype._createIFrame):
  61415. * inspector/front-end/ResourcePreviewView.js:
  61416. (WebInspector.ResourcePreviewView.prototype.contentLoaded):
  61417. 2011-06-24 Dirk Schulze <krit@webkit.org>
  61418. Reviewed by Nikolas Zimmermann.
  61419. Convert AnimatedString to SVGAnimatorFactory concept
  61420. https://bugs.webkit.org/show_bug.cgi?id=63296
  61421. Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
  61422. This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGString.
  61423. No new tests added. No change of functionality.
  61424. * CMakeLists.txt: Added new file to build system.
  61425. * GNUmakefile.list.am: Ditto.
  61426. * WebCore.gypi: Ditto.
  61427. * WebCore.pro: Ditto.
  61428. * WebCore.xcodeproj/project.pbxproj: Ditto.
  61429. * svg/SVGAllInOne.cpp: Ditto.
  61430. * svg/SVGAnimateElement.cpp:
  61431. (WebCore::SVGAnimateElement::calculateAnimatedValue):
  61432. (WebCore::SVGAnimateElement::calculateFromAndToValues):
  61433. (WebCore::SVGAnimateElement::calculateFromAndByValues):
  61434. (WebCore::SVGAnimateElement::resetToBaseValue):
  61435. (WebCore::SVGAnimateElement::applyResultsToTarget):
  61436. (WebCore::SVGAnimateElement::calculateDistance):
  61437. * svg/SVGAnimateElement.h:
  61438. * svg/SVGAnimatedString.cpp: Added. Animator for SVGString.
  61439. (WebCore::SVGAnimatedStringAnimator::SVGAnimatedStringAnimator):
  61440. (WebCore::SVGAnimatedStringAnimator::constructFromString):
  61441. (WebCore::SVGAnimatedStringAnimator::calculateFromAndToValues):
  61442. (WebCore::SVGAnimatedStringAnimator::calculateFromAndByValues):
  61443. (WebCore::SVGAnimatedStringAnimator::calculateAnimatedValue):
  61444. (WebCore::SVGAnimatedStringAnimator::calculateDistance):
  61445. * svg/SVGAnimatedString.h:
  61446. (WebCore::SVGAnimatedStringAnimator::~SVGAnimatedStringAnimator):
  61447. * svg/SVGAnimatedType.cpp:
  61448. (WebCore::SVGAnimatedType::~SVGAnimatedType):
  61449. (WebCore::SVGAnimatedType::createString):
  61450. (WebCore::SVGAnimatedType::string):
  61451. (WebCore::SVGAnimatedType::valueAsString):
  61452. (WebCore::SVGAnimatedType::setValueAsString):
  61453. * svg/SVGAnimatedType.h:
  61454. * svg/SVGAnimatorFactory.h:
  61455. (WebCore::SVGAnimatorFactory::create):
  61456. 2011-06-24 Mario Sanchez Prada <msanchez@igalia.com>
  61457. Reviewed by Chris Fleizach.
  61458. [GTK] Consider rows being ignored when adding children to tables
  61459. https://bugs.webkit.org/show_bug.cgi?id=62718
  61460. Hide row objects in tables in GTK's accessibility wrapper.
  61461. This is a different approach in the way WebCore's accessible
  61462. rows are exposed to assistive technologies in the GTK port,
  61463. since from now on those objects are kept in WebCore (they do not
  61464. declare to ignore accessibility) and just bypassed in the mapping
  61465. to ATK, allowing to hide them in the ATK hierarchy while, at the
  61466. same time, keeping them internally to be able to provide enough
  61467. information to determine tables related information, such as rows
  61468. counting or finding an cell for specific coordinates.
  61469. * accessibility/gtk/AccessibilityObjectAtk.cpp:
  61470. (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
  61471. Do not ignore accessibility for table rows here.
  61472. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
  61473. (webkit_accessible_get_parent): Bypass rows when needed.
  61474. (getNChildrenForTable): New, find the number of children for a
  61475. table, which will be the addition of all cells for its rows.
  61476. (webkit_accessible_get_n_children): Call to getNChildrenForTable
  61477. for accessibility tables if needed.
  61478. (getChildForTable): New, bypass rows when needed, retrieving
  61479. cells as if they were direct children for tables.
  61480. (webkit_accessible_ref_child): Call to refChildForTable if needed.
  61481. (getIndexInParentForCellInRow): New, get the index for a given
  61482. cell in its parent table, considering other rows' cells.
  61483. (webkit_accessible_get_index_in_parent): Call to
  61484. getIndexInParentForCellInRow if needed.
  61485. 2011-06-24 Andrey Kosyakov <caseq@chromium.org>
  61486. Reviewed by Yury Semikhatsky.
  61487. Web Inspector: extension panel iframes do not span entire panel client area
  61488. https://bugs.webkit.org/show_bug.cgi?id=63165
  61489. * inspector/front-end/ExtensionServer.js:
  61490. (WebInspector.ExtensionServer.prototype._onCreatePanel):
  61491. (WebInspector.ExtensionServer.prototype.createClientIframe):
  61492. * inspector/front-end/inspector.css:
  61493. (iframe.extension):
  61494. (iframe.panel.extension):
  61495. 2011-06-24 David Grogan <dgrogan@chromium.org>
  61496. Reviewed by Pavel Feldman.
  61497. Web Inspector: [REGRESSION r86838] line numbers do not scroll when script paused
  61498. https://bugs.webkit.org/show_bug.cgi?id=61653
  61499. roll out r86838
  61500. No new tests - refactoring.
  61501. * dom/Document.h:
  61502. * dom/EventQueue.cpp:
  61503. (WebCore::EventQueueTimer::EventQueueTimer):
  61504. (WebCore::EventQueueTimer::fired):
  61505. (WebCore::EventQueue::create):
  61506. (WebCore::EventQueue::EventQueue):
  61507. (WebCore::EventQueue::~EventQueue):
  61508. (WebCore::EventQueue::enqueueEvent):
  61509. (WebCore::EventQueue::cancelEvent):
  61510. (WebCore::EventQueue::cancelQueuedEvents):
  61511. (WebCore::EventQueue::pendingEventTimerFired):
  61512. (WebCore::EventQueue::dispatchEvent):
  61513. * dom/EventQueue.h:
  61514. 2011-06-24 Sheriff Bot <webkit.review.bot@gmail.com>
  61515. Unreviewed, rolling out r89594.
  61516. http://trac.webkit.org/changeset/89594
  61517. https://bugs.webkit.org/show_bug.cgi?id=63316
  61518. It broke 5 tests on the Qt bot (Requested by Ossy_DC on
  61519. #webkit).
  61520. * WebCore.exp.in:
  61521. * icu/unicode/uscript.h:
  61522. * page/Settings.cpp:
  61523. (WebCore::Settings::setStandardFontFamily):
  61524. (WebCore::Settings::setFixedFontFamily):
  61525. (WebCore::Settings::setSerifFontFamily):
  61526. (WebCore::Settings::setSansSerifFontFamily):
  61527. (WebCore::Settings::setCursiveFontFamily):
  61528. (WebCore::Settings::setFantasyFontFamily):
  61529. * page/Settings.h:
  61530. (WebCore::Settings::standardFontFamily):
  61531. (WebCore::Settings::fixedFontFamily):
  61532. (WebCore::Settings::serifFontFamily):
  61533. (WebCore::Settings::sansSerifFontFamily):
  61534. (WebCore::Settings::cursiveFontFamily):
  61535. (WebCore::Settings::fantasyFontFamily):
  61536. 2011-06-23 Tony Chang <tony@chromium.org>
  61537. Reviewed by Kent Tamura.
  61538. Pass Strings by const reference in bindings code
  61539. https://bugs.webkit.org/show_bug.cgi?id=63302
  61540. Note that since Strings hold a RefPtr to StringImpl, passing Strings
  61541. by value isn't horrible, but it does cause ref count churn and using
  61542. const references is more consistent with the rest of the code base.
  61543. * bindings/generic/BindingSecurity.h:
  61544. (WebCore::::allowSettingFrameSrcToJavascriptUrl):
  61545. (WebCore::::allowSettingSrcToJavascriptURL):
  61546. * bindings/js/SerializedScriptValue.cpp:
  61547. (WebCore::CloneSerializer::serialize):
  61548. (WebCore::SerializedScriptValue::create):
  61549. * bindings/js/SerializedScriptValue.h:
  61550. * bindings/v8/SerializedScriptValue.cpp:
  61551. (WebCore::SerializedScriptValue::createFromWire):
  61552. (WebCore::SerializedScriptValue::create):
  61553. (WebCore::SerializedScriptValue::SerializedScriptValue):
  61554. * bindings/v8/SerializedScriptValue.h:
  61555. * bindings/v8/V8Binding.h:
  61556. (WebCore::V8ParameterBase::setString):
  61557. 2011-06-23 Yury Semikhatsky <yurys@chromium.org>
  61558. Reviewed by Pavel Feldman.
  61559. [Chromium] Web Inspector: provide context menu item for enabling native worker inspection
  61560. https://bugs.webkit.org/show_bug.cgi?id=63258
  61561. Added context menu checkbox item that allows to enable inspection of
  61562. native workers. The value will be persisted as other inspector settings
  61563. and will be restored after frontend/breowser reopening.
  61564. * inspector/Inspector.json:
  61565. * inspector/InspectorController.cpp:
  61566. (WebCore::InspectorController::restoreInspectorStateFromCookie):
  61567. * inspector/InspectorInstrumentation.h:
  61568. (WebCore::InspectorInstrumentation::didStartWorkerContext):
  61569. * inspector/InspectorWorkerAgent.cpp:
  61570. (WebCore::InspectorWorkerAgent::setFrontend):
  61571. (WebCore::InspectorWorkerAgent::restore):
  61572. (WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
  61573. * inspector/InspectorWorkerAgent.h:
  61574. * inspector/front-end/ScriptsPanel.js:
  61575. (WebInspector.ScriptsPanel):
  61576. (WebInspector.ScriptsPanel.prototype.reset):
  61577. (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles):
  61578. (WebInspector.ScriptsPanel.prototype._contextMenu.enableWorkerInspection):
  61579. (WebInspector.ScriptsPanel.prototype._contextMenu):
  61580. * inspector/front-end/Settings.js:
  61581. (WebInspector.Settings):
  61582. * inspector/front-end/inspector.js:
  61583. (WebInspector.didCreateWorker):
  61584. (WebInspector.didDestroyWorker):
  61585. * workers/Worker.cpp:
  61586. (WebCore::Worker::notifyFinished):
  61587. 2011-06-23 Simon Fraser <simon.fraser@apple.com>
  61588. Reviewed by Dan Bernstein.
  61589. Need to turn off default animations for anchorPointZ in PlatformCALayer
  61590. https://bugs.webkit.org/show_bug.cgi?id=63159
  61591. When the z-component of transform-origin changed, we ran an implicit
  61592. animation of anchorPointZ on the CALayer. Turn this off.
  61593. Test: transforms/3d/general/transform-origin-z-change.html
  61594. * platform/graphics/ca/mac/PlatformCALayerMac.mm:
  61595. (nullActionsDictionary):
  61596. 2011-06-23 Zhenyao Mo <zmo@google.com>
  61597. Reviewed by Kenneth Russell.
  61598. Limit WebGL internal drawingBuffer size to 4k x 4k
  61599. https://bugs.webkit.org/show_bug.cgi?id=63304
  61600. * html/canvas/WebGLRenderingContext.cpp:
  61601. (WebCore::WebGLRenderingContext::reshape): Limit drawing buffer size to 4k x 4k.
  61602. 2011-06-20 MORITA Hajime <morrita@google.com>
  61603. Reviewed by Dimitri Glazkov.
  61604. [ShadowContentElement] should layout child whitespace between span.
  61605. https://bugs.webkit.org/show_bug.cgi?id=62202
  61606. NodeRenderingContext::nextRenderer() and previousRenderer()
  61607. ignored forwarded content tree hierarchies and used render-object
  61608. hierarchies instead, that caused some wrong Text node rendering.
  61609. This change uses ShadowContentElement::m_inclusions for the lookup.
  61610. In this way, these methods can reflect hierarchies of forward light tree.
  61611. * dom/NodeRenderingContext.cpp:
  61612. (WebCore::NodeRenderingContext::NodeRenderingContext):
  61613. (WebCore::nextRendererOf): Added. This traverses content element's children for searching neighboring renderer.
  61614. (WebCore::previousRendererOf): Added. This traverses content element's children for searching neighboring renderer.
  61615. (WebCore::NodeRenderingContext::nextRenderer):
  61616. (WebCore::NodeRenderingContext::previousRenderer):
  61617. * dom/NodeRenderingContext.h:
  61618. * dom/ShadowContentElement.h:
  61619. (ShadowContentElement::inclusionIndexOf): Added.
  61620. * dom/ShadowContentSelector.cpp:
  61621. (WebCore::ShadowContentSelector::activeElement):
  61622. * dom/ShadowContentSelector.h:
  61623. * dom/ShadowRoot.cpp:
  61624. (WebCore::ShadowRoot::activeContentElement):
  61625. * dom/ShadowRoot.h:
  61626. * rendering/RenderTreeAsText.cpp:
  61627. (WebCore::externalRepresentation): Fixed an apparent bug introduced at r89230.
  61628. 2011-05-25 James Robinson <jamesr@chromium.org>
  61629. Reviewed by Kenneth Russell.
  61630. [chromium] Fix ownership of PlatformImage for ImageLayerChromiums
  61631. https://bugs.webkit.org/show_bug.cgi?id=61099
  61632. For a composited image, both the ImageLayerChromium and its associated LayerTilerChromium need access to a
  61633. PlatformImage - the ImageLayerChromium has to update the PlatformImage's contents and the LayerTilerChromium has
  61634. to upload pixels from it. This patch makes the ImageLayerTextureUpdater have exclusive ownership of the
  61635. PlatformImage and moves ownership of the LayerTextureUpdater from the LayerTilerChromium to the owner of the
  61636. tiler. The updater is passed in as a parameter to the relevant tiler calls.
  61637. Patch also fixes a number of minor style issues (missing explicit keyword on constructor, etc).
  61638. Refactor only, no new tests.
  61639. * platform/graphics/chromium/ContentLayerChromium.cpp:
  61640. (WebCore::ContentLayerPainter::create):
  61641. (WebCore::ContentLayerPainter::ContentLayerPainter):
  61642. (WebCore::ContentLayerChromium::paintContentsIfDirty):
  61643. (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
  61644. (WebCore::ContentLayerChromium::draw):
  61645. (WebCore::ContentLayerChromium::createTilerIfNeeded):
  61646. (WebCore::ContentLayerChromium::updateCompositorResources):
  61647. * platform/graphics/chromium/ContentLayerChromium.h:
  61648. * platform/graphics/chromium/ImageLayerChromium.cpp:
  61649. (WebCore::ImageLayerTextureUpdater::create):
  61650. (WebCore::ImageLayerTextureUpdater::updateFromImage):
  61651. (WebCore::ImageLayerTextureUpdater::imageSize):
  61652. (WebCore::ImageLayerTextureUpdater::ImageLayerTextureUpdater):
  61653. (WebCore::ImageLayerChromium::~ImageLayerChromium):
  61654. (WebCore::ImageLayerChromium::paintContentsIfDirty):
  61655. (WebCore::ImageLayerChromium::updateCompositorResources):
  61656. (WebCore::ImageLayerChromium::setLayerRenderer):
  61657. (WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):
  61658. (WebCore::ImageLayerChromium::layerBounds):
  61659. * platform/graphics/chromium/ImageLayerChromium.h:
  61660. * platform/graphics/chromium/LayerRendererChromium.cpp:
  61661. (WebCore::LayerRendererChromium::LayerRendererChromium):
  61662. (WebCore::LayerRendererChromium::updateRootLayerContents):
  61663. (WebCore::LayerRendererChromium::drawRootLayer):
  61664. (WebCore::LayerRendererChromium::updateLayers):
  61665. * platform/graphics/chromium/LayerRendererChromium.h:
  61666. * platform/graphics/chromium/LayerTextureUpdater.h:
  61667. (WebCore::LayerTextureUpdater::LayerTextureUpdater):
  61668. * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
  61669. (WebCore::LayerTextureUpdaterBitmap::create):
  61670. (WebCore::LayerTextureUpdaterSkPicture::create):
  61671. * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
  61672. * platform/graphics/chromium/LayerTilerChromium.cpp:
  61673. (WebCore::LayerTilerChromium::create):
  61674. (WebCore::LayerTilerChromium::LayerTilerChromium):
  61675. (WebCore::LayerTilerChromium::prepareToUpdate):
  61676. (WebCore::LayerTilerChromium::updateRect):
  61677. (WebCore::LayerTilerChromium::draw):
  61678. * platform/graphics/chromium/LayerTilerChromium.h:
  61679. 2011-06-23 Adrienne Walker <enne@google.com>
  61680. Unreviewed, rolling out r89632 and r89640.
  61681. http://trac.webkit.org/changeset/89632
  61682. http://trac.webkit.org/changeset/89640
  61683. https://bugs.webkit.org/show_bug.cgi?id=60741
  61684. Breaks ancestor-overflow-change unexpectedly
  61685. * rendering/RenderLayerBacking.cpp:
  61686. (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
  61687. 2011-06-23 John Bates <jbates@google.com>
  61688. Reviewed by James Robinson.
  61689. Fix latch deadlock when GPU process crashes or context is lost.
  61690. https://bugs.webkit.org/show_bug.cgi?id=63189
  61691. The main bug fix is to only set/wait latches if the child context has no errors.
  61692. Additionally, the LayerChromium classes needed to be modified to not continue drawing when
  61693. their corresponding contexts have errors. Otherwise, they would draw with invalid texture ids.
  61694. Test: open particles WebGL demo in chrome, kill GPU process from Task Manager; observe no deadlock.
  61695. * platform/graphics/chromium/LayerRendererChromium.cpp:
  61696. (WebCore::LayerRendererChromium::LayerRendererChromium):
  61697. (WebCore::LayerRendererChromium::updateAndDrawLayers):
  61698. (WebCore::LayerRendererChromium::updateLayers):
  61699. (WebCore::LayerRendererChromium::isCompositorContextLost):
  61700. * platform/graphics/chromium/LayerRendererChromium.h:
  61701. * platform/graphics/chromium/WebGLLayerChromium.cpp:
  61702. (WebCore::WebGLLayerChromium::drawsContent):
  61703. (WebCore::WebGLLayerChromium::updateCompositorResources):
  61704. (WebCore::WebGLLayerChromium::setContext):
  61705. * platform/graphics/chromium/WebGLLayerChromium.h:
  61706. * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
  61707. (WebCore::Canvas2DLayerChromium::drawsContent):
  61708. * platform/graphics/chromium/Canvas2DLayerChromium.h:
  61709. 2011-06-23 Alok Priyadarshi <alokp@chromium.org>
  61710. Reviewed by James Robinson.
  61711. [chromium] Red and Blue channels are swapped in images with accelerated drawing
  61712. https://bugs.webkit.org/show_bug.cgi?id=61442
  61713. We were uploading BGRA pixels into RGBA textures and swapping the components in the pixel shader.
  61714. This strategy does not work with accelerated drawing because we are directly rendering to the texture, not uploading pixels.
  61715. This patch uses BGRA textures if available. If not it falls back to the original scheme of swapping the components in the pixel shader.
  61716. Tests: compositing/color-matching/image-color-matching.html (existing)
  61717. * WebCore.gypi:
  61718. * platform/graphics/chromium/ImageLayerChromium.cpp:
  61719. (WebCore::ImageLayerTextureUpdater::sampledTexelFormat):
  61720. (WebCore::ImageLayerTextureUpdater::updateTextureRect):
  61721. * platform/graphics/chromium/LayerRendererChromium.cpp:
  61722. (WebCore::LayerRendererChromium::LayerRendererChromium):
  61723. (WebCore::LayerRendererChromium::skiaContext):
  61724. (WebCore::LayerRendererChromium::tilerProgram):
  61725. (WebCore::LayerRendererChromium::tilerProgramSwizzle):
  61726. (WebCore::LayerRendererChromium::cleanupSharedObjects):
  61727. * platform/graphics/chromium/LayerRendererChromium.h:
  61728. * platform/graphics/chromium/LayerTexture.h:
  61729. (WebCore::LayerTexture::format):
  61730. * platform/graphics/chromium/LayerTextureSubImage.cpp:
  61731. (WebCore::LayerTextureSubImage::upload):
  61732. (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
  61733. (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
  61734. * platform/graphics/chromium/LayerTextureSubImage.h:
  61735. * platform/graphics/chromium/LayerTextureUpdater.h:
  61736. * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
  61737. (WebCore::LayerTextureUpdaterBitmap::sampledTexelFormat):
  61738. (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
  61739. (WebCore::LayerTextureUpdaterSkPicture::sampledTexelFormat):
  61740. (WebCore::LayerTextureUpdaterSkPicture::createFrameBuffer):
  61741. * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
  61742. * platform/graphics/chromium/LayerTilerChromium.cpp:
  61743. (WebCore::LayerTilerChromium::LayerTilerChromium):
  61744. (WebCore::LayerTilerChromium::prepareToUpdate):
  61745. (WebCore::LayerTilerChromium::updateRect):
  61746. (WebCore::LayerTilerChromium::draw):
  61747. (WebCore::LayerTilerChromium::growLayerToContain):
  61748. (WebCore::LayerTilerChromium::drawTiles):
  61749. (WebCore::LayerTilerChromium::drawTexturedQuad):
  61750. * platform/graphics/chromium/LayerTilerChromium.h:
  61751. * platform/graphics/chromium/PlatformColor.h: Added.
  61752. (WebCore::PlatformColor::format):
  61753. (WebCore::PlatformColor::bestTextureFormat):
  61754. (WebCore::PlatformColor::sameComponentOrder):
  61755. * platform/graphics/chromium/ShaderChromium.cpp:
  61756. (WebCore::FragmentShaderRGBATexSwizzleAlpha::getShaderString):
  61757. * platform/graphics/chromium/ShaderChromium.h:
  61758. * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
  61759. 2011-06-23 Adrienne Walker <enne@google.com>
  61760. Reviewed by Simon Fraser.
  61761. Incorrect RenderLayer transforms on overflow RTL pages
  61762. https://bugs.webkit.org/show_bug.cgi?id=60741
  61763. Fix positioning of the root graphics layer for RTL pages. The fact
  61764. that the left side of the page is negative for pages with overflow is
  61765. not taken into account when calculating the position. This negative
  61766. value ends up being double-counted for the root graphics layer (once
  61767. in the position and once in the offset) and it shifts child layers
  61768. into the wrong place.
  61769. Tests: compositing/rtl/rtl-absolute-overflow-scrolled.html
  61770. compositing/rtl/rtl-absolute-overflow.html
  61771. compositing/rtl/rtl-absolute.html
  61772. compositing/rtl/rtl-fixed-overflow-scrolled.html
  61773. compositing/rtl/rtl-fixed-overflow.html
  61774. compositing/rtl/rtl-fixed.html
  61775. compositing/rtl/rtl-iframe-absolute-overflow-scrolled.html
  61776. compositing/rtl/rtl-iframe-absolute-overflow.html
  61777. compositing/rtl/rtl-iframe-absolute.html
  61778. compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html
  61779. compositing/rtl/rtl-iframe-fixed-overflow.html
  61780. compositing/rtl/rtl-iframe-fixed.html
  61781. compositing/rtl/rtl-iframe-relative.html
  61782. compositing/rtl/rtl-relative.html
  61783. * rendering/RenderLayerBacking.cpp:
  61784. (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
  61785. 2011-06-23 Emil A Eklund <eae@chromium.org>
  61786. Reviewed by Eric Seidel.
  61787. FloatRect should implement the same methods as IntRect
  61788. https://bugs.webkit.org/show_bug.cgi?id=63273
  61789. Add missing methods from IntRect to FloatRect in preparation for moving
  61790. the rendering tree over to floats.
  61791. * platform/graphics/FloatPoint.h:
  61792. (WebCore::FloatPoint::expandedTo):
  61793. (WebCore::FloatPoint::transposedPoint):
  61794. * platform/graphics/FloatRect.h:
  61795. (WebCore::FloatRect::move):
  61796. (WebCore::FloatRect::expand):
  61797. (WebCore::FloatRect::contract):
  61798. (WebCore::FloatRect::shiftXEdgeTo):
  61799. (WebCore::FloatRect::shiftMaxXEdgeTo):
  61800. (WebCore::FloatRect::shiftYEdgeTo):
  61801. (WebCore::FloatRect::shiftMaxYEdgeTo):
  61802. (WebCore::FloatRect::minXMinYCorner):
  61803. (WebCore::FloatRect::maxXMinYCorner):
  61804. (WebCore::FloatRect::minXMaxYCorner):
  61805. (WebCore::FloatRect::maxXMaxYCorner):
  61806. (WebCore::FloatRect::transposedRect):
  61807. * platform/graphics/FloatSize.h:
  61808. (WebCore::FloatSize::expand):
  61809. (WebCore::FloatSize::transposedSize):
  61810. 2011-06-23 Emil A Eklund <eae@chromium.org>
  61811. Reviewed by Darin Adler.
  61812. input/textarea onchange doesn't fire if value is set in key listener
  61813. https://bugs.webkit.org/show_bug.cgi?id=63092
  61814. Change setValue implementation of HTMLInputElement and HTMLTextAreaElement to
  61815. not call setTextAsOfLastFormControlChangeEvent unless the value truly changed.
  61816. Thus element.value = element.value will no longer reset the state
  61817. m_textAsOfLastFormControlChangeEvent field and suppress the change event.
  61818. Test: fast/events/onchange-setvalue.html
  61819. * html/HTMLInputElement.cpp:
  61820. (WebCore::HTMLInputElement::setValue):
  61821. * html/HTMLTextAreaElement.cpp:
  61822. (WebCore::HTMLTextAreaElement::setValue):
  61823. (WebCore::HTMLTextAreaElement::setNonDirtyValue):
  61824. (WebCore::HTMLTextAreaElement::setValueCommon):
  61825. 2011-06-23 Alexis Menard <alexis.menard@openbossa.org>
  61826. Reviewed by Eric Carlson.
  61827. [Qt] Implement fullscreen support on Mac with the QuickTime backend.
  61828. https://bugs.webkit.org/show_bug.cgi?id=61728
  61829. Implement fullscreen support for Qt when using the QuickTime backend.
  61830. We mostly use what is already done for the Mac port.
  61831. * DerivedSources.pro: We use the mac files and they have <WebCore/x> type
  61832. of includes. We need to generate those headers.
  61833. * WebCore.pro:
  61834. * platform/mac/WebVideoFullscreenController.h:
  61835. * platform/mac/WebVideoFullscreenController.mm:
  61836. * platform/mac/WebVideoFullscreenHUDWindowController.h:
  61837. * platform/mac/WebVideoFullscreenHUDWindowController.mm:
  61838. * platform/qt/WebCoreSystemInterface.h:
  61839. * platform/qt/WebCoreSystemInterface.mm:
  61840. 2011-06-23 Darin Adler <darin@apple.com>
  61841. Reviewed by Ryosuke Niwa.
  61842. RefPtr misused as argument type in a few classes
  61843. https://bugs.webkit.org/show_bug.cgi?id=62955
  61844. * dom/DataTransferItem.cpp:
  61845. (WebCore::DataTransferItem::DataTransferItem):
  61846. * dom/DataTransferItem.h:
  61847. * dom/DataTransferItems.cpp:
  61848. (WebCore::DataTransferItems::DataTransferItems):
  61849. * dom/DataTransferItems.h:
  61850. * editing/CompositeEditCommand.cpp:
  61851. (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring):
  61852. * editing/CompositeEditCommand.h:
  61853. * page/WebKitAnimationList.cpp:
  61854. (WebCore::WebKitAnimationList::append):
  61855. (WebCore::WebKitAnimationList::insertAnimation):
  61856. * page/WebKitAnimationList.h:
  61857. * svg/graphics/filters/SVGFEImage.cpp:
  61858. (WebCore::FEImage::FEImage):
  61859. (WebCore::FEImage::create):
  61860. * svg/graphics/filters/SVGFEImage.h:
  61861. * svg/graphics/filters/SVGFilterBuilder.cpp:
  61862. (WebCore::SVGFilterBuilder::SVGFilterBuilder):
  61863. (WebCore::SVGFilterBuilder::add):
  61864. (WebCore::SVGFilterBuilder::appendEffectToEffectReferences):
  61865. * svg/graphics/filters/SVGFilterBuilder.h:
  61866. * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
  61867. (WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback):
  61868. (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
  61869. (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
  61870. (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
  61871. * websockets/ThreadableWebSocketChannelClientWrapper.h:
  61872. * websockets/WorkerThreadableWebSocketChannel.cpp:
  61873. (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
  61874. (WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
  61875. (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
  61876. * websockets/WorkerThreadableWebSocketChannel.h:
  61877. Use PassRefPtr or raw pointer as appropriate for RefPtr arguments.
  61878. 2011-06-23 Sheriff Bot <webkit.review.bot@gmail.com>
  61879. Unreviewed, rolling out r89591 and r89593.
  61880. http://trac.webkit.org/changeset/89591
  61881. http://trac.webkit.org/changeset/89593
  61882. https://bugs.webkit.org/show_bug.cgi?id=63279
  61883. Caused test crashes in SL and Chromium (Requested by dimich_
  61884. on #webkit).
  61885. * accessibility/AXObjectCache.cpp:
  61886. (WebCore::AXObjectCache::AXObjectCache):
  61887. (WebCore::AXObjectCache::remove):
  61888. (WebCore::AXObjectCache::childrenChanged):
  61889. * accessibility/AXObjectCache.h:
  61890. * accessibility/AccessibilityMenuList.cpp:
  61891. (WebCore::AccessibilityMenuList::childrenChanged):
  61892. * accessibility/AccessibilityMenuList.h:
  61893. * accessibility/AccessibilityMenuListPopup.cpp:
  61894. (WebCore::AccessibilityMenuListPopup::childrenChanged):
  61895. * accessibility/AccessibilityMenuListPopup.h:
  61896. * accessibility/AccessibilityObject.h:
  61897. (WebCore::AccessibilityObject::childrenChanged):
  61898. * accessibility/AccessibilityRenderObject.cpp:
  61899. (WebCore::startOfContinuations):
  61900. (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
  61901. (WebCore::AccessibilityRenderObject::childrenChanged):
  61902. * accessibility/AccessibilityRenderObject.h:
  61903. 2011-06-23 Andreas Kling <kling@webkit.org>
  61904. Reviewed by Benjamin Poulain.
  61905. [Qt] Unbreak simple font fast-path after QRawFont API changes.
  61906. https://bugs.webkit.org/show_bug.cgi?id=63272
  61907. In the Qt 4.8 branch, the QGlyphs class has been renamed to
  61908. QGlyphRun, and some other small things have been tweaked.
  61909. * WebCore.pro:
  61910. * platform/graphics/qt/FontCacheQt.cpp:
  61911. (WebCore::rawFontForCharacters):
  61912. * platform/graphics/qt/FontQt.cpp:
  61913. (WebCore::Font::drawGlyphs):
  61914. 2011-06-23 Tony Chang <tony@chromium.org>
  61915. Reviewed by Andreas Kling.
  61916. Pass Strings as const references in NetworkResourcesData.h
  61917. https://bugs.webkit.org/show_bug.cgi?id=63271
  61918. * inspector/NetworkResourcesData.h:
  61919. (WebCore::NetworkResourcesData::ResourceData::setFrameId):
  61920. (WebCore::NetworkResourcesData::ResourceData::setUrl):
  61921. (WebCore::NetworkResourcesData::ResourceData::setTextEncodingName):
  61922. 2011-06-23 Jay Civelli <jcivelli@chromium.org>
  61923. Reviewed by Adam Barth.
  61924. Fixing the SharedBufferChunkReader API so it works correctly with
  61925. binary data (non printable characters).
  61926. Also adding a method to peek at the data (this is needed for MHTML
  61927. with binary parts).
  61928. https://bugs.webkit.org/show_bug.cgi?id=63231
  61929. * loader/archive/mhtml/MHTMLParser.cpp:
  61930. (WebCore::skipLinesUntilBoundaryFound):
  61931. (WebCore::MHTMLParser::parseNextPart):
  61932. * loader/archive/mhtml/MHTMLParser.h:
  61933. * platform/SharedBufferChunkReader.cpp:
  61934. (WebCore::SharedBufferChunkReader::SharedBufferChunkReader):
  61935. (WebCore::SharedBufferChunkReader::setSeparator):
  61936. (WebCore::SharedBufferChunkReader::nextChunk):
  61937. (WebCore::SharedBufferChunkReader::nextChunkAsUTF8StringWithLatin1Fallback):
  61938. (WebCore::SharedBufferChunkReader::peek):
  61939. * platform/SharedBufferChunkReader.h:
  61940. * platform/network/MIMEHeader.cpp:
  61941. (WebCore::retrieveKeyValuePairs):
  61942. 2011-06-23 Nate Chapin <japhet@chromium.org>
  61943. Unreviewed.
  61944. Revert production code part of r89503, since it's causing
  61945. crashes on WebKit2/mac and failures on qt.
  61946. * dom/Document.cpp:
  61947. (WebCore::Document::Document):
  61948. (WebCore::Document::dispatchWindowLoadEvent):
  61949. * dom/Document.h:
  61950. (WebCore::Document::processingLoadEvent):
  61951. * loader/DocumentLoader.cpp:
  61952. (WebCore::DocumentLoader::isLoadingInAPISense):
  61953. 2011-06-23 Young Han Lee <joybro@company100.net>
  61954. Reviewed by Simon Fraser.
  61955. runAnimationTest always fails if the pause API is enabled and the test target animation has "infinite" iteration count.
  61956. https://bugs.webkit.org/show_bug.cgi?id=63152
  61957. The pausing conditions are modified. Now it accepts the infinite-iteration-count,
  61958. but rejects the zero-iteration-count. There is no reason to consider the zero-count meaning no animation.
  61959. Test: animations/keyframes-infinite-iterations.html
  61960. * page/animation/CompositeAnimation.cpp:
  61961. (WebCore::CompositeAnimation::pauseAnimationAtTime):
  61962. 2011-06-23 Abhishek Arya <inferno@chromium.org>
  61963. Reviewed by Adam Barth.
  61964. RefPtr m_style in MediaQueryEvaluator in case of callers like
  61965. MediaQueryMatcher::prepareEvaluator that do not retain its reference.
  61966. https://bugs.webkit.org/show_bug.cgi?id=63264
  61967. Test: fast/css/media-query-evaluator-crash.html
  61968. * css/MediaQueryEvaluator.cpp:
  61969. (WebCore::MediaQueryEvaluator::eval):
  61970. * css/MediaQueryEvaluator.h:
  61971. 2011-06-23 Jungshik Shin <jshin@chromium.org>
  61972. Reviewed by Alexey Proskuryakov.
  61973. Allow generic font family settings per script code.
  61974. https://bugs.webkit.org/show_bug.cgi?id=20797
  61975. Make generic font family getters/setters accept an additional
  61976. argument (script code). It has a default value so that if an embedder
  61977. does not have/want a per-script font family setting, call-sites
  61978. don't have to be changed.
  61979. This is to prepare for fixing bug 10874 (font selection is not
  61980. language-dependent) and bug 18085.
  61981. uscript.h has been updated to that of ICU 3.6 (the version of ICU on
  61982. Mac OS 10.5)
  61983. There should be no change in layout and no new layout test
  61984. is added.
  61985. * WebCore.exp.in:
  61986. * icu/unicode/uscript.h: updated to ICU 4.6
  61987. * page/Settings.cpp:
  61988. (WebCore::setGenericFontFamilyMap): helper to set generic family per script
  61989. (WebCore::getGenericFontFamilyForScript): helper function used by getters for fooFontFamily.
  61990. (WebCore::Settings::standardFontFamily):
  61991. (WebCore::Settings::setStandardFontFamily):
  61992. (WebCore::Settings::fixedFontFamily):
  61993. (WebCore::Settings::setFixedFontFamily):
  61994. (WebCore::Settings::serifFontFamily):
  61995. (WebCore::Settings::setSerifFontFamily):
  61996. (WebCore::Settings::sansSerifFontFamily):
  61997. (WebCore::Settings::setSansSerifFontFamily):
  61998. (WebCore::Settings::cursiveFontFamily):
  61999. (WebCore::Settings::setCursiveFontFamily):
  62000. (WebCore::Settings::fantasyFontFamily):
  62001. (WebCore::Settings::setFantasyFontFamily):
  62002. * page/Settings.h: setter and getter for FooFontFamily have a new optional argument, scriptCode.
  62003. 2011-06-23 Dan Bernstein <mitz@apple.com>
  62004. Reviewed by Alexey Proskuryakov.
  62005. Make line breaking obey the -webkit-locale property
  62006. https://bugs.webkit.org/show_bug.cgi?id=63209
  62007. Test: platform/mac/fast/text/line-break-locale.html
  62008. * platform/text/TextBreakIterator.h:
  62009. (WebCore::LazyLineBreakIterator::LazyLineBreakIterator): Take an optional locale identifier and
  62010. initialize the m_locale member.
  62011. (WebCore::LazyLineBreakIterator::get): Pass the locale to acquireLineBreakIterator().
  62012. (WebCore::LazyLineBreakIterator::reset): Pass the locale to releaseLineBreakIterator() and update
  62013. the m_locale member.
  62014. * platform/text/TextBreakIteratorICU.cpp:
  62015. (WebCore::LineBreakIteratorPool::sharedPool): Return a shared instance.
  62016. (WebCore::LineBreakIteratorPool::take): Returns a text iterator for the given locale, either a newly-
  62017. created one, or an existing one from the pool.
  62018. (WebCore::LineBreakIteratorPool::put): Puts an iterator back into the pool, removing the least-recently used
  62019. one if needed.
  62020. (WebCore::LineBreakIteratorPool::LineBreakIteratorPool):
  62021. (WebCore::acquireLineBreakIterator): Changed to take an optional local identifier, and to use the pool.
  62022. (WebCore::releaseLineBreakIterator): Changed to use the pool.
  62023. * platform/text/brew/TextBreakIteratorBrew.cpp:
  62024. (WebCore::acquireLineBreakIterator): Updated for new parameter.
  62025. * platform/text/gtk/TextBreakIteratorGtk.cpp:
  62026. (WebCore::acquireLineBreakIterator): Ditto.
  62027. * platform/text/qt/TextBreakIteratorQt.cpp:
  62028. (WebCore::acquireLineBreakIterator): Ditto.
  62029. * platform/text/wince/TextBreakIteratorWinCE.cpp:
  62030. (WebCore::acquireLineBreakIterator): Ditto.
  62031. * rendering/RenderBlockLineLayout.cpp:
  62032. (WebCore::RenderBlock::LineBreaker::nextLineBreak): Use the locale from the style for the line break
  62033. iterator.
  62034. * rendering/RenderText.cpp:
  62035. (WebCore::RenderText::computePreferredLogicalWidths): Ditto.
  62036. 2011-06-23 Chris Fleizach <cfleizach@apple.com>
  62037. Reviewed by Darin Adler.
  62038. ARIA live regions don't trigger notifications for elements that aren't in the AX tree
  62039. https://bugs.webkit.org/show_bug.cgi?id=62289
  62040. If an ARIA Live region udpates an element that is not in the AX object cache, then the Live region
  62041. notification is not sent. To fix this, I think the childrenChanged() method needs to actually create
  62042. the appropriate objects, but since that method gets called during a render tree update, we've learned
  62043. that it's generally not safe to create objects.
  62044. Instead a one shot timer can be fired that will update and create the necessary objects so that the
  62045. correct notification can be sent.
  62046. Test: platform/mac/accessibility/aria-liveregion-without-element-access.html
  62047. * accessibility/AXObjectCache.cpp:
  62048. (WebCore::AXObjectCache::AXObjectCache):
  62049. (WebCore::AXObjectCache::remove):
  62050. (WebCore::AXObjectCache::childrenUpdateTimerFired):
  62051. (WebCore::AXObjectCache::childrenChanged):
  62052. * accessibility/AXObjectCache.h:
  62053. * accessibility/AccessibilityMenuList.cpp:
  62054. (WebCore::AccessibilityMenuList::childrenChanged):
  62055. * accessibility/AccessibilityMenuList.h:
  62056. * accessibility/AccessibilityMenuListPopup.cpp:
  62057. (WebCore::AccessibilityMenuListPopup::childrenChanged):
  62058. * accessibility/AccessibilityMenuListPopup.h:
  62059. * accessibility/AccessibilityObject.h:
  62060. (WebCore::AccessibilityObject::childrenChanged):
  62061. * accessibility/AccessibilityRenderObject.cpp:
  62062. (WebCore::startOfContinuations):
  62063. This changed exposed a case where an object was inlineElementContinuation, but not renderInlined,
  62064. which led to an assert.
  62065. (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
  62066. (WebCore::AccessibilityRenderObject::childrenChanged):
  62067. * accessibility/AccessibilityRenderObject.h:
  62068. 2011-06-23 Dirk Schulze <krit@webkit.org>
  62069. Reviewed by Nikolas Zimmermann.
  62070. Convert SVGColor to SVGAnimatorFactory concept
  62071. https://bugs.webkit.org/show_bug.cgi?id=63246
  62072. Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
  62073. This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGColor.
  62074. Changed constructors of animators to take the animation element SVGAnimationsElement as new argument. Removed attribute name argument instead.
  62075. This information is already exposed by the animation element. The animators store the pointer of the animation element, so that it is not
  62076. necessary to pass it as argument to the functions calculateDistance, calculateAnimatedValue.
  62077. Replace all SVGSMILElement references by SVGAnimationsElement - the common base class of all animation elements.
  62078. Added a new method in SVGAnimateElement to determine the property value type of CSS properties (regular value type, inherit or currentColor).
  62079. The other two new methods fromPropertyValueType() and toPropertyValueType() avoid passing boolean arguments in calculateAnimatedValue().
  62080. No new tests added. Current tests cover the changes.
  62081. * CMakeLists.txt: Added new files to build system.
  62082. * GNUmakefile.list.am: Ditto.
  62083. * WebCore.gypi: Ditto.
  62084. * WebCore.pro: Ditto.
  62085. * WebCore.vcproj/WebCore.vcproj: Ditto.
  62086. * WebCore.xcodeproj/project.pbxproj: Ditto.
  62087. * svg/SVGAllInOne.cpp: Ditto.
  62088. * svg/SVGAnimateElement.cpp: Use Animator for SVGColor.
  62089. (WebCore::SVGAnimateElement::SVGAnimateElement):
  62090. (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
  62091. (WebCore::SVGAnimateElement::calculateAnimatedValue):
  62092. (WebCore::SVGAnimateElement::determinePropertyValueTypes):
  62093. (WebCore::SVGAnimateElement::calculateFromAndToValues):
  62094. (WebCore::SVGAnimateElement::calculateFromAndByValues):
  62095. (WebCore::SVGAnimateElement::resetToBaseValue):
  62096. (WebCore::SVGAnimateElement::applyResultsToTarget):
  62097. (WebCore::SVGAnimateElement::calculateDistance):
  62098. (WebCore::SVGAnimateElement::ensureAnimator): Pass the animation element as pointer to animator.
  62099. * svg/SVGAnimateElement.h: Removed unnecessary includes. Some cleanup.
  62100. (WebCore::SVGAnimateElement::fromPropertyValueType): Get property value type of 'from' property.
  62101. (WebCore::SVGAnimateElement::toPropertyValueType): Get property value type of 'to' property.
  62102. * svg/SVGAnimatedAngle.cpp:
  62103. (WebCore::SVGAnimatedAngleAnimator::SVGAnimatedAngleAnimator): Added SVGSMILElement as new argument, removed attributeName.
  62104. (WebCore::SVGAnimatedAngleAnimator::calculateFromAndToValues): Determine property value type.
  62105. (WebCore::SVGAnimatedAngleAnimator::calculateFromAndByValues): Ditto.
  62106. (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue): Use new functions of SVGAnimateElement for handling of 'inherit'.
  62107. And removed unnecessary arguments.
  62108. (WebCore::SVGAnimatedAngleAnimator::calculateDistance): Removed animation element argument.
  62109. * svg/SVGAnimatedAngle.h:
  62110. * svg/SVGAnimatedColor.cpp: Added.
  62111. (WebCore::SVGAnimatedColorAnimator::SVGAnimatedColorAnimator): Ditto.
  62112. (WebCore::SVGAnimatedColorAnimator::constructFromString):
  62113. (WebCore::SVGAnimatedColorAnimator::calculateFromAndToValues):
  62114. (WebCore::SVGAnimatedColorAnimator::calculateFromAndByValues):
  62115. (WebCore::SVGAnimatedColorAnimator::calculateAnimatedValue):
  62116. (WebCore::SVGAnimatedColorAnimator::calculateDistance):
  62117. * svg/SVGAnimatedColor.h: Added.
  62118. (WebCore::SVGAnimatedColorAnimator::~SVGAnimatedColorAnimator):
  62119. * svg/SVGAnimatedLength.cpp:
  62120. (WebCore::SVGAnimatedLengthAnimator::SVGAnimatedLengthAnimator): Ditto.
  62121. (WebCore::SVGAnimatedLengthAnimator::calculateFromAndToValues):
  62122. (WebCore::SVGAnimatedLengthAnimator::calculateFromAndByValues):
  62123. (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
  62124. (WebCore::SVGAnimatedLengthAnimator::calculateDistance):
  62125. * svg/SVGAnimatedLength.h:
  62126. * svg/SVGAnimatedNumber.cpp:
  62127. (WebCore::SVGAnimatedNumberAnimator::SVGAnimatedNumberAnimator): Ditto.
  62128. (WebCore::SVGAnimatedNumberAnimator::calculateFromAndToValues):
  62129. (WebCore::SVGAnimatedNumberAnimator::calculateFromAndByValues):
  62130. (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue):
  62131. (WebCore::SVGAnimatedNumberAnimator::calculateDistance):
  62132. * svg/SVGAnimatedNumber.h:
  62133. * svg/SVGAnimatedPointList.cpp:
  62134. (WebCore::SVGAnimatedPointListAnimator::SVGAnimatedPointListAnimator): Ditto.
  62135. (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):
  62136. (WebCore::SVGAnimatedPointListAnimator::calculateDistance):
  62137. * svg/SVGAnimatedPointList.h:
  62138. * svg/SVGAnimatedRect.cpp:
  62139. (WebCore::SVGAnimatedRectAnimator::SVGAnimatedRectAnimator): Ditto.
  62140. (WebCore::SVGAnimatedRectAnimator::calculateAnimatedValue):
  62141. (WebCore::SVGAnimatedRectAnimator::calculateDistance):
  62142. * svg/SVGAnimatedRect.h:
  62143. * svg/SVGAnimatedType.cpp: Added handling of Color values.
  62144. (WebCore::SVGAnimatedType::~SVGAnimatedType):
  62145. (WebCore::SVGAnimatedType::createColor):
  62146. (WebCore::SVGAnimatedType::color):
  62147. (WebCore::SVGAnimatedType::valueAsString):
  62148. (WebCore::SVGAnimatedType::setValueAsString):
  62149. * svg/SVGAnimatedType.h:
  62150. * svg/SVGAnimatedTypeAnimator.h:
  62151. (WebCore::SVGAnimatedTypeAnimator::SVGAnimatedTypeAnimator):
  62152. * svg/SVGAnimatorFactory.h:
  62153. (WebCore::SVGAnimatorFactory::create):
  62154. 2011-06-23 Yael Aharon <yael.aharon@nokia.com>
  62155. Reviewed by Andreas Kling.
  62156. [Qt] [WK2] Add drag and drop support
  62157. https://bugs.webkit.org/show_bug.cgi?id=62838
  62158. Add convenience methods to allow encoding/decoding of DragData.
  62159. Move the call to dragEnded() to DragClient, to make WebKit1 and WebKit2
  62160. consistent.
  62161. * page/qt/DragControllerQt.cpp:
  62162. (WebCore::DragController::cleanupAfterSystemDrag):
  62163. * platform/DragData.h:
  62164. (WebCore::DragData::flags):
  62165. (WebCore::DragData::DragData):
  62166. (WebCore::DragData::operator =):
  62167. 2011-06-23 Vsevolod Vlasov <vsevik@chromium.org>
  62168. Reviewed by Yury Semikhatsky.
  62169. Web Inspector: Show "no content" message in network panel when resource does not have content available.
  62170. https://bugs.webkit.org/show_bug.cgi?id=63007
  62171. * English.lproj/localizedStrings.js:
  62172. * WebCore.gypi:
  62173. * WebCore.vcproj/WebCore.vcproj:
  62174. * inspector/front-end/ApplicationCacheItemsView.js:
  62175. (WebInspector.ApplicationCacheItemsView):
  62176. (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
  62177. * inspector/front-end/CookieItemsView.js:
  62178. (WebInspector.CookieItemsView):
  62179. (WebInspector.CookieItemsView.prototype._updateWithCookies):
  62180. * inspector/front-end/DatabaseTableView.js:
  62181. (WebInspector.DatabaseTableView.prototype._queryFinished):
  62182. * inspector/front-end/EmptyView.js: Added.
  62183. (WebInspector.EmptyView):
  62184. (WebInspector.EmptyView.prototype.show):
  62185. (WebInspector.EmptyView.prototype.set text):
  62186. * inspector/front-end/NetworkItemView.js:
  62187. (WebInspector.NetworkItemView):
  62188. (WebInspector.ResourceContentView):
  62189. (WebInspector.ResourceContentView.prototype.hasContent):
  62190. (WebInspector.ResourceContentView.prototype.get sourceView):
  62191. (WebInspector.ResourceContentView.prototype.show):
  62192. (WebInspector.ResourceContentView.prototype._ensureInnerViewShown.callback):
  62193. (WebInspector.ResourceContentView.prototype._ensureInnerViewShown):
  62194. (WebInspector.ResourceContentView.prototype.contentLoaded):
  62195. * inspector/front-end/ResourceCookiesView.js:
  62196. (WebInspector.ResourceCookiesView.prototype.show):
  62197. * inspector/front-end/ResourcePreviewView.js:
  62198. (WebInspector.ResourcePreviewView):
  62199. (WebInspector.ResourcePreviewView.prototype.contentLoaded):
  62200. (WebInspector.ResourcePreviewView.prototype._createInnerView):
  62201. * inspector/front-end/ResourceResponseView.js: Added.
  62202. (WebInspector.ResourceResponseView):
  62203. (WebInspector.ResourceResponseView.prototype.get sourceView):
  62204. (WebInspector.ResourceResponseView.prototype.contentLoaded):
  62205. * inspector/front-end/ResourceTimingView.js:
  62206. (WebInspector.ResourceTimingView.prototype.show):
  62207. * inspector/front-end/ResourcesPanel.js:
  62208. (WebInspector.StorageCategoryView):
  62209. (WebInspector.StorageCategoryView.prototype.setText):
  62210. * inspector/front-end/WebKit.qrc:
  62211. * inspector/front-end/inspector.html:
  62212. 2011-06-23 Balazs Kelemen <kbalazs@webkit.org>
  62213. Reviewed by Adam Roben.
  62214. PluginView::dispatchNPEvent is deceptive
  62215. https://bugs.webkit.org/show_bug.cgi?id=63243
  62216. Straighten the inverted logic of dispatchNPEvent
  62217. and it's callers.
  62218. No change in behaviour so no new tests.
  62219. Existing plugin tests cover this.
  62220. * plugins/gtk/PluginViewGtk.cpp:
  62221. (WebCore::PluginView::dispatchNPEvent):
  62222. (WebCore::PluginView::handleKeyboardEvent):
  62223. (WebCore::PluginView::handleMouseEvent):
  62224. * plugins/qt/PluginViewQt.cpp:
  62225. (WebCore::PluginView::dispatchNPEvent):
  62226. (WebCore::PluginView::handleKeyboardEvent):
  62227. (WebCore::PluginView::handleMouseEvent):
  62228. * plugins/symbian/PluginViewSymbian.cpp:
  62229. (WebCore::PluginView::dispatchNPEvent):
  62230. (WebCore::PluginView::handleKeyboardEvent):
  62231. (WebCore::PluginView::handleMouseEvent):
  62232. * plugins/win/PluginViewWin.cpp:
  62233. (WebCore::PluginView::dispatchNPEvent):
  62234. (WebCore::PluginView::handleKeyboardEvent):
  62235. (WebCore::PluginView::handleMouseEvent):
  62236. 2011-06-23 Tommy Widenflycht <tommyw@google.com>
  62237. Reviewed by Tony Gentilcore.
  62238. MediaStream API: Rename Stream, GeneratedStream and StreamRecorder to the latest spec
  62239. https://bugs.webkit.org/show_bug.cgi?id=63122
  62240. Fixing broken makefile.
  62241. * GNUmakefile.list.am:
  62242. 2011-06-23 Tommy Widenflycht <tommyw@google.com>
  62243. Reviewed by Tony Gentilcore.
  62244. MediaStream API: Rename Stream, GeneratedStream and StreamRecorder to the latest spec
  62245. https://bugs.webkit.org/show_bug.cgi?id=63122
  62246. No new tests since no code has actually changed.
  62247. * CMakeLists.txt:
  62248. * CodeGenerators.pri:
  62249. * DerivedSources.cpp:
  62250. * DerivedSources.make:
  62251. * GNUmakefile.list.am:
  62252. * WebCore.gypi:
  62253. * WebCore.pro:
  62254. * WebCore.vcproj/WebCore.vcproj:
  62255. * WebCore.xcodeproj/project.pbxproj:
  62256. * bindings/js/JSEventTarget.cpp:
  62257. (WebCore::toJS):
  62258. * bindings/v8/V8DOMWrapper.cpp:
  62259. (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
  62260. * dom/DOMAllInOne.cpp:
  62261. * dom/EventTarget.cpp:
  62262. (WebCore::EventTarget::toMediaStream):
  62263. (WebCore::EventTarget::toLocalMediaStream):
  62264. * dom/EventTarget.h:
  62265. * dom/LocalMediaStream.cpp: Renamed from Source/WebCore/dom/GeneratedStream.cpp.
  62266. (WebCore::LocalMediaStream::DispatchUpdateTask::create):
  62267. (WebCore::LocalMediaStream::DispatchUpdateTask::performTask):
  62268. (WebCore::LocalMediaStream::DispatchUpdateTask::DispatchUpdateTask):
  62269. (WebCore::LocalMediaStream::create):
  62270. (WebCore::LocalMediaStream::LocalMediaStream):
  62271. (WebCore::LocalMediaStream::~LocalMediaStream):
  62272. (WebCore::LocalMediaStream::toLocalMediaStream):
  62273. (WebCore::LocalMediaStream::detachEmbedder):
  62274. (WebCore::LocalMediaStream::streamEnded):
  62275. (WebCore::LocalMediaStream::audioTracks):
  62276. (WebCore::LocalMediaStream::videoTracks):
  62277. (WebCore::LocalMediaStream::stop):
  62278. (WebCore::LocalMediaStream::onStop):
  62279. * dom/LocalMediaStream.h: Renamed from Source/WebCore/dom/GeneratedStream.h.
  62280. * dom/LocalMediaStream.idl: Renamed from Source/WebCore/dom/GeneratedStream.idl.
  62281. * dom/MediaStream.cpp: Renamed from Source/WebCore/dom/Stream.cpp.
  62282. (WebCore::MediaStream::create):
  62283. (WebCore::MediaStream::MediaStream):
  62284. (WebCore::MediaStream::~MediaStream):
  62285. (WebCore::MediaStream::toMediaStream):
  62286. (WebCore::MediaStream::streamEnded):
  62287. (WebCore::MediaStream::scriptExecutionContext):
  62288. (WebCore::MediaStream::eventTargetData):
  62289. (WebCore::MediaStream::ensureEventTargetData):
  62290. * dom/MediaStream.h: Renamed from Source/WebCore/dom/Stream.h.
  62291. (WebCore::MediaStream::readyState):
  62292. (WebCore::MediaStream::label):
  62293. (WebCore::MediaStream::refEventTarget):
  62294. (WebCore::MediaStream::derefEventTarget):
  62295. * dom/MediaStream.idl: Renamed from Source/WebCore/dom/Stream.idl.
  62296. * dom/MediaStreamContainer.h: Renamed from Source/WebCore/dom/StreamContainer.h.
  62297. (WebCore::MediaStreamContainer::create):
  62298. (WebCore::MediaStreamContainer::~MediaStreamContainer):
  62299. (WebCore::MediaStreamContainer::length):
  62300. (WebCore::MediaStreamContainer::item):
  62301. (WebCore::MediaStreamContainer::add):
  62302. (WebCore::MediaStreamContainer::remove):
  62303. (WebCore::MediaStreamContainer::contains):
  62304. (WebCore::MediaStreamContainer::get):
  62305. (WebCore::MediaStreamContainer::MediaStreamContainer):
  62306. * dom/MediaStreamList.cpp: Renamed from Source/WebCore/dom/StreamList.cpp.
  62307. (WebCore::MediaStreamList::create):
  62308. (WebCore::MediaStreamList::MediaStreamList):
  62309. (WebCore::MediaStreamList::~MediaStreamList):
  62310. (WebCore::MediaStreamList::length):
  62311. (WebCore::MediaStreamList::item):
  62312. * dom/MediaStreamList.h: Renamed from Source/WebCore/dom/StreamList.h.
  62313. * dom/MediaStreamList.idl: Renamed from Source/WebCore/dom/StreamList.idl.
  62314. * dom/StreamEvent.cpp:
  62315. (WebCore::StreamEvent::create):
  62316. (WebCore::StreamEvent::StreamEvent):
  62317. (WebCore::StreamEvent::initStreamEvent):
  62318. (WebCore::StreamEvent::stream):
  62319. * dom/StreamEvent.h:
  62320. (WebCore::StreamEvent::isMediaStreamEvent):
  62321. * dom/StreamEvent.idl:
  62322. * page/MediaStreamFrameController.cpp:
  62323. (WebCore::MediaStreamFrameController::unregister):
  62324. (WebCore::MediaStreamFrameController::getStreamFromLabel):
  62325. (WebCore::MediaStreamFrameController::stopGeneratedStream):
  62326. (WebCore::MediaStreamFrameController::streamGenerated):
  62327. (WebCore::MediaStreamFrameController::audioTrackFailed):
  62328. (WebCore::MediaStreamFrameController::videoTrackFailed):
  62329. * page/MediaStreamFrameController.h:
  62330. (WebCore::MediaStreamFrameController::ClientBase::isMediaStream):
  62331. (WebCore::MediaStreamFrameController::ClientBase::isLocalMediaStream):
  62332. (WebCore::MediaStreamFrameController::MediaStreamClient::MediaStreamClient):
  62333. (WebCore::MediaStreamFrameController::MediaStreamClient::~MediaStreamClient):
  62334. (WebCore::MediaStreamFrameController::MediaStreamClient::isMediaStream):
  62335. (WebCore::MediaStreamFrameController::MediaStreamClient::isLocalMediaStream):
  62336. * page/NavigatorUserMediaSuccessCallback.h:
  62337. * page/NavigatorUserMediaSuccessCallback.idl:
  62338. 2011-06-23 Mikhail Naganov <mnaganov@chromium.org>
  62339. Reviewed by Yury Semikhatsky.
  62340. Web Inspector: [Chromium] Fix showing dominator leaf nodes after r89457
  62341. https://bugs.webkit.org/show_bug.cgi?id=63250
  62342. * inspector/front-end/DetailedHeapshotView.js:
  62343. * inspector/front-end/HeapSnapshot.js:
  62344. (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.get isEmpty):
  62345. 2011-06-23 Vsevolod Vlasov <vsevik@chromium.org>
  62346. Reviewed by Yury Semikhatsky.
  62347. Web Inspector: HTML preview in network panel should take 100% of resource view height.
  62348. https://bugs.webkit.org/show_bug.cgi?id=63167
  62349. * inspector/front-end/inspector.css:
  62350. (.resource-view.html iframe):
  62351. 2011-06-23 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
  62352. Reviewed by Pavel Feldman.
  62353. Inspector may close at the start of the next inspector test in DRT
  62354. https://bugs.webkit.org/show_bug.cgi?id=60881
  62355. Add a new function to the inspector, which tests whether the
  62356. dispatch queue is empty.
  62357. * inspector/front-end/inspector.js:
  62358. (WebInspector.dispatchQueueIsEmpty):
  62359. 2011-06-23 Jeffrey Pfau <jpfau@apple.com>
  62360. Reviewed by Nikolas Zimmermann.
  62361. Incorrectly placed SVG gradients can cause crashes when referenced
  62362. https://bugs.webkit.org/show_bug.cgi?id=62914
  62363. Added a check for gradient rendering contexts. If the contexts can't be found, the gradient must be in an invalid location, so we use the fallback color instead.
  62364. Tests: svg/custom/invalid-gradient-with-xlink.svg
  62365. svg/custom/xlink-to-invalid-gradient.svg
  62366. * rendering/svg/RenderSVGResourceGradient.cpp:
  62367. (WebCore::RenderSVGResourceGradient::applyResource):
  62368. * rendering/svg/RenderSVGResourceGradient.h:
  62369. * rendering/svg/RenderSVGResourceLinearGradient.cpp:
  62370. (WebCore::RenderSVGResourceLinearGradient::collectGradientAttributes):
  62371. * rendering/svg/RenderSVGResourceLinearGradient.h:
  62372. * rendering/svg/RenderSVGResourceRadialGradient.cpp:
  62373. (WebCore::RenderSVGResourceRadialGradient::collectGradientAttributes):
  62374. * rendering/svg/RenderSVGResourceRadialGradient.h:
  62375. * svg/SVGLinearGradientElement.cpp:
  62376. (WebCore::SVGLinearGradientElement::collectGradientAttributes):
  62377. * svg/SVGLinearGradientElement.h:
  62378. * svg/SVGRadialGradientElement.cpp:
  62379. (WebCore::SVGRadialGradientElement::collectGradientAttributes):
  62380. * svg/SVGRadialGradientElement.h:
  62381. 2011-06-23 Dmitriy Vyukov <dvyukov@google.com>
  62382. Reviewed by David Levin.
  62383. Fix incorrect usage of a condition variable.
  62384. https://bugs.webkit.org/show_bug.cgi?id=63127
  62385. No new tests. This does not affect existing
  62386. functionality.
  62387. * storage/DatabaseTask.cpp:
  62388. (WebCore::DatabaseTaskSynchronizer::waitForTaskCompletion):
  62389. 2011-06-23 David Grogan <dgrogan@chromium.org>
  62390. Reviewed by Eric Seidel.
  62391. IndexedDB: add detail to an ASSERT error message
  62392. https://bugs.webkit.org/show_bug.cgi?id=60407
  62393. No new tests, this is just a debug ASSERT.
  62394. * storage/IDBRequest.cpp:
  62395. (WebCore::IDBRequest::dispatchEvent):
  62396. 2011-06-22 Dirk Schulze <krit@webkit.org>
  62397. Reviewed by Rob Buis.
  62398. Convert SVGPointList to SVGAnimatorFactory concept
  62399. https://bugs.webkit.org/show_bug.cgi?id=63171
  62400. Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
  62401. This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGPointList.
  62402. Added support for from-by animations of SVGPointLists.
  62403. Tests: svg/animations/svgpointlist-animation-1.html
  62404. svg/animations/svgpointlist-animation-2.html
  62405. * CMakeLists.txt: Added new files to build system.
  62406. * GNUmakefile.list.am: Ditto.
  62407. * WebCore.gypi: Ditto.
  62408. * WebCore.pro: Ditto.
  62409. * WebCore.vcproj/WebCore.vcproj: Ditto.
  62410. * WebCore.xcodeproj/project.pbxproj: Ditto.
  62411. * svg/SVGAllInOne.cpp: Added SVGAnimatedPointList.cpp
  62412. * svg/SVGAnimateElement.cpp:
  62413. (WebCore::SVGAnimateElement::calculateAnimatedValue):
  62414. (WebCore::SVGAnimateElement::calculateFromAndToValues):
  62415. (WebCore::SVGAnimateElement::calculateFromAndByValues):
  62416. (WebCore::SVGAnimateElement::resetToBaseValue):
  62417. (WebCore::SVGAnimateElement::applyResultsToTarget):
  62418. (WebCore::SVGAnimateElement::calculateDistance):
  62419. * svg/SVGAnimateElement.h:
  62420. * svg/SVGAnimatedPointList.cpp: Added.
  62421. (WebCore::SVGAnimatedPointListAnimator::SVGAnimatedPointListAnimator):
  62422. (WebCore::SVGAnimatedPointListAnimator::constructFromString):
  62423. (WebCore::SVGAnimatedPointListAnimator::calculateFromAndToValues):
  62424. (WebCore::SVGAnimatedPointListAnimator::calculateFromAndByValues):
  62425. (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):
  62426. (WebCore::SVGAnimatedPointListAnimator::calculateDistance):
  62427. * svg/SVGAnimatedPointList.h: Added.
  62428. (WebCore::SVGAnimatedPointListAnimator::~SVGAnimatedPointListAnimator):
  62429. * svg/SVGAnimatedType.cpp:
  62430. (WebCore::SVGAnimatedType::~SVGAnimatedType):
  62431. (WebCore::SVGAnimatedType::createPointList):
  62432. (WebCore::SVGAnimatedType::pointList):
  62433. (WebCore::SVGAnimatedType::valueAsString):
  62434. (WebCore::SVGAnimatedType::setValueAsString):
  62435. * svg/SVGAnimatedType.h:
  62436. * svg/SVGAnimatorFactory.h:
  62437. (WebCore::SVGAnimatorFactory::create):
  62438. 2011-06-22 Dimitri Glazkov <dglazkov@chromium.org>
  62439. Reviewed by Kent Tamura.
  62440. Move file-choosing and icon-loading management to FileInputType
  62441. https://bugs.webkit.org/show_bug.cgi?id=62069
  62442. 1) Moved the duties of FileChooserClient and FileIconLoaderClient from
  62443. RenderFileUploadControl to FileInputType, along with all of the
  62444. supporting functions.
  62445. 2) Moved Icon ownership to FileInputType and exposed accessor on
  62446. HTMInputElement to allow RenderFileUploadControl to query current icon.
  62447. As a result, RenderFileUploadControl is now completely stateless, which is
  62448. neat and clean.
  62449. Refactoring, covered by existing tests.
  62450. * html/FileInputType.cpp:
  62451. (WebCore::FileInputType::handleDOMActivateEvent): Moved logic here from RenderFileUploadControl.
  62452. (WebCore::FileInputType::requestIcon): Ditto.
  62453. (WebCore::FileInputType::filesChosen): Ditto.
  62454. (WebCore::FileInputType::receiveDropForDirectoryUpload): Ditto.
  62455. (WebCore::FileInputType::updateRendering): Ditto.
  62456. (WebCore::FileInputType::chrome): Ditto.
  62457. (WebCore::FileInputType::receiveDroppedFiles): Ditto.
  62458. (WebCore::FileInputType::icon): Added.
  62459. * html/FileInputType.h:
  62460. * html/HTMLInputElement.cpp:
  62461. (WebCore::HTMLInputElement::setValueFromRenderer): Updated comment.
  62462. (WebCore::HTMLInputElement::receiveDroppedFiles): Added to replace setFileListFromRenderer.
  62463. (WebCore::HTMLInputElement::icon): Added.
  62464. * html/HTMLInputElement.h:
  62465. * html/InputType.cpp:
  62466. (WebCore::InputType::receiveDroppedFiles): Added.
  62467. (WebCore::InputType::icon): Added.
  62468. * html/InputType.h:
  62469. * page/DragController.cpp:
  62470. (WebCore::DragController::concludeEditDrag): Changed to use HTMLInputElement. Ahh, nice and clean!
  62471. * rendering/RenderFileUploadControl.cpp:
  62472. (WebCore::RenderFileUploadControl::RenderFileUploadControl): Removed code that is no longer necessary.
  62473. (WebCore::RenderFileUploadControl::updateFromElement): Ditto.
  62474. (WebCore::RenderFileUploadControl::maxFilenameWidth): Changed to use HTMLInputElement icon accessor.
  62475. (WebCore::RenderFileUploadControl::paintObject): Ditto.
  62476. * rendering/RenderFileUploadControl.h:
  62477. 2011-06-22 Pratik Solanki <psolanki@apple.com>
  62478. Reviewed by Darin Adler.
  62479. Add NSError wrapper functions in ResourceError when USE(CFNETWORK) is enabled
  62480. https://bugs.webkit.org/show_bug.cgi?id=63155
  62481. Add wrapper functions to ResourceError when building with USE(CFNETWORK). We need to create
  62482. a new NSError in ResourceError::nsError() since Safari has category methods on NSError and
  62483. passing a CFErrorRef back does not work even though CFErrorRef/NSErrror are toll-free
  62484. bridged.
  62485. No tests because no change in functionality.
  62486. * WebCore.exp.in:
  62487. * platform/network/cf/ResourceError.h:
  62488. * platform/network/mac/ResourceErrorMac.mm:
  62489. (WebCore::ResourceError::ResourceError):
  62490. (WebCore::ResourceError::nsError):
  62491. (WebCore::ResourceError::operator NSError *):
  62492. 2011-06-22 Dominic Cooney <dominicc@chromium.org>
  62493. Reviewed by Mark Rowe.
  62494. Add window.internals to WebKit2's WebKitTestRunner.
  62495. https://bugs.webkit.org/show_bug.cgi?id=61073
  62496. * Configurations/WebCoreTestSupport.xcconfig:
  62497. * WebCore.xcodeproj/project.pbxproj:
  62498. 2011-06-22 Dimitri Glazkov <dglazkov@chromium.org>
  62499. Reviewed by Kent Tamura.
  62500. Convert FileIconLoaderClient to "smart client" pattern, just like FileChooserClient.
  62501. https://bugs.webkit.org/show_bug.cgi?id=63224
  62502. Refactoring, covered by existing tests.
  62503. * platform/FileIconLoader.cpp:
  62504. (WebCore::FileIconLoaderClient::~FileIconLoaderClient): Changed to discard loader.
  62505. (WebCore::FileIconLoaderClient::newFileIconLoader): Added.
  62506. (WebCore::FileIconLoaderClient::discardLoader): Added.
  62507. * platform/FileIconLoader.h: Updated defs.
  62508. * rendering/RenderFileUploadControl.cpp:
  62509. (WebCore::RenderFileUploadControl::RenderFileUploadControl): Removed initialization of icon loader.
  62510. (WebCore::RenderFileUploadControl::~RenderFileUploadControl): Remove discarding of loader.
  62511. (WebCore::RenderFileUploadControl::requestIcon): Changed to use newFileIconLoader.
  62512. * rendering/RenderFileUploadControl.h: Updated defs.
  62513. 2011-06-22 Yael Aharon <yael.aharon@nokia.com>
  62514. Another unreviewed build fix after r89472.
  62515. No new tests, just a build fix.
  62516. * rendering/svg/SVGResources.cpp:
  62517. 2011-06-22 Yael Aharon <yael.aharon@nokia.com>
  62518. Unreviewed build fix after r89472.
  62519. No new tests, just a build fix.
  62520. * rendering/InlineBox.cpp:
  62521. * rendering/RenderCounter.cpp:
  62522. 2011-06-22 Dimitri Glazkov <dglazkov@chromium.org>
  62523. Reviewed by Kent Tamura.
  62524. Add a helper function to FileList to retrieve a list of filenames.
  62525. https://bugs.webkit.org/show_bug.cgi?id=63222
  62526. Refactoring, covered by existing tests.
  62527. * fileapi/FileList.cpp:
  62528. (WebCore::FileList::filenames): Added.
  62529. * fileapi/FileList.h:
  62530. * rendering/RenderFileUploadControl.cpp:
  62531. (WebCore::RenderFileUploadControl::RenderFileUploadControl): Changed to use newly added helper.
  62532. (WebCore::RenderFileUploadControl::click): Ditto.
  62533. (WebCore::RenderFileUploadControl::fileTextValue): Ditto.
  62534. 2011-06-22 Sam Weinig <sam@webkit.org>
  62535. Reviewed by Adam Barth.
  62536. Lower HTML parser DOM depth limit to 2048
  62537. https://bugs.webkit.org/show_bug.cgi?id=63219
  62538. Lower the default depth limit from 4096 to 2048. There isn't a good
  62539. reason to have such pathologically nested content, and by-and-large,
  62540. the rendering code is not setup to support it that well. Adding this
  62541. aggressive limit now will allow us to see if anything breaks in the
  62542. nightlies.
  62543. * page/Settings.h:
  62544. 2011-06-22 Julien Chaffraix <jchaffraix@webkit.org>
  62545. Reviewed by Dimitri Glazkov.
  62546. Tighten type usage in the Shadow tree code
  62547. https://bugs.webkit.org/show_bug.cgi?id=63210
  62548. Refactoring only, no new test required.
  62549. * dom/Document.cpp:
  62550. (WebCore::Document::buildAccessKeyMap):
  62551. * dom/Document.h:
  62552. Changed the argument of buildAccessKeyMap to TreeScope.
  62553. * dom/Element.cpp:
  62554. (WebCore::Element::attach):
  62555. (WebCore::Element::removeShadowRoot):
  62556. * html/ColorInputType.cpp:
  62557. (WebCore::ColorInputType::shadowColorSwatch):
  62558. * html/HTMLKeygenElement.cpp:
  62559. (WebCore::HTMLKeygenElement::shadowSelect):
  62560. * html/shadow/SliderThumbElement.cpp:
  62561. (WebCore::sliderThumbElementOf):
  62562. Use ShadowRoot for the previous call sites as this is what is
  62563. returned by shadowRoot().
  62564. * dom/Node.cpp:
  62565. (WebCore::traverseTreeAndMark): Renamed the parameter here as it is not
  62566. expected to be a shadow object. Just the rootNode of our traversal.
  62567. * dom/ShadowRoot.h: Made attach() public as it is public in ContainerNode
  62568. and we would do some casting to avoid the private attribute in ShadowRoot.
  62569. 2011-06-22 Joseph Pecoraro <joepeck@webkit.org>
  62570. Reviewed by Darin Adler.
  62571. Remove comment about pages with frames not being page-cachable
  62572. https://bugs.webkit.org/show_bug.cgi?id=63207
  62573. This comment was out of date. Caching pages with Frames in
  62574. the PageCache has worked since 2009:
  62575. <http://webkit.org/b/13631> Page Cache should support pages with frames
  62576. * history/PageCache.cpp:
  62577. (WebCore::PageCache::canCache):
  62578. 2011-06-22 Yael Aharon <yael.aharon@nokia.com>
  62579. Reviewed by Andreas Kling.
  62580. [Qt] Add a build flag for building with libxml2 and libxslt.
  62581. https://bugs.webkit.org/show_bug.cgi?id=63113
  62582. No new tests. If this new flag was set by default, we could unskip
  62583. existing xmlviewer tests.
  62584. * CodeGenerators.pri:
  62585. * WebCore.pri:
  62586. * WebCore.pro:
  62587. * features.pri:
  62588. 2011-06-22 Ryosuke Niwa <rniwa@webkit.org>
  62589. Yet another build fix after r89472.
  62590. * html/parser/HTMLFormattingElementList.cpp:
  62591. 2011-06-22 Ryosuke Niwa <rniwa@webkit.org>
  62592. Another build fix after r89472.
  62593. * dom/DocumentMarkerController.cpp:
  62594. 2011-06-22 Ryosuke Niwa <rniwa@webkit.org>
  62595. Build fix after r89472.
  62596. * css/CSSStyleDeclaration.cpp:
  62597. 2011-06-22 Mark Pilgrim <pilgrim@chromium.org>
  62598. Reviewed by Adam Barth.
  62599. IndexedDB open (database) should NOT throw if name is null
  62600. https://bugs.webkit.org/show_bug.cgi?id=63110
  62601. * storage/IDBFactory.idl: remove ConvertNullToNullString flag on
  62602. name argument, let IDL code generator stringify null value to "null"
  62603. 2011-06-22 Ryosuke Niwa <rniwa@webkit.org>
  62604. Reviewed by Darin Adler.
  62605. Add a Position constructor that takes (Text*, unsigned offset)
  62606. https://bugs.webkit.org/show_bug.cgi?id=63181
  62607. Added Position::Position(PassRefPtr<Text*>, unsigned offset) and deployed in a couple of places
  62608. by replacing the calls to the old constructor.
  62609. * dom/Position.cpp:
  62610. (WebCore::Position::Position): Added.
  62611. * dom/Position.h:
  62612. * editing/CompositeEditCommand.cpp:
  62613. (WebCore::CompositeEditCommand::replaceSelectedTextInNode): Calls new constructor; extracted
  62614. from InsertTextCommand::performTrivialReplace and ReplaceSelectionCommand::performTrivialReplace.
  62615. (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Calls new constructor
  62616. * editing/CompositeEditCommand.h:
  62617. * editing/InsertTextCommand.cpp:
  62618. (WebCore::InsertTextCommand::performTrivialReplace): Calls replaceSelectedTextInNode.
  62619. (WebCore::InsertTextCommand::input): Calls new constructor.
  62620. (WebCore::InsertTextCommand::insertTab): Use RefPtr instead of a raw pointer.
  62621. * editing/ReplaceSelectionCommand.cpp:
  62622. (WebCore::ReplaceSelectionCommand::performTrivialReplace): Calls replaceSelectedTextInNode.
  62623. * editing/visible_units.cpp:
  62624. (WebCore::startPositionForLine): Calls new constructor.
  62625. * rendering/RenderTextControl.cpp:
  62626. (WebCore::RenderTextControl::visiblePositionForIndex): Calls new constructor; calls endPosition
  62627. on Range instead of avoid manually constructing a VisiblePosition out of endContainer and endOffset.
  62628. 2011-06-22 Adam Barth <abarth@webkit.org>
  62629. Reviewed by Darin Fisher.
  62630. [Chromium] Add WebDocument APIs for the functions moving from WebFrame
  62631. https://bugs.webkit.org/show_bug.cgi?id=62831
  62632. * dom/Document.cpp:
  62633. (WebCore::Document::openSearchDescriptionURL):
  62634. - This function exists to service a Chromium WebKit API, but it's
  62635. generally purpose and might be useful to other ports. The
  62636. algorithm has some strange early exits, which I've marked with
  62637. FIXME comments.
  62638. * dom/Document.h:
  62639. 2011-06-22 Nate Chapin <japhet@chromium.org>
  62640. Reviewed by Adam Barth.
  62641. Don't let all subresources keep isLoadingInAPISense() from
  62642. returning false, only requests that affect
  62643. CachedResourceRequest::requestCount().
  62644. Also, add a callback to Internals to determine whether
  62645. a resource has been preloaded.
  62646. https://bugs.webkit.org/show_bug.cgi?id=62066
  62647. * WebCore.exp.in:
  62648. * dom/Document.cpp: Add m_loadEventFinished.
  62649. * dom/Document.h:
  62650. * loader/DocumentLoader.cpp:
  62651. (WebCore::DocumentLoader::isLoadingInAPISense):
  62652. * loader/cache/CachedResourceLoader.cpp:
  62653. (WebCore::CachedResourceLoader::isPreloaded):
  62654. * loader/cache/CachedResourceLoader.h:
  62655. * testing/Internals.cpp:
  62656. (WebCore::Internals::isPreloaded):
  62657. * testing/Internals.h:
  62658. * testing/Internals.idl:
  62659. 2011-06-22 Chris Rogers <crogers@google.com>
  62660. Reviewed by David Levin.
  62661. Use create() method for AsyncAudioDecoder::DecodingTask
  62662. https://bugs.webkit.org/show_bug.cgi?id=63198
  62663. No new tests. This doesn't change any JS API.
  62664. * webaudio/AsyncAudioDecoder.cpp:
  62665. (WebCore::AsyncAudioDecoder::decodeAsync):
  62666. (WebCore::AsyncAudioDecoder::DecodingTask::create):
  62667. * webaudio/AsyncAudioDecoder.h:
  62668. 2011-06-22 Sheriff Bot <webkit.review.bot@gmail.com>
  62669. Unreviewed, rolling out r89489.
  62670. http://trac.webkit.org/changeset/89489
  62671. https://bugs.webkit.org/show_bug.cgi?id=63203
  62672. Broke chromium mac build on build.webkit.org (Requested by
  62673. abarth on #webkit).
  62674. * WebCore.gyp/WebCore.gyp:
  62675. * loader/cache/CachedFont.cpp:
  62676. * platform/chromium/DragImageRef.h:
  62677. * platform/graphics/FloatPoint.h:
  62678. * platform/graphics/FloatRect.h:
  62679. * platform/graphics/FloatSize.h:
  62680. * platform/graphics/FontPlatformData.h:
  62681. (WebCore::FontPlatformData::hash):
  62682. * platform/graphics/GlyphBuffer.h:
  62683. (WebCore::GlyphBuffer::advanceAt):
  62684. (WebCore::GlyphBuffer::add):
  62685. (WebCore::GlyphBuffer::expandLastAdvance):
  62686. * platform/graphics/IntPoint.h:
  62687. * platform/graphics/IntRect.h:
  62688. * platform/graphics/IntSize.h:
  62689. * platform/graphics/SimpleFontData.h:
  62690. * platform/graphics/cg/FloatPointCG.cpp:
  62691. * platform/graphics/cg/FloatRectCG.cpp:
  62692. * platform/graphics/cg/FloatSizeCG.cpp:
  62693. * platform/graphics/cg/IntPointCG.cpp:
  62694. * platform/graphics/cg/IntRectCG.cpp:
  62695. * platform/graphics/cg/IntSizeCG.cpp:
  62696. * platform/graphics/mac/FontCustomPlatformData.cpp:
  62697. (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
  62698. (WebCore::createFontCustomPlatformData):
  62699. * platform/graphics/mac/FontCustomPlatformData.h:
  62700. (WebCore::FontCustomPlatformData::FontCustomPlatformData):
  62701. 2011-06-22 Luke Macpherson <macpherson@chromium.org>
  62702. Reviewed by James Robinson.
  62703. Remove comment that snuck in via copy & paste.
  62704. https://bugs.webkit.org/show_bug.cgi?id=63177
  62705. No new tests / no code changes.
  62706. * css/CSSPrimitiveValueMappings.h:
  62707. (WebCore::CSSPrimitiveValue::operator short):
  62708. Removed incorrect comment.
  62709. 2011-06-22 Annie Sullivan <sullivan@chromium.org>
  62710. Reviewed by Ryosuke Niwa.
  62711. REGRESSION: Hitting enter in the middle of this span causes the cursor to go to the end of the span
  62712. https://bugs.webkit.org/show_bug.cgi?id=61594
  62713. When the tree is split at the cursor in InsertParagraphSeparatorCommand, it is possible for the position
  62714. split at to be at the end of a text node. The code assumes the position is at the start of the node, so
  62715. pass the correct node into splitTreeToNode() in that case.
  62716. Tests: editing/inserting/return-key-before-br-in-span.html
  62717. editing/inserting/return-key-middle-of-span.html
  62718. * editing/InsertParagraphSeparatorCommand.cpp:
  62719. (WebCore::InsertParagraphSeparatorCommand::doApply):
  62720. 2011-06-22 Rob Buis <rbuis@rim.com>
  62721. Reviewed by Nikolas Zimmermann.
  62722. SVG1.1SE test with pointer-events and invalid gradient fill fails
  62723. https://bugs.webkit.org/show_bug.cgi?id=63109
  62724. Properly detect fill/stroke properties of type SVG_PAINTTYPE_URI_NONE, store it in SVGPaint
  62725. and don't apply the paint if the uri lookup fails.
  62726. Tests: svg/W3C-SVG-1.1-SE/interact-pointer-03-t.svg
  62727. svg/custom/pointer-events-invalid-fill.svg
  62728. * css/SVGCSSParser.cpp:
  62729. (WebCore::CSSParser::parseSVGValue):
  62730. * rendering/svg/RenderSVGResource.cpp:
  62731. (WebCore::requestPaintingResource):
  62732. * svg/SVGPaint.h:
  62733. (WebCore::SVGPaint::createURIAndNone):
  62734. 2011-06-22 Cary Clark <caryclark@google.com>
  62735. Reviewed by Darin Fisher.
  62736. Use Skia if Skia on Mac Chrome is enabled
  62737. https://bugs.webkit.org/show_bug.cgi?id=62999
  62738. No new tests. This does not affect existing
  62739. functionality.
  62740. * WebCore.gyp/WebCore.gyp:
  62741. Include Skia and related files and exclude CG
  62742. and related files when building Chromium for Skia
  62743. on the Mac.
  62744. * loader/cache/CachedFont.cpp:
  62745. Rename CHROME to CHROMIUM.
  62746. * platform/chromium/DragImageRef.h:
  62747. * platform/graphics/FloatPoint.h:
  62748. * platform/graphics/FloatRect.h:
  62749. * platform/graphics/FloatSize.h:
  62750. * platform/graphics/FontPlatformData.h:
  62751. (WebCore::FontPlatformData::hash):
  62752. * platform/graphics/GlyphBuffer.h:
  62753. (WebCore::GlyphBuffer::advanceAt):
  62754. (WebCore::GlyphBuffer::add):
  62755. (WebCore::GlyphBuffer::expandLastAdvance):
  62756. * platform/graphics/IntPoint.h:
  62757. * platform/graphics/IntRect.h:
  62758. * platform/graphics/IntSize.h:
  62759. * platform/graphics/SimpleFontData.h:
  62760. * platform/graphics/cg/FloatPointCG.cpp:
  62761. * platform/graphics/cg/FloatRectCG.cpp:
  62762. * platform/graphics/cg/FloatSizeCG.cpp:
  62763. * platform/graphics/cg/IntPointCG.cpp:
  62764. * platform/graphics/cg/IntRectCG.cpp:
  62765. * platform/graphics/cg/IntSizeCG.cpp:
  62766. * platform/graphics/mac/FontCustomPlatformData.cpp:
  62767. (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
  62768. (WebCore::createFontCustomPlatformData):
  62769. * platform/graphics/mac/FontCustomPlatformData.h:
  62770. (WebCore::FontCustomPlatformData::FontCustomPlatformData):
  62771. Ditto.
  62772. 2011-06-22 Mark Pilgrim <pilgrim@chromium.org>
  62773. Reviewed by Adam Barth.
  62774. IndexedDB createIndex should NOT throw if name arg is null
  62775. https://bugs.webkit.org/show_bug.cgi?id=63114
  62776. * storage/IDBObjectStore.idl: remove ConvertNullToNullString flag
  62777. so null values will be stringified as "null", as per WebIDL spec.
  62778. 2011-06-22 Chris Rogers <crogers@google.com>
  62779. Reviewed by Kenneth Russell.
  62780. AudioContext needs non-blocking call to create AudioBuffer from audio file data
  62781. https://bugs.webkit.org/show_bug.cgi?id=61947
  62782. No new tests since audio API is not yet implemented.
  62783. * DerivedSources.make:
  62784. * WebCore.gypi:
  62785. * WebCore.xcodeproj/project.pbxproj:
  62786. * webaudio/AsyncAudioDecoder.cpp: Added.
  62787. (WebCore::AsyncAudioDecoder::AsyncAudioDecoder):
  62788. (WebCore::AsyncAudioDecoder::~AsyncAudioDecoder):
  62789. (WebCore::AsyncAudioDecoder::decodeAsync):
  62790. (WebCore::AsyncAudioDecoder::threadEntry):
  62791. (WebCore::AsyncAudioDecoder::runLoop):
  62792. (WebCore::AsyncAudioDecoder::DecodingTask::DecodingTask):
  62793. (WebCore::AsyncAudioDecoder::DecodingTask::decode):
  62794. (WebCore::AsyncAudioDecoder::DecodingTask::notifyCompleteDispatch):
  62795. (WebCore::AsyncAudioDecoder::DecodingTask::notifyComplete):
  62796. * webaudio/AsyncAudioDecoder.h: Added.
  62797. (WebCore::AsyncAudioDecoder::DecodingTask::audioData):
  62798. (WebCore::AsyncAudioDecoder::DecodingTask::sampleRate):
  62799. (WebCore::AsyncAudioDecoder::DecodingTask::successCallback):
  62800. (WebCore::AsyncAudioDecoder::DecodingTask::errorCallback):
  62801. (WebCore::AsyncAudioDecoder::DecodingTask::audioBuffer):
  62802. * webaudio/AudioBufferCallback.h: Added.
  62803. (WebCore::AudioBufferCallback::~AudioBufferCallback):
  62804. * webaudio/AudioBufferCallback.idl: Added.
  62805. * webaudio/AudioContext.cpp:
  62806. (WebCore::AudioContext::decodeAudioData):
  62807. * webaudio/AudioContext.h:
  62808. * webaudio/AudioContext.idl:
  62809. 2011-06-22 Beth Dakin <bdakin@apple.com>
  62810. Reviewed by Simon Fraser.
  62811. https://bugs.webkit.org/show_bug.cgi?id=63174
  62812. Don't draw the borders as one path unless there really are 4 borders
  62813. -and corresponding-
  62814. <rdar://problem/9457997>
  62815. If any of the border edges have no width, then allEdgesVisible should be set to
  62816. false since borders without width will not be visible.
  62817. * rendering/RenderBoxModelObject.cpp:
  62818. (WebCore::RenderBoxModelObject::paintBorder):
  62819. 2011-06-22 Matthew Delaney <mdelaney@apple.com>
  62820. Reviewed by Oliver Hunt.
  62821. Canvas in layer obscures overlapping span
  62822. https://bugs.webkit.org/show_bug.cgi?id=63161
  62823. Test: compositing/layer-creation/spanOverlapsCanvas.html
  62824. * rendering/RenderLayer.cpp: Added checks for canvas to be layered properly.
  62825. (WebCore::RenderLayer::shouldBeNormalFlowOnly):
  62826. (WebCore::RenderLayer::isSelfPaintingLayer):
  62827. 2011-06-22 Chris Rogers <crogers@google.com>
  62828. Reviewed by Kenneth Russell.
  62829. AudioContext noteGrainOn() method should not apply explicit windowing
  62830. https://bugs.webkit.org/show_bug.cgi?id=63005
  62831. No new tests since audio API is not yet implemented.
  62832. * webaudio/AudioBufferSourceNode.cpp:
  62833. (WebCore::AudioBufferSourceNode::readFromBuffer):
  62834. * webaudio/AudioBufferSourceNode.h:
  62835. 2011-06-22 Kentaro Hara <haraken@google.com>
  62836. Reviewed by Tony Chang.
  62837. Check |keypath| argument of createObjectStore(). Remove storage/indexeddb/keypath-as-array.html.
  62838. https://bugs.webkit.org/show_bug.cgi?id=63054
  62839. At the head of createObjectStore(), we parse |keypath| argument and throw an exception
  62840. if the |keypath| is invalid. With this parsing, we remove keypath-as-array.html because
  62841. the current keypath parser does not support an array of keypath and (more importantly)
  62842. the current implementation of ObjectStore does not support multiple keypaths.
  62843. We added keypath-basics.html that demonstrates that we do not support an array of keypaths.
  62844. Tests: storage/indexeddb/keypath-basics.html
  62845. * storage/IDBDatabase.cpp:
  62846. (WebCore::IDBDatabase::createObjectStore):
  62847. * storage/IDBKeyPath.cpp:
  62848. (WebCore::IDBIsValidKeyPath):
  62849. * storage/IDBKeyPath.h:
  62850. 2011-06-22 Young Han Lee <joybro@company100.net>
  62851. Reviewed by Simon Fraser.
  62852. animation-timing-function property with a list uses first item for all animations
  62853. https://bugs.webkit.org/show_bug.cgi?id=60303
  62854. When an element has multiple animations that have different timingFunctions,
  62855. the progress of each animation should be calculated using its respective timingFunction.
  62856. But at this point, the timingFunction of the first animation is only used for the
  62857. calculation, regardless of how many animations the element has.
  62858. The code for getting a timingFunction is changed by this patch
  62859. so that the timingFunction of the correct animation searched by its name will be used.
  62860. Test: animations/multiple-animations-timing-function.html
  62861. * page/animation/KeyframeAnimation.cpp:
  62862. (WebCore::getAnimationFromStyleByName):
  62863. (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
  62864. 2011-06-22 Sheriff Bot <webkit.review.bot@gmail.com>
  62865. Unreviewed, rolling out r89407, r89409, r89410, and r89411.
  62866. http://trac.webkit.org/changeset/89407
  62867. http://trac.webkit.org/changeset/89409
  62868. http://trac.webkit.org/changeset/89410
  62869. http://trac.webkit.org/changeset/89411
  62870. https://bugs.webkit.org/show_bug.cgi?id=63168
  62871. Broke Chromium tests for Forms and Autofill (Requested by
  62872. dimich on #webkit).
  62873. * css/html.css:
  62874. (input[type="search"]::-webkit-search-cancel-button):
  62875. (input[type="search"]::-webkit-search-decoration):
  62876. (input[type="search"]::-webkit-search-results-decoration):
  62877. (input[type="search"]::-webkit-search-results-button):
  62878. (input::-webkit-inner-spin-button):
  62879. (input::-webkit-input-speech-button):
  62880. * html/HTMLInputElement.cpp:
  62881. * html/HTMLInputElement.h:
  62882. * html/InputType.h:
  62883. * html/SearchInputType.cpp:
  62884. (WebCore::SearchInputType::SearchInputType):
  62885. (WebCore::SearchInputType::createShadowSubtree):
  62886. (WebCore::SearchInputType::destroyShadowSubtree):
  62887. * html/SearchInputType.h:
  62888. (WebCore::SearchInputType::innerBlockElement):
  62889. * html/TextFieldInputType.cpp:
  62890. (WebCore::TextFieldInputType::TextFieldInputType):
  62891. (WebCore::TextFieldInputType::createShadowSubtree):
  62892. (WebCore::TextFieldInputType::destroyShadowSubtree):
  62893. * html/TextFieldInputType.h:
  62894. (WebCore::TextFieldInputType::innerTextElement):
  62895. (WebCore::TextFieldInputType::innerSpinButtonElement):
  62896. (WebCore::TextFieldInputType::speechButtonElement):
  62897. (WebCore::TextFieldInputType::setInnerTextElement):
  62898. (WebCore::TextFieldInputType::setSpeechButtonElement):
  62899. * rendering/RenderTextControlSingleLine.cpp:
  62900. (WebCore::RenderTextControlSingleLine::innerTextElement):
  62901. (WebCore::RenderTextControlSingleLine::layout):
  62902. (WebCore::RenderTextControlSingleLine::nodeAtPoint):
  62903. (WebCore::RenderTextControlSingleLine::forwardEvent):
  62904. (WebCore::RenderTextControlSingleLine::styleDidChange):
  62905. (WebCore::RenderTextControlSingleLine::hasControlClip):
  62906. (WebCore::RenderTextControlSingleLine::controlClipRect):
  62907. (WebCore::RenderTextControlSingleLine::textBlockWidth):
  62908. (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
  62909. (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
  62910. (WebCore::RenderTextControlSingleLine::textBlockInsetTop):
  62911. * rendering/RenderTextControlSingleLine.h:
  62912. 2011-06-20 Mikhail Naganov <mnaganov@chromium.org>
  62913. Reviewed by Pavel Feldman.
  62914. Web Inspector: [Chromium] Improve speed of heap profiles dominators view.
  62915. https://bugs.webkit.org/show_bug.cgi?id=62979
  62916. * inspector/front-end/DetailedHeapshotGridNodes.js:
  62917. (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
  62918. * inspector/front-end/HeapSnapshot.js:
  62919. (WebInspector.HeapSnapshotArraySlice.prototype.item):
  62920. (WebInspector.HeapSnapshotArraySlice.prototype.slice):
  62921. (WebInspector.HeapSnapshot.prototype.dispose):
  62922. (WebInspector.HeapSnapshot.prototype._dominatedNodesOfNode):
  62923. (WebInspector.HeapSnapshot.prototype._buildReverseIndex.var):
  62924. (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
  62925. (WebInspector.HeapSnapshot.prototype._buildRetainers):
  62926. (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
  62927. (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
  62928. (WebInspector.HeapSnapshot.prototype._getDominatedIndex):
  62929. (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
  62930. (WebInspector.HeapSnapshot.prototype.createNodesProviderForDominator):
  62931. (WebInspector.HeapSnapshotFilteredOrderedIterator):
  62932. (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype._createIterationOrder):
  62933. (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.get length):
  62934. (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeNextItems):
  62935. (WebInspector.HeapSnapshotNodesProvider):
  62936. * inspector/front-end/HeapSnapshotProxy.js:
  62937. (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForDominator):
  62938. 2011-06-22 Sreeram Ramachandran <sreeram@chromium.org>
  62939. Reviewed by Pavel Feldman.
  62940. Web Inspector: Restore console messages when restoring inspector state
  62941. https://bugs.webkit.org/show_bug.cgi?id=63146
  62942. No new tests (no change in functionality, only in display).
  62943. * inspector/InspectorConsoleAgent.cpp:
  62944. (WebCore::InspectorConsoleAgent::restore):
  62945. * inspector/InspectorConsoleAgent.h:
  62946. * inspector/InspectorController.cpp:
  62947. (WebCore::InspectorController::restoreInspectorStateFromCookie):
  62948. 2011-06-22 Adam Barth <abarth@webkit.org>
  62949. Attempt to fix the GTK build after my incomplete rollout of 88332.
  62950. * GNUmakefile.list.am:
  62951. 2011-06-22 Sam Weinig <sam@webkit.org>
  62952. Reviewed by Adam Barth.
  62953. HTML parser should limit element depth of produced tree
  62954. https://bugs.webkit.org/show_bug.cgi?id=63082
  62955. Test by:
  62956. fast/parser/block-nesting-cap.html
  62957. fast/parser/element-nesting-cap.html
  62958. * html/parser/HTMLConstructionSite.cpp:
  62959. (WebCore::HTMLConstructionSite::attach):
  62960. (WebCore::HTMLConstructionSite::HTMLConstructionSite):
  62961. * html/parser/HTMLConstructionSite.h:
  62962. Limit the DOM tree depth by turning attempts to add a child passed a certain
  62963. threshold (configurable by Settings::maximumDOMTreeDepth) into a sibling.
  62964. * html/parser/HTMLDocumentParser.cpp:
  62965. (WebCore::HTMLDocumentParser::HTMLDocumentParser):
  62966. (WebCore::HTMLDocumentParser::maximumDOMTreeDepth):
  62967. * html/parser/HTMLDocumentParser.h:
  62968. Pass the maximumDOMTreeDepth to the TreeBuilder.
  62969. * html/parser/HTMLElementStack.cpp:
  62970. (WebCore::HTMLElementStack::HTMLElementStack):
  62971. (WebCore::HTMLElementStack::popAll):
  62972. (WebCore::HTMLElementStack::insertAbove):
  62973. (WebCore::HTMLElementStack::pushCommon):
  62974. (WebCore::HTMLElementStack::popCommon):
  62975. (WebCore::HTMLElementStack::removeNonTopCommon):
  62976. * html/parser/HTMLElementStack.h:
  62977. (WebCore::HTMLElementStack::size):
  62978. Keep track of the size of the element stack.
  62979. * html/parser/HTMLTreeBuilder.cpp:
  62980. (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
  62981. * html/parser/HTMLTreeBuilder.h:
  62982. (WebCore::HTMLTreeBuilder::create):
  62983. Pass the maximumDOMTreeDepth to the construction site.
  62984. * page/Settings.cpp:
  62985. (WebCore::Settings::Settings):
  62986. * page/Settings.h:
  62987. (WebCore::Settings::setMaximumHTMLParserDOMTreeDepth):
  62988. (WebCore::Settings::maximumHTMLParserDOMTreeDepth):
  62989. Add a setting to control the maximum DOM tree depth that the parser will produce.
  62990. 2011-06-22 Adam Barth <abarth@webkit.org>
  62991. Rollout 88332. As discussed on webkit-dev, we'd like to iterate on
  62992. both the API and it's implementation a bit.
  62993. * WebCore.gypi:
  62994. * bindings/generic/RuntimeEnabledFeatures.cpp:
  62995. * bindings/generic/RuntimeEnabledFeatures.h:
  62996. * dom/DocumentMarker.h:
  62997. (WebCore::DocumentMarker::activeMatch):
  62998. * dom/DocumentMarkerController.cpp:
  62999. * dom/DocumentMarkerController.h:
  63000. * html/HTMLDivElement.cpp:
  63001. * html/HTMLDivElement.h:
  63002. * html/HTMLDivElement.idl:
  63003. * html/HTMLInputElement.cpp:
  63004. * html/HTMLInputElement.h:
  63005. * html/HTMLInputElement.idl:
  63006. * html/HTMLTextAreaElement.cpp:
  63007. * html/HTMLTextAreaElement.h:
  63008. * html/HTMLTextAreaElement.idl:
  63009. * html/SpellcheckRange.cpp: Removed.
  63010. * html/SpellcheckRange.h: Removed.
  63011. * html/SpellcheckRange.idl: Removed.
  63012. * html/SpellcheckRangeList.cpp: Removed.
  63013. * html/SpellcheckRangeList.h: Removed.
  63014. * html/SpellcheckRangeList.idl: Removed.
  63015. * rendering/InlineTextBox.cpp:
  63016. (WebCore::textCheckingLineStyleForMarkerType):
  63017. (WebCore::InlineTextBox::paintDocumentMarkers):
  63018. 2011-06-22 Mark Pilgrim <pilgrim@chromium.org>
  63019. Reviewed by Adam Barth.
  63020. IndexedDB: fix multiple issues in IDBDatabase.idl
  63021. https://bugs.webkit.org/show_bug.cgi?id=63140
  63022. Tests: storage/indexeddb/createObjectStore-name-argument-required.html
  63023. storage/indexeddb/createObjectStore-null-name.html
  63024. storage/indexeddb/deleteObjectStore-name-argument-required.html
  63025. storage/indexeddb/deleteObjectStore-null-name.html
  63026. storage/indexeddb/setVersion-null.html
  63027. storage/indexeddb/transaction-storeNames-required.html
  63028. * storage/IDBDatabase.idl: remove LegacyDefaultOptionalArguments so
  63029. all functions will throw TypeError when called with too few arguments,
  63030. as per WebIDL spec. Also remove ConvertNullToNullString flags so null
  63031. values are stringified as "null" (also as per WebIDL spec).
  63032. 2011-06-22 Vsevolod Vlasov <vsevik@chromium.org>
  63033. Reviewed by Pavel Feldman.
  63034. Web Inspector: Move logic for deciding whether resource content should be base64 encoded on backend.
  63035. https://bugs.webkit.org/show_bug.cgi?id=63069
  63036. * inspector/Inspector.json:
  63037. * inspector/InspectorPageAgent.cpp:
  63038. (WebCore::InspectorPageAgent::cachedResourceContent):
  63039. (WebCore::InspectorPageAgent::resourceContent):
  63040. (WebCore::InspectorPageAgent::getResourceContent):
  63041. (WebCore::InspectorPageAgent::searchInResources):
  63042. * inspector/InspectorPageAgent.h:
  63043. * inspector/InspectorResourceAgent.cpp:
  63044. (WebCore::InspectorResourceAgent::getResourceContent):
  63045. * inspector/InspectorResourceAgent.h:
  63046. * inspector/InspectorStyleSheet.cpp:
  63047. (WebCore::InspectorStyleSheet::resourceStyleSheetText):
  63048. * inspector/front-end/NetworkManager.js:
  63049. (WebInspector.NetworkManager.prototype.requestContent):
  63050. * inspector/front-end/Resource.js:
  63051. (WebInspector.Resource.prototype._innerRequestContent.onResourceContent):
  63052. (WebInspector.Resource.prototype._innerRequestContent):
  63053. 2011-06-22 Luke Macpherson <macpherson@chromium.org>
  63054. Reviewed by Dimitri Glazkov.
  63055. Support cast from CSSPrimitiveValue to short and use for CSSPropertyWidows and CSSPropertyOrphans.
  63056. https://bugs.webkit.org/show_bug.cgi?id=62964
  63057. No new tests / refactoring only.
  63058. * css/CSSPrimitiveValueMappings.h:
  63059. Support cast to/from short.
  63060. * css/CSSStyleSelector.cpp:
  63061. (WebCore::CSSStyleSelector::applyProperty):
  63062. Use cast to short to allow CSSPropertWidows and CSSPropertyOrphans to use existing macro.
  63063. 2011-06-22 Eunmi Lee <eunmi15.lee@samsung.com>
  63064. Reviewed by Martin Robinson.
  63065. Change GtkWidgetBackingStore.h to WidgetBackingStore.h in order to use in the EFL port.
  63066. https://bugs.webkit.org/show_bug.cgi?id=62848
  63067. This patch will make GtkWidgetBackingStore shareable with EFL port.
  63068. It is a preparation to integrate WebKit2's BackingStoreGtk.cpp and
  63069. BackingStoreEfl.cpp as a BackingStoreCairo.cpp.
  63070. * GNUmakefile.am:
  63071. * GNUmakefile.list.am:
  63072. * platform/graphics/cairo/CairoUtilities.cpp:
  63073. (WebCore::copyRectFromOneSurfaceToAnother):
  63074. * platform/graphics/cairo/CairoUtilities.h:
  63075. * platform/cairo/WidgetBackingStore.h: Added.
  63076. * platform/gtk/GtkWidgetBackingStore.h: Removed.
  63077. * platform/gtk/GtkWidgetBackingStoreCairo.cpp:
  63078. (WebCore::createSurfaceForBackingStore):
  63079. (WebCore::WidgetBackingStorePrivate::create):
  63080. (WebCore::WidgetBackingStorePrivate::WidgetBackingStorePrivate):
  63081. (WebCore::WidgetBackingStore::create):
  63082. (WebCore::WidgetBackingStore::WidgetBackingStore):
  63083. (WebCore::WidgetBackingStore::~WidgetBackingStore):
  63084. (WebCore::WidgetBackingStore::cairoSurface):
  63085. (WebCore::WidgetBackingStore::scroll):
  63086. * platform/gtk/GtkWidgetBackingStoreX11.cpp:
  63087. (WebCore::WidgetBackingStorePrivate::create):
  63088. (WebCore::WidgetBackingStorePrivate::~WidgetBackingStorePrivate):
  63089. (WebCore::WidgetBackingStorePrivate::WidgetBackingStorePrivate):
  63090. (WebCore::WidgetBackingStore::create):
  63091. (WebCore::WidgetBackingStore::WidgetBackingStore):
  63092. (WebCore::WidgetBackingStore::~WidgetBackingStore):
  63093. (WebCore::WidgetBackingStore::cairoSurface):
  63094. (WebCore::WidgetBackingStore::scroll):
  63095. 2011-06-22 Simon Fraser <simon.fraser@apple.com>
  63096. Reviewed by Dan Bernstein.
  63097. Update position, bounds and anchor point in GraphicsLayerCA all at once
  63098. https://bugs.webkit.org/show_bug.cgi?id=63148
  63099. Since position, bounds and anchor point are inter-dependent, avoid
  63100. redundant work by simply updating them all at the same time.
  63101. No behavior changes, so no new tests.
  63102. * platform/graphics/ca/GraphicsLayerCA.cpp:
  63103. (WebCore::GraphicsLayerCA::setPosition):
  63104. (WebCore::GraphicsLayerCA::setAnchorPoint):
  63105. (WebCore::GraphicsLayerCA::setSize):
  63106. (WebCore::GraphicsLayerCA::setBoundsOrigin):
  63107. (WebCore::GraphicsLayerCA::setAllowTiledLayer):
  63108. (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
  63109. (WebCore::GraphicsLayerCA::updateGeometry):
  63110. (WebCore::GraphicsLayerCA::ensureStructuralLayer):
  63111. (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
  63112. * platform/graphics/ca/GraphicsLayerCA.h:
  63113. 2011-06-22 Ryosuke Niwa <rniwa@webkit.org>
  63114. Reviewed by Darin Adler.
  63115. Make instantiation of legacy editing position more explicit
  63116. https://bugs.webkit.org/show_bug.cgi?id=63037
  63117. Replaced the constructor of Position class that used to instantiate a legacy editing position
  63118. by a function called createLegacyEditingPosition.
  63119. * WebCore.exp.in: Removed the constructor from the list.
  63120. * accessibility/AXObjectCache.cpp:
  63121. (WebCore::AXObjectCache::visiblePositionForTextMarkerData): Calls createLegacyEditingPosition.
  63122. * accessibility/gtk/AXObjectCacheAtk.cpp:
  63123. (WebCore::AXObjectCache::nodeTextChangePlatformNotification): No longer uses Positions to instantiate a range.
  63124. * dom/Position.cpp:
  63125. (WebCore::Position::Position): New constructor takes LegacyEditingOffset, which can only be instantiated
  63126. by createLegacyEditingPosition.
  63127. (WebCore::Position::previous): Calls createLegacyEditingPosition.
  63128. (WebCore::Position::next): Ditto.
  63129. (WebCore::Position::upstream): Ditto.
  63130. (WebCore::Position::downstream): Ditto.
  63131. * dom/Position.h: Added new Position::LegacyEditingOffset class to hide the legacy constructor from the world.
  63132. (WebCore::Position::LegacyEditingOffset::value): Added.
  63133. (WebCore::Position::LegacyEditingOffset::LegacyEditingOffset): Added.
  63134. (WebCore::createLegacyEditingPosition): Added.
  63135. * dom/PositionIterator.cpp:
  63136. (WebCore::PositionIterator::operator Position): Calls createLegacyEditingPosition.
  63137. * dom/RangeBoundaryPoint.h:
  63138. (WebCore::RangeBoundaryPoint::toPosition): Ditto.
  63139. * editing/InsertTextCommand.cpp:
  63140. (WebCore::InsertTextCommand::performTrivialReplace): Instantiates new Position instead of old one; this is always
  63141. safe since the anchor node is always a text node.
  63142. * editing/VisiblePosition.cpp:
  63143. (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): Calls createLegacyEditingPosition.
  63144. (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): Ditto.
  63145. * editing/markup.cpp:
  63146. (WebCore::StyledMarkupAccumulator::renderedText): Ditto.
  63147. * editing/visible_units.cpp:
  63148. (WebCore::previousBoundary): Ditto.
  63149. (WebCore::previousLinePosition): Ditto.
  63150. (WebCore::nextLinePosition): Ditto.
  63151. * page/DOMSelection.cpp:
  63152. (WebCore::DOMSelection::collapse): Ditto.
  63153. (WebCore::DOMSelection::setBaseAndExtent): Ditto.
  63154. (WebCore::DOMSelection::setPosition): Ditto.
  63155. (WebCore::DOMSelection::extend): Ditto.
  63156. * rendering/RenderBlock.cpp:
  63157. (WebCore::RenderBlock::positionForBox): Ditto.
  63158. * rendering/RenderBox.cpp:
  63159. (WebCore::RenderBox::positionForPoint): Calls Position() instead of Position(0, 0).
  63160. * rendering/RenderObject.cpp:
  63161. (WebCore::RenderObject::createVisiblePosition): Calls createLegacyEditingPosition.s
  63162. 2011-06-22 Pavel Feldman <pfeldman@google.com>
  63163. Reviewed by Yury Semikhatsky.
  63164. Web Inspector: split setAttributes and setAttributeValue.
  63165. https://bugs.webkit.org/show_bug.cgi?id=63138
  63166. * inspector/Inspector.json:
  63167. * inspector/InspectorDOMAgent.cpp:
  63168. (WebCore::InspectorDOMAgent::setAttributeValue):
  63169. (WebCore::InspectorDOMAgent::setAttributesText):
  63170. * inspector/InspectorDOMAgent.h:
  63171. * inspector/front-end/DOMAgent.js:
  63172. (WebInspector.DOMNode.prototype.setAttribute):
  63173. (WebInspector.DOMNode.prototype.setAttributeValue):
  63174. 2011-06-22 Dirk Schulze <krit@webkit.org>
  63175. Reviewed by Nikolas Zimmermann.
  63176. Animate viewBox attribute in SVG
  63177. https://bugs.webkit.org/show_bug.cgi?id=20057
  63178. Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
  63179. This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGRect. With the new animator we support
  63180. interpolation between SVGRects. A feature that can be used to get smooth zooming animations for SVGs.
  63181. Added parseRect() to SVGParserUtilities for parsing Strings to FloatRects.
  63182. Tests: svg/animations/svgrect-animation-1.html
  63183. svg/animations/svgrect-animation-2.html
  63184. * CMakeLists.txt: Added new file SVGAnimatedRect.cpp to build system.
  63185. * GNUmakefile.list.am: Ditto.
  63186. * WebCore.gypi: Ditto.
  63187. * WebCore.pro: Ditto.
  63188. * WebCore.xcodeproj/project.pbxproj: Ditto.
  63189. * platform/graphics/FloatRect.h: Added new operators + and +=.
  63190. (WebCore::operator+=):
  63191. (WebCore::operator+):
  63192. * svg/SVGAllInOne.cpp: Added SVGAnimatedRect.cpp for Win build.
  63193. * svg/SVGAnimateElement.cpp: Handle AnimatedRect explicitly.
  63194. (WebCore::SVGAnimateElement::determineAnimatedAttributeType): Ditto.
  63195. (WebCore::SVGAnimateElement::calculateAnimatedValue): Ditto.
  63196. (WebCore::SVGAnimateElement::calculateFromAndToValues): Ditto.
  63197. (WebCore::SVGAnimateElement::calculateFromAndByValues): Ditto.
  63198. (WebCore::SVGAnimateElement::resetToBaseValue): Ditto.
  63199. (WebCore::SVGAnimateElement::applyResultsToTarget): Ditto.
  63200. (WebCore::SVGAnimateElement::calculateDistance): Ditto.
  63201. * svg/SVGAnimatedRect.cpp: Added. The new Animator for SVGRect.
  63202. (WebCore::SVGAnimatedRectAnimator::SVGAnimatedRectAnimator):
  63203. (WebCore::SVGAnimatedRectAnimator::constructFromString):
  63204. (WebCore::SVGAnimatedRectAnimator::calculateFromAndToValues):
  63205. (WebCore::SVGAnimatedRectAnimator::calculateFromAndByValues):
  63206. (WebCore::SVGAnimatedRectAnimator::calculateAnimatedValue):
  63207. (WebCore::SVGAnimatedRectAnimator::calculateDistance):
  63208. * svg/SVGAnimatedRect.h:
  63209. (WebCore::SVGAnimatedRectAnimator::~SVGAnimatedRectAnimator):
  63210. * svg/SVGAnimatedType.cpp: Support for FloatRect.
  63211. (WebCore::SVGAnimatedType::~SVGAnimatedType):
  63212. (WebCore::SVGAnimatedType::createRect):
  63213. (WebCore::SVGAnimatedType::rect):
  63214. (WebCore::SVGAnimatedType::valueAsString):
  63215. (WebCore::SVGAnimatedType::setValueAsString):
  63216. * svg/SVGAnimatedType.h:
  63217. * svg/SVGAnimatorFactory.h:
  63218. (WebCore::SVGAnimatorFactory::create):
  63219. * svg/SVGParserUtilities.cpp: Parse String as FloatRect.
  63220. (WebCore::parseRect):
  63221. * svg/SVGParserUtilities.h:
  63222. 2011-06-20 Dimitri Glazkov <dglazkov@chromium.org>
  63223. Reviewed by Kent Tamura.
  63224. FileChooser should be only created when we need to choose files.
  63225. https://bugs.webkit.org/show_bug.cgi?id=63039
  63226. 1) Introduce FileChooserSettings to decouple setting querying from
  63227. FileChooser. It's a simple copyable settings object, which allows us
  63228. to capture the settings atomically and treat them as discardable data.
  63229. 2) Encapsulate lifetime management of FileChooser entirely in
  63230. FileChooserClient. It's now a "smart" client, and allows us to
  63231. completely remove FileChooser management concerns from a FileChooserClient
  63232. implementor.
  63233. 3) Change creation of FileChooser to be on-demand, only when we actually
  63234. need to choose file.
  63235. 4) Rearrange calling of dispatchFormControlChangeEvent to be at the end
  63236. of a function and remove "am-I-dead" checks that are now unnecessary.
  63237. 5) Clean up directory upload code a bit, and make use of FileChooserSettings
  63238. to pass directory name.
  63239. Refactoring, covered by existing tests.
  63240. * WebCore.exp.in: Removed unneeded export.
  63241. * loader/EmptyClients.h: Removed now-unneded param.
  63242. (WebCore::EmptyChromeClient::enumerateChosenDirectory): Ditto.
  63243. * page/Chrome.cpp:
  63244. (WebCore::Chrome::enumerateChosenDirectory): Ditto.
  63245. * page/Chrome.h: Ditto.
  63246. * page/ChromeClient.h: Ditto.
  63247. * platform/FileChooser.cpp:
  63248. (WebCore::FileChooserClient::~FileChooserClient): Added discarding of chooser.
  63249. (WebCore::FileChooserClient::newFileChooser): Added.
  63250. (WebCore::FileChooserClient::discardChooser): Added.
  63251. (WebCore::FileChooser::FileChooser): Changed to use FileChooserSettings.
  63252. (WebCore::FileChooser::create): Ditto.
  63253. (WebCore::FileChooser::~FileChooser): Removed unneeded code.
  63254. (WebCore::FileChooser::chooseFiles): Changed to pass results to the client.
  63255. * platform/FileChooser.h:
  63256. (WebCore::FileChooser::settings): Added.
  63257. * rendering/RenderFileUploadControl.cpp:
  63258. (WebCore::filenamesFromFileList): Added a helper.
  63259. (WebCore::RenderFileUploadControl::RenderFileUploadControl): Changed to use the helper, removed
  63260. chooser initialization code.
  63261. (WebCore::RenderFileUploadControl::~RenderFileUploadControl): Removed disconnection code, now
  63262. handled in FileChooserClient.
  63263. (WebCore::RenderFileUploadControl::filesChosen): Renamed from valueChanged, rearranged to
  63264. fire dispatchFormControlChangeEvent last.
  63265. (WebCore::RenderFileUploadControl::receiveDropForDirectoryUpload): Changed to use settings.
  63266. (WebCore::RenderFileUploadControl::click): Ditto.
  63267. (WebCore::RenderFileUploadControl::updateFromElement): Removed now-unneeded check.
  63268. (WebCore::RenderFileUploadControl::receiveDroppedFiles): Changed to avoid using the chooser, since
  63269. it is not necessary.
  63270. (WebCore::RenderFileUploadControl::fileTextValue): Changed to use input data, not chooser data.
  63271. * rendering/RenderFileUploadControl.h: Updated decls.
  63272. 2011-06-22 Pavel Feldman <pfeldman@google.com>
  63273. Reviewed by Yury Semikhatsky.
  63274. Web Inspector: DOMAgent.resolveNode should receive objectGroup.
  63275. https://bugs.webkit.org/show_bug.cgi?id=63137
  63276. * inspector/InjectedScript.cpp:
  63277. (WebCore::InjectedScript::wrapNode):
  63278. * inspector/InjectedScript.h:
  63279. * inspector/InjectedScriptSource.js:
  63280. (.):
  63281. * inspector/Inspector.json:
  63282. * inspector/InspectorDOMAgent.cpp:
  63283. (WebCore::InspectorDOMAgent::resolveNode):
  63284. (WebCore::InspectorDOMAgent::buildObjectForEventListener):
  63285. * inspector/InspectorDOMAgent.h:
  63286. * inspector/InspectorDOMDebuggerAgent.cpp:
  63287. (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
  63288. * inspector/InspectorDebuggerAgent.cpp:
  63289. (WebCore::InspectorDebuggerAgent::resume):
  63290. * inspector/InspectorDebuggerAgent.h:
  63291. * inspector/front-end/ElementsTreeOutline.js:
  63292. (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
  63293. * inspector/front-end/EventListenersSidebarPane.js:
  63294. (WebInspector.EventListenersSidebarPane.prototype.update.callback):
  63295. (WebInspector.EventListenersSidebarPane.prototype.update):
  63296. (.):
  63297. ():
  63298. * inspector/front-end/PropertiesSidebarPane.js:
  63299. * inspector/front-end/RemoteObject.js:
  63300. (WebInspector.RemoteObject.resolveNode):
  63301. (WebInspector.RemoteObjectProperty.fromPrimitiveValue):
  63302. 2011-06-22 Pavel Podivilov <podivilov@chromium.org>
  63303. Reviewed by Yury Semikhatsky.
  63304. Web Inspector: fix exceptions in scripts panel.
  63305. https://bugs.webkit.org/show_bug.cgi?id=62865
  63306. Resource.requestContent callback may be fired after navigation when scripts panel
  63307. is already reset.
  63308. * inspector/front-end/DebuggerPresentationModel.js:
  63309. (WebInspector.DebuggerPresentationModel.prototype._addScript.contentChanged):
  63310. (WebInspector.DebuggerPresentationModel.prototype._addScript):
  63311. * inspector/front-end/ScriptsPanel.js:
  63312. (WebInspector.ScriptsPanel.prototype._showSourceFrameAndAddToHistory):
  63313. (WebInspector.ScriptsPanel.prototype._filesSelectChanged):
  63314. * inspector/front-end/SourceFile.js:
  63315. (WebInspector.SourceFile.prototype.reload):
  63316. 2011-06-21 Michael Saboff <msaboff@apple.com>
  63317. Reviewed by Adam Roben.
  63318. REGRESSION (r88260): Assertion failure in FontCache::getCachedFontData when typing in Safari's address field
  63319. https://bugs.webkit.org/show_bug.cgi?id=63078
  63320. Added FontCachePurgePreventer in WebCore::WebCoreTextFloatWidth to handle
  63321. assertion failure when typing in address field on windows. Investigated
  63322. other possible code paths that need purge prevention. Added
  63323. FontCachePurgeProtection to WebCore::createDragImageForLink and
  63324. WebCore::doDrawTextAtPoint.
  63325. No change to functionality, therefore no new tests.
  63326. * platform/win/DragImageWin.cpp:
  63327. (WebCore::createDragImageForLink):
  63328. * platform/win/WebCoreTextRenderer.cpp:
  63329. (WebCore::doDrawTextAtPoint):
  63330. (WebCore::WebCoreTextFloatWidth):
  63331. 2011-06-22 Darin Adler <darin@apple.com>
  63332. Reviewed by Sam Weinig.
  63333. A couple setTextAsOfLastFormControlChangeEvent tweaks
  63334. https://bugs.webkit.org/show_bug.cgi?id=63108
  63335. * html/HTMLFormControlElement.cpp:
  63336. (WebCore::HTMLTextFormControlElement::insertedIntoDocument): Use
  63337. emptyString() instead of String("") because it is better style and faster.
  63338. * html/HTMLFormControlElement.h: Make setTextAsOfLastFormControlChangeEvent
  63339. non-virtual so it actually gets inlined, since there are no overrides of it.
  63340. Also make it take a const String& to avoid unnecessary reference count churn.
  63341. 2011-06-22 Sheriff Bot <webkit.review.bot@gmail.com>
  63342. Unreviewed, rolling out r89402.
  63343. http://trac.webkit.org/changeset/89402
  63344. https://bugs.webkit.org/show_bug.cgi?id=63129
  63345. It made 6 tests crash (Requested by Ossy on #webkit).
  63346. * dom/DataTransferItem.cpp:
  63347. (WebCore::DataTransferItem::DataTransferItem):
  63348. * dom/DataTransferItem.h:
  63349. * dom/DataTransferItems.cpp:
  63350. (WebCore::DataTransferItems::DataTransferItems):
  63351. * dom/DataTransferItems.h:
  63352. * editing/CompositeEditCommand.cpp:
  63353. (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring):
  63354. * editing/CompositeEditCommand.h:
  63355. * page/WebKitAnimationList.cpp:
  63356. (WebCore::WebKitAnimationList::append):
  63357. (WebCore::WebKitAnimationList::insertAnimation):
  63358. * page/WebKitAnimationList.h:
  63359. (WebCore::WebKitAnimationList::create):
  63360. * svg/graphics/filters/SVGFEImage.cpp:
  63361. (WebCore::FEImage::FEImage):
  63362. (WebCore::FEImage::create):
  63363. * svg/graphics/filters/SVGFEImage.h:
  63364. * svg/graphics/filters/SVGFilterBuilder.cpp:
  63365. (WebCore::SVGFilterBuilder::SVGFilterBuilder):
  63366. (WebCore::SVGFilterBuilder::add):
  63367. (WebCore::SVGFilterBuilder::appendEffectToEffectReferences):
  63368. * svg/graphics/filters/SVGFilterBuilder.h:
  63369. * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
  63370. (WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback):
  63371. (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
  63372. (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
  63373. (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
  63374. * websockets/ThreadableWebSocketChannelClientWrapper.h:
  63375. * websockets/WorkerThreadableWebSocketChannel.cpp:
  63376. (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
  63377. (WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
  63378. (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
  63379. * websockets/WorkerThreadableWebSocketChannel.h:
  63380. (WebCore::WorkerThreadableWebSocketChannel::Peer::create):
  63381. 2011-06-22 Sheriff Bot <webkit.review.bot@gmail.com>
  63382. Unreviewed, rolling out r89368.
  63383. http://trac.webkit.org/changeset/89368
  63384. https://bugs.webkit.org/show_bug.cgi?id=63128
  63385. It made http/tests/inspector/extensions-resources-
  63386. redirect.html crash (Requested by Ossy on #webkit).
  63387. * inspector/Inspector.json:
  63388. * inspector/InspectorPageAgent.cpp:
  63389. (WebCore::InspectorPageAgent::cachedResourceContent):
  63390. (WebCore::InspectorPageAgent::resourceContent):
  63391. (WebCore::InspectorPageAgent::getResourceContent):
  63392. (WebCore::InspectorPageAgent::searchInResources):
  63393. * inspector/InspectorPageAgent.h:
  63394. * inspector/InspectorResourceAgent.cpp:
  63395. (WebCore::InspectorResourceAgent::getResourceContent):
  63396. * inspector/InspectorResourceAgent.h:
  63397. * inspector/InspectorStyleSheet.cpp:
  63398. (WebCore::InspectorStyleSheet::resourceStyleSheetText):
  63399. * inspector/front-end/NetworkManager.js:
  63400. (WebInspector.NetworkManager.prototype.requestContent):
  63401. * inspector/front-end/Resource.js:
  63402. (WebInspector.Resource.prototype._innerRequestContent.onResourceContent):
  63403. (WebInspector.Resource.prototype._innerRequestContent):
  63404. 2011-06-17 Pavel Podivilov <podivilov@chromium.org>
  63405. Reviewed by Yury Semikhatsky.
  63406. Web Inspector: use stack trace to create anchors for console messages.
  63407. https://bugs.webkit.org/show_bug.cgi?id=62856
  63408. * inspector/front-end/ConsoleView.js:
  63409. (WebInspector.ConsoleView.prototype._completions.reportCompletions):
  63410. (WebInspector.ConsoleView.prototype._completions):
  63411. (WebInspector.ConsoleMessage.prototype._formatMessage):
  63412. * inspector/front-end/DebuggerPresentationModel.js:
  63413. (WebInspector.DebuggerPresentationModel.prototype._updateAnchor):
  63414. * inspector/front-end/Panel.js:
  63415. (WebInspector.Panel.prototype.createAnchor):
  63416. * inspector/front-end/ScriptsPanel.js:
  63417. (WebInspector.ScriptsPanel.prototype.createAnchor):
  63418. (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
  63419. (WebInspector.ScriptsPanel.prototype._updateAnchor):
  63420. * inspector/front-end/inspector.js:
  63421. (WebInspector.linkifyResourceAsNode):
  63422. (WebInspector.linkifyCallFrameAsNode):
  63423. 2011-06-21 Kent Tamura <tkent@chromium.org>
  63424. Reviewed by Dimitri Glazkov.
  63425. Avoid custom layout code of RenderTextControlSingleLine
  63426. https://bugs.webkit.org/show_bug.cgi?id=61415
  63427. If a text field has a search results button, a search cancel
  63428. button, a speech button, or a spin button, the editable inner text
  63429. element and they are wrapped by a flexible box container, and the
  63430. editable inner text element has flexibility.
  63431. As the result of applying the flexible box, we don't need any
  63432. horizontal layout code in RenderTextControlSingleLine except the
  63433. inner spin button.
  63434. Also, we remove custom hit-testing code in nodeAtPoint(). If a
  63435. user clicks on a position left of the inner editable text but not
  63436. on the search results button, the search results button doesn't
  63437. work though it worked.
  63438. * css/html.css:
  63439. (input::-webkit-textfield-decoration-container):
  63440. New style definition for the "container" element.
  63441. (input[type="search"]::-webkit-search-cancel-button):
  63442. It should be a block element because it's a child of the flexible box.
  63443. Also, this doesn't have flexibility.
  63444. (input[type="search"]::-webkit-search-decoration): ditto.
  63445. (input[type="search"]::-webkit-search-results-decoration): ditto.
  63446. (input[type="search"]::-webkit-search-results-button): ditto.
  63447. (input::-webkit-inner-spin-button): ditto.
  63448. (input::-webkit-input-speech-button): ditto.
  63449. * html/HTMLInputElement.cpp:
  63450. (WebCore::HTMLInputElement::containerElement):
  63451. Add an accessor of the flexible box container.
  63452. It just calls InputType::containerElement().
  63453. * html/HTMLInputElement.h: Declare it.
  63454. * html/InputType.h:
  63455. (WebCore::InputType::containerElement): New accessor for a shadow element.
  63456. * html/SearchInputType.cpp:
  63457. (WebCore::SearchInputType::SearchInputType):
  63458. m_innerBlock is moved to TextFieldInputType.
  63459. (WebCore::SearchInputType::needsContainer):
  63460. A search field always needs the flexible box container because
  63461. of the results button and the cancel button.
  63462. (WebCore::SearchInputType::createShadowSubtree):
  63463. Use TextFieldInputType::createShadowSubtree(), then modify the tree.
  63464. (WebCore::SearchInputType::destroyShadowSubtree):
  63465. m_innerBlock is moved to TextFieldInputType.
  63466. * html/SearchInputType.h:
  63467. * html/TextFieldInputType.cpp:
  63468. (WebCore::TextFieldInputType::TextFieldInputType):
  63469. Initialize the new members.
  63470. (WebCore::TextFieldInputType::needsContainer):
  63471. Returns true if x-webkit-speech. We check a spin button separately.
  63472. (WebCore::TextFieldInputType::createShadowSubtree):
  63473. Wrap everything with the flexible box container if needsContainer() or we need a spin button.
  63474. (WebCore::TextFieldInputType::containerElement): Added an accessor.
  63475. (WebCore::TextFieldInputType::innerBlockElement): ditto.
  63476. (WebCore::TextFieldInputType::innerTextElement): ditto.
  63477. (WebCore::TextFieldInputType::innerSpinButtonElement): ditto.
  63478. (WebCore::TextFieldInputType::speechButtonElement): ditto.
  63479. (WebCore::TextFieldInputType::destroyShadowSubtree):
  63480. Clear references to new shadow nodes.
  63481. * html/TextFieldInputType.h:
  63482. * rendering/RenderTextControlSingleLine.cpp:
  63483. (WebCore::RenderTextControlSingleLine::containerElement): Added an accessor.
  63484. (WebCore::RenderTextControlSingleLine::innerTextElement):
  63485. (WebCore::RenderTextControlSingleLine::layout):
  63486. - Correct heights check
  63487. Comparing with height(), not contentHeigth(), was incorrect.
  63488. - Adjust the container height like the editable inner text.
  63489. - Remove width adjustment
  63490. - Remove the speech button layout code
  63491. The flexible box layout is enough.
  63492. (WebCore::RenderTextControlSingleLine::nodeAtPoint):
  63493. Remove custom code for results/cancel/speech buttons, and
  63494. Simplify comments.
  63495. (WebCore::RenderTextControlSingleLine::forwardEvent):
  63496. Remove custom forwarding code for results/cancel buttons.
  63497. (WebCore::RenderTextControlSingleLine::styleDidChange):
  63498. Clear the style of the container because we update it in layout().
  63499. (WebCore::RenderTextControlSingleLine::hasControlClip):
  63500. Decoration buttons should be clipped by the container.
  63501. (WebCore::RenderTextControlSingleLine::controlClipRect): ditto.
  63502. (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
  63503. We don't need to use display:inline-block any more.
  63504. (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
  63505. The text wrapper element should have flexibility.
  63506. (WebCore::RenderTextControlSingleLine::textBlockInsetTop):
  63507. Updated for the tree structure change.
  63508. * rendering/RenderTextControlSingleLine.h:
  63509. 2011-06-21 MORITA Hajime <morrita@google.com>
  63510. Unreviewed, rolling out r89401 and r89403.
  63511. http://trac.webkit.org/changeset/89401
  63512. http://trac.webkit.org/changeset/89403
  63513. https://bugs.webkit.org/show_bug.cgi?id=62970
  63514. Breaks mac build and mistakenly enables the spellcheck API
  63515. * CMakeLists.txt:
  63516. * Configurations/FeatureDefines.xcconfig:
  63517. * DerivedSources.make:
  63518. * GNUmakefile.am:
  63519. * GNUmakefile.list.am:
  63520. * WebCore.pro:
  63521. * WebCore.vcproj/WebCore.vcproj:
  63522. * WebCore.xcodeproj/project.pbxproj:
  63523. * features.pri:
  63524. 2011-06-21 Kent Tamura <tkent@chromium.org>
  63525. [Mac] Sort Xcode project files.
  63526. * WebCore.xcodeproj/project.pbxproj:
  63527. 2011-06-21 Darin Adler <darin@apple.com>
  63528. Reviewed by Ryosuke Niwa.
  63529. RefPtr misused as argument type in a few classes
  63530. https://bugs.webkit.org/show_bug.cgi?id=62955
  63531. * dom/DataTransferItem.cpp:
  63532. (WebCore::DataTransferItem::DataTransferItem):
  63533. * dom/DataTransferItem.h:
  63534. * dom/DataTransferItems.cpp:
  63535. (WebCore::DataTransferItems::DataTransferItems):
  63536. * dom/DataTransferItems.h:
  63537. * editing/CompositeEditCommand.cpp:
  63538. (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring):
  63539. * editing/CompositeEditCommand.h:
  63540. * page/WebKitAnimationList.cpp:
  63541. (WebCore::WebKitAnimationList::append):
  63542. (WebCore::WebKitAnimationList::insertAnimation):
  63543. * page/WebKitAnimationList.h:
  63544. * svg/graphics/filters/SVGFEImage.cpp:
  63545. (WebCore::FEImage::FEImage):
  63546. (WebCore::FEImage::create):
  63547. * svg/graphics/filters/SVGFEImage.h:
  63548. * svg/graphics/filters/SVGFilterBuilder.cpp:
  63549. (WebCore::SVGFilterBuilder::SVGFilterBuilder):
  63550. (WebCore::SVGFilterBuilder::add):
  63551. (WebCore::SVGFilterBuilder::appendEffectToEffectReferences):
  63552. * svg/graphics/filters/SVGFilterBuilder.h:
  63553. * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
  63554. (WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback):
  63555. (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
  63556. (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
  63557. (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
  63558. * websockets/ThreadableWebSocketChannelClientWrapper.h:
  63559. * websockets/WorkerThreadableWebSocketChannel.cpp:
  63560. (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
  63561. (WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
  63562. (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
  63563. * websockets/WorkerThreadableWebSocketChannel.h:
  63564. Use PassRefPtr or raw pointer as appropriate for RefPtr arguments.
  63565. 2011-06-20 MORITA Hajime <morrita@google.com>
  63566. Reviewed by Kent Tamura.
  63567. Spellcheck API should be build-able.
  63568. https://bugs.webkit.org/show_bug.cgi?id=62970
  63569. No new tests, changing only build related files
  63570. * CMakeLists.txt:
  63571. * Configurations/FeatureDefines.xcconfig:
  63572. * DerivedSources.make:
  63573. * GNUmakefile.am:
  63574. * GNUmakefile.list.am:
  63575. * WebCore.pro:
  63576. * WebCore.vcproj/WebCore.vcproj:
  63577. * WebCore.xcodeproj/project.pbxproj:
  63578. * features.pri:
  63579. 2011-06-21 Matthew Delaney <mdelaney@apple.com>
  63580. Reviewed by Simon Fraser.
  63581. beginTransparencyLayer leaves context color out of sync, bleeds color into text
  63582. https://bugs.webkit.org/show_bug.cgi?id=63093
  63583. Test: fast/css/color-leakage.html
  63584. * platform/graphics/cg/GraphicsContextCG.cpp: Swap out CGContextSave/Restore with
  63585. GraphicsContext::save/restore to keep the context in sync with its CG context
  63586. (WebCore::GraphicsContext::beginTransparencyLayer): Added save(), removed redundant calls.
  63587. (WebCore::GraphicsContext::endTransparencyLayer): Added restore(), removed redundant calls.
  63588. 2011-06-21 Tony Chang <tony@chromium.org>
  63589. Reviewed by Eric Seidel.
  63590. add css parsing of flex()
  63591. https://bugs.webkit.org/show_bug.cgi?id=62050
  63592. Test: css3/flexbox/flex-parsing.html
  63593. * CMakeLists.txt: Add CSSFlexValue.*
  63594. * GNUmakefile.list.am: Ditto.
  63595. * WebCore.gypi: Ditto.
  63596. * WebCore.pro: Ditto.
  63597. * WebCore.vcproj/WebCore.vcproj: Ditto.
  63598. * WebCore.xcodeproj/project.pbxproj: Ditto.
  63599. * css/CSSFlexValue.cpp: Added.
  63600. (WebCore::CSSFlexValue::~CSSFlexValue):
  63601. (WebCore::CSSFlexValue::cssText):
  63602. * css/CSSFlexValue.h: Added.
  63603. (WebCore::CSSFlexValue::create): Hold positive flex, negative flex and sizing.
  63604. (WebCore::CSSFlexValue::CSSFlexValue):
  63605. * css/CSSParser.cpp:
  63606. (WebCore::CSSParser::parseValidPrimitive): Pull out code from parseValue.
  63607. (WebCore::CSSParser::parseValue):
  63608. (WebCore::CSSParser::parseFlex): Parse the different version of flex().
  63609. * css/CSSParser.h:
  63610. 2011-06-21 Adrienne Walker <enne@google.com>
  63611. Reviewed by Simon Fraser.
  63612. Add child layers to the overlap map if their parent belatedly becomes composited
  63613. https://bugs.webkit.org/show_bug.cgi?id=62181
  63614. * rendering/RenderLayerCompositor.cpp:
  63615. (WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
  63616. (WebCore::RenderLayerCompositor::computeCompositingRequirements):
  63617. * rendering/RenderLayerCompositor.h:
  63618. 2011-06-21 Zhenyao Mo <zmo@google.com>
  63619. Reviewed by Kenneth Russell.
  63620. Implement drawingBufferWidth/drawingBufferHeight in WebGL
  63621. https://bugs.webkit.org/show_bug.cgi?id=58497
  63622. * html/canvas/WebGLRenderingContext.cpp: Add drawingBufferWidth/Height method and call getInternalFramebufferSize().
  63623. (WebCore::WebGLRenderingContext::drawingBufferWidth):
  63624. (WebCore::WebGLRenderingContext::drawingBufferHeight):
  63625. * html/canvas/WebGLRenderingContext.h:
  63626. * html/canvas/WebGLRenderingContext.idl: Add readonly attributes drawingBufferWidth/Height.
  63627. * platform/graphics/GraphicsContext3D.h:
  63628. * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Make getInternalFramebufferSize const.
  63629. (WebCore::GraphicsContext3D::getInternalFramebufferSize):
  63630. * platform/graphics/qt/GraphicsContext3DQt.cpp: Ditto.
  63631. (WebCore::GraphicsContext3D::getInternalFramebufferSize):
  63632. 2011-06-21 Dmitry Lomov <dslomov@google.com>
  63633. Reviewed by Adam Barth.
  63634. https://bugs.webkit.org/show_bug.cgi?id=62653
  63635. [V8][Chromium] Make StringCache in V8 bindings per-isolate
  63636. This moves StringCache into V8BindingPerIsolateData.
  63637. * bindings/v8/V8Binding.cpp:
  63638. (WebCore::cachedStringCallback):
  63639. (WebCore::StringCache::remove):
  63640. (WebCore::StringCache::v8ExternalStringSlow):
  63641. * bindings/v8/V8Binding.h:
  63642. (WebCore::StringCache::StringCache):
  63643. (WebCore::StringCache::v8ExternalString):
  63644. (WebCore::StringCache::clearOnGC):
  63645. (WebCore::V8BindingPerIsolateData::stringCache):
  63646. (WebCore::v8ExternalString):
  63647. * bindings/v8/V8GCController.cpp:
  63648. (WebCore::V8GCController::gcPrologue):
  63649. * bindings/v8/WorkerContextExecutionProxy.cpp:
  63650. (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
  63651. 2011-06-21 Alexey Proskuryakov <ap@apple.com>
  63652. Clang build fix.
  63653. * platform/mac/WebCoreSystemInterface.h: Give the enum a name.
  63654. 2011-06-21 Alexey Proskuryakov <ap@apple.com>
  63655. Fix Mac build in some configurations.
  63656. * platform/mac/WebCoreSystemInterface.h: Added an enum matching WKSI one, since we cannot use
  63657. WKSI in WebCore.
  63658. * platform/mac/WebVideoFullscreenHUDWindowController.mm: Removed an include of WebKitSystemInterface.h.
  63659. It's not meant to be used from WebCore, and if included, a wrong copy may be used.
  63660. (createControlWithMediaUIControlType): Added a FIXME about problems with Leopard build.
  63661. (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Ditto. Switched enum values to
  63662. WCSI style (lower level "wk").
  63663. 2011-06-21 Sheriff Bot <webkit.review.bot@gmail.com>
  63664. Unreviewed, rolling out r89354.
  63665. http://trac.webkit.org/changeset/89354
  63666. https://bugs.webkit.org/show_bug.cgi?id=63099
  63667. Broke tests on Mac (Requested by rniwa on #webkit).
  63668. * WebCore.exp.in:
  63669. * WebCore.gypi:
  63670. * WebCore.vcproj/WebCore.vcproj:
  63671. * inspector/InspectorFrontendClientLocal.cpp:
  63672. (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
  63673. (WebCore::InspectorFrontendClientLocal::frontendLoaded):
  63674. (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
  63675. * inspector/InspectorFrontendClientLocal.h:
  63676. * inspector/front-end/InspectorFrontendAPI.js: Removed.
  63677. * inspector/front-end/ProfileView.js:
  63678. (WebInspector.CPUProfileType):
  63679. * inspector/front-end/ProfilesPanel.js:
  63680. (WebInspector.ProfilesPanel.prototype._enableProfiling):
  63681. * inspector/front-end/ScriptsPanel.js:
  63682. (WebInspector.ScriptsPanel):
  63683. (WebInspector.ScriptsPanel.prototype._enableDebugging):
  63684. (WebInspector.ScriptsPanel.prototype._toggleDebugging):
  63685. * inspector/front-end/TimelinePanel.js:
  63686. (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
  63687. * inspector/front-end/WebKit.qrc:
  63688. * inspector/front-end/inspector.html:
  63689. 2011-06-21 Mark Pilgrim <pilgrim@chromium.org>
  63690. Reviewed by Adam Barth.
  63691. IndexedDB: IDBObjectStore methods should throw TypeError if required arguments are missing
  63692. https://bugs.webkit.org/show_bug.cgi?id=63087
  63693. Test: storage/indexeddb/objectStore-required-arguments.html
  63694. * storage/IDBObjectStore.idl: Remove LegacyDefaultOptionalArguments flag
  63695. so missing required arguments will throw TypeError, as per WebIDL spec.
  63696. 2011-06-21 Rob Buis <rbuis@rim.com>
  63697. Reviewed by Dirk Schulze.
  63698. All pointer-events fail if text has visibility="hidden"
  63699. https://bugs.webkit.org/show_bug.cgi?id=62209
  63700. Use PointerEventsHitRules to make hit-testing for SVG text inline boxes work.
  63701. No new tests; covered by existing test pointer-events-text.svg.
  63702. * rendering/svg/SVGInlineTextBox.cpp:
  63703. (WebCore::SVGInlineTextBox::nodeAtPoint):
  63704. * rendering/svg/SVGInlineTextBox.h:
  63705. 2011-06-21 Mark Pilgrim <pilgrim@chromium.org>
  63706. Reviewed by Adam Barth.
  63707. IndexedDB: keyrange methods should throw TypeError if required arguments are missing
  63708. https://bugs.webkit.org/show_bug.cgi?id=63085
  63709. Test: storage/indexeddb/keyrange-required-arguments.html
  63710. * storage/IDBKeyRange.idl: remove LegacyDefaultOptionalArguments flag
  63711. so missing required arguments throw TypeError, as per WebIDL spec.
  63712. 2011-06-21 Mark Pilgrim <pilgrim@chromium.org>
  63713. Reviewed by Tony Chang.
  63714. IndexedDB: should throw TypeError when indexedDB.open() name argument is missing
  63715. https://bugs.webkit.org/show_bug.cgi?id=63065
  63716. * storage/IDBFactory.idl: remove LegacyDefaultOptionalArguments flag
  63717. and fix function argument flags
  63718. 2011-06-21 Mark Pilgrim <pilgrim@chromium.org>
  63719. Reviewed by Tony Chang.
  63720. IndexedDB: should throw TypeError when index .get() key argument is missing
  63721. https://bugs.webkit.org/show_bug.cgi?id=63079
  63722. Test: storage/indexeddb/index-get-key-argument-required.html
  63723. * storage/IDBIndex.idl: remove LegacyDefaultOptionalArguments flag
  63724. so missing required arguments throw a TypeError as per WebIDL spec.
  63725. 2011-06-21 Mark Pilgrim <pilgrim@chromium.org>
  63726. Reviewed by Tony Chang.
  63727. IndexedDB: cursor update() value argument is required
  63728. https://bugs.webkit.org/show_bug.cgi?id=63032
  63729. Test: storage/indexeddb/cursor-update-value-argument-required.html
  63730. * storage/IDBCursor.idl: remove LegacyDefaultOptionalArguments flag so
  63731. calling functions with missing required arguments will raise a TypeError
  63732. 2011-06-21 Martin Robinson <mrobinson@igalia.com>
  63733. Reviewed by Dirk Schulze.
  63734. [GTK] r89314 caused several shadow tests to start failing
  63735. https://bugs.webkit.org/show_bug.cgi?id=63045
  63736. Use prepareForFilling and prepareForStroking when rendering the shadowed
  63737. image of a path. This ensures that the shadowed image has the proper alpha.
  63738. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  63739. (WebCore::drawPathShadow): Properly prepare the shadow image.
  63740. 2011-06-21 Mikhail Naganov <mnaganov@chromium.org>
  63741. Reviewed by Pavel Feldman.
  63742. Web Inspector: [Chromium] Remove old (aggregating) heap profiler.
  63743. https://bugs.webkit.org/show_bug.cgi?id=63049
  63744. * WebCore.gypi:
  63745. * WebCore.vcproj/WebCore.vcproj:
  63746. * bindings/v8/ScriptProfiler.cpp:
  63747. (WebCore::ScriptProfiler::takeHeapSnapshot):
  63748. * inspector/Inspector.json:
  63749. * inspector/InspectorProfilerAgent.cpp:
  63750. (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
  63751. * inspector/InspectorProfilerAgent.h:
  63752. * inspector/front-end/DetailedHeapshotView.js:
  63753. (WebInspector.DetailedHeapshotView.prototype.get profile):
  63754. (WebInspector.DetailedHeapshotView.prototype.get baseProfile):
  63755. (WebInspector.DetailedHeapshotView.prototype._profiles):
  63756. (WebInspector.DetailedHeapshotProfileType):
  63757. (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
  63758. * inspector/front-end/HeapSnapshotView.js: Removed.
  63759. * inspector/front-end/ProfilesPanel.js:
  63760. (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
  63761. (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
  63762. (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.parsed):
  63763. (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
  63764. (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
  63765. (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
  63766. (WebInspector.ProfilesPanel.prototype._enableDetailedHeapProfiles):
  63767. * inspector/front-end/WebKit.qrc:
  63768. * inspector/front-end/heapProfiler.css:
  63769. * inspector/front-end/inspector.html:
  63770. 2011-06-21 Vsevolod Vlasov <vsevik@chromium.org>
  63771. Reviewed by Pavel Feldman.
  63772. Web Inspector: Move logic for deciding whether resource content should be base64 encoded on backend.
  63773. https://bugs.webkit.org/show_bug.cgi?id=63069
  63774. * inspector/Inspector.json:
  63775. * inspector/InspectorPageAgent.cpp:
  63776. (WebCore::InspectorPageAgent::cachedResourceContent):
  63777. (WebCore::InspectorPageAgent::resourceContent):
  63778. (WebCore::InspectorPageAgent::getResourceContent):
  63779. (WebCore::InspectorPageAgent::searchInResources):
  63780. * inspector/InspectorPageAgent.h:
  63781. * inspector/InspectorResourceAgent.cpp:
  63782. (WebCore::InspectorResourceAgent::getResourceContent):
  63783. * inspector/InspectorResourceAgent.h:
  63784. * inspector/InspectorStyleSheet.cpp:
  63785. (WebCore::InspectorStyleSheet::resourceStyleSheetText):
  63786. * inspector/front-end/NetworkManager.js:
  63787. (WebInspector.NetworkManager.prototype.requestContent):
  63788. * inspector/front-end/Resource.js:
  63789. (WebInspector.Resource.prototype._innerRequestContent.onResourceContent):
  63790. (WebInspector.Resource.prototype._innerRequestContent):
  63791. 2011-06-21 Dirk Schulze <krit@webkit.org>
  63792. Reviewed by Rob Buis.
  63793. SVG no fallback to discrete animation on attribute 'values' for SVGString
  63794. https://bugs.webkit.org/show_bug.cgi?id=57085
  63795. Check for AnimatedString, AnimatedBoolean and AnimatedEnumeration on 'values' calculation.
  63796. If the property type matches one of the above values, fallback to discrete animation.
  63797. The patch also changes behavior for String animation. The animation code doesn't handle inheritance
  63798. for strings anymore. This is done by the CSS parser itself now, we just need to handle inheritance
  63799. on animations that interpolate between two values like for calcMode="linear".
  63800. Test: svg/animations/svgstring-animation-fallback-to-discrete.html
  63801. * svg/SVGAnimateElement.cpp:
  63802. (WebCore::SVGAnimateElement::calculateAnimatedValue):
  63803. * svg/SVGAnimateElement.h:
  63804. * svg/SVGAnimationElement.cpp:
  63805. (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
  63806. 2011-06-21 Cary Clark <caryclark@google.com>
  63807. Reviewed by Eric Seidel.
  63808. Update GraphicsContextSkia when the Chromium platform is Mac
  63809. https://bugs.webkit.org/show_bug.cgi?id=62867
  63810. No new tests. This does not modify existing code;
  63811. there is no change in functionality.
  63812. * platform/graphics/skia/GraphicsContextSkia.cpp:
  63813. (WebCore::drawOuterPath):
  63814. (WebCore::drawInnerPath):
  63815. (WebCore::getFocusRingOutset):
  63816. (WebCore::GraphicsContext::drawFocusRing):
  63817. The OS X framework draws a fatter focus ring than the
  63818. Chromium port. Increase the diameter, and add an inner
  63819. stroke with more transparency, to match the look of
  63820. Chromium on Mac when Skia is the rendering engine.
  63821. (WebCore::deviceRGBColorSpaceRef):
  63822. Add deviceRGBColorSpaceRef, a static cache of
  63823. CGColorSpaceCreateDeviceRGB(). This is called by
  63824. the Mac-specific UI when Skia is the rendering engine.
  63825. 2011-06-21 Tony Chang <tony@chromium.org>
  63826. Try to fix WinCE build. Replace cat with perl -ne "print".
  63827. * CMakeLists.txt:
  63828. 2011-06-21 Alexandru Chiculita <achicu@adobe.com>
  63829. Reviewed by Tony Chang.
  63830. "WebCore/css/makeprop.pl" and "WebCore/css/makevalues.pl" should take ENABLE_ flags into account
  63831. https://bugs.webkit.org/show_bug.cgi?id=62114
  63832. Changed the line commenting style in WebCore/css/*.in files from "#" prefixed to "//" prefixed.
  63833. That's needed because we now pre-process the files with the C++ pre-processor. Also, there's
  63834. no need to manually strip the comments anymore.
  63835. Moved the duplication checks from project files to makeprop.pl and makevalues.pl.
  63836. In addition makevalues.pl will also lower case the values.
  63837. This is a build script refactoring, so no tests are provided.
  63838. * CMakeLists.txt:
  63839. * CodeGenerators.pri:
  63840. * DerivedSources.make:
  63841. * GNUmakefile.am:
  63842. * WebCore.gyp/WebCore.gyp:
  63843. * WebCore.gyp/scripts/action_csspropertynames.py:
  63844. * WebCore.gyp/scripts/action_cssvaluekeywords.py:
  63845. * css/CSSPropertyNames.in: comment style only
  63846. * css/CSSValueKeywords.in: comment style only
  63847. * css/SVGCSSPropertyNames.in: comment style only
  63848. * css/SVGCSSValueKeywords.in: comment style only
  63849. * css/WCSSValueKeywords.in: comment style only
  63850. * css/makeprop.pl:
  63851. * css/makevalues.pl:
  63852. 2011-06-21 Peter Varga <pvarga@webkit.org>
  63853. Reviewed by Andreas Kling.
  63854. [Qt][V8] Enable ScriptController::disableEval functionality in QtWebkit-V8 build
  63855. https://bugs.webkit.org/show_bug.cgi?id=61187
  63856. No new tests needed.
  63857. * bindings/v8/ScriptController.cpp:
  63858. (WebCore::ScriptController::disableEval):
  63859. 2011-06-21 Peter Varga <pvarga@webkit.org>
  63860. Reviewed by Andreas Kling.
  63861. [Qt][V8] Enable marking objects with complex GC rules
  63862. https://bugs.webkit.org/show_bug.cgi?id=61291
  63863. No new tests needed.
  63864. * bindings/scripts/CodeGeneratorV8.pm:
  63865. * bindings/scripts/test/V8/V8TestInterface.cpp:
  63866. (WebCore::V8TestInterface::wrapSlow):
  63867. * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
  63868. (WebCore::V8TestMediaQueryListListener::wrapSlow):
  63869. * bindings/scripts/test/V8/V8TestObj.cpp:
  63870. (WebCore::V8TestObj::wrapSlow):
  63871. * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
  63872. (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
  63873. 2011-06-20 Pavel Feldman <pfeldman@chromium.org>
  63874. Reviewed by Yury Semikhatsky.
  63875. Web Inspector: introduce InspectorFrontendAPI for actions initiated from the application menu.
  63876. https://bugs.webkit.org/show_bug.cgi?id=62985
  63877. Both: inspector protocol and WebCore/InspectorController have a number of unnecessary
  63878. methods for plumbing the menu action handlers through the WebKit and WebCore.
  63879. I intend to remove this menu support from the protocol and WebCore/InspectorController API.
  63880. I am starting with exposing the new front-end API in the WebCore and using it in the WebKit/mac port.
  63881. WebKit/win and WebKit2 to follow.
  63882. * WebCore.exp.in:
  63883. * WebCore.gypi:
  63884. * WebCore.vcproj/WebCore.vcproj:
  63885. * inspector/InspectorFrontendClientLocal.cpp:
  63886. (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
  63887. (WebCore::InspectorFrontendClientLocal::frontendLoaded):
  63888. (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
  63889. (WebCore::InspectorFrontendClientLocal::isDebuggingEnabled):
  63890. (WebCore::InspectorFrontendClientLocal::setDebuggingEnabled):
  63891. (WebCore::InspectorFrontendClientLocal::isJavaScriptProfilingEnabled):
  63892. (WebCore::InspectorFrontendClientLocal::setJavaScriptProfilingEnabled):
  63893. (WebCore::InspectorFrontendClientLocal::isTimelineProfilingEnabled):
  63894. (WebCore::InspectorFrontendClientLocal::setTimelineProfilingEnabled):
  63895. (WebCore::InspectorFrontendClientLocal::isProfilingJavaScript):
  63896. (WebCore::InspectorFrontendClientLocal::startProfilingJavaScript):
  63897. (WebCore::InspectorFrontendClientLocal::stopProfilingJavaScript):
  63898. (WebCore::InspectorFrontendClientLocal::evaluateAsBoolean):
  63899. (WebCore::InspectorFrontendClientLocal::evaluateOnLoad):
  63900. * inspector/InspectorFrontendClientLocal.h:
  63901. * inspector/front-end/InspectorFrontendAPI.js: Added.
  63902. (InspectorFrontendAPI.isDebuggingEnabled):
  63903. (InspectorFrontendAPI.setDebuggingEnabled):
  63904. (InspectorFrontendAPI.isJavaScriptProfilingEnabled):
  63905. (InspectorFrontendAPI.setJavaScriptProfilingEnabled):
  63906. (InspectorFrontendAPI.isTimelineProfilingEnabled):
  63907. (InspectorFrontendAPI.setTimelineProfilingEnabled):
  63908. (InspectorFrontendAPI.isProfilingJavaScript):
  63909. (InspectorFrontendAPI.startProfilingJavaScript):
  63910. (InspectorFrontendAPI.stopProfilingJavaScript):
  63911. (InspectorFrontendAPI.setAttachedWindow):
  63912. * inspector/front-end/ProfileView.js:
  63913. (WebInspector.CPUProfileType):
  63914. (WebInspector.CPUProfileType.prototype.isRecordingProfile):
  63915. (WebInspector.CPUProfileType.prototype.startRecordingProfile):
  63916. (WebInspector.CPUProfileType.prototype.stopRecordingProfile):
  63917. * inspector/front-end/ProfilesPanel.js:
  63918. (WebInspector.ProfilesPanel.prototype.get profilerEnabled):
  63919. (WebInspector.ProfilesPanel.prototype.enableProfiler):
  63920. (WebInspector.ProfilesPanel.prototype.disableProfiler):
  63921. * inspector/front-end/ScriptsPanel.js:
  63922. (WebInspector.ScriptsPanel):
  63923. (WebInspector.ScriptsPanel.prototype.get debuggingEnabled):
  63924. (WebInspector.ScriptsPanel.prototype.enableDebugging):
  63925. (WebInspector.ScriptsPanel.prototype.disableDebugging):
  63926. (WebInspector.ScriptsPanel.prototype.toggleDebugging):
  63927. * inspector/front-end/TimelinePanel.js:
  63928. (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
  63929. (WebInspector.TimelinePanel.prototype.setTimelineProfilingEnabled):
  63930. (WebInspector.TimelinePanel.prototype.get timelineProfilingEnabled):
  63931. * inspector/front-end/WebKit.qrc:
  63932. * inspector/front-end/inspector.html:
  63933. * inspector/front-end/inspector.js:
  63934. 2011-06-21 Sheriff Bot <webkit.review.bot@gmail.com>
  63935. Unreviewed, rolling out r89185.
  63936. http://trac.webkit.org/changeset/89185
  63937. https://bugs.webkit.org/show_bug.cgi?id=63068
  63938. For breaking navigation with inspector opened. (Requested by
  63939. pfeldman on #webkit).
  63940. * bindings/v8/V8Binding.cpp:
  63941. (WebCore::enableStringImplCache):
  63942. (WebCore::getStringCache):
  63943. (WebCore::cachedStringCallback):
  63944. (WebCore::v8ExternalStringSlow):
  63945. * bindings/v8/V8Binding.h:
  63946. (WebCore::v8ExternalString):
  63947. * bindings/v8/V8GCController.cpp:
  63948. (WebCore::V8GCController::gcPrologue):
  63949. 2011-06-21 Pavel Feldman <pfeldman@google.com>
  63950. Reviewed by Yury Semikhatsky.
  63951. Web Inspector: rename editScriptSource to setScriptSource.
  63952. https://bugs.webkit.org/show_bug.cgi?id=63059
  63953. * bindings/js/ScriptDebugServer.cpp:
  63954. (WebCore::ScriptDebugServer::setScriptSource):
  63955. * bindings/js/ScriptDebugServer.h:
  63956. * bindings/v8/DebuggerScript.js:
  63957. ():
  63958. * bindings/v8/ScriptDebugServer.cpp:
  63959. (WebCore::ScriptDebugServer::setScriptSource):
  63960. * bindings/v8/ScriptDebugServer.h:
  63961. * inspector/Inspector.json:
  63962. * inspector/InspectorDebuggerAgent.cpp:
  63963. (WebCore::InspectorDebuggerAgent::setScriptSource):
  63964. * inspector/InspectorDebuggerAgent.h:
  63965. * inspector/front-end/DebuggerModel.js:
  63966. (WebInspector.DebuggerModel.prototype.setScriptSource):
  63967. * inspector/front-end/DebuggerPresentationModel.js:
  63968. (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didReceiveSource):
  63969. (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
  63970. (WebInspector.DebuggerPresentationModelResourceBinding.prototype._setContentWithInitialContent):
  63971. * inspector/front-end/Script.js:
  63972. (WebInspector.Script.prototype.editSource):
  63973. * inspector/front-end/ScriptsPanel.js:
  63974. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSource):
  63975. * inspector/front-end/SourceFrame.js:
  63976. (WebInspector.SourceFrame.prototype.editContent):
  63977. (WebInspector.SourceFrameDelegate.prototype.setScriptSource):
  63978. 2011-06-21 Vsevolod Vlasov <vsevik@chromium.org>
  63979. Reviewed by Pavel Feldman.
  63980. Web Inspector: Show content in network panel correctly when two resources were loaded from the same url with different content.
  63981. https://bugs.webkit.org/show_bug.cgi?id=62992
  63982. Test: http/tests/inspector/network/network-cachedresources-with-same-urls.html
  63983. * inspector/InspectorPageAgent.cpp:
  63984. (WebCore::InspectorPageAgent::cachedResourceContent):
  63985. * inspector/InspectorPageAgent.h:
  63986. * inspector/InspectorResourceAgent.cpp:
  63987. (WebCore::InspectorResourceAgent::didReceiveResponse):
  63988. (WebCore::InspectorResourceAgent::getResourceContent):
  63989. * inspector/NetworkResourcesData.cpp:
  63990. (WebCore::NetworkResourcesData::addCachedResource):
  63991. * inspector/NetworkResourcesData.h:
  63992. (WebCore::NetworkResourcesData::ResourceData::cachedResource):
  63993. (WebCore::NetworkResourcesData::ResourceData::setCachedResource):
  63994. 2011-06-21 Alexander Pavlov <apavlov@chromium.org>
  63995. Reviewed by Pavel Feldman.
  63996. Web Inspector: Attached state changes do not affect the drawer height
  63997. https://bugs.webkit.org/show_bug.cgi?id=63061
  63998. * inspector/front-end/Drawer.js:
  63999. (WebInspector.Drawer.prototype.enterPanelMode):
  64000. (WebInspector.Drawer.prototype.exitPanelMode):
  64001. (WebInspector.Drawer.prototype.updateHeight):
  64002. * inspector/front-end/inspector.js:
  64003. (WebInspector.set attached):
  64004. 2011-06-17 Pavel Podivilov <podivilov@chromium.org>
  64005. Reviewed by Pavel Feldman.
  64006. Web Inspector: can't set breakpoint on the last script line.
  64007. https://bugs.webkit.org/show_bug.cgi?id=62861
  64008. * inspector/InspectorDebuggerAgent.cpp:
  64009. (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
  64010. 2011-06-20 Yury Semikhatsky <yurys@chromium.org>
  64011. Reviewed by Pavel Feldman.
  64012. Web Inspector: console messages shouldn't prevent garbage collection of iframes
  64013. https://bugs.webkit.org/show_bug.cgi?id=62996
  64014. When DOMWindow is detached from its frame run through all console messages and clear
  64015. their arguments and ScriptState references. The message text in this case will be
  64016. the first argument serialized to string.
  64017. Test: http/tests/inspector-enabled/console-clear-arguments-on-frame-remove.html
  64018. * bindings/js/ScriptState.cpp:
  64019. (WebCore::domWindowFromScriptState):
  64020. * bindings/js/ScriptState.h:
  64021. * bindings/v8/ScriptState.cpp:
  64022. (WebCore::ScriptState::domWindow):
  64023. (WebCore::domWindowFromScriptState):
  64024. * bindings/v8/ScriptState.h:
  64025. * inspector/ConsoleMessage.cpp:
  64026. (WebCore::ConsoleMessage::windowCleared):
  64027. * inspector/ConsoleMessage.h:
  64028. * inspector/InjectedScriptManager.cpp:
  64029. (WebCore::InjectedScriptManager::discardInjectedScriptsFor):
  64030. * inspector/InjectedScriptManager.h:
  64031. * inspector/InspectorConsoleAgent.cpp:
  64032. (WebCore::InspectorConsoleAgent::domWindowCleared):
  64033. * inspector/InspectorConsoleAgent.h:
  64034. * inspector/InspectorInstrumentation.cpp:
  64035. (WebCore::InspectorInstrumentation::pageDestroyedImpl):
  64036. * inspector/InspectorInstrumentation.h:
  64037. (WebCore::InspectorInstrumentation::pageDestroyed):
  64038. * page/DOMWindow.cpp:
  64039. (WebCore::DOMWindow::pageDestroyed):
  64040. 2011-06-21 Mikhail Naganov <mnaganov@chromium.org>
  64041. Reviewed by Yury Semikhatsky.
  64042. Web Inspector: [Chromium] Fix path finding to window objects.
  64043. https://bugs.webkit.org/show_bug.cgi?id=63051
  64044. * inspector/front-end/DetailedHeapshotView.js:
  64045. (WebInspector.HeapSnapshotRetainingPathsList.prototype._setRootChildrenForFinder):
  64046. 2011-06-21 Pavel Feldman <pfeldman@chromium.org>
  64047. Reviewed by Yury Semikhatsky.
  64048. Web Inspector: hovering over linkified nodes
  64049. in the UI does not highlight elements on the page.
  64050. https://bugs.webkit.org/show_bug.cgi?id=60630
  64051. * inspector/front-end/inspector.js:
  64052. (WebInspector.wireElementWithDOMNode):
  64053. 2011-06-20 Yuzo Fujishima <yuzo@google.com>
  64054. Reviewed by Kent Tamura.
  64055. Fix for Bug 62975 - Refactor local variable usage in CSSFontFaceSource::getFontData
  64056. https://bugs.webkit.org/show_bug.cgi?id=62975
  64057. No new tests because no behavioral changes.
  64058. * css/CSSFontFaceSource.cpp:
  64059. (WebCore::CSSFontFaceSource::getFontData): Remove one of fontData variable.
  64060. 2011-06-20 Andy Estes <aestes@apple.com>
  64061. Reviewed by Darin Adler.
  64062. KURL::protocolIs(const char* protocol) asserts in Debug builds with
  64063. valid protocols
  64064. https://bugs.webkit.org/show_bug.cgi?id=61572
  64065. No new tests. No code currently calls protocolIs() with a protocol that
  64066. contains a non-letter character.
  64067. * platform/KURL.cpp:
  64068. (WebCore::isSchemeCharacterMatchIgnoringCase): A helper function that
  64069. compares two characters ignoring case. It assumes (and asserts) that
  64070. both characters are valid scheme characters, and that if the second
  64071. argument is a letter that it is lowercase.
  64072. (WebCore::KURL::protocolIs): Call isSchemeCharacterMatchIgnoringCase()
  64073. instead of isLetterMatchIgnoringCase().
  64074. 2011-06-20 Dai Mikurube <dmikurube@chromium.org>
  64075. Reviewed by Kent Tamura.
  64076. Webkit allows disabled option as value of "required" select
  64077. https://bugs.webkit.org/show_bug.cgi?id=62668
  64078. * html/HTMLSelectElement.cpp: Removed "disabled" checking due to spec change.
  64079. (WebCore::HTMLSelectElement::hasPlaceholderLabelOption):
  64080. 2011-06-20 Zhenyao Mo <zmo@google.com>
  64081. Reviewed by Kenneth Russell.
  64082. Update ANGLE to r696.
  64083. https://bugs.webkit.org/show_bug.cgi?id=56396
  64084. * platform/graphics/ANGLEWebKitBridge.cpp:
  64085. (WebCore::ANGLEWebKitBridge::validateShaderSource): Specify backend.
  64086. 2011-06-20 Eric Seidel <eric@webkit.org>
  64087. Reviewed by Adam Barth.
  64088. Group load-initiating and stopping functions in FrameLoader.h
  64089. https://bugs.webkit.org/show_bug.cgi?id=63030
  64090. No function change, thus no tests.
  64091. * loader/FrameLoader.h:
  64092. 2011-06-20 Sailesh Agrawal <sail@chromium.org>
  64093. Reviewed by Mihai Parparita.
  64094. [Chromium] Draw search tickmarks on overlay scrollbars
  64095. https://bugs.webkit.org/show_bug.cgi?id=62783
  64096. This change adds search tickmark support for overlay scrollbars. Tickmarks are only drawn when the scroll track is visible.
  64097. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:Split the scrollbar drawing code into a track and knob version.
  64098. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
  64099. (wkScrollbarPainterPaint):
  64100. (wkScrollbarPainterPaintTrack):
  64101. (wkScrollbarPainterPaintKnob):
  64102. * platform/chromium/ScrollbarThemeChromiumMac.h:
  64103. * platform/chromium/ScrollbarThemeChromiumMac.mm:Factor out the paint tickmark code and call it from the overlay scrollbar drawing code.
  64104. (WebCore::ScrollbarThemeChromiumMac::paint):
  64105. (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
  64106. 2011-06-20 Adam Barth <abarth@webkit.org>
  64107. Mac build fix. In addition to adding the files to the project, we need
  64108. to add them to the WebCore target.
  64109. * WebCore.xcodeproj/project.pbxproj:
  64110. 2011-06-20 Adam Barth <abarth@webkit.org>
  64111. Reviewed by Darin Adler.
  64112. Remove numRequests
  64113. https://bugs.webkit.org/show_bug.cgi?id=63028
  64114. numRequests exists just to cargo-cult null-check m_frame->document(),
  64115. which is always non-null.
  64116. * loader/FrameLoader.cpp:
  64117. (WebCore::FrameLoader::checkCompleted):
  64118. (WebCore::FrameLoader::numPendingOrLoadingRequests):
  64119. 2011-06-20 Alexey Proskuryakov <ap@apple.com>
  64120. Reviewed by Darin Adler.
  64121. startWordBoundary() in visible_units.cpp assumes that all characters are 16 bit
  64122. https://bugs.webkit.org/show_bug.cgi?id=63027
  64123. No new tests, because I don't see this affect any webkit.org ports.
  64124. * editing/visible_units.cpp: (WebCore::startWordBoundary): Previous offset is not just minus
  64125. one - we need to use a proper macro to iterate.
  64126. 2011-06-20 Jay Civelli <jcivelli@chromium.org>
  64127. Reviewed by Adam Barth.
  64128. Making SharedBufferCRLFLineReader more generic, so it can be used to read MHTML
  64129. file with binary parts.
  64130. https://bugs.webkit.org/show_bug.cgi?id=62966
  64131. * CMakeLists.txt:
  64132. * GNUmakefile.list.am:
  64133. * WebCore.gypi:
  64134. * WebCore.pro:
  64135. * WebCore.vcproj/WebCore.vcproj:
  64136. * WebCore.xcodeproj/project.pbxproj:
  64137. * loader/archive/mhtml/MHTMLParser.cpp:
  64138. (WebCore::skipLinesUntilBoundaryFound):
  64139. (WebCore::MHTMLParser::MHTMLParser):
  64140. (WebCore::MHTMLParser::parseNextPart):
  64141. * loader/archive/mhtml/MHTMLParser.h:
  64142. * platform/SharedBufferChunkReader.cpp: Renamed from Source/WebCore/platform/SharedBufferCRLFLineReader.cpp.
  64143. (WebCore::SharedBufferChunkReader::SharedBufferChunkReader):
  64144. (WebCore::SharedBufferChunkReader::setSeparator):
  64145. (WebCore::SharedBufferChunkReader::nextChunk):
  64146. * platform/SharedBufferChunkReader.h: Renamed from Source/WebCore/platform/SharedBufferCRLFLineReader.h.
  64147. * platform/network/MIMEHeader.cpp:
  64148. (WebCore::retrieveKeyValuePairs):
  64149. (WebCore::MIMEHeader::parseHeader):
  64150. * platform/network/MIMEHeader.h:
  64151. 2011-06-20 Martin Robinson <mrobinson@igalia.com>
  64152. Reviewed by Xan Lopez.
  64153. [GTK] Windowless plugins sometimes crash with a BadMatch error
  64154. https://bugs.webkit.org/show_bug.cgi?id=63020
  64155. Do not try to create an XPixmap with any of the dimensions as zero.
  64156. * plugins/gtk/PluginViewGtk.cpp:
  64157. (WebCore::PluginView::updatePluginWidget): Guard against and empty window rect
  64158. before trying to create a windowless plugin pixmap.
  64159. 2011-06-20 Antonio Gomes <agomes@rim.com>
  64160. Reviewed by Ryosuke Niwa.
  64161. Stop adding empty rects in FrameSelection::getClippedVisibleTextRectangles
  64162. https://bugs.webkit.org/show_bug.cgi?id=63018
  64163. No new tests needed, since it causes no behavioral change.
  64164. * editing/FrameSelection.cpp:
  64165. (WebCore::FrameSelection::getClippedVisibleTextRectangles):
  64166. 2011-06-20 Joseph Pecoraro <joepeck@webkit.org>
  64167. Reviewed by Pavel Feldman.
  64168. Web Inspector: CRASH if Expanding Event Listener on document
  64169. https://bugs.webkit.org/show_bug.cgi?id=61834
  64170. Node::ownerDocument returns null for a document node. So, in
  64171. the case of a document node in resolveNode, use Node::document
  64172. which returns the node, as a document.
  64173. * inspector/InspectorDOMAgent.cpp:
  64174. (WebCore::InspectorDOMAgent::resolveNode):
  64175. 2011-06-20 Joseph Pecoraro <joepeck@webkit.org>
  64176. Reviewed by Simon Fraser.
  64177. Minimize memory due to layer backing stores for pages in the Page Cache
  64178. https://bugs.webkit.org/show_bug.cgi?id=62675
  64179. When a page enters the page cache there is now an option on
  64180. the PageCache singleton to clear the backing stores and layers
  64181. of the cached page. This can be useful to minimize the amount
  64182. of memory the stored page consumes.
  64183. This only affects memory usage and is disabled by default, so no test.
  64184. * history/CachedFrame.h:
  64185. * history/CachedFrame.cpp:
  64186. (WebCore::CachedFrameBase::CachedFrameBase):
  64187. Save whether or not the page had composited content or not
  64188. in a new instance variable, m_isComposited.
  64189. (WebCore::CachedFrameBase::restore):
  64190. When restoring, rebuild the compositing tree if it may have
  64191. been destroyed.
  64192. (WebCore::CachedFrame::CachedFrame):
  64193. When saving, clear the backing stores if the page is in
  64194. compositing mode, and the PageCache setting is enabled.
  64195. * history/PageCache.cpp:
  64196. (WebCore::PageCache::PageCache):
  64197. * history/PageCache.h:
  64198. (WebCore::PageCache::shouldClearBackingStores):
  64199. (WebCore::PageCache::setShouldClearBackingStores):
  64200. A setting to opt-in to the new behavior of clearing
  64201. the backing stores.
  64202. * page/FrameView.h:
  64203. * page/FrameView.cpp:
  64204. (WebCore::FrameView::clearBackingStores):
  64205. (WebCore::FrameView::restoreBackingStores):
  64206. To clear all backing stores we disable compositing
  64207. for the frame, to detach the root platform layer,
  64208. and recursively clear backing stores from the root
  64209. layer of the FrameView.
  64210. * rendering/RenderLayer.h:
  64211. * rendering/RenderLayer.cpp:
  64212. (WebCore::RenderLayer::clearBackingIncludingDescendants):
  64213. Recursively call clearBacking.
  64214. 2011-06-20 Mark Pilgrim <pilgrim@chromium.org>
  64215. Reviewed by Adam Barth.
  64216. IDL generator should throw TypeError instead of SyntaxError on not enough arguments
  64217. https://bugs.webkit.org/show_bug.cgi?id=63011
  64218. To align with WebIDL, we should throw TypeError whenever a function
  64219. is called with missing required arguments.
  64220. * bindings/scripts/CodeGeneratorJS.pm:
  64221. * bindings/scripts/CodeGeneratorV8.pm:
  64222. * bindings/scripts/test/V8/V8TestObj.cpp:
  64223. (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
  64224. 2011-05-03 Martin Robinson <mrobinson@igalia.com>
  64225. Reviewed by Dirk Schulze.
  64226. REGRESSION: [CAIRO] wrong drawing of Gradients and Patterns on texts
  64227. https://bugs.webkit.org/show_bug.cgi?id=31507
  64228. When painting text, be sure to set the pattern fill or gradient before modifying the Cairo
  64229. context CTM. This ensures that gradients and patterns are scaled and positioned properly in
  64230. the coordinate system of the page. Abstract out the fill preparation to avoid repeating this
  64231. logic and perform a bit of cleanup.
  64232. * platform/graphics/cairo/FontCairo.cpp:
  64233. (WebCore::prepareContextForGlyphDrawing): Now set the x and y position of the text using the glyph
  64234. offsets. This avoids having to set a transformation matrix when there is no synthetic oblique.
  64235. (WebCore::drawGlyphsToContext): Add a newline as part of cleanup. Call prepareContextForGlyphDrawing from here
  64236. and restor the original CTM when exiting.
  64237. (WebCore::drawGlyphsShadow): Use drawGlyphsToContext here to ensure that all glyph drawing goes through
  64238. the same path.
  64239. (WebCore::Font::drawGlyphs): Fix a C-style cast and use the glyph offsets to position the glyphs instead
  64240. of adjusting the transformation matrix. Use GC::prepareForFilling and GC::prepareForStroking instead of
  64241. setting up the fill and stroke manually.
  64242. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  64243. (WebCore::fillRectWithColor): Renamed fillRectSourceOver to fillRectWithColor to make it clearer
  64244. why this is different than the slower fill method. Moved the no transparency early return here.
  64245. (WebCore::drawPathShadow): Instead of calling setPlatformFill, just perform a cheap fill and stroke
  64246. with red color. Since the shadow is used as a mask, the actual fill shouldn't matter.
  64247. (WebCore::reduceSourceByAlpha): Added this helper.
  64248. (WebCore::GraphicsContext::prepareForFilling): Added this method adapted from setPlatformFill, which
  64249. correctly handles the transformation matrix.
  64250. (WebCore::GraphicsContext::prepareForStroking): Ditto for stroking.
  64251. (WebCore::shadowAndFillCurrentCairoPath): Adapted from fillCurrentCairoPath, but renamed to clarify
  64252. what it does and no uses prepareForFilling.
  64253. (WebCore::shadowAndStrokeCurrentCairoPath): Ditto for stroking.
  64254. (WebCore::GraphicsContext::drawRect): Update for new method names.
  64255. (WebCore::GraphicsContext::drawLine): Ditto.
  64256. (WebCore::GraphicsContext::fillPath): Ditto.
  64257. (WebCore::GraphicsContext::strokePath): Ditto.
  64258. (WebCore::GraphicsContext::fillRect): Ditto. Remove the unnecessary save/restore pair here.
  64259. (WebCore::GraphicsContext::strokeRect): Update to reflect new method names.
  64260. * platform/graphics/cairo/PlatformContextCairo.cpp:
  64261. (WebCore::reduceSourceByAlpha): Added this helper.
  64262. (WebCore::GraphicsContext::prepareForFilling): Added this method adapted from setPlatformFill, which
  64263. correctly handles the transformation matrix.
  64264. (WebCore::GraphicsContext::prepareForStroking): Ditto for stroking.
  64265. (WebCore::reduceSourceByAlpha):
  64266. * platform/graphics/cairo/PlatformContextCairo.h: Added new method declarations.
  64267. 2011-06-20 Tim Horton <timothy_horton@apple.com>
  64268. Reviewed by Darin Adler.
  64269. Incorrect clamping on SVG masks when root element is not located at (0,0)
  64270. https://bugs.webkit.org/show_bug.cgi?id=63019
  64271. We should be using frameRect(), not contentBoxRect() for the rect to
  64272. clamp to when creating an SVG mask image.
  64273. Test: svg/custom/absolute-root-position-masking.xhtml
  64274. * rendering/svg/SVGImageBufferTools.cpp:
  64275. (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRectForRenderer):
  64276. 2011-06-20 Adam Barth <abarth@webkit.org>
  64277. Reviewed by Eric Seidel.
  64278. Remove FrameLoader::m_workingURL
  64279. https://bugs.webkit.org/show_bug.cgi?id=63021
  64280. FrameLoader shouldn't keep the working URL in separate state. It's
  64281. just a function of other state. m_workingURL exists only to create
  64282. bugs and confusion.
  64283. * loader/DocumentLoader.cpp:
  64284. (WebCore::DocumentLoader::documentURL):
  64285. * loader/DocumentLoader.h:
  64286. * loader/FrameLoader.cpp:
  64287. (WebCore::FrameLoader::stopLoading):
  64288. (WebCore::FrameLoader::didOpenURL):
  64289. (WebCore::FrameLoader::receivedFirstData):
  64290. (WebCore::FrameLoader::willSetEncoding):
  64291. (WebCore::FrameLoader::commitProvisionalLoad):
  64292. (WebCore::FrameLoader::open):
  64293. (WebCore::FrameLoader::finishedLoadingDocument):
  64294. * loader/FrameLoader.h:
  64295. 2011-06-20 Kenneth Russell <kbr@google.com>
  64296. Unreviewed.
  64297. Rolled out r89233 and r89235 because of crashes in http/tests/misc/acid3.html on Snow Leopard and other platforms
  64298. https://bugs.webkit.org/show_bug.cgi?id=63022
  64299. * features.pri:
  64300. * page/DOMWindow.idl:
  64301. * platform/graphics/Font.cpp:
  64302. (WebCore::Font::drawText):
  64303. (WebCore::Font::drawEmphasisMarks):
  64304. (WebCore::Font::width):
  64305. (WebCore::Font::selectionRectForText):
  64306. (WebCore::Font::offsetForPosition):
  64307. (WebCore::Font::codePath):
  64308. * platform/graphics/Font.h:
  64309. * platform/graphics/FontFallbackList.h:
  64310. * platform/graphics/FontFastPath.cpp:
  64311. (WebCore::Font::glyphDataForCharacter):
  64312. (WebCore::Font::getEmphasisMarkGlyphData):
  64313. (WebCore::Font::drawGlyphBuffer):
  64314. * platform/graphics/FontMetrics.h:
  64315. * platform/graphics/GlyphPageTreeNode.cpp:
  64316. (WebCore::fill):
  64317. * platform/graphics/SVGGlyph.h:
  64318. (WebCore::SVGGlyph::SVGGlyph):
  64319. (WebCore::SVGGlyph::operator==):
  64320. * platform/graphics/SimpleFontData.cpp:
  64321. (WebCore::SimpleFontData::SimpleFontData):
  64322. * platform/graphics/SimpleFontData.h:
  64323. (WebCore::SimpleFontData::widthForGlyph):
  64324. * platform/graphics/TextRun.h:
  64325. * platform/graphics/WidthIterator.cpp:
  64326. (WebCore::WidthIterator::advance):
  64327. * platform/graphics/WidthIterator.h:
  64328. * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
  64329. (WebCore::scaleEmToUnits):
  64330. * platform/graphics/mac/SimpleFontDataMac.mm:
  64331. (WebCore::scaleEmToUnits):
  64332. * platform/graphics/win/SimpleFontDataCGWin.cpp:
  64333. (WebCore::scaleEmToUnits):
  64334. * rendering/svg/SVGTextMetrics.cpp:
  64335. (WebCore::SVGTextMetrics::SVGTextMetrics):
  64336. (WebCore::constructTextRun):
  64337. (WebCore::SVGTextMetrics::measureCharacterRange):
  64338. * rendering/svg/SVGTextMetrics.h:
  64339. * rendering/svg/SVGTextRunRenderingContext.cpp:
  64340. (WebCore::convertEmUnitToPixel):
  64341. (WebCore::isVerticalWritingMode):
  64342. (WebCore::firstParentRendererForNonTextNode):
  64343. (WebCore::referencingRenderObjectFromRun):
  64344. (WebCore::SVGTextRunWalker::SVGTextRunWalker):
  64345. (WebCore::SVGTextRunWalker::walk):
  64346. (WebCore::floatWidthUsingSVGFontCallback):
  64347. (WebCore::floatWidthMissingGlyphCallback):
  64348. (WebCore::floatWidthOfSubStringUsingSVGFont):
  64349. (WebCore::SVGTextRunRenderingContext::floatWidthUsingSVGFont):
  64350. (WebCore::drawTextUsingSVGFontCallback):
  64351. (WebCore::drawTextMissingGlyphCallback):
  64352. (WebCore::SVGTextRunRenderingContext::drawTextUsingSVGFont):
  64353. (WebCore::SVGTextRunRenderingContext::selectionRectForTextUsingSVGFont):
  64354. (WebCore::SVGTextRunRenderingContext::offsetForPositionForTextUsingSVGFont):
  64355. * rendering/svg/SVGTextRunRenderingContext.h:
  64356. * svg/SVGAltGlyphElement.cpp:
  64357. (WebCore::SVGAltGlyphElement::glyphElement):
  64358. * svg/SVGAltGlyphElement.h:
  64359. * svg/SVGFontData.cpp:
  64360. (WebCore::SVGFontData::initializeFontData):
  64361. * svg/SVGFontData.h:
  64362. * svg/SVGFontElement.cpp:
  64363. (WebCore::SVGFontElement::registerLigaturesInGlyphCache):
  64364. (WebCore::SVGFontElement::ensureGlyphCache):
  64365. * svg/SVGGlyphMap.h:
  64366. (WebCore::SVGGlyphMap::addGlyphByUnicodeString):
  64367. * svg/svgtags.in:
  64368. 2011-06-20 Scott Byer <scottbyer@chromium.org>
  64369. Reviewed by Adam Barth.
  64370. Smooth scrolling for Chromium, initial patch.
  64371. https://bugs.webkit.org/show_bug.cgi?id=61878
  64372. Add in a default scrolling animator in the platform directory, with a run time enable switch, to provide
  64373. animated / smooth scrolling on platforms and for input devices where it's not provided by the platform, and to
  64374. be easily configurable to what situatuations the animations are provided for. The smooth scrolling code is
  64375. compiled out by default.
  64376. Unit tests in chromium/ScrollAnimatorNoneTest.cpp
  64377. * WebCore.gypi:
  64378. * page/FrameView.cpp:
  64379. (WebCore::FrameView::scrollAnimatorEnabled):
  64380. * page/FrameView.h:
  64381. * page/Settings.cpp:
  64382. (WebCore::Settings::Settings):
  64383. * page/Settings.h:
  64384. (WebCore::Settings::setEnableScrollAnimator):
  64385. (WebCore::Settings::scrollAnimatorEnabled):
  64386. * platform/ScrollAnimatorNone.cpp: Added.
  64387. (WebCore::ScrollAnimator::create):
  64388. (WebCore::ScrollAnimatorNone::Parameters::Parameters):
  64389. (WebCore::ScrollAnimatorNone::PerAxisData::curveAt):
  64390. (WebCore::ScrollAnimatorNone::PerAxisData::attackCurve):
  64391. (WebCore::ScrollAnimatorNone::PerAxisData::releaseCurve):
  64392. (WebCore::ScrollAnimatorNone::PerAxisData::curveDerivativeAt):
  64393. (WebCore::ScrollAnimatorNone::PerAxisData::PerAxisData):
  64394. (WebCore::ScrollAnimatorNone::PerAxisData::reset):
  64395. (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
  64396. (WebCore::ScrollAnimatorNone::PerAxisData::animateScroll):
  64397. (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
  64398. (WebCore::ScrollAnimatorNone::~ScrollAnimatorNone):
  64399. (WebCore::ScrollAnimatorNone::scroll):
  64400. (WebCore::ScrollAnimatorNone::scrollToOffsetWithoutAnimation):
  64401. (WebCore::ScrollAnimatorNone::animationTimerFired):
  64402. (WebCore::ScrollAnimatorNone::stopAnimationTimerIfNeeded):
  64403. * platform/ScrollAnimatorNone.h: Added.
  64404. * platform/ScrollableArea.h:
  64405. (WebCore::ScrollableArea::scrollAnimatorEnabled):
  64406. 2011-06-20 Julien Chaffraix <jchaffraix@webkit.org>
  64407. Reviewed by Darin Adler.
  64408. Remove some unsafe static_cast in rendering/
  64409. https://bugs.webkit.org/show_bug.cgi?id=63014
  64410. Mechanical refactoring, no test needed.
  64411. * rendering/InlineFlowBox.cpp:
  64412. (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
  64413. (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
  64414. * rendering/InlineTextBox.cpp:
  64415. (WebCore::InlineTextBox::getEmphasisMarkPosition):
  64416. * rendering/RenderBlockLineLayout.cpp:
  64417. (WebCore::RenderBlock::LineBreaker::nextLineBreak):
  64418. * rendering/RenderLayer.cpp:
  64419. (WebCore::RenderLayer::destroyScrollbar):
  64420. * rendering/RenderRuby.cpp:
  64421. (WebCore::rubyBeforeBlock):
  64422. (WebCore::rubyAfterBlock):
  64423. (WebCore::lastRubyRun):
  64424. (WebCore::findRubyRunParent):
  64425. * rendering/RenderRubyBase.cpp:
  64426. (WebCore::RenderRubyBase::rubyRun):
  64427. * rendering/RenderRubyRun.cpp:
  64428. (WebCore::RenderRubyRun::removeChild):
  64429. Use the proper conversion methods at the previous call-sites.
  64430. 2011-06-20 Anders Carlsson <andersca@apple.com>
  64431. Reviewed by Sam Weinig.
  64432. Web archive resource loads are scheduled together with network loads
  64433. https://bugs.webkit.org/show_bug.cgi?id=63024
  64434. <rdar://problem/9508564>
  64435. If the resource being loaded is loaded from a web archive we don't need to schedule the load
  64436. since it won't touch the network.
  64437. * loader/ResourceLoadScheduler.cpp:
  64438. (WebCore::ResourceLoadScheduler::scheduleLoad):
  64439. 2011-06-20 Pratik Solanki <psolanki@apple.com>
  64440. Reviewed by David Kilzer.
  64441. HTTP pipelining functions on mac should match windows
  64442. https://bugs.webkit.org/show_bug.cgi?id=63012
  64443. Use a CFURLRequestRef instead of NSURLRequest for the HTTP pipelining functions.
  64444. * platform/mac/WebCoreSystemInterface.h:
  64445. * platform/mac/WebCoreSystemInterface.mm:
  64446. * platform/network/mac/ResourceRequestMac.mm:
  64447. (WebCore::ResourceRequest::doUpdateResourceRequest):
  64448. (WebCore::ResourceRequest::doUpdatePlatformRequest):
  64449. 2011-06-20 Ryosuke Niwa <rniwa@webkit.org>
  64450. Fix bit flag collision.
  64451. * editing/FrameSelection.h:
  64452. 2011-06-20 Jer Noble <jer.noble@apple.com>
  64453. Unreviewed build fix; Fix Leopard WebCore build.
  64454. * platform/mac/WebVideoFullscreenHUDWindowController.mm: On Leopard, NSWindowDelegate
  64455. is a category, not a protocol.
  64456. 2011-06-20 Ryosuke Niwa <rniwa@webkit.org>
  64457. Reviewed by Darin Adler.
  64458. Various editing functions take boolean userTriggered but should be replaced by an enum
  64459. https://bugs.webkit.org/show_bug.cgi?id=62933
  64460. Replaced boolean userTriggered in many functions by new EUserTriggered enum.
  64461. * WebCore.exp.in: FrameSelection::modify's signature changed.
  64462. * accessibility/AccessibilityRenderObject.cpp:
  64463. (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange): Calls FrameSelection::moveTo.
  64464. * editing/EditorCommand.cpp:
  64465. (WebCore::executeMoveBackward): Calls FrameSelection::modify.
  64466. (WebCore::executeMoveBackwardAndModifySelection): Ditto.
  64467. (WebCore::executeMoveDown): Ditto.
  64468. (WebCore::executeMoveDownAndModifySelection): Ditto.
  64469. (WebCore::executeMoveForward): Ditto.
  64470. (WebCore::executeMoveForwardAndModifySelection): Ditto.
  64471. (WebCore::executeMoveLeft): Ditto.
  64472. (WebCore::executeMoveLeftAndModifySelection): Ditto.
  64473. (WebCore::executeMovePageDown): Ditto.
  64474. (WebCore::executeMovePageDownAndModifySelection): Ditto.
  64475. (WebCore::executeMovePageUp): Ditto.
  64476. (WebCore::executeMovePageUpAndModifySelection): Ditto.
  64477. (WebCore::executeMoveRight): Ditto.
  64478. (WebCore::executeMoveRightAndModifySelection): Ditto.
  64479. (WebCore::executeMoveToBeginningOfDocument): Ditto.
  64480. (WebCore::executeMoveToBeginningOfDocumentAndModifySelection): Ditto.
  64481. (WebCore::executeMoveToBeginningOfLine): Ditto.
  64482. (WebCore::executeMoveToBeginningOfLineAndModifySelection): Ditto.
  64483. (WebCore::executeMoveToBeginningOfParagraph): Ditto.
  64484. (WebCore::executeMoveToBeginningOfParagraphAndModifySelection): Ditto.
  64485. (WebCore::executeMoveToBeginningOfSentence): Ditto.
  64486. (WebCore::executeMoveToBeginningOfSentenceAndModifySelection): Ditto.
  64487. (WebCore::executeMoveToEndOfDocument): Ditto.
  64488. (WebCore::executeMoveToEndOfDocumentAndModifySelection): Ditto.
  64489. (WebCore::executeMoveToEndOfSentence): Ditto.
  64490. (WebCore::executeMoveToEndOfSentenceAndModifySelection): Ditto.
  64491. (WebCore::executeMoveToEndOfLine): Ditto.
  64492. (WebCore::executeMoveToEndOfLineAndModifySelection): Ditto.
  64493. (WebCore::executeMoveToEndOfParagraph): Ditto.
  64494. (WebCore::executeMoveToEndOfParagraphAndModifySelection): Ditto.
  64495. (WebCore::executeMoveParagraphBackwardAndModifySelection): Ditto.
  64496. (WebCore::executeMoveParagraphForwardAndModifySelection): Ditto.
  64497. (WebCore::executeMoveUp): Ditto.
  64498. (WebCore::executeMoveUpAndModifySelection): Ditto.
  64499. (WebCore::executeMoveWordBackward): Ditto.
  64500. (WebCore::executeMoveWordBackwardAndModifySelection): Ditto.
  64501. (WebCore::executeMoveWordForward): Ditto.
  64502. (WebCore::executeMoveWordForwardAndModifySelection): Ditto.
  64503. (WebCore::executeMoveWordLeft): Ditto.
  64504. (WebCore::executeMoveWordLeftAndModifySelection): Ditto.
  64505. (WebCore::executeMoveWordRight): Ditto.
  64506. (WebCore::executeMoveWordRightAndModifySelection): Ditto.
  64507. (WebCore::executeMoveToLeftEndOfLine): Ditto.
  64508. (WebCore::executeMoveToLeftEndOfLineAndModifySelection): Ditto.
  64509. (WebCore::executeMoveToRightEndOfLine): Ditto.
  64510. (WebCore::executeMoveToRightEndOfLineAndModifySelection): Ditto.
  64511. * editing/FrameSelection.cpp:
  64512. (WebCore::FrameSelection::moveTo): Takes EUserTriggered instead of a boolean.
  64513. (WebCore::FrameSelection::setSelection): Ditto.
  64514. (WebCore::FrameSelection::modify): Ditto.
  64515. (WebCore::FrameSelection::setStart): Ditto.
  64516. (WebCore::FrameSelection::setEnd): Ditto.
  64517. (WebCore::FrameSelection::setBase): Ditto.
  64518. (WebCore::FrameSelection::setExtent): Ditto.
  64519. (WebCore::FrameSelection::selectAll): Ditto.
  64520. (WebCore::FrameSelection::notifyRendererOfSelectionChange): Ditto.
  64521. * editing/FrameSelection.h: Extracted EUserTriggered out of SetSelectionOption; SetSelectionOptions
  64522. now takes the union of values of SetSelectionOption and EUserTriggered.
  64523. (WebCore::FrameSelection::selectionOptionsToUserTriggered): Converts SetSelectionOptions to
  64524. EUserTriggered.
  64525. * page/DOMSelection.cpp:
  64526. (WebCore::DOMSelection::modify): Calls FrameSelection::modify.
  64527. * page/EventHandler.cpp:
  64528. (WebCore::EventHandler::handleMouseReleaseEvent): Ditto.
  64529. (WebCore::handleKeyboardSelectionMovement): Ditto.
  64530. 2011-06-20 Jer Noble <jer.noble@apple.com>
  64531. Unreviewed build fix; Fix 32-bit build.
  64532. Code recently moved from WebKit -> WebCore does not pass WebCore's more strict compiler warnings. Use
  64533. CGFloat, and float constants wherever possible, and use narrowPrecisionToFloat() where not.
  64534. * WebCore.xcodeproj/project.pbxproj: Add '-Wno-undef' flag for WebVideoFullScreenController.mm
  64535. * platform/mac/WebVideoFullscreenController.mm:
  64536. (constrainFrameToRatioOfFrame): Use CGFloat instead of Double.
  64537. (-[WebVideoFullscreenWindow animateFromRect:toRect:withSubAnimation:controllerAction:]): Use float constant.
  64538. * platform/mac/WebVideoFullscreenHUDWindowController.mm:
  64539. (-[WebVideoFullscreenHUDWindowController updateVolume]): Use float for volume.
  64540. (-[WebVideoFullscreenHUDWindowController maxVolume]): Ditto.
  64541. (-[WebVideoFullscreenHUDWindowController volumeChanged:]): Ditto.
  64542. (-[WebVideoFullscreenHUDWindowController decrementVolume]): Ditto.
  64543. (-[WebVideoFullscreenHUDWindowController incrementVolume]): Ditto.
  64544. (-[WebVideoFullscreenHUDWindowController volume]): Ditto.
  64545. (-[WebVideoFullscreenHUDWindowController setVolume:]): Ditto.
  64546. (timeToString): Narrow precision to float when converting to seconds.
  64547. * platform/mac/WebWindowAnimation.mm:
  64548. (scaledRect): Use CGFloat.
  64549. (-[WebWindowScaleAnimation init]): Use float constant.
  64550. (-[WebWindowScaleAnimation currentValue]): Ditto.
  64551. (-[WebWindowScaleAnimation additionalDurationNeededToReachFinalFrame]): Ditto.
  64552. (-[WebWindowFadeAnimation currentAlpha]): Ditto.
  64553. 2011-06-20 Anders Carlsson <andersca@apple.com>
  64554. Reviewed by Darin Adler.
  64555. Disallow assigning into PassOwnArrayPtr, PassOwnPtr and PassRefPtr
  64556. https://bugs.webkit.org/show_bug.cgi?id=62940
  64557. Make sure that we never assign into any already existing PassRefPtr.
  64558. * accessibility/AccessibilityMediaControls.cpp:
  64559. (WebCore::AccessibilityMediaControl::create):
  64560. Remove local PassRefPtr variable.
  64561. * dom/Document.cpp:
  64562. (WebCore::Document::setBody):
  64563. Rename the PassRefPtr parameter and create a RefPtr variable.
  64564. (WebCore::Document::setFocusedNode):
  64565. Ditto.
  64566. * editing/ApplyStyleCommand.cpp:
  64567. (WebCore::ApplyStyleCommand::removeInlineStyle):
  64568. There's no reason to use a PassRefPtr here. Use a RefPtr, and don't initialize it since it's implicitly initialized.
  64569. * editing/CompositeEditCommand.cpp:
  64570. (WebCore::CompositeEditCommand::prune):
  64571. Rename the PassRefPtr parameter and create a RefPtr variable.
  64572. * editing/ReplaceSelectionCommand.cpp:
  64573. (WebCore::ReplaceSelectionCommand::insertAsListItems):
  64574. Ditto.
  64575. * editing/htmlediting.cpp:
  64576. (WebCore::createTabSpanElement):
  64577. Ditto.
  64578. * html/canvas/CanvasRenderingContext2D.cpp:
  64579. (WebCore::CanvasRenderingContext2D::setStrokeStyle):
  64580. (WebCore::CanvasRenderingContext2D::setFillStyle):
  64581. Ditto.
  64582. * platform/network/mac/FormDataStreamMac.mm:
  64583. (WebCore::formFinalize):
  64584. Ditto.
  64585. (WebCore::setHTTPBody):
  64586. Use an OwnPtr instead of explicitly deleting the form variable.
  64587. 2011-06-20 Alex Milowski <alex@milowski.com>
  64588. Reviewed by Darin Adler.
  64589. This patch addresses handling wrapping of child properly to maintain the layout regardless of whether
  64590. this is the initial build of the render tree or the result of DOM manipulation.
  64591. https://bugs.webkit.org/show_bug.cgi?id=62098
  64592. Tests: mathml/presentation/msub-base-changed.xhtml
  64593. mathml/presentation/msub-sub-changed.xhtml
  64594. mathml/presentation/msubsup-base-changed.xhtml
  64595. mathml/presentation/msubsup-sub-changed.xhtml
  64596. mathml/presentation/msubsup-sup-changed.xhtml
  64597. mathml/presentation/msup-base-changed.xhtml
  64598. mathml/presentation/msup-sup-changed.xhtml
  64599. * rendering/mathml/RenderMathMLSubSup.cpp:
  64600. (WebCore::RenderMathMLSubSup::addChild):
  64601. (WebCore::RenderMathMLSubSup::stretchToHeight):
  64602. (WebCore::RenderMathMLSubSup::baselinePosition):
  64603. 2011-06-01 Jer Noble <jer.noble@apple.com>
  64604. Reviewed by Eric Carlson.
  64605. Move Full Screen Controllers into WebCore.
  64606. Remove dependency on QTKit from wekitExitFullscreen()
  64607. https://bugs.webkit.org/show_bug.cgi?id=61843
  64608. No new tests; the existing media full screen tests are sufficient.
  64609. * WebCore.exp.in: Add new exports.
  64610. * WebCore.xcodeproj/project.pbxproj: Add references to moved files.
  64611. * platform/mac/WebCoreSystemInterface.h: Add new WCSI interfaces to WKSI functions.
  64612. * platform/mac/WebCoreSystemInterface.mm:
  64613. * platform/mac/WebVideoFullscreenController.h: Renamed from Source/WebKit/mac/WebView/WebVideoFullscreenController.h.
  64614. * platform/mac/WebVideoFullscreenController.mm: Renamed from Source/WebKit/mac/WebView/WebVideoFullscreenController.mm.
  64615. The following functions have had UNUSED_PARAM added:
  64616. (-[WebVideoFullscreenController applicationDidResignActive:]):
  64617. (-[WebVideoFullscreenController applicationDidChangeScreenParameters:]):
  64618. (-[WebVideoFullscreenWindow mouseMoved:]):
  64619. Source/WebKit/mac/WebView/WebVideoFullscreenHUDWindowController.h.
  64620. * platform/mac/WebVideoFullscreenHUDWindowController.mm: Renamed from Source/WebKit/mac/WebView/WebVideoFullscreenHUDWindowController.mm.
  64621. The following functions have had UNUSED_PARAM added:
  64622. (-[WebVideoFullscreenHUDWindow cancelOperation:]):
  64623. (-[WebVideoFullscreenHUDWindowController timelinePositionChanged:]):
  64624. (-[WebVideoFullscreenHUDWindowController setVolumeToZero:]):
  64625. (-[WebVideoFullscreenHUDWindowController setVolumeToMaximum:]):
  64626. (-[WebVideoFullscreenHUDWindowController togglePlaying:]):
  64627. (-[WebVideoFullscreenHUDWindowController mouseEntered:]):
  64628. (-[WebVideoFullscreenHUDWindowController mouseExited:]):
  64629. (-[WebVideoFullscreenHUDWindowController rewind:]):
  64630. (-[WebVideoFullscreenHUDWindowController fastForward:]):
  64631. (-[WebVideoFullscreenHUDWindowController windowDidExpose:]):
  64632. (-[WebVideoFullscreenHUDWindowController windowDidClose:]):
  64633. The following functions have had WKSI calls converted to WCSI ones:
  64634. (createControlWithMediaUIControlType):
  64635. (createTimeTextField):
  64636. * platform/mac/WebWindowAnimation.h: Renamed from Source/WebKit/mac/WebView/WebWindowAnimation.h.
  64637. * platform/mac/WebWindowAnimation.mm: Renamed from Source/WebKit/mac/WebView/WebWindowAnimation.m.
  64638. (WebWindowAnimationDurationFromDuration):
  64639. The following functions have had WKSI calls converted to WCSI ones:
  64640. (-[WebWindowScaleAnimation setCurrentProgress:]):
  64641. (-[WebWindowFadeAnimation initWithDuration:window:initialAlpha:finalAlpha:]):
  64642. 2011-06-20 Mark Pilgrim <pilgrim@chromium.org>
  64643. Reviewed by Adam Barth.
  64644. Remove LegacyDefaultOptionalArguments flag from IDL files where it would not change behavior
  64645. https://bugs.webkit.org/show_bug.cgi?id=62904
  64646. After bug 62750, there are many IDL files that contain the new
  64647. LegacyDefaultOptionalArguments flag that don't actually need it.
  64648. Some examples:
  64649. - the IDL file contains no functions
  64650. - the IDL file contains only functions with no arguments
  64651. - the IDL file contains functions, *all* of which use the
  64652. [RequiresAllArguments=raise] extended attribute
  64653. This patch simplifies such IDL files by removing the
  64654. LegacyDefaultOptionalArguments flag and (if needed) removing the
  64655. [RequiresAllArguments=raise] extended attribute from each function
  64656. declaration. This patch does not make any required arguments optional
  64657. or any optional arguments required. It changes no behavior at all.
  64658. No new tests needed, all existing tests pass.
  64659. * bindings/scripts/CodeGeneratorJS.pm:
  64660. * bindings/scripts/test/TestInterface.idl:
  64661. * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
  64662. * css/CSSCharsetRule.idl:
  64663. * css/CSSFontFaceRule.idl:
  64664. * css/CSSImportRule.idl:
  64665. * css/CSSPageRule.idl:
  64666. * css/CSSRule.idl:
  64667. * css/CSSStyleRule.idl:
  64668. * css/CSSUnknownRule.idl:
  64669. * css/CSSValue.idl:
  64670. * css/Counter.idl:
  64671. * css/RGBColor.idl:
  64672. * css/Rect.idl:
  64673. * css/StyleSheet.idl:
  64674. * css/WebKitCSSKeyframeRule.idl:
  64675. * css/WebKitCSSTransformValue.idl:
  64676. * dom/Attr.idl:
  64677. * dom/CDATASection.idl:
  64678. * dom/ClientRect.idl:
  64679. * dom/Comment.idl:
  64680. * dom/DOMCoreException.idl:
  64681. * dom/DOMStringMap.idl:
  64682. * dom/DocumentType.idl:
  64683. * dom/Entity.idl:
  64684. * dom/EntityReference.idl:
  64685. * dom/EventException.idl:
  64686. * dom/GeneratedStream.idl:
  64687. * dom/MessageChannel.idl:
  64688. * dom/NodeIterator.idl:
  64689. * dom/Notation.idl:
  64690. * dom/ProcessingInstruction.idl:
  64691. * dom/RangeException.idl:
  64692. * dom/Touch.idl:
  64693. * dom/TreeWalker.idl:
  64694. * fileapi/DOMFileSystem.idl:
  64695. * fileapi/DOMFileSystemSync.idl:
  64696. * fileapi/DirectoryReaderSync.idl:
  64697. * fileapi/File.idl:
  64698. * fileapi/FileEntrySync.idl:
  64699. * fileapi/FileError.idl:
  64700. * fileapi/FileException.idl:
  64701. * fileapi/Metadata.idl:
  64702. * fileapi/OperationNotAllowedException.idl:
  64703. * fileapi/WebKitFlags.idl:
  64704. * html/DOMSettableTokenList.idl:
  64705. * html/HTMLAppletElement.idl:
  64706. * html/HTMLAreaElement.idl:
  64707. * html/HTMLBRElement.idl:
  64708. * html/HTMLBaseElement.idl:
  64709. * html/HTMLBaseFontElement.idl:
  64710. * html/HTMLBlockquoteElement.idl:
  64711. * html/HTMLBodyElement.idl:
  64712. * html/HTMLDListElement.idl:
  64713. * html/HTMLDataListElement.idl:
  64714. * html/HTMLDetailsElement.idl:
  64715. * html/HTMLDirectoryElement.idl:
  64716. * html/HTMLEmbedElement.idl:
  64717. * html/HTMLFontElement.idl:
  64718. * html/HTMLFormElement.idl:
  64719. * html/HTMLFrameElement.idl:
  64720. * html/HTMLFrameSetElement.idl:
  64721. * html/HTMLHRElement.idl:
  64722. * html/HTMLHeadElement.idl:
  64723. * html/HTMLHeadingElement.idl:
  64724. * html/HTMLHtmlElement.idl:
  64725. * html/HTMLIFrameElement.idl:
  64726. * html/HTMLImageElement.idl:
  64727. * html/HTMLIsIndexElement.idl:
  64728. * html/HTMLLIElement.idl:
  64729. * html/HTMLLabelElement.idl:
  64730. * html/HTMLLegendElement.idl:
  64731. * html/HTMLLinkElement.idl:
  64732. * html/HTMLMapElement.idl:
  64733. * html/HTMLMarqueeElement.idl:
  64734. * html/HTMLMenuElement.idl:
  64735. * html/HTMLMetaElement.idl:
  64736. * html/HTMLMeterElement.idl:
  64737. * html/HTMLModElement.idl:
  64738. * html/HTMLOListElement.idl:
  64739. * html/HTMLOptGroupElement.idl:
  64740. * html/HTMLOptionElement.idl:
  64741. * html/HTMLParagraphElement.idl:
  64742. * html/HTMLParamElement.idl:
  64743. * html/HTMLPreElement.idl:
  64744. * html/HTMLProgressElement.idl:
  64745. * html/HTMLQuoteElement.idl:
  64746. * html/HTMLScriptElement.idl:
  64747. * html/HTMLSourceElement.idl:
  64748. * html/HTMLStyleElement.idl:
  64749. * html/HTMLTableCaptionElement.idl:
  64750. * html/HTMLTableCellElement.idl:
  64751. * html/HTMLTableColElement.idl:
  64752. * html/HTMLTitleElement.idl:
  64753. * html/HTMLTrackElement.idl:
  64754. * html/HTMLUListElement.idl:
  64755. * html/ImageData.idl:
  64756. * html/MediaError.idl:
  64757. * html/SpellcheckRange.idl:
  64758. * html/TextMetrics.idl:
  64759. * html/ValidityState.idl:
  64760. * html/VoidCallback.idl:
  64761. * html/canvas/ArrayBuffer.idl:
  64762. * html/canvas/ArrayBufferView.idl:
  64763. * html/canvas/CanvasPattern.idl:
  64764. * html/canvas/CanvasPixelArray.idl:
  64765. * html/canvas/CanvasRenderingContext.idl:
  64766. * html/canvas/DataView.idl:
  64767. * html/canvas/OESStandardDerivatives.idl:
  64768. * html/canvas/OESTextureFloat.idl:
  64769. * html/canvas/WebGLActiveInfo.idl:
  64770. * html/canvas/WebGLBuffer.idl:
  64771. * html/canvas/WebGLContextAttributes.idl:
  64772. * html/canvas/WebGLFramebuffer.idl:
  64773. * html/canvas/WebGLProgram.idl:
  64774. * html/canvas/WebGLRenderbuffer.idl:
  64775. * html/canvas/WebGLShader.idl:
  64776. * html/canvas/WebGLTexture.idl:
  64777. * html/canvas/WebGLUniformLocation.idl:
  64778. * html/canvas/WebGLVertexArrayObjectOES.idl:
  64779. * html/canvas/WebKitLoseContext.idl:
  64780. * inspector/ScriptProfile.idl:
  64781. * inspector/ScriptProfileNode.idl:
  64782. * page/AbstractView.idl:
  64783. * page/BarInfo.idl:
  64784. * page/Coordinates.idl:
  64785. * page/Geoposition.idl:
  64786. * page/MemoryInfo.idl:
  64787. * page/NavigatorUserMediaError.idl:
  64788. * page/Performance.idl:
  64789. * page/PerformanceNavigation.idl:
  64790. * page/PerformanceTiming.idl:
  64791. * page/PositionError.idl:
  64792. * page/Screen.idl:
  64793. * page/SpeechInputEvent.idl:
  64794. * page/SpeechInputResult.idl:
  64795. * page/WebKitAnimation.idl:
  64796. * page/WebKitPoint.idl:
  64797. * page/WorkerNavigator.idl:
  64798. * plugins/DOMMimeType.idl:
  64799. * storage/Database.idl:
  64800. * storage/DatabaseSync.idl:
  64801. * storage/IDBAny.idl:
  64802. * storage/IDBCursorWithValue.idl:
  64803. * storage/IDBDatabaseError.idl:
  64804. * storage/IDBDatabaseException.idl:
  64805. * storage/IDBKey.idl:
  64806. * storage/IDBVersionChangeEvent.idl:
  64807. * storage/IDBVersionChangeRequest.idl:
  64808. * storage/SQLError.idl:
  64809. * storage/SQLException.idl:
  64810. * storage/SQLResultSet.idl:
  64811. * svg/SVGAElement.idl:
  64812. * svg/SVGAltGlyphElement.idl:
  64813. * svg/SVGAngle.idl:
  64814. * svg/SVGAnimateColorElement.idl:
  64815. * svg/SVGAnimateElement.idl:
  64816. * svg/SVGAnimateMotionElement.idl:
  64817. * svg/SVGAnimateTransformElement.idl:
  64818. * svg/SVGAnimatedAngle.idl:
  64819. * svg/SVGAnimatedBoolean.idl:
  64820. * svg/SVGAnimatedEnumeration.idl:
  64821. * svg/SVGAnimatedInteger.idl:
  64822. * svg/SVGAnimatedLength.idl:
  64823. * svg/SVGAnimatedLengthList.idl:
  64824. * svg/SVGAnimatedNumber.idl:
  64825. * svg/SVGAnimatedNumberList.idl:
  64826. * svg/SVGAnimatedPreserveAspectRatio.idl:
  64827. * svg/SVGAnimatedRect.idl:
  64828. * svg/SVGAnimatedString.idl:
  64829. * svg/SVGAnimatedTransformList.idl:
  64830. * svg/SVGCircleElement.idl:
  64831. * svg/SVGClipPathElement.idl:
  64832. * svg/SVGColor.idl:
  64833. * svg/SVGComponentTransferFunctionElement.idl:
  64834. * svg/SVGCursorElement.idl:
  64835. * svg/SVGDefsElement.idl:
  64836. * svg/SVGDescElement.idl:
  64837. * svg/SVGElement.idl:
  64838. * svg/SVGEllipseElement.idl:
  64839. * svg/SVGExternalResourcesRequired.idl:
  64840. * svg/SVGFEBlendElement.idl:
  64841. * svg/SVGFEColorMatrixElement.idl:
  64842. * svg/SVGFEComponentTransferElement.idl:
  64843. * svg/SVGFECompositeElement.idl:
  64844. * svg/SVGFEConvolveMatrixElement.idl:
  64845. * svg/SVGFEDiffuseLightingElement.idl:
  64846. * svg/SVGFEDisplacementMapElement.idl:
  64847. * svg/SVGFEDistantLightElement.idl:
  64848. * svg/SVGFEFloodElement.idl:
  64849. * svg/SVGFEFuncAElement.idl:
  64850. * svg/SVGFEFuncBElement.idl:
  64851. * svg/SVGFEFuncGElement.idl:
  64852. * svg/SVGFEFuncRElement.idl:
  64853. * svg/SVGFEImageElement.idl:
  64854. * svg/SVGFEMergeElement.idl:
  64855. * svg/SVGFEMergeNodeElement.idl:
  64856. * svg/SVGFEOffsetElement.idl:
  64857. * svg/SVGFEPointLightElement.idl:
  64858. * svg/SVGFESpecularLightingElement.idl:
  64859. * svg/SVGFESpotLightElement.idl:
  64860. * svg/SVGFETileElement.idl:
  64861. * svg/SVGFETurbulenceElement.idl:
  64862. * svg/SVGFilterPrimitiveStandardAttributes.idl:
  64863. * svg/SVGFitToViewBox.idl:
  64864. * svg/SVGFontElement.idl:
  64865. * svg/SVGFontFaceElement.idl:
  64866. * svg/SVGFontFaceFormatElement.idl:
  64867. * svg/SVGFontFaceNameElement.idl:
  64868. * svg/SVGFontFaceSrcElement.idl:
  64869. * svg/SVGFontFaceUriElement.idl:
  64870. * svg/SVGForeignObjectElement.idl:
  64871. * svg/SVGGElement.idl:
  64872. * svg/SVGGlyphElement.idl:
  64873. * svg/SVGGradientElement.idl:
  64874. * svg/SVGHKernElement.idl:
  64875. * svg/SVGImageElement.idl:
  64876. * svg/SVGLangSpace.idl:
  64877. * svg/SVGLength.idl:
  64878. * svg/SVGLengthList.idl:
  64879. * svg/SVGLineElement.idl:
  64880. * svg/SVGLinearGradientElement.idl:
  64881. * svg/SVGMPathElement.idl:
  64882. * svg/SVGMaskElement.idl:
  64883. * svg/SVGMatrix.idl:
  64884. * svg/SVGMetadataElement.idl:
  64885. * svg/SVGMissingGlyphElement.idl:
  64886. * svg/SVGNumber.idl:
  64887. * svg/SVGNumberList.idl:
  64888. * svg/SVGPaint.idl:
  64889. * svg/SVGPathSeg.idl:
  64890. * svg/SVGPathSegArcAbs.idl:
  64891. * svg/SVGPathSegArcRel.idl:
  64892. * svg/SVGPathSegClosePath.idl:
  64893. * svg/SVGPathSegCurvetoCubicAbs.idl:
  64894. * svg/SVGPathSegCurvetoCubicRel.idl:
  64895. * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
  64896. * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
  64897. * svg/SVGPathSegCurvetoQuadraticAbs.idl:
  64898. * svg/SVGPathSegCurvetoQuadraticRel.idl:
  64899. * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
  64900. * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
  64901. * svg/SVGPathSegLinetoAbs.idl:
  64902. * svg/SVGPathSegLinetoHorizontalAbs.idl:
  64903. * svg/SVGPathSegLinetoHorizontalRel.idl:
  64904. * svg/SVGPathSegLinetoRel.idl:
  64905. * svg/SVGPathSegLinetoVerticalAbs.idl:
  64906. * svg/SVGPathSegLinetoVerticalRel.idl:
  64907. * svg/SVGPathSegList.idl:
  64908. * svg/SVGPathSegMovetoAbs.idl:
  64909. * svg/SVGPathSegMovetoRel.idl:
  64910. * svg/SVGPatternElement.idl:
  64911. * svg/SVGPoint.idl:
  64912. * svg/SVGPointList.idl:
  64913. * svg/SVGPolygonElement.idl:
  64914. * svg/SVGPolylineElement.idl:
  64915. * svg/SVGPreserveAspectRatio.idl:
  64916. * svg/SVGRadialGradientElement.idl:
  64917. * svg/SVGRect.idl:
  64918. * svg/SVGRectElement.idl:
  64919. * svg/SVGRenderingIntent.idl:
  64920. * svg/SVGScriptElement.idl:
  64921. * svg/SVGSetElement.idl:
  64922. * svg/SVGStopElement.idl:
  64923. * svg/SVGStringList.idl:
  64924. * svg/SVGSwitchElement.idl:
  64925. * svg/SVGSymbolElement.idl:
  64926. * svg/SVGTRefElement.idl:
  64927. * svg/SVGTSpanElement.idl:
  64928. * svg/SVGTextElement.idl:
  64929. * svg/SVGTextPathElement.idl:
  64930. * svg/SVGTextPositioningElement.idl:
  64931. * svg/SVGTitleElement.idl:
  64932. * svg/SVGTransform.idl:
  64933. * svg/SVGTransformList.idl:
  64934. * svg/SVGTransformable.idl:
  64935. * svg/SVGURIReference.idl:
  64936. * svg/SVGUnitTypes.idl:
  64937. * svg/SVGUseElement.idl:
  64938. * svg/SVGVKernElement.idl:
  64939. * svg/SVGViewElement.idl:
  64940. * svg/SVGViewSpec.idl:
  64941. * svg/SVGZoomAndPan.idl:
  64942. * svg/SVGZoomEvent.idl:
  64943. * testing/Internals.idl:
  64944. * webaudio/AudioChannelMerger.idl:
  64945. * webaudio/AudioChannelSplitter.idl:
  64946. * webaudio/AudioDestinationNode.idl:
  64947. * webaudio/AudioGain.idl:
  64948. * webaudio/AudioGainNode.idl:
  64949. * webaudio/AudioProcessingEvent.idl:
  64950. * webaudio/AudioSourceNode.idl:
  64951. * webaudio/BiquadFilterNode.idl:
  64952. * webaudio/ConvolverNode.idl:
  64953. * webaudio/DelayNode.idl:
  64954. * webaudio/DynamicsCompressorNode.idl:
  64955. * webaudio/HighPass2FilterNode.idl:
  64956. * webaudio/JavaScriptAudioNode.idl:
  64957. * webaudio/LowPass2FilterNode.idl:
  64958. * webaudio/OfflineAudioCompletionEvent.idl:
  64959. * workers/SharedWorker.idl:
  64960. * workers/SharedWorkerContext.idl:
  64961. * workers/WorkerLocation.idl:
  64962. * xml/XMLHttpRequestException.idl:
  64963. * xml/XMLHttpRequestProgressEvent.idl:
  64964. * xml/XPathException.idl:
  64965. 2011-06-20 Alex Milowski <alex@milowski.com>
  64966. Reviewed by Darin Adler.
  64967. A change to mark wrapping blocks created by the renderer as anonymous to fix the crash for:
  64968. https://bugs.webkit.org/show_bug.cgi?id=57901
  64969. * rendering/mathml/RenderMathMLUnderOver.cpp:
  64970. (WebCore::RenderMathMLUnderOver::addChild):
  64971. (WebCore::RenderMathMLUnderOver::nonOperatorHeight):
  64972. 2011-06-20 Eric Seidel <eric@webkit.org>
  64973. Reviewed by Adam Barth.
  64974. buildbots should run run-bindings-tests
  64975. https://bugs.webkit.org/show_bug.cgi?id=63001
  64976. The test results were out of date, so I'm updating them.
  64977. (This is exactly the problem that making the buildbots run them will solve.)
  64978. * bindings/scripts/test/JS/JSTestObj.cpp:
  64979. (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
  64980. (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
  64981. * bindings/scripts/test/V8/V8TestCallback.cpp:
  64982. (WebCore::V8TestCallback::callbackWithStringList):
  64983. * bindings/scripts/test/V8/V8TestCallback.h:
  64984. * bindings/scripts/test/V8/V8TestInterface.cpp:
  64985. (WebCore::V8TestInterface::GetRawTemplate):
  64986. (WebCore::V8TestInterface::GetTemplate):
  64987. * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
  64988. (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
  64989. (WebCore::V8TestMediaQueryListListener::GetTemplate):
  64990. * bindings/scripts/test/V8/V8TestObj.cpp:
  64991. (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
  64992. (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
  64993. (WebCore::V8TestObj::GetRawTemplate):
  64994. (WebCore::V8TestObj::GetTemplate):
  64995. * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
  64996. (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
  64997. (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
  64998. 2011-06-20 Cary Clark <caryclark@google.com>
  64999. Reviewed by Eric Seidel.
  65000. Add Font interface to support Skia on Mac Chrome port
  65001. https://bugs.webkit.org/show_bug.cgi?id=62889
  65002. No new tests. This combination (using Skia as the
  65003. WebCore renderer on Chrome for Mac) is not yet
  65004. enabled, so adding this file has no functional
  65005. change. The corresponding changes to the gyp files
  65006. exclude FontSkia for all current builds.
  65007. * WebCore.gyp/WebCore.gyp:
  65008. Exclude FontSkia for all non-mac builds. An existing
  65009. rule excludes *Skia for mac builds.
  65010. * WebCore.gypi:
  65011. Add FontSkia to the list of files.
  65012. * platform/graphics/skia/FontSkia.cpp: Added.
  65013. (WebCore::Font::canReturnFallbackFontsForComplexText):
  65014. (WebCore::Font::canExpandAroundIdeographsInComplexText):
  65015. (WebCore::isCanvasMultiLayered):
  65016. (WebCore::adjustTextRenderMode):
  65017. (WebCore::setupPaint):
  65018. (WebCore::Font::drawGlyphs):
  65019. These functions are similar to their counterparts in
  65020. platform/graphics/chromium/FontLinux.cpp.
  65021. The differences are:
  65022. The setupPaint uses CTFont instead of FreeType.
  65023. The width/height font metrics have different accessors.
  65024. Harfbuzz is not needed in the Mac port.
  65025. 2011-06-20 Andras Becsi <abecsi@webkit.org>
  65026. Reviewed by Csaba Osztrogonác.
  65027. make-hash-tools.pl: Perl 5.14 compatibility
  65028. https://bugs.webkit.org/show_bug.cgi?id=61890
  65029. No new tests needed.
  65030. * make-hash-tools.pl: Use if/elsif instead of switch/case.
  65031. 2011-06-20 Kevin Ollivier <kevino@theolliviers.com>
  65032. [wx] Unreviewed build fix, fix the codepaths run under each CPU type.
  65033. * platform/image-decoders/wx/ImageDecoderWx.cpp:
  65034. (WebCore::ImageFrame::asNewNativeImage):
  65035. 2011-06-20 Ryosuke Niwa <rniwa@webkit.org>
  65036. Reviewed by Ojan Vafai.
  65037. FrameSelection::modify should take verticalDisplacement instead of verticalDistance
  65038. https://bugs.webkit.org/show_bug.cgi?id=62932
  65039. Added new VerticalDirection enum to the argument list of FrameSelection::modify that takes
  65040. verticalDistance. Also changed the type of verticalDistance from int to unsigned int
  65041. to accidentally pass a negative distance in the future.
  65042. * editing/EditorCommand.cpp:
  65043. (WebCore::verticalScrollDistance): Returns unsigned int instead of int.
  65044. (WebCore::executeMovePageDown): Calls FrameSelection::modify.
  65045. (WebCore::executeMovePageDownAndModifySelection): Ditto.
  65046. (WebCore::executeMovePageUp): Ditto.
  65047. (WebCore::executeMovePageUpAndModifySelection): Ditto.
  65048. * editing/FrameSelection.cpp:
  65049. (WebCore::FrameSelection::modify): Takes VerticalDirection as an argument.
  65050. * editing/FrameSelection.h:
  65051. 2011-06-20 Anders Carlsson <andersca@apple.com>
  65052. Reviewed by Adam Barth.
  65053. Don't use PassRefPtr variables in the V8 bindings generator
  65054. https://bugs.webkit.org/show_bug.cgi?id=62947
  65055. * bindings/scripts/CodeGeneratorV8.pm:
  65056. 2011-06-20 Adam Barth <abarth@webkit.org>
  65057. Reviewed by Alexey Proskuryakov.
  65058. ASSERT in WebCore::HTMLToken::appendToAttributeName when visiting www.nba.com
  65059. https://bugs.webkit.org/show_bug.cgi?id=61774
  65060. This ASSERT triggers for the same underlying issue that causes
  65061. Bug 62971: When we tokenize a </script> tag, we don't realize that
  65062. we've already consumed the "</script>" from the input stream when we
  65063. extracted the previous token. That causes the source tracker to be
  65064. out-of-sync, triggering the incorrect view-source highlighting and this
  65065. ASSERT.
  65066. For now, let's just silence the assert while we work on Bug 62971.
  65067. Test: fast/parser/attributes-on-close-script.html
  65068. * html/parser/HTMLToken.h:
  65069. (WebCore::HTMLToken::appendToAttributeName):
  65070. (WebCore::AtomicHTMLToken::initializeAttributes):
  65071. 2011-06-20 Andras Becsi <abecsi@webkit.org>
  65072. Unreviewed build fix.
  65073. [Qt][V8] Include missing UnusedParam.h.
  65074. No new tests needed.
  65075. * rendering/svg/SVGTextLayoutEngineSpacing.cpp:
  65076. 2011-06-20 Andras Becsi <abecsi@webkit.org>
  65077. Rubber-stamped by Csaba Osztrogonác.
  65078. [Qt][V8] Remove non-existing headers from project file.
  65079. No new tests needed.
  65080. * WebCore.pro: Remove ChildThreadDOMData.h and MainThreadDOMData.h,
  65081. since they have been already removed earlier from tree.
  65082. 2011-06-20 Carlos Garcia Campos <cgarcia@igalia.com>
  65083. Reviewed by Xan Lopez.
  65084. [GTK] Split libWebCore into two libWebCore and libWebCoreGtk
  65085. https://bugs.webkit.org/show_bug.cgi?id=60539
  65086. libWebCore contains all the webcore files except the ones actually
  65087. using gtk while libWebCoreGtk contains only the files using
  65088. gtk. It allows us to build a common WebCore lib and two different
  65089. gtk WebCore libs depending on the gtk version. In WeKit2 gtk2 is
  65090. not supported, but the plugin process needs to be built using gtk2
  65091. because plugins like flash still use gtk2. For WebKit2, we build
  65092. the common libWebCore and two libWebCoreGtk, one using gtk3 and
  65093. the other one using gtk2.
  65094. * GNUmakefile.am:
  65095. * GNUmakefile.list.am:
  65096. 2011-06-20 Mike Reed <reed@google.com>
  65097. Reviewed by Stephen White.
  65098. [Skia] remove repeated calls to setColor, which ignored global-alpha (previous setupPaintFor... already set the color+alpha)
  65099. https://bugs.webkit.org/show_bug.cgi?id=62988
  65100. No new tests. removing redundant calls
  65101. * platform/graphics/chromium/FontLinux.cpp:
  65102. (WebCore::Font::drawGlyphs):
  65103. 2011-06-19 Martin Robinson <mrobinson@igalia.com>
  65104. Reviewed by Xan Lopez.
  65105. [GTK] ASSERTION FAILED: it != gFontDataCache->end() in FontCache.cpp:318
  65106. https://bugs.webkit.org/show_bug.cgi?id=62942
  65107. Fix the == operator overload of the FreeType FontPlatformData to properly make the
  65108. distinction between the hash table deleted value and the hash table empty value.
  65109. No new tests. This is covered by existing tests, which should no longer
  65110. hit assertions.
  65111. * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
  65112. (WebCore::FontPlatformData::operator==): Reorder the logic for determining if two
  65113. FontPlatformData instances are equal. Do a pointer comparison on the Fontconfig patterns,
  65114. instead of using FcPatternEqual. If the two Fontconfig patterns have different pointers
  65115. they were created at different times and the overload should return false.
  65116. 2011-06-20 Ilya Tikhonovsky <loislo@chromium.org>
  65117. Reviewed by Yury Semikhatsky.
  65118. Web Inspector: It would be useful to be able to pause on element's style change.
  65119. https://bugs.webkit.org/show_bug.cgi?id=62982
  65120. Current workaround is to use mutation events but it's awkward and doesn't
  65121. compare _usability-wise_ to what could be implemented as native support in web inspector.
  65122. In complex applications, being able to see which code causes element to change its style is indispensable.
  65123. * inspector/InspectorDOMDebuggerAgent.cpp:
  65124. (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
  65125. * inspector/InspectorDOMDebuggerAgent.h:
  65126. * inspector/InspectorInstrumentation.cpp:
  65127. (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
  65128. 2011-06-19 Mads Ager <ager@chromium.org>
  65129. Reviewed by Adam Barth.
  65130. [V8] Fix WebGL bindings for subarrays
  65131. https://bugs.webkit.org/show_bug.cgi?id=62864
  65132. Mark WebGL subarrays as independent of other DOM objects in the
  65133. V8 bindings. This allows us to clean them up independently which
  65134. greatly improves performance.
  65135. * bindings/v8/V8Proxy.h:
  65136. (WebCore::toV8Independent):
  65137. * bindings/v8/custom/V8ArrayBufferViewCustom.h:
  65138. (WebCore::constructWebGLArrayWithArrayBufferArgument):
  65139. (WebCore::constructWebGLArray):
  65140. 2011-06-20 Yuta Kitamura <yutak@chromium.org>
  65141. Unreviewed build fix for Chromium Clang builders.
  65142. * platform/graphics/FontFallbackList.h: Declare SVGTextRunRenderingContext as class, not struct.
  65143. 2011-06-20 MORITA Hajime <morrita@google.com>
  65144. Unreviewed GTK build fix.
  65145. This change touched the file to make the build happen.
  65146. * dom/EventTarget.cpp:
  65147. 2011-06-20 Nikolas Zimmermann <nzimmermann@rim.com>
  65148. Reviewed by Rob Buis.
  65149. Integrate SVG Fonts within GlyphPage concept, removing the special SVG code paths from Font, making it possible to reuse the simple text code path for SVG Fonts
  65150. https://bugs.webkit.org/show_bug.cgi?id=59085
  65151. font substitution doesn't work for HTML text using SVG fonts
  65152. https://bugs.webkit.org/show_bug.cgi?id=17608
  65153. Selection rects are wrong for text with SVG fonts
  65154. https://bugs.webkit.org/show_bug.cgi?id=25460
  65155. With @font-face, SVG fonts only work as primary, non-segmented
  65156. https://bugs.webkit.org/show_bug.cgi?id=32227
  65157. When using SVG fonts with @font-face word-spacing and text-align: justify are not being honored
  65158. https://bugs.webkit.org/show_bug.cgi?id=34236
  65159. SVG @font-face breaks text-overflow: ellipsis
  65160. https://bugs.webkit.org/show_bug.cgi?id=36840
  65161. REGRESSION: SVG Font selection problems
  65162. https://bugs.webkit.org/show_bug.cgi?id=41934
  65163. Tests: svg/custom/svg-fonts-fallback.xhtml (for bug 17608, extended the original test from Mark Ambachtsheer)
  65164. svg/custom/svg-fonts-segmented.xhtml (for bug 32227)
  65165. svg/custom/svg-fonts-word-spacing.html (for bug 34236, from Michael Lewis)
  65166. svg/text/select-text-svgfont.html (for bug 25460/41934, from Emil Schutte)
  65167. svg/text/text-overflow-ellipsis-svgfont.html (for 36840, from Emil Schutte)
  65168. Rewrite the SVG Fonts support to fully integrate within the GlyphPage concept and the "simple" code path used to render platform fonts.
  65169. That means the special logic for measuring text using SVG Fonts, calculating offset for positions, computing selection rects etc. is all gone now.
  65170. There's no difference anymore between using a native font or a SVG Font, in terms of these operations.
  65171. This makes text selection using SVG Fonts possible again.
  65172. * features.pri: Temporarily turn of SVG Fonts for Qt, as long as QRawFont support is not available and the fast path is disabled.
  65173. * page/DOMWindow.idl: Touched file to force Qt regenerating the bindings.
  65174. * platform/graphics/Font.cpp: Remove SVG Font special cases, the simple code path now handles SVG Fonts as well.
  65175. (WebCore::Font::drawText):
  65176. (WebCore::Font::drawEmphasisMarks):
  65177. (WebCore::Font::width):
  65178. (WebCore::Font::selectionRectForText):
  65179. (WebCore::Font::offsetForPosition):
  65180. (WebCore::Font::codePath):
  65181. * platform/graphics/Font.h: Pass TextRun to drawGlyphBuffer/drawEmphasisMarks. Add new glyphDataAndPageForCharacter() method which returns a pair
  65182. std::pair<GlyphData, GlyphPage*>, so we know the associated GlyphPage for a certain GlyphData object, which is needed to properly
  65183. handle font fallback glyph matching for SVG Fonts..
  65184. (WebCore::Font::fontList): Add FontFallbackList accessor.
  65185. * platform/graphics/FontFallbackList.h: Add getters/setters for glyphPageZero -- SVG Fonts support needs access to these objects from SVGTextRunRenderingContext.
  65186. (WebCore::FontFallbackList::glyphPageZero):
  65187. (WebCore::FontFallbackList::glyphPages):
  65188. (WebCore::FontFallbackList::setGlyphPageZero):
  65189. (WebCore::FontFallbackList::setGlyphPages):
  65190. * platform/graphics/FontFastPath.cpp:
  65191. (WebCore::Font::glyphDataForCharacter): Move implementation to glyphDataAndPageForCharacter(), and use that method from here.
  65192. (WebCore::Font::glyphDataAndPageForCharacter): Does the same as before, just returns an additional GlyphPage* pointer.
  65193. (WebCore::Font::getEmphasisMarkGlyphData): Remove SVG Fonts special case.
  65194. (WebCore::Font::drawGlyphBuffer): Ditto.
  65195. * platform/graphics/FontMetrics.h:
  65196. (WebCore::scaleEmToUnits): Refactored scaleEmToUnits free function from SimpleFontDataMac/CGWin to share with SVGFontData/SVGTextRunRenderingContext.
  65197. * platform/graphics/GlyphPageTreeNode.cpp:
  65198. (WebCore::fill): Stop skipping SVG Fonts, they now also fill the GlyphPage using the glyphs defined in the SVG Font.
  65199. * platform/graphics/SVGGlyph.h: s/isValid/isPartOfLigature/. Its usage has been changed.
  65200. (WebCore::SVGGlyph::SVGGlyph):
  65201. (WebCore::SVGGlyph::operator==):
  65202. * platform/graphics/SimpleFontData.cpp: Change font size to be a float, not an int.
  65203. (WebCore::SimpleFontData::SimpleFontData):
  65204. * platform/graphics/SimpleFontData.h: Add new pure virtual methods to the AdditionalFontData interface, to be implemented in SVGFontData.
  65205. (WebCore::SimpleFontData::widthForGlyph): Call widthForSVGGlyph, if we encounter a SVG glyph.
  65206. * platform/graphics/TextRun.h:
  65207. * platform/graphics/WidthIterator.cpp:
  65208. (WebCore::WidthIterator::glyphDataForCharacter):
  65209. (WebCore::WidthIterator::advance):
  65210. * platform/graphics/WidthIterator.h: Store several new members needed for SVG Fonts support (last processed glyph name used for kerning pair lookup)
  65211. and a map mapping each character of a text to its arabic-form (if needed, to perform SVG glyph selection for Arabic text).
  65212. (WebCore::WidthIterator::run):
  65213. (WebCore::WidthIterator::runWidthSoFar):
  65214. (WebCore::WidthIterator::lastGlyphName):
  65215. (WebCore::WidthIterator::setLastGlyphName):
  65216. (WebCore::WidthIterator::arabicForms):
  65217. * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Use new scaleEmToUnits free function from FontMetrics.h.
  65218. * platform/graphics/mac/SimpleFontDataMac.mm: Ditto.
  65219. * platform/graphics/win/SimpleFontDataCGWin.cpp: Ditto.
  65220. * rendering/svg/SVGTextMetrics.cpp:
  65221. (WebCore::SVGTextMetrics::SVGTextMetrics):
  65222. (WebCore::constructTextRun):
  65223. (WebCore::SVGTextMetrics::measureCharacterRange):
  65224. * rendering/svg/SVGTextMetrics.h:
  65225. * rendering/svg/SVGTextRunRenderingContext.cpp: Remove drawTextUsingSVGFont/floatWidthUsingSVGFont/selectionRectForTextUsingSVGFont/offsetForPositionForTextUsingSVGFont.
  65226. (WebCore::firstParentRendererForNonTextNode): Don't assert node() exists, doesn't hold true for generated render objects.
  65227. (WebCore::renderObjectFromRun): Renamed from referencingRenderObjectFromRun.
  65228. (WebCore::SVGTextRunRenderingContext::floatWidthUsingSVGFont): Remove extra "extraCharsAvailable" parameter, now solves via TextRun::charactersLength().
  65229. (WebCore::calculateEmUnitToPixelScaleFactor): Add helper method.
  65230. (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs): Main drawing method, this actually creates/renders Paths.
  65231. (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): Part 1/2 of SVG Glyph selection code.
  65232. * rendering/svg/SVGTextRunRenderingContext.h:
  65233. * svg/SVGAltGlyphElement.cpp:
  65234. (WebCore::SVGAltGlyphElement::hasValidGlyphElement):
  65235. * svg/SVGAltGlyphElement.h:
  65236. * svg/SVGFontData.cpp:
  65237. (WebCore::calculateEmUnitToPixelScaleFactor): Add helper method.
  65238. (WebCore::SVGFontData::initializeFontData): Changed font size from int to float.
  65239. (WebCore::SVGFontData::widthForSVGGlyph): Lookup a SVGGlyph from a Glyph using the glyph table in SVGFontElement and calculate its width.
  65240. (WebCore::SVGFontData::applySVGGlyphSelection): Part 2/2 of SVG Glyph selection code.
  65241. (WebCore::SVGFontData::fillSVGGlyphPage): Fill GlyphPage using glyphs defined in the SVG Font.
  65242. * svg/SVGFontData.h:
  65243. * svg/SVGFontElement.cpp:
  65244. (WebCore::SVGFontElement::registerLigaturesInGlyphCache): Enable ligature registration for the use within GlyphPage.
  65245. (WebCore::SVGFontElement::ensureGlyphCache):
  65246. * svg/SVGGlyphMap.h:
  65247. (WebCore::SVGGlyphMap::addGlyphByUnicodeString): Remove setting isValid, it's not needed anymore and gone.
  65248. * svg/svgtags.in: Surround vkern in ENABLE_SVG_FONTS block.
  65249. 2011-06-19 MORITA Hajime <morrita@google.com>
  65250. Reviewed by Dimitri Glazkov.
  65251. The internals object should have createShadowContentElement()
  65252. https://bugs.webkit.org/show_bug.cgi?id=62432
  65253. This change:
  65254. - added Internals::createShadowContentElement(), which creates,
  65255. ShadowContentElement instance which includes all host children,
  65256. - added Internals::elementRenderTreeAsText() to help content layout testing, and
  65257. - Unabstracted ShadowContentElement by giving a default shouldInclude() implementation.
  65258. Test: fast/dom/shadow/create-content-element.html
  65259. * WebCore.exp.in:
  65260. * dom/ShadowContentElement.cpp:
  65261. (WebCore::ShadowContentElement::create): Added.
  65262. (WebCore::ShadowContentElement::ShadowContentElement):
  65263. (WebCore::ShadowContentElement::~ShadowContentElement):
  65264. (WebCore::ShadowContentElement::shouldInclude): Gave a default implementation which always returns true.
  65265. * dom/ShadowContentElement.h:
  65266. * html/HTMLSummaryElement.cpp:
  65267. (WebCore::SummaryContentElement::SummaryContentElement):
  65268. * rendering/RenderTreeAsText.cpp:
  65269. (WebCore::externalRepresentation): Factored out for supportin per-element render tree dump.
  65270. * rendering/RenderTreeAsText.h:
  65271. * testing/Internals.cpp:
  65272. (WebCore::Internals::createShadowContentElement): Added.
  65273. (WebCore::Internals::elementRenderTreeAsText): dded.
  65274. * testing/Internals.h:
  65275. * testing/Internals.idl:
  65276. 2011-06-19 Keishi Hattori <keishi@webkit.org>
  65277. Reviewed by Kent Tamura.
  65278. Clicking indeterminate checkbox should flip checkedness state
  65279. https://bugs.webkit.org/show_bug.cgi?id=62262
  65280. Test: fast/forms/checkbox-click-indeterminate.html
  65281. * html/CheckboxInputType.cpp:
  65282. (WebCore::CheckboxInputType::willDispatchClick): Changed to flip checked flag when indeterminate.
  65283. 2011-06-19 Adam Bergkvist <adam.bergkvist@ericsson.com>
  65284. Reviewed by Martin Robinson.
  65285. [GTK] Enable Media Stream feature and make it default on
  65286. https://bugs.webkit.org/show_bug.cgi?id=60394
  65287. * GNUmakefile.am:
  65288. 2011-06-19 Una Sabovic <una.sabovic@palm.com>
  65289. Reviewed by Darin Adler.
  65290. Optimization: avoid call to clearRect() when bgColor is valid when painting the root background in RenderBoxModelObject::paintFillLayerExtended
  65291. https://bugs.webkit.org/show_bug.cgi?id=62908
  65292. When root layers base color is fully transparent backgroundRect was cleared before bgColor is applied.
  65293. Instead of clearing the rect we apply CompositeCopy operation when painting the background color.
  65294. No new tests. This is an optimization, it doesn't change any existing functionality.
  65295. * platform/graphics/GraphicsContext.cpp:
  65296. (WebCore::GraphicsContext::fillRect):
  65297. * platform/graphics/GraphicsContext.h:
  65298. * rendering/RenderBoxModelObject.cpp:
  65299. (WebCore::RenderBoxModelObject::paintFillLayerExtended):
  65300. 2011-06-19 Dirk Schulze <krit@webkit.org>
  65301. Reviewed by Nikolas Zimmermann.
  65302. SVGAnimatorFactory does not support SVGNumber
  65303. https://bugs.webkit.org/show_bug.cgi?id=62938
  65304. Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
  65305. This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGNumber. With the new animator for the
  65306. With the new animator for SVGNumber we also support the scientific notation, and everything else that's supported by
  65307. the SVGNumber parsing, removing the SVGAnimate* specific number parsing functionality.
  65308. Moving the content of SVGAnimatedType header into its own cpp.
  65309. Changed behavior of parseNumberFromString(). It checks if the String simply consits of a number now. parseNumberFromString()
  65310. is using genericParseNumber() for parsing numbers. But this method just stops at the first char that does not belong to a number and
  65311. returns true. I added a check if the current char pointer is at the last char of the String and return false if not.
  65312. Tests: svg/animations/svgnumber-animation-1.html
  65313. svg/animations/svgnumber-animation-2.html
  65314. svg/animations/svgnumber-animation-3.html
  65315. * CMakeLists.txt: Added new files to build system.
  65316. * GNUmakefile.list.am: Ditto.
  65317. * WebCore.gypi: Ditto.
  65318. * WebCore.pro: Ditto.
  65319. * WebCore.xcodeproj/project.pbxproj: Ditto.
  65320. * svg/SVGAllInOne.cpp: Ditto.
  65321. * svg/SVGAnimateElement.cpp: Use SVGAnimatedNumberAnimator for animations of SVGNumbers.
  65322. (WebCore::SVGAnimateElement::SVGAnimateElement):
  65323. (WebCore::SVGAnimateElement::calculateAnimatedValue):
  65324. (WebCore::SVGAnimateElement::calculateFromAndToValues):
  65325. (WebCore::SVGAnimateElement::calculateFromAndByValues):
  65326. (WebCore::SVGAnimateElement::resetToBaseValue):
  65327. (WebCore::SVGAnimateElement::applyResultsToTarget):
  65328. (WebCore::SVGAnimateElement::calculateDistance):
  65329. * svg/SVGAnimateElement.h: Remove floats for value storage. This is done by SVGAnimatedTypes now.
  65330. * svg/SVGAnimatedNumber.cpp: Added. Animator for SVGNumbers.
  65331. (WebCore::SVGAnimatedNumberAnimator::SVGAnimatedNumberAnimator):
  65332. (WebCore::SVGAnimatedNumberAnimator::constructFromString):
  65333. (WebCore::SVGAnimatedNumberAnimator::calculateFromAndToValues):
  65334. (WebCore::SVGAnimatedNumberAnimator::calculateFromAndByValues):
  65335. (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue):
  65336. (WebCore::SVGAnimatedNumberAnimator::calculateDistance):
  65337. * svg/SVGAnimatedNumber.h:
  65338. (WebCore::SVGAnimatedNumberAnimator::~SVGAnimatedNumberAnimator):
  65339. * svg/SVGAnimatedType.cpp: Added. Moved content from header to cpp.
  65340. (WebCore::SVGAnimatedType::SVGAnimatedType):
  65341. (WebCore::SVGAnimatedType::~SVGAnimatedType):
  65342. (WebCore::SVGAnimatedType::createAngle):
  65343. (WebCore::SVGAnimatedType::createLength):
  65344. (WebCore::SVGAnimatedType::createNumber):
  65345. (WebCore::SVGAnimatedType::angle):
  65346. (WebCore::SVGAnimatedType::length):
  65347. (WebCore::SVGAnimatedType::number):
  65348. (WebCore::SVGAnimatedType::valueAsString):
  65349. (WebCore::SVGAnimatedType::setValueAsString):
  65350. * svg/SVGAnimatedType.h: Removed method create(). Allways call type specific create funtcions.
  65351. * svg/SVGAnimatorFactory.h:
  65352. (WebCore::SVGAnimatorFactory::create):
  65353. * svg/SVGParserUtilities.cpp:
  65354. (WebCore::parseNumberFromString): Check if String simply consits of a number. Return false otherwise.
  65355. 2011-06-18 Dimitri Glazkov <dglazkov@chromium.org>
  65356. Reviewed by Darin Adler.
  65357. Separate concerns of loading file icons and choosing files.
  65358. https://bugs.webkit.org/show_bug.cgi?id=62931
  65359. Loading an icon and choosing files have similar async nature, but completely different
  65360. lifetimes: FileChooser should only exist when we are actually attempting to choose a file,
  65361. not anytime we need to render an input with a proper icon.
  65362. This patch introduces FileIconLoader, a separate abstraction for loading an icon, and removes
  65363. any notion of an icon from the FileChooser.
  65364. Also, the loaded icon is now stored on the RenderFileUploadControl, which better matches its
  65365. purpose.
  65366. Refactoring, covered by existing tests.
  65367. * CMakeLists.txt: Added FileIconLoader to build system.
  65368. * GNUmakefile.list.am: Ditto.
  65369. * WebCore.exp.in: Updated.
  65370. * WebCore.gypi: Added FileIconLoader to build system.
  65371. * WebCore.pro: Ditto.
  65372. * WebCore.vcproj/WebCore.vcproj: Ditto.
  65373. * WebCore.xcodeproj/project.pbxproj: Ditto.
  65374. * loader/EmptyClients.h: Updated.
  65375. (WebCore::EmptyChromeClient::loadIconForFiles): Renamed function to better reflect what it does.
  65376. * page/Chrome.cpp:
  65377. (WebCore::Chrome::loadIconForFiles): Ditto.
  65378. * page/Chrome.h: Ditto.
  65379. * page/ChromeClient.h: Ditto.
  65380. * platform/FileChooser.cpp:
  65381. (WebCore::FileChooser::FileChooser): Removed now-unnecessary bool.
  65382. (WebCore::FileChooser::create): Removed the tangled web.
  65383. (WebCore::FileChooser::clear): Removed icon-related code.
  65384. (WebCore::FileChooser::chooseFiles): Ditto.
  65385. * platform/FileChooser.h:
  65386. * platform/FileIconLoader.cpp: Copied from Source/WebCore/platform/FileChooser.cpp.
  65387. (WebCore::FileIconLoaderClient::~FileIconLoaderClient): Added.
  65388. (WebCore::FileIconLoader::create): Added.
  65389. (WebCore::FileIconLoader::disconnectClient): Added.
  65390. (WebCore::FileIconLoader::notifyFinished): Added.
  65391. (WebCore::FileIconLoader::FileIconLoader): Added.
  65392. * platform/FileIconLoader.h: Copied from Source/WebCore/platform/FileChooser.cpp.
  65393. * rendering/RenderFileUploadControl.cpp:
  65394. (WebCore::RenderFileUploadControl::RenderFileUploadControl): Added new member initializations.
  65395. (WebCore::RenderFileUploadControl::~RenderFileUploadControl): Added FileIconLoader disconnect.s
  65396. (WebCore::RenderFileUploadControl::requestIcon): Added a helper.
  65397. (WebCore::RenderFileUploadControl::valueChanged): Changed to request an icon load.
  65398. (WebCore::RenderFileUploadControl::updateRendering): Added implementation of FileIconLoaderClient func.
  65399. (WebCore::RenderFileUploadControl::updateFromElement): Added clearing of icon.
  65400. (WebCore::RenderFileUploadControl::maxFilenameWidth): Changed to use new member directly.
  65401. (WebCore::RenderFileUploadControl::paintObject): Ditto.
  65402. (WebCore::RenderFileUploadControl::fileTextValue): Ditto.
  65403. * rendering/RenderFileUploadControl.h: Updated decls.
  65404. 2011-06-19 Michael Saboff <msaboff@apple.com>
  65405. Reviewed by Darin Adler.
  65406. Add notify handler to trigger MemoryPressureHandler in all builds
  65407. https://bugs.webkit.org/show_bug.cgi?id=62679
  65408. Removed SIGUSR2 trigger and added a notify trigger for the
  65409. MemoryPressureHandler. The notify trigger is enabled for all builds.
  65410. No test added as only added new memory pressure trigger.
  65411. * platform/mac/MemoryPressureHandlerMac.mm:
  65412. (WebCore::MemoryPressureHandler::install):
  65413. 2011-06-19 Robert Hogan <robert@webkit.org>
  65414. Reviewed by Alexey Proskuryakov.
  65415. [Qt] Qt Counterpart for http://trac.webkit.org/changeset/42078
  65416. https://bugs.webkit.org/show_bug.cgi?id=62514
  65417. * platform/network/qt/ResourceHandleQt.cpp:
  65418. (WebCore::WebCoreSynchronousLoader::willSendRequest):
  65419. 2011-06-18 Yufeng Shen <miletus@chromium.org>
  65420. Reviewed by Darin Fisher.
  65421. Adding "force" filed to Touch Event
  65422. https://bugs.webkit.org/show_bug.cgi?id=62766
  65423. * dom/Document.cpp:
  65424. (WebCore::Document::createTouch):
  65425. * dom/Document.h:
  65426. * dom/Document.idl:
  65427. * dom/Touch.cpp:
  65428. (WebCore::Touch::Touch):
  65429. * dom/Touch.h:
  65430. (WebCore::Touch::create):
  65431. (WebCore::Touch::webkitForce):
  65432. * dom/Touch.idl:
  65433. * page/EventHandler.cpp:
  65434. (WebCore::EventHandler::handleTouchEvent):
  65435. * platform/PlatformTouchPoint.h:
  65436. (WebCore::PlatformTouchPoint::force):
  65437. 2011-06-18 Jer Noble <jer.noble@apple.com>
  65438. Reviewed by Darin Adler.
  65439. Rename Document::setContainsFullScreenElementRecursively
  65440. https://bugs.webkit.org/show_bug.cgi?id=62528
  65441. No new tests; no net change in functionality, so this is covered by existing tests.
  65442. The name of setContainsFullScreenElementRecursively is confusing, since it doesn't actually use
  65443. recursion, and it walks the ancestor tree instead of the descendent tree (as recursive might
  65444. otherwise imply). Move the function into Element, turn it into a member function, and change
  65445. the behavior so that the function operates on the called object's parents (as opposed to the
  65446. object itself).
  65447. * dom/Element.h:
  65448. * dom/Element.cpp:
  65449. (WebCore::parentCrossingFrameBoundaries): Added.
  65450. (WebCore::Element::setContainsFullScreenElementOnAncestorsCrossingFrameBoundaries): Renamed and
  65451. moved from Document.
  65452. (WebCore::Element::willRemove): Use the newly renamed function.
  65453. (WebCore::Element::insertedIntoTree): Ditto.
  65454. * dom/Document.h:
  65455. * dom/Document.cpp:
  65456. (WebCore::Document::webkitWillEnterFullScreenForElement): Ditto.
  65457. (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
  65458. (WebCore::Document::fullScreenElementRemoved): Ditto.
  65459. 2011-06-18 Alice Boxhall <aboxhall@chromium.org>
  65460. Reviewed by Chris Fleizach.
  65461. Accessibility description for an element should make use of aria-labelledby.
  65462. https://bugs.webkit.org/show_bug.cgi?id=61995
  65463. Tests: accessibility/aria-labelledby-overrides-aria-label.html
  65464. * accessibility/AccessibilityRenderObject.cpp:
  65465. (WebCore::AccessibilityRenderObject::title): Don't return value from aria-labelledby.
  65466. (WebCore::AccessibilityRenderObject::ariaAccessibilityDescription): Return value from aria-labelledby in preference to value from aria-label.
  65467. 2011-06-18 Christoph Mende <mende.christoph@gmail.com>
  65468. Reviewed by Darin Adler.
  65469. compilation fails with libpng-1.5
  65470. https://bugs.webkit.org/show_bug.cgi?id=61738
  65471. * platform/image-encoders/skia/PNGImageEncoder.cpp:
  65472. (WebCore::writeOutput): Use getter function instead of direct access
  65473. 2011-06-18 Jeremy Moskovich <jeremy@chromium.org>
  65474. Reviewed by Eric Seidel.
  65475. Set text-align:-webkit-match-parent for li elements in the default style sheet.
  65476. https://bugs.webkit.org/show_bug.cgi?id=57232
  65477. Test: fast/css/list-item-text-align.html
  65478. * css/html.css:
  65479. (li): Specify text-align:-webkit-match-parent .
  65480. 2011-06-18 Holger Hans Peter Freyther <holger@moiji-mobile.com>
  65481. Reviewed by Brent Fulgham.
  65482. [misc] JSC/wtf/text/*.h should not be included via #include ""
  65483. https://bugs.webkit.org/show_bug.cgi?id=60836
  65484. Adam Barth pointed out that one should not include files from
  65485. JavaScriptCore/wtf/text using #include "File.h". This change
  65486. is addressing it.
  65487. * CMakeListsEfl.txt: Remove JavaScriptCore/wtf/text.
  65488. * CMakeListsWinCE.txt: Remove JavaScriptCore/wtf/text.
  65489. * platform/graphics/freetype/FontCacheFreeType.cpp: Change CString.h include.
  65490. * platform/graphics/pango/FontCachePango.cpp: Change CString.h include.
  65491. * platform/graphics/wx/FontPlatformData.h: Change StringImpl.h include.
  65492. * platform/network/soup/ResourceHandleSoup.cpp: Change CString.h include.
  65493. * platform/network/soup/SocketStreamHandleSoup.cpp: Change CString.h include.
  65494. 2011-06-18 Sam Weinig <sam@webkit.org>
  65495. Reviewed by Darin Adler.
  65496. REGRESSION (r63854-63958): placeholder not shown for number inputs
  65497. https://bugs.webkit.org/show_bug.cgi?id=61095
  65498. Refactor HTMLInputElement supportsPlaceholder support to delegate to the
  65499. InputType. Make BaseTextInputType and NumberInputType return true, matching
  65500. the current HTML5 spec.
  65501. * html/BaseTextInputType.cpp:
  65502. (WebCore::BaseTextInputType::supportsPlaceholder):
  65503. * html/BaseTextInputType.h:
  65504. Add override implementation of supportsPlaceholder that returns true.
  65505. * html/HTMLInputElement.cpp:
  65506. (WebCore::HTMLInputElement::supportsPlaceholder):
  65507. Delegate to the InputType.
  65508. * html/InputType.cpp:
  65509. (WebCore::InputType::supportsPlaceholder):
  65510. * html/InputType.h:
  65511. Add base implementation of supportsPlaceholder that returns false.
  65512. * html/NumberInputType.cpp:
  65513. (WebCore::NumberInputType::supportsPlaceholder):
  65514. * html/NumberInputType.h:
  65515. Add override implementation of supportsPlaceholder that returns true.
  65516. 2011-06-18 Sheriff Bot <webkit.review.bot@gmail.com>
  65517. Unreviewed, rolling out r89154.
  65518. http://trac.webkit.org/changeset/89154
  65519. https://bugs.webkit.org/show_bug.cgi?id=62926
  65520. It broke debug build on Qt (Requested by Ossy_weekend on
  65521. #webkit).
  65522. * platform/network/qt/ResourceHandleQt.cpp:
  65523. 2011-06-18 Sheriff Bot <webkit.review.bot@gmail.com>
  65524. Unreviewed, rolling out r89189.
  65525. http://trac.webkit.org/changeset/89189
  65526. https://bugs.webkit.org/show_bug.cgi?id=62925
  65527. It broke Qt build (Requested by Ossy_weekend on #webkit).
  65528. * bindings/scripts/test/TestInterface.idl:
  65529. * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
  65530. * css/CSSCharsetRule.idl:
  65531. * css/CSSFontFaceRule.idl:
  65532. * css/CSSImportRule.idl:
  65533. * css/CSSPageRule.idl:
  65534. * css/CSSRule.idl:
  65535. * css/CSSStyleRule.idl:
  65536. * css/CSSUnknownRule.idl:
  65537. * css/CSSValue.idl:
  65538. * css/Counter.idl:
  65539. * css/RGBColor.idl:
  65540. * css/Rect.idl:
  65541. * css/StyleSheet.idl:
  65542. * css/WebKitCSSKeyframeRule.idl:
  65543. * css/WebKitCSSTransformValue.idl:
  65544. * dom/Attr.idl:
  65545. * dom/CDATASection.idl:
  65546. * dom/ClientRect.idl:
  65547. * dom/Comment.idl:
  65548. * dom/DOMCoreException.idl:
  65549. * dom/DOMStringMap.idl:
  65550. * dom/DocumentType.idl:
  65551. * dom/Entity.idl:
  65552. * dom/EntityReference.idl:
  65553. * dom/EventException.idl:
  65554. * dom/GeneratedStream.idl:
  65555. * dom/MessageChannel.idl:
  65556. * dom/NodeIterator.idl:
  65557. * dom/Notation.idl:
  65558. * dom/ProcessingInstruction.idl:
  65559. * dom/RangeException.idl:
  65560. * dom/Touch.idl:
  65561. * dom/TreeWalker.idl:
  65562. * fileapi/DOMFileSystem.idl:
  65563. * fileapi/DOMFileSystemSync.idl:
  65564. * fileapi/DirectoryReaderSync.idl:
  65565. * fileapi/File.idl:
  65566. * fileapi/FileEntrySync.idl:
  65567. * fileapi/FileError.idl:
  65568. * fileapi/FileException.idl:
  65569. * fileapi/Metadata.idl:
  65570. * fileapi/OperationNotAllowedException.idl:
  65571. * fileapi/WebKitFlags.idl:
  65572. * html/DOMSettableTokenList.idl:
  65573. * html/HTMLAppletElement.idl:
  65574. * html/HTMLAreaElement.idl:
  65575. * html/HTMLBRElement.idl:
  65576. * html/HTMLBaseElement.idl:
  65577. * html/HTMLBaseFontElement.idl:
  65578. * html/HTMLBlockquoteElement.idl:
  65579. * html/HTMLBodyElement.idl:
  65580. * html/HTMLDListElement.idl:
  65581. * html/HTMLDataListElement.idl:
  65582. * html/HTMLDetailsElement.idl:
  65583. * html/HTMLDirectoryElement.idl:
  65584. * html/HTMLEmbedElement.idl:
  65585. * html/HTMLFontElement.idl:
  65586. * html/HTMLFormElement.idl:
  65587. * html/HTMLFrameElement.idl:
  65588. * html/HTMLFrameSetElement.idl:
  65589. * html/HTMLHRElement.idl:
  65590. * html/HTMLHeadElement.idl:
  65591. * html/HTMLHeadingElement.idl:
  65592. * html/HTMLHtmlElement.idl:
  65593. * html/HTMLIFrameElement.idl:
  65594. * html/HTMLImageElement.idl:
  65595. * html/HTMLIsIndexElement.idl:
  65596. * html/HTMLLIElement.idl:
  65597. * html/HTMLLabelElement.idl:
  65598. * html/HTMLLegendElement.idl:
  65599. * html/HTMLLinkElement.idl:
  65600. * html/HTMLMapElement.idl:
  65601. * html/HTMLMarqueeElement.idl:
  65602. * html/HTMLMenuElement.idl:
  65603. * html/HTMLMetaElement.idl:
  65604. * html/HTMLMeterElement.idl:
  65605. * html/HTMLModElement.idl:
  65606. * html/HTMLOListElement.idl:
  65607. * html/HTMLOptGroupElement.idl:
  65608. * html/HTMLOptionElement.idl:
  65609. * html/HTMLParagraphElement.idl:
  65610. * html/HTMLParamElement.idl:
  65611. * html/HTMLPreElement.idl:
  65612. * html/HTMLProgressElement.idl:
  65613. * html/HTMLQuoteElement.idl:
  65614. * html/HTMLScriptElement.idl:
  65615. * html/HTMLSourceElement.idl:
  65616. * html/HTMLStyleElement.idl:
  65617. * html/HTMLTableCaptionElement.idl:
  65618. * html/HTMLTableCellElement.idl:
  65619. * html/HTMLTableColElement.idl:
  65620. * html/HTMLTitleElement.idl:
  65621. * html/HTMLTrackElement.idl:
  65622. * html/HTMLUListElement.idl:
  65623. * html/ImageData.idl:
  65624. * html/MediaError.idl:
  65625. * html/SpellcheckRange.idl:
  65626. * html/TextMetrics.idl:
  65627. * html/ValidityState.idl:
  65628. * html/VoidCallback.idl:
  65629. * html/canvas/ArrayBuffer.idl:
  65630. * html/canvas/ArrayBufferView.idl:
  65631. * html/canvas/CanvasPattern.idl:
  65632. * html/canvas/CanvasPixelArray.idl:
  65633. * html/canvas/CanvasRenderingContext.idl:
  65634. * html/canvas/DataView.idl:
  65635. * html/canvas/OESStandardDerivatives.idl:
  65636. * html/canvas/OESTextureFloat.idl:
  65637. * html/canvas/WebGLActiveInfo.idl:
  65638. * html/canvas/WebGLBuffer.idl:
  65639. * html/canvas/WebGLContextAttributes.idl:
  65640. * html/canvas/WebGLFramebuffer.idl:
  65641. * html/canvas/WebGLProgram.idl:
  65642. * html/canvas/WebGLRenderbuffer.idl:
  65643. * html/canvas/WebGLShader.idl:
  65644. * html/canvas/WebGLTexture.idl:
  65645. * html/canvas/WebGLUniformLocation.idl:
  65646. * html/canvas/WebGLVertexArrayObjectOES.idl:
  65647. * html/canvas/WebKitLoseContext.idl:
  65648. * inspector/ScriptProfile.idl:
  65649. * inspector/ScriptProfileNode.idl:
  65650. * page/AbstractView.idl:
  65651. * page/BarInfo.idl:
  65652. * page/Coordinates.idl:
  65653. * page/Geoposition.idl:
  65654. * page/MemoryInfo.idl:
  65655. * page/NavigatorUserMediaError.idl:
  65656. * page/Performance.idl:
  65657. * page/PerformanceNavigation.idl:
  65658. * page/PerformanceTiming.idl:
  65659. * page/PositionError.idl:
  65660. * page/Screen.idl:
  65661. * page/SpeechInputEvent.idl:
  65662. * page/SpeechInputResult.idl:
  65663. * page/WebKitAnimation.idl:
  65664. * page/WebKitPoint.idl:
  65665. * page/WorkerNavigator.idl:
  65666. * plugins/DOMMimeType.idl:
  65667. * storage/Database.idl:
  65668. * storage/DatabaseSync.idl:
  65669. * storage/IDBAny.idl:
  65670. * storage/IDBCursorWithValue.idl:
  65671. * storage/IDBDatabaseError.idl:
  65672. * storage/IDBDatabaseException.idl:
  65673. * storage/IDBKey.idl:
  65674. * storage/IDBVersionChangeEvent.idl:
  65675. * storage/IDBVersionChangeRequest.idl:
  65676. * storage/SQLError.idl:
  65677. * storage/SQLException.idl:
  65678. * storage/SQLResultSet.idl:
  65679. * svg/SVGAElement.idl:
  65680. * svg/SVGAltGlyphElement.idl:
  65681. * svg/SVGAngle.idl:
  65682. * svg/SVGAnimateColorElement.idl:
  65683. * svg/SVGAnimateElement.idl:
  65684. * svg/SVGAnimateMotionElement.idl:
  65685. * svg/SVGAnimateTransformElement.idl:
  65686. * svg/SVGAnimatedAngle.idl:
  65687. * svg/SVGAnimatedBoolean.idl:
  65688. * svg/SVGAnimatedEnumeration.idl:
  65689. * svg/SVGAnimatedInteger.idl:
  65690. * svg/SVGAnimatedLength.idl:
  65691. * svg/SVGAnimatedLengthList.idl:
  65692. * svg/SVGAnimatedNumber.idl:
  65693. * svg/SVGAnimatedNumberList.idl:
  65694. * svg/SVGAnimatedPreserveAspectRatio.idl:
  65695. * svg/SVGAnimatedRect.idl:
  65696. * svg/SVGAnimatedString.idl:
  65697. * svg/SVGAnimatedTransformList.idl:
  65698. * svg/SVGCircleElement.idl:
  65699. * svg/SVGClipPathElement.idl:
  65700. * svg/SVGColor.idl:
  65701. * svg/SVGComponentTransferFunctionElement.idl:
  65702. * svg/SVGCursorElement.idl:
  65703. * svg/SVGDefsElement.idl:
  65704. * svg/SVGDescElement.idl:
  65705. * svg/SVGElement.idl:
  65706. * svg/SVGEllipseElement.idl:
  65707. * svg/SVGExternalResourcesRequired.idl:
  65708. * svg/SVGFEBlendElement.idl:
  65709. * svg/SVGFEColorMatrixElement.idl:
  65710. * svg/SVGFEComponentTransferElement.idl:
  65711. * svg/SVGFECompositeElement.idl:
  65712. * svg/SVGFEConvolveMatrixElement.idl:
  65713. * svg/SVGFEDiffuseLightingElement.idl:
  65714. * svg/SVGFEDisplacementMapElement.idl:
  65715. * svg/SVGFEDistantLightElement.idl:
  65716. * svg/SVGFEFloodElement.idl:
  65717. * svg/SVGFEFuncAElement.idl:
  65718. * svg/SVGFEFuncBElement.idl:
  65719. * svg/SVGFEFuncGElement.idl:
  65720. * svg/SVGFEFuncRElement.idl:
  65721. * svg/SVGFEImageElement.idl:
  65722. * svg/SVGFEMergeElement.idl:
  65723. * svg/SVGFEMergeNodeElement.idl:
  65724. * svg/SVGFEOffsetElement.idl:
  65725. * svg/SVGFEPointLightElement.idl:
  65726. * svg/SVGFESpecularLightingElement.idl:
  65727. * svg/SVGFESpotLightElement.idl:
  65728. * svg/SVGFETileElement.idl:
  65729. * svg/SVGFETurbulenceElement.idl:
  65730. * svg/SVGFilterPrimitiveStandardAttributes.idl:
  65731. * svg/SVGFitToViewBox.idl:
  65732. * svg/SVGFontElement.idl:
  65733. * svg/SVGFontFaceElement.idl:
  65734. * svg/SVGFontFaceFormatElement.idl:
  65735. * svg/SVGFontFaceNameElement.idl:
  65736. * svg/SVGFontFaceSrcElement.idl:
  65737. * svg/SVGFontFaceUriElement.idl:
  65738. * svg/SVGForeignObjectElement.idl:
  65739. * svg/SVGGElement.idl:
  65740. * svg/SVGGlyphElement.idl:
  65741. * svg/SVGGradientElement.idl:
  65742. * svg/SVGHKernElement.idl:
  65743. * svg/SVGImageElement.idl:
  65744. * svg/SVGLangSpace.idl:
  65745. * svg/SVGLength.idl:
  65746. * svg/SVGLengthList.idl:
  65747. * svg/SVGLineElement.idl:
  65748. * svg/SVGLinearGradientElement.idl:
  65749. * svg/SVGMPathElement.idl:
  65750. * svg/SVGMaskElement.idl:
  65751. * svg/SVGMatrix.idl:
  65752. * svg/SVGMetadataElement.idl:
  65753. * svg/SVGMissingGlyphElement.idl:
  65754. * svg/SVGNumber.idl:
  65755. * svg/SVGNumberList.idl:
  65756. * svg/SVGPaint.idl:
  65757. * svg/SVGPathSeg.idl:
  65758. * svg/SVGPathSegArcAbs.idl:
  65759. * svg/SVGPathSegArcRel.idl:
  65760. * svg/SVGPathSegClosePath.idl:
  65761. * svg/SVGPathSegCurvetoCubicAbs.idl:
  65762. * svg/SVGPathSegCurvetoCubicRel.idl:
  65763. * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
  65764. * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
  65765. * svg/SVGPathSegCurvetoQuadraticAbs.idl:
  65766. * svg/SVGPathSegCurvetoQuadraticRel.idl:
  65767. * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
  65768. * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
  65769. * svg/SVGPathSegLinetoAbs.idl:
  65770. * svg/SVGPathSegLinetoHorizontalAbs.idl:
  65771. * svg/SVGPathSegLinetoHorizontalRel.idl:
  65772. * svg/SVGPathSegLinetoRel.idl:
  65773. * svg/SVGPathSegLinetoVerticalAbs.idl:
  65774. * svg/SVGPathSegLinetoVerticalRel.idl:
  65775. * svg/SVGPathSegList.idl:
  65776. * svg/SVGPathSegMovetoAbs.idl:
  65777. * svg/SVGPathSegMovetoRel.idl:
  65778. * svg/SVGPatternElement.idl:
  65779. * svg/SVGPoint.idl:
  65780. * svg/SVGPointList.idl:
  65781. * svg/SVGPolygonElement.idl:
  65782. * svg/SVGPolylineElement.idl:
  65783. * svg/SVGPreserveAspectRatio.idl:
  65784. * svg/SVGRadialGradientElement.idl:
  65785. * svg/SVGRect.idl:
  65786. * svg/SVGRectElement.idl:
  65787. * svg/SVGRenderingIntent.idl:
  65788. * svg/SVGScriptElement.idl:
  65789. * svg/SVGSetElement.idl:
  65790. * svg/SVGStopElement.idl:
  65791. * svg/SVGStringList.idl:
  65792. * svg/SVGSwitchElement.idl:
  65793. * svg/SVGSymbolElement.idl:
  65794. * svg/SVGTRefElement.idl:
  65795. * svg/SVGTSpanElement.idl:
  65796. * svg/SVGTextElement.idl:
  65797. * svg/SVGTextPathElement.idl:
  65798. * svg/SVGTextPositioningElement.idl:
  65799. * svg/SVGTitleElement.idl:
  65800. * svg/SVGTransform.idl:
  65801. * svg/SVGTransformList.idl:
  65802. * svg/SVGTransformable.idl:
  65803. * svg/SVGURIReference.idl:
  65804. * svg/SVGUnitTypes.idl:
  65805. * svg/SVGUseElement.idl:
  65806. * svg/SVGVKernElement.idl:
  65807. * svg/SVGViewElement.idl:
  65808. * svg/SVGViewSpec.idl:
  65809. * svg/SVGZoomAndPan.idl:
  65810. * svg/SVGZoomEvent.idl:
  65811. * testing/Internals.idl:
  65812. * webaudio/AudioChannelMerger.idl:
  65813. * webaudio/AudioChannelSplitter.idl:
  65814. * webaudio/AudioDestinationNode.idl:
  65815. * webaudio/AudioGain.idl:
  65816. * webaudio/AudioGainNode.idl:
  65817. * webaudio/AudioProcessingEvent.idl:
  65818. * webaudio/AudioSourceNode.idl:
  65819. * webaudio/BiquadFilterNode.idl:
  65820. * webaudio/ConvolverNode.idl:
  65821. * webaudio/DelayNode.idl:
  65822. * webaudio/DynamicsCompressorNode.idl:
  65823. * webaudio/HighPass2FilterNode.idl:
  65824. * webaudio/JavaScriptAudioNode.idl:
  65825. * webaudio/LowPass2FilterNode.idl:
  65826. * webaudio/OfflineAudioCompletionEvent.idl:
  65827. * workers/SharedWorker.idl:
  65828. * workers/SharedWorkerContext.idl:
  65829. * workers/WorkerLocation.idl:
  65830. * xml/XMLHttpRequestException.idl:
  65831. * xml/XMLHttpRequestProgressEvent.idl:
  65832. * xml/XPathException.idl:
  65833. 2011-06-17 Mark Pilgrim <pilgrim@chromium.org>
  65834. Reviewed by Darin Adler.
  65835. Remove LegacyDefaultOptionalArguments flag from IDL files where it would not change behavior
  65836. https://bugs.webkit.org/show_bug.cgi?id=62904
  65837. After bug 62750, there are many IDL files that contain the new
  65838. LegacyDefaultOptionalArguments flag that don't actually need it.
  65839. Some examples:
  65840. - the IDL file contains no functions
  65841. - the IDL file contains only functions with no arguments
  65842. - the IDL file contains functions, *all* of which use the
  65843. [RequiresAllArguments=raise] extended attribute
  65844. This patch simplifies such IDL files by removing the
  65845. LegacyDefaultOptionalArguments flag and (if needed) removing the
  65846. [RequiresAllArguments=raise] extended attribute from each function
  65847. declaration. This patch does not make any required arguments optional
  65848. or any optional arguments required. It changes no behavior at all.
  65849. No new tests needed, all existing tests pass.
  65850. * bindings/scripts/test/TestInterface.idl:
  65851. * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
  65852. * css/CSSCharsetRule.idl:
  65853. * css/CSSFontFaceRule.idl:
  65854. * css/CSSImportRule.idl:
  65855. * css/CSSPageRule.idl:
  65856. * css/CSSRule.idl:
  65857. * css/CSSStyleRule.idl:
  65858. * css/CSSUnknownRule.idl:
  65859. * css/CSSValue.idl:
  65860. * css/Counter.idl:
  65861. * css/RGBColor.idl:
  65862. * css/Rect.idl:
  65863. * css/StyleSheet.idl:
  65864. * css/WebKitCSSKeyframeRule.idl:
  65865. * css/WebKitCSSTransformValue.idl:
  65866. * dom/Attr.idl:
  65867. * dom/CDATASection.idl:
  65868. * dom/ClientRect.idl:
  65869. * dom/Comment.idl:
  65870. * dom/DOMCoreException.idl:
  65871. * dom/DOMStringMap.idl:
  65872. * dom/DocumentType.idl:
  65873. * dom/Entity.idl:
  65874. * dom/EntityReference.idl:
  65875. * dom/EventException.idl:
  65876. * dom/GeneratedStream.idl:
  65877. * dom/MessageChannel.idl:
  65878. * dom/NodeIterator.idl:
  65879. * dom/Notation.idl:
  65880. * dom/ProcessingInstruction.idl:
  65881. * dom/RangeException.idl:
  65882. * dom/Touch.idl:
  65883. * dom/TreeWalker.idl:
  65884. * fileapi/DOMFileSystem.idl:
  65885. * fileapi/DOMFileSystemSync.idl:
  65886. * fileapi/DirectoryReaderSync.idl:
  65887. * fileapi/File.idl:
  65888. * fileapi/FileEntrySync.idl:
  65889. * fileapi/FileError.idl:
  65890. * fileapi/FileException.idl:
  65891. * fileapi/Metadata.idl:
  65892. * fileapi/OperationNotAllowedException.idl:
  65893. * fileapi/WebKitFlags.idl:
  65894. * html/DOMSettableTokenList.idl:
  65895. * html/HTMLAppletElement.idl:
  65896. * html/HTMLAreaElement.idl:
  65897. * html/HTMLBRElement.idl:
  65898. * html/HTMLBaseElement.idl:
  65899. * html/HTMLBaseFontElement.idl:
  65900. * html/HTMLBlockquoteElement.idl:
  65901. * html/HTMLBodyElement.idl:
  65902. * html/HTMLDListElement.idl:
  65903. * html/HTMLDataListElement.idl:
  65904. * html/HTMLDetailsElement.idl:
  65905. * html/HTMLDirectoryElement.idl:
  65906. * html/HTMLEmbedElement.idl:
  65907. * html/HTMLFontElement.idl:
  65908. * html/HTMLFormElement.idl:
  65909. * html/HTMLFrameElement.idl:
  65910. * html/HTMLFrameSetElement.idl:
  65911. * html/HTMLHRElement.idl:
  65912. * html/HTMLHeadElement.idl:
  65913. * html/HTMLHeadingElement.idl:
  65914. * html/HTMLHtmlElement.idl:
  65915. * html/HTMLIFrameElement.idl:
  65916. * html/HTMLImageElement.idl:
  65917. * html/HTMLIsIndexElement.idl:
  65918. * html/HTMLLIElement.idl:
  65919. * html/HTMLLabelElement.idl:
  65920. * html/HTMLLegendElement.idl:
  65921. * html/HTMLLinkElement.idl:
  65922. * html/HTMLMapElement.idl:
  65923. * html/HTMLMarqueeElement.idl:
  65924. * html/HTMLMenuElement.idl:
  65925. * html/HTMLMetaElement.idl:
  65926. * html/HTMLMeterElement.idl:
  65927. * html/HTMLModElement.idl:
  65928. * html/HTMLOListElement.idl:
  65929. * html/HTMLOptGroupElement.idl:
  65930. * html/HTMLOptionElement.idl:
  65931. * html/HTMLParagraphElement.idl:
  65932. * html/HTMLParamElement.idl:
  65933. * html/HTMLPreElement.idl:
  65934. * html/HTMLProgressElement.idl:
  65935. * html/HTMLQuoteElement.idl:
  65936. * html/HTMLScriptElement.idl:
  65937. * html/HTMLSourceElement.idl:
  65938. * html/HTMLStyleElement.idl:
  65939. * html/HTMLTableCaptionElement.idl:
  65940. * html/HTMLTableCellElement.idl:
  65941. * html/HTMLTableColElement.idl:
  65942. * html/HTMLTitleElement.idl:
  65943. * html/HTMLTrackElement.idl:
  65944. * html/HTMLUListElement.idl:
  65945. * html/ImageData.idl:
  65946. * html/MediaError.idl:
  65947. * html/SpellcheckRange.idl:
  65948. * html/TextMetrics.idl:
  65949. * html/ValidityState.idl:
  65950. * html/VoidCallback.idl:
  65951. * html/canvas/ArrayBuffer.idl:
  65952. * html/canvas/ArrayBufferView.idl:
  65953. * html/canvas/CanvasPattern.idl:
  65954. * html/canvas/CanvasPixelArray.idl:
  65955. * html/canvas/CanvasRenderingContext.idl:
  65956. * html/canvas/DataView.idl:
  65957. * html/canvas/OESStandardDerivatives.idl:
  65958. * html/canvas/OESTextureFloat.idl:
  65959. * html/canvas/WebGLActiveInfo.idl:
  65960. * html/canvas/WebGLBuffer.idl:
  65961. * html/canvas/WebGLContextAttributes.idl:
  65962. * html/canvas/WebGLFramebuffer.idl:
  65963. * html/canvas/WebGLProgram.idl:
  65964. * html/canvas/WebGLRenderbuffer.idl:
  65965. * html/canvas/WebGLShader.idl:
  65966. * html/canvas/WebGLTexture.idl:
  65967. * html/canvas/WebGLUniformLocation.idl:
  65968. * html/canvas/WebGLVertexArrayObjectOES.idl:
  65969. * html/canvas/WebKitLoseContext.idl:
  65970. * inspector/ScriptProfile.idl:
  65971. * inspector/ScriptProfileNode.idl:
  65972. * page/AbstractView.idl:
  65973. * page/BarInfo.idl:
  65974. * page/Coordinates.idl:
  65975. * page/Geoposition.idl:
  65976. * page/MemoryInfo.idl:
  65977. * page/NavigatorUserMediaError.idl:
  65978. * page/Performance.idl:
  65979. * page/PerformanceNavigation.idl:
  65980. * page/PerformanceTiming.idl:
  65981. * page/PositionError.idl:
  65982. * page/Screen.idl:
  65983. * page/SpeechInputEvent.idl:
  65984. * page/SpeechInputResult.idl:
  65985. * page/WebKitAnimation.idl:
  65986. * page/WebKitPoint.idl:
  65987. * page/WorkerNavigator.idl:
  65988. * plugins/DOMMimeType.idl:
  65989. * storage/Database.idl:
  65990. * storage/DatabaseSync.idl:
  65991. * storage/IDBAny.idl:
  65992. * storage/IDBCursorWithValue.idl:
  65993. * storage/IDBDatabaseError.idl:
  65994. * storage/IDBDatabaseException.idl:
  65995. * storage/IDBKey.idl:
  65996. * storage/IDBVersionChangeEvent.idl:
  65997. * storage/IDBVersionChangeRequest.idl:
  65998. * storage/SQLError.idl:
  65999. * storage/SQLException.idl:
  66000. * storage/SQLResultSet.idl:
  66001. * svg/SVGAElement.idl:
  66002. * svg/SVGAltGlyphElement.idl:
  66003. * svg/SVGAngle.idl:
  66004. * svg/SVGAnimateColorElement.idl:
  66005. * svg/SVGAnimateElement.idl:
  66006. * svg/SVGAnimateMotionElement.idl:
  66007. * svg/SVGAnimateTransformElement.idl:
  66008. * svg/SVGAnimatedAngle.idl:
  66009. * svg/SVGAnimatedBoolean.idl:
  66010. * svg/SVGAnimatedEnumeration.idl:
  66011. * svg/SVGAnimatedInteger.idl:
  66012. * svg/SVGAnimatedLength.idl:
  66013. * svg/SVGAnimatedLengthList.idl:
  66014. * svg/SVGAnimatedNumber.idl:
  66015. * svg/SVGAnimatedNumberList.idl:
  66016. * svg/SVGAnimatedPreserveAspectRatio.idl:
  66017. * svg/SVGAnimatedRect.idl:
  66018. * svg/SVGAnimatedString.idl:
  66019. * svg/SVGAnimatedTransformList.idl:
  66020. * svg/SVGCircleElement.idl:
  66021. * svg/SVGClipPathElement.idl:
  66022. * svg/SVGColor.idl:
  66023. * svg/SVGComponentTransferFunctionElement.idl:
  66024. * svg/SVGCursorElement.idl:
  66025. * svg/SVGDefsElement.idl:
  66026. * svg/SVGDescElement.idl:
  66027. * svg/SVGElement.idl:
  66028. * svg/SVGEllipseElement.idl:
  66029. * svg/SVGExternalResourcesRequired.idl:
  66030. * svg/SVGFEBlendElement.idl:
  66031. * svg/SVGFEColorMatrixElement.idl:
  66032. * svg/SVGFEComponentTransferElement.idl:
  66033. * svg/SVGFECompositeElement.idl:
  66034. * svg/SVGFEConvolveMatrixElement.idl:
  66035. * svg/SVGFEDiffuseLightingElement.idl:
  66036. * svg/SVGFEDisplacementMapElement.idl:
  66037. * svg/SVGFEDistantLightElement.idl:
  66038. * svg/SVGFEFloodElement.idl:
  66039. * svg/SVGFEFuncAElement.idl:
  66040. * svg/SVGFEFuncBElement.idl:
  66041. * svg/SVGFEFuncGElement.idl:
  66042. * svg/SVGFEFuncRElement.idl:
  66043. * svg/SVGFEImageElement.idl:
  66044. * svg/SVGFEMergeElement.idl:
  66045. * svg/SVGFEMergeNodeElement.idl:
  66046. * svg/SVGFEOffsetElement.idl:
  66047. * svg/SVGFEPointLightElement.idl:
  66048. * svg/SVGFESpecularLightingElement.idl:
  66049. * svg/SVGFESpotLightElement.idl:
  66050. * svg/SVGFETileElement.idl:
  66051. * svg/SVGFETurbulenceElement.idl:
  66052. * svg/SVGFilterPrimitiveStandardAttributes.idl:
  66053. * svg/SVGFitToViewBox.idl:
  66054. * svg/SVGFontElement.idl:
  66055. * svg/SVGFontFaceElement.idl:
  66056. * svg/SVGFontFaceFormatElement.idl:
  66057. * svg/SVGFontFaceNameElement.idl:
  66058. * svg/SVGFontFaceSrcElement.idl:
  66059. * svg/SVGFontFaceUriElement.idl:
  66060. * svg/SVGForeignObjectElement.idl:
  66061. * svg/SVGGElement.idl:
  66062. * svg/SVGGlyphElement.idl:
  66063. * svg/SVGGradientElement.idl:
  66064. * svg/SVGHKernElement.idl:
  66065. * svg/SVGImageElement.idl:
  66066. * svg/SVGLangSpace.idl:
  66067. * svg/SVGLength.idl:
  66068. * svg/SVGLengthList.idl:
  66069. * svg/SVGLineElement.idl:
  66070. * svg/SVGLinearGradientElement.idl:
  66071. * svg/SVGMPathElement.idl:
  66072. * svg/SVGMaskElement.idl:
  66073. * svg/SVGMatrix.idl:
  66074. * svg/SVGMetadataElement.idl:
  66075. * svg/SVGMissingGlyphElement.idl:
  66076. * svg/SVGNumber.idl:
  66077. * svg/SVGNumberList.idl:
  66078. * svg/SVGPaint.idl:
  66079. * svg/SVGPathSeg.idl:
  66080. * svg/SVGPathSegArcAbs.idl:
  66081. * svg/SVGPathSegArcRel.idl:
  66082. * svg/SVGPathSegClosePath.idl:
  66083. * svg/SVGPathSegCurvetoCubicAbs.idl:
  66084. * svg/SVGPathSegCurvetoCubicRel.idl:
  66085. * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
  66086. * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
  66087. * svg/SVGPathSegCurvetoQuadraticAbs.idl:
  66088. * svg/SVGPathSegCurvetoQuadraticRel.idl:
  66089. * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
  66090. * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
  66091. * svg/SVGPathSegLinetoAbs.idl:
  66092. * svg/SVGPathSegLinetoHorizontalAbs.idl:
  66093. * svg/SVGPathSegLinetoHorizontalRel.idl:
  66094. * svg/SVGPathSegLinetoRel.idl:
  66095. * svg/SVGPathSegLinetoVerticalAbs.idl:
  66096. * svg/SVGPathSegLinetoVerticalRel.idl:
  66097. * svg/SVGPathSegList.idl:
  66098. * svg/SVGPathSegMovetoAbs.idl:
  66099. * svg/SVGPathSegMovetoRel.idl:
  66100. * svg/SVGPatternElement.idl:
  66101. * svg/SVGPoint.idl:
  66102. * svg/SVGPointList.idl:
  66103. * svg/SVGPolygonElement.idl:
  66104. * svg/SVGPolylineElement.idl:
  66105. * svg/SVGPreserveAspectRatio.idl:
  66106. * svg/SVGRadialGradientElement.idl:
  66107. * svg/SVGRect.idl:
  66108. * svg/SVGRectElement.idl:
  66109. * svg/SVGRenderingIntent.idl:
  66110. * svg/SVGScriptElement.idl:
  66111. * svg/SVGSetElement.idl:
  66112. * svg/SVGStopElement.idl:
  66113. * svg/SVGStringList.idl:
  66114. * svg/SVGSwitchElement.idl:
  66115. * svg/SVGSymbolElement.idl:
  66116. * svg/SVGTRefElement.idl:
  66117. * svg/SVGTSpanElement.idl:
  66118. * svg/SVGTextElement.idl:
  66119. * svg/SVGTextPathElement.idl:
  66120. * svg/SVGTextPositioningElement.idl:
  66121. * svg/SVGTitleElement.idl:
  66122. * svg/SVGTransform.idl:
  66123. * svg/SVGTransformList.idl:
  66124. * svg/SVGTransformable.idl:
  66125. * svg/SVGURIReference.idl:
  66126. * svg/SVGUnitTypes.idl:
  66127. * svg/SVGUseElement.idl:
  66128. * svg/SVGVKernElement.idl:
  66129. * svg/SVGViewElement.idl:
  66130. * svg/SVGViewSpec.idl:
  66131. * svg/SVGZoomAndPan.idl:
  66132. * svg/SVGZoomEvent.idl:
  66133. * testing/Internals.idl:
  66134. * webaudio/AudioChannelMerger.idl:
  66135. * webaudio/AudioChannelSplitter.idl:
  66136. * webaudio/AudioDestinationNode.idl:
  66137. * webaudio/AudioGain.idl:
  66138. * webaudio/AudioGainNode.idl:
  66139. * webaudio/AudioProcessingEvent.idl:
  66140. * webaudio/AudioSourceNode.idl:
  66141. * webaudio/BiquadFilterNode.idl:
  66142. * webaudio/ConvolverNode.idl:
  66143. * webaudio/DelayNode.idl:
  66144. * webaudio/DynamicsCompressorNode.idl:
  66145. * webaudio/HighPass2FilterNode.idl:
  66146. * webaudio/JavaScriptAudioNode.idl:
  66147. * webaudio/LowPass2FilterNode.idl:
  66148. * webaudio/OfflineAudioCompletionEvent.idl:
  66149. * workers/SharedWorker.idl:
  66150. * workers/SharedWorkerContext.idl:
  66151. * workers/WorkerLocation.idl:
  66152. * xml/XMLHttpRequestException.idl:
  66153. * xml/XMLHttpRequestProgressEvent.idl:
  66154. * xml/XPathException.idl:
  66155. 2011-06-17 Dirk Schulze <krit@webkit.org>
  66156. Reviewed by Rob Buis.
  66157. SVGAnimation should use direct unit animation for SVGAngle
  66158. https://bugs.webkit.org/show_bug.cgi?id=62807
  66159. Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
  66160. This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAngle. We can animate the SVG primitive datatype SVGAngle
  66161. with different unit types now.
  66162. Removed number and unit parser from SVGAnimateElement. This is not needed anymore.
  66163. Tests: svg/animations/svgangle-animation-deg-to-grad.html
  66164. svg/animations/svgangle-animation-deg-to-rad.html
  66165. svg/animations/svgangle-animation-grad-to-deg.html
  66166. svg/animations/svgangle-animation-grad-to-rad.html
  66167. svg/animations/svgangle-animation-rad-to-deg.html
  66168. svg/animations/svgangle-animation-rad-to-grad.html
  66169. * CMakeLists.txt: Added SVGAnimatedAngle.cpp.
  66170. * GNUmakefile.list.am: Ditto.
  66171. * WebCore.gypi: Ditto.
  66172. * WebCore.pro: Ditto.
  66173. * WebCore.xcodeproj/project.pbxproj: Ditto.
  66174. * svg/SVGAllInOne.cpp: Ditto.
  66175. * svg/SVGAnimateElement.cpp: Make use of SVGAnimator for AnimatedAngle.
  66176. (WebCore::SVGAnimateElement::SVGAnimateElement):
  66177. (WebCore::SVGAnimateElement::determineAnimatedAttributeType): Ditto.
  66178. (WebCore::SVGAnimateElement::calculateAnimatedValue): Ditto.
  66179. (WebCore::SVGAnimateElement::calculateFromAndToValues): Ditto.
  66180. (WebCore::SVGAnimateElement::calculateFromAndByValues): Ditto.
  66181. (WebCore::SVGAnimateElement::resetToBaseValue): Ditto.
  66182. (WebCore::SVGAnimateElement::applyResultsToTarget): Ditto.
  66183. (WebCore::SVGAnimateElement::calculateDistance): Ditto.
  66184. * svg/SVGAnimateElement.h:
  66185. * svg/SVGAnimatedAngle.cpp: Added. Added SVGAnimatedAngleAnimator for animation of SVGAngles.
  66186. (WebCore::SVGAnimatedAngleAnimator::SVGAnimatedAngleAnimator):
  66187. (WebCore::sharedSVGAngle):
  66188. (WebCore::SVGAnimatedAngleAnimator::constructFromString):
  66189. (WebCore::SVGAnimatedAngleAnimator::calculateFromAndToValues):
  66190. (WebCore::SVGAnimatedAngleAnimator::calculateFromAndByValues):
  66191. (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
  66192. (WebCore::SVGAnimatedAngleAnimator::calculateDistance):
  66193. * svg/SVGAnimatedAngle.h:
  66194. (WebCore::SVGAnimatedAngleAnimator::~SVGAnimatedAngleAnimator):
  66195. * svg/SVGAnimatedLength.cpp:
  66196. (WebCore::sharedSVGLength): Use an ExceptionCode for SVGLength::setValueAsString.
  66197. * svg/SVGAnimatedType.h:
  66198. (WebCore::SVGAnimatedType::create):
  66199. (WebCore::SVGAnimatedType::createAngle):
  66200. (WebCore::SVGAnimatedType::createLength):
  66201. (WebCore::SVGAnimatedType::~SVGAnimatedType):
  66202. (WebCore::SVGAnimatedType::angle):
  66203. (WebCore::SVGAnimatedType::valueAsString):
  66204. (WebCore::SVGAnimatedType::setValueAsString):
  66205. (WebCore::SVGAnimatedType::SVGAnimatedType):
  66206. * svg/SVGAnimatorFactory.h:
  66207. (WebCore::SVGAnimatorFactory::create):
  66208. * svg/SVGLength.cpp:
  66209. (WebCore::SVGLength::setValueAsString): Added an ExceptionCode for consistency reasons and as preparation for future error handling.
  66210. * svg/SVGLength.h:
  66211. * svg/SVGParserUtilities.cpp:
  66212. (WebCore::parseNumberFromString): Added number parser for String objects.
  66213. * svg/SVGParserUtilities.h:
  66214. 2011-06-17 Anna Cavender <annacc@chromium.org>
  66215. Reviewed by Eric Carlson.
  66216. Adding initial interfaces and stubs for track
  66217. https://bugs.webkit.org/show_bug.cgi?id=60379
  66218. This marks the first patch of a series to implement out-of-band
  66219. <track> support in WebKit. This patch adds some of the core header files
  66220. and their corresponding stub .cpp files.
  66221. No new tests because feature is hidden behind VIDEO_TRACK feature
  66222. define, which is turned off.
  66223. * CMakeLists.txt:
  66224. * WebCore.gyp/WebCore.gyp:
  66225. * WebCore.gypi:
  66226. * WebCore.pri:
  66227. * WebCore.pro:
  66228. * WebCore.xcodeproj/project.pbxproj:
  66229. * html/CueIndex.cpp: Added.
  66230. * html/CueIndex.h: Added.
  66231. * html/LoadableTextTrack.cpp: Added.
  66232. * html/LoadableTextTrack.h: Added.
  66233. * html/LoadableTextTrackImpl.cpp: Added.
  66234. * html/LoadableTextTrackImpl.h: Added.
  66235. * html/MutableTextTrack.cpp: Added.
  66236. * html/MutableTextTrack.h: Added.
  66237. * html/MutableTextTrackImpl.cpp: Added.
  66238. * html/MutableTextTrackImpl.h: Added.
  66239. * html/TextTrack.cpp: Added.
  66240. * html/TextTrack.h: Added.
  66241. * html/TextTrackCue.cpp: Added.
  66242. * html/TextTrackCue.h: Added.
  66243. * html/TextTrackCueList.cpp: Added.
  66244. * html/TextTrackCueList.h: Added.
  66245. * html/TextTrackPrivate.h: Added.
  66246. * loader/CueLoader.cpp: Added.
  66247. * loader/CueLoader.h: Added.
  66248. * platform/track/CueParser.cpp: Added.
  66249. * platform/track/CueParser.h: Added.
  66250. * platform/track/CueParserPrivate.h: Added.
  66251. 2011-06-17 Dmitry Lomov <dslomov@google.com>
  66252. Reviewed by Adam Barth.
  66253. https://bugs.webkit.org/show_bug.cgi?id=62653
  66254. [V8][Chromium] Make StringCache in V8 bindings per-isolate
  66255. This moves StringCache into V8BindingPerIsolateData.
  66256. * bindings/v8/V8Binding.cpp:
  66257. (WebCore::cachedStringCallback):
  66258. (WebCore::StringCache::remove):
  66259. (WebCore::StringCache::v8ExternalStringSlow):
  66260. * bindings/v8/V8Binding.h:
  66261. (WebCore::StringCache::StringCache):
  66262. (WebCore::StringCache::v8ExternalString):
  66263. (WebCore::StringCache::clearOnGC):
  66264. (WebCore::V8BindingPerIsolateData::stringCache):
  66265. (WebCore::v8ExternalString):
  66266. * bindings/v8/V8GCController.cpp:
  66267. (WebCore::V8GCController::gcPrologue):
  66268. 2011-06-17 Julien Chaffraix <jchaffraix@webkit.org>
  66269. Reviewed by Darin Adler.
  66270. Assertion failure in SVGTextLayoutEngine constructor (!m_layoutAttributes.isEmpty())
  66271. https://bugs.webkit.org/show_bug.cgi?id=62884
  66272. Test: svg/custom/assert-empty-layout-attributes.svg
  66273. * rendering/svg/SVGRootInlineBox.cpp:
  66274. (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Added a early return here.
  66275. It is not needed to do the text layout algorithm if you don't have any layout information as
  66276. your size is (0, 0) anyway.
  66277. 2011-06-17 Alexey Proskuryakov <ap@apple.com>
  66278. Reviewed by Dan Bernstein.
  66279. https://bugs.webkit.org/show_bug.cgi?id=62913
  66280. Use ICU search collator when available
  66281. <rdar://problem/8830218> Search on a webpage in Safari conflates some Czech characters
  66282. <rdar://problem/8468873> Safari search doesn't strip Hamza
  66283. This changes behaviors that depend on system language, and isn't practically testable.
  66284. * editing/TextIterator.cpp: (WebCore::createSearcher): Ask ICU for search collator, if available.
  66285. 2011-06-17 Sheriff Bot <webkit.review.bot@gmail.com>
  66286. Unreviewed, rolling out r89143.
  66287. http://trac.webkit.org/changeset/89143
  66288. https://bugs.webkit.org/show_bug.cgi?id=62912
  66289. Possible Chromeos test breakage (Requested by senorblanco on
  66290. #webkit).
  66291. * platform/KURLGoogle.cpp:
  66292. (WebCore::encodeWithURLEscapeSequences):
  66293. 2011-06-17 Jer Noble <jer.noble@apple.com>
  66294. Reviewed by Ada Chan.
  66295. Playing video from the manifest crashes on Windows
  66296. https://bugs.webkit.org/show_bug.cgi?id=62901
  66297. No new tests. This will be covered by existing App Cache tests.
  66298. Two related fixes. 1) Null-check the CFStringRef and CFURLRef created in QTMovie::load() before
  66299. passing them to CFRelease(). 2) Use CFURL to create an appropriate file-URL on windows in
  66300. createFileURLForApplicationCacheResource.
  66301. * html/HTMLMediaElement.cpp:
  66302. (WebCore::createFileURLForApplicationCacheResource):
  66303. * platform/graphics/win/QTMovie.cpp:
  66304. (QTMovie::load):
  66305. 2011-06-17 Abhishek Arya <inferno@chromium.org>
  66306. Reviewed by Dave Hyatt.
  66307. When we lose ability to propagate floats, need to find topmost
  66308. parent with that overhanging float, and then iterate over its
  66309. sibling blocks to remove the float.
  66310. https://bugs.webkit.org/show_bug.cgi?id=62875
  66311. Test: fast/block/float/float-not-removed-from-next-sibling5.html
  66312. * rendering/RenderBlock.cpp:
  66313. (WebCore::RenderBlock::styleDidChange):
  66314. (WebCore::RenderBlock::hasOverhangingFloat):
  66315. * rendering/RenderBlock.h:
  66316. 2011-06-17 Vsevolod Vlasov <vsevik@chromium.org>
  66317. Reviewed by Pavel Feldman.
  66318. Web Inspector: Network panel does not show main resource content for iframes deleted from the document
  66319. https://bugs.webkit.org/show_bug.cgi?id=62810
  66320. Test: http/tests/inspector/network/network-iframe-load-and-delete.html
  66321. * inspector/InspectorInstrumentation.cpp:
  66322. (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
  66323. (WebCore::InspectorInstrumentation::didFailLoadingImpl):
  66324. * inspector/InspectorInstrumentation.h:
  66325. (WebCore::InspectorInstrumentation::didFinishLoading):
  66326. (WebCore::InspectorInstrumentation::didFailLoading):
  66327. * inspector/InspectorPageAgent.cpp:
  66328. (WebCore::cachedResourceContent):
  66329. (WebCore::mainResourceContent):
  66330. (WebCore::InspectorPageAgent::sharedBufferContent):
  66331. (WebCore::InspectorPageAgent::resourceContent):
  66332. (WebCore::InspectorPageAgent::getResourceContent):
  66333. (WebCore::InspectorPageAgent::searchInResources):
  66334. * inspector/InspectorPageAgent.h:
  66335. * inspector/InspectorResourceAgent.cpp:
  66336. (WebCore::InspectorResourceAgent::didReceiveResponse):
  66337. (WebCore::InspectorResourceAgent::didFinishLoading):
  66338. (WebCore::InspectorResourceAgent::didFailLoading):
  66339. (WebCore::InspectorResourceAgent::didReceiveXHRResponse):
  66340. (WebCore::InspectorResourceAgent::getResourceContent):
  66341. * inspector/InspectorResourceAgent.h:
  66342. * inspector/InspectorStyleSheet.cpp:
  66343. (WebCore::InspectorStyleSheet::resourceStyleSheetText):
  66344. * inspector/NetworkResourcesData.cpp:
  66345. (WebCore::NetworkResourcesData::ResourceData::ResourceData):
  66346. (WebCore::NetworkResourcesData::setResourceType):
  66347. (WebCore::NetworkResourcesData::resourceType):
  66348. (WebCore::NetworkResourcesData::addResourceSharedBuffer):
  66349. * inspector/NetworkResourcesData.h:
  66350. (WebCore::NetworkResourcesData::ResourceData::type):
  66351. (WebCore::NetworkResourcesData::ResourceData::setType):
  66352. (WebCore::NetworkResourcesData::ResourceData::buffer):
  66353. (WebCore::NetworkResourcesData::ResourceData::setBuffer):
  66354. (WebCore::NetworkResourcesData::ResourceData::textEncodingName):
  66355. (WebCore::NetworkResourcesData::ResourceData::setTextEncodingName):
  66356. * loader/ResourceLoadNotifier.cpp:
  66357. (WebCore::ResourceLoadNotifier::didFailToLoad):
  66358. (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
  66359. * loader/appcache/ApplicationCacheGroup.cpp:
  66360. (WebCore::ApplicationCacheGroup::didFinishLoading):
  66361. (WebCore::ApplicationCacheGroup::didFail):
  66362. 2011-06-17 Darin Adler <darin@apple.com>
  66363. Fix clang build.
  66364. * loader/LinkLoader.h: Use struct, not class, to forward-declare struct.
  66365. 2011-06-17 Chris Evans <cevans@chromium.org>
  66366. Reviewed by Adam Barth.
  66367. Detect mixed-scripting involving https -> http redirects
  66368. https://bugs.webkit.org/show_bug.cgi?id=62846
  66369. Test: http/tests/security/mixedContent/redirect-https-to-http-script-in-iframe.html
  66370. * loader/cache/CachedResourceLoader.cpp:
  66371. (WebCore::CachedResourceLoader::checkInsecureContent):
  66372. (WebCore::CachedResourceLoader::canRequest): break out insecure content logic.
  66373. * loader/cache/CachedResourceLoader.h:
  66374. * loader/cache/CachedResourceRequest.cpp:
  66375. (WebCore::CachedResourceRequest::willSendRequest): check the redirect target for possible insecure content issues.
  66376. 2011-06-12 Robert Hogan <robert@webkit.org>
  66377. Reviewed by Alexey Proskuryakov.
  66378. [Qt] Qt Counterpart for http://trac.webkit.org/changeset/42078
  66379. https://bugs.webkit.org/show_bug.cgi?id=62514
  66380. * platform/network/qt/ResourceHandleQt.cpp:
  66381. (WebCore::WebCoreSynchronousLoader::willSendRequest):
  66382. 2011-06-17 Mark Pilgrim <pilgrim@chromium.org>
  66383. Reviewed by Adam Barth.
  66384. Change IDL code generator to require all arguments by default
  66385. https://bugs.webkit.org/show_bug.cgi?id=62750
  66386. As per discussion on public-webapps, WebIDL is changing the default
  66387. behavior to require all function arguments by default and raise an
  66388. exception when an argument is missing. (This behavior is currently
  66389. opt-in in WebKit's IDL system, on a function-by-function basis, with
  66390. the "RequiresAllArguments=Raise" flag.) To order to match WebIDL as
  66391. closely as possible, this patch adds an interface-level
  66392. "LegacyDefaultOptionalArguments" flag and sets it on all existing IDL
  66393. files (500+), then changes the code generator Perl scripts to behave
  66394. the old way in the presence of the flag.
  66395. No new tests required, all existing tests still pass.
  66396. * bindings/scripts/CodeGeneratorJS.pm:
  66397. * bindings/scripts/CodeGeneratorV8.pm:
  66398. * bindings/scripts/test/TestCallback.idl:
  66399. * bindings/scripts/test/TestInterface.idl:
  66400. * bindings/scripts/test/TestMediaQueryListListener.idl:
  66401. * bindings/scripts/test/TestObj.idl:
  66402. * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
  66403. * css/CSSCharsetRule.idl:
  66404. * css/CSSFontFaceRule.idl:
  66405. * css/CSSImportRule.idl:
  66406. * css/CSSMediaRule.idl:
  66407. * css/CSSPageRule.idl:
  66408. * css/CSSPrimitiveValue.idl:
  66409. * css/CSSRule.idl:
  66410. * css/CSSRuleList.idl:
  66411. * css/CSSStyleDeclaration.idl:
  66412. * css/CSSStyleRule.idl:
  66413. * css/CSSStyleSheet.idl:
  66414. * css/CSSUnknownRule.idl:
  66415. * css/CSSValue.idl:
  66416. * css/CSSValueList.idl:
  66417. * css/Counter.idl:
  66418. * css/MediaList.idl:
  66419. * css/MediaQueryList.idl:
  66420. * css/MediaQueryListListener.idl:
  66421. * css/RGBColor.idl:
  66422. * css/Rect.idl:
  66423. * css/StyleMedia.idl:
  66424. * css/StyleSheet.idl:
  66425. * css/StyleSheetList.idl:
  66426. * css/WebKitCSSKeyframeRule.idl:
  66427. * css/WebKitCSSKeyframesRule.idl:
  66428. * css/WebKitCSSMatrix.idl:
  66429. * css/WebKitCSSTransformValue.idl:
  66430. * dom/Attr.idl:
  66431. * dom/BeforeLoadEvent.idl:
  66432. * dom/BeforeProcessEvent.idl:
  66433. * dom/CDATASection.idl:
  66434. * dom/CharacterData.idl:
  66435. * dom/ClientRect.idl:
  66436. * dom/ClientRectList.idl:
  66437. * dom/Clipboard.idl:
  66438. * dom/Comment.idl:
  66439. * dom/CompositionEvent.idl:
  66440. * dom/CustomEvent.idl:
  66441. * dom/DOMCoreException.idl:
  66442. * dom/DOMImplementation.idl:
  66443. * dom/DOMStringList.idl:
  66444. * dom/DOMStringMap.idl:
  66445. * dom/DataTransferItem.idl:
  66446. * dom/DataTransferItems.idl:
  66447. * dom/DeviceMotionEvent.idl:
  66448. * dom/DeviceOrientationEvent.idl:
  66449. * dom/Document.idl:
  66450. * dom/DocumentFragment.idl:
  66451. * dom/DocumentType.idl:
  66452. * dom/Element.idl:
  66453. * dom/Entity.idl:
  66454. * dom/EntityReference.idl:
  66455. * dom/ErrorEvent.idl:
  66456. * dom/Event.idl:
  66457. * dom/EventException.idl:
  66458. * dom/EventListener.idl:
  66459. * dom/EventTarget.idl:
  66460. * dom/ExclusiveTrackList.idl:
  66461. * dom/GeneratedStream.idl:
  66462. * dom/HashChangeEvent.idl:
  66463. * dom/KeyboardEvent.idl:
  66464. * dom/MessageChannel.idl:
  66465. * dom/MessageEvent.idl:
  66466. * dom/MessagePort.idl:
  66467. * dom/MouseEvent.idl:
  66468. * dom/MultipleTrackList.idl:
  66469. * dom/MutationEvent.idl:
  66470. * dom/NamedNodeMap.idl:
  66471. * dom/Node.idl:
  66472. * dom/NodeFilter.idl:
  66473. * dom/NodeIterator.idl:
  66474. * dom/NodeList.idl:
  66475. * dom/Notation.idl:
  66476. * dom/OverflowEvent.idl:
  66477. * dom/PageTransitionEvent.idl:
  66478. * dom/PopStateEvent.idl:
  66479. * dom/ProcessingInstruction.idl:
  66480. * dom/ProgressEvent.idl:
  66481. * dom/Range.idl:
  66482. * dom/RangeException.idl:
  66483. * dom/RequestAnimationFrameCallback.idl:
  66484. * dom/Stream.idl:
  66485. * dom/StreamEvent.idl:
  66486. * dom/StreamList.idl:
  66487. * dom/StringCallback.idl:
  66488. * dom/Text.idl:
  66489. * dom/TextEvent.idl:
  66490. * dom/Touch.idl:
  66491. * dom/TouchEvent.idl:
  66492. * dom/TouchList.idl:
  66493. * dom/TrackList.idl:
  66494. * dom/TreeWalker.idl:
  66495. * dom/UIEvent.idl:
  66496. * dom/WebKitAnimationEvent.idl:
  66497. * dom/WebKitTransitionEvent.idl:
  66498. * dom/WheelEvent.idl:
  66499. * fileapi/Blob.idl:
  66500. * fileapi/DOMFileSystem.idl:
  66501. * fileapi/DOMFileSystemSync.idl:
  66502. * fileapi/DirectoryEntry.idl:
  66503. * fileapi/DirectoryEntrySync.idl:
  66504. * fileapi/DirectoryReader.idl:
  66505. * fileapi/DirectoryReaderSync.idl:
  66506. * fileapi/EntriesCallback.idl:
  66507. * fileapi/Entry.idl:
  66508. * fileapi/EntryArray.idl:
  66509. * fileapi/EntryArraySync.idl:
  66510. * fileapi/EntryCallback.idl:
  66511. * fileapi/EntrySync.idl:
  66512. * fileapi/ErrorCallback.idl:
  66513. * fileapi/File.idl:
  66514. * fileapi/FileCallback.idl:
  66515. * fileapi/FileEntry.idl:
  66516. * fileapi/FileEntrySync.idl:
  66517. * fileapi/FileError.idl:
  66518. * fileapi/FileException.idl:
  66519. * fileapi/FileList.idl:
  66520. * fileapi/FileReader.idl:
  66521. * fileapi/FileReaderSync.idl:
  66522. * fileapi/FileSystemCallback.idl:
  66523. * fileapi/FileWriter.idl:
  66524. * fileapi/FileWriterCallback.idl:
  66525. * fileapi/FileWriterSync.idl:
  66526. * fileapi/Metadata.idl:
  66527. * fileapi/MetadataCallback.idl:
  66528. * fileapi/OperationNotAllowedException.idl:
  66529. * fileapi/WebKitBlobBuilder.idl:
  66530. * fileapi/WebKitFlags.idl:
  66531. * html/DOMFormData.idl:
  66532. * html/DOMSettableTokenList.idl:
  66533. * html/DOMTokenList.idl:
  66534. * html/DOMURL.idl:
  66535. * html/HTMLAllCollection.idl:
  66536. * html/HTMLAnchorElement.idl:
  66537. * html/HTMLAppletElement.idl:
  66538. * html/HTMLAreaElement.idl:
  66539. * html/HTMLAudioElement.idl:
  66540. * html/HTMLBRElement.idl:
  66541. * html/HTMLBaseElement.idl:
  66542. * html/HTMLBaseFontElement.idl:
  66543. * html/HTMLBlockquoteElement.idl:
  66544. * html/HTMLBodyElement.idl:
  66545. * html/HTMLButtonElement.idl:
  66546. * html/HTMLCanvasElement.idl:
  66547. * html/HTMLCollection.idl:
  66548. * html/HTMLDListElement.idl:
  66549. * html/HTMLDataListElement.idl:
  66550. * html/HTMLDetailsElement.idl:
  66551. * html/HTMLDirectoryElement.idl:
  66552. * html/HTMLDivElement.idl:
  66553. * html/HTMLDocument.idl:
  66554. * html/HTMLElement.idl:
  66555. * html/HTMLEmbedElement.idl:
  66556. * html/HTMLFieldSetElement.idl:
  66557. * html/HTMLFontElement.idl:
  66558. * html/HTMLFormElement.idl:
  66559. * html/HTMLFrameElement.idl:
  66560. * html/HTMLFrameSetElement.idl:
  66561. * html/HTMLHRElement.idl:
  66562. * html/HTMLHeadElement.idl:
  66563. * html/HTMLHeadingElement.idl:
  66564. * html/HTMLHtmlElement.idl:
  66565. * html/HTMLIFrameElement.idl:
  66566. * html/HTMLImageElement.idl:
  66567. * html/HTMLInputElement.idl:
  66568. * html/HTMLIsIndexElement.idl:
  66569. * html/HTMLKeygenElement.idl:
  66570. * html/HTMLLIElement.idl:
  66571. * html/HTMLLabelElement.idl:
  66572. * html/HTMLLegendElement.idl:
  66573. * html/HTMLLinkElement.idl:
  66574. * html/HTMLMapElement.idl:
  66575. * html/HTMLMarqueeElement.idl:
  66576. * html/HTMLMediaElement.idl:
  66577. * html/HTMLMenuElement.idl:
  66578. * html/HTMLMetaElement.idl:
  66579. * html/HTMLMeterElement.idl:
  66580. * html/HTMLModElement.idl:
  66581. * html/HTMLOListElement.idl:
  66582. * html/HTMLObjectElement.idl:
  66583. * html/HTMLOptGroupElement.idl:
  66584. * html/HTMLOptionElement.idl:
  66585. * html/HTMLOptionsCollection.idl:
  66586. * html/HTMLOutputElement.idl:
  66587. * html/HTMLParagraphElement.idl:
  66588. * html/HTMLParamElement.idl:
  66589. * html/HTMLPreElement.idl:
  66590. * html/HTMLProgressElement.idl:
  66591. * html/HTMLQuoteElement.idl:
  66592. * html/HTMLScriptElement.idl:
  66593. * html/HTMLSelectElement.idl:
  66594. * html/HTMLSourceElement.idl:
  66595. * html/HTMLStyleElement.idl:
  66596. * html/HTMLTableCaptionElement.idl:
  66597. * html/HTMLTableCellElement.idl:
  66598. * html/HTMLTableColElement.idl:
  66599. * html/HTMLTableElement.idl:
  66600. * html/HTMLTableRowElement.idl:
  66601. * html/HTMLTableSectionElement.idl:
  66602. * html/HTMLTextAreaElement.idl:
  66603. * html/HTMLTitleElement.idl:
  66604. * html/HTMLTrackElement.idl:
  66605. * html/HTMLUListElement.idl:
  66606. * html/HTMLVideoElement.idl:
  66607. * html/ImageData.idl:
  66608. * html/MediaError.idl:
  66609. * html/SpellcheckRange.idl:
  66610. * html/SpellcheckRangeList.idl:
  66611. * html/TextMetrics.idl:
  66612. * html/TimeRanges.idl:
  66613. * html/ValidityState.idl:
  66614. * html/VoidCallback.idl:
  66615. * html/canvas/ArrayBuffer.idl:
  66616. * html/canvas/ArrayBufferView.idl:
  66617. * html/canvas/CanvasGradient.idl:
  66618. * html/canvas/CanvasPattern.idl:
  66619. * html/canvas/CanvasPixelArray.idl:
  66620. * html/canvas/CanvasRenderingContext.idl:
  66621. * html/canvas/CanvasRenderingContext2D.idl:
  66622. * html/canvas/DataView.idl:
  66623. * html/canvas/Float32Array.idl:
  66624. * html/canvas/Float64Array.idl:
  66625. * html/canvas/Int16Array.idl:
  66626. * html/canvas/Int32Array.idl:
  66627. * html/canvas/Int8Array.idl:
  66628. * html/canvas/OESStandardDerivatives.idl:
  66629. * html/canvas/OESTextureFloat.idl:
  66630. * html/canvas/OESVertexArrayObject.idl:
  66631. * html/canvas/Uint16Array.idl:
  66632. * html/canvas/Uint32Array.idl:
  66633. * html/canvas/Uint8Array.idl:
  66634. * html/canvas/WebGLActiveInfo.idl:
  66635. * html/canvas/WebGLBuffer.idl:
  66636. * html/canvas/WebGLContextAttributes.idl:
  66637. * html/canvas/WebGLContextEvent.idl:
  66638. * html/canvas/WebGLFramebuffer.idl:
  66639. * html/canvas/WebGLProgram.idl:
  66640. * html/canvas/WebGLRenderbuffer.idl:
  66641. * html/canvas/WebGLRenderingContext.idl:
  66642. * html/canvas/WebGLShader.idl:
  66643. * html/canvas/WebGLTexture.idl:
  66644. * html/canvas/WebGLUniformLocation.idl:
  66645. * html/canvas/WebGLVertexArrayObjectOES.idl:
  66646. * html/canvas/WebKitLoseContext.idl:
  66647. * inspector/InjectedScriptHost.idl:
  66648. * inspector/InspectorFrontendHost.idl:
  66649. * inspector/JavaScriptCallFrame.idl:
  66650. * inspector/ScriptProfile.idl:
  66651. * inspector/ScriptProfileNode.idl:
  66652. * loader/appcache/DOMApplicationCache.idl:
  66653. * notifications/Notification.idl:
  66654. * notifications/NotificationCenter.idl:
  66655. * page/AbstractView.idl:
  66656. * page/BarInfo.idl:
  66657. * page/Console.idl:
  66658. * page/Coordinates.idl:
  66659. * page/Crypto.idl:
  66660. * page/DOMSelection.idl:
  66661. * page/DOMWindow.idl:
  66662. * page/EventSource.idl:
  66663. * page/Geolocation.idl:
  66664. * page/Geoposition.idl:
  66665. * page/History.idl:
  66666. * page/Location.idl:
  66667. * page/MemoryInfo.idl:
  66668. * page/Navigator.idl:
  66669. * page/NavigatorUserMediaError.idl:
  66670. * page/NavigatorUserMediaErrorCallback.idl:
  66671. * page/NavigatorUserMediaSuccessCallback.idl:
  66672. * page/Performance.idl:
  66673. * page/PerformanceNavigation.idl:
  66674. * page/PerformanceTiming.idl:
  66675. * page/PositionCallback.idl:
  66676. * page/PositionError.idl:
  66677. * page/PositionErrorCallback.idl:
  66678. * page/Screen.idl:
  66679. * page/SpeechInputEvent.idl:
  66680. * page/SpeechInputResult.idl:
  66681. * page/SpeechInputResultList.idl:
  66682. * page/WebKitAnimation.idl:
  66683. * page/WebKitAnimationList.idl:
  66684. * page/WebKitPoint.idl:
  66685. * page/WorkerNavigator.idl:
  66686. * plugins/DOMMimeType.idl:
  66687. * plugins/DOMMimeTypeArray.idl:
  66688. * plugins/DOMPlugin.idl:
  66689. * plugins/DOMPluginArray.idl:
  66690. * storage/Database.idl:
  66691. * storage/DatabaseCallback.idl:
  66692. * storage/DatabaseSync.idl:
  66693. * storage/IDBAny.idl:
  66694. * storage/IDBCursor.idl:
  66695. * storage/IDBCursorWithValue.idl:
  66696. * storage/IDBDatabase.idl:
  66697. * storage/IDBDatabaseError.idl:
  66698. * storage/IDBDatabaseException.idl:
  66699. * storage/IDBFactory.idl:
  66700. * storage/IDBIndex.idl:
  66701. * storage/IDBKey.idl:
  66702. * storage/IDBKeyRange.idl:
  66703. * storage/IDBObjectStore.idl:
  66704. * storage/IDBRequest.idl:
  66705. * storage/IDBTransaction.idl:
  66706. * storage/IDBVersionChangeEvent.idl:
  66707. * storage/IDBVersionChangeRequest.idl:
  66708. * storage/SQLError.idl:
  66709. * storage/SQLException.idl:
  66710. * storage/SQLResultSet.idl:
  66711. * storage/SQLResultSetRowList.idl:
  66712. * storage/SQLStatementCallback.idl:
  66713. * storage/SQLStatementErrorCallback.idl:
  66714. * storage/SQLTransaction.idl:
  66715. * storage/SQLTransactionCallback.idl:
  66716. * storage/SQLTransactionErrorCallback.idl:
  66717. * storage/SQLTransactionSync.idl:
  66718. * storage/SQLTransactionSyncCallback.idl:
  66719. * storage/Storage.idl:
  66720. * storage/StorageEvent.idl:
  66721. * storage/StorageInfo.idl:
  66722. * storage/StorageInfoErrorCallback.idl:
  66723. * storage/StorageInfoQuotaCallback.idl:
  66724. * storage/StorageInfoUsageCallback.idl:
  66725. * svg/ElementTimeControl.idl:
  66726. * svg/SVGAElement.idl:
  66727. * svg/SVGAltGlyphElement.idl:
  66728. * svg/SVGAngle.idl:
  66729. * svg/SVGAnimateColorElement.idl:
  66730. * svg/SVGAnimateElement.idl:
  66731. * svg/SVGAnimateMotionElement.idl:
  66732. * svg/SVGAnimateTransformElement.idl:
  66733. * svg/SVGAnimatedAngle.idl:
  66734. * svg/SVGAnimatedBoolean.idl:
  66735. * svg/SVGAnimatedEnumeration.idl:
  66736. * svg/SVGAnimatedInteger.idl:
  66737. * svg/SVGAnimatedLength.idl:
  66738. * svg/SVGAnimatedLengthList.idl:
  66739. * svg/SVGAnimatedNumber.idl:
  66740. * svg/SVGAnimatedNumberList.idl:
  66741. * svg/SVGAnimatedPreserveAspectRatio.idl:
  66742. * svg/SVGAnimatedRect.idl:
  66743. * svg/SVGAnimatedString.idl:
  66744. * svg/SVGAnimatedTransformList.idl:
  66745. * svg/SVGAnimationElement.idl:
  66746. * svg/SVGCircleElement.idl:
  66747. * svg/SVGClipPathElement.idl:
  66748. * svg/SVGColor.idl:
  66749. * svg/SVGComponentTransferFunctionElement.idl:
  66750. * svg/SVGCursorElement.idl:
  66751. * svg/SVGDefsElement.idl:
  66752. * svg/SVGDescElement.idl:
  66753. * svg/SVGDocument.idl:
  66754. * svg/SVGElement.idl:
  66755. * svg/SVGElementInstance.idl:
  66756. * svg/SVGElementInstanceList.idl:
  66757. * svg/SVGEllipseElement.idl:
  66758. * svg/SVGException.idl:
  66759. * svg/SVGExternalResourcesRequired.idl:
  66760. * svg/SVGFEBlendElement.idl:
  66761. * svg/SVGFEColorMatrixElement.idl:
  66762. * svg/SVGFEComponentTransferElement.idl:
  66763. * svg/SVGFECompositeElement.idl:
  66764. * svg/SVGFEConvolveMatrixElement.idl:
  66765. * svg/SVGFEDiffuseLightingElement.idl:
  66766. * svg/SVGFEDisplacementMapElement.idl:
  66767. * svg/SVGFEDistantLightElement.idl:
  66768. * svg/SVGFEDropShadowElement.idl:
  66769. * svg/SVGFEFloodElement.idl:
  66770. * svg/SVGFEFuncAElement.idl:
  66771. * svg/SVGFEFuncBElement.idl:
  66772. * svg/SVGFEFuncGElement.idl:
  66773. * svg/SVGFEFuncRElement.idl:
  66774. * svg/SVGFEGaussianBlurElement.idl:
  66775. * svg/SVGFEImageElement.idl:
  66776. * svg/SVGFEMergeElement.idl:
  66777. * svg/SVGFEMergeNodeElement.idl:
  66778. * svg/SVGFEMorphologyElement.idl:
  66779. * svg/SVGFEOffsetElement.idl:
  66780. * svg/SVGFEPointLightElement.idl:
  66781. * svg/SVGFESpecularLightingElement.idl:
  66782. * svg/SVGFESpotLightElement.idl:
  66783. * svg/SVGFETileElement.idl:
  66784. * svg/SVGFETurbulenceElement.idl:
  66785. * svg/SVGFilterElement.idl:
  66786. * svg/SVGFilterPrimitiveStandardAttributes.idl:
  66787. * svg/SVGFitToViewBox.idl:
  66788. * svg/SVGFontElement.idl:
  66789. * svg/SVGFontFaceElement.idl:
  66790. * svg/SVGFontFaceFormatElement.idl:
  66791. * svg/SVGFontFaceNameElement.idl:
  66792. * svg/SVGFontFaceSrcElement.idl:
  66793. * svg/SVGFontFaceUriElement.idl:
  66794. * svg/SVGForeignObjectElement.idl:
  66795. * svg/SVGGElement.idl:
  66796. * svg/SVGGlyphElement.idl:
  66797. * svg/SVGGradientElement.idl:
  66798. * svg/SVGHKernElement.idl:
  66799. * svg/SVGImageElement.idl:
  66800. * svg/SVGLangSpace.idl:
  66801. * svg/SVGLength.idl:
  66802. * svg/SVGLengthList.idl:
  66803. * svg/SVGLineElement.idl:
  66804. * svg/SVGLinearGradientElement.idl:
  66805. * svg/SVGLocatable.idl:
  66806. * svg/SVGMPathElement.idl:
  66807. * svg/SVGMarkerElement.idl:
  66808. * svg/SVGMaskElement.idl:
  66809. * svg/SVGMatrix.idl:
  66810. * svg/SVGMetadataElement.idl:
  66811. * svg/SVGMissingGlyphElement.idl:
  66812. * svg/SVGNumber.idl:
  66813. * svg/SVGNumberList.idl:
  66814. * svg/SVGPaint.idl:
  66815. * svg/SVGPathElement.idl:
  66816. * svg/SVGPathSeg.idl:
  66817. * svg/SVGPathSegArcAbs.idl:
  66818. * svg/SVGPathSegArcRel.idl:
  66819. * svg/SVGPathSegClosePath.idl:
  66820. * svg/SVGPathSegCurvetoCubicAbs.idl:
  66821. * svg/SVGPathSegCurvetoCubicRel.idl:
  66822. * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
  66823. * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
  66824. * svg/SVGPathSegCurvetoQuadraticAbs.idl:
  66825. * svg/SVGPathSegCurvetoQuadraticRel.idl:
  66826. * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
  66827. * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
  66828. * svg/SVGPathSegLinetoAbs.idl:
  66829. * svg/SVGPathSegLinetoHorizontalAbs.idl:
  66830. * svg/SVGPathSegLinetoHorizontalRel.idl:
  66831. * svg/SVGPathSegLinetoRel.idl:
  66832. * svg/SVGPathSegLinetoVerticalAbs.idl:
  66833. * svg/SVGPathSegLinetoVerticalRel.idl:
  66834. * svg/SVGPathSegList.idl:
  66835. * svg/SVGPathSegMovetoAbs.idl:
  66836. * svg/SVGPathSegMovetoRel.idl:
  66837. * svg/SVGPatternElement.idl:
  66838. * svg/SVGPoint.idl:
  66839. * svg/SVGPointList.idl:
  66840. * svg/SVGPolygonElement.idl:
  66841. * svg/SVGPolylineElement.idl:
  66842. * svg/SVGPreserveAspectRatio.idl:
  66843. * svg/SVGRadialGradientElement.idl:
  66844. * svg/SVGRect.idl:
  66845. * svg/SVGRectElement.idl:
  66846. * svg/SVGRenderingIntent.idl:
  66847. * svg/SVGSVGElement.idl:
  66848. * svg/SVGScriptElement.idl:
  66849. * svg/SVGSetElement.idl:
  66850. * svg/SVGStopElement.idl:
  66851. * svg/SVGStringList.idl:
  66852. * svg/SVGStylable.idl:
  66853. * svg/SVGStyleElement.idl:
  66854. * svg/SVGSwitchElement.idl:
  66855. * svg/SVGSymbolElement.idl:
  66856. * svg/SVGTRefElement.idl:
  66857. * svg/SVGTSpanElement.idl:
  66858. * svg/SVGTests.idl:
  66859. * svg/SVGTextContentElement.idl:
  66860. * svg/SVGTextElement.idl:
  66861. * svg/SVGTextPathElement.idl:
  66862. * svg/SVGTextPositioningElement.idl:
  66863. * svg/SVGTitleElement.idl:
  66864. * svg/SVGTransform.idl:
  66865. * svg/SVGTransformList.idl:
  66866. * svg/SVGTransformable.idl:
  66867. * svg/SVGURIReference.idl:
  66868. * svg/SVGUnitTypes.idl:
  66869. * svg/SVGUseElement.idl:
  66870. * svg/SVGVKernElement.idl:
  66871. * svg/SVGViewElement.idl:
  66872. * svg/SVGViewSpec.idl:
  66873. * svg/SVGZoomAndPan.idl:
  66874. * svg/SVGZoomEvent.idl:
  66875. * testing/Internals.idl:
  66876. * webaudio/AudioBuffer.idl:
  66877. * webaudio/AudioBufferSourceNode.idl:
  66878. * webaudio/AudioChannelMerger.idl:
  66879. * webaudio/AudioChannelSplitter.idl:
  66880. * webaudio/AudioContext.idl:
  66881. * webaudio/AudioDestinationNode.idl:
  66882. * webaudio/AudioGain.idl:
  66883. * webaudio/AudioGainNode.idl:
  66884. * webaudio/AudioListener.idl:
  66885. * webaudio/AudioNode.idl:
  66886. * webaudio/AudioPannerNode.idl:
  66887. * webaudio/AudioParam.idl:
  66888. * webaudio/AudioProcessingEvent.idl:
  66889. * webaudio/AudioSourceNode.idl:
  66890. * webaudio/BiquadFilterNode.idl:
  66891. * webaudio/ConvolverNode.idl:
  66892. * webaudio/DelayNode.idl:
  66893. * webaudio/DynamicsCompressorNode.idl:
  66894. * webaudio/HighPass2FilterNode.idl:
  66895. * webaudio/JavaScriptAudioNode.idl:
  66896. * webaudio/LowPass2FilterNode.idl:
  66897. * webaudio/OfflineAudioCompletionEvent.idl:
  66898. * webaudio/RealtimeAnalyserNode.idl:
  66899. * websockets/CloseEvent.idl:
  66900. * websockets/WebSocket.idl:
  66901. * workers/AbstractWorker.idl:
  66902. * workers/DedicatedWorkerContext.idl:
  66903. * workers/SharedWorker.idl:
  66904. * workers/SharedWorkerContext.idl:
  66905. * workers/Worker.idl:
  66906. * workers/WorkerContext.idl:
  66907. * workers/WorkerLocation.idl:
  66908. * xml/DOMParser.idl:
  66909. * xml/XMLHttpRequest.idl:
  66910. * xml/XMLHttpRequestException.idl:
  66911. * xml/XMLHttpRequestProgressEvent.idl:
  66912. * xml/XMLHttpRequestUpload.idl:
  66913. * xml/XMLSerializer.idl:
  66914. * xml/XPathEvaluator.idl:
  66915. * xml/XPathException.idl:
  66916. * xml/XPathExpression.idl:
  66917. * xml/XPathNSResolver.idl:
  66918. * xml/XPathResult.idl:
  66919. * xml/XSLTProcessor.idl:
  66920. 2011-06-17 Cary Clark <caryclark@google.com>
  66921. Reviewed by Mihai Parparita.
  66922. Exclude isCALayerContext check if building Chrome to use Skia on Mac.
  66923. https://bugs.webkit.org/show_bug.cgi?id=62859
  66924. No new tests. This change does not affect existing functionality.
  66925. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  66926. (WebCore::ScrollbarThemeChromiumMac::paint):
  66927. Add a conditional to always set drawing into layer to false if
  66928. Skia is the WebKit rendering engine. Once USE(SKIA) is enabled,
  66929. this condition can be removed.
  66930. 2011-06-17 Gavin Peters <gavinp@chromium.org>
  66931. Reviewed by Adam Barth.
  66932. refactor HTMLLinkElement to allow Link header implementation
  66933. https://bugs.webkit.org/show_bug.cgi?id=51941
  66934. This change moves the LinkRelAttribute helper struct into its own
  66935. file in html/, since the LinkRelAttribute is used by the LinkLoader,
  66936. and leaving it in HTMLLinkElement would have been too circular for
  66937. my tastes.
  66938. The new LinkLoader class contains the loader code for icons, dns
  66939. prefetching and prefetch/prerender/subresource into a common
  66940. LinkLoader. This is a step in getting the Link header working in
  66941. WebKit, as discussed in webkit-dev For more information, see
  66942. thread "beforeload & link
  66943. (esp rel prefetch)".
  66944. No new tests, since this is a refactoring.
  66945. * CMakeLists.txt:
  66946. * GNUmakefile.list.am:
  66947. * WebCore.gypi:
  66948. * WebCore.pro:
  66949. * WebCore.vcproj/WebCore.vcproj:
  66950. * WebCore.xcodeproj/project.pbxproj:
  66951. * html/HTMLLinkElement.cpp:
  66952. (WebCore::HTMLLinkElement::HTMLLinkElement):
  66953. (WebCore::HTMLLinkElement::~HTMLLinkElement):
  66954. (WebCore::HTMLLinkElement::parseMappedAttribute):
  66955. (WebCore::HTMLLinkElement::shouldLoadLink):
  66956. (WebCore::HTMLLinkElement::process):
  66957. (WebCore::HTMLLinkElement::linkLoaded):
  66958. (WebCore::HTMLLinkElement::linkLoadingErrored):
  66959. * html/HTMLLinkElement.h:
  66960. * html/LinkRelAttribute.cpp: Added.
  66961. (WebCore::LinkRelAttribute::LinkRelAttribute):
  66962. * html/LinkRelAttribute.h: Added.
  66963. * html/parser/HTMLPreloadScanner.cpp:
  66964. (WebCore::HTMLNames::PreloadTask::relAttributeIsStyleSheet):
  66965. * loader/LinkLoader.cpp: Added.
  66966. (WebCore::LinkLoader::LinkLoader):
  66967. (WebCore::LinkLoader::~LinkLoader):
  66968. (WebCore::LinkLoader::linkLoadedTimerFired):
  66969. (WebCore::LinkLoader::notifyFinished):
  66970. (WebCore::LinkLoader::loadLink):
  66971. * loader/LinkLoader.h: Added.
  66972. * loader/LinkLoaderClient.h: Added.
  66973. (WebCore::LinkLoaderClient::~LinkLoaderClient):
  66974. 2011-06-17 Annie Sullivan <sullivan@chromium.org>
  66975. Reviewed by Ryosuke Niwa.
  66976. div can be a child of span on InsertParagraph
  66977. https://bugs.webkit.org/show_bug.cgi?id=62687
  66978. Handle the special case where the insertion point is the first position in the enclosing block node.
  66979. The div for the new paragraph should be inserted as a child of the enclosing block node, otherwise
  66980. it could be inserted as a child of a span or other inline element.
  66981. * editing/InsertParagraphSeparatorCommand.cpp:
  66982. (WebCore::InsertParagraphSeparatorCommand::doApply):
  66983. 2011-06-17 Eric Uhrhane <ericu@chromium.org>
  66984. Reviewed by Adam Barth.
  66985. [filesystem/Chromium] Filesystem paths need proper URL escaping
  66986. https://bugs.webkit.org/show_bug.cgi?id=62811
  66987. Fix http://code.google.com/p/chromium/issues/detail?id=78860 by making
  66988. KURLChromium.cpp's escaping code actually work.
  66989. Make encodeWithURLEscapeSequences call into googleurl to do proper
  66990. escaping. Tested in WebKit/chromium/tests/KURLTest.cpp.
  66991. * platform/KURLGoogle.cpp:
  66992. (WebCore::encodeWithURLEscapeSequences):
  66993. 2011-06-17 Julien Chaffraix <jchaffraix@google.com>
  66994. Reviewed by Darin Adler.
  66995. Avoid extra work in RenderStyle::visitedDependentColor
  66996. https://bugs.webkit.org/show_bug.cgi?id=62868
  66997. Refactoring only, no new test required.
  66998. The code used to cache the result of borderStyleForColorProperty. However
  66999. the value was either overwritten inside colorIncludingFallback or there was
  67000. not border. Thus I removed borderStyleForColorProperty and inlined the logic in
  67001. colorIncludingFallback.
  67002. This shows some nice performance improvements on the bug page (table of 22k rows with a link
  67003. for each row). Using pprof, the time spend in RenderStyle::visitedDependentColor is reduced
  67004. by ~10%, mostly due to removing the call to borderStyleForColorProperty.
  67005. * rendering/style/RenderStyle.cpp:
  67006. (WebCore::RenderStyle::colorIncludingFallback): We now calculate the borderStyle
  67007. inside this function (which was already the case I just made it explicit). Also
  67008. simplified the final 'if' as the border will be set only for the right CSS border
  67009. properties.
  67010. (WebCore::RenderStyle::visitedDependentColor): Removed the |borderStyle| variable
  67011. as it was never read.
  67012. * rendering/style/RenderStyle.h: Removed the parameter.
  67013. 2011-06-16 Pavel Podivilov <podivilov@chromium.org>
  67014. Reviewed by Yury Semikhatsky.
  67015. Web Inspector: breakpointsWithoutSourceFile values should be a maps, not arrays.
  67016. https://bugs.webkit.org/show_bug.cgi?id=62714
  67017. * inspector/front-end/DebuggerPresentationModel.js:
  67018. (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
  67019. (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
  67020. (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpointsFromSettings):
  67021. (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
  67022. (WebInspector.DebuggerPresentationModel.prototype._reset):
  67023. * inspector/front-end/Settings.js:
  67024. (WebInspector.Settings):
  67025. (WebInspector.Settings.prototype._set):
  67026. 2011-06-17 Joone Hur <joone.hur@collabora.co.uk>
  67027. Reviewed by Martin Robinson.
  67028. [GTK] Replace GdkRectangle by cairo_rectangle_int_t
  67029. https://bugs.webkit.org/show_bug.cgi?id=60687
  67030. Replace GdkRectangle by cairo_rectangle_int_t.
  67031. * GNUmakefile.list.am: Added IntRectCairo.cpp instead of IntRectGtk.cpp
  67032. * platform/graphics/IntRect.h: IntRect class can be instantiated through the given cairo_rectangle_int_t
  67033. instead of GdkRectangle.
  67034. * platform/graphics/cairo/IntRectCairo.cpp: Add the constructor and operator for handling cairo_rectangle_int_t.
  67035. (WebCore::IntRect::IntRect):
  67036. (WebCore::IntRect::operator cairo_rectangle_int_t):
  67037. * platform/graphics/gtk/IntRectGtk.cpp: Include this file only for Gtk+2.
  67038. * platform/gtk/GtkPluginWidget.cpp: Replace GdkRectangle by cairo_rectangle_int_t.
  67039. (WebCore::GtkPluginWidget::invalidateRect):
  67040. 2011-06-17 Alexander Pavlov <apavlov@chromium.org>
  67041. Reviewed by David Hyatt.
  67042. Web Inspector: support for emulating element's pseudo class state in styleRulesForElement()
  67043. https://bugs.webkit.org/show_bug.cgi?id=61070
  67044. This patch is a slight rework of a solution by Alexander Udalov.
  67045. It is supposed to help implement a feature in Web Inspector to examine
  67046. style rules matched for different states of a given element.
  67047. Web Inspector is supposed to pass a mask of ForcePseudoClassFlags to
  67048. styleRulesForElement(), so that it will filter only the rules whose state
  67049. (a set of pseudo classes in their selectors) matches a given
  67050. mask, ignoring the state of the element itself.
  67051. DoNotForcePseudoClassMask is the default behaviour; it always examines
  67052. the state of a given element to make a match.
  67053. Tests will be provided in a subsequent Web Inspector change employing this functionality.
  67054. * css/CSSStyleSelector.cpp:
  67055. (WebCore::CSSStyleSelector::initForStyleResolve):
  67056. (WebCore::CSSStyleSelector::styleRulesForElement):
  67057. (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
  67058. (WebCore::CSSStyleSelector::checkSelector):
  67059. (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
  67060. (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
  67061. * css/CSSStyleSelector.h:
  67062. 2011-06-17 Yury Semikhatsky <yurys@chromium.org>
  67063. Reviewed by Pavel Feldman.
  67064. Web Inspector: support preview mode for live edit changes
  67065. https://bugs.webkit.org/show_bug.cgi?id=62851
  67066. Debugger.editScriptSource command now supports preview flag.
  67067. * bindings/js/ScriptDebugServer.cpp:
  67068. (WebCore::ScriptDebugServer::editScriptSource):
  67069. * bindings/js/ScriptDebugServer.h:
  67070. * bindings/v8/ScriptDebugServer.cpp:
  67071. (WebCore::ScriptDebugServer::editScriptSource):
  67072. * bindings/v8/ScriptDebugServer.h:
  67073. * inspector/Inspector.json:
  67074. * inspector/InspectorDebuggerAgent.cpp:
  67075. (WebCore::InspectorDebuggerAgent::editScriptSource):
  67076. * inspector/InspectorDebuggerAgent.h:
  67077. 2011-06-09 Hans Wennborg <hans@chromium.org>
  67078. Reviewed by Tony Gentilcore.
  67079. IndexedDB: backingStoreMap is per backing store, not per database
  67080. https://bugs.webkit.org/show_bug.cgi?id=62382
  67081. IDBFactoryBackendImpl::m_backingStoreMap should contain an entry per
  67082. backing store, not per database. Otherwise, we might accidentally open
  67083. the same backing store more than once, which is dangerous.
  67084. Also tweak the code that chooses backing store type. It should be
  67085. simple: we default to SQLite; if LevelDB is specifically requested, we
  67086. use that. If LevelDB is requested and there is a SQLite database, we
  67087. migrate.
  67088. No new tests, just cleaning up the code.
  67089. * storage/IDBFactoryBackendImpl.cpp:
  67090. (WebCore::IDBFactoryBackendImpl::addIDBBackingStore):
  67091. (WebCore::IDBFactoryBackendImpl::removeIDBBackingStore):
  67092. (WebCore::IDBFactoryBackendImpl::open):
  67093. (WebCore::IDBFactoryBackendImpl::migrateFromSQLiteToLevelDB):
  67094. * storage/IDBFactoryBackendImpl.h:
  67095. 2011-06-17 Andrey Adaikin <aandrey@google.com>
  67096. Reviewed by Pavel Feldman.
  67097. Web Inspector: Source code which includes non-Latin character does not correspond to line number field on Inspector
  67098. https://bugs.webkit.org/show_bug.cgi?id=62845
  67099. * inspector/front-end/TextViewer.js:
  67100. (WebInspector.TextViewer.prototype._syncLineHeight):
  67101. (WebInspector.TextEditorGutterPanel):
  67102. (WebInspector.TextEditorGutterChunk.prototype.set expanded):
  67103. 2011-06-16 Yury Semikhatsky <yurys@chromium.org>
  67104. Reviewed by Pavel Feldman.
  67105. Web Inspector: return description of the changes applied in response to editScriptSource command
  67106. https://bugs.webkit.org/show_bug.cgi?id=62801
  67107. Return description of the changes made in response to Debugger.editScriptSource command.
  67108. * bindings/js/ScriptDebugServer.cpp:
  67109. (WebCore::ScriptDebugServer::editScriptSource):
  67110. * bindings/js/ScriptDebugServer.h:
  67111. * bindings/v8/DebuggerScript.js:
  67112. ():
  67113. * bindings/v8/ScriptDebugServer.cpp:
  67114. (WebCore::ScriptDebugServer::editScriptSource):
  67115. * bindings/v8/ScriptDebugServer.h:
  67116. * inspector/Inspector.json:
  67117. 2011-06-16 Gabor Loki <loki@webkit.org>
  67118. [Qt] Unreviewed, build fix after r89118.
  67119. * dom/XMLDocumentParserQt.cpp:
  67120. (WebCore::XMLDocumentParser::initializeParserContext):
  67121. 2011-06-16 Yuta Kitamura <yutak@chromium.org>
  67122. Unreviewed, rolling out r89073.
  67123. http://trac.webkit.org/changeset/89073
  67124. https://bugs.webkit.org/show_bug.cgi?id=62783
  67125. Broke Chromium Clang build.
  67126. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
  67127. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
  67128. (wkScrollbarPainterPaint):
  67129. * platform/chromium/ScrollbarThemeChromiumMac.h:
  67130. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  67131. (WebCore::ScrollbarThemeChromiumMac::paint):
  67132. 2011-06-16 Jeffrey Pfau <jpfau@apple.com>
  67133. Reviewed by Alexey Proskuryakov.
  67134. Using null bytes when setting innerHTML in XTHML results in assertion and a crash due to null-pointer dereference
  67135. https://bugs.webkit.org/show_bug.cgi?id=61053
  67136. XML parsing in-memory XML chunks now passes around a string object instead of a C string, ensuring null characters are properly handled.
  67137. Tests: fast/parser/xhtml-innerhtml-null-byte-first.xhtml
  67138. fast/parser/xhtml-innerhtml-null-byte.xhtml
  67139. * dom/XMLDocumentParser.h:
  67140. * dom/XMLDocumentParserLibxml2.cpp:
  67141. (WebCore::XMLParserContext::createMemoryParser):
  67142. (WebCore::XMLDocumentParser::initializeParserContext):
  67143. (WebCore::XMLDocumentParser::appendFragmentSource):
  67144. 2011-06-16 Robin Dunn <robin@alldunn.com>
  67145. Reviewed by Kevin Ollivier.
  67146. [wx] Account for differing byte order when decoding images in the PPC build.
  67147. https://bugs.webkit.org/show_bug.cgi?id=62830
  67148. * platform/image-decoders/wx/ImageDecoderWx.cpp:
  67149. (WebCore::ImageFrame::asNewNativeImage):
  67150. 2011-06-16 Darin Adler <darin@apple.com>
  67151. Reviewed by Dan Bernstein.
  67152. REGRESSION (r89035): HTMLTableRowsCollection constructor crashes; depends on compiler order of evaluation
  67153. https://bugs.webkit.org/show_bug.cgi?id=62836
  67154. Covered by existing tests on platforms where it occurs.
  67155. * html/HTMLTableRowsCollection.cpp:
  67156. (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection): Add a call to get()
  67157. to prevent the passing behavior of PassRefPtr from kicking in and changing the
  67158. table pointer to 0, possibly before it is dereferenced.
  67159. 2011-06-16 Sheriff Bot <webkit.review.bot@gmail.com>
  67160. Unreviewed, rolling out r89055.
  67161. http://trac.webkit.org/changeset/89055
  67162. https://bugs.webkit.org/show_bug.cgi?id=62835
  67163. Caused failures on all ports except GTK (Requested by
  67164. mrobinson on #webkit).
  67165. * platform/network/soup/ResourceHandleSoup.cpp:
  67166. (WebCore::statusWillBeHandledBySoup):
  67167. (WebCore::soupErrorShouldCauseLoadFailure):
  67168. (WebCore::convertSoupErrorToResourceError):
  67169. (WebCore::sendRequestCallback):
  67170. 2011-06-16 Ryosuke Niwa <rniwa@webkit.org>
  67171. Reviewed by Darin Adler.
  67172. Support logical line movement in vertical writing mode
  67173. https://bugs.webkit.org/show_bug.cgi?id=62743
  67174. Fixed the bug by making xOffsetForVerticalNavigation (now called lineDirectionPointForVerticalNavigation)
  67175. aware of writing modes. Also extracted absoluteLineDirectionPointToLocalPointInBlock from previousLinePosition
  67176. and nextLinePosition to convert a line direction point to a physical point relative to a root inline box.
  67177. Tests: editing/selection/vertical-lr-ltr-extend-line-backward-br.html
  67178. editing/selection/vertical-lr-ltr-extend-line-forward-br.html
  67179. editing/selection/vertical-rl-ltr-extend-line-backward-br.html
  67180. editing/selection/vertical-rl-ltr-extend-line-backward-p.html
  67181. editing/selection/vertical-rl-ltr-extend-line-backward-wrap.html
  67182. editing/selection/vertical-rl-ltr-extend-line-forward-br.html
  67183. editing/selection/vertical-rl-ltr-extend-line-forward-p.html
  67184. editing/selection/vertical-rl-ltr-extend-line-forward-wrap.html
  67185. editing/selection/vertical-rl-rtl-extend-line-backward-br.html
  67186. editing/selection/vertical-rl-rtl-extend-line-backward-p.html
  67187. editing/selection/vertical-rl-rtl-extend-line-forward-br.html
  67188. editing/selection/vertical-rl-rtl-extend-line-forward-p.html
  67189. * editing/FrameSelection.cpp:
  67190. (WebCore::FrameSelection::modifyExtendingForward): Calls lineDirectionPointForBlockDirectionNavigation.
  67191. (WebCore::FrameSelection::modifyMovingForward): Ditto.
  67192. (WebCore::FrameSelection::modifyExtendingBackward): Ditto.
  67193. (WebCore::FrameSelection::modifyMovingBackward): Ditto.
  67194. (WebCore::FrameSelection::modify): Ditto.
  67195. (WebCore::FrameSelection::lineDirectionPointForBlockDirectionNavigation): Renamed from
  67196. xPosForVerticalArrowNavigation; calls VisiblePosition::lineDirectionPointForVerticalNavigation.
  67197. * editing/FrameSelection.h:
  67198. * editing/VisiblePosition.cpp:
  67199. (WebCore::VisiblePosition::lineDirectionPointForBlockDirectionNavigation): Renamed from
  67200. xOffsetForVerticalNavigation. Returns line direction point instead of visual x coordinate.
  67201. * editing/VisiblePosition.h:
  67202. * editing/visible_units.cpp:
  67203. (WebCore::absoluteLineDirectionPointToLocalPointInBlock): Extracted from previousLinePosition and
  67204. nextLinePosition. Takes care or writing modes.
  67205. (WebCore::previousLinePosition): Calls absoluteLineDirectionPointToLocalPointInBlock.
  67206. (WebCore::nextLinePosition): Ditto.
  67207. * editing/visible_units.h:
  67208. * rendering/RootInlineBox.cpp:
  67209. (WebCore::RootInlineBox::closestLeafChildForPoint): Added; takes a physical point and calls
  67210. closestLeafChildForLogicalLeftPosition with logical x.
  67211. * rendering/RootInlineBox.h:
  67212. 2011-06-16 Nate Chapin <japhet@chromium.org>
  67213. Reviewed by Alexey Proskuryakov.
  67214. Set the referrer on a ResourceRequest from a WorkerThreadableLoader
  67215. as soon as the request reaches the main thread and remove the
  67216. optionalOutgoingReferrer parameter from some functions.
  67217. https://bugs.webkit.org/show_bug.cgi?id=62806
  67218. * loader/DocumentThreadableLoader.cpp:
  67219. (WebCore::DocumentThreadableLoader::loadResourceSynchronously):
  67220. (WebCore::DocumentThreadableLoader::create):
  67221. (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
  67222. (WebCore::DocumentThreadableLoader::loadRequest):
  67223. * loader/DocumentThreadableLoader.h:
  67224. * loader/ResourceLoadScheduler.cpp:
  67225. (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
  67226. * loader/ResourceLoadScheduler.h:
  67227. * loader/SubresourceLoader.cpp:
  67228. (WebCore::SubresourceLoader::create):
  67229. * loader/SubresourceLoader.h:
  67230. * loader/WorkerThreadableLoader.cpp:
  67231. (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
  67232. 2011-06-16 Eric Seidel <eric@webkit.org>
  67233. Reviewed by Adam Barth.
  67234. FrameLoader doesn't need completeURL or baseURL
  67235. https://bugs.webkit.org/show_bug.cgi?id=62818
  67236. No functional change, thus no tests.
  67237. * html/HTMLPlugInImageElement.cpp:
  67238. (WebCore::HTMLPlugInImageElement::isImageType):
  67239. (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
  67240. * inspector/InspectorPageAgent.cpp:
  67241. (WebCore::InspectorPageAgent::open):
  67242. * loader/FrameLoader.cpp:
  67243. * loader/FrameLoader.h:
  67244. * loader/NavigationScheduler.cpp:
  67245. (WebCore::NavigationScheduler::scheduleLocationChange):
  67246. * page/History.cpp:
  67247. (WebCore::History::urlForState):
  67248. 2011-06-16 Dawit Alemayehu <adawit@kde.org>
  67249. Reviewed by Antonio Gomes.
  67250. Support for gnash flash player plugin in QtWebKit
  67251. [Qt] Support for the gnash flash player plugin
  67252. https://bugs.webkit.org/show_bug.cgi?id=62283
  67253. No new tests needed. Existing nsplugin tests are sufficient.
  67254. * plugins/qt/PluginPackageQt.cpp:
  67255. (WebCore::PluginPackage::load):
  67256. 2011-06-16 Sailesh Agrawal <sail@chromium.org>
  67257. Reviewed by Mihai Parparita.
  67258. [Chromium] Draw search tickmarks on overlay scrollbars
  67259. https://bugs.webkit.org/show_bug.cgi?id=62783
  67260. This change adds search tickmark support for overlay scrollbars. Tickmarks are only drawn when the scroll track is visible.
  67261. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:Split the scrollbar drawing code into a track and knob version.
  67262. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
  67263. (wkScrollbarPainterPaint):
  67264. (wkScrollbarPainterPaintTrack):
  67265. (wkScrollbarPainterPaintKnob):
  67266. * platform/chromium/ScrollbarThemeChromiumMac.h:
  67267. * platform/chromium/ScrollbarThemeChromiumMac.mm:Factor out the paint tickmark code and call it from the overlay scrollbar drawing code.
  67268. (WebCore::ScrollbarThemeChromiumMac::paint):
  67269. (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
  67270. 2011-06-16 Geoffrey Garen <ggaren@apple.com>
  67271. Reviewed by Oliver Hunt.
  67272. Introduced SlotVisitor into the project
  67273. https://bugs.webkit.org/show_bug.cgi?id=62820
  67274. This resolves a class vs typedef forward declaration issue, and gives all
  67275. exported symbols the correct names.
  67276. * dom/EventListener.h:
  67277. * dom/Node.h:
  67278. * dom/NodeFilterCondition.h:
  67279. 2011-06-16 Abhishek Arya <inferno@chromium.org>
  67280. Reviewed by Adam Barth.
  67281. RefPtr frame since it can get removed in
  67282. FrameLoader::finishedParsing.
  67283. https://bugs.webkit.org/show_bug.cgi?id=62812
  67284. Tests: already tested by fast/parser/document-write-into-initial-document.html.
  67285. * dom/Document.cpp:
  67286. (WebCore::Document::finishedParsing):
  67287. 2011-06-16 Sailesh Agrawal <sail@chromium.org>
  67288. Reviewed by Mihai Parparita.
  67289. [Chromium] Update forked ScrollAnimatorChromiumMac.mm/h
  67290. https://bugs.webkit.org/show_bug.cgi?id=62779
  67291. Updated ScrollAnimatorChromiumMac.mm/h with the latest code in WebCore/platform/mac/ScrollAnimatorMac.mm/h
  67292. * platform/chromium/ScrollAnimatorChromiumMac.h:
  67293. (WebCore::ScrollAnimatorChromiumMac::setNeedsScrollerStyleUpdate):
  67294. (WebCore::ScrollAnimatorChromiumMac::needsScrollerStyleUpdate):
  67295. * platform/chromium/ScrollAnimatorChromiumMac.mm:
  67296. (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
  67297. (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
  67298. (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
  67299. (WebCore::ScrollAnimatorChromiumMac::scroll):
  67300. (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPointForScrollAnimation):
  67301. (WebCore::isScrollingLeftAndShouldNotRubberBand):
  67302. (WebCore::isScrollingRightAndShouldNotRubberBand):
  67303. (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
  67304. (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
  67305. (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
  67306. (WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
  67307. (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
  67308. (WebCore::ScrollAnimatorChromiumMac::setIsActive):
  67309. (WebCore::ScrollAnimatorChromiumMac::updateScrollerStyle):
  67310. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
  67311. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
  67312. (wkScrollbarPainterControllerStyle):
  67313. 2011-06-16 Sailesh Agrawal <sail@chromium.org>
  67314. Reviewed by Mihai Parparita.
  67315. [Chromium] Overlay scrollbars leave glitches on web content
  67316. https://bugs.webkit.org/show_bug.cgi?id=62383
  67317. Enable overlay scrollbars on Chromium Mac.
  67318. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
  67319. (preferredScrollerStyle):
  67320. 2011-06-16 una sabovic <una.sabovic@palm.com>
  67321. Reviewed by Simon Fraser.
  67322. Optimization: do a single fillRect when painting the root background in RenderBoxModelObject::paintFillLayerExtended
  67323. https://bugs.webkit.org/show_bug.cgi?id=62593
  67324. When painting the root background, instead of doing two fillRects blend the base with background color and do a single fillRect.
  67325. No new tests. This is an optimization and it doesn't change any existing functionality.
  67326. * rendering/RenderBoxModelObject.cpp:
  67327. (WebCore::RenderBoxModelObject::paintFillLayerExtended):
  67328. 2011-06-16 Ryosuke Niwa <rniwa@webkit.org>
  67329. Reviewed by Eric Seidel.
  67330. Consider padding and border when looking for the next/previous line position
  67331. https://bugs.webkit.org/show_bug.cgi?id=55481
  67332. The bug was caused by previousLinePosition and nextLinePosition passing y coordinate
  67333. above the line in some cases. Fixed the bug by passing the larger of selectionTop and logicalTop.
  67334. This patch is based on a patch originally written by Mario Sanchez Prada <msanchez@igalia.com>.
  67335. Test: editing/selection/move-vertically-with-paddings-borders.html
  67336. * editing/visible_units.cpp:
  67337. (WebCore::previousLinePosition):
  67338. (WebCore::nextLinePosition):
  67339. * rendering/RootInlineBox.h:
  67340. (WebCore::RootInlineBox::blockDirectionPointInLine):
  67341. 2011-06-16 Keunsoon Lee <keunsoon.lee@samsung.com>
  67342. Reviewed by Martin Robinson.
  67343. [SOUP] Abnormal operation if server sends 5xx status code without HTTP body
  67344. https://bugs.webkit.org/show_bug.cgi?id=60875
  67345. Handle status code 4xx and 5xx after receiving HTTP body
  67346. Webkit soup port premises that server always sends error page
  67347. in case server sends error code, 4xx and 5xx.
  67348. But, sometimes there is no HTTP body for error page.
  67349. In that case, Webkit does nothing or tries to download the HTTP response
  67350. according to received MIME Type even if there is no HTTP body. (abnormal operation)
  67351. With this modification,
  67352. Browser will show received error page if server sends error page.
  67353. Or it will show its own error page from each port if server sends nothing.
  67354. Modified algorithm
  67355. 1) libsoup sends status code 4xx or 5xx (client error or server error)
  67356. 2) Webkit soup port orders to accumulate HTTP body chunks to libsoup.
  67357. 3) Webkit soup port ignores gotHeadersCallback, contentSniffedCallback and gotChunkCallback.
  67358. 4) Webkit soup port checks there is HTTP body or not on sendRequestCallback and;
  67359. 4-1) if there is HTTP body, calls didReceiveResponse()
  67360. 4-2) if there is no HTTP body, calls didFail() - prevent the abnormal operation
  67361. Test: http/tests/loading/status-code-error-without-response-body.html
  67362. * platform/network/soup/ResourceHandleSoup.cpp:
  67363. (WebCore::statusWillBeHandledBySoup):
  67364. Add a new condition, SOUP_STATUS_IS_CLIENT_ERROR() and SOUP_STATUS_IS_SERVER_ERROR()
  67365. (WebCore::soupErrorAndHaveNotReceivedBody):
  67366. Add a new helper function, it checks received body is exist if soup sends error code
  67367. (WebCore::soupErrorShouldCauseLoadFailure):
  67368. Add a new condition, soupErrorAndHaveNotReceivedBody()
  67369. (WebCore::convertSoupErrorToResourceError):
  67370. Add a new condition, soupErrorAndHaveNotReceivedBody()
  67371. (WebCore::sendRequestCallback):
  67372. Check handle->client() again, because didReceiveResponse() can make it zero
  67373. 2011-06-16 Vsevolod Vlasov <vsevik@chromium.org>
  67374. Reviewed by Pavel Feldman.
  67375. Web Inspector: Network panel shows incorrect query parameters when url has fragment.
  67376. https://bugs.webkit.org/show_bug.cgi?id=62723
  67377. * English.lproj/localizedStrings.js:
  67378. * inspector/front-end/HAREntry.js:
  67379. (WebInspector.HAREntry.prototype._buildRequest):
  67380. (WebInspector.HAREntry.prototype._buildRequestURL):
  67381. * inspector/front-end/Resource.js:
  67382. (WebInspector.Resource.prototype.set url):
  67383. (WebInspector.Resource.prototype.get queryParameters):
  67384. * inspector/front-end/ResourceHeadersView.js:
  67385. (WebInspector.ResourceHeadersView):
  67386. (WebInspector.ResourceHeadersView.prototype._refreshUrlFragment):
  67387. 2011-06-16 Dimitri Glazkov <dglazkov@chromium.org>
  67388. Clang fix after r89039.
  67389. * rendering/RenderThemeMac.h: Removed spurious constipation.
  67390. * rendering/RenderThemeMac.mm:
  67391. (WebCore::RenderThemeMac::fileListNameForWidth): Ditto.
  67392. 2011-06-16 Sheriff Bot <webkit.review.bot@gmail.com>
  67393. Unreviewed, rolling out r89026.
  67394. http://trac.webkit.org/changeset/89026
  67395. https://bugs.webkit.org/show_bug.cgi?id=62804
  67396. These patches were likely correct. I'll investigate the
  67397. browser_test failures. (Requested by abarth on #webkit).
  67398. * WebCore.exp.in:
  67399. * bindings/js/ScheduledAction.cpp:
  67400. (WebCore::ScheduledAction::execute):
  67401. * bindings/js/ScriptController.cpp:
  67402. (WebCore::ScriptController::ScriptController):
  67403. (WebCore::ScriptController::processingUserGesture):
  67404. * bindings/js/ScriptController.h:
  67405. * bindings/v8/ScriptController.cpp:
  67406. (WebCore::ScriptController::ScriptController):
  67407. (WebCore::ScriptController::processingUserGesture):
  67408. * bindings/v8/ScriptController.h:
  67409. * dom/Event.cpp:
  67410. * dom/Event.h:
  67411. * dom/UserGestureIndicator.cpp:
  67412. (WebCore::isDefinite):
  67413. (WebCore::UserGestureIndicator::UserGestureIndicator):
  67414. (WebCore::UserGestureIndicator::~UserGestureIndicator):
  67415. * dom/UserGestureIndicator.h:
  67416. (WebCore::UserGestureIndicator::processingUserGesture):
  67417. * html/HTMLMediaElement.cpp:
  67418. (WebCore::HTMLMediaElement::removedFromDocument):
  67419. (WebCore::HTMLMediaElement::load):
  67420. (WebCore::HTMLMediaElement::play):
  67421. (WebCore::HTMLMediaElement::pause):
  67422. (WebCore::HTMLMediaElement::beginScrubbing):
  67423. (WebCore::HTMLMediaElement::resume):
  67424. * html/HTMLMediaElement.h:
  67425. * html/HTMLMediaElement.idl:
  67426. * html/HTMLVideoElement.cpp:
  67427. (WebCore::HTMLVideoElement::webkitEnterFullscreen):
  67428. * html/HTMLVideoElement.h:
  67429. (WebCore::HTMLVideoElement::webkitEnterFullScreen):
  67430. * html/HTMLVideoElement.idl:
  67431. * html/MediaDocument.cpp:
  67432. (WebCore::MediaDocument::defaultEventHandler):
  67433. * html/shadow/MediaControlElements.cpp:
  67434. (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
  67435. * html/shadow/TextControlInnerElements.cpp:
  67436. (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
  67437. 2011-06-16 Dimitri Glazkov <dglazkov@chromium.org>
  67438. [Qt] Build fix after r89039.
  67439. * WebCore.pro: Added StringTruncator to build system.
  67440. * platform/qt/RenderThemeQt.cpp: Reverted previous change.
  67441. 2011-06-16 Dimitri Glazkov <dglazkov@chromium.org>
  67442. [Qt] Build fix after r89039.
  67443. * platform/qt/RenderThemeQt.cpp: Added StringTruncator include.
  67444. 2011-06-16 Dimitri Glazkov <dglazkov@chromium.org>
  67445. [Qt] Build fix after r89039.
  67446. * platform/qt/RenderThemeQt.h: Renamed local variable f to font.
  67447. 2011-06-16 Dimitri Glazkov <dglazkov@chromium.org>
  67448. [Qt] Build fix after r89039.
  67449. * platform/qt/RenderThemeQt.h: Move decl out of ENABLE(VIDEO) ifdef.
  67450. 2011-06-15 Dimitri Glazkov <dglazkov@chromium.org>
  67451. Reviewed by Kent Tamura.
  67452. Move FileChooser::basenameForWidth to RenderTheme::fileListNameForWidth, eliminate gnarly FileChooserFoo proliferation.
  67453. https://bugs.webkit.org/show_bug.cgi?id=62748
  67454. Refactoring, covered by existing tests.
  67455. * CMakeListsEfl.txt: Removed FileChooserFoo from build system.
  67456. * CMakeListsWinCE.txt: Ditto.
  67457. * GNUmakefile.list.am: Ditto.
  67458. * WebCore.gypi: Ditto.
  67459. * WebCore.order: Ditto.
  67460. * WebCore.pro: Ditto.
  67461. * WebCore.vcproj/WebCore.vcproj: Ditto.
  67462. * WebCore.xcodeproj/project.pbxproj: Ditto.
  67463. * platform/FileChooser.h: Removed baseNameForWidth decl.
  67464. * platform/FileSystem.h: Removed now-unnecessary Chromium-specific cruft.
  67465. * platform/android/FileChooserAndroid.cpp: Removed.
  67466. * platform/brew/FileChooserBrew.cpp: Removed.
  67467. * platform/chromium/FileChooserChromium.cpp: Removed.
  67468. * platform/chromium/FileSystemChromiumLinux.cpp: Removed now-unnecessary code.
  67469. * platform/chromium/FileSystemChromiumMac.mm: Ditto.
  67470. * platform/chromium/FileSystemChromiumWin.cpp: Ditto.
  67471. * platform/efl/FileChooserEfl.cpp: Removed.
  67472. * platform/gtk/FileChooserGtk.cpp: Removed.
  67473. * platform/gtk/RenderThemeGtk.cpp:
  67474. (WebCore::stringByAdoptingFileSystemRepresentation): Moved from FileChooserGtk.
  67475. (WebCore::RenderThemeGtk::fileListNameForWidth): Ditto.
  67476. * platform/gtk/RenderThemeGtk.h: Added decl.
  67477. * platform/haiku/FileChooserHaiku.cpp: Removed.
  67478. * platform/mac/FileChooserMac.mm: Removed.
  67479. * platform/qt/FileChooserQt.cpp: Removed.
  67480. * platform/qt/RenderThemeQt.cpp:
  67481. (WebCore::RenderThemeQt::RenderThemeQt): Moved from FileChooserQt.
  67482. (WebCore::RenderThemeQt::fileListNameForWidth): Ditto.
  67483. * platform/qt/RenderThemeQt.h: Adde decl.
  67484. * platform/win/FileChooserWin.cpp: Removed.
  67485. * platform/wx/FileChooserWx.cpp: Removed.
  67486. * rendering/RenderFileUploadControl.cpp:
  67487. (WebCore::RenderFileUploadControl::fileTextValue): Changed to use RenderTheme.
  67488. * rendering/RenderTheme.cpp:
  67489. (WebCore::RenderTheme::fileListNameForWidth): Added default impl.
  67490. * rendering/RenderTheme.h: Added decl.
  67491. * rendering/RenderThemeMac.h: Ditto.
  67492. * rendering/RenderThemeMac.mm:
  67493. (WebCore::RenderThemeMac::fileListNameForWidth): Added default Mac impl.
  67494. 2011-06-16 Vsevolod Vlasov <vsevik@chromium.org>
  67495. Reviewed by Pavel Feldman.
  67496. Web Inspector: Cache XHR content in backend, do not use initialContentSet for XHRs.
  67497. https://bugs.webkit.org/show_bug.cgi?id=61205
  67498. Added inspector backend cache for XHR content.
  67499. Tests: http/tests/inspector/network/network-xhr-async.html
  67500. http/tests/inspector/network/network-xhr-sync.html
  67501. * CMakeLists.txt:
  67502. * GNUmakefile.list.am:
  67503. * WebCore.gypi:
  67504. * WebCore.pro:
  67505. * WebCore.vcproj/WebCore.vcproj:
  67506. * WebCore.xcodeproj/project.pbxproj:
  67507. * fileapi/FileReaderLoader.cpp:
  67508. (WebCore::FileReaderLoader::didReceiveResponse):
  67509. * fileapi/FileReaderLoader.h:
  67510. * inspector/Inspector.json:
  67511. * inspector/InspectorInstrumentation.cpp:
  67512. (WebCore::InspectorInstrumentation::didReceiveXHRResponseImpl):
  67513. (WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl):
  67514. (WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl):
  67515. (WebCore::InspectorInstrumentation::didCommitLoadImpl):
  67516. * inspector/InspectorInstrumentation.h:
  67517. (WebCore::InspectorInstrumentation::didReceiveXHRResponse):
  67518. (WebCore::InspectorInstrumentation::willLoadXHRSynchronously):
  67519. (WebCore::InspectorInstrumentation::didLoadXHRSynchronously):
  67520. * inspector/InspectorResourceAgent.cpp:
  67521. (WebCore::InspectorResourceAgent::willSendRequest):
  67522. (WebCore::InspectorResourceAgent::didReceiveResponse):
  67523. (WebCore::InspectorResourceAgent::setInitialXHRContent):
  67524. (WebCore::InspectorResourceAgent::didReceiveXHRResponse):
  67525. (WebCore::InspectorResourceAgent::willLoadXHRSynchronously):
  67526. (WebCore::InspectorResourceAgent::didLoadXHRSynchronously):
  67527. (WebCore::InspectorResourceAgent::getResourceContent):
  67528. (WebCore::InspectorResourceAgent::mainFrameNavigated):
  67529. (WebCore::InspectorResourceAgent::InspectorResourceAgent):
  67530. * inspector/InspectorResourceAgent.h:
  67531. * inspector/NetworkResourcesData.cpp: Added.
  67532. (WebCore::NetworkResourcesData::ResourceData::ResourceData):
  67533. (WebCore::NetworkResourcesData::ResourceData::content):
  67534. (WebCore::NetworkResourcesData::ResourceData::appendContent):
  67535. (WebCore::NetworkResourcesData::ResourceData::purgeContent):
  67536. (WebCore::NetworkResourcesData::NetworkResourcesData):
  67537. (WebCore::NetworkResourcesData::~NetworkResourcesData):
  67538. (WebCore::NetworkResourcesData::resourceCreated):
  67539. (WebCore::NetworkResourcesData::responseReceived):
  67540. (WebCore::NetworkResourcesData::didReceiveXHRResponse):
  67541. (WebCore::NetworkResourcesData::addResourceContent):
  67542. (WebCore::NetworkResourcesData::isXHR):
  67543. (WebCore::NetworkResourcesData::data):
  67544. (WebCore::NetworkResourcesData::clear):
  67545. (WebCore::NetworkResourcesData::ensureNoDataForIdentifier):
  67546. (WebCore::NetworkResourcesData::ensureFreeSpace):
  67547. * inspector/NetworkResourcesData.h: Added.
  67548. (WebCore::NetworkResourcesData::ResourceData::identifier):
  67549. (WebCore::NetworkResourcesData::ResourceData::loaderId):
  67550. (WebCore::NetworkResourcesData::ResourceData::frameId):
  67551. (WebCore::NetworkResourcesData::ResourceData::setFrameId):
  67552. (WebCore::NetworkResourcesData::ResourceData::url):
  67553. (WebCore::NetworkResourcesData::ResourceData::setUrl):
  67554. (WebCore::NetworkResourcesData::ResourceData::isXHR):
  67555. (WebCore::NetworkResourcesData::ResourceData::setIsXHR):
  67556. (WebCore::NetworkResourcesData::ResourceData::hasContent):
  67557. (WebCore::NetworkResourcesData::ResourceData::isContentPurged):
  67558. (WebCore::NetworkResourcesData::ResourceData::setIsContentPurged):
  67559. * inspector/front-end/NetworkManager.js:
  67560. (WebInspector.NetworkManager.prototype.requestContent):
  67561. (WebInspector.NetworkDispatcher.prototype._appendRedirect):
  67562. * inspector/front-end/NetworkPanel.js:
  67563. (WebInspector.NetworkPanel.prototype._appendResource):
  67564. (WebInspector.NetworkPanel.prototype._frameNavigated):
  67565. * loader/DocumentThreadableLoader.cpp:
  67566. (WebCore::DocumentThreadableLoader::didReceiveResponse):
  67567. (WebCore::DocumentThreadableLoader::receivedCancellation):
  67568. (WebCore::DocumentThreadableLoader::loadRequest):
  67569. * loader/DocumentThreadableLoader.h:
  67570. * loader/ThreadableLoaderClient.h:
  67571. (WebCore::ThreadableLoaderClient::didReceiveResponse):
  67572. (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation):
  67573. * loader/ThreadableLoaderClientWrapper.h:
  67574. (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
  67575. (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
  67576. * loader/WorkerThreadableLoader.cpp:
  67577. (WebCore::workerContextDidReceiveResponse):
  67578. (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
  67579. (WebCore::workerContextDidReceiveAuthenticationCancellation):
  67580. (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
  67581. * loader/WorkerThreadableLoader.h:
  67582. * notifications/Notification.cpp:
  67583. (WebCore::Notification::didReceiveResponse):
  67584. (WebCore::Notification::didReceiveAuthenticationCancellation):
  67585. * notifications/Notification.h:
  67586. * page/EventSource.cpp:
  67587. (WebCore::EventSource::didReceiveResponse):
  67588. * page/EventSource.h:
  67589. * workers/WorkerScriptLoader.cpp:
  67590. (WebCore::WorkerScriptLoader::didReceiveResponse):
  67591. (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
  67592. * workers/WorkerScriptLoader.h:
  67593. * xml/XMLHttpRequest.cpp:
  67594. (WebCore::XMLHttpRequest::createRequest):
  67595. (WebCore::XMLHttpRequest::didReceiveResponse):
  67596. (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation):
  67597. * xml/XMLHttpRequest.h:
  67598. 2011-06-16 Julien Chaffraix <jchaffraix@webkit.org>
  67599. Reviewed by Darin Adler.
  67600. HTMLTable should cache its 'rows' collection results
  67601. https://bugs.webkit.org/show_bug.cgi?id=62800
  67602. Test: perf/table-rows-length-caching.html
  67603. Currently all our HTMLCollection's are recreated on call. This means that
  67604. we don't cache the information about the collection between calls to, for
  67605. example, table.rows.
  67606. This change adds a CollectionCache to HTMLTableElement. It is similar to what
  67607. is done for HTMLFormElement.
  67608. * html/HTMLTableElement.cpp:
  67609. (WebCore::HTMLTableElement::collectionCache): This method does
  67610. lazy initialization of the table's collectionCache.
  67611. * html/HTMLTableElement.h: Added a new member and the previous
  67612. method.
  67613. * html/HTMLTableRowsCollection.cpp:
  67614. (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection): Pass
  67615. the HTMLTableElement's CollectionCache so that we reuse the cached
  67616. results.
  67617. 2011-06-16 Sheriff Bot <webkit.review.bot@gmail.com>
  67618. Unreviewed, rolling out r89025.
  67619. http://trac.webkit.org/changeset/89025
  67620. https://bugs.webkit.org/show_bug.cgi?id=62799
  67621. "Some layout tests fail" (Requested by yurys on #webkit).
  67622. * CMakeLists.txt:
  67623. * GNUmakefile.list.am:
  67624. * WebCore.gypi:
  67625. * WebCore.pro:
  67626. * WebCore.vcproj/WebCore.vcproj:
  67627. * WebCore.xcodeproj/project.pbxproj:
  67628. * fileapi/FileReaderLoader.cpp:
  67629. (WebCore::FileReaderLoader::didReceiveResponse):
  67630. * fileapi/FileReaderLoader.h:
  67631. * inspector/Inspector.json:
  67632. * inspector/InspectorInstrumentation.cpp:
  67633. (WebCore::InspectorInstrumentation::didCommitLoadImpl):
  67634. * inspector/InspectorInstrumentation.h:
  67635. * inspector/InspectorResourceAgent.cpp:
  67636. (WebCore::InspectorResourceAgent::willSendRequest):
  67637. (WebCore::InspectorResourceAgent::didReceiveResponse):
  67638. (WebCore::InspectorResourceAgent::setInitialXHRContent):
  67639. (WebCore::InspectorResourceAgent::InspectorResourceAgent):
  67640. * inspector/InspectorResourceAgent.h:
  67641. * inspector/NetworkResourcesData.cpp: Removed.
  67642. * inspector/NetworkResourcesData.h: Removed.
  67643. * inspector/front-end/NetworkManager.js:
  67644. (WebInspector.NetworkManager.prototype.requestContent):
  67645. (WebInspector.NetworkDispatcher.prototype._appendRedirect):
  67646. * inspector/front-end/NetworkPanel.js:
  67647. (WebInspector.NetworkPanel.prototype._appendResource):
  67648. (WebInspector.NetworkPanel.prototype._frameNavigated):
  67649. * loader/DocumentThreadableLoader.cpp:
  67650. (WebCore::DocumentThreadableLoader::didReceiveResponse):
  67651. (WebCore::DocumentThreadableLoader::receivedCancellation):
  67652. (WebCore::DocumentThreadableLoader::loadRequest):
  67653. * loader/DocumentThreadableLoader.h:
  67654. * loader/ThreadableLoaderClient.h:
  67655. (WebCore::ThreadableLoaderClient::didReceiveResponse):
  67656. (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation):
  67657. * loader/ThreadableLoaderClientWrapper.h:
  67658. (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
  67659. (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
  67660. * loader/WorkerThreadableLoader.cpp:
  67661. (WebCore::workerContextDidReceiveResponse):
  67662. (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
  67663. (WebCore::workerContextDidReceiveAuthenticationCancellation):
  67664. (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
  67665. * loader/WorkerThreadableLoader.h:
  67666. * notifications/Notification.cpp:
  67667. (WebCore::Notification::didReceiveResponse):
  67668. (WebCore::Notification::didReceiveAuthenticationCancellation):
  67669. * notifications/Notification.h:
  67670. * page/EventSource.cpp:
  67671. (WebCore::EventSource::didReceiveResponse):
  67672. * page/EventSource.h:
  67673. * workers/WorkerScriptLoader.cpp:
  67674. (WebCore::WorkerScriptLoader::didReceiveResponse):
  67675. (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
  67676. * workers/WorkerScriptLoader.h:
  67677. * xml/XMLHttpRequest.cpp:
  67678. (WebCore::XMLHttpRequest::createRequest):
  67679. (WebCore::XMLHttpRequest::didReceiveResponse):
  67680. (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation):
  67681. * xml/XMLHttpRequest.h:
  67682. 2011-06-16 Vitaly Repeshko <vitalyr@chromium.org>
  67683. Unreviewed.
  67684. Revert Adam's user gesture patch series r89002, r89005, r89007, r89018
  67685. https://bugs.webkit.org/show_bug.cgi?id=62796
  67686. The patches broke chromium browser tests.
  67687. * WebCore.exp.in:
  67688. * bindings/js/ScheduledAction.cpp:
  67689. (WebCore::ScheduledAction::execute):
  67690. * bindings/js/ScriptController.cpp:
  67691. (WebCore::ScriptController::ScriptController):
  67692. (WebCore::ScriptController::processingUserGesture):
  67693. (WebCore::ScriptController::isJavaScriptAnchorNavigation):
  67694. * bindings/js/ScriptController.h:
  67695. (WebCore::ScriptController::setProcessingTimerCallback):
  67696. * bindings/v8/ScriptController.cpp:
  67697. (WebCore::ScriptController::ScriptController):
  67698. (WebCore::ScriptController::processingUserGesture):
  67699. * bindings/v8/ScriptController.h:
  67700. (WebCore::ScriptController::setProcessingTimerCallback):
  67701. * dom/Event.cpp:
  67702. (WebCore::Event::fromUserGesture):
  67703. * dom/Event.h:
  67704. * dom/UserGestureIndicator.cpp:
  67705. (WebCore::UserGestureIndicator::UserGestureIndicator):
  67706. (WebCore::UserGestureIndicator::~UserGestureIndicator):
  67707. * dom/UserGestureIndicator.h:
  67708. (WebCore::UserGestureIndicator::processingUserGesture):
  67709. (WebCore::UserGestureIndicator::getUserGestureState):
  67710. * html/HTMLMediaElement.cpp:
  67711. (WebCore::HTMLMediaElement::removedFromDocument):
  67712. (WebCore::HTMLMediaElement::load):
  67713. (WebCore::HTMLMediaElement::play):
  67714. (WebCore::HTMLMediaElement::pause):
  67715. (WebCore::HTMLMediaElement::beginScrubbing):
  67716. (WebCore::HTMLMediaElement::resume):
  67717. (WebCore::HTMLMediaElement::processingUserGesture):
  67718. * html/HTMLMediaElement.h:
  67719. * html/HTMLMediaElement.idl:
  67720. * html/HTMLVideoElement.cpp:
  67721. (WebCore::HTMLVideoElement::webkitEnterFullscreen):
  67722. * html/HTMLVideoElement.h:
  67723. (WebCore::HTMLVideoElement::webkitEnterFullScreen):
  67724. * html/HTMLVideoElement.idl:
  67725. * html/MediaDocument.cpp:
  67726. (WebCore::MediaDocument::defaultEventHandler):
  67727. * html/shadow/MediaControlElements.cpp:
  67728. (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
  67729. * html/shadow/TextControlInnerElements.cpp:
  67730. (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
  67731. 2011-06-16 Vsevolod Vlasov <vsevik@chromium.org>
  67732. Reviewed by Yury Semikhatsky.
  67733. Web Inspector: Cache XHR content in backend, do not use initialContentSet for XHRs.
  67734. https://bugs.webkit.org/show_bug.cgi?id=61205
  67735. Added inspector backend cache for XHR content.
  67736. Tests: http/tests/inspector/network/network-xhr-async.html
  67737. http/tests/inspector/network/network-xhr-sync.html
  67738. * CMakeLists.txt:
  67739. * GNUmakefile.list.am:
  67740. * WebCore.gypi:
  67741. * WebCore.pro:
  67742. * WebCore.vcproj/WebCore.vcproj:
  67743. * WebCore.xcodeproj/project.pbxproj:
  67744. * fileapi/FileReaderLoader.cpp:
  67745. (WebCore::FileReaderLoader::didReceiveResponse):
  67746. * fileapi/FileReaderLoader.h:
  67747. * inspector/Inspector.json:
  67748. * inspector/InspectorInstrumentation.cpp:
  67749. (WebCore::InspectorInstrumentation::didReceiveXHRResponseImpl):
  67750. (WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl):
  67751. (WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl):
  67752. (WebCore::InspectorInstrumentation::didCommitLoadImpl):
  67753. * inspector/InspectorInstrumentation.h:
  67754. (WebCore::InspectorInstrumentation::didReceiveXHRResponse):
  67755. (WebCore::InspectorInstrumentation::willLoadXHRSynchronously):
  67756. (WebCore::InspectorInstrumentation::didLoadXHRSynchronously):
  67757. * inspector/InspectorResourceAgent.cpp:
  67758. (WebCore::InspectorResourceAgent::willSendRequest):
  67759. (WebCore::InspectorResourceAgent::didReceiveResponse):
  67760. (WebCore::InspectorResourceAgent::setInitialXHRContent):
  67761. (WebCore::InspectorResourceAgent::didReceiveXHRResponse):
  67762. (WebCore::InspectorResourceAgent::willLoadXHRSynchronously):
  67763. (WebCore::InspectorResourceAgent::didLoadXHRSynchronously):
  67764. (WebCore::InspectorResourceAgent::getResourceContent):
  67765. (WebCore::InspectorResourceAgent::mainFrameNavigated):
  67766. (WebCore::InspectorResourceAgent::InspectorResourceAgent):
  67767. * inspector/InspectorResourceAgent.h:
  67768. * inspector/NetworkResourcesData.cpp: Added.
  67769. (WebCore::NetworkResourcesData::ResourceData::ResourceData):
  67770. (WebCore::NetworkResourcesData::ResourceData::content):
  67771. (WebCore::NetworkResourcesData::ResourceData::appendContent):
  67772. (WebCore::NetworkResourcesData::ResourceData::purgeContent):
  67773. (WebCore::NetworkResourcesData::NetworkResourcesData):
  67774. (WebCore::NetworkResourcesData::~NetworkResourcesData):
  67775. (WebCore::NetworkResourcesData::resourceCreated):
  67776. (WebCore::NetworkResourcesData::responseReceived):
  67777. (WebCore::NetworkResourcesData::didReceiveXHRResponse):
  67778. (WebCore::NetworkResourcesData::addResourceContent):
  67779. (WebCore::NetworkResourcesData::isXHR):
  67780. (WebCore::NetworkResourcesData::data):
  67781. (WebCore::NetworkResourcesData::clear):
  67782. (WebCore::NetworkResourcesData::ensureFreeSpace):
  67783. * inspector/NetworkResourcesData.h: Added.
  67784. (WebCore::NetworkResourcesData::ResourceData::identifier):
  67785. (WebCore::NetworkResourcesData::ResourceData::loaderId):
  67786. (WebCore::NetworkResourcesData::ResourceData::frameId):
  67787. (WebCore::NetworkResourcesData::ResourceData::setFrameId):
  67788. (WebCore::NetworkResourcesData::ResourceData::url):
  67789. (WebCore::NetworkResourcesData::ResourceData::setUrl):
  67790. (WebCore::NetworkResourcesData::ResourceData::isXHR):
  67791. (WebCore::NetworkResourcesData::ResourceData::setIsXHR):
  67792. (WebCore::NetworkResourcesData::ResourceData::hasContent):
  67793. (WebCore::NetworkResourcesData::ResourceData::isContentPurged):
  67794. (WebCore::NetworkResourcesData::ResourceData::setIsContentPurged):
  67795. * inspector/front-end/NetworkManager.js:
  67796. (WebInspector.NetworkManager.prototype.requestContent):
  67797. (WebInspector.NetworkDispatcher.prototype._appendRedirect):
  67798. * inspector/front-end/NetworkPanel.js:
  67799. (WebInspector.NetworkPanel.prototype._appendResource):
  67800. (WebInspector.NetworkPanel.prototype._frameNavigated):
  67801. * loader/DocumentThreadableLoader.cpp:
  67802. (WebCore::DocumentThreadableLoader::didReceiveResponse):
  67803. (WebCore::DocumentThreadableLoader::receivedCancellation):
  67804. (WebCore::DocumentThreadableLoader::loadRequest):
  67805. * loader/DocumentThreadableLoader.h:
  67806. * loader/ThreadableLoaderClient.h:
  67807. (WebCore::ThreadableLoaderClient::didReceiveResponse):
  67808. (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation):
  67809. * loader/ThreadableLoaderClientWrapper.h:
  67810. (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
  67811. (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
  67812. * loader/WorkerThreadableLoader.cpp:
  67813. (WebCore::workerContextDidReceiveResponse):
  67814. (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
  67815. (WebCore::workerContextDidReceiveAuthenticationCancellation):
  67816. (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
  67817. * loader/WorkerThreadableLoader.h:
  67818. * notifications/Notification.cpp:
  67819. (WebCore::Notification::didReceiveResponse):
  67820. (WebCore::Notification::didReceiveAuthenticationCancellation):
  67821. * notifications/Notification.h:
  67822. * page/EventSource.cpp:
  67823. (WebCore::EventSource::didReceiveResponse):
  67824. * page/EventSource.h:
  67825. * workers/WorkerScriptLoader.cpp:
  67826. (WebCore::WorkerScriptLoader::didReceiveResponse):
  67827. (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
  67828. * workers/WorkerScriptLoader.h:
  67829. * xml/XMLHttpRequest.cpp:
  67830. (WebCore::XMLHttpRequest::createRequest):
  67831. (WebCore::XMLHttpRequest::didReceiveResponse):
  67832. (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation):
  67833. * xml/XMLHttpRequest.h:
  67834. 2011-06-16 Hayato Ito <hayato@chromium.org>
  67835. Reviewed by Hajime Morita.
  67836. Show child elements of a shadow host in Node::showTreeForThisAcrossFrame.
  67837. https://bugs.webkit.org/show_bug.cgi?id=62782
  67838. To make an implementation simple, get rid of traverseNextNodeAcrossFrame
  67839. and traverse each Node recursively.
  67840. No new tests since the function is only available in debug builds.
  67841. * dom/Node.cpp:
  67842. (WebCore::showSubTreeAcrossFrame):
  67843. (WebCore::Node::showTreeForThisAcrossFrame):
  67844. 2011-06-16 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  67845. Reviewed by Kent Tamura.
  67846. [EFL] Move Initialization of defaultFontSize to top of file.
  67847. https://bugs.webkit.org/show_bug.cgi?id=62787
  67848. * platform/efl/RenderThemeEfl.cpp: Move Initialize code of defaultFontSize to top.
  67849. 2011-06-16 Sheriff Bot <webkit.review.bot@gmail.com>
  67850. Unreviewed, rolling out r88796.
  67851. http://trac.webkit.org/changeset/88796
  67852. https://bugs.webkit.org/show_bug.cgi?id=62790
  67853. It made fast/dom/nodesFromRect-basic.html time out on Qt,
  67854. 64-bit, debug mode (Requested by Ossy on #webkit).
  67855. * bridge/qt/qt_runtime.cpp:
  67856. (JSC::Bindings::convertValueToQVariant):
  67857. 2011-06-16 Adam Barth <abarth@webkit.org>
  67858. Reviewed by Eric Seidel.
  67859. Remove HTMLVideoElement::processingUserGesture
  67860. https://bugs.webkit.org/show_bug.cgi?id=62784
  67861. HTMLMediaElement shouldn't have its own notion of the user gesture
  67862. state. It should just use the normal user gesture state. Also,
  67863. there's no point in having the bindings send the user gesture state in
  67864. a boolean parameter.
  67865. * WebCore.exp.in:
  67866. * html/HTMLMediaElement.cpp:
  67867. (WebCore::HTMLMediaElement::removedFromDocument):
  67868. (WebCore::HTMLMediaElement::load):
  67869. (WebCore::HTMLMediaElement::play):
  67870. (WebCore::HTMLMediaElement::pause):
  67871. (WebCore::HTMLMediaElement::beginScrubbing):
  67872. (WebCore::HTMLMediaElement::resume):
  67873. * html/HTMLMediaElement.h:
  67874. * html/HTMLMediaElement.idl:
  67875. * html/HTMLVideoElement.cpp:
  67876. (WebCore::HTMLVideoElement::webkitEnterFullscreen):
  67877. * html/HTMLVideoElement.h:
  67878. (WebCore::HTMLVideoElement::webkitEnterFullScreen):
  67879. * html/HTMLVideoElement.idl:
  67880. * html/MediaDocument.cpp:
  67881. (WebCore::MediaDocument::defaultEventHandler):
  67882. * html/shadow/MediaControlElements.cpp:
  67883. (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
  67884. 2011-06-16 Sheriff Bot <webkit.review.bot@gmail.com>
  67885. Unreviewed, rolling out r89011.
  67886. http://trac.webkit.org/changeset/89011
  67887. https://bugs.webkit.org/show_bug.cgi?id=62789
  67888. Broke mac build (Requested by vitalyr_ on #webkit).
  67889. * platform/chromium/ScrollAnimatorChromiumMac.h:
  67890. * platform/chromium/ScrollAnimatorChromiumMac.mm:
  67891. (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
  67892. (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
  67893. (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
  67894. (WebCore::ScrollAnimatorChromiumMac::scroll):
  67895. (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
  67896. (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
  67897. (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
  67898. (WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
  67899. (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
  67900. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
  67901. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
  67902. 2011-06-16 Sailesh Agrawal <sail@chromium.org>
  67903. Reviewed by James Robinson.
  67904. [Chromium] Update forked ScrollAnimatorChromiumMac.mm/h
  67905. https://bugs.webkit.org/show_bug.cgi?id=62779
  67906. Updated ScrollAnimatorChromiumMac.mm/h with the latest code in WebCore/platform/mac/ScrollAnimatorMac.mm/h
  67907. * platform/chromium/ScrollAnimatorChromiumMac.h:
  67908. (WebCore::ScrollAnimatorChromiumMac::setNeedsScrollerStyleUpdate):
  67909. (WebCore::ScrollAnimatorChromiumMac::needsScrollerStyleUpdate):
  67910. * platform/chromium/ScrollAnimatorChromiumMac.mm:
  67911. (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
  67912. (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
  67913. (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
  67914. (WebCore::ScrollAnimatorChromiumMac::scroll):
  67915. (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPointForScrollAnimation):
  67916. (WebCore::isScrollingLeftAndShouldNotRubberBand):
  67917. (WebCore::isScrollingRightAndShouldNotRubberBand):
  67918. (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
  67919. (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
  67920. (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
  67921. (WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
  67922. (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
  67923. (WebCore::ScrollAnimatorChromiumMac::setIsActive):
  67924. (WebCore::ScrollAnimatorChromiumMac::updateScrollerStyle):
  67925. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
  67926. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
  67927. (wkScrollbarPainterControllerStyle):
  67928. 2011-06-15 Mikhail Naganov <mnaganov@chromium.org>
  67929. Reviewed by Pavel Feldman.
  67930. WebInspector [Chromium]: Make heap snapshots UI more responsive.
  67931. https://bugs.webkit.org/show_bug.cgi?id=62360
  67932. Two changes have been made:
  67933. - when we request elements, sort array only partially;
  67934. - when populating children, do it in batches;
  67935. * WebCore.gypi:
  67936. * WebCore.vcproj/WebCore.vcproj:
  67937. * inspector/front-end/DetailedHeapshotGridNodes.js:
  67938. (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
  67939. (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
  67940. (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
  67941. * inspector/front-end/HeapSnapshot.js:
  67942. (WebInspector.HeapSnapshotFilteredOrderedIterator):
  67943. (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeNextItems):
  67944. (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.sortAndRewind):
  67945. (WebInspector.HeapSnapshotEdgesProvider.prototype.sort):
  67946. (WebInspector.HeapSnapshotNodesProvider.prototype.sort):
  67947. * inspector/front-end/HeapSnapshotWorker.js:
  67948. * inspector/front-end/PartialQuickSort.js: Added.
  67949. * inspector/front-end/WebKit.qrc:
  67950. * inspector/front-end/inspector.html:
  67951. 2011-06-15 Adam Barth <abarth@webkit.org>
  67952. Reviewed by Eric Seidel.
  67953. Remove Event::fromUserGesture
  67954. https://bugs.webkit.org/show_bug.cgi?id=62778
  67955. This function is a remnant from the old user-gesture design. The list
  67956. of events here is redundant with our selection of call sites for
  67957. setting the user gesture indicator.
  67958. As part of this patch, I've also cleaned up the implementation of
  67959. UserGestureIndicator itself to always be definite about whether we're
  67960. processing a user gesture. We now start out in a definite state (no
  67961. user gesture) and inductively state in a definite state.
  67962. * WebCore.exp.in:
  67963. * bindings/js/ScriptController.cpp:
  67964. (WebCore::ScriptController::processingUserGesture):
  67965. * bindings/v8/ScriptController.cpp:
  67966. (WebCore::ScriptController::processingUserGesture):
  67967. * dom/Event.cpp:
  67968. * dom/Event.h:
  67969. * dom/UserGestureIndicator.cpp:
  67970. (WebCore::isDefinite):
  67971. (WebCore::UserGestureIndicator::UserGestureIndicator):
  67972. (WebCore::UserGestureIndicator::~UserGestureIndicator):
  67973. * dom/UserGestureIndicator.h:
  67974. (WebCore::UserGestureIndicator::processingUserGesture):
  67975. * html/MediaDocument.cpp:
  67976. (WebCore::MediaDocument::defaultEventHandler):
  67977. * html/shadow/MediaControlElements.cpp:
  67978. (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
  67979. * html/shadow/TextControlInnerElements.cpp:
  67980. (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
  67981. 2011-06-08 Keishi Hattori <keishi@webkit.org>
  67982. Reviewed by Kent Tamura.
  67983. Fix range element not updating when value attribute is set with JS
  67984. https://bugs.webkit.org/show_bug.cgi?id=61857
  67985. Test: fast/forms/range-set-attribute.html
  67986. * html/RangeInputType.cpp:
  67987. (WebCore::RangeInputType::minOrMaxAttributeChanged): Changed to only sanitize the value when the dirty value flag is true.
  67988. 2011-06-15 Adam Barth <abarth@webkit.org>
  67989. Unreviewed. (Technically I should get this reviewed, but I
  67990. accidentally committed part of this patch in my previous commit,
  67991. causing a build break.)
  67992. Remove ScriptController::m_processingTimerCallback
  67993. https://bugs.webkit.org/show_bug.cgi?id=62776
  67994. This variable is unused. (It used to be used in a user gesture detection hack.)
  67995. * bindings/js/ScheduledAction.cpp:
  67996. (WebCore::ScheduledAction::execute):
  67997. * bindings/js/ScriptController.cpp:
  67998. (WebCore::ScriptController::ScriptController):
  67999. * bindings/js/ScriptController.h:
  68000. * bindings/v8/ScriptController.cpp:
  68001. (WebCore::ScriptController::ScriptController):
  68002. * bindings/v8/ScriptController.h:
  68003. 2011-06-15 Kent Tamura <tkent@chromium.org>
  68004. Reviewed by Dimitri Glazkov.
  68005. [Chromium][Qt] Some slider clicking tests fail.
  68006. https://bugs.webkit.org/show_bug.cgi?id=62683
  68007. When we pressed a mouse button on a slider thumb,
  68008. SliderThumbElement::startDragging() were called twice.
  68009. - From SliderThumbElement::defaultEventHandler(), and
  68010. - from RangeInputType::handleMouseDownEvent()
  68011. The latter is not needed. We should call setDefaultHandled() correctly.
  68012. * html/RangeInputType.cpp:
  68013. (WebCore::RangeInputType::handleMouseDownEvent): Calls setDefaultHandled()
  68014. * html/shadow/SliderThumbElement.cpp:
  68015. (WebCore::SliderThumbElement::setPositionFromPoint): Remove FIXME comments.
  68016. (WebCore::SliderThumbElement::defaultEventHandler): Calls setDefaultHandled()
  68017. 2011-06-15 Adam Barth <abarth@webkit.org>
  68018. Reviewed by Anders Carlsson.
  68019. Remove ScriptController::isJavaScriptAnchorNavigation
  68020. https://bugs.webkit.org/show_bug.cgi?id=62775
  68021. This function no longer plays a role in the user gesture code now that
  68022. we're not encoding the user gesture state into the ScriptSourceCode
  68023. URL.
  68024. * bindings/js/ScriptController.cpp:
  68025. (WebCore::ScriptController::processingUserGesture):
  68026. * bindings/js/ScriptController.h:
  68027. * bindings/v8/ScriptController.cpp:
  68028. (WebCore::ScriptController::processingUserGesture):
  68029. 2011-06-15 Adam Barth <abarth@webkit.org>
  68030. Reviewed by Eric Seidel.
  68031. Remove ScriptController::setAllowPopupsFromPlugin
  68032. https://bugs.webkit.org/show_bug.cgi?id=62706
  68033. This API is just a poor man's UserGestureIndicator. We should use the
  68034. real deal.
  68035. * bindings/js/ScriptController.cpp:
  68036. (WebCore::ScriptController::ScriptController):
  68037. (WebCore::ScriptController::processingUserGesture):
  68038. * bindings/js/ScriptController.h:
  68039. * bindings/v8/NPV8Object.cpp:
  68040. (_NPN_EvaluateHelper):
  68041. * bindings/v8/ScriptController.cpp:
  68042. (WebCore::ScriptController::ScriptController):
  68043. (WebCore::ScriptController::processingUserGesture):
  68044. * bindings/v8/ScriptController.h:
  68045. 2011-06-15 Adam Barth <abarth@webkit.org>
  68046. Reviewed by Eric Seidel.
  68047. Remove forceUserGesture bool in favor of UserGestureIndicator
  68048. https://bugs.webkit.org/show_bug.cgi?id=62702
  68049. This patch is an intermediate step towards removing the
  68050. forceUserGesture bool. In this patch, we use the user gesture
  68051. indicator to store the gesture state instead of encoding it in the URL
  68052. of the script source code. In a future patch, we'll push the indicator
  68053. higher up the stack, closer to the reason for setting it.
  68054. * bindings/ScriptControllerBase.cpp:
  68055. (WebCore::ScriptController::executeScript):
  68056. (WebCore::ScriptController::executeIfJavaScriptURL):
  68057. * bindings/js/ScriptController.cpp:
  68058. (WebCore::ScriptController::executeScriptInWorld):
  68059. 2011-06-15 Rob Buis <rbuis@rim.com>
  68060. Reviewed by Darin Adler.
  68061. Try to use fastGetAttribute where possible
  68062. https://bugs.webkit.org/show_bug.cgi?id=62747
  68063. Use the fast versions of get/hasAttribute where we can.
  68064. No new tests since this is a simple cleanup.
  68065. * svg/SVGAElement.cpp:
  68066. (WebCore::SVGAElement::title):
  68067. (WebCore::SVGAElement::defaultEventHandler):
  68068. * svg/SVGAltGlyphElement.cpp:
  68069. (WebCore::SVGAltGlyphElement::glyphRef):
  68070. (WebCore::SVGAltGlyphElement::format):
  68071. (WebCore::SVGAltGlyphElement::glyphElement):
  68072. * svg/SVGAnimateMotionElement.cpp:
  68073. (WebCore::SVGAnimateMotionElement::rotateMode):
  68074. (WebCore::SVGAnimateMotionElement::animationPath):
  68075. * svg/SVGAnimationElement.cpp:
  68076. (WebCore::SVGAnimationElement::animationMode):
  68077. (WebCore::SVGAnimationElement::calcMode):
  68078. (WebCore::SVGAnimationElement::attributeType):
  68079. (WebCore::SVGAnimationElement::toValue):
  68080. (WebCore::SVGAnimationElement::byValue):
  68081. (WebCore::SVGAnimationElement::fromValue):
  68082. (WebCore::SVGAnimationElement::isAdditive):
  68083. (WebCore::SVGAnimationElement::isAccumulated):
  68084. (WebCore::SVGAnimationElement::startedActiveInterval):
  68085. * svg/SVGElement.cpp:
  68086. (WebCore::SVGElement::xmlbase):
  68087. * svg/SVGFontElement.cpp:
  68088. (WebCore::SVGFontElement::ensureGlyphCache):
  68089. * svg/SVGFontFaceElement.cpp:
  68090. (WebCore::SVGFontFaceElement::unitsPerEm):
  68091. (WebCore::SVGFontFaceElement::xHeight):
  68092. (WebCore::SVGFontFaceElement::horizontalOriginX):
  68093. (WebCore::SVGFontFaceElement::horizontalOriginY):
  68094. (WebCore::SVGFontFaceElement::horizontalAdvanceX):
  68095. (WebCore::SVGFontFaceElement::verticalOriginX):
  68096. (WebCore::SVGFontFaceElement::verticalOriginY):
  68097. (WebCore::SVGFontFaceElement::verticalAdvanceY):
  68098. (WebCore::SVGFontFaceElement::ascent):
  68099. (WebCore::SVGFontFaceElement::descent):
  68100. * svg/SVGFontFaceNameElement.cpp:
  68101. (WebCore::SVGFontFaceNameElement::srcValue):
  68102. * svg/SVGFontFaceUriElement.cpp:
  68103. (WebCore::SVGFontFaceUriElement::srcValue):
  68104. (WebCore::SVGFontFaceUriElement::loadFont):
  68105. * svg/SVGGlyphElement.cpp:
  68106. (WebCore::parseSVGGlyphAttribute):
  68107. (WebCore::SVGGlyphElement::buildGenericGlyphIdentifier):
  68108. (WebCore::SVGGlyphElement::buildGlyphIdentifier):
  68109. * svg/SVGHKernElement.cpp:
  68110. (WebCore::SVGHKernElement::buildHorizontalKerningPair):
  68111. * svg/SVGSVGElement.cpp:
  68112. (WebCore::SVGSVGElement::contentScriptType):
  68113. (WebCore::SVGSVGElement::contentStyleType):
  68114. * svg/SVGStyleElement.cpp:
  68115. (WebCore::SVGStyleElement::type):
  68116. (WebCore::SVGStyleElement::media):
  68117. (WebCore::SVGStyleElement::title):
  68118. * svg/SVGVKernElement.cpp:
  68119. (WebCore::SVGVKernElement::buildVerticalKerningPair):
  68120. * svg/animation/SVGSMILElement.cpp:
  68121. (WebCore::SVGSMILElement::insertedIntoDocument):
  68122. (WebCore::SVGSMILElement::parseMappedAttribute):
  68123. (WebCore::SVGSMILElement::restart):
  68124. (WebCore::SVGSMILElement::fill):
  68125. (WebCore::SVGSMILElement::xlinkHref):
  68126. (WebCore::SVGSMILElement::dur):
  68127. (WebCore::SVGSMILElement::repeatDur):
  68128. (WebCore::SVGSMILElement::repeatCount):
  68129. (WebCore::SVGSMILElement::maxValue):
  68130. (WebCore::SVGSMILElement::minValue):
  68131. 2011-06-15 Abhishek Arya <inferno@chromium.org>
  68132. Reviewed by Antti Koivisto.
  68133. Revert speculative fix in r84151. It caused some issues with
  68134. stylesheet lifetimes.
  68135. https://bugs.webkit.org/show_bug.cgi?id=62586
  68136. Tests: fast/dom/body-clone-link-decl-parent-crash.html
  68137. fast/dom/styled-clone-inline-style-decl-parent-crash.html
  68138. fast/dom/styled-not-in-document-clone-inline-style-decl-parent-crash.html
  68139. * dom/Document.cpp:
  68140. (WebCore::Document::removedLastRef):
  68141. 2011-06-15 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  68142. Reviewed by Kent Tamura.
  68143. [EFL] Implement animationXXX functions for Progress Tag
  68144. https://bugs.webkit.org/show_bug.cgi?id=62713
  68145. Progress tag need to implement acnimationXXX functions in order to show animation of
  68146. progress tag. Because, RenderProgress decides to show update progress bar's animation
  68147. according to the functions.
  68148. * platform/efl/RenderThemeEfl.cpp:
  68149. (WebCore::RenderThemeEfl::animationRepeatIntervalForProgressBar):
  68150. (WebCore::RenderThemeEfl::animationDurationForProgressBar):
  68151. * platform/efl/RenderThemeEfl.h:
  68152. 2011-06-15 Sam Weinig <sam@webkit.org>
  68153. Reviewed by Alexey Proskuryakov.
  68154. Frequent crashes due to null frame below ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache
  68155. https://bugs.webkit.org/show_bug.cgi?id=62764
  68156. This is an non-reproducible high volume crash, so no test :(.
  68157. * loader/DocumentLoader.cpp:
  68158. (WebCore::DocumentLoader::detachFromFrame):
  68159. Be conservative and stop loading when we detach a document loader from a frame.
  68160. 2011-06-15 Beth Dakin <bdakin@apple.com>
  68161. Reviewed by Simon Fraser.
  68162. https://bugs.webkit.org/show_bug.cgi?id=62746
  68163. Crash possible when switching scrollbar appearance preference on Mac
  68164. -and corresponding-
  68165. <rdar://problem/9323983>
  68166. This crash happens because the current mechanism that is intended to flag
  68167. ScrollAnimators as being in the page cache or not does not work correctly.
  68168. Long-term the fix for this is to move the ScrollableArea HashSet to a more
  68169. appropriate place. In the meantime, this patch addresses the crash by getting
  68170. rid of the m_isActive bool on ScrollAnimator that was intended to represent
  68171. whether or not the ScrollableArea is in the page cache. Instead, ScrollableArea
  68172. implementations now have their own functions to compute whether they are in
  68173. active pages. ScrollAnimator::setIsActive() needs to be kept around even though
  68174. there is no bool to flip anymore because scrollbars may need to be properly
  68175. updated if the appearance was switched while the document was in the page cache.
  68176. No longer call FrameView::setAnimatorsAreActive() from
  68177. Document::setIsInPageCache(), instead call it in
  68178. Document::documentDidBecomeActive()
  68179. * dom/Document.cpp:
  68180. (WebCore::Document::setInPageCache):
  68181. (WebCore::Document::documentDidBecomeActive):
  68182. ScrollableAreas can now assess whether or not they are on active pages (ie, not
  68183. in the page cache).
  68184. * platform/ScrollableArea.h:
  68185. (WebCore::ScrollableArea::isOnActivePage):
  68186. * rendering/RenderLayer.cpp:
  68187. (WebCore::RenderLayer::isOnActivePage):
  68188. * rendering/RenderLayer.h:
  68189. * rendering/RenderListBox.cpp:
  68190. (WebCore::RenderListBox::isOnActivePage):
  68191. * rendering/RenderListBox.h:
  68192. A FrameView cannot access its Document when it's in the page cache, so it
  68193. usually determines whether it's in the page cache by checking if its frame
  68194. points to a FrameView other than itself.
  68195. * page/FrameView.cpp:
  68196. (WebCore::FrameView::isOnActivePage):
  68197. Make sure ScrollableAreas are on active pages before setting them as
  68198. active. This will not be necessary when the HashSet become a per-web page
  68199. HashSet.
  68200. (WebCore::FrameView::setAnimatorsAreActive):
  68201. * page/FrameView.h:
  68202. ScrollAnimator no longer tracks the m_isActive bool.
  68203. * platform/ScrollAnimator.cpp:
  68204. (WebCore::ScrollAnimator::ScrollAnimator):
  68205. * platform/ScrollAnimator.h:
  68206. (WebCore::ScrollAnimator::setIsActive):
  68207. setIsActive() now exclusively calls updateScrollStyle() if there is a pending
  68208. need to do so.
  68209. * platform/mac/ScrollAnimatorMac.h:
  68210. * platform/mac/ScrollAnimatorMac.mm:
  68211. (WebCore::ScrollAnimatorMac::setIsActive):
  68212. Return early if the ScrollableArea is in the page cache.
  68213. (WebCore::ScrollAnimatorMac::updateScrollerStyle):
  68214. 2011-06-15 Simon Fraser <simon.fraser@apple.com>
  68215. Reviewed by Dan Bernstein.
  68216. Have Document keep track of whether scroll listeners are registered
  68217. https://bugs.webkit.org/show_bug.cgi?id=62757
  68218. To avoid extra work dispatching scroll events when there are no listeners,
  68219. have Document keep track of whether any scroll listeners are registered,
  68220. just like it does for some other event types.
  68221. * dom/Document.cpp:
  68222. (WebCore::Document::addListenerTypeIfNeeded):
  68223. * dom/Document.h:
  68224. * dom/EventQueue.cpp:
  68225. (WebCore::EventQueue::enqueueOrDispatchScrollEvent):
  68226. 2011-06-15 Dimitri Glazkov <dglazkov@chromium.org>
  68227. Reviewed by Adam Barth.
  68228. Clarify FileChooser creation code.
  68229. https://bugs.webkit.org/show_bug.cgi?id=62756
  68230. initialize() method is only used once and that is not obvious, so just fold it into the create method.
  68231. Refactoring, no change in behavior.
  68232. * platform/FileChooser.cpp:
  68233. (WebCore::FileChooser::create): Folded initialize() code there.
  68234. * platform/FileChooser.h: Removed decl.
  68235. 2011-06-15 Eric Carlson <eric.carlson@apple.com>
  68236. Reviewed by Alexey Proskuryakov.
  68237. MediaPlayerPrivate should not know about application cache
  68238. https://bugs.webkit.org/show_bug.cgi?id=62648
  68239. Test: http/tests/appcache/video.html
  68240. * html/HTMLMediaElement.cpp:
  68241. (WebCore::createFileURLForApplicationCacheResource): Create a url for a file
  68242. in the application cache folder.
  68243. (WebCore::HTMLMediaElement::loadResource): Change url to point to file in the application
  68244. cache if necessary.
  68245. (WebCore::HTMLMediaElement::mediaLoadingFailed): Split failure logic out of setNetworkState
  68246. so it can be called when asked to load a file that is not in the application cache.
  68247. (WebCore::HTMLMediaElement::setNetworkState): Move failure logic out to mediaLoadingFailed.
  68248. * html/HTMLMediaElement.h:
  68249. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
  68250. (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Remove app cache logic.
  68251. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  68252. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
  68253. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: Ditto.
  68254. * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  68255. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  68256. (WebCore::MediaPlayerPrivateQTKit::loadInternal): Ditto.
  68257. * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
  68258. (WebCore::MediaPlayerPrivateQuickTimeVisualContext::loadInternal): Ditto.
  68259. 2011-06-15 Mark Pilgrim <pilgrim@chromium.org>
  68260. Reviewed by Tony Chang.
  68261. IndexedDB: indexedDB.open() name argument is required
  68262. https://bugs.webkit.org/show_bug.cgi?id=62398
  68263. Test: storage/indexeddb/database-name-undefined.html
  68264. * storage/IDBFactory.idl: use appropriate IDL magic to force undefined values to null, so we handle missing arguments as well as null arguments
  68265. 2011-06-15 Tony Chang <tony@chromium.org>
  68266. Reviewed by Ojan Vafai.
  68267. Rename RenderFlexibleBox to RenderDeprecatedFlexibleBox
  68268. https://bugs.webkit.org/show_bug.cgi?id=62670
  68269. * CMakeLists.txt:
  68270. * GNUmakefile.list.am:
  68271. * WebCore.gypi:
  68272. * WebCore.order:
  68273. * WebCore.pro:
  68274. * WebCore.vcproj/WebCore.vcproj:
  68275. * WebCore.xcodeproj/project.pbxproj:
  68276. * html/shadow/MediaControlElements.cpp:
  68277. (WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
  68278. (WebCore::RenderMediaControlTimeDisplay::layout):
  68279. * html/shadow/SliderThumbElement.cpp:
  68280. (WebCore::RenderSliderContainer::RenderSliderContainer):
  68281. (WebCore::RenderSliderContainer::layout):
  68282. * rendering/RenderBlock.cpp:
  68283. (WebCore::RenderBlock::createAnonymousBlock):
  68284. * rendering/RenderBox.cpp:
  68285. * rendering/RenderButton.cpp:
  68286. (WebCore::RenderButton::RenderButton):
  68287. (WebCore::RenderButton::addChild):
  68288. (WebCore::RenderButton::removeChild):
  68289. * rendering/RenderButton.h:
  68290. * rendering/RenderDeprecatedFlexibleBox.cpp:
  68291. (WebCore::FlexBoxIterator::FlexBoxIterator):
  68292. (WebCore::FlexBoxIterator::reset):
  68293. (WebCore::FlexBoxIterator::first):
  68294. (WebCore::FlexBoxIterator::next):
  68295. (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
  68296. (WebCore::RenderDeprecatedFlexibleBox::~RenderDeprecatedFlexibleBox):
  68297. (WebCore::marginWidthForChild):
  68298. (WebCore::RenderDeprecatedFlexibleBox::calcHorizontalPrefWidths):
  68299. (WebCore::RenderDeprecatedFlexibleBox::calcVerticalPrefWidths):
  68300. (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
  68301. (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
  68302. (WebCore::gatherFlexChildrenInfo):
  68303. (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
  68304. (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
  68305. (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
  68306. (WebCore::RenderDeprecatedFlexibleBox::placeChild):
  68307. (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
  68308. (WebCore::RenderDeprecatedFlexibleBox::renderName):
  68309. * rendering/RenderDeprecatedFlexibleBox.h:
  68310. (WebCore::RenderDeprecatedFlexibleBox::avoidsFloats):
  68311. (WebCore::RenderDeprecatedFlexibleBox::isFlexibleBox):
  68312. (WebCore::RenderDeprecatedFlexibleBox::isFlexingChildren):
  68313. (WebCore::RenderDeprecatedFlexibleBox::isStretchingChildren):
  68314. (WebCore::RenderDeprecatedFlexibleBox::hasMultipleLines):
  68315. (WebCore::RenderDeprecatedFlexibleBox::isVertical):
  68316. (WebCore::RenderDeprecatedFlexibleBox::isHorizontal):
  68317. * rendering/RenderDetails.h: Removed the header since it wasn't actually
  68318. needed. Looks like a copy/paste error from RenderButton.h.
  68319. * rendering/RenderFullScreen.cpp:
  68320. (RenderFullScreen::RenderFullScreen):
  68321. (RenderFullScreen::destroy):
  68322. * rendering/RenderFullScreen.h:
  68323. * rendering/RenderMenuList.cpp:
  68324. (WebCore::RenderMenuList::RenderMenuList):
  68325. (WebCore::RenderMenuList::createInnerBlock):
  68326. (WebCore::RenderMenuList::removeChild):
  68327. * rendering/RenderMenuList.h:
  68328. * rendering/RenderObject.cpp:
  68329. (WebCore::RenderObject::createObject):
  68330. * rendering/RenderingAllInOne.cpp:
  68331. 2011-06-15 Alexander Pavlov <apavlov@chromium.org>
  68332. Reviewed by Pavel Feldman.
  68333. Web Inspector: Serious performance regression during continuous focused element style updates
  68334. https://bugs.webkit.org/show_bug.cgi?id=61038
  68335. Inline style invalidation events are coalesced in the backend and sent over the wire on timer.
  68336. * inspector/Inspector.json:
  68337. * inspector/InspectorDOMAgent.cpp:
  68338. (WebCore::RevalidateStyleAttributeTask::onTimer):
  68339. (WebCore::InspectorDOMAgent::getAttributes):
  68340. (WebCore::InspectorDOMAgent::didModifyDOMAttr):
  68341. (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
  68342. * inspector/InspectorDOMAgent.h:
  68343. * inspector/InspectorStyleSheet.cpp:
  68344. (WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute):
  68345. (WebCore::InspectorStyleSheetForInlineStyle::text):
  68346. (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
  68347. (WebCore::InspectorStyleSheetForInlineStyle::ensureParsedDataReady):
  68348. (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
  68349. * inspector/InspectorStyleSheet.h:
  68350. * inspector/front-end/DOMAgent.js:
  68351. (WebInspector.DOMAgent):
  68352. (WebInspector.DOMAgent.prototype._attributesUpdated):
  68353. (WebInspector.DOMAgent.prototype._loadNodeAttributesSoon):
  68354. (WebInspector.DOMAgent.prototype._loadNodeAttributes):
  68355. (WebInspector.DOMDispatcher.prototype.attributesUpdated):
  68356. (WebInspector.DOMDispatcher.prototype.inlineStyleInvalidated):
  68357. 2011-06-15 Jer Noble <jer.noble@apple.com>
  68358. Reviewed by Timothy Hatcher.
  68359. Full-screen live streams have status text in wrong location
  68360. https://bugs.webkit.org/show_bug.cgi?id=62733
  68361. Fix a misspelling in the user-agent stylesheet for full-screen mode.
  68362. * css/fullscreenQuickTime.css:
  68363. (video:-webkit-full-screen::-webkit-media-controls-status-display):
  68364. 2011-06-14 Jer Noble <jer.noble@apple.com>
  68365. Reviewed by Eric Carlson.
  68366. (AVFoundation) Apple event video appears as live stream and is not seekable
  68367. https://bugs.webkit.org/show_bug.cgi?id=62694
  68368. No new tests; There are no media-player port specific tests yet.
  68369. Work around a bug in apple.com live stream javascript controller library. When an AVAsset returns an indefinite time
  68370. for its duration, return 0 if the asset has no tracks, and infinity otherwise. This keeps the apple.com controller
  68371. from identifying the stored stream as a live stream.
  68372. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
  68373. (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
  68374. 2011-06-15 Andrey Kosyakov <caseq@chromium.org>
  68375. Unreviewed, rolled out r88937 (broke build on mac)
  68376. * CMakeLists.txt:
  68377. * GNUmakefile.list.am:
  68378. * WebCore.gypi:
  68379. * WebCore.pro:
  68380. * WebCore.vcproj/WebCore.vcproj:
  68381. * WebCore.xcodeproj/project.pbxproj:
  68382. * fileapi/FileReaderLoader.cpp:
  68383. (WebCore::FileReaderLoader::didReceiveResponse):
  68384. * fileapi/FileReaderLoader.h:
  68385. * inspector/Inspector.json:
  68386. * inspector/InspectorInstrumentation.cpp:
  68387. (WebCore::InspectorInstrumentation::didCommitLoadImpl):
  68388. * inspector/InspectorInstrumentation.h:
  68389. * inspector/InspectorResourceAgent.cpp:
  68390. (WebCore::InspectorResourceAgent::willSendRequest):
  68391. (WebCore::InspectorResourceAgent::didReceiveResponse):
  68392. (WebCore::InspectorResourceAgent::setInitialXHRContent):
  68393. (WebCore::InspectorResourceAgent::InspectorResourceAgent):
  68394. * inspector/InspectorResourceAgent.h:
  68395. * inspector/NetworkResourcesData.cpp: Removed.
  68396. * inspector/NetworkResourcesData.h: Removed.
  68397. * inspector/front-end/NetworkManager.js:
  68398. (WebInspector.NetworkManager.prototype.requestContent):
  68399. (WebInspector.NetworkDispatcher.prototype._appendRedirect):
  68400. * inspector/front-end/NetworkPanel.js:
  68401. (WebInspector.NetworkPanel.prototype._appendResource):
  68402. (WebInspector.NetworkPanel.prototype._frameNavigated):
  68403. * loader/DocumentThreadableLoader.cpp:
  68404. (WebCore::DocumentThreadableLoader::didReceiveResponse):
  68405. (WebCore::DocumentThreadableLoader::receivedCancellation):
  68406. (WebCore::DocumentThreadableLoader::loadRequest):
  68407. * loader/DocumentThreadableLoader.h:
  68408. * loader/ThreadableLoaderClientWrapper.h:
  68409. (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
  68410. (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
  68411. * loader/WorkerThreadableLoader.cpp:
  68412. (WebCore::workerContextDidReceiveResponse):
  68413. (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
  68414. (WebCore::workerContextDidReceiveAuthenticationCancellation):
  68415. (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
  68416. * loader/WorkerThreadableLoader.h:
  68417. * notifications/Notification.cpp:
  68418. (WebCore::Notification::didReceiveResponse):
  68419. (WebCore::Notification::didReceiveAuthenticationCancellation):
  68420. * notifications/Notification.h:
  68421. * page/EventSource.cpp:
  68422. (WebCore::EventSource::didReceiveResponse):
  68423. * page/EventSource.h:
  68424. * xml/XMLHttpRequest.cpp:
  68425. (WebCore::XMLHttpRequest::createRequest):
  68426. (WebCore::XMLHttpRequest::didReceiveResponse):
  68427. (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation):
  68428. * xml/XMLHttpRequest.h:
  68429. 2011-06-15 Pavel Feldman <pfeldman@google.com>
  68430. Reviewed by Yury Semikhatsky.
  68431. Web Inspector: introduce context menu on ImageView with Copy and Open in new tab actions.
  68432. https://bugs.webkit.org/show_bug.cgi?id=62727
  68433. * English.lproj/localizedStrings.js:
  68434. * inspector/front-end/ImageView.js:
  68435. (WebInspector.ImageView.prototype._base64ToSize):
  68436. (WebInspector.ImageView.prototype._contextMenu):
  68437. (WebInspector.ImageView.prototype._copyImageURL):
  68438. (WebInspector.ImageView.prototype._openInNewTab):
  68439. 2011-06-15 Andrey Kosyakov <caseq@chromium.org>
  68440. Reviewed by Pavel Feldman.
  68441. Web Inspector: provide unique identifiers for frames
  68442. https://bugs.webkit.org/show_bug.cgi?id=62721
  68443. * inspector/InspectorInstrumentation.cpp:
  68444. (WebCore::InspectorInstrumentation::frameDestroyedImpl):
  68445. * inspector/InspectorInstrumentation.h:
  68446. (WebCore::InspectorInstrumentation::frameDestroyed):
  68447. * inspector/InspectorPageAgent.cpp:
  68448. (WebCore::InspectorPageAgent::frameForId):
  68449. (WebCore::InspectorPageAgent::frameId):
  68450. (WebCore::InspectorPageAgent::frameDestroyed):
  68451. * inspector/InspectorPageAgent.h:
  68452. * page/Frame.cpp:
  68453. (WebCore::Frame::~Frame):
  68454. 2011-06-15 Andrey Kosyakov <caseq@chromium.org>
  68455. Unreviewed build fix: comment unused parameter names.
  68456. * loader/ThreadableLoaderClient.h:
  68457. (WebCore::ThreadableLoaderClient::didReceiveResponse):
  68458. (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation):
  68459. 2011-06-15 Pavel Podivilov <podivilov@chromium.org>
  68460. Reviewed by Yury Semikhatsky.
  68461. Web Inspector: script select can be too wide.
  68462. https://bugs.webkit.org/show_bug.cgi?id=62701
  68463. * inspector/front-end/ScriptsPanel.js:
  68464. (WebInspector.ScriptsPanel.prototype._displayNameForScriptURL):
  68465. (WebInspector.ScriptsPanel.prototype._createSourceFrame):
  68466. (WebInspector.SourceFrameDelegateForScriptsPanel):
  68467. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
  68468. * inspector/front-end/SourceFile.js:
  68469. 2011-06-15 Noel Gordon <noel.gordon@gmail.com>
  68470. Reviewed by Eric Seidel.
  68471. Draw CSS outline style for render widgets: iframe, embed, object, applet.
  68472. https://bugs.webkit.org/show_bug.cgi?id=57439
  68473. Draw CSS outlines for render widgets: iframe, embed, object, applet. These elements can
  68474. be focused (via clicks or tabIndex) but should not have a visible focus ring by default.
  68475. Tests: fast/replaced/no-focus-ring-embed.html
  68476. fast/replaced/no-focus-ring-iframe.html
  68477. fast/replaced/no-focus-ring-object.html
  68478. fast/replaced/outline-replaced-elements.html
  68479. * css/html.css:
  68480. (applet:focus, embed:focus, iframe:focus, object:focus): Default to no focus ring.
  68481. * rendering/RenderWidget.cpp:
  68482. (WebCore::RenderWidget::paint): Paint the render widget CSS outline style.
  68483. 2011-06-15 Steve Block <steveblock@google.com>
  68484. Reviewed by Tony Gentilcore.
  68485. V8PerformanceCustom.cpp lacks WEB_TIMING guards
  68486. https://bugs.webkit.org/show_bug.cgi?id=62689
  68487. No new tests, build fix only.
  68488. * bindings/v8/custom/V8PerformanceCustom.cpp:
  68489. 2011-06-15 Sheriff Bot <webkit.review.bot@gmail.com>
  68490. Unreviewed, rolling out r88916.
  68491. http://trac.webkit.org/changeset/88916
  68492. https://bugs.webkit.org/show_bug.cgi?id=62728
  68493. Broke a bunch of layout tests on chromium (Requested by
  68494. podivilov on #webkit).
  68495. * inspector/front-end/ScriptsPanel.js:
  68496. (WebInspector.ScriptsPanel.prototype._createSourceFrame):
  68497. (WebInspector.SourceFrameDelegateForScriptsPanel):
  68498. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
  68499. * inspector/front-end/SourceFile.js:
  68500. (WebInspector.SourceFile.prototype.get displayName):
  68501. 2011-06-15 Pavel Podivilov <podivilov@chromium.org>
  68502. Reviewed by Yury Semikhatsky.
  68503. Web Inspector: script links are displayed with original line number in pretty-print mode.
  68504. https://bugs.webkit.org/show_bug.cgi?id=62282
  68505. * inspector/front-end/DebuggerPresentationModel.js:
  68506. (WebInspector.DebuggerPresentationModel):
  68507. (WebInspector.DebuggerPresentationModel.prototype.registerAnchor):
  68508. (WebInspector.DebuggerPresentationModel.prototype._updateAnchor.didGetUILocation):
  68509. (WebInspector.DebuggerPresentationModel.prototype._updateAnchor):
  68510. (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
  68511. (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
  68512. * inspector/front-end/NetworkPanel.js:
  68513. (WebInspector.NetworkPanel.prototype.showAnchorLocation):
  68514. (WebInspector.NetworkPanel.prototype._showResource):
  68515. * inspector/front-end/Panel.js:
  68516. (WebInspector.Panel.prototype.createAnchor):
  68517. (WebInspector.Panel.prototype.formatAnchorText):
  68518. * inspector/front-end/ResourcesPanel.js:
  68519. (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
  68520. * inspector/front-end/ScriptsPanel.js:
  68521. (WebInspector.ScriptsPanel.prototype.createAnchor.):
  68522. (WebInspector.ScriptsPanel.prototype.createAnchor):
  68523. (WebInspector.ScriptsPanel.prototype.showAnchorLocation.didGetUILocation):
  68524. (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
  68525. * inspector/front-end/inspector.js:
  68526. (WebInspector._showAnchorLocation):
  68527. (WebInspector.linkifyResourceAsNode):
  68528. 2011-06-14 Hans Wennborg <hans@chromium.org>
  68529. Reviewed by Tony Gentilcore.
  68530. IndexedDB: Use fileExists() first when checking if SQLite db exists
  68531. https://bugs.webkit.org/show_bug.cgi?id=62638
  68532. In IDBSQLiteBackingStore::backingStoreExists(), which is used to check
  68533. if a SQLite database exists and should be considered for migration,
  68534. check if the file exists first.
  68535. Trying to open a SQLite database for a non-existing file prints a
  68536. noisy error message in debug builds.
  68537. No new functionality, no new tests.
  68538. * storage/IDBSQLiteBackingStore.cpp:
  68539. (WebCore::IDBSQLiteBackingStore::backingStoreExists):
  68540. 2011-06-14 Alexander Pavlov <apavlov@chromium.org>
  68541. Reviewed by Yury Semikhatsky.
  68542. Web Inspector: "data" URLs not detected in CSS url(...) values properly
  68543. https://bugs.webkit.org/show_bug.cgi?id=62643
  68544. * inspector/front-end/inspector.js:
  68545. (WebInspector.completeURL):
  68546. 2011-06-15 Pavel Feldman <pfeldman@google.com>
  68547. Reviewed by Yury Semikhatsky.
  68548. Web Inspector: [REGRESSION] errors in watches and in console are not rendered in red.
  68549. https://bugs.webkit.org/show_bug.cgi?id=62708
  68550. Test: inspector/debugger/error-in-watch-expressions.html
  68551. * inspector/front-end/RemoteObject.js:
  68552. * inspector/front-end/WatchExpressionsSidebarPane.js:
  68553. (WebInspector.WatchExpressionsSection.prototype.update.appendResult):
  68554. (WebInspector.WatchExpressionsSection.prototype.update):
  68555. (WebInspector.WatchExpressionTreeElement.prototype.update):
  68556. * inspector/front-end/inspector.css:
  68557. (.console-error-level .console-message-text, .console-error-level .section .header .title):
  68558. (.console-formatted-object, .console-formatted-node):
  68559. 2011-06-15 Carlos Garcia Campos <cgarcia@igalia.com>
  68560. Unreviewed. Remove unneeded constructor declaration added by mistake in r88800.
  68561. * platform/gtk/GtkAuthenticationDialog.h:
  68562. 2011-06-15 Pavel Podivilov <podivilov@chromium.org>
  68563. Reviewed by Yury Semikhatsky.
  68564. Web Inspector: script select can be too wide.
  68565. https://bugs.webkit.org/show_bug.cgi?id=62701
  68566. * inspector/front-end/ScriptsPanel.js:
  68567. (WebInspector.ScriptsPanel.prototype._displayNameForScriptURL):
  68568. (WebInspector.ScriptsPanel.prototype._createSourceFrame):
  68569. (WebInspector.SourceFrameDelegateForScriptsPanel):
  68570. (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
  68571. * inspector/front-end/SourceFile.js:
  68572. 2011-06-15 Nikolas Zimmermann <nzimmermann@rim.com>
  68573. Reviewed by David Hyatt.
  68574. CSS 2.1: Support replaced elements with relative intrinsic sizes
  68575. https://bugs.webkit.org/show_bug.cgi?id=15849
  68576. CSS 2.1 failure: html4/replaced-intrinsic-ratio-001
  68577. https://bugs.webkit.org/show_bug.cgi?id=53099
  68578. Generalize the recently added SVG specific host <-> embedded document size-negotiation used
  68579. to support embedding SVGs with intrinsic ratio/size via <iframe>/<object>/<embed> from
  68580. RenderPart right into RenderReplaced. It will be used to share the size-negotiation logic
  68581. with RenderImage, which still has its own way to negotiate with the embedded SVG to figure
  68582. out its size (and it's broken in several ways).
  68583. This fully implements intrinsic size/ratio support for replaced elements, as specified in:
  68584. http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-width
  68585. http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height
  68586. RenderImage has not yet been converted to use the new size negotiation logic, this is just
  68587. the ground work. As soon as this is done all ways of embedding SVG is unified in a single
  68588. way: the same size negotiation logic used for object/embed/iframe/img for SVG documents.
  68589. To use it for non-SVG target documents, it's just a matter of implementing
  68590. "RenderBox* embeddedContentBox()" which needs to return the root renderer of the embedded document.
  68591. For SVG it's the embedded document RenderSVGRoot renderer, associated with the outermost <svg> element.
  68592. It's easy to implement this for embedded MathML documents or PDF documents now, if needed.
  68593. Imported all CSS 2.1 tests named *replaced* and *intrinsic* tests, except the still failing background-intrinsic-*
  68594. which embed SVGs through background-image or <img>, which still use the old size-negotiation logic.
  68595. Tests: css2.1/20110323/* (203 tests + support files)
  68596. svg/zoom/page/zoom-replaced-intrinsic-ratio-001.htm (same as replaced-intrinsic-ratio-001.htm, but zooms in a few times, to see whether all boxes react properly)
  68597. http/tests/misc/object-embedding-svg-delayed-size-negotiation-2.htm (same as replaced-intrinsic-ratio-001.htm, but with delayed loading of the SVG to test late-size-negotiation)
  68598. This fixes:
  68599. css2.1/20110323/replaced-intrinsic-ratio-001.htm
  68600. css2.1/20110323/replaced-intrinsic-003.htm
  68601. css2.1/20110323/block-replaced-height-007.htm
  68602. css2.1/20110323/float-replaced-height-007.htm
  68603. css2.1/20110323/inline-block-replaced-height-007.htm
  68604. css2.1/20110323/inline-replaced-height-007.htm
  68605. We're now the first to properly handle replaced-intrinsic-ratio-001.htm out of Opera/FF/IE9 :-)
  68606. This is an important piece of embedding SVGs though, so glad that we finally have it.
  68607. * rendering/RenderBlock.cpp:
  68608. (WebCore::RenderBlock::layoutBlockChildren): Use new helper needsPreferredWidthsRecalculation() to figure out whether pref widths need to be calculated.
  68609. (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
  68610. * rendering/RenderBlockLineLayout.cpp:
  68611. (WebCore::RenderBlock::layoutInlineChildren): Ditto.
  68612. * rendering/RenderBox.cpp:
  68613. (WebCore::RenderBox::needsPreferredWidthsRecalculation): Refactored and extended from RenderBlock*. We have to recalculate pref widths upon layout
  68614. if we embed a document with an intrinsic ratio/size, extensively covered by
  68615. svg/zoom/page/zoom-replaced-intrinsic-ratio-001.htm
  68616. * rendering/RenderBox.h:
  68617. (WebCore::RenderBox::computeIntrinsicRatioInformation): New virtual function, only implemented in RenderPart so far. This generalizes the existing method from RenderPart.
  68618. * rendering/RenderPart.cpp:
  68619. (WebCore::RenderPart::needsPreferredWidthsRecalculation): Always recompute pref widths of we have an embeddedContentBox() - it may depend on our size.
  68620. (WebCore::RenderPart::embeddedContentBox): Return the RenderSVGRoot box of the embedded SVG document, if we're embedded through object/embed/iframe (soon img as well).
  68621. * rendering/RenderPart.h:
  68622. * rendering/RenderReplaced.cpp:
  68623. (WebCore::RenderReplaced::computeIntrinsicLogicalWidth): New helper function, that either returns a fixed intrinsic size (set by a class inheriting from us) or the embedded target document size.
  68624. (WebCore::RenderReplaced::computeIntrinsicLogicalHeight): Ditto.
  68625. (WebCore::RenderReplaced::computeReplacedLogicalWidth): Full implementation of: 10.3.2 Inline, replaced elements: http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-width.
  68626. (WebCore::RenderReplaced::computeReplacedLogicalHeight): Full implementation of: 10.6.2 Inline, replaced elements: http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height
  68627. * rendering/RenderReplaced.h:
  68628. (WebCore::RenderReplaced::embeddedContentBox):
  68629. * rendering/svg/RenderSVGRoot.cpp:
  68630. (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Fix problem when zooming replaced-intrinsic-ratio-001.htm: if ownerWidth is auto, don't apply style()->effectiveZoom() twice.
  68631. (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto for ownerHeight auto.
  68632. * rendering/svg/RenderSVGRoot.h: Mark 'computeIntrinsicRatioInformation' virtual.
  68633. 2011-06-09 MORITA Hajime <morrita@google.com>
  68634. Reviewed by Dimitri Glazkov.
  68635. ShadowContentElement should detach its inclusions before attaching them.
  68636. https://bugs.webkit.org/show_bug.cgi?id=62428
  68637. - On ShadowContentElement::attach(), changed inclusion attach scheme
  68638. from per-node reattach() to detach()-all-and-attach()-them. This
  68639. eliminates attach() order problems which ShadowContentElement
  68640. possibly has.
  68641. - Changed ShadowContentElement to have m_inclusions as a member variable,
  68642. which will be used by upcoming changes.
  68643. - Moved attach() code from ShadowContentSelector to ShadowContentElement
  68644. because the element now owns the inclusion list.
  68645. No new tests. No visible behavioral change yet.
  68646. * dom/ShadowContentElement.cpp:
  68647. (WebCore::ShadowContentElement::attach):
  68648. (WebCore::ShadowContentElement::detach): Added.
  68649. * dom/ShadowContentElement.h:
  68650. (WebCore::ShadowContentElement::inclusionAt): Added.
  68651. (WebCore::ShadowContentElement::inclusionCount): Added.
  68652. (WebCore::toShadowContentElement):
  68653. * dom/ShadowContentSelector.cpp: Removed attachChildrenFor()
  68654. (WebCore::ShadowContentSelector::selectInclusion): Extracted from attachChildrenFor()
  68655. (WebCore::ShadowContentSelector::willAttachContentFor): Extracted from attachChildrenFor()
  68656. (WebCore::ShadowContentSelector::didAttachContent): Extracted from attachChildrenFor()
  68657. (WebCore::ShadowContentSelector::activeElement):
  68658. * dom/ShadowContentSelector.h:
  68659. 2011-06-14 David Kilzer <ddkilzer@apple.com>
  68660. <http://webkit.org/b/62677> Part 2/2: Remove duplicate header entries in WebCore project file
  68661. Reviewed by Darin Adler.
  68662. Most of the DOMSVG*.h headers were added in late 2006, and then
  68663. duplicated by late 2007. They've been in the tree a long time.
  68664. * WebCore.xcodeproj/project.pbxproj: Let Xcode 4 remove
  68665. duplicate header entries.
  68666. 2011-06-14 David Kilzer <ddkilzer@apple.com>
  68667. <http://webkit.org/b/62677> Part 1/2: Remove duplicate header entries in WebCore project file
  68668. Reviewed by Darin Adler.
  68669. These headers were added as duplicates in r83256:
  68670. DefaultAudioDestinationNode.h
  68671. JSOfflineAudioCompletionEvent.h
  68672. OfflineAudioCompletionEvent.h
  68673. OfflineAudioDestinationNode.h
  68674. The following duplicates were introduced in r84053 (after having
  68675. been originally added in r83729):
  68676. StorageInfo.h
  68677. StorageInfoErrorCallback.h
  68678. StorageInfoQuotaCallback.h
  68679. StorageInfoUsageCallback.h
  68680. * WebCore.xcodeproj/project.pbxproj: Remove duplicates using
  68681. 'uniq' since sort-Xcode-project-file did most of the work.
  68682. 2011-06-14 Kent Tamura <tkent@chromium.org>
  68683. Reviewed by Hajime Morita.
  68684. REGRESSION(r88757): [Chromium] Vertical position of media slider thumb is wrong.
  68685. https://bugs.webkit.org/show_bug.cgi?id=62685
  68686. No new tests. Covered by existing tests.
  68687. * rendering/RenderSlider.cpp:
  68688. (WebCore::RenderSlider::layout): Center the thumb position.
  68689. * rendering/RenderSlider.h:
  68690. 2011-06-14 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  68691. Reviewed by Kent Tamura.
  68692. [EFL] Change color initialization with clear color constant
  68693. https://bugs.webkit.org/show_bug.cgi?id=62691
  68694. Some color values are initialized by rbg value. Color constant value is more clear than
  68695. rgb value.
  68696. * platform/efl/RenderThemeEfl.cpp:
  68697. (WebCore::RenderThemeEfl::RenderThemeEfl):
  68698. 2011-06-14 Julien Chaffraix <jchaffraix@webkit.org>
  68699. Reviewed by James Robinson.
  68700. Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.fill.destination-in.html
  68701. https://bugs.webkit.org/show_bug.cgi?id=48293
  68702. And
  68703. Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.pattern.destination-in.html
  68704. https://bugs.webkit.org/show_bug.cgi?id=48303
  68705. * html/canvas/CanvasRenderingContext2D.cpp:
  68706. (WebCore::CanvasRenderingContext2D::shouldDisplayTransparencyElsewhere): Added CompositeDestinationIn
  68707. as this is the only one that needs a specific treatment.
  68708. 2011-06-14 Naoki Takano <takano.naoki@gmail.com>
  68709. Reviewed by Kent Tamura.
  68710. [Chromium] Forward modifiers + up/down key events to text field when autofill popup window is shown.
  68711. https://bugs.webkit.org/show_bug.cgi?id=62350
  68712. http://code.google.com/p/chromium/issues/detail?id=61349
  68713. Manual test: autofill-popup-shiftupdown.html
  68714. * manual-tests/chromium/autofill-popup-shiftupdown.hml: Added to check modifier + up/down key is working correctly for text area in autofill popup is shown.
  68715. * platform/chromium/PopupMenuChromium.cpp:
  68716. (WebCore::PopupListBox::handleKeyEvent): Check modifier key and menu style to decide if the event should be forwarded or not.
  68717. 2011-06-14 Annie Sullivan <sullivan@chromium.org>
  68718. Reviewed by Ryosuke Niwa.
  68719. Span ID duplicated when pressing enter at beginning of span
  68720. https://bugs.webkit.org/show_bug.cgi?id=62621
  68721. Strip id from cloned span, so that it is not duplicated.
  68722. Test: editing/inserting/return-key-span-start.html
  68723. * editing/InsertParagraphSeparatorCommand.cpp:
  68724. (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock):
  68725. 2011-06-13 Ryosuke Niwa <rniwa@webkit.org>
  68726. Reviewed by David Hyatt.
  68727. Trailing tabs in a textarea become unselectable under certain conditions
  68728. https://bugs.webkit.org/show_bug.cgi?id=54598
  68729. The bug was caused by WebKit's erroneously collapsing leading whitespace when white-space is
  68730. set to pre-wrap. Per CSS 2.1 spec section 16.1.1, leading whitespace should not be removed
  68731. in this case.
  68732. See also: http://www.w3.org/TR/CSS2/text.html#white-space-model
  68733. Fixed the bug by adding an extra argument to shouldCollapseWhiteSpace, indicating whether
  68734. whitespace is leading or trailing. It defaults to leading because 16.1.1 does not allow allow
  68735. collapsing of whitespace anywhere but at the end of each line.
  68736. Test: fast/text/pre-wrap-trailing-tab.html
  68737. * rendering/RenderBlockLineLayout.cpp:
  68738. (WebCore::shouldCollapseWhiteSpace): Added WhitespacePosition as an argument. Returns false
  68739. when whitespacePosition is not TrailingWhitespace even if white-space is pre-wrap.
  68740. (WebCore::requiresLineBox): Takes WhitespacePosition as an argument and passes it to
  68741. shouldCollapseWhiteSpace.
  68742. (WebCore::RenderBlock::generatesLineBoxesForInlineChild): Calls requiresLineBox.
  68743. (WebCore::RenderBlock::LineBreaker::skipTrailingWhitespace): Ditto.
  68744. (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace): Ditto.
  68745. 2011-06-14 Beth Dakin <bdakin@apple.com>
  68746. Reviewed by Dan Bernstein.
  68747. https://bugs.webkit.org/show_bug.cgi?id=62678
  68748. When the window is small enough, the scrollbars are misplaced with painting
  68749. artifacts, after changing the scrollbar appearance
  68750. -and corresponding-
  68751. <rdar://problem/9414015>
  68752. Get rid of the FrameView implementation of scrollbarStyleChanged(). Its approach
  68753. is just not good.
  68754. * page/FrameView.cpp:
  68755. * page/FrameView.h:
  68756. Implement scrollbarStyleChanged() on ScrollView instead. And just call
  68757. updatedScrollbars().
  68758. * platform/ScrollView.cpp:
  68759. (WebCore::ScrollView::scrollbarStyleChanged):
  68760. * platform/ScrollView.h:
  68761. Invalidate the old scrollbar before changing it to the new scrollbar. This way
  68762. when the scrollbar gets smaller, the older, larger pieces still repaint properly.
  68763. * platform/mac/ScrollAnimatorMac.mm:
  68764. (WebCore::ScrollAnimatorMac::updateScrollerStyle):
  68765. 2011-06-14 Michael Saboff <msaboff@apple.com>
  68766. Reviewed by Joseph Pecoraro.
  68767. Incorrect #if[n]def for building without DISPATCH_VM_PRESSURE
  68768. https://bugs.webkit.org/show_bug.cgi?id=62649
  68769. Take 2.
  68770. The #ifdef DISPATCH_VM_PRESSURE doesn't work. Combined the code
  68771. inside this #ifdef with the prior #ifndef DISPATCH_SOURCE_TYPE_VM.
  68772. No functional changes, fixing build issue therefore no tests.
  68773. * platform/mac/MemoryPressureHandlerMac.mm:
  68774. 2011-06-14 Jeffrey Pfau <jpfau@apple.com>
  68775. Reviewed by David Hyatt.
  68776. Null dereference in WebCore::RenderBlock::splitFlow regarding use of multicol, inline-block, and spanning elements
  68777. https://bugs.webkit.org/show_bug.cgi?id=60028
  68778. Ensure that the parent block of a spanning element, if it is not itself
  68779. a multicol element, is not inline.
  68780. Test: fast/multicol/span/span-as-nested-inline-block-child.html
  68781. * rendering/RenderBlock.cpp:
  68782. (WebCore::RenderBlock::columnsBlockForSpanningElement):
  68783. 2011-06-14 Jer Noble <jer.noble@apple.com>
  68784. Reviewed by Eric Carlson.
  68785. REGRESSION: Drawing video into canvas gets about one frame every 5 seconds (AVFoundation)
  68786. https://bugs.webkit.org/show_bug.cgi?id=62655
  68787. No new tests; we don't have any media-engine specific tests.
  68788. AVAssetImageGenerator will, by default, return the nearest keyframe. To get the generator to return
  68789. the image from the current time instead of the nearest keyframe, set the requested time tolerance to
  68790. zero (which defaults to infinity).
  68791. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
  68792. (WebCore::MediaPlayerPrivateAVFoundationObjC::createContextVideoRenderer):
  68793. 2011-06-14 Eric Uhrhane <ericu@chromium.org>
  68794. Reviewed by Darin Fisher.
  68795. Clean up filesystem base path code.
  68796. https://bugs.webkit.org/show_bug.cgi?id=60218
  68797. Change a bunch of url-held-in-a-string parameters into real KURLS and
  68798. WebURLs.
  68799. No new tests--no change in functionality.
  68800. * fileapi/DOMFileSystem.cpp:
  68801. (WebCore::DOMFileSystem::createWriter):
  68802. (WebCore::DOMFileSystem::createFile):
  68803. * fileapi/DOMFileSystemBase.cpp:
  68804. (WebCore::DOMFileSystemBase::getMetadata):
  68805. (WebCore::DOMFileSystemBase::move):
  68806. (WebCore::DOMFileSystemBase::copy):
  68807. (WebCore::DOMFileSystemBase::remove):
  68808. (WebCore::DOMFileSystemBase::removeRecursively):
  68809. (WebCore::DOMFileSystemBase::getParent):
  68810. (WebCore::DOMFileSystemBase::getFile):
  68811. (WebCore::DOMFileSystemBase::getDirectory):
  68812. (WebCore::DOMFileSystemBase::readDirectory):
  68813. * fileapi/DOMFileSystemSync.cpp:
  68814. (WebCore::DOMFileSystemSync::createFile):
  68815. (WebCore::DOMFileSystemSync::createWriter):
  68816. * platform/AsyncFileSystem.cpp:
  68817. (WebCore::AsyncFileSystem::openFileSystem):
  68818. * platform/AsyncFileSystem.h:
  68819. (WebCore::AsyncFileSystem::AsyncFileSystem):
  68820. 2011-06-14 James Robinson <jamesr@chromium.org>
  68821. Reviewed by Stephen White.
  68822. [chromium] Compositor shader initialization is inefficient
  68823. https://bugs.webkit.org/show_bug.cgi?id=62618
  68824. This fixes several issues causing slowdowns in compositor shader initialization, mostly due to lack of
  68825. parallelism:
  68826. - Avoid initializing all programs eagerly. We only use two programs on every page, the other programs depend on
  68827. content and are constructed on demand.
  68828. - Defer querying uniform locations until draw time. For the eagerly constructed programs (render surface +
  68829. tiler) this means that the GPU process has a chance to compile the shader while the renderer is busy
  68830. painting+uploading instead of blocking on shader compilation in order to get uniform locations.
  68831. - Calls to query COMPILE_STATUS/LINK_STATUS moved behind #ifndef NDEBUG guards since these should never fail in
  68832. release builds and force synchronous compilation/linking.
  68833. This also adds a number of TRACE_EVENT()s to make analysing the performance of this bit of code easier.
  68834. * platform/graphics/chromium/LayerRendererChromium.cpp:
  68835. (WebCore::LayerRendererChromium::updateLayers):
  68836. (WebCore::LayerRendererChromium::initializeSharedObjects):
  68837. (WebCore::LayerRendererChromium::borderProgram):
  68838. (WebCore::LayerRendererChromium::headsUpDisplayProgram):
  68839. (WebCore::LayerRendererChromium::renderSurfaceProgram):
  68840. (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
  68841. (WebCore::LayerRendererChromium::tilerProgram):
  68842. (WebCore::LayerRendererChromium::canvasLayerProgram):
  68843. (WebCore::LayerRendererChromium::pluginLayerProgram):
  68844. (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
  68845. (WebCore::LayerRendererChromium::videoLayerYUVProgram):
  68846. * platform/graphics/chromium/LayerRendererChromium.h:
  68847. * platform/graphics/chromium/LayerTextureSubImage.cpp:
  68848. (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
  68849. (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
  68850. * platform/graphics/chromium/ProgramBinding.cpp:
  68851. (WebCore::ProgramBindingBase::init):
  68852. (WebCore::ProgramBindingBase::loadShader):
  68853. (WebCore::ProgramBindingBase::createShaderProgram):
  68854. * platform/graphics/chromium/ProgramBinding.h:
  68855. (WebCore::ProgramBinding::ProgramBinding):
  68856. (WebCore::ProgramBinding::initialize):
  68857. * platform/graphics/chromium/ShaderChromium.cpp:
  68858. (WebCore::VertexShaderPosTex::init):
  68859. (WebCore::VertexShaderPosTexYUVStretch::init):
  68860. (WebCore::VertexShaderPos::init):
  68861. (WebCore::VertexShaderPosTexTransform::init):
  68862. (WebCore::FragmentTexAlphaBinding::init):
  68863. (WebCore::FragmentShaderRGBATexAlphaMask::init):
  68864. (WebCore::FragmentShaderYUVVideo::init):
  68865. (WebCore::FragmentShaderColor::init):
  68866. * platform/graphics/chromium/ShaderChromium.h:
  68867. 2011-06-14 Stephanie Lewis <slewis@apple.com>
  68868. Rubber stamped by Oliver Hunt.
  68869. <rdar://problem/9511169>
  68870. Update order files.
  68871. Build system change, no change in functionality so no new tests.
  68872. * WebCore.order:
  68873. 2011-06-14 Chris Fleizach <cfleizach@apple.com>
  68874. Reviewed by David Kilzer.
  68875. VoiceOver cannot navigate the iTunes album view table
  68876. https://bugs.webkit.org/show_bug.cgi?id=62335
  68877. This is a regression from https://bugs.webkit.org/show_bug.cgi?id=57463.
  68878. Part of that patch made a change so that an ARIA table will only look at it's children and grandchildren
  68879. for possible rows. That however, doesn't allow arbitrary hierarchies to work with ARIA, like in iTunes album view.
  68880. Test: platform/mac/accessibility/aria-grid-with-strange-hierarchy.html
  68881. * accessibility/AccessibilityARIAGrid.cpp:
  68882. (WebCore::AccessibilityARIAGrid::addChild):
  68883. (WebCore::AccessibilityARIAGrid::addChildren):
  68884. * accessibility/AccessibilityARIAGrid.h:
  68885. 2011-06-14 Sheriff Bot <webkit.review.bot@gmail.com>
  68886. Unreviewed, rolling out r88823.
  68887. http://trac.webkit.org/changeset/88823
  68888. https://bugs.webkit.org/show_bug.cgi?id=62652
  68889. Broke the Lion build (Requested by estes on #webkit).
  68890. * platform/mac/MemoryPressureHandlerMac.mm:
  68891. 2011-06-14 Michael Saboff <msaboff@apple.com>
  68892. Reviewed by Joseph Pecoraro.
  68893. Incorrect #if[n]def for building without DISPATCH_VM_PRESSURE
  68894. https://bugs.webkit.org/show_bug.cgi?id=62649
  68895. The #ifdef DISPATCH_VM_PRESSURE actually needs to be #ifndef
  68896. to handle when DISPATCH_VM_PRESSURE is NOT defined in the
  68897. system header files.
  68898. No functional changes, fixing build issue therefore no tests.
  68899. * platform/mac/MemoryPressureHandlerMac.mm:
  68900. 2011-06-13 Adrienne Walker <enne@google.com>
  68901. Reviewed by James Robinson.
  68902. [chromium] Disable drawing for huge mask layers
  68903. https://bugs.webkit.org/show_bug.cgi?id=62607
  68904. Because masks have a different layer size than the layer they are
  68905. masking, they are untiled. If they are too large to be contained
  68906. within a single texture, then they should just be disabled.
  68907. Test: platform/chromium/compositing/huge-mask-layer.html
  68908. * platform/graphics/chromium/ContentLayerChromium.cpp:
  68909. (WebCore::ContentLayerChromium::drawsContent):
  68910. (WebCore::ContentLayerChromium::paintContentsIfDirty):
  68911. * platform/graphics/chromium/LayerTilerChromium.h:
  68912. (WebCore::LayerTilerChromium::getSingleTexture):
  68913. (WebCore::LayerTilerChromium::numTiles):
  68914. 2011-06-14 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
  68915. Reviewed by Laszlo Gombos.
  68916. [Qt] [Symbian] GraphicsLayer: support plugins on symbian
  68917. https://bugs.webkit.org/show_bug.cgi?id=57418
  68918. Implement graphics layer for plugins on Symbian.
  68919. * plugins/PluginView.h:
  68920. * plugins/qt/PluginViewQt.cpp:
  68921. (WebCore::PluginView::shouldUseAcceleratedCompositing):
  68922. (WebCore::PluginView::platformStart):
  68923. * plugins/symbian/PluginViewSymbian.cpp:
  68924. (WebCore::PluginGraphicsLayerQt::PluginGraphicsLayerQt):
  68925. (WebCore::PluginGraphicsLayerQt::~PluginGraphicsLayerQt):
  68926. (WebCore::PluginGraphicsLayerQt::paint):
  68927. (WebCore::PluginView::shouldUseAcceleratedCompositing):
  68928. (WebCore::PluginView::paint):
  68929. (WebCore::PluginView::invalidateRect):
  68930. (WebCore::PluginView::platformStart):
  68931. (WebCore::PluginView::platformLayer):
  68932. 2011-06-14 Sreeram Ramachandran <sreeram@chromium.org>
  68933. Reviewed by Pavel Feldman.
  68934. Web Inspector: Allow the console to persist on page refresh or navigation
  68935. https://bugs.webkit.org/show_bug.cgi?id=53359
  68936. Adds a context menu checkbox to preserve the console log across
  68937. navigations. However, the underlying messages and objects are actually
  68938. deleted from the backend, so they are not expandable; their continued
  68939. display in the console frontend is merely cosmetic.
  68940. Test: inspector/console/console-preserve-log.html
  68941. * English.lproj/localizedStrings.js:
  68942. * inspector/front-end/ConsoleView.js:
  68943. (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messagesCleared):
  68944. (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
  68945. (WebInspector.ConsoleView.prototype.requestClearMessages):
  68946. (WebInspector.ConsoleView.prototype._handleContextMenuEvent.monitoringXHRItemAction):
  68947. (WebInspector.ConsoleView.prototype._handleContextMenuEvent.preserveLogItemAction):
  68948. (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
  68949. * inspector/front-end/Settings.js:
  68950. (WebInspector.Settings):
  68951. * inspector/front-end/inspector.js:
  68952. (WebInspector.reset):
  68953. 2011-06-14 Pavel Podivilov <podivilov@chromium.org>
  68954. Reviewed by Pavel Feldman.
  68955. Web Inspector: add tooltip to file select options in scripts panel.
  68956. https://bugs.webkit.org/show_bug.cgi?id=62537
  68957. * inspector/front-end/ScriptsPanel.js:
  68958. (WebInspector.ScriptsPanel):
  68959. (WebInspector.ScriptsPanel.prototype._sourceFileAdded):
  68960. (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.compare):
  68961. (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
  68962. (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation):
  68963. (WebInspector.ScriptsPanel.prototype._callFrameSelected):
  68964. 2011-06-14 Luke Macpherson <macpherson@chromium.org>
  68965. Reviewed by Eric Seidel.
  68966. Implement CSS border radius properies in CSSStyleApplyProperty
  68967. https://bugs.webkit.org/show_bug.cgi?id=62265
  68968. No new tests / refactoring only.
  68969. * css/CSSStyleApplyProperty.cpp:
  68970. Implement new class to culculate border radius, initialize for appropriate properties.
  68971. (WebCore::ApplyPropertyBorderRadius::ApplyPropertyBorderRadius):
  68972. (WebCore::ApplyPropertyBorderRadius::applyValue):
  68973. (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
  68974. * css/CSSStyleSelector.cpp:
  68975. Remove old implementations.
  68976. (WebCore::CSSStyleSelector::applyProperty):
  68977. * page/animation/AnimationBase.cpp:
  68978. Pass LengthSize by value.
  68979. (WebCore::AnimationBase::ensurePropertyMap):
  68980. * rendering/style/RenderStyle.h:
  68981. Pass LengthSize by value consistently.
  68982. 2011-06-14 Carlos Garcia Campos <cgarcia@igalia.com>
  68983. Reviewed by Martin Robinson.
  68984. [GTK] Rename convertWidgetRectToScreenRect() to convertWidgetPointToScreenPoint()
  68985. https://bugs.webkit.org/show_bug.cgi?id=62626
  68986. The method actually converts coordinates, the rectangle size is
  68987. not affected, so it can be modified to return a point
  68988. instead. Fix also a bug in the implementation, it was translating
  68989. the coordinates twice returning the wrong position when the given
  68990. rectangle was not at 0,0.
  68991. * platform/gtk/GtkUtilities.cpp:
  68992. (WebCore::convertWidgetPointToScreenPoint):
  68993. * platform/gtk/GtkUtilities.h:
  68994. * platform/gtk/PopupMenuGtk.cpp:
  68995. (WebCore::PopupMenuGtk::show): Use
  68996. convertWidgetPointToScreenPoint().
  68997. 2011-06-14 Carlos Garcia Campos <cgarcia@igalia.com>
  68998. Reviewed by Martin Robinson.
  68999. [GTK] Support authentication dialogs in WebKit2
  69000. https://bugs.webkit.org/show_bug.cgi?id=62366
  69001. Add a new class to show an authentication dialog that is used by
  69002. both WebKit1 and WebKit2.
  69003. * GNUmakefile.list.am: Add new files to compilation.
  69004. * platform/gtk/GtkAuthenticationDialog.cpp: Added.
  69005. (WebCore::addEntryToTable):
  69006. (WebCore::sessionCanSavePasswords):
  69007. (WebCore::GtkAuthenticationDialog::~GtkAuthenticationDialog):
  69008. (WebCore::GtkAuthenticationDialog::GtkAuthenticationDialog):
  69009. (WebCore::getSavedLogin):
  69010. (WebCore::GtkAuthenticationDialog::show):
  69011. (WebCore::GtkAuthenticationDialog::destroy):
  69012. (WebCore::GtkAuthenticationDialog::savePasswordCallback):
  69013. (WebCore::GtkAuthenticationDialog::savePassword):
  69014. (WebCore::GtkAuthenticationDialog::authenticate):
  69015. (WebCore::GtkAuthenticationDialog::authenticationDialogResponseCallback):
  69016. * platform/gtk/GtkAuthenticationDialog.h: Added.
  69017. 2011-06-14 Tommy Widenflycht <tommyw@google.com>
  69018. Reviewed by Tony Gentilcore.
  69019. Media Stream PeerConnection API: adding the StreamList and supporting classes.
  69020. https://bugs.webkit.org/show_bug.cgi?id=61539
  69021. * dom/StreamContainer.h: Added.
  69022. (WebCore::StreamContainer::create):
  69023. (WebCore::StreamContainer::~StreamContainer):
  69024. (WebCore::StreamContainer::length):
  69025. (WebCore::StreamContainer::item):
  69026. (WebCore::StreamContainer::add):
  69027. (WebCore::StreamContainer::remove):
  69028. (WebCore::StreamContainer::contains):
  69029. (WebCore::StreamContainer::get):
  69030. (WebCore::StreamContainer::StreamContainer):
  69031. * dom/StreamList.cpp: Added.
  69032. (WebCore::StreamList::create):
  69033. (WebCore::StreamList::StreamList):
  69034. (WebCore::StreamList::~StreamList):
  69035. (WebCore::StreamList::length):
  69036. (WebCore::StreamList::item):
  69037. * dom/StreamList.h: Added.
  69038. * dom/StreamList.idl: Added.
  69039. 2011-06-14 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
  69040. Reviewed by Andreas Kling.
  69041. [Qt] tst_QWebFrame::overloadedSlots() fails
  69042. https://bugs.webkit.org/show_bug.cgi?id=37319
  69043. Increase the likeness that JSElements are converted to QWebElements. When hinted
  69044. with QWebElement metatype, we qualify the conversion from JSElement as a "perfect
  69045. match".
  69046. The test was failing because the wrong slot was called, since the QWebElement
  69047. match was taken as equal to the others and not chosen when the metacall happened.
  69048. We also remove the implicit conversion between JSDocument (which is not an
  69049. element) to QWebElement. The conversion only worked for calling slots, while
  69050. without hint it returned a QVariantMap (as can be seen in domCycles test). It was
  69051. added for supporting DRT, but since this change we can use it as QVariantMap and
  69052. get the value for "documentElement".
  69053. This patch is based on Noam Rosenthal original patch in the same bug.
  69054. * bridge/qt/qt_runtime.cpp:
  69055. (JSC::Bindings::hintForRealType):
  69056. Extracted function to choose the metatype hint based on the JSValue type. Add
  69057. QWebElement metatype as a hint for JSElement objects, this way if no hint is
  69058. provided, JSElement objects will always be converted to QWebElements.
  69059. (JSC::Bindings::convertValueToQVariant):
  69060. Use previous function. Identify the conversion between JSElement to QWebElement
  69061. as a "perfect match" (dist = 0). And remove the implicit conversion when the hint
  69062. is QWebElement metatype and we have a JSDocument. Changed from JSHTMLElement to
  69063. JSElement to cover the 'documentElement'.
  69064. 2011-06-14 Andreas Kling <kling@webkit.org>
  69065. Reviewed by Benjamin Poulain.
  69066. Remove some unnecessary includes.
  69067. * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
  69068. 2011-06-14 Yael Aharon <yael.aharon@nokia.com>
  69069. Reviewed by Kent Tamura.
  69070. <progress> should support :indeterminate pseudo-class
  69071. https://bugs.webkit.org/show_bug.cgi?id=62430
  69072. Add support for :indeterminate pseudo class for progress element.
  69073. Tests: fast/dom/HTMLProgressElement/indeterminate-progress-001.html
  69074. fast/dom/HTMLProgressElement/indeterminate-progress-002.html
  69075. * css/CSSStyleSelector.cpp:
  69076. (WebCore::CSSStyleSelector::canShareStyleWithControl):
  69077. (WebCore::CSSStyleSelector::canShareStyleWithElement):
  69078. (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
  69079. * html/HTMLProgressElement.cpp:
  69080. (WebCore::HTMLProgressElement::isDeterminate):
  69081. (WebCore::HTMLProgressElement::didElementStateChange):
  69082. * html/HTMLProgressElement.h:
  69083. 2011-06-14 Pavel Feldman <pfeldman@google.com>
  69084. Reviewed by Yury Semikhatsky.
  69085. Web Inspector: use ew-resize instead of col-resize for non-columns.
  69086. https://bugs.webkit.org/show_bug.cgi?id=62640
  69087. * inspector/front-end/ElementsPanel.js:
  69088. (WebInspector.ElementsPanel.prototype.rightSidebarResizerDragStart):
  69089. * inspector/front-end/Panel.js:
  69090. (WebInspector.Panel.prototype._startSidebarDragging):
  69091. * inspector/front-end/ScriptsPanel.js:
  69092. (WebInspector.ScriptsPanel.prototype._startSidebarResizeDrag):
  69093. * inspector/front-end/TimelineOverviewPane.js:
  69094. (WebInspector.TimelineOverviewPane.prototype._resizeWindow):
  69095. (WebInspector.TimelineOverviewPane.prototype._dragWindow):
  69096. * inspector/front-end/inspector.css:
  69097. (body.attached #toolbar):
  69098. (body.drawer-visible #main-status-bar):
  69099. (#scripts-sidebar-resizer-widget):
  69100. (.sidebar-resizer-vertical):
  69101. (.timeline-window-resizer):
  69102. 2011-06-14 Pavel Feldman <pfeldman@google.com>
  69103. Reviewed by Yury Semikhatsky.
  69104. Web Inspector: reload from within inspector window does not work while debugger is paused.
  69105. https://bugs.webkit.org/show_bug.cgi?id=62631
  69106. Test: inspector/debugger/debugger-reload-on-pause.html
  69107. * loader/FrameLoader.cpp:
  69108. (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
  69109. 2011-06-14 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  69110. Reviewed by Kent Tamura.
  69111. [EFL] Support for painting thumb of media slider
  69112. https://bugs.webkit.org/show_bug.cgi?id=62174
  69113. Replace RenderObject parameter with RenderStyle's in adjustSliderThumbSize.
  69114. Because, parameter of the function was changed. And, add constant variable to
  69115. paintMediaSliderThumb().
  69116. * platform/efl/RenderThemeEfl.cpp:
  69117. (WebCore::RenderThemeEfl::RenderThemeEfl):
  69118. (WebCore::RenderThemeEfl::adjustSliderThumbSize):
  69119. (WebCore::RenderThemeEfl::paintMediaSliderThumb):
  69120. * platform/efl/RenderThemeEfl.h:
  69121. 2011-06-14 Kent Tamura <tkent@chromium.org>
  69122. [Qt] Attempt to fix a build break by r88757.
  69123. https://bugs.webkit.org/show_bug.cgi?id=52920
  69124. * platform/qt/RenderThemeQt.cpp:
  69125. (WebCore::RenderThemeQt::paintSliderTrack):
  69126. 2011-06-13 Kent Tamura <tkent@chromium.org>
  69127. [EFL] The second try to fix a build break.
  69128. * platform/efl/RenderThemeEfl.cpp:
  69129. (WebCore::RenderThemeEfl::paintThemePart):
  69130. 2011-06-13 Kent Tamura <tkent@chromium.org>
  69131. [EFL] Fix a typo.
  69132. * platform/efl/RenderThemeEfl.cpp:
  69133. (WebCore::RenderThemeEfl::paintThemePart):
  69134. 2011-06-13 Kent Tamura <tkent@chromium.org>
  69135. [EFL] Try to fix a build break by r88757.
  69136. * platform/efl/RenderThemeEfl.cpp:
  69137. (WebCore::RenderThemeEfl::paintThemePart):
  69138. 2011-06-10 Kent Tamura <tkent@chromium.org>
  69139. Reviewed by Dimitri Glazkov.
  69140. Use CSS machinery to position slider thumb.
  69141. https://bugs.webkit.org/show_bug.cgi?id=52920
  69142. Remove RenderSlider::layout().
  69143. In order to remove it, we introduce new three shadow nodes:
  69144. - A flex box container occupying the whole box
  69145. - A flex box item representing a movable area of the thumb
  69146. - A flex box item limiting the movable area of the thumb
  69147. The thumb position is specified by percentage position in the second element.
  69148. This change also fixes Bug 60353.
  69149. Tests: fast/forms/input-appearance-range.html
  69150. fast/forms/validation-message-on-range.html
  69151. * accessibility/AccessibilitySlider.cpp:
  69152. (WebCore::AccessibilitySliderThumb::elementRect):
  69153. Use Node::getRect() for the thumb element.
  69154. * css/html.css: Add new style definitions for the new node layout.
  69155. (input[type="range"]::-webkit-slider-container):
  69156. (input[type="range"]::-webkit-slider-runnable-track):
  69157. (input[type="range"]::-webkit-slider-thumb):
  69158. * html/RangeInputType.cpp:
  69159. (WebCore::RangeInputType::handleMouseDownEvent):
  69160. Accepts events on shadow nodes, use sliderThumbElementOf().
  69161. (WebCore::RangeInputType::createShadowSubtree):
  69162. Creates new nodes layout.
  69163. (WebCore::RangeInputType::valueChanged): Use sliderThumbElementOf().
  69164. * html/RangeInputType.h: Remove shadowSliderThumb().
  69165. * html/shadow/SliderThumbElement.cpp:
  69166. (WebCore::sliderPosition): Moved from RenderSlider.cpp.
  69167. (WebCore::hasVerticalAppearance): New utility function.
  69168. (WebCore::sliderThumbElementOf): New utility function.
  69169. (WebCore::RenderSliderThumb::layout):
  69170. Sets CSS top/left values.
  69171. (WebCore::RenderSliderContainer::RenderSliderContainer):
  69172. (WebCore::RenderSliderContainer::layout):
  69173. Add some adjustment code.
  69174. - Setting box-orient
  69175. - Adjust heights of some nodes. It is required to pass existing tests.
  69176. (WebCore::SliderThumbElement::setPositionFromValue):
  69177. Update comments.
  69178. (WebCore::SliderThumbElement::setPositionFromPoint):
  69179. Calculate the current position from absolute positions.
  69180. (WebCore::SliderThumbElement::hostInput):
  69181. Removed unnecessary variable.
  69182. (WebCore::TrackLimiterElement::TrackLimiterElement):
  69183. (WebCore::TrackLimiterElement::create): Adjust style.
  69184. (WebCore::TrackLimiterElement::createRenderer):
  69185. This node uses RenderSliderThumb.
  69186. (WebCore::TrackLimiterElement::shadowPseudoId):
  69187. This node also uses -webkit-slider-thumb.
  69188. (WebCore::SliderContainerElement::SliderContainerElement):
  69189. (WebCore::SliderContainerElement::create):
  69190. (WebCore::SliderContainerElement::createRenderer):
  69191. Uses RenderSliderContainer.
  69192. (WebCore::SliderContainerElement::shadowPseudoId):
  69193. * html/shadow/SliderThumbElement.h:
  69194. Make hostInput() public, add declarations of TrackLimiterElement
  69195. and SliderContainerElement.
  69196. * rendering/RenderSlider.cpp:
  69197. (WebCore::RenderSlider::RenderSlider): Added an assertion.
  69198. (WebCore::RenderSlider::inDragMode): Uses sliderThumbElementOf().
  69199. * rendering/RenderSlider.h: Remove declarations of removed functions.
  69200. * rendering/RenderTheme.cpp:
  69201. (WebCore::RenderTheme::adjustSliderThumbStyle):
  69202. Calls adjustSliderThumbSize().
  69203. 2011-06-13 Joone Hur <joone.hur@collabora.co.uk>
  69204. Reviewed by Martin Robinson.
  69205. [GTK] Add configure option to enable/disable register protocol handler
  69206. https://bugs.webkit.org/show_bug.cgi?id=62534
  69207. * GNUmakefile.am: Add ENABLE_REGISTER_PROTOCOL_HANDLER.
  69208. 2011-06-13 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  69209. Reviewed by Kent Tamura.
  69210. [EFL] Support for painting thumb of media slider
  69211. https://bugs.webkit.org/show_bug.cgi?id=62174
  69212. Implement paintMediaSliderThumb() function to show thumb of media slider.
  69213. adjustSliderThumbSize() should be implemented in order to call paintMediaSliderThumb().
  69214. * platform/efl/RenderThemeEfl.cpp:
  69215. (WebCore::RenderThemeEfl::RenderThemeEfl):
  69216. (WebCore::RenderThemeEfl::adjustSliderThumbSize):
  69217. (WebCore::RenderThemeEfl::paintMediaSliderTrack):
  69218. (WebCore::RenderThemeEfl::paintMediaSliderThumb):
  69219. (WebCore::RenderThemeEfl::paintMediaCurrentTime):
  69220. * platform/efl/RenderThemeEfl.h:
  69221. 2011-06-13 Keishi Hattori <keishi@webkit.org>
  69222. Sort WebCore.xcodeproj
  69223. Accomplished using sort-Xcode-project-file.
  69224. * WebCore.xcodeproj/project.pbxproj:
  69225. 2011-06-13 James Simonsen <simonjam@chromium.org>
  69226. Reviewed by James Robinson.
  69227. [Chromium] Implement monotonicallyIncreasingClock()
  69228. https://bugs.webkit.org/show_bug.cgi?id=62162
  69229. * platform/chromium/PlatformBridge.h:
  69230. * platform/chromium/SystemTimeChromium.cpp:
  69231. (WebCore::monotonicallyIncreasingTime): Use Chrome's implementation.
  69232. 2011-06-13 Steve Block <steveblock@google.com>
  69233. Reviewed by Darin Adler.
  69234. Remove Android defines from WebCore/config.h
  69235. https://bugs.webkit.org/show_bug.cgi?id=62602
  69236. No new tests, build cleanup only.
  69237. * config.h:
  69238. 2011-06-13 Adam Barth <abarth@webkit.org>
  69239. Reviewed by David Levin.
  69240. Remove redundant "true" parameter to scheduleLocationChange
  69241. https://bugs.webkit.org/show_bug.cgi?id=62612
  69242. This parameter defaults to true anyway.
  69243. * loader/appcache/ApplicationCacheGroup.cpp:
  69244. (WebCore::ApplicationCacheGroup::selectCache):
  69245. 2011-06-13 Kentaro Hara <haraken@google.com>
  69246. Reviewed by Alexey Proskuryakov.
  69247. Add resizePageRectsKeepingRatio(), which expands/shrinks a page, keeping the ratio of the original page
  69248. https://bugs.webkit.org/show_bug.cgi?id=61256
  69249. In order to prevent rounding error caused by expanding/shrinking a page
  69250. using different calculation here and there, I added a common calculation
  69251. method, resizePageRectsKeepingRatio(), which expands/shrinks a page,
  69252. keeping the ratio of width and height of the original page.
  69253. PrintContext::computePageRects() and PrintContext::begin()
  69254. use resizePageRectsKeepingRatio() to expand/shrink a page.
  69255. Test: printing/page-count-with-one-word.html
  69256. * WebCore.exp.in:
  69257. * page/Frame.cpp:
  69258. (WebCore::Frame::resizePageRectsKeepingRatio):
  69259. * page/Frame.h:
  69260. * page/PrintContext.cpp:
  69261. (WebCore::PrintContext::computePageRects):
  69262. (WebCore::PrintContext::begin):
  69263. 2011-06-13 Adam Barth <abarth@webkit.org>
  69264. Reviewed by Darin Adler.
  69265. anyPageIsProcessingUserGesture is not longer needed because user gesture state is static
  69266. https://bugs.webkit.org/show_bug.cgi?id=62601
  69267. Previously, our user-gesture state was per-frame. Code needed to check
  69268. the "global" user gesture state called anyPageIsProcessingUserGesture()
  69269. to iterate through all the frames and look for one that was processing
  69270. a user gesture. Since we changed the user gesture state to be static,
  69271. iterating over every frame in existence isn't needed.
  69272. This patch also cleans up a couple other user-gesture callsites I saw
  69273. while I was in this code. Code should just call
  69274. ScriptController::processingUserGesture directly instead of
  69275. trampolining through other functions.
  69276. * bindings/ScriptControllerBase.cpp:
  69277. (WebCore::ScriptController::executeScript):
  69278. * bindings/generic/BindingSecurity.h:
  69279. (WebCore::::allowPopUp):
  69280. * bindings/js/JSDOMBinding.cpp:
  69281. * bindings/js/JSDOMBinding.h:
  69282. * bindings/js/JSDocumentCustom.cpp:
  69283. (WebCore::JSDocument::setLocation):
  69284. * bindings/js/ScriptController.cpp:
  69285. * bindings/js/ScriptController.h:
  69286. * bindings/scripts/CodeGeneratorJS.pm:
  69287. * bindings/scripts/CodeGeneratorV8.pm:
  69288. * bindings/v8/ScriptController.cpp:
  69289. * bindings/v8/ScriptController.h:
  69290. (WebCore::ScriptController::setProcessingTimerCallback):
  69291. * bindings/v8/V8Utilities.cpp:
  69292. * bindings/v8/V8Utilities.h:
  69293. * bindings/v8/specialization/V8BindingState.cpp:
  69294. * bindings/v8/specialization/V8BindingState.h:
  69295. * html/HTMLFormElement.cpp:
  69296. (WebCore::HTMLFormElement::submitFromJavaScript):
  69297. (WebCore::HTMLFormElement::submit):
  69298. * page/DOMWindow.cpp:
  69299. (WebCore::DOMWindow::setLocation):
  69300. (WebCore::DOMWindow::createWindow):
  69301. (WebCore::DOMWindow::open):
  69302. 2011-06-13 Jeffrey Pfau <jpfau@apple.com>
  69303. Reviewed by Darin Adler.
  69304. Crash in WebCore::RenderMathMLUnderOver::layout()
  69305. https://bugs.webkit.org/show_bug.cgi?id=57900
  69306. Add more null checks so that removing children in MathML elements does not cause crashes.
  69307. Note that this only half fixes the third repro in the Bugzilla bug, as another bug will
  69308. still crash that repro.
  69309. Test: mathml/munderover-remove-children.html
  69310. * rendering/mathml/RenderMathMLSubSup.cpp:
  69311. (WebCore::RenderMathMLSubSup::stretchToHeight):
  69312. * rendering/mathml/RenderMathMLUnderOver.cpp:
  69313. (WebCore::RenderMathMLUnderOver::layout):
  69314. (WebCore::RenderMathMLUnderOver::nonOperatorHeight):
  69315. 2011-06-13 Dmitry Lomov <dslomov@google.com>
  69316. Reviewed by Adam Barth.
  69317. https://bugs.webkit.org/show_bug.cgi?id=62345
  69318. Use per-isolate embedder data instead of statics for caches in bindings.
  69319. This is a prerequisite for more than one v8 isolate per process.
  69320. * bindings/scripts/CodeGeneratorV8.pm:
  69321. * bindings/v8/IDBBindingUtilities.cpp:
  69322. (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
  69323. (WebCore::injectIDBKeyIntoSerializedValue):
  69324. * bindings/v8/V8Binding.cpp:
  69325. (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
  69326. (WebCore::V8BindingPerIsolateData::~V8BindingPerIsolateData):
  69327. (WebCore::V8BindingPerIsolateData::create):
  69328. (WebCore::V8BindingPerIsolateData::ensureInitialized):
  69329. (WebCore::V8BindingPerIsolateData::dispose):
  69330. (WebCore::getToStringName):
  69331. (WebCore::getToStringTemplate):
  69332. * bindings/v8/V8Binding.h:
  69333. (WebCore::V8BindingPerIsolateData::get):
  69334. (WebCore::V8BindingPerIsolateData::current):
  69335. (WebCore::V8BindingPerIsolateData::rawTemplateMap):
  69336. (WebCore::V8BindingPerIsolateData::templateMap):
  69337. (WebCore::V8BindingPerIsolateData::toStringName):
  69338. (WebCore::V8BindingPerIsolateData::toStringTemplate):
  69339. * bindings/v8/V8DOMWindowShell.cpp:
  69340. (WebCore::V8DOMWindowShell::initContextIfNeeded):
  69341. * bindings/v8/V8Utilities.cpp:
  69342. (WebCore::V8LocalContext::V8LocalContext):
  69343. (WebCore::V8LocalContext::~V8LocalContext):
  69344. * bindings/v8/V8Utilities.h:
  69345. * bindings/v8/WorkerContextExecutionProxy.cpp:
  69346. (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
  69347. 2011-06-13 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
  69348. Reviewed by Adam Barth.
  69349. Simplify logic in ProgressTracker::progressCompleted()
  69350. https://bugs.webkit.org/show_bug.cgi?id=62598
  69351. Testing for "m_numProgressTrackedFrames != 0" is unnecessary because it is
  69352. always true, otherwise we would entered in the first part of the conditional.
  69353. * loader/ProgressTracker.cpp:
  69354. (WebCore::ProgressTracker::progressCompleted):
  69355. 2011-06-13 Dimitri Glazkov <dglazkov@chromium.org>
  69356. Unreviewed, rolling out r88704.
  69357. http://trac.webkit.org/changeset/88704
  69358. https://bugs.webkit.org/show_bug.cgi?id=62466
  69359. Caused layout test failures on Chromium Mac.
  69360. * platform/chromium/ClipboardChromium.cpp:
  69361. (WebCore::ClipboardChromium::declareAndWriteDragImage):
  69362. 2011-06-13 Morgan Winer <mwiner@apple.com>
  69363. Reviewed by Enrica Casucci.
  69364. Frame::visiblePositionForPoint returns null position if the point is over an imagemap.
  69365. https://bugs.webkit.org/show_bug.cgi?id=62562
  69366. <rdar://problem/9313885>
  69367. The innerNode() of an imageMap is an area, and doesn't have a renderer and
  69368. therefore can't report a position.
  69369. Every result's innerNonSharedNode() should be the same as the innerNode(),
  69370. except for imageMaps, which will have the actual image as its innerNonSharedNode(),
  69371. and will therefore have a renderer and can report a position.
  69372. There are no layout tests for this, since it can be tested only at API level.
  69373. * page/Frame.cpp:
  69374. (WebCore::Frame::visiblePositionForPoint): Changing innerNode() to innerNonSharedNode().
  69375. 2011-06-13 Lucas De Marchi <lucas.demarchi@profusion.mobi>
  69376. Reviewed by Eric Seidel.
  69377. [CMAKE] Conditionally generate DerivedSources
  69378. https://bugs.webkit.org/show_bug.cgi?id=62277
  69379. Speedup build by not generating DerivedSources of features that are
  69380. disabled. This was already been done for some features like ENABLE_SVG
  69381. and now it's extended the following features: ENABLE_DATABASE,
  69382. ENABLE_INDEXED_DATABASE, ENABLE_DOM_STORAGE, ENABLE_XPATH,
  69383. ENABLE_OFFLINE_WEB_APPLICATIONS, ENABLE_WEB_SOCKETS,
  69384. ENABLE_DATA_TRANSFER_ITEMS.
  69385. No change in functionality so no new tests.
  69386. * CMakeLists.txt: move .idl files to be conditionally generated.
  69387. 2011-06-13 Leandro Pereira <leandro@profusion.mobi>
  69388. Reviewed by Eric Seidel.
  69389. [CMake] Allow building with ENABLE_NETSCAPE_PLUGIN_API on platforms
  69390. without plugin support
  69391. https://bugs.webkit.org/show_bug.cgi?id=62394
  69392. No behaviour changes, so no new tests.
  69393. * CMakeLists.txt: Remove references to Plugin{Package,View}.cpp and
  69394. Plugin{Package,View}None.cpp and move them to CMakeListWinCE and
  69395. CMakeListsEfl, respectively.
  69396. * CMakeListsEfl.txt:
  69397. * CMakeListsWinCE.txt:
  69398. 2011-06-13 Andrey Kosyakov <caseq@chromium.org>
  69399. Reviewed by Eric Seidel.
  69400. Web Inspector: [refactoring] remove dead code from NetworkPanel
  69401. https://bugs.webkit.org/show_bug.cgi?id=62481
  69402. * inspector/front-end/NetworkPanel.js:
  69403. 2011-06-13 Daniel Cheng <dcheng@chromium.org>
  69404. Reviewed by Eric Seidel.
  69405. [chromium] Dragging images to Mail.app results in broken attachments
  69406. https://bugs.webkit.org/show_bug.cgi?id=62466
  69407. No new tests.
  69408. * platform/chromium/ClipboardChromium.cpp:
  69409. (WebCore::ClipboardChromium::declareAndWriteDragImage):
  69410. 2011-06-13 Adrienne Walker <enne@google.com>
  69411. Reviewed by Simon Fraser.
  69412. Overlap test needs to consider children of composited layers
  69413. https://bugs.webkit.org/show_bug.cgi?id=62465
  69414. Any child layer with a compositing ancestor will be put into a
  69415. composited layer even though they themselves don't need compositing.
  69416. As layer bounds aren't hierarchical, these layer bounds themselves
  69417. need to be put into the overlap map because the composited layer
  69418. itself is not sufficient.
  69419. Test: compositing/layer-creation/overlap-animated-layer.html
  69420. * rendering/RenderLayerCompositor.cpp:
  69421. (WebCore::RenderLayerCompositor::computeCompositingRequirements):
  69422. 2011-06-13 Xan Lopez <xlopez@igalia.com>
  69423. Unreviewed build fix.
  69424. Touch this to try to fix the build...
  69425. * platform/gtk/WidgetGtk.cpp:
  69426. (WebCore::Widget::~Widget):
  69427. 2011-06-13 Xan Lopez <xlopez@igalia.com>
  69428. Try to fix GTK+ build.
  69429. * GNUmakefile.list.am: remove CredentialStorage.cpp
  69430. 2011-06-13 Stephen White <senorblanco@chromium.org>
  69431. Reviewed by James Robinson.
  69432. Improve GPU canvas startup time on the SkiaGPU path.
  69433. https://bugs.webkit.org/show_bug.cgi?id=62594
  69434. Fixed by skipping creation of shaders used only by the legacy path.
  69435. Covered by existing canvas tests.
  69436. * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
  69437. (WebCore::SharedGraphicsContext3D::create):
  69438. 2011-06-13 Michael Saboff <msaboff@apple.com>
  69439. Reviewed by Oliver Hunt.
  69440. Additional FontCache::FontCachePurgePreventer instances needed
  69441. https://bugs.webkit.org/show_bug.cgi?id=62498
  69442. Added some needed and speculative FontCachePurgePreventer objects.
  69443. Built and ran Safari with debug version of webkit that purges all
  69444. purgeable fonts in FontCache::purgeInactiveFontDataIfNeeded in order
  69445. to find system fallback fonts access via code paths that aren't
  69446. protected with FontCachePurgePreventer objects. Also examined
  69447. platform specific code that calls either Font::drawText() or
  69448. Canvas::drawText(). For those methods that may be called from currently
  69449. unprotected paths, added FontCachePurgePreventer objects.
  69450. No new functionality so no new tests.
  69451. * inspector/DOMNodeHighlighter.cpp:
  69452. * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
  69453. (PlatformCALayerWinInternal::displayCallback):
  69454. * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
  69455. (WebCore::CCHeadsUpDisplay::drawHudContents):
  69456. * platform/mac/DragImageMac.mm:
  69457. (WebCore::widthWithFont):
  69458. (WebCore::drawAtPoint):
  69459. * rendering/RenderMenuList.cpp:
  69460. (WebCore::RenderMenuList::updateOptionsWidth):
  69461. 2011-06-13 Ryosuke Niwa <rniwa@webkit.org>
  69462. Reviewed by Dan Bernstein.
  69463. REGRESSION (r81518): Crash in makeRange() when invoking the dictionary panel over a file input
  69464. https://bugs.webkit.org/show_bug.cgi?id=62544
  69465. Fixed the crash by adding null pointer checks.
  69466. No new tests since there's no way to open dictionary panel.
  69467. * dom/Position.cpp:
  69468. (WebCore::Position::parentAnchoredEquivalent):
  69469. * editing/VisiblePosition.cpp:
  69470. (WebCore::makeRange):
  69471. * page/Frame.cpp:
  69472. (WebCore::Frame::rangeForPoint):
  69473. 2011-06-13 Adam Barth <abarth@webkit.org>
  69474. Reviewed by Nate Chapin.
  69475. Factor IconController out of FrameLoader
  69476. https://bugs.webkit.org/show_bug.cgi?id=62509
  69477. This new class contains all the icon-related logic from FrameLoader.
  69478. The icon-related logic and state has almost zero interaction with the
  69479. rest of FrameLoader and is better handled as a separate concern.
  69480. * CMakeLists.txt:
  69481. * GNUmakefile.list.am:
  69482. * WebCore.gypi:
  69483. * WebCore.pro:
  69484. * WebCore.vcproj/WebCore.vcproj:
  69485. * WebCore.xcodeproj/project.pbxproj:
  69486. * dom/Document.cpp:
  69487. (WebCore::Document::implicitClose):
  69488. (WebCore::Document::setIconURL):
  69489. * inspector/InspectorResourceAgent.cpp:
  69490. (WebCore::InspectorResourceAgent::didReceiveResponse):
  69491. * loader/DocumentLoader.cpp:
  69492. (WebCore::DocumentLoader::iconLoadDecisionAvailable):
  69493. (WebCore::DocumentLoader::continueIconLoadWithDecision):
  69494. * loader/FrameLoader.cpp:
  69495. (WebCore::FrameLoader::FrameLoader):
  69496. (WebCore::FrameLoader::stop):
  69497. * loader/FrameLoader.h:
  69498. (WebCore::FrameLoader::icon):
  69499. * loader/icon/IconLoader.cpp:
  69500. (WebCore::IconLoader::startLoading):
  69501. (WebCore::IconLoader::finishLoading):
  69502. * loader/icon/IconLoader.h:
  69503. 2011-06-13 Nate Chapin <japhet@chromium.org>
  69504. Reviewed by Darin Fisher.
  69505. [V8] Cache V8NPObjects so that we don't create multiple
  69506. NPObjects for the same v8::Object.
  69507. https://bugs.webkit.org/show_bug.cgi?id=61482
  69508. Test: plugins/npruntime/embed-property-equality.html
  69509. * bindings/v8/NPV8Object.cpp:
  69510. (WebCore::freeV8NPObject):
  69511. (WebCore::npCreateV8ScriptObject):
  69512. 2011-06-13 Xan Lopez <xlopez@igalia.com>
  69513. Reviewed by Martin Robinson.
  69514. Distcheck fixes.
  69515. * GNUmakefile.am:
  69516. * GNUmakefile.list.am:
  69517. 2011-06-13 Dirk Schulze <krit@webkit.org>
  69518. Reviewed build fix of mac.
  69519. SVGAnimation should use direct unit animation for SVGLength
  69520. https://bugs.webkit.org/show_bug.cgi?id=61368
  69521. Forgot to add SVGAnimatedLength.cpp.
  69522. * WebCore.xcodeproj/project.pbxproj:
  69523. 2011-06-13 Dirk Schulze <krit@webkit.org>
  69524. Reviewed by Nikolas Zimmermann.
  69525. SVGAnimation should use direct unit animation for SVGLength
  69526. https://bugs.webkit.org/show_bug.cgi?id=61368
  69527. When running SMIL animations within SVG, we unnecessarily transform the underlying SVG primitive datatype to strings, number+units, and back. As first step the target element
  69528. gets asked for its current value. This value gets transformed to a string. In SVGAnimateElement we try to parse this string again and
  69529. split it into a number and its unit. In the further steps we just animate the number. This number gets transformed back to a string
  69530. together with the parsed unit. The string gets passed back to the target element, which is responsible for parsing the passed string back
  69531. to a value as a SVG primitive datatype (like SVGLength, SVGNumber, SVGAngle, SVGColor, ...), relayout and rerendering.
  69532. In short: SVG primitive datatype -> string -> number + unit animation -> string -> SVG primitive datatype.
  69533. This patch does not attempt to change the string transformations, but addresses the parsing of the string back to a number and unit in the
  69534. SVG animation code. There's no need to write a new parser in SVGAnimateElement to parse SVG primitive datatypes, we can instead reuse the existing ones.
  69535. Also the current parser of SVGAnimateElement does not handle most unit types, nor is it possible to animate lists like SVGLengthList with the
  69536. parsed content. An animation of values with different unit types is not possible:
  69537. <rect width="20" height="20">
  69538. <animate animateAttribute="width" from="20px" to="10%" dur="4s"/>
  69539. </rect>
  69540. For the example above we would animate the rect width from 20px to 10px in 4 seconds and jump to the 10% of the viewport at the end of the
  69541. animation.
  69542. With using the parsers of SVG primitive datatypes we will also use the SVG primitive datatypes in the animation code itself. And that makes
  69543. it possible to do such animations.
  69544. In short: SVG primitive datatype -> string -> SVG primitive datatype animation -> string -> SVG primitive datatype.
  69545. It will be easier to avoid the string transformation once all SVG primitive datatypes are supported.
  69546. To hide the complexity of the animation code, the actual calculations of SVG animation specific values was moved to the corresponding
  69547. SVGAnimated* files (SVGAnimatedLength.cpp for SVGLength). SVGAnimateElement itself just works with the new added generic datatype SVGAnimationType.
  69548. SVGAnimatorFactory creates the SVG primitive datatype specific animators. This makes the main animation code a lot more readable and
  69549. maintainable.
  69550. With this patch I add the SVGAnimatorFactory and convert SVGLength animation to the new concept.
  69551. Tests: svg/animations/svglength-animation-LengthModeHeight.html
  69552. svg/animations/svglength-animation-LengthModeOther.html
  69553. svg/animations/svglength-animation-LengthModeWidth.html
  69554. svg/animations/svglength-animation-invalid-value-1.html
  69555. svg/animations/svglength-animation-invalid-value-2.html
  69556. svg/animations/svglength-animation-invalid-value-3.html
  69557. svg/animations/svglength-animation-number-to-number.html
  69558. svg/animations/svglength-animation-px-to-cm.html
  69559. svg/animations/svglength-animation-px-to-ems.html
  69560. svg/animations/svglength-animation-px-to-exs.html
  69561. svg/animations/svglength-animation-px-to-in.html
  69562. svg/animations/svglength-animation-px-to-number.html
  69563. svg/animations/svglength-animation-px-to-pc.html
  69564. svg/animations/svglength-animation-px-to-percentage.html
  69565. svg/animations/svglength-animation-px-to-pt.html
  69566. svg/animations/svglength-animation-px-to-px.html
  69567. svg/animations/svglength-animation-values.html
  69568. * CMakeLists.txt: Added new files to build system.
  69569. * GNUmakefile.list.am: Ditto.
  69570. * WebCore.gypi: Ditto.
  69571. * WebCore.pro: Ditto.
  69572. * WebCore.vcproj/WebCore.vcproj: Ditto.
  69573. * WebCore.xcodeproj/project.pbxproj: Ditto.
  69574. * svg/SVGAllInOne.cpp: Added SVGAnimatedLength.cpp for Win and other build systems.
  69575. * svg/SVGAnimateElement.cpp:
  69576. (WebCore::parseNumberValueAndUnit): Remove parsing code for SVGLength. Use SVGLength parser directly.
  69577. (WebCore::SVGAnimateElement::adjustForCurrentColor): Made adjustForCurrentColor public as preperation for SVGAnimatedColor.
  69578. (WebCore::getPropertyValue): Inline function to get computedStyle of CSS property.
  69579. (WebCore::SVGAnimateElement::adjustForInheritance): Made adjustForInheritance as preperation for SVGAnimated* files.
  69580. (WebCore::SVGAnimateElement::determineAnimatedAttributeType): SVGLength need special handling via SVGAnimator now.
  69581. (WebCore::SVGAnimateElement::calculateAnimatedValue): Cleanup. Make use of SVGAnimator for SVGLength.
  69582. (WebCore::SVGAnimateElement::calculateFromAndToValues): Ditto.
  69583. (WebCore::SVGAnimateElement::calculateFromAndByValues): Ditto.
  69584. (WebCore::SVGAnimateElement::resetToBaseValue): Ditto.
  69585. (WebCore::SVGAnimateElement::applyResultsToTarget): Ditto.
  69586. (WebCore::SVGAnimateElement::calculateDistance): Ditto.
  69587. * svg/SVGAnimateElement.h:
  69588. * svg/SVGAnimatedLength.cpp: Added.
  69589. (WebCore::SVGAnimatedLengthAnimator::SVGAnimatedLengthAnimator):
  69590. (WebCore::sharedSVGLength):
  69591. (WebCore::SVGAnimatedLengthAnimator::constructFromString):
  69592. (WebCore::SVGAnimatedLengthAnimator::calculateFromAndToValues):
  69593. (WebCore::SVGAnimatedLengthAnimator::calculateFromAndByValues):
  69594. (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
  69595. (WebCore::SVGAnimatedLengthAnimator::calculateDistance):
  69596. * svg/SVGAnimatedLength.h: Added new class SVGAnimatedLengthAnimator which is responsible for the actual animation.
  69597. (WebCore::SVGAnimatedLengthAnimator::~SVGAnimatedLengthAnimator):
  69598. * svg/SVGAnimatedType.h: Added. Generic SVG unit type for animations in SVGAnimateElement.
  69599. (WebCore::SVGAnimatedType::createLength):
  69600. (WebCore::SVGAnimatedType::~SVGAnimatedType):
  69601. (WebCore::SVGAnimatedType::type):
  69602. (WebCore::SVGAnimatedType::length):
  69603. (WebCore::SVGAnimatedType::SVGAnimatedType):
  69604. * svg/SVGAnimatedTypeAnimator.h: Added. Base class for SVGAnimatedLengthAnimator and future SVG unit animators.
  69605. (WebCore::SVGAnimatedTypeAnimator::~SVGAnimatedTypeAnimator):
  69606. (WebCore::SVGAnimatedTypeAnimator::setContextElement):
  69607. (WebCore::SVGAnimatedTypeAnimator::SVGAnimatedTypeAnimator):
  69608. * svg/SVGAnimationElement.cpp:
  69609. (WebCore::SVGAnimationElement::parseMappedAttribute): We do not use parseNumberValueAndUnit for SVGLength now. Have to strip white spaces here. Whitespaces shouldn't
  69610. be stripped on the following attributes: 'from', 'to' and 'by'. This is not the case for SVGLength anymore. Added new tests to check this behavior.
  69611. (WebCore::SVGAnimationElement::animationMode): Enum is accessible in WebCore namespace now.
  69612. (WebCore::SVGAnimationElement::calcMode): Ditto.
  69613. * svg/SVGAnimationElement.h:
  69614. * svg/SVGAnimatorFactory.h: Added.
  69615. (WebCore::SVGAnimatorFactory::create):
  69616. * svg/SVGLength.cpp:
  69617. (WebCore::SVGLength::setValueAsString): New setter with string and SVGLengthMode.
  69618. (WebCore::SVGLength::lengthModeForAnimatedLengthAttribute): Get LengthMode for SVGLength depending on the attribute name.
  69619. * svg/SVGLength.h:
  69620. 2011-06-13 Adam Barth <abarth@webkit.org>
  69621. Reviewed by Darin Adler.
  69622. r87539 broke HTMLMediaElement url logging
  69623. https://bugs.webkit.org/show_bug.cgi?id=62551
  69624. Returning pointers to temporaries is bad times!
  69625. * html/HTMLMediaElement.cpp:
  69626. (WebCore::urlForLogging):
  69627. (WebCore::HTMLMediaElement::loadResource):
  69628. (WebCore::HTMLMediaElement::isSafeToLoadURL):
  69629. (WebCore::HTMLMediaElement::selectNextSourceChild):
  69630. (WebCore::HTMLMediaElement::sourceWasAdded):
  69631. (WebCore::HTMLMediaElement::sourceWillBeRemoved):
  69632. 2011-06-13 Tony Chang <tony@chromium.org>
  69633. Reviewed by Dimitri Glazkov.
  69634. rename ENABLE_NEW_FLEXBOX to ENABLE_CSS3_FLEXBOX
  69635. https://bugs.webkit.org/show_bug.cgi?id=62578
  69636. * Configurations/FeatureDefines.xcconfig:
  69637. 2011-06-13 Mark Pilgrim <pilgrim@chromium.org>
  69638. Reviewed by Tony Chang.
  69639. IndexedDB: setVersion() version argument is required
  69640. https://bugs.webkit.org/show_bug.cgi?id=62401
  69641. Test: storage/indexeddb/setVersion-undefined.html
  69642. * storage/IDBDatabase.cpp:
  69643. (WebCore::IDBDatabase::setVersion): check for null version
  69644. * storage/IDBDatabase.idl: add IDL magic to force undefined to null so we can handle both missing and null arguments
  69645. 2011-06-13 Simon Fraser <simon.fraser@apple.com>
  69646. Reviewed by Adele Peterson.
  69647. Print out bounds origin in layer dump
  69648. https://bugs.webkit.org/show_bug.cgi?id=62583
  69649. Include m_boundsOrigin in the layer dump, which is used by layerTreeAsText().
  69650. * platform/graphics/GraphicsLayer.cpp:
  69651. (WebCore::GraphicsLayer::dumpProperties):
  69652. 2011-06-13 Simon Fraser <simon.fraser@apple.com>
  69653. Reviewed by Adele Peterson.
  69654. Add utility method to report whether a RenderLayer has any scrollbars
  69655. https://bugs.webkit.org/show_bug.cgi?id=62579
  69656. New method that returns true with either scrollbar is present.
  69657. * rendering/RenderLayer.h:
  69658. (WebCore::RenderLayer::hasScrollbars):
  69659. 2011-06-11 Jer Noble <jer.noble@apple.com>
  69660. Reviewed by Anders Carlsson.
  69661. Avoid flashing when exiting full-screen mode.
  69662. https://bugs.webkit.org/show_bug.cgi?id=62338
  69663. No new tests; covered by the existing full-screen tests.
  69664. Now that we are forcing a repaint inside of setRootFullScreenLayer() instead of during
  69665. the next run loop, make sure that we have disabled animation before calling
  69666. setRootFullScreenLayer() so that the RenderFullScreen renderer and its contents are
  69667. painted.
  69668. * dom/Document.cpp:
  69669. (WebCore::Document::webkitDidEnterFullScreenForElement):
  69670. 2011-06-10 Jer Noble <jer.noble@apple.com>
  69671. Reviewed by Darin Adler.
  69672. Flash of white on left and right edges of screen when showing fullscreen controller when movie doesn't fill the entire screen
  69673. https://bugs.webkit.org/show_bug.cgi?id=62491
  69674. <rdar://problem/9584427>
  69675. No new tests; should be covered by existing fullscreen pixel tests.
  69676. On certain displays, when a RenderFullScreen renderer is created, it is large enough to trigger the
  69677. creation of a tiled CALayer (instead of a normal CALayer). Painting in these layers necessarily
  69678. happens asynchronously, so the flash is occurring because of the async painting of the RenderFullScreen
  69679. renderer's background color. Since we know the RenderFullScreen does not otherwise paint its contents,
  69680. we can add a special case in the RenderLayerBacking to set the GraphicsLayer contents to be the
  69681. renderer's background color. Fill in support for creating a contentLayer to contain the background
  69682. color inside GraphicsLayerCA.
  69683. * platform/graphics/GraphicsLayer.h:
  69684. (WebCore::GraphicsLayer::setContentsToBackgroundColor): Renamed from setContentsBackgroundColor to match
  69685. the other setContentsTo... functions.
  69686. * platform/graphics/ca/GraphicsLayerCA.cpp:
  69687. (WebCore::GraphicsLayerCA::setContentsToBackgroundColor): Added. Creates a contentsLayer to host the
  69688. background color.
  69689. (WebCore::GraphicsLayerCA::updateLayerBackgroundColor): Removed a comment only.
  69690. * platform/graphics/ca/GraphicsLayerCA.h:
  69691. * rendering/RenderLayerBacking.cpp:
  69692. (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Special case the RenderFullScreen
  69693. renderer to call updateBackgroundColor.
  69694. (WebCore::RenderLayerBacking::updateBackgroundColor): Added.
  69695. (WebCore::RenderLayerBacking::containsPaintedContent): Tell the backing that the RenderFullScreen
  69696. renderer does not paint its contents.
  69697. * rendering/RenderLayerBacking.h:
  69698. 2011-06-13 Tim Horton <timothy_horton@apple.com>
  69699. Reviewed by Simon Fraser.
  69700. REGRESSION(87152): Crash on page with svg fonts
  69701. https://bugs.webkit.org/show_bug.cgi?id=61556
  69702. We can't assume that the parent of a SVG-font-styled
  69703. text node won't be an anonymous block.
  69704. Test: svg/text/text-font-anonymous-parent.xhtml
  69705. * rendering/svg/SVGTextRunRenderingContext.cpp:
  69706. (WebCore::firstParentRendererForNonTextNode):
  69707. (WebCore::SVGTextRunWalker::walk):
  69708. (WebCore::floatWidthOfSubStringUsingSVGFont):
  69709. (WebCore::SVGTextRunRenderingContext::drawTextUsingSVGFont):
  69710. 2011-06-13 Tony Chang <tony@chromium.org>
  69711. Reviewed by Adam Barth.
  69712. rename ENABLE_FLEXBOX to ENABLE_NEW_FLEXBOX
  69713. https://bugs.webkit.org/show_bug.cgi?id=62545
  69714. * Configurations/FeatureDefines.xcconfig:
  69715. 2011-06-13 Xan Lopez <xlopez@igalia.com>
  69716. Reviewed by Martin Robinson.
  69717. Some distcheck fixes. Still broken, but this is moves us closer to
  69718. the target.
  69719. * GNUmakefile.am: fix vpath syntax and add missing files to
  69720. EXTRA_DIST.
  69721. * GNUmakefile.list.am: add missing files and remove dead files.
  69722. * bindings/gobject/GNUmakefile.am: fix comment.
  69723. 2011-06-13 Noam Rosenthal <noam.rosenthal@nokia.com>
  69724. Reviewed by Kenneth Rohde Christiansen.
  69725. Add layer factory to GraphicsLayer for creating non-default layer type.
  69726. https://bugs.webkit.org/show_bug.cgi?id=61925
  69727. Use the new factory function in TextureMapper.
  69728. No new functionality so no new tests.
  69729. * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
  69730. (WebCore::GraphicsLayer::create):
  69731. 2011-06-13 Young Han Lee <joybro@company100.net>
  69732. Reviewed by Kenneth Rohde Christiansen.
  69733. [Texmap][Qt] Accelerated animation is repeating as if its direction property is always 'alternate'.
  69734. https://bugs.webkit.org/show_bug.cgi?id=62281
  69735. syncAnimations() has miscalculated a normalized progress value as if the animation always has alternate direction property.
  69736. Test: animations/animation-direction-normal.html
  69737. * platform/graphics/texmap/TextureMapperNode.cpp:
  69738. (WebCore::TextureMapperNode::syncAnimations):
  69739. 2011-06-13 Dirk Schulze <krit@webkit.org>
  69740. Reviewed by Rob Buis.
  69741. SVG patternTransform not animatable
  69742. https://bugs.webkit.org/show_bug.cgi?id=62538
  69743. SVG animation did not take attribute 'patternTransform' into account. Added support for combination of
  69744. SVGPatternElement and attribute 'patternTransform' to SVGAnimateTransformElement.
  69745. Tests: svg/animations/animateTransform-pattern-transform.html
  69746. svg/animations/animateTransform-transformable-transform.html
  69747. * svg/SVGAnimateTransformElement.cpp:
  69748. (WebCore::transformListFor):
  69749. (WebCore::SVGAnimateTransformElement::resetToBaseValue):
  69750. (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
  69751. 2011-06-13 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
  69752. Reviewed by Andreas Kling.
  69753. [Qt] JSC Bridge: convert QtConnectionObject to use JSC API
  69754. https://bugs.webkit.org/show_bug.cgi?id=62330
  69755. This patch is based on the draft patch by Noam Rosenthal in bug 60842.
  69756. Qt API autotests cover the bridge behavior and pass after this patch.
  69757. * bridge/qt/qt_runtime.h: Change QtConnectionObject to use JSC API types. In
  69758. particular, we got rid of Strong<JSObject> members. Renamed some members and
  69759. arguments to follow existing naming in QObject::connect().
  69760. * bridge/qt/qt_runtime.cpp:
  69761. (JSC::Bindings::QtRuntimeConnectionMethod::call): Use a new helper function
  69762. to create a connection, passing the ExecState* that will be used when the
  69763. connection is activated (signal emitted). Use JSC API types when looking up
  69764. the matching signal to disconnect.
  69765. (JSC::Bindings::QtConnectionObject::QtConnectionObject): Use JSC API to
  69766. protect the receiver and receiverFunction from being garbage
  69767. collected. Removed the ASSERT() since we don't hold ProtectedPtrs (in current
  69768. code were Strong<>) anymore.
  69769. (JSC::Bindings::QtConnectionObject::~QtConnectionObject): Explain why is safe
  69770. to use m_originalSender here. Unprotect values that we protected in constructor.
  69771. (JSC::Bindings::isJavaScriptFunction): Helper function to identify whether a
  69772. JSObjectRef is a JS function (in contrast to a native function exposed to JS).
  69773. (JSC::Bindings::QtConnectionObject::execute):
  69774. (JSC::Bindings::QtConnectionObject::match):
  69775. Both updated to use JSC API when appliable. Note that convertQVariantToValue
  69776. still returns JSC internal types, will be handled in a different patch.
  69777. (JSC::Bindings::QtConnectionObject::createWithInternalJSC):
  69778. Convenince for the existing caller until it is converted to JSC as well.
  69779. 2011-06-13 Carlos Garcia Campos <cgarcia@igalia.com>
  69780. Reviewed by Martin Robinson.
  69781. [GTK] Add context menu support for Webkit2
  69782. https://bugs.webkit.org/show_bug.cgi?id=54827
  69783. * platform/ContextMenuItem.h: Add gtkAction().
  69784. * platform/gtk/ContextMenuGtk.cpp:
  69785. (WebCore::ContextMenu::ContextMenu): Implement constructor that
  69786. receives a platform menu.
  69787. (WebCore::ContextMenu::setPlatformDescription): Make sure we don't
  69788. destroy the menu if the new context menu is the current one.
  69789. (WebCore::contextMenuItemVector): Implement this method to return
  69790. the list of menu items in the given context menu, required by WebKit2.
  69791. (WebCore::platformMenuDescription): Implement this method to
  69792. return a platform menu for the given menu items.
  69793. * platform/gtk/ContextMenuItemGtk.cpp:
  69794. (WebCore::createPlatformMenuItemDescription): Helper function to
  69795. create a platform context menu item.
  69796. (WebCore::ContextMenuItem::ContextMenuItem): Use
  69797. createPlatformMenuItemDescription().
  69798. (WebCore::ContextMenuItem::title): Convert the title from UTF-8.
  69799. (WebCore::ContextMenuItem::setTitle): Use gtkAction().
  69800. (WebCore::ContextMenuItem::setSubMenu): Implement setSubMenu()
  69801. that receives a list of items.
  69802. (WebCore::ContextMenuItem::setChecked): Use gtkAction().
  69803. (WebCore::ContextMenuItem::checked): Implement this, required by WebKit2.
  69804. (WebCore::ContextMenuItem::enabled): Ditto.
  69805. (WebCore::ContextMenuItem::setEnabled): Use gtkAction().
  69806. (WebCore::ContextMenuItem::gtkAction): Return the GtkAction
  69807. associated to the context menu item.
  69808. 2011-06-13 Keishi Hattori <keishi@webkit.org>
  69809. Sort WebCore.xcodeproj
  69810. Accomplished using sort-Xcode-project-file.
  69811. * WebCore.xcodeproj/project.pbxproj:
  69812. 2011-06-12 Jer Noble <jer.noble@apple.com>
  69813. Reviewed by Darin Adler.
  69814. REGRESSION (full screen video): Watch Again button is obscured after full screen playback ends at Apple trailers page
  69815. https://bugs.webkit.org/show_bug.cgi?id=62507
  69816. No new tests; DRT would have to be modified to delay between receiving exitFullScreenForElement() and calling
  69817. webkitWillExitFullScreenForElement() to be able to test this.
  69818. If the full-screen element is removed, and webkitWillExitFullScreenForElement() is not called before
  69819. fullScreenElementRemoved() returns, then ancestors of the full-screen element will not have their
  69820. containsFullScreenElement property removed. To protect against this, reset the property by calling
  69821. setContainsFullScreenElementRecursively() from within fullScreenElementRemoved().
  69822. * dom/Document.cpp:
  69823. (WebCore::Document::fullScreenElementRemoved): Added call to setContainsFullScreenElementRecursively.
  69824. 2011-06-12 Adam Barth <abarth@webkit.org>
  69825. Reviewed by Alexey Proskuryakov.
  69826. Rename FrameLoaderClient::interruptForPolicyChangeError to use the past tense
  69827. https://bugs.webkit.org/show_bug.cgi?id=62516
  69828. As requested by Alexey in https://bugs.webkit.org/show_bug.cgi?id=62510.
  69829. * loader/EmptyClients.h:
  69830. (WebCore::EmptyFrameLoaderClient::interruptedForPolicyChangeError):
  69831. * loader/FrameLoaderClient.h:
  69832. * loader/MainResourceLoader.cpp:
  69833. (WebCore::MainResourceLoader::interruptedForPolicyChangeError):
  69834. (WebCore::MainResourceLoader::stopLoadingForPolicyChange):
  69835. (WebCore::MainResourceLoader::continueAfterContentPolicy):
  69836. * loader/MainResourceLoader.h:
  69837. 2011-06-12 Hironori Bono <hbono@chromium.org>
  69838. Reviewed by Hajime Morita.
  69839. Add null checks to HTMLTextAreaElement::removeSpellcheckRange().
  69840. https://bugs.webkit.org/show_bug.cgi?id=62526
  69841. This change adds null checks to the following function to prevent crashes
  69842. when calling removeSpellcheckRange() with null:
  69843. HTMLTextAreaElement::removeSpellcheckRange(),
  69844. HTMLInputElement::removeSpellcheckRange(), and
  69845. HTMLDivElement::removeSpellcheckRange().
  69846. Test: editing/spelling/spellcheck-api-crash.html
  69847. * html/HTMLDivElement.cpp:
  69848. (WebCore::HTMLDivElement::removeSpellcheckRange):
  69849. * html/HTMLInputElement.cpp:
  69850. (WebCore::HTMLInputElement::removeSpellcheckRange):
  69851. * html/HTMLTextAreaElement.cpp:
  69852. (WebCore::HTMLTextAreaElement::removeSpellcheckRange):
  69853. 2011-06-12 Adam Barth <abarth@webkit.org>
  69854. Reviewed by Darin Adler.
  69855. DocumentParser::appendBytes should use size_t for length instead of int
  69856. https://bugs.webkit.org/show_bug.cgi?id=62508
  69857. size_t is the proper type for distances in memory, especially on 64 bit
  69858. machines.
  69859. * dom/DecodedDataDocumentParser.cpp:
  69860. (WebCore::DecodedDataDocumentParser::appendBytes):
  69861. * dom/DecodedDataDocumentParser.h:
  69862. * dom/DocumentParser.h:
  69863. * html/ImageDocument.cpp:
  69864. (WebCore::ImageDocumentParser::appendBytes):
  69865. * html/MediaDocument.cpp:
  69866. (WebCore::MediaDocumentParser::appendBytes):
  69867. * html/PluginDocument.cpp:
  69868. (WebCore::PluginDocumentParser::appendBytes):
  69869. * loader/SinkDocument.cpp:
  69870. (WebCore::SinkDocumentParser::appendBytes):
  69871. 2011-06-12 Adam Barth <abarth@webkit.org>
  69872. Reviewed by Eric Seidel.
  69873. Remove FrameLoader::isProcessingUserGesture
  69874. https://bugs.webkit.org/show_bug.cgi?id=62519
  69875. This function is a remnant of the old user gesture design, which
  69876. involved per-frame state stored on FrameLoader. Now that we're using
  69877. static state, we don't need this function anymore.
  69878. This function used to check whether JavaScript was enabled for the
  69879. top-level frame, but that check doesn't make any sense (like much of
  69880. the old user gesture code).
  69881. * WebCore.exp.in:
  69882. * html/HTMLMediaElement.cpp:
  69883. (WebCore::HTMLMediaElement::processingUserGesture):
  69884. * loader/FrameLoader.cpp:
  69885. (WebCore::FrameLoader::submitForm):
  69886. * loader/FrameLoader.h:
  69887. * rendering/RenderFileUploadControl.cpp:
  69888. (WebCore::RenderFileUploadControl::click):
  69889. 2011-06-12 Adam Barth <abarth@webkit.org>
  69890. Fix fullscreen/full-screen-iframe-legacy.html.
  69891. * html/HTMLVideoElement.idl:
  69892. 2011-06-12 Adam Barth <abarth@webkit.org>
  69893. Reviewed by Alexey Proskuryakov.
  69894. Remove trival "forward-to-client" member functions from FrameLoader
  69895. https://bugs.webkit.org/show_bug.cgi?id=62510
  69896. Originally, FrameLoader was supposed to abstract FrameLoaderClient, but
  69897. we lost that battle log ago. Nowadays, it's easier if folks just call
  69898. into FrameLoaderClient directly. Many of these functions have direct
  69899. callers already anyway.
  69900. * WebCore.exp.in:
  69901. * html/HTMLMediaElement.cpp:
  69902. (WebCore::HTMLMediaElement::createRenderer):
  69903. (WebCore::HTMLMediaElement::attach):
  69904. * loader/DocumentLoader.cpp:
  69905. (WebCore::DocumentLoader::setRequest):
  69906. (WebCore::DocumentLoader::setMainDocumentError):
  69907. (WebCore::DocumentLoader::setupForReplaceByMIMEType):
  69908. * loader/FrameLoader.cpp:
  69909. (WebCore::FrameLoader::didFirstLayout):
  69910. * loader/FrameLoader.h:
  69911. - cancelledError is slightly more delicate, so I'm going to move it in
  69912. a separate patch.
  69913. * loader/MainResourceLoader.cpp:
  69914. (WebCore::MainResourceLoader::interruptForPolicyChangeError):
  69915. (WebCore::MainResourceLoader::stopLoadingForPolicyChange):
  69916. (WebCore::MainResourceLoader::continueAfterContentPolicy):
  69917. (WebCore::MainResourceLoader::handleEmptyLoad):
  69918. (WebCore::MainResourceLoader::loadNow):
  69919. * loader/MainResourceLoader.h:
  69920. * loader/NetscapePlugInStreamLoader.cpp:
  69921. (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
  69922. * loader/PingLoader.cpp:
  69923. (WebCore::PingLoader::PingLoader):
  69924. * loader/PolicyChecker.cpp:
  69925. (WebCore::PolicyChecker::continueAfterNavigationPolicy):
  69926. * loader/ResourceLoader.cpp:
  69927. (WebCore::ResourceLoader::blockedError):
  69928. (WebCore::ResourceLoader::cannotShowURLError):
  69929. (WebCore::ResourceLoader::shouldUseCredentialStorage):
  69930. (WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpace):
  69931. * page/ContextMenuController.cpp:
  69932. (WebCore::ContextMenuController::populate):
  69933. 2011-06-12 Dan Bernstein <mitz@apple.com>
  69934. Reviewed by Darin Adler.
  69935. <rdar://problem/9513180> REGRESSION (r84166): recalcStyle for display:inline to display:none transition has complexity N^2 where N is the number of child Text nodes
  69936. https://bugs.webkit.org/show_bug.cgi?id=61557
  69937. Replaced the fix for bug 58500 with a refined version.
  69938. * rendering/RenderText.cpp:
  69939. (WebCore::RenderText::clippedOverflowRectForRepaint): Use the containing block unless it is
  69940. across a layer boundary.
  69941. 2011-06-12 Adam Barth <abarth@webkit.org>
  69942. Reviewed by Andreas Kling.
  69943. Minor user-gesture related cleanup
  69944. https://bugs.webkit.org/show_bug.cgi?id=62511
  69945. In reading the user gesture code, I noticed that these lines of code
  69946. should be deleted because they don't do anything.
  69947. * bindings/v8/NPV8Object.cpp:
  69948. * html/HTMLAnchorElement.cpp:
  69949. * html/HTMLVideoElement.idl:
  69950. 2011-06-11 Nikolas Zimmermann <nzimmermann@rim.com>
  69951. Reviewed by Dirk Schulze.
  69952. Add TextRun charactersLength member
  69953. https://bugs.webkit.org/show_bug.cgi?id=62501
  69954. Preparation patch 2: Propagate the maximum length of the characters buffer the TextRun operates on, even when we're only measuring a substring.
  69955. For example: In RenderText when we're measuring 'len' characters starting from "text()->characters() + start", there's a portion
  69956. of "textLength() - start" characters that we're not processing. In order to support ligatures when integrating SVG Fonts
  69957. within the GlyphPage concept, we need this extra information, to lookup ligatures even when single chars are measured.
  69958. If a font defines an eg "ffl" ligature, and we're measuring the "f" of "ffl", it shall looukp the "ffl" glyph from the font,
  69959. and skip the next two characters (this will be done in WidthIterator).
  69960. This doesn't yet affect any test, the new SVG Fonts code is not merged yet, this is the preparaion patch 2.
  69961. * platform/graphics/Font.h: Add yet-unused "const TextRun&" parameter to drawGlyphBuffer/drawEmphasisMarks.
  69962. * platform/graphics/FontFastPath.cpp: Ditto. This parameter will be used to looukp the TextRunRenderingContext in a follow-up patch.
  69963. (WebCore::Font::drawSimpleText):
  69964. (WebCore::Font::drawEmphasisMarksForSimpleText):
  69965. (WebCore::Font::drawGlyphBuffer):
  69966. (WebCore::Font::drawEmphasisMarks):
  69967. * platform/graphics/TextRun.h: Add "int m_charactersLength", similar to "int m_len". It denotes the maximum length of the characters buffer
  69968. that we're holding. It defaults to the passed "len" value, but is overriden by explicit setCharactersLength calls.
  69969. (WebCore::TextRun::TextRun):
  69970. (WebCore::TextRun::charactersLength):
  69971. (WebCore::TextRun::setCharactersLength):
  69972. * platform/graphics/mac/FontComplexTextMac.cpp: Pass TextRun do drawGlyphBuffer/drawEmphasisMarks.
  69973. (WebCore::Font::drawComplexText):
  69974. (WebCore::Font::drawEmphasisMarksForComplexText):
  69975. * platform/graphics/win/FontWin.cpp: Ditto.
  69976. (WebCore::Font::drawComplexText):
  69977. (WebCore::Font::drawEmphasisMarksForComplexText):
  69978. * platform/graphics/wx/FontWx.cpp: Ditto.
  69979. (WebCore::Font::drawComplexText):
  69980. (WebCore::Font::drawEmphasisMarksForComplexText):
  69981. * rendering/InlineTextBox.cpp: Call setCharactersLength on the processed TextRun.
  69982. (WebCore::InlineTextBox::constructTextRun):
  69983. * rendering/RenderBlockLineLayout.cpp: Ditto.
  69984. (WebCore::textWidth):
  69985. (WebCore::tryHyphenating):
  69986. * rendering/RenderText.cpp: Ditto.
  69987. (WebCore::RenderText::widthFromCache):
  69988. (WebCore::RenderText::computePreferredLogicalWidths):
  69989. (WebCore::RenderText::width):
  69990. * rendering/svg/SVGInlineTextBox.cpp: Ditto.
  69991. (WebCore::SVGInlineTextBox::constructTextRun):
  69992. 2011-06-12 Robert Hogan <robert@webkit.org>
  69993. Reviewed by Andreas Kling.
  69994. [Qt] Fix methods.html and methods-lower-case.html
  69995. https://bugs.webkit.org/show_bug.cgi?id=62221
  69996. * platform/network/qt/QNetworkReplyHandler.cpp:
  69997. (WebCore::QNetworkReplyHandler::clearContentsHeaders): Refactor code from sendNetworkRequest
  69998. (WebCore::QNetworkReplyHandler::getIODevice): ditto
  69999. (WebCore::QNetworkReplyHandler::sendNetworkRequest):
  70000. - Remove ContentType and ContentLength headers from GET, DELETE and HEAD requests since
  70001. we do not send data with any of these requests.
  70002. - If a custom HTTP operation contains data, send it.
  70003. * platform/network/qt/QNetworkReplyHandler.h:
  70004. 2011-06-11 Michael Saboff <msaboff@apple.com>
  70005. Reviewed by James Robinson.
  70006. REGRESSION(88260): 10-50% performance regression across many page cyclers
  70007. https://bugs.webkit.org/show_bug.cgi?id=62349
  70008. Made CHROMIUM platform specific values for cMaxInactiveFontData and
  70009. cTargetInactiveFontData to mitigate the current performance issue on Chromium
  70010. page cycler tests. Made the chromium value for cMaxInactiveFontData 250 based
  70011. on recommendation from James Robinson. Changed cTargetInactiveFontData to 200
  70012. so that 50 inactive fonts will be cleaned up at a time.
  70013. Change made to address existing Chromium performance test regression.
  70014. * platform/graphics/FontCache.cpp:
  70015. 2011-06-11 Adam Barth <abarth@webkit.org>
  70016. Reviewed by Darin Adler.
  70017. Remove unnecessary strlen from DocumentWriter
  70018. https://bugs.webkit.org/show_bug.cgi?id=62505
  70019. This ugly piece of code appears not to be needed. Rejoice.
  70020. * WebCore.exp.in:
  70021. * loader/DocumentLoader.cpp:
  70022. (WebCore::DocumentLoader::commitData):
  70023. * loader/DocumentLoader.h:
  70024. * loader/DocumentWriter.cpp:
  70025. (WebCore::DocumentWriter::addData):
  70026. * loader/DocumentWriter.h:
  70027. 2011-06-11 Adam Barth <abarth@webkit.org>
  70028. Reviewed by Darin Adler.
  70029. DocumentParser::appendBytes shouldn't have a "flush" boolean parameter
  70030. https://bugs.webkit.org/show_bug.cgi?id=62499
  70031. This patch removes the "flush" Boolean parameter from
  70032. DocumentParser::appendBytes in favor of a new flush method. This makes
  70033. some code in DocumentWriter look less ridiculous.
  70034. There's still lots of on contorting to do here, but it's a start.
  70035. * dom/DecodedDataDocumentParser.cpp:
  70036. (WebCore::DecodedDataDocumentParser::appendBytes):
  70037. (WebCore::DecodedDataDocumentParser::flush):
  70038. * dom/DecodedDataDocumentParser.h:
  70039. * dom/DocumentParser.h:
  70040. * dom/RawDataDocumentParser.h:
  70041. (WebCore::RawDataDocumentParser::flush):
  70042. * html/ImageDocument.cpp:
  70043. (WebCore::ImageDocumentParser::appendBytes):
  70044. * html/MediaDocument.cpp:
  70045. (WebCore::MediaDocumentParser::appendBytes):
  70046. * html/PluginDocument.cpp:
  70047. (WebCore::PluginDocumentParser::appendBytes):
  70048. * loader/DocumentWriter.cpp:
  70049. (WebCore::DocumentWriter::reportDataReceived):
  70050. (WebCore::DocumentWriter::addData):
  70051. (WebCore::DocumentWriter::endIfNotLoadingMainResource):
  70052. * loader/DocumentWriter.h:
  70053. * loader/SinkDocument.cpp:
  70054. (WebCore::SinkDocumentParser::appendBytes):
  70055. 2011-06-11 Dimitri Glazkov <dglazkov@chromium.org>
  70056. Unreviewed, rolling out r88569.
  70057. http://trac.webkit.org/changeset/88569
  70058. https://bugs.webkit.org/show_bug.cgi?id=62398
  70059. Broke Chromium browser test:
  70060. IndexedDBBrowserTestWithGCExposed.DatabaseCallbacksTest
  70061. * storage/IDBFactory.idl:
  70062. 2011-06-11 Dimitri Glazkov <dglazkov@chromium.org>
  70063. Unreviewed, rolling out r88565.
  70064. http://trac.webkit.org/changeset/88565
  70065. https://bugs.webkit.org/show_bug.cgi?id=62401
  70066. Broke Chromium browser test:
  70067. IndexedDBBrowserTestWithGCExposed.DatabaseCallbacksTest
  70068. * storage/IDBDatabase.cpp:
  70069. (WebCore::IDBDatabase::setVersion):
  70070. * storage/IDBDatabase.idl:
  70071. 2011-06-10 Abhishek Arya <inferno@chromium.org>
  70072. Reviewed by Simon Fraser.
  70073. Null parent element sheet pointers in CSSMutableStyleDeclaration consumers
  70074. when removed from document, set them when reinserted into document.
  70075. https://bugs.webkit.org/show_bug.cgi?id=62230
  70076. When a HTMLBodyElement, StyledElement are removed from document,
  70077. we didn't clear out the parent pointers from their link, style declarations.
  70078. These parent pointers pointed to the document's element sheet which will
  70079. get removed when document is getting destroyed. It does make sense to
  70080. clear out parent pointers when we are getting removed from document and
  70081. readd them when we get inserted again.
  70082. Tests: fast/dom/body-link-decl-parent-crash.html
  70083. fast/dom/styled-inline-style-decl-parent-crash.html
  70084. * dom/StyledElement.cpp:
  70085. (WebCore::StyledElement::insertedIntoDocument):
  70086. (WebCore::StyledElement::removedFromDocument):
  70087. * dom/StyledElement.h:
  70088. * html/HTMLBodyElement.cpp:
  70089. (WebCore::HTMLBodyElement::parseMappedAttribute):
  70090. (WebCore::HTMLBodyElement::insertedIntoDocument):
  70091. (WebCore::HTMLBodyElement::removedFromDocument):
  70092. (WebCore::HTMLBodyElement::didMoveToNewOwnerDocument):
  70093. * html/HTMLBodyElement.h:
  70094. 2011-06-10 Adam Barth <abarth@webkit.org>
  70095. Remove bogus ASSERTs. These ASSERTs used to be correct before I
  70096. changed DocumentWriter to put the onus for ignoring empty writes onto
  70097. the parser.
  70098. This patch should stop these test from triggering ASSERTs:
  70099. plugins/plugin-document-back-forward.html
  70100. plugins/return-error-from-new-stream-callback-in-full-frame-plugin.html
  70101. userscripts/user-script-plugin-document.html
  70102. * html/MediaDocument.cpp:
  70103. (WebCore::MediaDocumentParser::appendBytes):
  70104. * html/PluginDocument.cpp:
  70105. (WebCore::PluginDocumentParser::appendBytes):
  70106. 2011-06-09 Jer Noble <jer.noble@apple.com>
  70107. Reviewed by Darin Adler.
  70108. REGRESSION: End of apple.com video in full-screen mode leads to unusable page.
  70109. https://bugs.webkit.org/show_bug.cgi?id=62411
  70110. Test: fullscreen/full-screen-remove-ancestor-after.html
  70111. The placeholder for RenderFullScreen was being created as a non-anonymous object, which led
  70112. to the document's renderer being set to 0 when the placeholder was removed due to its parent
  70113. being removed. Setting the placeholder to be anonymous, however, means that it will be
  70114. coalesced with sibling anonymous blocks, so added the RenderFullScreenPlaceholder to the
  70115. list of anonymous objects that are not considered anonymous blocks, to avoid the placeholder
  70116. being so coalesced. To do so, made the placeholder object a true subclass, and add and
  70117. override its destroy() function to notify the RenderFullScreen object that it has been
  70118. destroyed.
  70119. * rendering/RenderFullScreen.cpp:
  70120. (RenderFullScreenPlaceholder::RenderFullScreenPlaceholder): Added.
  70121. (RenderFullScreenPlaceholder::~RenderFullScreenPlaceholder): Added.
  70122. (RenderFullScreenPlaceholder::isRenderFullScreenPlaceholder): Added.
  70123. (RenderFullScreenPlaceholder::destroy): Notify the owner renderer that its placeholder
  70124. has been destroyed.
  70125. (RenderFullScreen::destroy): Assert that the m_placeholder ivar is 0 after destroying it.
  70126. (RenderFullScreen::setPlaceholder): Added.
  70127. (RenderFullScreen::createPlaceholder): Do not make the placeholder anonymous.
  70128. * rendering/RenderFullScreen.h:
  70129. * rendering/RenderObject.h:
  70130. (WebCore::RenderObject::isRenderFullScreenPlaceholder): Added.
  70131. (WebCore::RenderObject::isAnonymousBlock): Added the placeholder class to the list of
  70132. objects which are not anonymous blocks.
  70133. 2011-06-10 Gavin Barraclough <barraclough@apple.com>
  70134. Reviewed by Sam Weinig.
  70135. https://bugs.webkit.org/show_bug.cgi?id=16777
  70136. Eliminate JSC::NaN and JSC::Inf
  70137. There's no good reason for -K-J-S- JSC to have its own NAN and infinity constants.
  70138. The ones in std::numeric_limits are perfectly good.
  70139. Remove JSC::Inf, JSC::NaN, switch some cases of (isnan || isinf) to !isfinite.
  70140. * bindings/js/JSDataViewCustom.cpp:
  70141. (WebCore::getDataViewMember):
  70142. 2011-06-10 James Simonsen <simonjam@chromium.org>
  70143. Reviewed by Eric Seidel.
  70144. <script> inside <svg> should be executed
  70145. https://bugs.webkit.org/show_bug.cgi?id=62412
  70146. Tests: svg/in-html/script-external.html
  70147. svg/in-html/script-nested.html
  70148. svg/in-html/script-write.html
  70149. svg/in-html/script.html
  70150. * html/parser/HTMLTreeBuilder.cpp:
  70151. (WebCore::HTMLTreeBuilder::processEndTag):
  70152. 2011-06-10 Adam Barth <abarth@webkit.org>
  70153. Reviewed by Darin Adler.
  70154. Script-created parsers should ignore data from the network
  70155. https://bugs.webkit.org/show_bug.cgi?id=62336
  70156. If the network packet boundaries line up just right, we can end up
  70157. feeding network data to a parser created by document.write (or
  70158. document.open). That's incorrect.
  70159. This patch causes DocumentWriter to grab hold of the original parser
  70160. and direct all input to that parser.
  70161. Test: fast/parser/document-write-ignores-later-network-bytes.html
  70162. * dom/Document.cpp:
  70163. (WebCore::Document::explicitClose):
  70164. * loader/DocumentWriter.cpp:
  70165. (WebCore::DocumentWriter::begin):
  70166. (WebCore::DocumentWriter::addData):
  70167. (WebCore::DocumentWriter::endIfNotLoadingMainResource):
  70168. (WebCore::DocumentWriter::setDocumentWasLoadedAsPartOfNavigation):
  70169. * loader/DocumentWriter.h:
  70170. 2011-06-10 Simon Fraser <simon.fraser@apple.com>
  70171. Reviewed by Dan Bernstein.
  70172. Keep overlap testing logic until real 3d transforms are being used
  70173. https://bugs.webkit.org/show_bug.cgi?id=49857
  70174. For pages that use the translateZ(0) hack to force compositing layers, it's
  70175. advantageous to keep overlap testing, to avoid putting too many other
  70176. elements into layers.
  70177. Only turn off overlap testing if non-identity 3D transforms are used.
  70178. Tests: compositing/layer-creation/rotate3d-overlap.html
  70179. compositing/layer-creation/translatez-overlap.html
  70180. * rendering/RenderLayerCompositor.cpp:
  70181. (WebCore::RenderLayerCompositor::updateBacking):
  70182. (WebCore::RenderLayerCompositor::hasNonIdentity3DTransform):
  70183. * rendering/RenderLayerCompositor.h:
  70184. 2011-06-10 David Levin <levin@chromium.org>
  70185. Reviewed by Dmitry Titov.
  70186. Web Worker fails to fire error event when a resource fetch fails.
  70187. https://bugs.webkit.org/show_bug.cgi?id=62475
  70188. Test: http/tests/workers/worker-workerScriptNotThere.html
  70189. * workers/WorkerScriptLoader.cpp:
  70190. (WebCore::WorkerScriptLoader::didFinishLoading): Ensure that
  70191. the client is notified of the error when it happens during loading.
  70192. 2011-06-10 David Levin <levin@chromium.org>
  70193. Reviewed by Dmitry Titov.
  70194. Fetching a Worker with url that isn't allowed from a file based test causes DRT to crash.
  70195. https://bugs.webkit.org/show_bug.cgi?id=62469
  70196. Test: fast/workers/worker-crash-with-invalid-location.html
  70197. * workers/DefaultSharedWorkerRepository.cpp:
  70198. (WebCore::SharedWorkerScriptLoader::load): Changed to using the RefCounted version of WorkerScriptLoader.
  70199. * workers/Worker.cpp:
  70200. (WebCore::Worker::create): Ditto.
  70201. * workers/Worker.h: Ditto.
  70202. * workers/WorkerContext.cpp:
  70203. (WebCore::WorkerContext::importScripts): Ditto.
  70204. * workers/WorkerScriptLoader.cpp:
  70205. (WebCore::WorkerScriptLoader::~WorkerScriptLoader): Created to
  70206. allow removing some header includes in WorkerScriptLoader.h.
  70207. (WebCore::WorkerScriptLoader::loadAsynchronously): Fix the ordering
  70208. of setPendingActivity and keep WorkerScriptLoader alive during a
  70209. potential callback.
  70210. * workers/WorkerScriptLoader.h: Made this RefCounted to allow for
  70211. keeping it alive during callbacks. Also, removed unnecessary header
  70212. inclusions (and added a destructor to facilitate that).
  70213. (WebCore::WorkerScriptLoader::create):
  70214. 2011-06-10 Alok Priyadarshi <alokp@chromium.org>
  70215. Reviewed by James Robinson.
  70216. [chromium] Top portion of page is rendered messed up with accelerated drawing
  70217. https://bugs.webkit.org/show_bug.cgi?id=62484
  70218. Fixed the math in flipping the texture from bottom-up to top-down.
  70219. Test: compositing/repaint/shrink-layer.html (existing)
  70220. * platform/graphics/chromium/LayerTilerChromium.cpp:
  70221. (WebCore::LayerTilerChromium::draw):
  70222. 2011-06-10 Tony Chang <tony@chromium.org>
  70223. Reviewed by Ojan Vafai.
  70224. add a compile guard ENABLE(FLEXBOX)
  70225. https://bugs.webkit.org/show_bug.cgi?id=62049
  70226. * Configurations/FeatureDefines.xcconfig:
  70227. 2011-06-10 Sam Weinig <sam@webkit.org>
  70228. Roll out r88568. It is not the right fix for the problem.
  70229. * loader/appcache/ApplicationCacheHost.cpp:
  70230. (WebCore::ApplicationCacheHost::isApplicationCacheEnabled):
  70231. 2011-06-10 Mark Rowe <mrowe@apple.com>
  70232. Reviewed by Dimitri Glazkov.
  70233. <rdar://problem/9562114> Fix DumpRenderTree build for production configuration.
  70234. Rename the built WebCoreTestSupport dylib to libWebCoreTestSupport.dylib so
  70235. that it can be found via the library search path rather than requiring an
  70236. absolute path be passed to the linker.
  70237. Install the library and its associated header file in a more appropriate location
  70238. for the production configuration.
  70239. * Configurations/WebCoreTestSupport.xcconfig:
  70240. 2011-06-10 Simon Fraser <simon.fraser@apple.com>
  70241. Reviewed by Dave Hyatt.
  70242. Add a scheduleSetNeedsStyleRecalc() method to ContainerNode for use by RenderLayerCompositor
  70243. https://bugs.webkit.org/show_bug.cgi?id=62471
  70244. RenderLayerCompositor had some code that did a setNeedsStyleRecalc(), but
  70245. in a way that was safe to call during existing style recalc or layout.
  70246. Move this code to ContainerElement so it can be called elsewhere.
  70247. Also add a param to the node callback so we can pass the style change type.
  70248. * dom/ContainerNode.cpp:
  70249. (WebCore::ContainerNode::queuePostAttachCallback):
  70250. (WebCore::ContainerNode::dispatchPostAttachCallbacks):
  70251. (WebCore::needsStyleRecalcCallback):
  70252. (WebCore::ContainerNode::scheduleSetNeedsStyleRecalc):
  70253. * dom/ContainerNode.h:
  70254. * dom/Node.h:
  70255. (WebCore::Node::scheduleSetNeedsStyleRecalc):
  70256. * html/HTMLFormControlElement.cpp:
  70257. (WebCore::focusPostAttach):
  70258. (WebCore::updateFromElementCallback):
  70259. * html/HTMLPlugInImageElement.cpp:
  70260. (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
  70261. * html/HTMLPlugInImageElement.h:
  70262. * rendering/RenderLayerCompositor.cpp:
  70263. (WebCore::RenderLayerCompositor::attachRootPlatformLayer):
  70264. (WebCore::RenderLayerCompositor::detachRootPlatformLayer):
  70265. (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange):
  70266. * rendering/RenderLayerCompositor.h:
  70267. * svg/SVGUseElement.cpp:
  70268. (WebCore::updateFromElementCallback):
  70269. 2011-06-10 Mark Pilgrim <pilgrim@chromium.org>
  70270. Reviewed by Tony Chang.
  70271. IndexedDB: indexedDB.open() name argument is required
  70272. https://bugs.webkit.org/show_bug.cgi?id=62398
  70273. Test: storage/indexeddb/database-name-undefined.html
  70274. * storage/IDBFactory.idl: use appropriate IDL magic to force undefined values to null, so we handle missing arguments as well as null arguments
  70275. 2011-06-10 Sam Weinig <sam@webkit.org>
  70276. Reviewed by Beth Dakin.
  70277. Common crash in ApplicationCacheHost::isApplicationCacheEnabled
  70278. <rdar://problem/9328684>
  70279. * loader/appcache/ApplicationCacheHost.cpp:
  70280. (WebCore::ApplicationCacheHost::isApplicationCacheEnabled):
  70281. Speculative fix for a null frame on ApplicationCacheHost's DocumentLoader.
  70282. 2011-06-10 Adam Barth <abarth@webkit.org>
  70283. Reviewed by Eric Seidel.
  70284. Remove Document::finishParsing
  70285. https://bugs.webkit.org/show_bug.cgi?id=62474
  70286. This function appears to exist only to confuse and befuddle us. This
  70287. patch prepares for DocumentWriter to grab hold of the parser.
  70288. This patch removes one of the print statements from
  70289. INSTRUMENT_LAYOUT_SCHEDULING, but I'm not sure
  70290. INSTRUMENT_LAYOUT_SCHEDULING works anymore anyway.
  70291. * dom/Document.cpp:
  70292. * dom/Document.h:
  70293. * dom/XMLDocumentParser.cpp:
  70294. (WebCore::XMLDocumentParser::finish):
  70295. * html/parser/HTMLDocumentParser.cpp:
  70296. (WebCore::HTMLDocumentParser::finish):
  70297. * loader/DocumentWriter.cpp:
  70298. (WebCore::DocumentWriter::addData):
  70299. (WebCore::DocumentWriter::endIfNotLoadingMainResource):
  70300. * loader/FrameLoader.cpp:
  70301. (WebCore::FrameLoader::stop):
  70302. 2011-06-10 Mark Pilgrim <pilgrim@chromium.org>
  70303. Reviewed by Tony Chang.
  70304. IndexedDB: setVersion() version argument is required
  70305. https://bugs.webkit.org/show_bug.cgi?id=62401
  70306. Test: storage/indexeddb/setVersion-undefined.html
  70307. * storage/IDBDatabase.cpp:
  70308. (WebCore::IDBDatabase::setVersion): check for null version
  70309. * storage/IDBDatabase.idl: add IDL magic to force undefined to null so we can handle both missing and null arguments
  70310. 2011-06-10 Simon Fraser <simon.fraser@apple.com>
  70311. Reviewed by Dan Bernstein.
  70312. Null-check the layer owner again when painting layers
  70313. https://bugs.webkit.org/show_bug.cgi?id=62473
  70314. Speculative fix for a crash that occurs when the layer's owner
  70315. gets destroyed during painting.
  70316. * platform/graphics/mac/WebLayer.mm:
  70317. (drawLayerContents):
  70318. 2011-06-08 Robert Hogan <robert@webkit.org>
  70319. Reviewed by Andreas Kling.
  70320. [Qt] Lighten the --no-svg build a little
  70321. https://bugs.webkit.org/show_bug.cgi?id=62314
  70322. Only generate source from SVG*.idl if the build is svg-enabled.
  70323. * CodeGenerators.pri:
  70324. 2011-06-10 Nikolas Zimmermann <nzimmermann@rim.com>
  70325. Reviewed by Rob Buis.
  70326. Integrate SVG Fonts within GlyphPage concept, removing the special SVG code paths from Font, making it possible to reuse the simple text code path for SVG Fonts
  70327. https://bugs.webkit.org/show_bug.cgi?id=59085
  70328. Add glyph table to SVGFontElement mapping between SVGGlyph <-> Glyph
  70329. https://bugs.webkit.org/show_bug.cgi?id=62441
  70330. Preparation patch 1: Introduce the internal glyph table in SVGGlyphMap that will be used to identify each
  70331. SVGGlyph identifier with a Glyph (which is just an ushort). It will be used by follow-up patches.
  70332. Doesn't affect any test so far.
  70333. * platform/graphics/SVGGlyph.h:
  70334. (WebCore::SVGGlyph::SVGGlyph):
  70335. (WebCore::SVGGlyph::operator==):
  70336. * rendering/svg/SVGTextRunRenderingContext.cpp:
  70337. (WebCore::SVGTextRunWalker::walk):
  70338. * svg/SVGFontData.cpp:
  70339. (WebCore::SVGFontData::initializeFontData):
  70340. * svg/SVGFontElement.cpp:
  70341. (WebCore::SVGFontElement::SVGFontElement):
  70342. (WebCore::SVGFontElement::registerLigaturesInGlyphCache):
  70343. (WebCore::SVGFontElement::ensureGlyphCache):
  70344. (WebCore::kerningForPairOfStringsAndGlyphs):
  70345. (WebCore::SVGFontElement::horizontalKerningForPairOfStringsAndGlyphs):
  70346. (WebCore::SVGFontElement::verticalKerningForPairOfStringsAndGlyphs):
  70347. (WebCore::SVGFontElement::collectGlyphsForString):
  70348. (WebCore::SVGFontElement::collectGlyphsForGlyphName):
  70349. (WebCore::SVGFontElement::svgGlyphForGlyph):
  70350. (WebCore::SVGFontElement::missingGlyph):
  70351. * svg/SVGFontElement.h:
  70352. (WebCore::SVGKerningPair::SVGKerningPair):
  70353. * svg/SVGGlyphMap.h:
  70354. (WebCore::SVGGlyphMap::addGlyphByUnicodeString):
  70355. (WebCore::SVGGlyphMap::addGlyphByName):
  70356. (WebCore::SVGGlyphMap::appendToGlyphTable):
  70357. (WebCore::SVGGlyphMap::collectGlyphsForString):
  70358. (WebCore::SVGGlyphMap::clear):
  70359. (WebCore::SVGGlyphMap::svgGlyphForGlyph):
  70360. (WebCore::SVGGlyphMap::glyphIdentifierForGlyphName):
  70361. 2011-06-10 Emil A Eklund <eae@chromium.org>
  70362. Reviewed by Eric Seidel.
  70363. Regression r85573: Blank pages appear at the end of some wikipedia documents.
  70364. https://bugs.webkit.org/show_bug.cgi?id=62343
  70365. Fix regression caused by r85573. Cached document size not updated after layout.
  70366. Test: printing/page-count-relayout-shrink.html
  70367. * page/FrameView.cpp:
  70368. (WebCore::FrameView::forceLayoutForPagination):
  70369. 2011-06-10 Rob Buis <rbuis@rim.com>
  70370. Reviewed by Nikolas Zimmermann.
  70371. amation event handling broken: focusin
  70372. https://bugs.webkit.org/show_bug.cgi?id=12894
  70373. focusin, focusout, activate not implemented in SVG
  70374. https://bugs.webkit.org/show_bug.cgi?id=40545
  70375. Make elements that should support GraphicalEventAttribute handle focussing, since focusin, focusout is part of that:
  70376. http://www.w3.org/TR/SVG11/intro.html#TermGraphicalEventAttribute
  70377. Match Opera behaviour ; elements that support GraphicalEventAttribute can receive visual mouse focus when having either a focusin or focusout event handler. Elements that support GraphicalEventAttribute can receive visual keyboard focus when having either a focusin or focusout event handler. Keyboard focus does not advance to SVG elements that are not focusable at the time.
  70378. Tests: svg/custom/focus-event-handling-keyboard.xhtml
  70379. svg/custom/focus-event-handling.xhtml
  70380. * rendering/svg/SVGRenderSupport.cpp:
  70381. (WebCore::SVGRenderSupport::computeRectForRepaint):
  70382. * svg/SVGCircleElement.h:
  70383. (WebCore::SVGCircleElement::supportsFocus):
  70384. * svg/SVGEllipseElement.h:
  70385. (WebCore::SVGEllipseElement::supportsFocus):
  70386. * svg/SVGGElement.h:
  70387. (WebCore::SVGGElement::supportsFocus):
  70388. * svg/SVGImageElement.h:
  70389. (WebCore::SVGImageElement::supportsFocus):
  70390. * svg/SVGLineElement.h:
  70391. (WebCore::SVGLineElement::supportsFocus):
  70392. * svg/SVGPathElement.h:
  70393. (WebCore::SVGPathElement::supportsFocus):
  70394. * svg/SVGPolyElement.h:
  70395. (WebCore::SVGPolyElement::supportsFocus):
  70396. * svg/SVGRectElement.h:
  70397. (WebCore::SVGRectElement::supportsFocus):
  70398. * svg/SVGSVGElement.h:
  70399. (WebCore::SVGSVGElement::supportsFocus):
  70400. * svg/SVGStyledElement.cpp:
  70401. (WebCore::SVGStyledElement::isMouseFocusable):
  70402. (WebCore::SVGStyledElement::isKeyboardFocusable):
  70403. * svg/SVGStyledElement.h:
  70404. * svg/SVGSwitchElement.h:
  70405. (WebCore::SVGSwitchElement::supportsFocus):
  70406. * svg/SVGSymbolElement.h:
  70407. (WebCore::SVGSymbolElement::supportsFocus):
  70408. * svg/SVGTextElement.h:
  70409. (WebCore::SVGTextElement::supportsFocus):
  70410. * svg/SVGUseElement.h:
  70411. (WebCore::SVGUseElement::supportsFocus):
  70412. 2011-06-10 Luke Macpherson <macpherson@chromium.org>
  70413. Reviewed by Eric Seidel.
  70414. Clean up CSSPrimitiveValue::computeLength*
  70415. https://bugs.webkit.org/show_bug.cgi?id=61612
  70416. No new tests as no functionality changed.
  70417. * css/CSSGradientValue.cpp:
  70418. Use new computeLength functions.
  70419. * css/CSSPrimitiveValue.cpp:
  70420. (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
  70421. Reduce to a single function using default parameter values.
  70422. (WebCore::CSSPrimitiveValue::computeLength):
  70423. Redefine existing functions with separate names as a single function using templated function specialization.
  70424. * css/CSSPrimitiveValue.h:
  70425. Prototypes for computeLengthIntForLength and computeLength.
  70426. * css/CSSStyleApplyProperty.cpp:
  70427. Use new computeLength functions.
  70428. * css/CSSStyleSelector.cpp:
  70429. Use new computeLength functions.
  70430. * css/MediaQueryEvaluator.cpp:
  70431. Use new computeLength functions.
  70432. * css/SVGCSSStyleSelector.cpp:
  70433. Use new computeLength functions.
  70434. 2011-06-10 Simon Fraser <simon.fraser@apple.com>
  70435. Reviewed by Beth Dakin.
  70436. Add utility to RenderLayer to determine if the layer is scrollable
  70437. https://bugs.webkit.org/show_bug.cgi?id=62467
  70438. New method that returns true if either scrollbar is present and enabled.
  70439. Not called anywhere yet.
  70440. * rendering/RenderLayer.cpp:
  70441. (WebCore::RenderLayer::allowsScrolling):
  70442. * rendering/RenderLayer.h:
  70443. 2011-06-10 Dimitri Glazkov <dglazkov@chromium.org>
  70444. Reviewed by Tony Chang.
  70445. REGRESSION (r88332): prototype-inheritance-2 ASSERTS attempting to enumerate spellCheckRanges
  70446. https://bugs.webkit.org/show_bug.cgi?id=62460
  70447. Test: fast/dom/prototype-inheritance-2.html
  70448. * dom/DocumentMarkerController.cpp:
  70449. (WebCore::DocumentMarkerController::userSpellingMarkersForNode): Added an extra 0-check.
  70450. 2011-06-10 James Simonsen <simonjam@chromium.org>
  70451. Reviewed by Tony Gentilcore.
  70452. Don't execute scripts in shadow SVG.
  70453. https://bugs.webkit.org/show_bug.cgi?id=62225
  70454. Test: svg/dom/use-style-recalc-script-execute-crash.html
  70455. * dom/ScriptElement.cpp:
  70456. (WebCore::ScriptElement::prepareScript):
  70457. 2011-06-10 Konstantin Tokarev <ktokarev@smartlabs.tv>
  70458. Reviewed by Joseph Pecoraro.
  70459. Fixed build with enabled workers and disabled inspector
  70460. https://bugs.webkit.org/show_bug.cgi?id=62461
  70461. * inspector/InspectorWorkerAgent.cpp: Added inspector guard
  70462. 2011-06-10 Darin Adler <darin@apple.com>
  70463. Reviewed by Eric Carlson.
  70464. REGRESSION: Fullscreen video controller can't be dragged
  70465. https://bugs.webkit.org/show_bug.cgi?id=62462
  70466. No regression test because we don't have machinery for testing the fullscreen
  70467. mode. We may find a way to add this in the future.
  70468. * html/shadow/MediaControlElements.cpp:
  70469. (WebCore::MediaControlPanelElement::MediaControlPanelElement): Initialize new
  70470. booleans related to dragging.
  70471. (WebCore::MediaControlPanelElement::startDrag): Added. Starts drag if dragging
  70472. is allowed and a drag isn't already in progress.
  70473. (WebCore::MediaControlPanelElement::continueDrag): Added. Moves the window if
  70474. dragging is already in progress.
  70475. (WebCore::MediaControlPanelElement::endDrag): Added. Ends the capture that is
  70476. done during the dragging process.
  70477. (WebCore::MediaControlPanelElement::setPosition): Added. Positions the panel
  70478. using explicit top/left.
  70479. (WebCore::MediaControlPanelElement::resetPosition): Added. Removes the positioning
  70480. done by setPosition.
  70481. (WebCore::MediaControlPanelElement::defaultEventHandler): Added. Calls startDrag,
  70482. continueDrag, and endDrag in response to mouse events.
  70483. (WebCore::MediaControlPanelElement::setCanBeDragged): Added.
  70484. * html/shadow/MediaControlElements.h: Added new function and data members
  70485. as mentioned above.
  70486. * html/shadow/MediaControlRootElement.cpp:
  70487. (WebCore::MediaControlRootElement::enteredFullscreen): Call setCanBeDragged(true)
  70488. so you can drag the panel while in fullscreen.
  70489. (WebCore::MediaControlRootElement::exitedFullscreen): Call setCanBeDragged(false)
  70490. so you can't drag the panel while not in fullscreen. Also call resetPosition so
  70491. position changes from dragging don't affect the panel in other contexts.
  70492. 2011-06-10 Darin Adler <darin@apple.com>
  70493. Reviewed by Eric Carlson.
  70494. REGRESSION: Full screen video HUD is positioned too low for standalone video documents
  70495. https://bugs.webkit.org/show_bug.cgi?id=62463
  70496. No test because we don't currently have machinery for testing fullscreen.
  70497. * css/fullscreen.css: Removed rule that said bottom: 0px for the control panel
  70498. for full page media in full screen mode. This is not needed because the control
  70499. panel for full screen mode already has style rules to set its vertical position.
  70500. (:-webkit-full-screen-ancestor:not(iframe)): Fixed typo where it said
  70501. -webkit-tranform. This will fix a potential problem where fullscreen would
  70502. malfunction on a page that had a media element inside a transform.
  70503. 2011-06-10 Sergio Villar Senin <svillar@igalia.com>
  70504. Reviewed by Gustavo Noronha Silva.
  70505. [GTK] Add support for non-ASCII filenames in Content-Disposition header
  70506. https://bugs.webkit.org/show_bug.cgi?id=62454
  70507. Try latin1 as fallback for header parameter values as some servers
  70508. do not follow RFC 2045 for example with filename parameter in
  70509. Content-Disposition.
  70510. No new tests required as no functionality changed.
  70511. * platform/network/soup/ResourceResponseSoup.cpp:
  70512. (WebCore::ResourceResponse::updateFromSoupMessage):
  70513. 2011-06-10 No'am Rosenthal <noam.rosenthal@nokia.com> and Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
  70514. Reviewed by Kenneth Rohde Christiansen.
  70515. Add layer factory to GraphicsLayer for creating non-default layer type.
  70516. https://bugs.webkit.org/show_bug.cgi?id=61925
  70517. Added a static factory protected member to GraphicsLayer, which should be accessed from
  70518. a port-specific implementation of GraphicsLayer::create. For now this is enabled for Qt only.
  70519. This is needed for accelerated compositing across processes in WebKit2, since WebCore
  70520. doesn't know in compile time whether it's in WebKit or WebKit2, which makes having two
  70521. different implementations of GraphicsLayer coexist impossible without some runtime
  70522. factory that can be overridden by the web process.
  70523. Note that the use of the factory would be optional, and the port-specific GraphicsLayer::create
  70524. would have to explicitly call it, in order to be unintrusive with current implementations.
  70525. No new functionality, so no new tests.
  70526. * platform/graphics/GraphicsLayer.cpp:
  70527. (WebCore::GraphicsLayer::setGraphicsLayerFactory):
  70528. * platform/graphics/GraphicsLayer.h:
  70529. 2011-06-10 Lucas De Marchi <lucas.demarchi@profusion.mobi>
  70530. Reviewed by Kenneth Rohde Christiansen.
  70531. [CMAKE] Add generic support for building with WebGL
  70532. https://bugs.webkit.org/show_bug.cgi?id=62376
  70533. Set new THIRDPARTY_DIR variable to compile sources under ThirdParty.
  70534. No change in functionality so no new tests.
  70535. * CMakeLists.txt:
  70536. 2011-06-10 Ryuan Choi <ryuan.choi@samsung.com>
  70537. Reviewed by Andreas Kling.
  70538. [GTK][EFL] m_imageInterpolationQuality is not initialized in PlatformContextCairo::PlatformContextCairo.
  70539. https://bugs.webkit.org/show_bug.cgi?id=62435
  70540. No new tests required as just fixed warning.
  70541. * platform/graphics/cairo/PlatformContextCairo.cpp:
  70542. (WebCore::PlatformContextCairo::PlatformContextCairo):
  70543. 2011-06-11-06-09 Ilya Tikhonovsky <loislo@chromium.org>
  70544. Reviewed by Yury Semikhatsky.
  70545. Web Inspector: protocol: json: Whitespace can be inserted between any pair of tokens.
  70546. https://bugs.webkit.org/show_bug.cgi?id=62377
  70547. * inspector/InspectorValues.cpp:
  70548. 2011-06-10 Sheriff Bot <webkit.review.bot@gmail.com>
  70549. Unreviewed, rolling out r88530.
  70550. http://trac.webkit.org/changeset/88530
  70551. https://bugs.webkit.org/show_bug.cgi?id=62440
  70552. qt build was broken (Requested by loislo on #webkit).
  70553. * inspector/InspectorValues.cpp:
  70554. 2011-06-09 Ilya Tikhonovsky <loislo@chromium.org>
  70555. Reviewed by Yury Semikhatsky.
  70556. Web Inspector: protocol: json: Whitespace can be inserted between any pair of tokens.
  70557. https://bugs.webkit.org/show_bug.cgi?id=62377
  70558. * inspector/InspectorValues.cpp:
  70559. 2011-06-09 Jer Noble <jer.noble@apple.com>
  70560. Reviewed by Darin Adler.
  70561. REGRESSION: Vertical scroll bar appears when taking videos into full screen at jerryseinfeld.com
  70562. https://bugs.webkit.org/show_bug.cgi?id=62402
  70563. Sites are able to override the "overflow:hidden" rule for root full-screen nodes
  70564. simply by adding a "html {}" rule. Make this rule !important, and also make it apply
  70565. to root nodes who are merely ancestors of full-screen elements, to cover the case of
  70566. a root node containing an <iframe> whose contents have gone full-screen.
  70567. * css/fullscreen.css:
  70568. (:root:-webkit-full-screen-document:not(:-webkit-full-screen),
  70569. :root:-webkit-full-screen-ancestor): Apply the overflow rule to root elements
  70570. who are full-screen ancestors, and make them !important.
  70571. 2011-06-09 Luke Macpherson <macpherson@chromium.org>
  70572. Reviewed by Eric Seidel.
  70573. Rename RenderStyle visuallyOrdered property and use an enum instead of a bool.
  70574. https://bugs.webkit.org/show_bug.cgi?id=61495
  70575. No new tests required as no functionality changed.
  70576. * css/CSSPrimitiveValueMappings.h:
  70577. Support cast to/from Order
  70578. * css/CSSStyleSelector.cpp:
  70579. (WebCore::CSSStyleSelector::styleForDocument):
  70580. Convert from bool to enum type.
  70581. (WebCore::CSSStyleSelector::applyProperty):
  70582. Convert to macro that uses the cast defined in CSSPrimitiveValueMappings.
  70583. * dom/Document.cpp:
  70584. (WebCore::Document::setVisuallyOrdered):
  70585. Change call to RenderStyle::setRTLOrdering using enum parameter.
  70586. * rendering/style/RenderStyle.h:
  70587. rename visuallyOrdered proerties rtlOrdering and use appropriate enum types.
  70588. * rendering/style/RenderStyleConstants.h:
  70589. Define enum type.
  70590. 2011-06-09 Luke Macpherson <macpherson@chromium.org>
  70591. Reviewed by Eric Seidel.
  70592. Implement CSSPropertyOutlineStyle handler in CSSStyleApplyProperty
  70593. https://bugs.webkit.org/show_bug.cgi?id=61601
  70594. No new tests. No new functionality added / covered by existing tests.
  70595. * css/CSSPrimitiveValueMappings.h:
  70596. (WebCore::CSSPrimitiveValue::operator EBorderStyle):
  70597. Support CSSValueAuto as required by outline-style property.
  70598. (WebCore::CSSPrimitiveValue::operator OutlineIsAuto):
  70599. Add cast to new OutlineIsAuto enum.
  70600. * css/CSSStyleApplyProperty.cpp:
  70601. (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
  70602. Initialize handler for CSSPropertyOutlineStyle.
  70603. * css/CSSStyleSelector.cpp:
  70604. (WebCore::CSSStyleSelector::applyProperty):
  70605. Remove old handler for CSSPropertyOutlineStyle.
  70606. * rendering/style/OutlineValue.h:
  70607. Use new OutlineIsAuto enum instead of bool.
  70608. * rendering/style/RenderStyle.h:
  70609. Split existing two-parameter setter setOutlineStyle into separate setters for style and auto properties.
  70610. Use new OutlineIsAuto enum type.
  70611. * rendering/style/RenderStyleConstants.h:
  70612. Define new enum OutlineIsAuto.
  70613. 2011-06-09 Luke Macpherson <macpherson@chromium.org>
  70614. Reviewed by Eric Seidel.
  70615. Code cleanup - add wrappers for function pointer dereferences to improve readability in ApplyPropertyDefaultBase and derived classes.
  70616. https://bugs.webkit.org/show_bug.cgi?id=62418
  70617. No new tests / cleanup only.
  70618. * css/CSSStyleApplyProperty.cpp:
  70619. (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
  70620. Use new wrapper functions.
  70621. (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
  70622. Use new wrapper functions.
  70623. (WebCore::ApplyPropertyDefaultBase::setValue):
  70624. Wrapper for calling m_setter function pointer.
  70625. (WebCore::ApplyPropertyDefaultBase::value):
  70626. Wrapper for calling m_getter function pointer.
  70627. (WebCore::ApplyPropertyDefaultBase::initial):
  70628. Wrapper for calling m_initial function pointer.
  70629. (WebCore::ApplyPropertyDefault::applyValue):
  70630. Use new setValue function.
  70631. (WebCore::ApplyPropertyLength::applyValue):
  70632. Use new setValue function.
  70633. (WebCore::ApplyPropertyWidth::applyValue):
  70634. Use new setValue function.
  70635. 2011-06-09 Hyowon Kim <hw1008.kim@samsung.com>
  70636. Reviewed by Antonio Gomes.
  70637. [EFL] Make accelerated compositing build in Webkit-EFL
  70638. https://bugs.webkit.org/show_bug.cgi?id=62361
  70639. Add a new class, GraphicsLayerEfl - not yet implemented.
  70640. Add ACCELERATED_COMPOSITING related files to CMakeLists.
  70641. * CMakeLists.txt:
  70642. * CMakeListsEfl.txt:
  70643. * platform/graphics/efl/GraphicsLayerEfl.cpp: Added.
  70644. (WebCore::GraphicsLayer::create):
  70645. (WebCore::GraphicsLayerEfl::GraphicsLayerEfl):
  70646. (WebCore::GraphicsLayerEfl::~GraphicsLayerEfl):
  70647. (WebCore::GraphicsLayerEfl::setNeedsDisplay):
  70648. (WebCore::GraphicsLayerEfl::setNeedsDisplayInRect):
  70649. * platform/graphics/efl/GraphicsLayerEfl.h: Added.
  70650. 2011-06-09 Jian Li <jianli@chromium.org>
  70651. Reviewed by David Levin.
  70652. Calling WebKitBlobBuilder.append with null argument should not crash
  70653. https://bugs.webkit.org/show_bug.cgi?id=62419
  70654. Test: fast/files/blob-builder-crash.html
  70655. * fileapi/WebKitBlobBuilder.cpp:
  70656. (WebCore::WebKitBlobBuilder::append):
  70657. 2011-06-09 Jer Noble <jer.noble@apple.com>
  70658. Reviewed by David Hyatt.
  70659. Roll out r88468, and fix bug #61911 without making Element::offset functions virtual.
  70660. https://bugs.webkit.org/show_bug.cgi?id=62400
  70661. No new tests; covered by existing fullscreen/full-screen-video-offset.html test.
  70662. * rendering/RenderVideo.cpp:
  70663. (WebCore::rendererPlaceholder): Added; returns the placeholder block, if it exists.
  70664. (WebCore::RenderVideo::offsetLeft): Pass the offset request to the placeholder block.
  70665. (WebCore::RenderVideo::offsetTop): Ditto.
  70666. (WebCore::RenderVideo::offsetWidth): Ditto.
  70667. (WebCore::RenderVideo::offsetHeight): Ditto.
  70668. * rendering/RenderVideo.h: Added virtual overrides for the offset functions.
  70669. 2011-06-09 James Robinson <jamesr@chromium.org>
  70670. Reviewed by Kenneth Russell.
  70671. [chromium] Scissor rect not set for clipping layers set offscreen
  70672. https://bugs.webkit.org/show_bug.cgi?id=62339
  70673. We set a scissorRect on each layer, but only layers with masksToBounds and their descendants should actually set
  70674. a scissor. Layers that didn't need to scissor had empty scissorRects. Unfortunately layers with masksToBounds
  70675. and their descendants that are scrolled offscreen also end up with an empty clipped scissor rect.
  70676. This patch sets an explicit bit on each layer that should scissor and then checks that bit instead of checking
  70677. for an empty scissor rect at draw time. RenderSurfaceChromiums have different requirements for
  70678. setScissorToRect, so the old behavior is still available with a flag. This can probably be cleaned up more.
  70679. Test: platform/chromium/compositing/scissor-out-of-viewport.html
  70680. * platform/graphics/chromium/LayerRendererChromium.cpp:
  70681. (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
  70682. (WebCore::LayerRendererChromium::drawLayer):
  70683. (WebCore::LayerRendererChromium::setScissorToRect):
  70684. * platform/graphics/chromium/LayerRendererChromium.h:
  70685. * platform/graphics/chromium/RenderSurfaceChromium.cpp:
  70686. (WebCore::RenderSurfaceChromium::draw):
  70687. * platform/graphics/chromium/cc/CCLayerImpl.cpp:
  70688. (WebCore::CCLayerImpl::CCLayerImpl):
  70689. * platform/graphics/chromium/cc/CCLayerImpl.h:
  70690. (WebCore::CCLayerImpl::setUsesLayerScissor):
  70691. (WebCore::CCLayerImpl::usesLayerScissor):
  70692. 2011-06-09 Sheriff Bot <webkit.review.bot@gmail.com>
  70693. Unreviewed, rolling out r88468.
  70694. http://trac.webkit.org/changeset/88468
  70695. https://bugs.webkit.org/show_bug.cgi?id=62408
  70696. It broke build if !ENABLE(FULLSCREEN_API) (Requested by Ossy
  70697. on #webkit).
  70698. * dom/Element.cpp:
  70699. (WebCore::adjustForLocalZoom):
  70700. * dom/Element.h:
  70701. * html/HTMLMediaElement.cpp:
  70702. * html/HTMLMediaElement.h:
  70703. 2011-06-09 Kenneth Russell <kbr@google.com>
  70704. Reviewed by Adam Barth.
  70705. Disallow use of cross-domain media (images, video) in WebGL
  70706. https://bugs.webkit.org/show_bug.cgi?id=62257
  70707. Updated WebGL implementation to track recent spec updates in this area.
  70708. Tests: http/tests/security/webgl-remote-read-remote-image-allowed-with-credentials.html
  70709. http/tests/security/webgl-remote-read-remote-image-allowed.html
  70710. http/tests/security/webgl-remote-read-remote-image-blocked-no-crossorigin.html
  70711. * html/canvas/CanvasRenderingContext.cpp:
  70712. (WebCore::CanvasRenderingContext::wouldTaintOrigin):
  70713. (WebCore::CanvasRenderingContext::checkOrigin):
  70714. * html/canvas/CanvasRenderingContext.h:
  70715. (WebCore::CanvasRenderingContext::checkOrigin):
  70716. * html/canvas/WebGLRenderingContext.cpp:
  70717. (WebCore::WebGLRenderingContext::readPixels):
  70718. (WebCore::WebGLRenderingContext::texImage2D):
  70719. (WebCore::WebGLRenderingContext::videoFrameToImage):
  70720. (WebCore::WebGLRenderingContext::texSubImage2D):
  70721. * html/canvas/WebGLRenderingContext.h:
  70722. 2011-06-09 Adam Barth <abarth@webkit.org>
  70723. Reviewed by Eric Seidel.
  70724. Add an ASSERT to HTMLTreeBuilder
  70725. https://bugs.webkit.org/show_bug.cgi?id=62403
  70726. This ASSERT was useful in investigating a re-entrancy bug. We should
  70727. keep it.
  70728. * html/parser/HTMLTreeBuilder.cpp:
  70729. (WebCore::HTMLTreeBuilder::processEndOfFile):
  70730. 2011-06-09 Dan Bernstein <mitz@apple.com>
  70731. Reviewed by Darin Adler.
  70732. Fix a regression from r88478.
  70733. * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
  70734. (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Add the runs
  70735. in reverse order in the RTL case here, since the whole vector is reversed by collectComplexTextRuns()
  70736. afterwards.
  70737. 2011-06-09 Julien Chaffraix <jchaffraix@codeaurora.org>
  70738. Reviewed by Antti Koivisto.
  70739. REGRESSION(84329): Stylesheets on some pages do not load
  70740. https://bugs.webkit.org/show_bug.cgi?id=61400
  70741. Test: fast/css/link-disabled-attr.html
  70742. Fixed r84329: the change did not take into account the fact
  70743. that HTMLLinkElement did already contain the disabled information
  70744. and the 2 information were not linked as they should have!
  70745. The new logic pushes the information to the stylesheet as this
  70746. is what the spec mandates and what FF is doing. Also it keeps
  70747. one bit of information (that JS enabled the stylesheet) as it
  70748. is needed for the recalcStyleSelector logic.
  70749. * dom/Document.cpp:
  70750. (WebCore::Document::recalcStyleSelector): s/isDisabled/disabled.
  70751. * html/HTMLLinkElement.cpp:
  70752. (WebCore::HTMLLinkElement::HTMLLinkElement): Removed m_disabledState,
  70753. replaced by m_isEnabledViaScript.
  70754. (WebCore::HTMLLinkElement::setDisabled): Updated the logic after
  70755. m_disabledState removal. It also matches the spec by forwarding
  70756. the disabled state to our stylesheet if we have one.
  70757. (WebCore::HTMLLinkElement::parseMappedAttribute): Removed harmful
  70758. handling of the disabledAttr.
  70759. (WebCore::HTMLLinkElement::process): Updated after m_disabledState removal.
  70760. * html/HTMLLinkElement.h:
  70761. (WebCore::HTMLLinkElement::isEnabledViaScript): Ditto.
  70762. (WebCore::HTMLLinkElement::isAlternate): Ditto.
  70763. 2011-06-09 Dan Bernstein <mitz@apple.com>
  70764. Reviewed by Darin Adler.
  70765. Simplify ComplexTextController::collectComplexTextRuns()
  70766. https://bugs.webkit.org/show_bug.cgi?id=62387
  70767. No new test, since functionality is unchanged.
  70768. * platform/graphics/mac/ComplexTextController.cpp:
  70769. (WebCore::ComplexTextController::collectComplexTextRuns): Always iterate characters in logical order,
  70770. then reverse the run vector for RTL.
  70771. 2011-06-09 Dimitri Glazkov <dglazkov@chromium.org>
  70772. Reviewed by Kent Tamura.
  70773. Fold isShadowBoundary into isShadowRoot.
  70774. https://bugs.webkit.org/show_bug.cgi?id=62317
  70775. Since there are no longer cases where Node::isShadowBoundary() != Node::isShadowRoot, we can remove this function.
  70776. In one case where isShadowBoundary was also tested to find ShadowContentElemnt, added a new isContentElement function.
  70777. Refactoring, covered by existing tests.
  70778. * css/CSSStyleSelector.cpp:
  70779. (WebCore::isAtShadowBoundary): Changed to use isShadowRoot.
  70780. * dom/Element.cpp:
  70781. (WebCore::Element::isSpellCheckingEnabled): Ditto.
  70782. * dom/Node.cpp:
  70783. (WebCore::Node::nonBoundaryShadowTreeRootNode): Ditto.
  70784. (WebCore::Node::nonShadowBoundaryParentNode): Ditto.
  70785. * dom/Node.h:
  70786. (WebCore::Node::isContentElement): Added.
  70787. * dom/NodeRenderingContext.cpp:
  70788. (WebCore::NodeRenderingContext::NodeRenderingContext): Changed to use isShadowRoot.
  70789. * dom/Position.cpp:
  70790. (WebCore::Position::Position): Ditto.
  70791. * dom/ShadowContentElement.h:
  70792. (WebCore::ShadowContentElement::isContentElement): Added.
  70793. * dom/ShadowRoot.cpp:
  70794. (WebCore::ShadowRoot::hasContentElement): Changed to use isContentElement.
  70795. * editing/CompositeEditCommand.cpp:
  70796. (WebCore::CompositeEditCommand::insertNodeAfter): Changed to use isShadowRoot.
  70797. * editing/htmlediting.cpp:
  70798. (WebCore::visiblePositionBeforeNode): Ditto.
  70799. (WebCore::visiblePositionAfterNode): Ditto.
  70800. * page/DragController.cpp:
  70801. (WebCore::asFileInput): Ditto.
  70802. * rendering/RenderTreeAsText.cpp:
  70803. (WebCore::nodePosition): Ditto.
  70804. 2011-06-09 Simon Fraser <simon.fraser@apple.com>
  70805. Reviewed by Darin Adler.
  70806. Crashes in RenderLayerBacking::paintingGoesToWindow
  70807. https://bugs.webkit.org/show_bug.cgi?id=61159
  70808. Speculative fix for unreproducible crash that can occur when RenderObject::repaintUsingContainer()
  70809. finds a repaintContainer that is not the RenderView, but that is also not
  70810. composited (for unknown reasons), by checking to see if the layer is
  70811. compositing before using backing(). An assertion remains to try to catch
  70812. this in debug builds.
  70813. * rendering/RenderLayer.cpp:
  70814. (WebCore::RenderLayer::setBackingNeedsRepaintInRect):
  70815. 2011-06-09 Julien Chaffraix <jchaffraix@webkit.org>
  70816. Reviewed by Darin Adler.
  70817. WebCore::WebKitCSSKeyframesRuleInternal::nameAttrSetter() - crash
  70818. https://bugs.webkit.org/show_bug.cgi?id=62384
  70819. Test: fast/css/webkit-keyframes-crash.html
  70820. * css/WebKitCSSKeyframesRule.cpp:
  70821. (WebCore::WebKitCSSKeyframesRule::setName): stylesheet() is never garanteed
  70822. to return a non-null pointer. Thus null-check here like the rest of the code.
  70823. 2011-06-09 Julien Chaffraix <jchaffraix@codeaurora.org>
  70824. Reviewed by David Hyatt.
  70825. chrome.dll!WebCore::RenderStyle::fontMetrics ReadAV@NULL (two crashes)
  70826. https://bugs.webkit.org/show_bug.cgi?id=57756
  70827. Tests: fast/css/fontMetric-border-radius-null-crash.html
  70828. fast/css/fontMetric-webkit-border-end-width-null-crash.html
  70829. * css/CSSStyleSelector.cpp:
  70830. (WebCore::CSSStyleSelector::styleForElement): Added a call to Font::update
  70831. so that our FontFallbackList is allocated if we ever need it when applying our
  70832. style rules.
  70833. 2011-06-09 Cary Clark <caryclark@google.com>
  70834. Reviewed by Eric Seidel.
  70835. Create local CG context for Mac UI elements when Skia is renderer
  70836. https://bugs.webkit.org/show_bug.cgi?id=62213
  70837. When building Mac Chrome using Skia as the WebKit renderer,
  70838. add state to LocalCurrentGraphicsContext to convert the SkCanvas
  70839. context passed by WebKit into the CGContext needed by UI
  70840. rendering.
  70841. No new tests. The define typo in question is
  70842. not yet enabled, so this change has no functional
  70843. impact.
  70844. * platform/mac/LocalCurrentGraphicsContext.h:
  70845. Add SkiaBitLocker to create and release the converted CGContext.
  70846. Add ContextContainer, a class for Skia to create and release
  70847. the converted CGContext. If Skia is not used, the class has no effect.
  70848. * platform/mac/LocalCurrentGraphicsContext.mm:
  70849. (WebCore::LocalCurrentGraphicsContext::LocalCurrentGraphicsContext):
  70850. When building with Skia, create the CGContext before passing it on.
  70851. (WebCore::LocalCurrentGraphicsContext::cgContext):
  70852. Get the CGContext from the SkiaBitLocker, or the saved context,
  70853. as appropriate.
  70854. * rendering/RenderThemeMac.mm:
  70855. Get the CGContext from Skia conversion or native, as appropriate.
  70856. Use the LocalCurrentGraphicsContext if there is one. Otherwise,
  70857. add a ContextContainer to house the SkCanvas to CGContext conversion.
  70858. (WebCore::RenderThemeMac::paintCapsLockIndicator):
  70859. (WebCore::RenderThemeMac::paintProgressBar):
  70860. (WebCore::RenderThemeMac::paintMenuListButtonGradients):
  70861. (WebCore::RenderThemeMac::paintSliderTrack):
  70862. (WebCore::RenderThemeMac::paintMediaFullscreenButton):
  70863. (WebCore::RenderThemeMac::paintMediaMuteButton):
  70864. (WebCore::RenderThemeMac::paintMediaPlayButton):
  70865. (WebCore::RenderThemeMac::paintMediaSeekBackButton):
  70866. (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
  70867. (WebCore::RenderThemeMac::paintMediaSliderTrack):
  70868. (WebCore::RenderThemeMac::paintMediaSliderThumb):
  70869. (WebCore::RenderThemeMac::paintMediaRewindButton):
  70870. (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
  70871. (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
  70872. (WebCore::RenderThemeMac::paintMediaControlsBackground):
  70873. (WebCore::RenderThemeMac::paintMediaCurrentTime):
  70874. (WebCore::RenderThemeMac::paintMediaTimeRemaining):
  70875. (WebCore::RenderThemeMac::paintMediaVolumeSliderContainer):
  70876. (WebCore::RenderThemeMac::paintMediaVolumeSliderTrack):
  70877. (WebCore::RenderThemeMac::paintMediaVolumeSliderThumb):
  70878. 2011-06-02 Jer Noble <jer.noble@apple.com>
  70879. Reviewed by Maciej Stachowiak.
  70880. REGRESSION: Page layout messed up after exiting full screen after video ends at jerryseinfeld.com
  70881. https://bugs.webkit.org/show_bug.cgi?id=61911
  70882. <rdar://problem/9523017>
  70883. Test: fullscreen/full-screen-video-offset.html
  70884. When the video element is taken full-screen in the new element full-screen API, return the
  70885. offset width and height of the placeholder renderer which is filling in for the full-screen
  70886. element. To do so, override offsetWidth, Height, Left, and Top from Element. These are
  70887. non-virtual functions, so make them virtual.
  70888. * dom/Element.cpp:
  70889. (WebCore::Element::adjustForLocalZoom): Made into a class-static function.
  70890. * dom/Element.h: Made offset functions virtual.
  70891. * html/HTMLMediaElement.cpp:
  70892. (WebCore::elementPlaceholder): Added; utility function.
  70893. (WebCore::HTMLMediaElement::offsetLeft): Added; virtual override of the
  70894. Element function. Will be called directly via javascript.
  70895. (WebCore::HTMLMediaElement::offsetTop): Ditto.
  70896. (WebCore::HTMLMediaElement::offsetWidth): Ditto.
  70897. (WebCore::HTMLMediaElement::offsetHeight): Ditto.
  70898. * html/HTMLMediaElement.h:
  70899. 2011-06-09 Dave Tapuska <dtapuska@rim.com>
  70900. Reviewed by Daniel Bates.
  70901. PingLoader destructor could dereference 0 if the Resource
  70902. Handle creation failed.
  70903. https://bugs.webkit.org/show_bug.cgi?id=62304
  70904. * loader/PingLoader.cpp:
  70905. (WebCore::PingLoader::~PingLoader):
  70906. 2011-06-08 Abhishek Arya <inferno@chromium.org>
  70907. Reviewed by Ryosuke Niwa.
  70908. Make indexForVisiblePosition and isSelectableElement static.
  70909. https://bugs.webkit.org/show_bug.cgi?id=62329
  70910. This protects us when converting frame->selection->start() or end()
  70911. to VisiblePosition which blows away the RenderTextControl from
  70912. underneath (due to layout update).
  70913. Test: fast/forms/text-control-selection-crash.html
  70914. * accessibility/AccessibilityRenderObject.cpp:
  70915. (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
  70916. * rendering/RenderTextControl.cpp:
  70917. (WebCore::RenderTextControl::selectionStart):
  70918. (WebCore::RenderTextControl::selectionEnd):
  70919. (WebCore::RenderTextControl::isSelectableElement):
  70920. (WebCore::RenderTextControl::indexForVisiblePosition):
  70921. * rendering/RenderTextControl.h:
  70922. 2011-06-09 Ben Murdoch <benm@google.com>
  70923. Reviewed by Yury Semikhatsky.
  70924. Build break in ScriptProfile.cpp and inspector disabled.
  70925. https://bugs.webkit.org/show_bug.cgi?id=62373
  70926. No new tests - build fix only.
  70927. * bindings/v8/ScriptProfile.cpp: Add necessary guards.
  70928. * bindings/v8/ScriptProfile.h: ditto.
  70929. 2011-06-09 Vsevolod Vlasov <vsevik@chromium.org>
  70930. Reviewed by Yury Semikhatsky.
  70931. Web Inspector: Network panel preview tab does not reattach SourceFrame when switching between preview and response tabs.
  70932. https://bugs.webkit.org/show_bug.cgi?id=62298
  70933. * inspector/front-end/ResourcePreviewView.js:
  70934. (WebInspector.ResourcePreviewView.prototype._ensureInnerViewShown.callback):
  70935. (WebInspector.ResourcePreviewView.prototype._ensureInnerViewShown):
  70936. 2011-06-09 Csaba Osztrogonác <ossy@webkit.org>
  70937. [Qt][Mac] Speculative buildfix after r88286.
  70938. * platform/graphics/IntPoint.h:
  70939. 2011-06-09 Mike Lawther <mikelawther@chromium.org>
  70940. Reviewed by Kent Tamura.
  70941. Parsing issue with -webkit-calc
  70942. https://bugs.webkit.org/show_bug.cgi?id=62276
  70943. Set the CSSParserString for the calc functions.
  70944. Test: css3/calc/regression-62276.html
  70945. * css/CSSParser.cpp:
  70946. (WebCore::CSSParser::lex):
  70947. 2011-06-09 Robert Hogan <robert@webkit.org>
  70948. Reviewed by Andreas Kling.
  70949. Teach Qt about window.internals
  70950. https://bugs.webkit.org/show_bug.cgi?id=61074
  70951. A weakness of the Qt DRT setup is that things like JSContextRef are abstracted
  70952. away from the QtWebKit API so we need DumpRenderTreeSupportQt to access WebCore internals.
  70953. Since the window.internals object requires JSContextRef we need to implement it in DumpRenderTreeSupportQt
  70954. where we can access it. DumpRenderTreeSupportQt cannot be compiled outside Qt's WebCore and as it
  70955. is our only possible route into the WebCoreTestSupport class neither can the new window.internals plumbing.
  70956. Likewise we can't put the accessor in WebCoreTestSupport because it would then need to know about QWebFrame
  70957. and others. The only alternative seems like a compile time guard which we would have to teach the bots about.
  70958. * CodeGenerators.pri:
  70959. * WebCore.pri:
  70960. * WebCore.pro:
  70961. 2011-06-08 Mikołaj Małecki <m.malecki@samsung.com>
  70962. Reviewed by Pavel Feldman.
  70963. Web Inspector: Crash by buffer overrun crash when serializing inspector object tree.
  70964. https://bugs.webkit.org/show_bug.cgi?id=52791
  70965. No new tests. The problem can be reproduced by trying to create InspectorValue
  70966. from 1.0e-100 and call ->toJSONString() on this.
  70967. * inspector/InspectorValues.cpp:
  70968. (WebCore::InspectorBasicValue::writeJSON):
  70969. Added checking the predicted buffer size and choosing exponential format, or
  70970. eventually "NaN" if the buffer is too small for decimal format.
  70971. 2011-06-09 Sheriff Bot <webkit.review.bot@gmail.com>
  70972. Unreviewed, rolling out r88387.
  70973. http://trac.webkit.org/changeset/88387
  70974. https://bugs.webkit.org/show_bug.cgi?id=62368
  70975. New tests introduced in 88387 fail on Leopard,GTK,Qt bots
  70976. (Requested by Ossy on #webkit).
  70977. * html/canvas/CanvasRenderingContext.cpp:
  70978. (WebCore::CanvasRenderingContext::checkOrigin):
  70979. * html/canvas/CanvasRenderingContext.h:
  70980. * html/canvas/WebGLRenderingContext.cpp:
  70981. (WebCore::WebGLRenderingContext::readPixels):
  70982. (WebCore::WebGLRenderingContext::texImage2D):
  70983. (WebCore::WebGLRenderingContext::videoFrameToImage):
  70984. (WebCore::WebGLRenderingContext::texSubImage2D):
  70985. * html/canvas/WebGLRenderingContext.h:
  70986. 2011-06-09 Adam Barth <abarth@webkit.org>
  70987. Reviewed by Eric Seidel.
  70988. Running script from attach can remove elements from the stack of open elements
  70989. https://bugs.webkit.org/show_bug.cgi?id=62160
  70990. When the tree build runs script synchronously, that script can remove
  70991. arbitrary elements from the stack of open elements. We need to hold a
  70992. reference to |parent| in attach instead of rely upon the reference in
  70993. the stack of open elements.
  70994. Test: fast/parser/document-write-onload-clear.html
  70995. * html/parser/HTMLConstructionSite.cpp:
  70996. (WebCore::HTMLConstructionSite::attach):
  70997. 2011-06-08 Luke Macpherson <macpherson@chromium.org>
  70998. Reviewed by Eric Seidel.
  70999. Make CSSPrimitiveValue support cast to EVerticalAlign.
  71000. https://bugs.webkit.org/show_bug.cgi?id=62356
  71001. No new tests / refactoring only.
  71002. * css/CSSPrimitiveValueMappings.h:
  71003. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  71004. (WebCore::CSSPrimitiveValue::operator EVerticalAlign):
  71005. * css/CSSStyleSelector.cpp:
  71006. (WebCore::CSSStyleSelector::applyProperty):
  71007. 2011-06-08 Justin Novosad <junov@chromium.org>
  71008. Reviewed by James Robinson.
  71009. [Chromium] Crash when closing a tab with accelerated 2d canvas
  71010. https://bugs.webkit.org/show_bug.cgi?id=62324
  71011. Upon graphics context destruction, it is important to signal skia
  71012. to abandon all of its resource handles. This prevents a crash caused
  71013. by skia attempting to release resources that were in the destroyed
  71014. graphics context.
  71015. * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
  71016. (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
  71017. 2011-06-08 James Robinson <jamesr@chromium.org>
  71018. Reviewed by Darin Fisher.
  71019. REGRESSION(88260): 10-50% performance regression across many page cyclers
  71020. https://bugs.webkit.org/show_bug.cgi?id=62349
  71021. r88260 fixed a font cache resource leak and lowered the inactive font cache threshold. The latter caused a
  71022. significant performance regression across many chromium page cyclers, for example
  71023. http://build.chromium.org/f/chromium/perf/linux-release-webkit-latest/moz/report.html?history=50&rev=88279.
  71024. This restores the previous inactive font size thresholds to their previous values, but retains the font cleanup
  71025. logic.
  71026. * platform/graphics/FontCache.cpp:
  71027. 2011-06-08 Hayato Ito <hayato@chromium.org>
  71028. Reviewed by Dimitri Glazkov.
  71029. A forward/backward tab traversal now visits focusable elements in a shadow root.
  71030. https://bugs.webkit.org/show_bug.cgi?id=61410
  71031. Test: fast/dom/shadow/tab-order-iframe-and-shadow.html
  71032. Like a iframe element, a shadow host becomes a scope of
  71033. tabindex. That means all descendant elements in a shadow root are
  71034. skipped if the host node of the shadow root is not focusable.
  71035. The patch doesn't affect HTMLInputElement and HTMLTextAreaElement,
  71036. which uses a shadow root and do extra works in their focus()
  71037. method.
  71038. A shadow root's <content> is not considered in this patch.
  71039. That will be addressed in a following patch.
  71040. * page/FocusController.cpp:
  71041. (WebCore::shadowRoot):
  71042. (WebCore::isTreeScopeOwner):
  71043. (WebCore::FocusController::deepFocusableNode):
  71044. (WebCore::FocusController::advanceFocusInDocumentOrder):
  71045. (WebCore::FocusController::findFocusableNodeAcrossTreeScope):
  71046. (WebCore::FocusController::findFocusableNode):
  71047. (WebCore::FocusController::nextFocusableNode):
  71048. (WebCore::FocusController::previousFocusableNode):
  71049. (WebCore::FocusController::ownerOfTreeScope):
  71050. * page/FocusController.h:
  71051. 2011-06-08 Hayato Ito <hayato@chromium.org>
  71052. Reviewed by Hajime Morita.
  71053. Makes sure that document.activeElement won't be an element in shadow root.
  71054. https://bugs.webkit.org/show_bug.cgi?id=61413
  71055. Test: fast/dom/shadow/activeelement-should-be-shadowhost.html
  71056. * html/HTMLDocument.cpp:
  71057. (WebCore::focusedFrameOwnerElement):
  71058. (WebCore::HTMLDocument::activeElement):
  71059. 2011-06-08 Kent Tamura <tkent@chromium.org>
  71060. Reviewed by Dimitri Glazkov.
  71061. Allow drawing a slider thumb for any nodes.
  71062. https://bugs.webkit.org/show_bug.cgi?id=62196
  71063. RenderObject::node() should provide various information which is
  71064. necessary for rendering. We don't need to refer the parent renderer.
  71065. * dom/Node.cpp:
  71066. (WebCore::Node::focusDe1egate): Added.
  71067. * dom/Node.h: Added a declaration.
  71068. * html/shadow/MediaControlElements.cpp:
  71069. (WebCore::toParentMediaElement):
  71070. Added an overload of toParentMediaElement() with Node* parameter.
  71071. * html/shadow/MediaControlElements.h:
  71072. (WebCore::toParentMediaElement): ditto.
  71073. * html/shadow/SliderThumbElement.cpp:
  71074. (WebCore::SliderThumbElement::isEnabledFormControl):
  71075. Returns the status of the host node.
  71076. (WebCore::SliderThumbElement::isReadOnlyFormControl): ditto.
  71077. (WebCore::SliderThumbElement::focusDe1egate):
  71078. Returns the host node so that RenderTheme::isFocused() returns true.
  71079. (WebCore::SliderThumbElement::detach): Style nit.
  71080. (WebCore::SliderThumbElement::hostInput):
  71081. Make it const because it is called by const functions.
  71082. * html/shadow/SliderThumbElement.h:
  71083. - Remove inDragMode()
  71084. - Update declarations
  71085. * platform/qt/RenderThemeQt.cpp:
  71086. (WebCore::RenderThemeQt::paintMediaSliderThumb):
  71087. Use Node::shadowAncestorNode() instead of RenderObject::parent() to
  71088. support deeper thumb nodes.
  71089. * rendering/RenderMediaControlsChromium.cpp:
  71090. (WebCore::paintMediaSliderThumb): ditto.
  71091. (WebCore::paintMediaVolumeSliderThumb): Remove isSlider() check.
  71092. * rendering/RenderSlider.cpp:
  71093. (WebCore::RenderSlider::inDragMode):
  71094. SliderThumbElement::inDragMode() was removed, and Node::active() has
  71095. the same information.
  71096. * rendering/RenderTheme.cpp:
  71097. (WebCore::RenderTheme::paint): Remove isSlider() checks.
  71098. (WebCore::RenderTheme::isFocused): Apply Node::focusDelegate().
  71099. * rendering/RenderThemeChromiumLinux.cpp:
  71100. (WebCore::RenderThemeChromiumLinux::paintSliderThumb):
  71101. isPressed() is enough.
  71102. * rendering/RenderThemeChromiumWin.cpp:
  71103. isEnabled(), isFocused(), and isPressed() are enough.
  71104. (WebCore::RenderThemeChromiumWin::determineSliderThumbState):
  71105. (WebCore::RenderThemeChromiumWin::determineClassicState):
  71106. * rendering/RenderThemeMac.mm:
  71107. (WebCore::RenderThemeMac::paintSliderThumb):
  71108. - Remove isSlider() check.
  71109. - Passing 'o' to udpateFooState functions is enough.
  71110. - isPressed() is enough.
  71111. * rendering/RenderThemeSafari.cpp:
  71112. (WebCore::RenderThemeSafari::paintSliderThumb):
  71113. We don't need special handling anymore.
  71114. * rendering/RenderThemeWin.cpp:
  71115. (WebCore::RenderThemeWin::determineSliderThumbState):
  71116. isEnabled(), isFocused(), and isPressed() are enough.
  71117. 2011-06-08 Adam Barth <abarth@webkit.org>
  71118. Reviewed by Eric Seidel.
  71119. constructTreeFromToken can re-enter parser, causing ASSERTs
  71120. https://bugs.webkit.org/show_bug.cgi?id=62160
  71121. This patch clears the HTMLToken before constructing the tree from the
  71122. token, putting the HTMLDocumentParser in a good state to be re-entered.
  71123. Tests: fast/parser/document-write-onload-nesting.html
  71124. fast/parser/document-write-onload-ordering.html
  71125. * html/parser/HTMLDocumentParser.cpp:
  71126. (WebCore::HTMLDocumentParser::pumpTokenizer):
  71127. * html/parser/HTMLToken.h:
  71128. (WebCore::HTMLToken::isUninitialized):
  71129. * html/parser/HTMLTreeBuilder.cpp:
  71130. (WebCore::HTMLTreeBuilder::constructTreeFromToken):
  71131. 2011-06-08 Kent Tamura <tkent@chromium.org>
  71132. Fix Qt build for r88405.
  71133. https://bugs.webkit.org/show_bug.cgi?id=62208
  71134. * platform/qt/RenderThemeQt.h:
  71135. 2011-06-08 Kent Tamura <tkent@chromium.org>
  71136. Reviewed by Dimitri Glazkov.
  71137. Change the argument of RenderTheme::adjustSliderThumbSize(): RenderObject* -> RenderStyle*
  71138. https://bugs.webkit.org/show_bug.cgi?id=62208
  71139. Change the argument type of RenderTheme::adjustSliderThumbSize() and
  71140. RenderMediaControls::adjustMediaSliderThumbSize() from RenderObject* to RenderStyle*.
  71141. Also, each of adjustSliderThumbStyle() overrides calls RenderTheme::
  71142. adjustSliderThumbStyle() for future changes.
  71143. No new tests. This is a refactoring and should not change any behavior.
  71144. * html/shadow/SliderThumbElement.cpp:
  71145. (WebCore::RenderSliderThumb::layout): Passing RenderStyle* and remove a FIXME comment.
  71146. * platform/efl/RenderThemeEfl.cpp:
  71147. (WebCore::RenderThemeEfl::adjustSliderThumbStyle): Calls RenderTheme::adjustSliderThumbStyle().
  71148. * platform/gtk/RenderThemeGtk.cpp:
  71149. (WebCore::RenderThemeGtk::adjustSliderThumbStyle): ditto.
  71150. (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize):
  71151. * platform/gtk/RenderThemeGtk.h:
  71152. * platform/gtk/RenderThemeGtk2.cpp:
  71153. (WebCore::RenderThemeGtk::adjustSliderThumbSize):
  71154. * platform/gtk/RenderThemeGtk3.cpp:
  71155. (WebCore::RenderThemeGtk::adjustSliderThumbSize):
  71156. * platform/qt/RenderThemeQt.cpp:
  71157. (WebCore::RenderThemeQt::adjustSliderThumbStyle): ditto.
  71158. (WebCore::RenderThemeQt::adjustSliderThumbSize):
  71159. * rendering/RenderMediaControls.cpp:
  71160. (WebCore::RenderMediaControls::adjustMediaSliderThumbSize):
  71161. * rendering/RenderMediaControls.h:
  71162. * rendering/RenderMediaControlsChromium.cpp:
  71163. (WebCore::RenderMediaControlsChromium::adjustMediaSliderThumbSize):
  71164. * rendering/RenderMediaControlsChromium.h:
  71165. * rendering/RenderSlider.cpp:
  71166. (WebCore::RenderSlider::layout): Passing RenderStyle* and remove a FIXME comment.
  71167. * rendering/RenderTheme.cpp:
  71168. (WebCore::RenderTheme::adjustSliderThumbStyle): Add a comment.
  71169. (WebCore::RenderTheme::adjustSliderThumbSize):
  71170. * rendering/RenderTheme.h:
  71171. * rendering/RenderThemeChromiumLinux.cpp:
  71172. (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
  71173. * rendering/RenderThemeChromiumLinux.h:
  71174. * rendering/RenderThemeChromiumMac.h:
  71175. * rendering/RenderThemeChromiumMac.mm:
  71176. (WebCore::RenderThemeChromiumMac::adjustMediaSliderThumbSize):
  71177. * rendering/RenderThemeChromiumSkia.cpp:
  71178. (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize):
  71179. * rendering/RenderThemeChromiumSkia.h:
  71180. * rendering/RenderThemeChromiumWin.cpp:
  71181. (WebCore::RenderThemeChromiumWin::adjustSliderThumbSize):
  71182. * rendering/RenderThemeChromiumWin.h:
  71183. * rendering/RenderThemeMac.h:
  71184. * rendering/RenderThemeMac.mm:
  71185. (WebCore::RenderThemeMac::adjustSliderThumbStyle): Calls RenderTheme::adjustSliderThumbStyle().
  71186. (WebCore::RenderThemeMac::adjustSliderThumbSize):
  71187. (WebCore::RenderThemeMac::adjustMediaSliderThumbSize):
  71188. * rendering/RenderThemeSafari.cpp:
  71189. (WebCore::RenderThemeSafari::adjustSliderThumbStyle): Calls RenderTheme::adjustSliderThumbStyle().
  71190. (WebCore::RenderThemeSafari::adjustSliderThumbSize):
  71191. * rendering/RenderThemeSafari.h:
  71192. * rendering/RenderThemeWin.cpp:
  71193. (WebCore::RenderThemeWin::adjustSliderThumbSize):
  71194. * rendering/RenderThemeWin.h:
  71195. * rendering/RenderThemeWinCE.cpp:
  71196. (WebCore::RenderThemeWinCE::adjustSliderThumbSize):
  71197. * rendering/RenderThemeWinCE.h:
  71198. 2011-06-08 Brian Salomon <bsalomon@google.com>
  71199. Reviewed by James Robinson.
  71200. Avoid always binding FBO 0 implicitly when deleting FBO in DrawingBuffer code because it invalidates Ganesh's cache of the current FBO.
  71201. https://bugs.webkit.org/show_bug.cgi?id=62318
  71202. Chromium-only crash
  71203. Failures takes multiple seconds to occur, relying on JS garbage-collection to occur
  71204. http://www.hotbazooka.com/privatejoe-large
  71205. * platform/graphics/gpu/DrawingBuffer.cpp:
  71206. (WebCore::DrawingBuffer::clear):
  71207. 2011-06-08 Emil A Eklund <eae@chromium.org>
  71208. Reviewed by Eric Seidel.
  71209. RenderEmbeddedObject::getReplacementTextGeometry
  71210. https://bugs.webkit.org/show_bug.cgi?id=62313
  71211. Replace the last use of tx, ty with IntPoint.
  71212. Covered by existing tests.
  71213. * platform/graphics/FloatRect.h:
  71214. (WebCore::FloatRect::move):
  71215. (WebCore::FloatRect::moveBy):
  71216. * rendering/RenderEmbeddedObject.cpp:
  71217. (WebCore::RenderEmbeddedObject::paintReplaced):
  71218. (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
  71219. (WebCore::RenderEmbeddedObject::isInMissingPluginIndicator):
  71220. * rendering/RenderEmbeddedObject.h:
  71221. 2011-06-08 Tim Horton <timothy_horton@apple.com>
  71222. Reviewed by Ryosuke Niwa.
  71223. Use correct CFURLStorageSessionRef definition on Leopard, as
  71224. we created an inconsistency in const-ness between
  71225. WebCoreSystemInterface.h and these two files in the case
  71226. of Leopard only.
  71227. https://bugs.webkit.org/show_bug.cgi?id=62223
  71228. * platform/network/ResourceHandle.h:
  71229. * platform/network/cf/ResourceRequest.h:
  71230. 2011-06-08 Sailesh Agrawal <sail@chromium.org>
  71231. Reviewed by Mihai Parparita.
  71232. Chromium Mac: Enable overlay scrollbars
  71233. https://bugs.webkit.org/show_bug.cgi?id=59756
  71234. Sync ScrollbarThemeChromiumMac.mm/.h with ScrollbarThemeMac.mm to pick up support for overlay scrollbars. The only changes are renaming ScrollbarThemeMac to ScrollbarThemeChromiumMac and using runtime checks instead of #ifdef's.
  71235. No new tests, since this code is only enabled on future versions of Mac OS X.
  71236. * platform/chromium/ScrollAnimatorChromiumMac.mm: All changes to this file except in scroll() were to swap #if USE(WK_SCROLLBAR_PAINTER) with runtime checks.
  71237. (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
  71238. (WebCore::ScrollAnimatorChromiumMac::~ScrollAnimatorChromiumMac):
  71239. (WebCore::ScrollAnimatorChromiumMac::notityPositionChanged):
  71240. (WebCore::ScrollAnimatorChromiumMac::contentAreaWillPaint):
  71241. (WebCore::ScrollAnimatorChromiumMac::mouseEnteredContentArea):
  71242. (WebCore::ScrollAnimatorChromiumMac::mouseExitedContentArea):
  71243. (WebCore::ScrollAnimatorChromiumMac::mouseMovedInContentArea):
  71244. (WebCore::ScrollAnimatorChromiumMac::willStartLiveResize):
  71245. (WebCore::ScrollAnimatorChromiumMac::contentsResized):
  71246. (WebCore::ScrollAnimatorChromiumMac::willEndLiveResize):
  71247. (WebCore::ScrollAnimatorChromiumMac::contentAreaDidShow):
  71248. (WebCore::ScrollAnimatorChromiumMac::contentAreaDidHide):
  71249. (WebCore::ScrollAnimatorChromiumMac::didBeginScrollGesture):
  71250. (WebCore::ScrollAnimatorChromiumMac::didEndScrollGesture):
  71251. (WebCore::ScrollAnimatorChromiumMac::didAddVerticalScrollbar):
  71252. (WebCore::ScrollAnimatorChromiumMac::willRemoveVerticalScrollbar):
  71253. (WebCore::ScrollAnimatorChromiumMac::didAddHorizontalScrollbar):
  71254. (WebCore::ScrollAnimatorChromiumMac::willRemoveHorizontalScrollbar):
  71255. (WebCore::ScrollAnimatorChromiumMac::cancelAnimations):
  71256. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
  71257. (preferredScrollerStyle): Disabled overlay scrollbar styles due to trailing artifacts.
  71258. (wkScrollbarPainterPaint): Fixed a problem where the scrollbar track wasn't being drawn.
  71259. (wkScrollbarPainterKnobRect): Implemented a previously unimplemented function.
  71260. (wkSetScrollbarPainterKnobStyle): Implemented a function that's now supported by the latest Mac OS X seeds.
  71261. (isScrollbarOverlayAPIAvailable): Enabled new scrollbar code.
  71262. * platform/chromium/ScrollbarThemeChromiumMac.h:
  71263. * platform/chromium/ScrollbarThemeChromiumMac.mm: Sync with ScrollbarThemeMac.mm.
  71264. (WebCore::scrollbarMap):
  71265. (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
  71266. (WebCore::updateArrowPlacement):
  71267. (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
  71268. (WebCore::ScrollbarThemeChromiumMac::unregisterScrollbar):
  71269. (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
  71270. (WebCore::ScrollbarThemeChromiumMac::painterForScrollbar):
  71271. (WebCore::ScrollbarThemeChromiumMac::scrollbarThickness):
  71272. (WebCore::ScrollbarThemeChromiumMac::usesOverlayScrollbars):
  71273. (WebCore::ScrollbarThemeChromiumMac::hasButtons):
  71274. (WebCore::ScrollbarThemeChromiumMac::hasThumb):
  71275. (WebCore::buttonRepaintRect):
  71276. (WebCore::ScrollbarThemeChromiumMac::minimumThumbLength):
  71277. (WebCore::ScrollbarThemeChromiumMac::shouldDragDocumentInsteadOfThumb):
  71278. (WebCore::toScrollbarPainterKnobStyle):
  71279. (WebCore::ScrollbarThemeChromiumMac::paint):
  71280. 2011-06-06 Nate Chapin <japhet@chromium.org>
  71281. Reviewed by Adam Barth.
  71282. Remove all knowledge of CachedResourceRequests from
  71283. CachedResourceLoader. This puts the full burden of
  71284. canceling these requests on DocumentLoader (via
  71285. SubresourceLoader), and makes a CachedResourceRequest
  71286. an OwnPtr in CachedResource.
  71287. https://bugs.webkit.org/show_bug.cgi?id=62308
  71288. * loader/FrameLoader.cpp:
  71289. (WebCore::FrameLoader::stopLoading):
  71290. * loader/cache/CachedResource.cpp:
  71291. (WebCore::CachedResource::CachedResource):
  71292. (WebCore::CachedResource::load):
  71293. (WebCore::CachedResource::stopLoading):
  71294. * loader/cache/CachedResource.h:
  71295. * loader/cache/CachedResourceLoader.cpp:
  71296. (WebCore::CachedResourceLoader::~CachedResourceLoader):
  71297. (WebCore::CachedResourceLoader::loadDone):
  71298. * loader/cache/CachedResourceLoader.h:
  71299. * loader/cache/CachedResourceRequest.cpp:
  71300. (WebCore::CachedResourceRequest::CachedResourceRequest):
  71301. (WebCore::CachedResourceRequest::~CachedResourceRequest):
  71302. (WebCore::CachedResourceRequest::load):
  71303. (WebCore::CachedResourceRequest::didFinishLoading):
  71304. (WebCore::CachedResourceRequest::didFail):
  71305. (WebCore::CachedResourceRequest::didReceiveResponse):
  71306. (WebCore::CachedResourceRequest::end):
  71307. * loader/cache/CachedResourceRequest.h:
  71308. 2011-06-08 Mike Reed <reed@google.com>
  71309. Reviewed by James Robinson.
  71310. [Skia] check for null-shader from gradient factory
  71311. https://bugs.webkit.org/show_bug.cgi?id=62319
  71312. * platform/graphics/skia/GradientSkia.cpp:
  71313. (WebCore::Gradient::platformDestroy):
  71314. (WebCore::Gradient::platformGradient):
  71315. 2011-06-08 Kenneth Russell <kbr@google.com>
  71316. Reviewed by Adam Barth.
  71317. Disallow use of cross-domain media (images, video) in WebGL
  71318. https://bugs.webkit.org/show_bug.cgi?id=62257
  71319. Updated WebGL implementation to track recent spec updates in this area.
  71320. Tests: http/tests/security/webgl-remote-read-remote-image-allowed-with-credentials.html
  71321. http/tests/security/webgl-remote-read-remote-image-allowed.html
  71322. http/tests/security/webgl-remote-read-remote-image-blocked-no-crossorigin.html
  71323. * html/canvas/CanvasRenderingContext.cpp:
  71324. (WebCore::CanvasRenderingContext::wouldTaintOrigin):
  71325. (WebCore::CanvasRenderingContext::checkOrigin):
  71326. * html/canvas/CanvasRenderingContext.h:
  71327. (WebCore::CanvasRenderingContext::checkOrigin):
  71328. * html/canvas/WebGLRenderingContext.cpp:
  71329. (WebCore::WebGLRenderingContext::readPixels):
  71330. (WebCore::WebGLRenderingContext::texImage2D):
  71331. (WebCore::WebGLRenderingContext::videoFrameToImage):
  71332. (WebCore::WebGLRenderingContext::texSubImage2D):
  71333. * html/canvas/WebGLRenderingContext.h:
  71334. 2011-06-08 John Bauman <jbauman@chromium.org>
  71335. Reviewed by James Robinson.
  71336. Only draw portions of tiles in contentRect
  71337. https://bugs.webkit.org/show_bug.cgi?id=62243
  71338. Old garbage data can remain in tiles, so make sure to draw only those
  71339. portions that are supposed to be drawn.
  71340. Test: compositing/repaint/shrink-layer.html
  71341. * platform/graphics/chromium/LayerTilerChromium.cpp:
  71342. (WebCore::LayerTilerChromium::draw):
  71343. 2011-06-08 Emil A Eklund <eae@chromium.org>
  71344. Reviewed by Eric Seidel.
  71345. Convert RenderBlock::isPointInOverflowControl to IntPoint
  71346. https://bugs.webkit.org/show_bug.cgi?id=62312
  71347. Covered by existing tests.
  71348. * rendering/RenderBlock.cpp:
  71349. (WebCore::RenderBlock::isPointInOverflowControl):
  71350. (WebCore::RenderBlock::nodeAtPoint):
  71351. * rendering/RenderBlock.h:
  71352. * rendering/RenderListBox.cpp:
  71353. (WebCore::RenderListBox::isPointInOverflowControl):
  71354. * rendering/RenderListBox.h:
  71355. 2011-06-08 James Simonsen <simonjam@chromium.org>
  71356. Reviewed by Tony Gentilcore.
  71357. Fix clang issue, virtual function const mismatch
  71358. https://bugs.webkit.org/show_bug.cgi?id=62307
  71359. No new tests. Built with clang & ran layout tests.
  71360. * page/MediaStreamFrameController.h:
  71361. (WebCore::MediaStreamFrameController::GenericClient::isGenericClient):
  71362. 2011-06-08 Chris Rogers <crogers@google.com>
  71363. Reviewed by Kenneth Russell.
  71364. Implement BiquadFilterNode for filter types: LOWPASS, HIGHPASS, BANDPASS, LOWSHELF, HIGHSHELF, PEAKING, NOTCH, ALLPASS
  71365. https://bugs.webkit.org/show_bug.cgi?id=62078
  71366. No new tests since audio API is not yet implemented.
  71367. * DerivedSources.make:
  71368. * WebCore.gypi:
  71369. * WebCore.xcodeproj/project.pbxproj:
  71370. * platform/audio/Biquad.cpp:
  71371. (WebCore::Biquad::Biquad):
  71372. (WebCore::Biquad::reset):
  71373. (WebCore::Biquad::setLowpassParams):
  71374. (WebCore::Biquad::setHighpassParams):
  71375. (WebCore::Biquad::setNormalizedCoefficients):
  71376. (WebCore::Biquad::setLowShelfParams):
  71377. (WebCore::Biquad::setHighShelfParams):
  71378. (WebCore::Biquad::setPeakingParams):
  71379. (WebCore::Biquad::setAllpassParams):
  71380. (WebCore::Biquad::setNotchParams):
  71381. (WebCore::Biquad::setBandpassParams):
  71382. (WebCore::Biquad::setZeroPolePairs):
  71383. (WebCore::Biquad::setAllpassPole):
  71384. * platform/audio/Biquad.h:
  71385. * webaudio/AudioContext.cpp:
  71386. (WebCore::AudioContext::createBiquadFilter):
  71387. (WebCore::AudioContext::createLowPass2Filter):
  71388. (WebCore::AudioContext::createHighPass2Filter):
  71389. * webaudio/AudioContext.h:
  71390. * webaudio/AudioContext.idl:
  71391. * webaudio/AudioNode.h:
  71392. * webaudio/BiquadDSPKernel.cpp:
  71393. (WebCore::BiquadDSPKernel::process):
  71394. * webaudio/BiquadFilterNode.cpp: Added.
  71395. (WebCore::BiquadFilterNode::BiquadFilterNode):
  71396. * webaudio/BiquadFilterNode.h: Added.
  71397. (WebCore::BiquadFilterNode::create):
  71398. (WebCore::BiquadFilterNode::type):
  71399. (WebCore::BiquadFilterNode::setType):
  71400. (WebCore::BiquadFilterNode::frequency):
  71401. (WebCore::BiquadFilterNode::q):
  71402. (WebCore::BiquadFilterNode::gain):
  71403. (WebCore::BiquadFilterNode::biquadProcessor):
  71404. * webaudio/BiquadFilterNode.idl: Added.
  71405. * webaudio/BiquadProcessor.cpp:
  71406. (WebCore::BiquadProcessor::BiquadProcessor):
  71407. * webaudio/BiquadProcessor.h:
  71408. (WebCore::BiquadProcessor::setType):
  71409. * webaudio/HighPass2FilterNode.cpp:
  71410. (WebCore::HighPass2FilterNode::HighPass2FilterNode):
  71411. * webaudio/LowPass2FilterNode.cpp:
  71412. (WebCore::LowPass2FilterNode::LowPass2FilterNode):
  71413. 2011-06-08 No'am Rosenthal <noam.rosenthal@nokia.com>
  71414. Reviewed by Kenneth Rohde Christiansen.
  71415. WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
  71416. https://bugs.webkit.org/show_bug.cgi?id=61694
  71417. No new tests, code path is not activated yet.
  71418. * WebCore.xcodeproj/project.pbxproj: Changed the TransformOperation subclassed from "project" to "private"
  71419. 2011-06-08 Tom Sepez <tsepez@chromium.org>
  71420. Reviewed by Adam Barth.
  71421. Cause checks for insecure content blocking policy to callback to client.
  71422. https://bugs.webkit.org/show_bug.cgi?id=61946
  71423. Tests: platform/chromium/http/tests/security/mixedContent/insecure-image-in-main-frame-allowed.html
  71424. platform/chromium/http/tests/security/mixedContent/insecure-image-in-main-frame-blocked.html
  71425. platform/chromium/http/tests/security/mixedContent/insecure-script-in-main-frame-allowed.html
  71426. platform/chromium/http/tests/security/mixedContent/insecure-script-in-main-frame-blocked.html
  71427. * loader/FrameLoader.cpp:
  71428. (WebCore::FrameLoader::checkIfDisplayInsecureContent):
  71429. (WebCore::FrameLoader::checkIfRunInsecureContent):
  71430. * loader/FrameLoaderClient.h:
  71431. (WebCore::FrameLoaderClient::allowDisplayingInsecureContent):
  71432. (WebCore::FrameLoaderClient::allowRunningInsecureContent):
  71433. 2011-06-08 Kevin Ollivier <kevino@theolliviers.com>
  71434. [wx] Build fix after introduction of FontCache::ShouldRetain
  71435. * platform/graphics/wx/FontCacheWx.cpp:
  71436. (WebCore::FontCache::getFontDataForCharacters):
  71437. 2011-06-08 Sheriff Bot <webkit.review.bot@gmail.com>
  71438. Unreviewed, rolling out r88365.
  71439. http://trac.webkit.org/changeset/88365
  71440. https://bugs.webkit.org/show_bug.cgi?id=62301
  71441. windows bots broken (Requested by loislo_ on #webkit).
  71442. * inspector/InspectorValues.cpp:
  71443. (WebCore::InspectorBasicValue::writeJSON):
  71444. 2011-06-08 Mikołaj Małecki <m.malecki@samsung.com>
  71445. Reviewed by Pavel Feldman.
  71446. Web Inspector: Crash by buffer overrun crash when serializing inspector object tree.
  71447. https://bugs.webkit.org/show_bug.cgi?id=52791
  71448. No new tests. The problem can be reproduced by trying to create InspectorValue
  71449. from 1.0e-100 and call ->toJSONString() on this.
  71450. * inspector/InspectorValues.cpp:
  71451. (WebCore::InspectorBasicValue::writeJSON):
  71452. Added checking the predicted buffer size and choosing exponential format, or
  71453. eventually "NaN" if the buffer is too small for decimal format.
  71454. 2011-06-08 Nico Weber <thakis@chromium.org>
  71455. Reviewed by Darin Adler.
  71456. Fix a ?: precedence error in ScrollbarThemeMac and ScrollbarThemeChromium
  71457. https://bugs.webkit.org/show_bug.cgi?id=62295
  71458. This was found by a new warning recently added to clang's -Wparentheses
  71459. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  71460. (WebCore::ScrollbarThemeChromiumMac::backButtonRect):
  71461. * platform/mac/ScrollbarThemeMac.mm:
  71462. (WebCore::ScrollbarThemeMac::backButtonRect):
  71463. 2011-06-08 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
  71464. Reviewed by Andreas Kling.
  71465. [Qt] Remove dead code from our JSC bridge
  71466. https://bugs.webkit.org/show_bug.cgi?id=62287
  71467. The m_defaultMethod member is not used since r36848 and QtMethod
  71468. was replaced by QtRuntimeMethod and subclasses in r29729.
  71469. * bridge/qt/qt_instance.cpp:
  71470. (JSC::Bindings::QtInstance::removeCachedMethod):
  71471. (JSC::Bindings::QtInstance::visitAggregate):
  71472. * bridge/qt/qt_instance.h:
  71473. * bridge/qt/qt_runtime.h:
  71474. 2011-06-08 Ryan Sleevi <rsleevi@chromium.org>
  71475. Reviewed by Tony Chang.
  71476. Suppress C++0x compat warnings when compiling Chromium port with GCC 4.6
  71477. Compiling Chromium port under GCC 4.6 produces warnings about nullptr
  71478. https://bugs.webkit.org/show_bug.cgi?id=62242
  71479. * WebCore.gyp/WebCore.gyp:
  71480. 2011-05-25 Xiaomei Ji <xji@chromium.org>
  71481. Reviewed by Ryosuke Niwa.
  71482. --webkit-visual-word does not work well in words separated by multiple spaces
  71483. https://bugs.webkit.org/show_bug.cgi?id=61324
  71484. Remove positionBeforeNextWord and positionAfterPreviousWord short-cuts. They try to find the
  71485. right word boundary (before the space or after the space) by using previousWordPosition and
  71486. nextWordPosition. But they assume words are separated by single space and are not correct
  71487. for words separated by multiple spaces and words not separated by space.
  71488. Consider positionBeforeNextWord() for example,
  71489. First, it checks whether the current position is after the current word by checking current
  71490. position's previousWordPosition's nextWordPosition is the same as current position, which is
  71491. wrong for words separated by multiple spaces. For example, given words A and B separated by
  71492. 3 continuous spaces "A B", position "A|", "A |", and "A |" should all be considered as
  71493. position after current word. But for position "A |", its previousWordPosition's
  71494. nextWordPosition is position "A|", which is different from its current position, so the
  71495. current position is not considered as a position after current word, consequently,
  71496. instead of returning the right position as "A |B", positionBeforeNextWord returns the
  71497. position before next next word, as "A B |C". Similar happens for position "A |".
  71498. Second, given 3 Chinese words "ABC" that are not segmented by space, when cursor is at
  71499. "A|BC", positionBeforeNextWord() returns the same position after calling current position's
  71500. nextWordPosition's previousWordPosition. It should returns position "AB|C".
  71501. For those cases, we will have to collect all the word breaks inside the box and look for
  71502. the one at left or right of current position.
  71503. * editing/visible_units.cpp:
  71504. (WebCore::leftWordPosition):
  71505. (WebCore::rightWordPosition):
  71506. 2011-06-08 Greg Simon <gregsimon@chromium.org>
  71507. Reviewed by Dimitri Glazkov.
  71508. Control Indexeddb backends from LayoutTestController
  71509. https://bugs.webkit.org/show_bug.cgi?id=61000
  71510. Test: storage/indexeddb/migrate-basics.html
  71511. * storage/IDBBackingStore.h:
  71512. * storage/IDBFactoryBackendImpl.cpp:
  71513. (WebCore::IDBFactoryBackendImpl::open):
  71514. (WebCore::IDBFactoryBackendImpl::migrate):
  71515. * storage/IDBFactoryBackendImpl.h:
  71516. * storage/IDBFactoryBackendInterface.h:
  71517. * storage/IDBLevelDBBackingStore.cpp:
  71518. (WebCore::IDBLevelDBBackingStore::backingStoreExists):
  71519. * storage/IDBLevelDBBackingStore.h:
  71520. (WebCore::IDBLevelDBBackingStore::backingStoreType):
  71521. * storage/IDBSQLiteBackingStore.cpp:
  71522. (WebCore::IDBSQLiteBackingStore::backingStoreExists):
  71523. * storage/IDBSQLiteBackingStore.h:
  71524. (WebCore::IDBSQLiteBackingStore::backingStoreType):
  71525. 2011-06-08 Dmitry Lomov <dslomov@google.com>
  71526. Reviewed by Adam Barth.
  71527. https://bugs.webkit.org/show_bug.cgi?id=62164
  71528. Remove "multi-threaded" logic in V8 DOMData, DOMDataStore and friends
  71529. This functionality is untested and unused:
  71530. This is an old code from Lockers-based implementation of WebWorkers in
  71531. V8 bindings, to make sure that DOM objects are released on the right thread
  71532. even though GC could have happened on any thread. It is currently unused (since
  71533. current model is one worker per process) and is being removed because new implementation
  71534. of WebWorkers will be using V8 isolates.
  71535. * WebCore.gypi:
  71536. * WebCore.pro:
  71537. * bindings/v8/ChildThreadDOMData.cpp: Removed.
  71538. * bindings/v8/ChildThreadDOMData.h: Removed.
  71539. * bindings/v8/DOMData.cpp:
  71540. (WebCore::DOMData::DOMData):
  71541. (WebCore::DOMData::getCurrent):
  71542. (WebCore::DOMData::getMainThreadStore):
  71543. * bindings/v8/DOMData.h:
  71544. (WebCore::DOMData::getStore):
  71545. (WebCore::DOMData::getCurrentMainThreadStore):
  71546. (WebCore::DOMData::handleWeakObject):
  71547. * bindings/v8/DOMDataStore.cpp:
  71548. (WebCore::DOMDataStore::DOMDataStore):
  71549. (WebCore::DOMDataStore::~DOMDataStore):
  71550. (WebCore::DOMDataStore::weakNodeCallback):
  71551. * bindings/v8/DOMDataStore.h:
  71552. * bindings/v8/MainThreadDOMData.cpp: Removed.
  71553. * bindings/v8/MainThreadDOMData.h: Removed.
  71554. * bindings/v8/V8DOMMap.cpp:
  71555. (WebCore::getDOMDataStore):
  71556. (WebCore::removeAllDOMObjects):
  71557. (WebCore::visitDOMNodes):
  71558. (WebCore::visitDOMObjects):
  71559. (WebCore::visitActiveDOMObjects):
  71560. (WebCore::visitDOMSVGElementInstances):
  71561. * bindings/v8/V8DOMMap.h:
  71562. * bindings/v8/V8GCController.cpp:
  71563. (WebCore::V8GCController::gcPrologue):
  71564. (WebCore::V8GCController::gcEpilogue):
  71565. * bindings/v8/WorkerScriptController.cpp:
  71566. (WebCore::WorkerScriptController::~WorkerScriptController):
  71567. 2011-06-08 Yael Aharon <yael.aharon@nokia.com>
  71568. Reviewed by Andreas Kling.
  71569. [Qt] Build fix for building QtWebKit inside of Qt.
  71570. https://bugs.webkit.org/show_bug.cgi?id=62280
  71571. Remove CONFIG=staticlib, because it causes the configure script to add -lwebcore
  71572. into QtWebKit.prl.
  71573. No new tests, as this is just a build fix.
  71574. * WebCore.pri:
  71575. 2011-06-08 Vsevolod Vlasov <vsevik@chromium.org>
  71576. Reviewed by Pavel Feldman.
  71577. Web Inspector: Render non-document HTML resources as HTML
  71578. https://bugs.webkit.org/show_bug.cgi?id=58886
  71579. * English.lproj/localizedStrings.js:
  71580. * WebCore.gypi:
  71581. * WebCore.vcproj/WebCore.vcproj:
  71582. * inspector/front-end/NetworkItemView.js:
  71583. (WebInspector.NetworkItemView):
  71584. * inspector/front-end/Resource.js:
  71585. (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
  71586. (WebInspector.Resource.prototype.hasErrorStatusCode):
  71587. * inspector/front-end/ResourceHTMLView.js: Added.
  71588. (WebInspector.ResourceHTMLView):
  71589. (WebInspector.ResourceHTMLView.prototype.hasContent):
  71590. (WebInspector.ResourceHTMLView.prototype.show):
  71591. (WebInspector.ResourceHTMLView.prototype.hide):
  71592. (WebInspector.ResourceHTMLView.prototype._createIFrame):
  71593. * inspector/front-end/ResourcePreviewView.js: Added.
  71594. (WebInspector.ResourcePreviewView):
  71595. (WebInspector.ResourcePreviewView.prototype.hasContent):
  71596. (WebInspector.ResourcePreviewView.prototype.show):
  71597. (WebInspector.ResourcePreviewView.prototype._ensureInnerViewShown.callback):
  71598. (WebInspector.ResourcePreviewView.prototype._ensureInnerViewShown):
  71599. (WebInspector.ResourcePreviewView.prototype._createInnerView):
  71600. * inspector/front-end/Settings.js:
  71601. (WebInspector.Settings):
  71602. * inspector/front-end/WebKit.qrc:
  71603. * inspector/front-end/inspector.css:
  71604. (.resource-view.html iframe):
  71605. * inspector/front-end/inspector.html:
  71606. 2011-05-18 Pavel Podivilov <podivilov@chromium.org>
  71607. Reviewed by Yury Semikhatsky.
  71608. Web Inspector: hide script location to ui location conversion details from ScriptsPanel.
  71609. https://bugs.webkit.org/show_bug.cgi?id=61035
  71610. * inspector/front-end/DebuggerPresentationModel.js:
  71611. (WebInspector.DebuggerPresentationModel.prototype.sourceFileForScriptURL):
  71612. (WebInspector.DebuggerPresentationModel.prototype.scriptLocationToUILocation.didRequestSourceMapping):
  71613. (WebInspector.DebuggerPresentationModel.prototype.scriptLocationToUILocation):
  71614. * inspector/front-end/ScriptsPanel.js:
  71615. (WebInspector.ScriptsPanel.prototype.showAnchorLocation.didGetUILocation):
  71616. (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
  71617. 2011-06-08 Tommy Widenflycht <tommyw@google.com>
  71618. Reviewed by Tony Gentilcore.
  71619. StreamEvent
  71620. Media Stream PeerConnection API: adding StreamEvent class
  71621. https://bugs.webkit.org/show_bug.cgi?id=61537
  71622. Tests for the Media Stream API will be provided by the bug 56587.
  71623. * CMakeLists.txt:
  71624. * CodeGenerators.pri:
  71625. * DerivedSources.cpp:
  71626. * DerivedSources.make:
  71627. * GNUmakefile.list.am:
  71628. * WebCore.gypi:
  71629. * WebCore.pro:
  71630. * WebCore.vcproj/WebCore.vcproj:
  71631. * WebCore.xcodeproj/project.pbxproj:
  71632. * bindings/js/JSEventCustom.cpp:
  71633. (WebCore::toJS):
  71634. * bindings/v8/custom/V8EventCustom.cpp:
  71635. (WebCore::toV8):
  71636. * dom/DOMAllInOne.cpp:
  71637. * dom/Event.cpp:
  71638. (WebCore::Event::isStreamEvent):
  71639. * dom/Event.h:
  71640. * dom/StreamEvent.cpp: Added.
  71641. (WebCore::StreamEvent::create):
  71642. (WebCore::StreamEvent::StreamEvent):
  71643. (WebCore::StreamEvent::~StreamEvent):
  71644. (WebCore::StreamEvent::initStreamEvent):
  71645. (WebCore::StreamEvent::stream):
  71646. * dom/StreamEvent.h: Added.
  71647. (WebCore::StreamEvent::isStreamEvent):
  71648. * dom/StreamEvent.idl: Added.
  71649. 2011-06-08 Tommy Widenflycht <tommyw@google.com>
  71650. Reviewed by Tony Gentilcore.
  71651. Media Stream API: integrate the Track List objects into the existing code.
  71652. https://bugs.webkit.org/show_bug.cgi?id=60205
  71653. Tests for the Media Stream API will be provided by the bug 56587.
  71654. * dom/ExclusiveTrackList.cpp:
  71655. (WebCore::ExclusiveTrackList::select):
  71656. (WebCore::ExclusiveTrackList::trackFailed):
  71657. * dom/ExclusiveTrackList.h:
  71658. * dom/GeneratedStream.cpp:
  71659. (WebCore::GeneratedStream::create):
  71660. (WebCore::GeneratedStream::GeneratedStream):
  71661. (WebCore::GeneratedStream::streamEnded):
  71662. (WebCore::GeneratedStream::audioTracks):
  71663. (WebCore::GeneratedStream::videoTracks):
  71664. (WebCore::GeneratedStream::stop):
  71665. * dom/GeneratedStream.h:
  71666. * dom/GeneratedStream.idl:
  71667. * dom/MultipleTrackList.cpp:
  71668. (WebCore::MultipleTrackList::trackFailed):
  71669. (WebCore::MultipleTrackList::enable):
  71670. (WebCore::MultipleTrackList::disable):
  71671. * dom/MultipleTrackList.h:
  71672. * dom/Stream.h:
  71673. * dom/TrackList.cpp:
  71674. (WebCore::TrackList::clear):
  71675. (WebCore::TrackList::associateStream):
  71676. (WebCore::TrackList::associatedStreamLabel):
  71677. (WebCore::TrackList::trackFailed):
  71678. (WebCore::TrackList::scriptExecutionContext):
  71679. * dom/TrackList.h:
  71680. * page/MediaStreamClient.h:
  71681. * page/MediaStreamController.cpp:
  71682. (WebCore::MediaStreamController::enableAudioTrack):
  71683. (WebCore::MediaStreamController::disableAudioTrack):
  71684. (WebCore::MediaStreamController::selectVideoTrack):
  71685. (WebCore::MediaStreamController::streamGenerated):
  71686. (WebCore::MediaStreamController::audioTrackFailed):
  71687. (WebCore::MediaStreamController::videoTrackFailed):
  71688. * page/MediaStreamController.h:
  71689. * page/MediaStreamFrameController.cpp:
  71690. (WebCore::MediaStreamFrameController::unregister):
  71691. (WebCore::MediaStreamFrameController::enterDetachedState):
  71692. (WebCore::MediaStreamFrameController::disconnectFrame):
  71693. (WebCore::MediaStreamFrameController::enableAudioTrack):
  71694. (WebCore::MediaStreamFrameController::disableAudioTrack):
  71695. (WebCore::MediaStreamFrameController::selectVideoTrack):
  71696. (WebCore::MediaStreamFrameController::streamGenerated):
  71697. (WebCore::MediaStreamFrameController::audioTrackFailed):
  71698. (WebCore::MediaStreamFrameController::videoTrackFailed):
  71699. * page/MediaStreamFrameController.h:
  71700. (WebCore::MediaStreamFrameController::ClientBase::isGenericClient):
  71701. (WebCore::MediaStreamFrameController::GenericClient::GenericClient):
  71702. (WebCore::MediaStreamFrameController::GenericClient::~GenericClient):
  71703. (WebCore::MediaStreamFrameController::GenericClient::isGenericClient):
  71704. (WebCore::MediaStreamFrameController::GenericClient::unregister):
  71705. 2011-06-08 Pavel Podivilov <podivilov@chromium.org>
  71706. Reviewed by Yury Semikhatsky.
  71707. Web Inspector: [REGRESSION] breakpoints are not persisted.
  71708. https://bugs.webkit.org/show_bug.cgi?id=62273
  71709. * inspector/front-end/Settings.js:
  71710. 2011-06-08 Alexander Pavlov <apavlov@chromium.org>
  71711. Reviewed by Yury Semikhatsky.
  71712. Web Inspector: node selection is slow in the Elements panel.
  71713. https://bugs.webkit.org/show_bug.cgi?id=60813
  71714. Schedule full style updates rather than request all node styles from the backend immediately.
  71715. * inspector/front-end/StylesSidebarPane.js:
  71716. (WebInspector.StylesSidebarPane.prototype.update.reloadAllStyles):
  71717. (WebInspector.StylesSidebarPane.prototype.update):
  71718. 2011-06-08 Andreas Kling <andreas.kling@nokia.com>
  71719. Reviewed by Laszlo Gombos.
  71720. [Symbian] Float{32,64}Array and Int16Array fail to build.
  71721. https://bugs.webkit.org/show_bug.cgi?id=62219
  71722. For some reason, RVCT 2.x is moaning about "class member designated by
  71723. a using-declaration must be visible in a direct base class".
  71724. Apply same fix as r69122 and r76592.
  71725. * html/canvas/Float32Array.h:
  71726. (WebCore::Float32Array::set):
  71727. * html/canvas/Float64Array.h:
  71728. (WebCore::Float64Array::set):
  71729. * html/canvas/Int16Array.h:
  71730. (WebCore::Int16Array::set):
  71731. 2011-06-08 Syed Idris Shah <syed.idris-shah@nokia.com>
  71732. Reviewed by Andreas Kling.
  71733. [Qt] GL_POINT_SPRITE and GL_VERTEX_PROGRAM_POINT_SIZE should be enabled for desktop WebGL
  71734. https://bugs.webkit.org/show_bug.cgi?id=61945
  71735. For OpenGL ES we do not need these features.
  71736. These features are available via shaders in OpenGL ES. But for desktop WebGL using QtWebKit they should be enabled.
  71737. LayoutTests/fast/canvas/webgl/point-size.html
  71738. * platform/graphics/qt/GraphicsContext3DQt.cpp:
  71739. (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
  71740. 2011-06-08 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  71741. Unreviewed. Fix style error.
  71742. * platform/efl/RenderThemeEfl.cpp:
  71743. * platform/efl/RenderThemeEfl.h:
  71744. 2011-06-08 Hironori Bono <hbono@chromium.org>
  71745. Reviewed by Brent Fulgham.
  71746. Add SpellCheck API
  71747. https://bugs.webkit.org/show_bug.cgi?id=59693
  71748. This change adds two SpellCheck API functions (addSpellcheckRange and
  71749. removeSpellcheckRange) and one attribute (spellcheckRange) discussed in
  71750. the public-webapps ML. This change is currently available only on Chromium.
  71751. Tests: editing/spelling/spellcheck-api-pixel.html
  71752. editing/spelling/spellcheck-api.html
  71753. * WebCore.gypi:
  71754. * bindings/generic/RuntimeEnabledFeatures.cpp:
  71755. * bindings/generic/RuntimeEnabledFeatures.h:
  71756. (WebCore::RuntimeEnabledFeatures::spellCheckAPIEnabled):
  71757. (WebCore::RuntimeEnabledFeatures::setSpellCheckAPIEnabled):
  71758. * dom/DocumentMarker.h:
  71759. (WebCore::DocumentMarker::length):
  71760. * dom/DocumentMarkerController.cpp:
  71761. (WebCore::DocumentMarkerController::userSpellingMarkersForNode):
  71762. (WebCore::DocumentMarkerController::addUserSpellingMarker):
  71763. (WebCore::DocumentMarkerController::removeUserSpellingMarker):
  71764. (WebCore::DocumentMarkerController::userSpellingNode):
  71765. * dom/DocumentMarkerController.h:
  71766. * html/HTMLDivElement.cpp:
  71767. (WebCore::HTMLDivElement::spellcheckRanges):
  71768. (WebCore::HTMLDivElement::addSpellcheckRange):
  71769. (WebCore::HTMLDivElement::removeSpellcheckRange):
  71770. * html/HTMLDivElement.h:
  71771. * html/HTMLDivElement.idl:
  71772. * html/HTMLInputElement.cpp:
  71773. (WebCore::HTMLInputElement::spellcheckRanges):
  71774. (WebCore::HTMLInputElement::addSpellcheckRange):
  71775. (WebCore::HTMLInputElement::removeSpellcheckRange):
  71776. * html/HTMLInputElement.h:
  71777. * html/HTMLInputElement.idl:
  71778. * html/HTMLTextAreaElement.cpp:
  71779. (WebCore::HTMLTextAreaElement::spellcheckRanges):
  71780. (WebCore::HTMLTextAreaElement::addSpellcheckRange):
  71781. (WebCore::HTMLTextAreaElement::removeSpellcheckRange):
  71782. * html/HTMLTextAreaElement.h:
  71783. * html/HTMLTextAreaElement.idl:
  71784. * html/SpellcheckRange.cpp: Added.
  71785. (WebCore::SpellcheckRange::SpellcheckRange):
  71786. (WebCore::SpellcheckRange::~SpellcheckRange):
  71787. * html/SpellcheckRange.h: Added.
  71788. (WebCore::SpellcheckRange::create):
  71789. (WebCore::SpellcheckRange::start):
  71790. (WebCore::SpellcheckRange::length):
  71791. (WebCore::SpellcheckRange::suggestions):
  71792. (WebCore::SpellcheckRange::options):
  71793. * html/SpellcheckRange.idl: Added.
  71794. * html/SpellcheckRangeList.cpp: Added.
  71795. (WebCore::SpellcheckRangeList::SpellcheckRangeList):
  71796. (WebCore::SpellcheckRangeList::~SpellcheckRangeList):
  71797. (WebCore::SpellcheckRangeList::item):
  71798. * html/SpellcheckRangeList.h: Added.
  71799. (WebCore::SpellcheckRangeList::create):
  71800. (WebCore::SpellcheckRangeList::isEmpty):
  71801. (WebCore::SpellcheckRangeList::clear):
  71802. (WebCore::SpellcheckRangeList::append):
  71803. (WebCore::SpellcheckRangeList::remove):
  71804. (WebCore::SpellcheckRangeList::length):
  71805. * html/SpellcheckRangeList.idl: Added.
  71806. * rendering/InlineTextBox.cpp:
  71807. (WebCore::textCheckingLineStyleForMarkerType):
  71808. (WebCore::InlineTextBox::paintDocumentMarkers):
  71809. 2011-06-07 Andrey Kosyakov <caseq@chromium.org>
  71810. Reviewed by Pavel Feldman.
  71811. Web Inspector: remove shadow dom inspection from Elements panel by default.
  71812. https://bugs.webkit.org/show_bug.cgi?id=62188
  71813. This reverts r85751
  71814. * dom/Element.cpp:
  71815. (WebCore::Element::ensureShadowRoot):
  71816. (WebCore::Element::removeShadowRoot):
  71817. * inspector/Inspector.json:
  71818. * inspector/InspectorDOMAgent.cpp:
  71819. (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
  71820. (WebCore::InspectorDOMAgent::buildObjectForNode):
  71821. (WebCore::InspectorDOMAgent::didInsertDOMNode):
  71822. (WebCore::InspectorDOMAgent::didRemoveDOMNode):
  71823. * inspector/InspectorDOMAgent.h:
  71824. * inspector/front-end/DOMAgent.js:
  71825. (WebInspector.DOMNode):
  71826. (WebInspector.DOMNode.prototype._renumber):
  71827. (WebInspector.DOMAgent.prototype._bindNodes):
  71828. (WebInspector.DOMAgent.prototype.querySelectorAll):
  71829. (WebInspector.DOMDispatcher.prototype.searchResults):
  71830. * inspector/front-end/ElementsPanel.js:
  71831. (WebInspector.ElementsPanel):
  71832. (WebInspector.ElementsPanel.prototype._attributesUpdated):
  71833. (WebInspector.ElementsPanel.prototype._characterDataModified):
  71834. (WebInspector.ElementsPanel.prototype._nodeInserted):
  71835. (WebInspector.ElementsPanel.prototype._nodeRemoved):
  71836. (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
  71837. (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
  71838. * inspector/front-end/ElementsTreeOutline.js:
  71839. (WebInspector.ElementsTreeElement):
  71840. (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
  71841. (WebInspector.ElementsTreeElement.prototype._updateChildren):
  71842. ():
  71843. * inspector/front-end/inspector.css:
  71844. * inspector/front-end/utilities.js:
  71845. (Element.prototype.query):
  71846. 2011-06-08 Mark Rowe <mrowe@apple.com>
  71847. Fix the build.
  71848. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
  71849. (WebCore::MediaPlayerPrivateAVFoundation::timeChanged):
  71850. (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
  71851. 2011-06-07 Keishi Hattori <keishi@webkit.org>
  71852. Reviewed by Kent Tamura.
  71853. Rename HTMLInputElement::m_value to m_valueIfDirty
  71854. https://bugs.webkit.org/show_bug.cgi?id=61990
  71855. No new tests because no behavior change.
  71856. * html/HTMLInputElement.cpp: Replaced m_value with m_valueIfDirty.
  71857. (WebCore::HTMLInputElement::tooLong):
  71858. (WebCore::HTMLInputElement::updateType):
  71859. (WebCore::HTMLInputElement::parseMappedAttribute):
  71860. (WebCore::HTMLInputElement::copyNonAttributeProperties):
  71861. (WebCore::HTMLInputElement::value):
  71862. (WebCore::HTMLInputElement::setValue):
  71863. (WebCore::HTMLInputElement::setValueFromRenderer):
  71864. (WebCore::HTMLInputElement::updateValueIfNeeded):
  71865. * html/HTMLInputElement.h: Renamed m_value to m_valueIfDirty.
  71866. (WebCore::HTMLInputElement::hasDirtyValue): Added. Returns the dirty value flag.
  71867. 2011-06-07 Ian Henderson <ianh@apple.com>
  71868. Reviewed by Dan Bernstein.
  71869. (CG) Sub-image drawing clips unnecessarily
  71870. https://bugs.webkit.org/show_bug.cgi?id=62258
  71871. If destRect completely encompasses the adjustedDestRect into which we
  71872. draw, clipping to destRect will do nothing. Skip the call to
  71873. CGContextClipToRect in this case.
  71874. * platform/graphics/cg/ImageCG.cpp:
  71875. (WebCore::BitmapImage::draw):
  71876. 2011-06-07 Emil A Eklund <eae@chromium.org>
  71877. Reviewed by Eric Seidel.
  71878. Convert nodeAtPoint to IntPoint
  71879. https://bugs.webkit.org/show_bug.cgi?id=62145
  71880. Convert nodeAtPoint to take an IntPoint instead of a pair of ints for the
  71881. accumulated offset.
  71882. Covered by existing tests.
  71883. * platform/graphics/FloatPoint.h:
  71884. (WebCore::FloatPoint::moveBy):
  71885. Add moveBy(IntPoint) method
  71886. * rendering/EllipsisBox.cpp:
  71887. (WebCore::EllipsisBox::nodeAtPoint):
  71888. * rendering/EllipsisBox.h:
  71889. * rendering/InlineBox.cpp:
  71890. (WebCore::InlineBox::nodeAtPoint):
  71891. * rendering/InlineBox.h:
  71892. * rendering/InlineFlowBox.cpp:
  71893. (WebCore::InlineFlowBox::nodeAtPoint):
  71894. * rendering/InlineFlowBox.h:
  71895. * rendering/InlineTextBox.cpp:
  71896. (WebCore::InlineTextBox::nodeAtPoint):
  71897. * rendering/InlineTextBox.h:
  71898. * rendering/RenderBlock.cpp:
  71899. (WebCore::RenderBlock::nodeAtPoint):
  71900. (WebCore::RenderBlock::hitTestContents):
  71901. * rendering/RenderBlock.h:
  71902. * rendering/RenderBox.cpp:
  71903. (WebCore::RenderBox::nodeAtPoint):
  71904. * rendering/RenderBox.h:
  71905. * rendering/RenderFrameSet.cpp:
  71906. (WebCore::RenderFrameSet::nodeAtPoint):
  71907. * rendering/RenderFrameSet.h:
  71908. * rendering/RenderImage.cpp:
  71909. (WebCore::RenderImage::nodeAtPoint):
  71910. * rendering/RenderImage.h:
  71911. * rendering/RenderInline.cpp:
  71912. (WebCore::RenderInline::nodeAtPoint):
  71913. * rendering/RenderInline.h:
  71914. * rendering/RenderLineBoxList.cpp:
  71915. (WebCore::RenderLineBoxList::hitTest):
  71916. * rendering/RenderListBox.cpp:
  71917. (WebCore::RenderListBox::nodeAtPoint):
  71918. * rendering/RenderListBox.h:
  71919. * rendering/RenderObject.cpp:
  71920. (WebCore::RenderObject::hitTest):
  71921. * rendering/RenderObject.h:
  71922. * rendering/RenderTable.cpp:
  71923. (WebCore::RenderTable::nodeAtPoint):
  71924. * rendering/RenderTable.h:
  71925. * rendering/RenderTableRow.cpp:
  71926. (WebCore::RenderTableRow::nodeAtPoint):
  71927. * rendering/RenderTableRow.h:
  71928. * rendering/RenderTableSection.cpp:
  71929. (WebCore::RenderTableSection::nodeAtPoint):
  71930. * rendering/RenderTableSection.h:
  71931. * rendering/RenderText.h:
  71932. (WebCore::RenderText::nodeAtPoint):
  71933. * rendering/RenderTextControlMultiLine.cpp:
  71934. (WebCore::RenderTextControlMultiLine::nodeAtPoint):
  71935. * rendering/RenderTextControlMultiLine.h:
  71936. * rendering/RenderTextControlSingleLine.cpp:
  71937. (WebCore::RenderTextControlSingleLine::nodeAtPoint):
  71938. * rendering/RenderTextControlSingleLine.h:
  71939. * rendering/RenderWidget.cpp:
  71940. (WebCore::RenderWidget::nodeAtPoint):
  71941. * rendering/RenderWidget.h:
  71942. * rendering/RootInlineBox.cpp:
  71943. (WebCore::RootInlineBox::nodeAtPoint):
  71944. * rendering/RootInlineBox.h:
  71945. * rendering/svg/RenderSVGForeignObject.cpp:
  71946. (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
  71947. (WebCore::RenderSVGForeignObject::nodeAtPoint):
  71948. * rendering/svg/RenderSVGForeignObject.h:
  71949. * rendering/svg/RenderSVGModelObject.cpp:
  71950. (WebCore::RenderSVGModelObject::nodeAtPoint):
  71951. * rendering/svg/RenderSVGModelObject.h:
  71952. * rendering/svg/RenderSVGRoot.cpp:
  71953. (WebCore::RenderSVGRoot::nodeAtPoint):
  71954. * rendering/svg/RenderSVGRoot.h:
  71955. * rendering/svg/RenderSVGText.cpp:
  71956. (WebCore::RenderSVGText::nodeAtFloatPoint):
  71957. (WebCore::RenderSVGText::nodeAtPoint):
  71958. * rendering/svg/RenderSVGText.h:
  71959. 2011-06-07 Yi Shen <yi.4.shen@nokia.com>
  71960. Reviewed by Simon Hausmann.
  71961. [Qt] Fix the error code for media resource failures when using QtMobility
  71962. https://bugs.webkit.org/show_bug.cgi?id=55901
  71963. To indicate the media resource failures, set the network state to
  71964. MediaPlayer::FormatError when receives QMediaPlayer::InvalidMedia or
  71965. QMediaPlayer::ResourceError.
  71966. * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
  71967. (WebCore::MediaPlayerPrivateQt::updateStates):
  71968. 2011-06-07 Emil A Eklund <eae@chromium.org>
  71969. Reviewed by Eric Seidel.
  71970. Change RenderBlock::hitTestFloats to IntPoint
  71971. https://bugs.webkit.org/show_bug.cgi?id=62176
  71972. Covered by existing tests.
  71973. * rendering/RenderBlock.cpp:
  71974. (WebCore::RenderBlock::nodeAtPoint):
  71975. (WebCore::RenderBlock::hitTestFloats):
  71976. (WebCore::RenderBlock::hitTestColumns):
  71977. * rendering/RenderBlock.h:
  71978. 2011-06-07 Tim Horton <timothy_horton@apple.com>
  71979. Reviewed by Alexey Proskuryakov.
  71980. Use correct CFURLStorageSessionRef definition on Snow Leopard
  71981. https://bugs.webkit.org/show_bug.cgi?id=62223
  71982. * platform/mac/WebCoreSystemInterface.h:
  71983. * platform/network/ResourceHandle.h:
  71984. * platform/network/cf/ResourceRequest.h:
  71985. 2011-06-07 Emil A Eklund <eae@chromium.org>
  71986. Reviewed by Eric Seidel.
  71987. Change RenderBlock::hitTestColumns to IntPoint
  71988. https://bugs.webkit.org/show_bug.cgi?id=62172
  71989. Covered by existing tests.
  71990. * rendering/RenderBlock.cpp:
  71991. (WebCore::RenderBlock::nodeAtPoint):
  71992. (WebCore::RenderBlock::hitTestColumns):
  71993. * rendering/RenderBlock.h:
  71994. 2011-06-07 Simon Fraser <simon.fraser@apple.com>
  71995. Reviewed by Darin Adler.
  71996. Opacity transition doesn't work while content property is set.
  71997. https://bugs.webkit.org/show_bug.cgi?id=59301
  71998. StyleRareNonInheritedData's copy constructor omitted to copy
  71999. the m_content data, which caused us to detach and re-attach the renderer
  72000. at the start of the transition, thereby killing the transition.
  72001. Fix by making StyleRareNonInheritedData's copy ctor do the right thing.
  72002. Test: transitions/transition-on-element-with-content.html
  72003. * rendering/style/ContentData.h:
  72004. * rendering/style/ContentData.cpp:
  72005. (WebCore::ContentData::clone): New method to do a deep clone. (Can't use a copy
  72006. ctor because of the subclasses.)
  72007. * rendering/style/CounterDirectives.h: Pack the data members to save space.
  72008. Add a clone() function for the HashMap.
  72009. * rendering/style/CounterDirectives.cpp:
  72010. (WebCore::clone): Make a new HashMap and copy the contents over.
  72011. * rendering/style/StyleRareNonInheritedData.cpp:
  72012. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Copy
  72013. the content and counter directives over.
  72014. (WebCore::StyleRareNonInheritedData::operator==): Rather than just comparing
  72015. for pointer equality, do a correct check for m_counterDirectives equality.
  72016. (WebCore::StyleRareNonInheritedData::counterDataEquivalent):
  72017. * rendering/style/StyleRareNonInheritedData.h:
  72018. 2011-06-07 Robert Kroeger <rjkroege@chromium.org>
  72019. Reviewed by Adam Barth.
  72020. [chromium] Add a basic gesture recognizer to the Chromium platform
  72021. https://bugs.webkit.org/show_bug.cgi?id=54417
  72022. Adds a basic gesture recognizer to the Chromium platform. Adds an entry
  72023. point to the GestureRecognizer to reset any internal state on a page reset.
  72024. Resetting the gesture recognizer on page load is necesary for reliable
  72025. layout test execution and improves gesture recognizer operational
  72026. robustness.
  72027. Added an additional constructor to permit building a synthetic
  72028. PlatformWheelEvent.
  72029. Small modifications to the PlatformGestureRecognizer as required to
  72030. implement the simple Chromium platform gesture recognizer.
  72031. Tests: fast/events/touch/touch-gesture-click.html
  72032. * WebCore.gypi:
  72033. * page/EventHandler.cpp:
  72034. (WebCore::EventHandler::resetGestureRecognizer):
  72035. * page/EventHandler.h:
  72036. * page/FrameView.cpp:
  72037. (WebCore::FrameView::reset):
  72038. * platform/PlatformGestureRecognizer.h:
  72039. * platform/PlatformWheelEvent.h:
  72040. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  72041. * platform/chromium/GestureRecognizerChromium.cpp: Added.
  72042. (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
  72043. (WebCore::InnerGestureRecognizer::reset):
  72044. (WebCore::InnerGestureRecognizer::~InnerGestureRecognizer):
  72045. (WebCore::InnerGestureRecognizer::addEdgeFunction):
  72046. (WebCore::InnerGestureRecognizer::isInClickTimeWindow):
  72047. (WebCore::InnerGestureRecognizer::isInsideManhattanSquare):
  72048. (WebCore::InnerGestureRecognizer::dispatchSyntheticClick):
  72049. (WebCore::InnerGestureRecognizer::processTouchEventForGesture):
  72050. (WebCore::InnerGestureRecognizer::scrollViaTouchMotion):
  72051. (WebCore::InnerGestureRecognizer::updateValues):
  72052. (WebCore::InnerGestureRecognizer::signature):
  72053. (WebCore::touchDown):
  72054. (WebCore::noGesture):
  72055. (WebCore::click):
  72056. (WebCore::isClickOrScroll):
  72057. (WebCore::inScroll):
  72058. (WebCore::PlatformGestureRecognizer::create):
  72059. (WebCore::PlatformGestureRecognizer::PlatformGestureRecognizer):
  72060. (WebCore::PlatformGestureRecognizer::~PlatformGestureRecognizer):
  72061. (WebCore::GestureRecognizerChromium::GestureRecognizerChromium):
  72062. (WebCore::GestureRecognizerChromium::~GestureRecognizerChromium):
  72063. * platform/chromium/GestureRecognizerChromium.h: Added.
  72064. (WebCore::InnerGestureRecognizer::setState):
  72065. (WebCore::InnerGestureRecognizer::state):
  72066. (WebCore::GestureRecognizerChromium::reset):
  72067. (WebCore::GestureRecognizerChromium::processTouchEventForGesture):
  72068. 2011-06-07 No'am Rosenthal <noam.rosenthal@nokia.com>
  72069. Reviewed by Andreas Kling.
  72070. [Texmap][Qt] Enable TextureMapper by default
  72071. https://bugs.webkit.org/show_bug.cgi?id=61740
  72072. Enable TextureMapper on Windows+Symbian, disabling the direct OpenGL path. This would mean that
  72073. for now QtWebKit on Windows/Symbian would use the Qt backend for TextureMapper.
  72074. No new functionality so no new tests.
  72075. * WebCore.pri:
  72076. * WebCore.pro:
  72077. * platform/graphics/qt/GraphicsContext3DQt.cpp:
  72078. * platform/graphics/qt/TextureMapperQt.cpp:
  72079. (WebCore::TextureMapper::create):
  72080. 2011-06-07 Emil A Eklund <eae@chromium.org>
  72081. Reviewed by Eric Seidel.
  72082. Convert RenderBox::absoluteRects to IntPoint
  72083. https://bugs.webkit.org/show_bug.cgi?id=62130
  72084. Covered by existing tests.
  72085. * dom/Node.cpp:
  72086. (WebCore::Node::hasNonEmptyBoundingBox):
  72087. * rendering/InlineBox.h:
  72088. (WebCore::InlineBox::size):
  72089. * rendering/RenderBlock.cpp:
  72090. (WebCore::RenderBlock::absoluteRects):
  72091. * rendering/RenderBlock.h:
  72092. * rendering/RenderBox.cpp:
  72093. (WebCore::RenderBox::absoluteRects):
  72094. * rendering/RenderBox.h:
  72095. * rendering/RenderInline.cpp:
  72096. (WebCore::RenderInline::absoluteRects):
  72097. * rendering/RenderInline.h:
  72098. * rendering/RenderObject.cpp:
  72099. (WebCore::RenderObject::absoluteBoundingBoxRect):
  72100. * rendering/RenderObject.h:
  72101. (WebCore::RenderObject::absoluteRects):
  72102. * rendering/RenderText.cpp:
  72103. (WebCore::RenderText::absoluteRects):
  72104. * rendering/RenderText.h:
  72105. * rendering/RenderView.cpp:
  72106. (WebCore::RenderView::absoluteRects):
  72107. * rendering/RenderView.h:
  72108. * rendering/svg/RenderSVGBlock.cpp:
  72109. (WebCore::RenderSVGBlock::absoluteRects):
  72110. * rendering/svg/RenderSVGBlock.h:
  72111. * rendering/svg/RenderSVGModelObject.cpp:
  72112. (WebCore::RenderSVGModelObject::absoluteRects):
  72113. * rendering/svg/RenderSVGModelObject.h:
  72114. 2011-06-07 Kent Tamura <tkent@chromium.org>
  72115. Reviewed by Andreas Kling.
  72116. [Qt] RenderThemeQt::adjustSliderThumbSize() should not refer to the parent style.
  72117. https://bugs.webkit.org/show_bug.cgi?id=62207
  72118. * css/mediaControlsQt.css: Add comments.
  72119. (audio::-webkit-media-controls-timeline):
  72120. (video::-webkit-media-controls-timeline):
  72121. (audio::-webkit-media-controls-volume-slider):
  72122. (video::-webkit-media-controls-volume-slider):
  72123. * platform/qt/RenderThemeQt.cpp: Use fixed values to avoid referring to o->parent().
  72124. (WebCore::RenderThemeQt::adjustSliderThumbSize):
  72125. 2011-06-07 Sailesh Agrawal <sail@chromium.org>
  72126. Reviewed by Mihai Parparita.
  72127. Chromium Mac: Fork ScrollAnimatorMac to ScrollAnimatorChromiumMac for overlay scrollbar support
  72128. https://bugs.webkit.org/show_bug.cgi?id=59753
  72129. No new tests. Just forking ScrollAnimatorMac to ScrollAnimatorChromiumMac.
  72130. * WebCore.gyp/WebCore.gyp: Added IntPointMac.mm. This is used by some functions in ScrollAnimatorChromiumMac. Also added filters for conflicting class names in ScrollAnimatorChromiumMac.
  72131. * WebCore.gypi: Added ScrollAnimatorChromiumMac.h/mm.
  72132. * platform/ScrollAnimator.cpp: Extended the #ifdef around ScrollAnimator::create() so that the chromium version will be created.
  72133. * platform/chromium/ScrollAnimatorChromiumMac.h: Added.
  72134. (WebCore::ScrollAnimatorChromiumMac::setIsDrawingIntoLayer):
  72135. (WebCore::ScrollAnimatorChromiumMac::isDrawingIntoLayer):
  72136. (WebCore::ScrollAnimatorChromiumMac::haveScrolledSincePageLoad):
  72137. * platform/chromium/ScrollAnimatorChromiumMac.mm: Added. Forked from ScrollAnimatorMac and replaced all instances of ScrollAnimatorMac with ScrollAnimatorChromiumMac and ScrollbarThemeMac with ScrollbarThemeChromiumMac. Removed the ENABLE(SMOOTH_SCROLLING) around the file. Stubbed out ScrollAnimatorChromiumMac::scroll() if smooth scrolling is disabled.
  72138. (abs):
  72139. (-[ScrollAnimationHelperDelegate initWithScrollAnimator:WebCore::]):
  72140. (-[ScrollAnimationHelperDelegate scrollAnimatorDestroyed]):
  72141. (-[ScrollAnimationHelperDelegate bounds]):
  72142. (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
  72143. (-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]):
  72144. (-[ScrollAnimationHelperDelegate convertSizeToBase:]):
  72145. (-[ScrollAnimationHelperDelegate convertSizeFromBase:]):
  72146. (-[ScrollAnimationHelperDelegate convertSizeToBacking:]):
  72147. (-[ScrollAnimationHelperDelegate convertSizeFromBacking:]):
  72148. (-[ScrollAnimationHelperDelegate superview]):
  72149. (-[ScrollAnimationHelperDelegate documentView]):
  72150. (-[ScrollAnimationHelperDelegate window]):
  72151. (-[ScrollAnimationHelperDelegate _recursiveRecomputeToolTips]):
  72152. (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
  72153. (-[ScrollbarPainterControllerDelegate scrollAnimatorDestroyed]):
  72154. (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
  72155. (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
  72156. (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
  72157. (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
  72158. (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
  72159. (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
  72160. (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
  72161. (-[ScrollbarPartAnimation setCurrentProgress:]):
  72162. (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
  72163. (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
  72164. (-[ScrollbarPainterDelegate cancelAnimations]):
  72165. (-[ScrollbarPainterDelegate convertRectToBacking:]):
  72166. (-[ScrollbarPainterDelegate convertRectFromBacking:]):
  72167. (-[ScrollbarPainterDelegate layer]):
  72168. (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
  72169. (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
  72170. (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
  72171. (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
  72172. (-[ScrollbarPainterDelegate scrollAnimatorDestroyed]):
  72173. (WebCore::ScrollAnimator::create):
  72174. (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
  72175. (WebCore::ScrollAnimatorChromiumMac::~ScrollAnimatorChromiumMac):
  72176. (WebCore::ScrollAnimatorChromiumMac::scroll):
  72177. (WebCore::ScrollAnimatorChromiumMac::scrollToOffsetWithoutAnimation):
  72178. (WebCore::ScrollAnimatorChromiumMac::adjustScrollXPositionIfNecessary):
  72179. (WebCore::ScrollAnimatorChromiumMac::adjustScrollYPositionIfNecessary):
  72180. (WebCore::ScrollAnimatorChromiumMac::adjustScrollPositionIfNecessary):
  72181. (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPoint):
  72182. (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaX):
  72183. (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaY):
  72184. (WebCore::ScrollAnimatorChromiumMac::notityPositionChanged):
  72185. (WebCore::ScrollAnimatorChromiumMac::contentAreaWillPaint):
  72186. (WebCore::ScrollAnimatorChromiumMac::mouseEnteredContentArea):
  72187. (WebCore::ScrollAnimatorChromiumMac::mouseExitedContentArea):
  72188. (WebCore::ScrollAnimatorChromiumMac::mouseMovedInContentArea):
  72189. (WebCore::ScrollAnimatorChromiumMac::willStartLiveResize):
  72190. (WebCore::ScrollAnimatorChromiumMac::contentsResized):
  72191. (WebCore::ScrollAnimatorChromiumMac::willEndLiveResize):
  72192. (WebCore::ScrollAnimatorChromiumMac::contentAreaDidShow):
  72193. (WebCore::ScrollAnimatorChromiumMac::contentAreaDidHide):
  72194. (WebCore::ScrollAnimatorChromiumMac::didBeginScrollGesture):
  72195. (WebCore::ScrollAnimatorChromiumMac::didEndScrollGesture):
  72196. (WebCore::ScrollAnimatorChromiumMac::didAddVerticalScrollbar):
  72197. (WebCore::ScrollAnimatorChromiumMac::willRemoveVerticalScrollbar):
  72198. (WebCore::ScrollAnimatorChromiumMac::didAddHorizontalScrollbar):
  72199. (WebCore::ScrollAnimatorChromiumMac::willRemoveHorizontalScrollbar):
  72200. (WebCore::ScrollAnimatorChromiumMac::cancelAnimations):
  72201. (WebCore::elasticDeltaForTimeDelta):
  72202. (WebCore::elasticDeltaForReboundDelta):
  72203. (WebCore::reboundDeltaForElasticDelta):
  72204. (WebCore::scrollWheelMultiplier):
  72205. (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
  72206. (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
  72207. (WebCore::ScrollAnimatorChromiumMac::pinnedInDirection):
  72208. (WebCore::ScrollAnimatorChromiumMac::allowsVerticalStretching):
  72209. (WebCore::ScrollAnimatorChromiumMac::allowsHorizontalStretching):
  72210. (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
  72211. (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
  72212. (WebCore::ScrollAnimatorChromiumMac::endScrollGesture):
  72213. (WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
  72214. (WebCore::roundTowardZero):
  72215. (WebCore::roundToDevicePixelTowardZero):
  72216. (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
  72217. (WebCore::ScrollAnimatorChromiumMac::startScrollbarPaintTimer):
  72218. (WebCore::ScrollAnimatorChromiumMac::scrollbarPaintTimerIsActive):
  72219. (WebCore::ScrollAnimatorChromiumMac::stopScrollbarPaintTimer):
  72220. (WebCore::ScrollAnimatorChromiumMac::initialScrollbarPaintTimerFired):
  72221. (WebCore::ScrollAnimatorChromiumMac::setVisibleScrollerThumbRect):
  72222. * platform/graphics/IntPoint.h: Exposed NSPoint conversion routines to chromium mac.
  72223. 2011-06-07 Sam Weinig <sam@webkit.org>
  72224. Reviewed by Anders Carlsson.
  72225. Remove repeated IPC traffic from SetRenderTreeSize message
  72226. https://bugs.webkit.org/show_bug.cgi?id=62244
  72227. * WebCore.xcodeproj/project.pbxproj:
  72228. Make RenderArena.h private so it can be called from WebKit2.
  72229. * loader/FrameLoaderClient.h:
  72230. (WebCore::FrameLoaderClient::dispatchDidLayout):
  72231. Added.
  72232. * page/ChromeClient.h:
  72233. Remove setRenderTreeSize.
  72234. * page/FrameView.cpp:
  72235. (WebCore::FrameView::performPostLayoutTasks):
  72236. Call dispatchDidLayout for all frames instead of calling setRenderTreeSize
  72237. for the main frame.
  72238. 2011-06-07 Emil A Eklund <eae@chromium.org>
  72239. Reviewed by Eric Seidel.
  72240. Change RenderBlock::hitTestContents to IntPoint
  72241. https://bugs.webkit.org/show_bug.cgi?id=62170
  72242. Covered by existing tests.
  72243. * rendering/RenderBlock.cpp:
  72244. (WebCore::RenderBlock::nodeAtPoint):
  72245. (WebCore::RenderBlock::hitTestColumns):
  72246. (WebCore::RenderBlock::hitTestContents):
  72247. * rendering/RenderBlock.h:
  72248. 2011-06-07 Jer Noble <jer.noble@apple.com>
  72249. Reviewed by Eric Carlson.
  72250. Video with poster attribute will not display new frames when scrubbing.
  72251. https://bugs.webkit.org/show_bug.cgi?id=62036
  72252. Remove our "detection" about the end of a scrub now that there is an explicit seek completion
  72253. handler available in AVFoundation. Move what we used to do upon detection in timeChanged()
  72254. into seekCompleted().
  72255. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
  72256. (WebCore::MediaPlayerPrivateAVFoundation::timeChanged):
  72257. (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
  72258. 2011-06-07 James Simonsen <simonjam@chromium.org>
  72259. Unreviewed, build fix, missing files from r88274.
  72260. * bindings/v8/ChildThreadDOMData.cpp: Added.
  72261. (WebCore::ChildThreadDOMData::ChildThreadDOMData):
  72262. (WebCore::ChildThreadDOMData::getStore):
  72263. * bindings/v8/ChildThreadDOMData.h: Added.
  72264. * bindings/v8/MainThreadDOMData.cpp: Added.
  72265. (WebCore::MainThreadDOMData::MainThreadDOMData):
  72266. (WebCore::MainThreadDOMData::getCurrent):
  72267. (WebCore::MainThreadDOMData::getMainThreadStore):
  72268. (WebCore::MainThreadDOMData::getCurrentMainThreadStore):
  72269. * bindings/v8/MainThreadDOMData.h: Added.
  72270. (WebCore::MainThreadDOMData::getStore):
  72271. 2011-06-07 Abhishek Arya <inferno@chromium.org>
  72272. Reviewed by Dan Bernstein.
  72273. Replicate WidthIterator.cpp fix from r88139.
  72274. https://bugs.webkit.org/show_bug.cgi?id=62238
  72275. No new tests. Covered by existing layout tests on XP debug bots.
  72276. * platform/graphics/win/UniscribeController.cpp:
  72277. (WebCore::UniscribeController::advance):
  72278. 2011-06-07 Sheriff Bot <webkit.review.bot@gmail.com>
  72279. Unreviewed, rolling out r88221, r88224, and r88231.
  72280. http://trac.webkit.org/changeset/88221
  72281. http://trac.webkit.org/changeset/88224
  72282. http://trac.webkit.org/changeset/88231
  72283. https://bugs.webkit.org/show_bug.cgi?id=62233
  72284. assert failure on chromium linux debug (Requested by simonjam
  72285. on #webkit).
  72286. * WebCore.gypi:
  72287. * WebCore.pro:
  72288. * bindings/v8/ChildThreadDOMData.cpp: Copied from Source/WebCore/bindings/v8/DOMData.cpp.
  72289. (WebCore::ChildThreadDOMData::ChildThreadDOMData):
  72290. (WebCore::ChildThreadDOMData::getStore):
  72291. * bindings/v8/ChildThreadDOMData.h: Copied from Source/WebCore/bindings/v8/DOMData.cpp.
  72292. * bindings/v8/DOMData.cpp:
  72293. (WebCore::DOMData::DOMData):
  72294. (WebCore::DOMData::getCurrent):
  72295. * bindings/v8/DOMData.h:
  72296. (WebCore::DOMData::owningThread):
  72297. (WebCore::DOMData::handleWeakObject):
  72298. * bindings/v8/DOMDataStore.cpp:
  72299. (WebCore::DOMDataStore::DOMDataStore):
  72300. (WebCore::DOMDataStore::~DOMDataStore):
  72301. (WebCore::DOMDataStore::allStoresMutex):
  72302. (WebCore::DOMDataStore::weakNodeCallback):
  72303. * bindings/v8/DOMDataStore.h:
  72304. * bindings/v8/MainThreadDOMData.cpp: Copied from Source/WebCore/bindings/v8/DOMData.cpp.
  72305. (WebCore::MainThreadDOMData::MainThreadDOMData):
  72306. (WebCore::MainThreadDOMData::getCurrent):
  72307. (WebCore::MainThreadDOMData::getMainThreadStore):
  72308. (WebCore::MainThreadDOMData::getCurrentMainThreadStore):
  72309. * bindings/v8/MainThreadDOMData.h: Copied from Source/WebCore/bindings/v8/DOMData.cpp.
  72310. (WebCore::MainThreadDOMData::getStore):
  72311. * bindings/v8/V8DOMMap.cpp:
  72312. (WebCore::getDOMDataStore):
  72313. (WebCore::removeAllDOMObjectsInCurrentThread):
  72314. (WebCore::visitDOMNodesInCurrentThread):
  72315. (WebCore::visitDOMObjectsInCurrentThread):
  72316. (WebCore::visitActiveDOMObjectsInCurrentThread):
  72317. (WebCore::visitDOMSVGElementInstancesInCurrentThread):
  72318. * bindings/v8/V8DOMMap.h:
  72319. * bindings/v8/V8GCController.cpp:
  72320. (WebCore::V8GCController::gcPrologue):
  72321. (WebCore::V8GCController::gcEpilogue):
  72322. * bindings/v8/WorkerScriptController.cpp:
  72323. (WebCore::WorkerScriptController::~WorkerScriptController):
  72324. 2011-06-07 Simon Fraser <simon.fraser@apple.com>
  72325. Reviewed by Dave Hyatt.
  72326. Clean up ContentData
  72327. https://bugs.webkit.org/show_bug.cgi?id=62185
  72328. ContentData did manual ref()/deref() and had a lot of awkward
  72329. code from using a union to store data.
  72330. Clean this up by adding ContentData subclasses for different
  72331. content types, which are then able to use RefPtr and OwnPtr
  72332. as appropriate.
  72333. * css/CSSComputedStyleDeclaration.cpp:
  72334. (WebCore::contentToCSSValue): Cast to different ContentData types as
  72335. appropriate.
  72336. * css/CSSStyleSelector.cpp:
  72337. (WebCore::CSSStyleSelector::loadPendingImages): Cast to ImageContentData, and do some
  72338. const gyrations.
  72339. * html/HTMLBRElement.cpp:
  72340. (WebCore::HTMLBRElement::createRenderer): Use hasContent().
  72341. * html/HTMLFrameSetElement.cpp:
  72342. (WebCore::HTMLFrameSetElement::createRenderer): Ditto
  72343. * html/HTMLImageElement.cpp:
  72344. (WebCore::HTMLImageElement::createRenderer): Ditto
  72345. * rendering/RenderObject.cpp:
  72346. (WebCore::RenderObject::createObject): Cast to ImageContentData.
  72347. * rendering/RenderObjectChildList.cpp:
  72348. (WebCore::RenderObjectChildList::updateBeforeAfterContent): Cast to different ContentData types as
  72349. appropriate.
  72350. * rendering/style/ContentData.h:
  72351. (WebCore::ContentData::~ContentData):
  72352. (WebCore::ContentData::isCounter):
  72353. (WebCore::ContentData::isImage):
  72354. (WebCore::ContentData::isQuote):
  72355. (WebCore::ContentData::isText):
  72356. (WebCore::ContentData::next):
  72357. (WebCore::ContentData::setNext):
  72358. (WebCore::ImageContentData::image):
  72359. (WebCore::ImageContentData::setImage):
  72360. (WebCore::ImageContentData::ImageContentData):
  72361. (WebCore::ImageContentData::type):
  72362. (WebCore::ImageContentData::isImage):
  72363. (WebCore::TextContentData::text):
  72364. (WebCore::TextContentData::setText):
  72365. (WebCore::TextContentData::TextContentData):
  72366. (WebCore::TextContentData::type):
  72367. (WebCore::TextContentData::isText):
  72368. (WebCore::CounterContentData::counter):
  72369. (WebCore::CounterContentData::setCounter):
  72370. (WebCore::CounterContentData::CounterContentData):
  72371. (WebCore::CounterContentData::type):
  72372. (WebCore::CounterContentData::isCounter):
  72373. (WebCore::QuoteContentData::quote):
  72374. (WebCore::QuoteContentData::setQuote):
  72375. (WebCore::QuoteContentData::QuoteContentData):
  72376. (WebCore::QuoteContentData::type):
  72377. (WebCore::QuoteContentData::isQuote):
  72378. Add subclasses for different content types, which are created
  72379. via overloaded create() methods on the base class.
  72380. * rendering/style/ContentData.cpp:
  72381. (WebCore::ContentData::create):
  72382. (WebCore::operator==): Test for type equality, followed by comparing data.
  72383. (WebCore::operator!=):
  72384. * rendering/style/RenderStyle.cpp:
  72385. (WebCore::RenderStyle::clearContent):
  72386. (WebCore::RenderStyle::appendContent):
  72387. (WebCore::RenderStyle::setContent): Replace the overly complex prepareToSetContent()
  72388. code with code that either appends, or replaces the content.
  72389. This loses an optimization where the existing ContentData object could get reused,
  72390. but this seems to be rarely hit in practice.
  72391. * rendering/style/RenderStyle.h:
  72392. (WebCore::InheritedFlags::hasContent): Convenience method.
  72393. * rendering/style/StyleRareNonInheritedData.cpp:
  72394. (WebCore::StyleRareNonInheritedData::contentDataEquivalent): Test
  72395. that the pointers are non-null, then use the != operator.
  72396. * rendering/style/StyleRareNonInheritedData.h: ContentData is a class now.
  72397. 2011-06-07 Brian Weinstein <bweinstein@apple.com>
  72398. Build fix after r88260.
  72399. * platform/graphics/win/FontCacheWin.cpp:
  72400. (WebCore::FontCache::getFontDataForCharacters): Update to use enum instead of bool.
  72401. * platform/graphics/wince/FontCacheWinCE.cpp:
  72402. 2011-06-07 Rob Buis <rbuis@rim.com>
  72403. Reviewed by Dirk Schulze.
  72404. stroke-dasharray does not handle "none"
  72405. https://bugs.webkit.org/show_bug.cgi?id=62203
  72406. Use the initial strokeDashArray style for stroke-dasharray="none" to apply to SVGRenderStyle rather than bailing out.
  72407. Tests: svg/W3C-SVG-1.1-SE/styling-css-04-f.svg
  72408. svg/custom/invalid-dasharray.svg
  72409. * css/SVGCSSStyleSelector.cpp:
  72410. (WebCore::CSSStyleSelector::applySVGProperty):
  72411. 2011-06-07 Sheriff Bot <webkit.review.bot@gmail.com>
  72412. Unreviewed, rolling out r88259 and r88263.
  72413. http://trac.webkit.org/changeset/88259
  72414. http://trac.webkit.org/changeset/88263
  72415. https://bugs.webkit.org/show_bug.cgi?id=62228
  72416. broke builds (Requested by rniwa on #webkit).
  72417. * platform/mac/WebCoreSystemInterface.h:
  72418. * platform/network/ResourceHandle.h:
  72419. * platform/network/cf/ResourceRequest.h:
  72420. 2011-06-07 Emil A Eklund <eae@chromium.org>
  72421. Reviewed by Eric Seidel.
  72422. Switch ContainerNode to use IntPoint
  72423. https://bugs.webkit.org/show_bug.cgi?id=61893
  72424. Covered by existing tests.
  72425. * dom/ContainerNode.cpp:
  72426. (WebCore::ContainerNode::getUpperLeftCorner):
  72427. (WebCore::ContainerNode::getLowerRightCorner):
  72428. (WebCore::ContainerNode::getRect):
  72429. Change to use maxX/maxY instead of x+width/y+height
  72430. * platform/graphics/FloatPoint.h:
  72431. (WebCore::FloatPoint::move):
  72432. (WebCore::FloatPoint::moveBy):
  72433. (WebCore::FloatPoint::expandedTo):
  72434. Add move, moveBy and expandedTo mirroring the IntPoint implementation of the same.
  72435. 2011-06-07 Ryosuke Niwa <rniwa@webkit.org>
  72436. Speculative build fix after r88259.
  72437. * platform/network/cf/ResourceRequest.h:
  72438. 2011-06-07 Michael Saboff <msaboff@apple.com>
  72439. Reviewed by Geoffrey Garen.
  72440. Need to enable font cache purging in MemoryPressureHandler
  72441. https://bugs.webkit.org/show_bug.cgi?id=62060
  72442. Improve memory usage under pressure.
  72443. Added call to fontCache()->purgeInactiveFontData() in
  72444. MemoryPressureHandler::respondToMemoryPressure(). Added protection to
  72445. MemoryPressureHandler::install() being called multiple times.
  72446. No new tests as funtionality wasn't changed.
  72447. * platform/MemoryPressureHandler.cpp:
  72448. (WebCore::MemoryPressureHandler::MemoryPressureHandler):
  72449. * platform/MemoryPressureHandler.h:
  72450. * platform/mac/MemoryPressureHandlerMac.mm:
  72451. (WebCore::MemoryPressureHandler::install):
  72452. (WebCore::MemoryPressureHandler::respondToMemoryPressure):
  72453. 2011-06-07 Michael Saboff <msaboff@apple.com>
  72454. Reviewed by Geoffrey Garen.
  72455. Fonts returned by FontCache::getFontDataForCharacters() are never released
  72456. https://bugs.webkit.org/show_bug.cgi?id=61875
  72457. This change allows fonts allocated as system fallback fonts to be
  72458. released. Previously, the reference counts for these fonts grew
  72459. without bound. This is implemented as an auto release class that wraps
  72460. accesses to the cache for system fallback fonts. All such accesses are
  72461. via the method FontCache::getFontDataForCharacters. The new class is
  72462. called FontCachePurgePreventer. When such an object exists, it protects
  72463. these fonts from deletion.
  72464. Most accesses to the font cache still use the reference counting
  72465. implemented by FontCache::getCacheFontData() and
  72466. FontCache::releaseFontData() and that operation is not affected by
  72467. this change.
  72468. Added local scoped instance of FontCachePurgePreventer to wrap code
  72469. that directly or indirectly accesses fonts via getFontDataForCharacters.
  72470. Did a few other miscellaneous bug fixes and changes to allow system
  72471. fallback fonts to be pruned from the GlyphPageTree. Changed the
  72472. calls to getFontData in the platform specific versions of
  72473. Fontcache::getFontDataForCharacters to not increment the reference
  72474. count. Moved the purge font check
  72475. outside of FontCache::getCachedFontData() into a separate method,
  72476. purgeInactiveFontDataIfNeeded() since almost all calls to
  72477. getCachedFontData() now happen when purging is not allowed.
  72478. purgeInactiveFontDataIfNeeded is invoked in enablePurging() when
  72479. m_purgePreventCount is 0.
  72480. No new test as the functionality has not changed. Improved font life
  72481. cycle management.
  72482. * WebCore.exp.in: Added FontCache::purgeInactiveFontDataIfNeeded().
  72483. * html/canvas/CanvasRenderingContext2D.cpp:
  72484. (WebCore::CanvasRenderingContext2D::measureText):
  72485. (WebCore::CanvasRenderingContext2D::drawTextInternal):
  72486. Wrapped code accessing fallback fonts with local
  72487. FontCachePurgePreventer in these methods.
  72488. * page/FrameView.cpp:
  72489. (WebCore::FrameView::layout):
  72490. (WebCore::FrameView::paintContents):
  72491. Wrapped code accessing fallback fonts with local
  72492. FontCachePurgePreventer in these methods.
  72493. * platform/graphics/FontCache.cpp:
  72494. (WebCore::FontCache::FontCache):
  72495. (WebCore::FontCache::getCachedFontData):
  72496. Moved purge check to new method since it likely can't happen here.
  72497. (WebCore::FontCache::releaseFontData):
  72498. (WebCore::FontCache::purgeInactiveFontDataIfNeeded):
  72499. (WebCore::FontCache::purgeInactiveFontData):
  72500. Made purging conditional on m_purgePreventCount. Now some fonts
  72501. in the cache are reference counted while other can be purged
  72502. outside of code wrapped by in scope FontCachePurgePreventer objects.
  72503. * platform/graphics/FontCache.h:
  72504. (WebCore::FontCache::disablePurging):
  72505. (WebCore::FontCache::enablePurging):
  72506. (WebCore::FontCachePurgePreventer::FontCachePurgePreventer):
  72507. (WebCore::FontCachePurgePreventer::~FontCachePurgePreventer):
  72508. Added new simple purge prevention wrapper class and methods
  72509. that it calls in FontCache actually prevent purging. The
  72510. simple methods inlined to reduce overhead.
  72511. * platform/graphics/FontFastPath.cpp:
  72512. (WebCore::Font::glyphDataForCharacter): Update level in
  72513. glyph page tree for system fallback fonts so pruning works.
  72514. * platform/graphics/GlyphPage.h:
  72515. (WebCore::GlyphPage::clearForFontData): New method used for pruning
  72516. * platform/graphics/GlyphPageTreeNode.cpp:
  72517. (WebCore::GlyphPageTreeNode::pruneFontData):
  72518. Now we prune system fallback fonts.
  72519. * platform/graphics/chromium/FontCacheChromiumWin.cpp:
  72520. (WebCore::FontCache::getFontDataForCharacters):
  72521. * platform/graphics/freetype/FontCacheFreeType.cpp:
  72522. (WebCore::FontCache::getFontDataForCharacters):
  72523. * platform/graphics/haiku/FontCacheHaiku.cpp:
  72524. (WebCore::FontCache::getFontDataForCharacters):
  72525. * platform/graphics/mac/FontCacheMac.mm:
  72526. (WebCore::FontCache::getFontDataForCharacters):
  72527. * platform/graphics/qt/FontCacheQt.cpp:
  72528. (WebCore::FontCache::getFontDataForCharacters):
  72529. * platform/graphics/win/FontCacheWin.cpp:
  72530. (WebCore::FontCache::getFontDataForCharacters):
  72531. * platform/graphics/wince/FontCacheWinCE.cpp:
  72532. * platform/graphics/wx/FontCacheWx.cpp:
  72533. (WebCore::FontCache::getFontDataForCharacters):
  72534. Changed the calls to getFontData() to not increment the reference
  72535. count. The caller of this getFontDataForCharacters() (currently only
  72536. Font::glyphDataForCharacter() in fontFastPath.cpp) and it's callers
  72537. don't attempt to release the returned fonts so we use the purge
  72538. protection described above.
  72539. * rendering/InlineTextBox.cpp:
  72540. (WebCore::InlineTextBox::selectionRect):
  72541. (WebCore::InlineTextBox::offsetForPosition):
  72542. (WebCore::InlineTextBox::positionForOffset):
  72543. Wrapped code accessing fallback fonts with local
  72544. FontCachePurgePreventer in these methods.
  72545. * rendering/RenderImage.cpp:
  72546. (WebCore::RenderImage::setImageSizeForAltText):
  72547. Wrapped code accessing fallback fonts with local
  72548. FontCachePurgePreventer in this method.
  72549. * rendering/RenderListBox.cpp:
  72550. (WebCore::RenderListBox::updateFromElement):
  72551. (WebCore::RenderListBox::paintItemForeground):
  72552. Wrapped code accessing fallback fonts with local
  72553. FontCachePurgePreventer in these methods
  72554. * rendering/svg/SVGInlineTextBox.cpp:
  72555. (WebCore::SVGInlineTextBox::selectionRectForTextFragment):
  72556. Wrapped code accessing fallback fonts with local
  72557. FontCachePurgePreventer in this method.
  72558. 2011-06-07 Tim Horton <timothy_horton@apple.com>
  72559. Reviewed by Alexey Proskuryakov.
  72560. Use correct CFURLStorageSessionRef definition on Snow Leopard
  72561. https://bugs.webkit.org/show_bug.cgi?id=62223
  72562. * platform/mac/WebCoreSystemInterface.h:
  72563. * platform/network/ResourceHandle.h:
  72564. * platform/network/cf/ResourceRequest.h:
  72565. 2011-06-07 Alok Priyadarshi <alokp@chromium.org>
  72566. Reviewed by Stephen White.
  72567. [chromium] PlatformContextSkia leaks SkDeviceFactory
  72568. https://bugs.webkit.org/show_bug.cgi?id=62163
  72569. Valgrind tests should have caught this.
  72570. * platform/graphics/skia/PlatformContextSkia.cpp:
  72571. (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
  72572. 2011-06-07 Emil A Eklund <eae@chromium.org>
  72573. Reviewed by Eric Seidel.
  72574. Convert RenderTextControl::hitInnerTextElement to IntPoint
  72575. https://bugs.webkit.org/show_bug.cgi?id=62167
  72576. Covered by existing tests.
  72577. * rendering/RenderTextControl.cpp:
  72578. (WebCore::RenderTextControl::hitInnerTextElement):
  72579. * rendering/RenderTextControl.h:
  72580. * rendering/RenderTextControlMultiLine.cpp:
  72581. (WebCore::RenderTextControlMultiLine::nodeAtPoint):
  72582. * rendering/RenderTextControlSingleLine.cpp:
  72583. (WebCore::RenderTextControlSingleLine::nodeAtPoint):
  72584. 2011-06-07 Levi Weintraub <leviw@chromium.org>
  72585. Reviewed by Eric Seidel.
  72586. Switch paint to use IntPoint
  72587. https://bugs.webkit.org/show_bug.cgi?id=62177
  72588. Flipping the switch on the remaining paint functions to have them all
  72589. use IntPoint for the paint offset instead of tx/ty.
  72590. No new tests since this is just refactoring.
  72591. * page/FrameView.cpp:
  72592. (WebCore::FrameView::paintScrollCorner):
  72593. * rendering/InlineBox.cpp:
  72594. (WebCore::InlineBox::paint):
  72595. * rendering/RenderBlock.cpp:
  72596. (WebCore::RenderBlock::paint):
  72597. (WebCore::RenderBlock::paintContents):
  72598. (WebCore::RenderBlock::paintChildren):
  72599. (WebCore::RenderBlock::paintFloats):
  72600. * rendering/RenderBlock.h:
  72601. * rendering/RenderBox.cpp:
  72602. (WebCore::RenderBox::paint):
  72603. * rendering/RenderBox.h:
  72604. * rendering/RenderBoxModelObject.cpp:
  72605. (WebCore::RenderBoxModelObject::paintFillLayerExtended):
  72606. * rendering/RenderDetailsMarker.cpp:
  72607. (WebCore::RenderDetailsMarker::paint):
  72608. * rendering/RenderDetailsMarker.h:
  72609. * rendering/RenderEmbeddedObject.cpp:
  72610. (WebCore::RenderEmbeddedObject::paint):
  72611. * rendering/RenderEmbeddedObject.h:
  72612. * rendering/RenderFrameSet.cpp:
  72613. (WebCore::RenderFrameSet::paint):
  72614. * rendering/RenderFrameSet.h:
  72615. * rendering/RenderImage.cpp:
  72616. (WebCore::RenderImage::paint):
  72617. * rendering/RenderImage.h:
  72618. * rendering/RenderInline.cpp:
  72619. (WebCore::RenderInline::paint):
  72620. * rendering/RenderInline.h:
  72621. * rendering/RenderLayer.cpp:
  72622. (WebCore::RenderLayer::paintScrollCorner):
  72623. (WebCore::RenderLayer::paintResizer):
  72624. (WebCore::RenderLayer::paintLayer):
  72625. * rendering/RenderLayerBacking.cpp:
  72626. (WebCore::RenderLayerBacking::paintIntoLayer):
  72627. * rendering/RenderLineBoxList.cpp:
  72628. (WebCore::RenderLineBoxList::paint):
  72629. * rendering/RenderLineBoxList.h:
  72630. * rendering/RenderListItem.cpp:
  72631. (WebCore::RenderListItem::paint):
  72632. * rendering/RenderListItem.h:
  72633. * rendering/RenderListMarker.cpp:
  72634. (WebCore::RenderListMarker::paint):
  72635. * rendering/RenderListMarker.h:
  72636. * rendering/RenderObject.cpp:
  72637. (WebCore::RenderObject::paint):
  72638. * rendering/RenderObject.h:
  72639. * rendering/RenderReplaced.cpp:
  72640. (WebCore::RenderReplaced::paint):
  72641. * rendering/RenderReplaced.h:
  72642. * rendering/RenderReplica.cpp:
  72643. (WebCore::RenderReplica::paint):
  72644. * rendering/RenderReplica.h:
  72645. * rendering/RenderScrollbar.cpp:
  72646. (WebCore::RenderScrollbar::paintPart):
  72647. * rendering/RenderScrollbarPart.cpp:
  72648. (WebCore::RenderScrollbarPart::paintIntoRect):
  72649. * rendering/RenderScrollbarPart.h:
  72650. * rendering/RenderTable.cpp:
  72651. (WebCore::RenderTable::paint):
  72652. (WebCore::RenderTable::paintObject):
  72653. * rendering/RenderTable.h:
  72654. * rendering/RenderTableCell.cpp:
  72655. (WebCore::RenderTableCell::paint):
  72656. * rendering/RenderTableCell.h:
  72657. * rendering/RenderTableRow.cpp:
  72658. (WebCore::RenderTableRow::paint):
  72659. * rendering/RenderTableRow.h:
  72660. * rendering/RenderTableSection.cpp:
  72661. (WebCore::RenderTableSection::paint):
  72662. (WebCore::RenderTableSection::paintCell):
  72663. * rendering/RenderTableSection.h:
  72664. * rendering/RenderText.h:
  72665. (WebCore::RenderText::paint):
  72666. * rendering/RenderTextControlSingleLine.cpp:
  72667. (WebCore::RenderTextControlSingleLine::paint):
  72668. * rendering/RenderTextControlSingleLine.h:
  72669. * rendering/RenderView.cpp:
  72670. (WebCore::RenderView::paint):
  72671. * rendering/RenderView.h:
  72672. * rendering/RenderWidget.cpp:
  72673. (WebCore::RenderWidget::paint):
  72674. * rendering/RenderWidget.h:
  72675. * rendering/mathml/RenderMathMLBlock.cpp:
  72676. (WebCore::RenderMathMLBlock::paint):
  72677. * rendering/mathml/RenderMathMLBlock.h:
  72678. * rendering/mathml/RenderMathMLFraction.cpp:
  72679. (WebCore::RenderMathMLFraction::paint):
  72680. * rendering/mathml/RenderMathMLFraction.h:
  72681. * rendering/mathml/RenderMathMLRoot.cpp:
  72682. (WebCore::RenderMathMLRoot::paint):
  72683. * rendering/mathml/RenderMathMLRoot.h:
  72684. * rendering/mathml/RenderMathMLSquareRoot.cpp:
  72685. (WebCore::RenderMathMLSquareRoot::paint):
  72686. * rendering/mathml/RenderMathMLSquareRoot.h:
  72687. * rendering/svg/RenderSVGContainer.cpp:
  72688. (WebCore::RenderSVGContainer::paint):
  72689. * rendering/svg/RenderSVGContainer.h:
  72690. * rendering/svg/RenderSVGForeignObject.cpp:
  72691. (WebCore::RenderSVGForeignObject::paint):
  72692. * rendering/svg/RenderSVGForeignObject.h:
  72693. * rendering/svg/RenderSVGHiddenContainer.cpp:
  72694. (WebCore::RenderSVGHiddenContainer::paint):
  72695. * rendering/svg/RenderSVGHiddenContainer.h:
  72696. * rendering/svg/RenderSVGImage.cpp:
  72697. (WebCore::RenderSVGImage::paint):
  72698. * rendering/svg/RenderSVGImage.h:
  72699. * rendering/svg/RenderSVGPath.cpp:
  72700. (WebCore::RenderSVGPath::paint):
  72701. * rendering/svg/RenderSVGPath.h:
  72702. * rendering/svg/RenderSVGResourceMarker.cpp:
  72703. (WebCore::RenderSVGResourceMarker::draw):
  72704. * rendering/svg/RenderSVGRoot.cpp:
  72705. (WebCore::RenderSVGRoot::paint):
  72706. * rendering/svg/RenderSVGRoot.h:
  72707. * rendering/svg/RenderSVGText.cpp:
  72708. (WebCore::RenderSVGText::paint):
  72709. * rendering/svg/RenderSVGText.h:
  72710. * rendering/svg/SVGImageBufferTools.cpp:
  72711. (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
  72712. 2011-06-07 Young Han Lee <joybro@company100.net>
  72713. Reviewed by Kenneth Rohde Christiansen.
  72714. [Texmap][Qt] Accelerated animation is not paused properly.
  72715. https://bugs.webkit.org/show_bug.cgi?id=61446
  72716. The transform matrix of an accelerated animation shouldn't be synced with the matrix of the GraphicsLayer when the animation is paused.
  72717. Test: animations/play-state-paused.html
  72718. * platform/graphics/texmap/TextureMapperNode.cpp:
  72719. (WebCore::TextureMapperNode::syncCompositingStateSelf):
  72720. (WebCore::TextureMapperNode::hasOpacityAnimation):
  72721. (WebCore::TextureMapperNode::hasTransformAnimation):
  72722. * platform/graphics/texmap/TextureMapperNode.h:
  72723. 2011-06-07 Lucas De Marchi <lucas.demarchi@profusion.mobi>
  72724. Reviewed by Antonio Gomes.
  72725. [EFL] Remove Ecore_X bits from PlatformScreenEfl
  72726. https://bugs.webkit.org/show_bug.cgi?id=61649
  72727. Remove the need for Ecore_X and some X calls by always using
  72728. new functions available in EFL to get the screen size.
  72729. No new tests since the same functionality are done inside EFL now.
  72730. * platform/efl/PlatformScreenEfl.cpp:
  72731. (WebCore::screenRect):
  72732. 2011-06-07 Carlos Garcia Campos <cgarcia@igalia.com>
  72733. Reviewed by Martin Robinson.
  72734. [GTK] Move moduleMixesGtkSymbols() from PluginPackage to PluginView
  72735. https://bugs.webkit.org/show_bug.cgi?id=62200
  72736. In WebKit2 PluginPackage is used by the UI process to load plugins
  72737. in order to get information about them, but it doesn't use any GTK
  72738. symbol. So the UI process should be able to load plugins even when
  72739. building with GTK3, but we should not allow the plugin view to use
  72740. the plugin if it mixes GTK2 and GTK3 symbols.
  72741. * plugins/PluginPackage.h:
  72742. (WebCore::PluginPackage::module): New method to return the
  72743. platform module.
  72744. * plugins/gtk/PluginPackageGtk.cpp:
  72745. (WebCore::PluginPackage::load): Remove moduleMixesGtkSymbols().
  72746. * plugins/gtk/PluginViewGtk.cpp:
  72747. (WebCore::PluginView::updatePluginWidget): Check whether plugin
  72748. was successfully loaded before trying to create the drawable.
  72749. (WebCore::PluginView::paint): Return early if plugin didn't start
  72750. or was not successfully loaded.
  72751. (WebCore::PluginView::handleKeyboardEvent): Ditto.
  72752. (WebCore::PluginView::handleMouseEvent): Ditto.
  72753. (WebCore::PluginView::handleFocusInEvent): Ditto.
  72754. (WebCore::PluginView::handleFocusOutEvent): Ditto.
  72755. (WebCore::moduleMixesGtkSymbols):
  72756. (WebCore::PluginView::platformStart): Check whether module is
  72757. mixing GTK+ 2 and GTK+ 3 symbols.
  72758. 2011-06-07 Sheriff Bot <webkit.review.bot@gmail.com>
  72759. Unreviewed, rolling out r88238.
  72760. http://trac.webkit.org/changeset/88238
  72761. https://bugs.webkit.org/show_bug.cgi?id=62216
  72762. Broke a couple of inspector tests (Requested by apavlov on
  72763. #webkit).
  72764. * inspector/front-end/StylesSidebarPane.js:
  72765. (WebInspector.StylesSidebarPane.prototype.update):
  72766. 2011-06-07 Dinu Jacob <dinu.jacob@nokia.com>
  72767. Reviewed by Dimitri Glazkov.
  72768. Inform ChromeClient touch events are not needed by the webpage when navigating away from the page instead of in both Document:detach/CachedFrame
  72769. https://bugs.webkit.org/show_bug.cgi?id=61543
  72770. Inform chrome client that touch events are not needed by the webpage
  72771. when navigating away from the page only once to avoid the flag being
  72772. overwritten later if a page is removed from the page cache
  72773. * dom/Document.cpp:
  72774. (WebCore::Document::detach):
  72775. * history/CachedFrame.cpp:
  72776. (WebCore::CachedFrame::CachedFrame):
  72777. * loader/FrameLoader.cpp:
  72778. (WebCore::FrameLoader::transitionToCommitted):
  72779. 2011-06-07 Alexander Pavlov <apavlov@chromium.org>
  72780. Reviewed by Yury Semikhatsky.
  72781. Web Inspector: node selection is slow in the Elements panel.
  72782. https://bugs.webkit.org/show_bug.cgi?id=60813
  72783. Schedule full style updates rather than request all node styles from the backend immediately.
  72784. * inspector/front-end/StylesSidebarPane.js:
  72785. (WebInspector.StylesSidebarPane.prototype.update.reloadAllStyles):
  72786. (WebInspector.StylesSidebarPane.prototype.update):
  72787. 2011-06-07 Yury Semikhatsky <yurys@chromium.org>
  72788. Reviewed by Pavel Feldman.
  72789. Web Inspector: remove duplicate breakpoints from localStorage
  72790. https://bugs.webkit.org/show_bug.cgi?id=62206
  72791. Perform one-time breakpoint storage cleanup to get rid of duplicate breakpoints in
  72792. case when settings version is less than 1.
  72793. * inspector/front-end/Settings.js:
  72794. (WebInspector.Settings):
  72795. (WebInspector.Settings.prototype._set):
  72796. (WebInspector.Settings.prototype._migrateSettings.splitObjects):
  72797. (WebInspector.Settings.prototype._migrateSettings.removeDuplicateObjects):
  72798. (WebInspector.Settings.prototype._migrateSettings):
  72799. 2011-06-03 Yury Semikhatsky <yurys@chromium.org>
  72800. Reviewed by Pavel Feldman.
  72801. [Chromium] Web Inspector: correctly handle disconnect from worker when script execution is paused
  72802. https://bugs.webkit.org/show_bug.cgi?id=62019
  72803. Dispatch disconnecFrontend message in debugger task mode to make sure
  72804. it is processed even if execution is paused.
  72805. * bindings/v8/WorkerScriptDebugServer.cpp:
  72806. (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
  72807. (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause):
  72808. * bindings/v8/WorkerScriptDebugServer.h:
  72809. 2011-06-07 Felician Marton <marton.felician.zoltan@stud.u-szeged.hu>
  72810. Reviewed by Nikolas Zimmermann.
  72811. SVG animation beginElement() does not restart the animation after endElement().
  72812. https://bugs.webkit.org/show_bug.cgi?id=43452
  72813. Test: svg/animations/animate-endElement-beginElement.html
  72814. Calling beginElement() after calling endElement() previously does not restarted the animation when animation
  72815. element's end attribute doesn't contains a bigger value than the current animation time.
  72816. * svg/animation/SVGSMILElement.cpp:
  72817. (WebCore::SVGSMILElement::findInstanceTime):
  72818. 2011-06-07 Naoki Takano <takano.naoki@gmail.com>
  72819. Reviewed by Kent Tamura.
  72820. [Chromium] Click event is not fired for a menulist <select>
  72821. https://bugs.webkit.org/show_bug.cgi?id=60563
  72822. Tests: SelectItemEventFire, SelectItemKeyEvent, SelectItemRemoveSelectOnChange and SelectItemRemoveSelectOnChange in webkit_unit_tests.
  72823. * platform/chromium/PopupMenuChromium.cpp:
  72824. (WebCore::PopupContainer::showPopup): Set m_focusedNode from m_frameView.
  72825. (WebCore::PopupListBox::handleMouseReleaseEvent): Call dispatchMouseEvent to forward the event only if select popup.
  72826. (WebCore::PopupListBox::acceptIndex): Change to return accepted or not.
  72827. 2011-06-07 Andras Becsi <abecsi@webkit.org>
  72828. Reviewed by Yury Semikhatsky.
  72829. REGRESSION(r88221): "Chromium debug compilation broken".
  72830. https://bugs.webkit.org/show_bug.cgi?id=62197
  72831. No new tests needed.
  72832. * bindings/v8/V8GCController.cpp: Also rename call-sites.
  72833. (WebCore::V8GCController::gcPrologue):
  72834. (WebCore::V8GCController::gcEpilogue):
  72835. 2011-06-07 MORITA Hajime <morrita@google.com>
  72836. Unreviewed, rolling out r88212 and r88219.
  72837. http://trac.webkit.org/changeset/88212
  72838. http://trac.webkit.org/changeset/88219
  72839. https://bugs.webkit.org/show_bug.cgi?id=57439
  72840. Tests get timeout at Snow Leopard
  72841. * css/html.css:
  72842. (html:focus, body:focus, input[readonly]:focus):
  72843. * rendering/RenderWidget.cpp:
  72844. (WebCore::RenderWidget::paint):
  72845. 2011-06-07 Andras Becsi <abecsi@webkit.org>
  72846. Rubber-stamped by Csaba Osztrogonác.
  72847. [Qt][V8] Fix the build after 88221.
  72848. No new tests needed.
  72849. * WebCore.pro: Remove non-existing files.
  72850. * bindings/v8/V8DOMMap.cpp:
  72851. (WebCore::removeAllDOMObjects): Also rename the definition of the function.
  72852. 2011-06-06 Dmitry Lomov <dslomov@google.com>
  72853. Reviewed by Adam Barth.
  72854. https://bugs.webkit.org/show_bug.cgi?id=62164
  72855. Remove "multi-threaded" logic in V8 DOMData, DOMDataStore and friends
  72856. This functionality is untested and unused:
  72857. This is an old code from Lockers-based implementation of WebWorkers in
  72858. V8 bindings, to make sure that DOM objects are released on the right thread
  72859. even though GC could have happened on any thread. It is currently unused (since
  72860. current model is one worker per process) and is being removed because new implementation
  72861. of WebWorkers will be using V8 isolates.
  72862. * WebCore.gypi:
  72863. * bindings/v8/ChildThreadDOMData.cpp: Removed.
  72864. * bindings/v8/ChildThreadDOMData.h: Removed.
  72865. * bindings/v8/DOMData.cpp:
  72866. (WebCore::DOMData::DOMData):
  72867. (WebCore::DOMData::getCurrent):
  72868. (WebCore::DOMData::getMainThreadStore):
  72869. * bindings/v8/DOMData.h:
  72870. (WebCore::DOMData::getStore):
  72871. (WebCore::DOMData::getCurrentMainThreadStore):
  72872. (WebCore::DOMData::handleWeakObject):
  72873. * bindings/v8/DOMDataStore.cpp:
  72874. (WebCore::DOMDataStore::DOMDataStore):
  72875. (WebCore::DOMDataStore::~DOMDataStore):
  72876. (WebCore::DOMDataStore::weakNodeCallback):
  72877. * bindings/v8/DOMDataStore.h:
  72878. * bindings/v8/MainThreadDOMData.cpp: Removed.
  72879. * bindings/v8/MainThreadDOMData.h: Removed.
  72880. * bindings/v8/V8DOMMap.cpp:
  72881. (WebCore::getDOMDataStore):
  72882. (WebCore::visitDOMNodes):
  72883. (WebCore::visitDOMObjects):
  72884. (WebCore::visitActiveDOMObjects):
  72885. (WebCore::visitDOMSVGElementInstances):
  72886. * bindings/v8/V8DOMMap.h:
  72887. * bindings/v8/V8GCController.cpp:
  72888. (WebCore::V8GCController::gcPrologue):
  72889. (WebCore::V8GCController::gcEpilogue):
  72890. * bindings/v8/WorkerScriptController.cpp:
  72891. (WebCore::WorkerScriptController::~WorkerScriptController):
  72892. 2011-06-06 Nico Weber <thakis@chromium.org>
  72893. Reviewed by Adam Barth.
  72894. [chromium] Make VideoFrameChromium's destructor virtual
  72895. https://bugs.webkit.org/show_bug.cgi?id=62186
  72896. This fixes a real bug, since WebMediaPlayerClientImpl::putCurrentFrame
  72897. deletes a VideoFrameChromium subclass type through this interface
  72898. class, causing ~VideoFrameChromiumImpl's destructor not to run.
  72899. (VideoFrameChroimumImpl happens to not have a destructor or any
  72900. non-POD member variables, so it's more a latent bug.)
  72901. * platform/graphics/chromium/VideoFrameChromium.cpp:
  72902. (WebCore::VideoFrameChromium::~VideoFrameChromium):
  72903. * platform/graphics/chromium/VideoFrameChromium.h:
  72904. 2011-06-06 Simon Fraser <simon.fraser@apple.com>
  72905. Reviewed by Sammy Weinig.
  72906. Remove some unnecessary includes from AnimationBase.cpp
  72907. https://bugs.webkit.org/show_bug.cgi?id=62183
  72908. * page/animation/AnimationBase.cpp:
  72909. 2011-06-06 Kent Tamura <tkent@chromium.org>
  72910. Unreviewed, a crash fix by a roll out.
  72911. REGRESSION(r87980): Null pointer dereference in RenderTextControl::setInnerText()
  72912. https://bugs.webkit.org/show_bug.cgi?id=62116
  72913. Roll out the WebCore part of r87980.
  72914. * html/SearchInputType.cpp:
  72915. (WebCore::SearchInputType::SearchInputType):
  72916. (WebCore::SearchInputType::createShadowSubtree):
  72917. (WebCore::SearchInputType::destroyShadowSubtree):
  72918. * html/SearchInputType.h:
  72919. (WebCore::SearchInputType::innerBlockElement):
  72920. (WebCore::SearchInputType::resultsButtonElement):
  72921. (WebCore::SearchInputType::cancelButtonElement):
  72922. * html/TextFieldInputType.cpp:
  72923. (WebCore::TextFieldInputType::TextFieldInputType):
  72924. (WebCore::TextFieldInputType::createShadowSubtree):
  72925. (WebCore::TextFieldInputType::destroyShadowSubtree):
  72926. * html/TextFieldInputType.h:
  72927. (WebCore::TextFieldInputType::innerTextElement):
  72928. (WebCore::TextFieldInputType::innerSpinButtonElement):
  72929. (WebCore::TextFieldInputType::speechButtonElement):
  72930. (WebCore::TextFieldInputType::setInnerTextElement):
  72931. (WebCore::TextFieldInputType::setSpeechButtonElement):
  72932. * html/shadow/TextControlInnerElements.cpp:
  72933. * html/shadow/TextControlInnerElements.h:
  72934. 2011-06-06 No'am Rosenthal <noam.rosenthal@nokia.com>
  72935. Reviewed by Simon Fraser.
  72936. Allow copying of KeyframeValueList.
  72937. https://bugs.webkit.org/show_bug.cgi?id=62171
  72938. Make a deep copy of KeyframeValueList, copying each of the keyframes with a virtual clone() function.
  72939. No new functionality so no new tests.
  72940. * platform/graphics/GraphicsLayer.h:
  72941. (WebCore::FloatAnimationValue::clone):
  72942. (WebCore::TransformAnimationValue::TransformAnimationValue):
  72943. (WebCore::TransformAnimationValue::clone):
  72944. (WebCore::TransformAnimationValue::value):
  72945. (WebCore::KeyframeValueList::KeyframeValueList):
  72946. 2011-06-06 Simon Fraser <simon.fraser@apple.com>
  72947. Reviewed by Dan Bernstein.
  72948. Incorrect rounding of color values during transitions
  72949. https://bugs.webkit.org/show_bug.cgi?id=62141
  72950. When blending integers, round to the nearest integer, instead of always rounding down.
  72951. Test: transitions/color-transition-rounding.html
  72952. * page/animation/AnimationBase.cpp:
  72953. (WebCore::blendFunc):
  72954. 2011-06-06 Sheriff Bot <webkit.review.bot@gmail.com>
  72955. Unreviewed, rolling out r88202.
  72956. http://trac.webkit.org/changeset/88202
  72957. https://bugs.webkit.org/show_bug.cgi?id=62182
  72958. This broke the mac clang bot (Requested by koz__ on #webkit).
  72959. * dom/Node.cpp:
  72960. (WebCore::Node::hasNonEmptyBoundingBox):
  72961. * rendering/InlineBox.h:
  72962. * rendering/RenderBlock.cpp:
  72963. (WebCore::RenderBlock::absoluteRects):
  72964. * rendering/RenderBlock.h:
  72965. * rendering/RenderBox.cpp:
  72966. (WebCore::RenderBox::absoluteRects):
  72967. * rendering/RenderBox.h:
  72968. * rendering/RenderInline.cpp:
  72969. (WebCore::RenderInline::absoluteRects):
  72970. * rendering/RenderInline.h:
  72971. * rendering/RenderObject.cpp:
  72972. (WebCore::RenderObject::absoluteBoundingBoxRect):
  72973. * rendering/RenderObject.h:
  72974. (WebCore::RenderObject::absoluteRects):
  72975. * rendering/RenderText.cpp:
  72976. (WebCore::RenderText::absoluteRects):
  72977. * rendering/RenderText.h:
  72978. * rendering/RenderView.cpp:
  72979. (WebCore::RenderView::absoluteRects):
  72980. * rendering/RenderView.h:
  72981. 2011-06-06 Noel Gordon <noel.gordon@gmail.com>
  72982. Reviewed by Hajime Morita.
  72983. Draw CSS outline style for render widgets: iframe, embed, object, applet.
  72984. https://bugs.webkit.org/show_bug.cgi?id=57439
  72985. Draw CSS outlines for render widgets: iframe, embed, object, applet. These elements can
  72986. be focused (via clicks or tabIndex) but should not have a visible focus ring by default.
  72987. Tests: fast/replaced/no-focus-ring-embed-1.html
  72988. fast/replaced/no-focus-ring-embed-2.html
  72989. fast/replaced/no-focus-ring-iframe.html
  72990. fast/replaced/no-focus-ring-object-1.html
  72991. fast/replaced/no-focus-ring-object-2.html
  72992. fast/replaced/outline-replaced-elements.html
  72993. * css/html.css:
  72994. (applet:focus, embed:focus, iframe:focus, object:focus): Default to no focus ring.
  72995. * rendering/RenderWidget.cpp:
  72996. (WebCore::RenderWidget::paint): Paint the render widget CSS outline style.
  72997. 2011-06-06 MORITA Hajime <morrita@google.com>
  72998. Reviewed by Kent Tamura.
  72999. Assertion fails in TextCheckingHelper by right-clicking on <input type=search>
  73000. https://bugs.webkit.org/show_bug.cgi?id=61991
  73001. Added a guard bofore TextCheckingHelper construction sites.
  73002. Test: editing/spelling/spellcheck-input-search-crash.html
  73003. * editing/Editor.cpp:
  73004. (WebCore::Editor::isSelectionUngrammatical):
  73005. (WebCore::Editor::guessesForUngrammaticalSelection):
  73006. (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection):
  73007. 2011-06-06 Emil A Eklund <eae@chromium.org>
  73008. Reviewed by Eric Seidel.
  73009. Update RenderBlock::paint to use IntPoint internally
  73010. https://bugs.webkit.org/show_bug.cgi?id=62140
  73011. Covered by existing tests.
  73012. * rendering/RenderBlock.cpp:
  73013. (WebCore::RenderBlock::paint):
  73014. 2011-06-06 Emil A Eklund <eae@chromium.org>
  73015. Reviewed by Eric Seidel.
  73016. Convert RenderBox::absoluteRects to IntPoint
  73017. https://bugs.webkit.org/show_bug.cgi?id=62130
  73018. Covered by existing tests.
  73019. * dom/Node.cpp:
  73020. (WebCore::Node::hasNonEmptyBoundingBox):
  73021. * rendering/RenderBlock.cpp:
  73022. (WebCore::RenderBlock::absoluteRects):
  73023. * rendering/RenderBlock.h:
  73024. * rendering/RenderBox.cpp:
  73025. (WebCore::RenderBox::absoluteRects):
  73026. * rendering/RenderBox.h:
  73027. * rendering/RenderInline.cpp:
  73028. (WebCore::RenderInline::absoluteRects):
  73029. * rendering/RenderInline.h:
  73030. * rendering/RenderObject.cpp:
  73031. (WebCore::RenderObject::absoluteBoundingBoxRect):
  73032. * rendering/RenderObject.h:
  73033. (WebCore::RenderObject::absoluteRects):
  73034. * rendering/RenderText.cpp:
  73035. (WebCore::RenderText::absoluteRects):
  73036. * rendering/RenderText.h:
  73037. * rendering/RenderView.cpp:
  73038. (WebCore::RenderView::absoluteRects):
  73039. * rendering/RenderView.h:
  73040. 2011-06-06 Levi Weintraub <leviw@chromium.org>
  73041. Reviewed by Eric Seidel.
  73042. Switch shouldPaint to use IntPoint
  73043. https://bugs.webkit.org/show_bug.cgi?id=62158
  73044. Switching shouldPaint to take an IntPoint representing the paint offset instead
  73045. of a pair of ints.
  73046. No new tests as this is simple refactoring.
  73047. * rendering/RenderReplaced.cpp:
  73048. (WebCore::RenderReplaced::paint):
  73049. (WebCore::RenderReplaced::shouldPaint):
  73050. * rendering/RenderReplaced.h:
  73051. * rendering/RenderWidget.cpp:
  73052. (WebCore::RenderWidget::paint):
  73053. 2011-06-06 James Simonsen <simonjam@chromium.org>
  73054. Reviewed by James Robinson.
  73055. Add monotonicallyIncreasingTime() to get monotonically increasing time
  73056. https://bugs.webkit.org/show_bug.cgi?id=37743
  73057. * platform/chromium/SystemTimeChromium.cpp:
  73058. (WebCore::monotonicallyIncreasingTime): Add primitive monotonicallyIncreasingTime() which just wraps currentTime().
  73059. 2011-06-06 Emil A Eklund <eae@chromium.org>
  73060. Reviewed by Eric Seidel.
  73061. Convert RenderBox::pushContentsClip to IntPoint
  73062. https://bugs.webkit.org/show_bug.cgi?id=62133
  73063. Covered by existing tests.
  73064. * rendering/RenderBlock.cpp:
  73065. (WebCore::Covered by existing tests.RenderBlock::paint):
  73066. * rendering/RenderBox.cpp:
  73067. (WebCore::RenderBox::pushContentsClip):
  73068. * rendering/RenderBox.h:
  73069. * rendering/RenderTable.cpp:
  73070. (WebCore::RenderTable::paint):
  73071. * rendering/RenderTableSection.cpp:
  73072. (WebCore::RenderTableSection::paint):
  73073. 2011-06-06 Levi Weintraub <leviw@chromium.org>
  73074. Reviewed by Eric Seidel.
  73075. Switch InlineFlowBox::paintMask to use IntPoint
  73076. https://bugs.webkit.org/show_bug.cgi?id=62156
  73077. Switching InlineFlowBox::paintMask to take an IntPoint representing the paint
  73078. offset instead of a pair of ints.
  73079. No new tests as this is simple refactoring.
  73080. * rendering/InlineFlowBox.cpp:
  73081. (WebCore::InlineFlowBox::paint):
  73082. (WebCore::InlineFlowBox::paintMask):
  73083. * rendering/InlineFlowBox.h:
  73084. 2011-06-06 Emil A Eklund <eae@chromium.org>
  73085. Reviewed by Eric Seidel.
  73086. Convert hitTest to IntPoint
  73087. https://bugs.webkit.org/show_bug.cgi?id=62144
  73088. Covered by existing tests.
  73089. * rendering/InlineBox.cpp:
  73090. (WebCore::InlineBox::nodeAtPoint):
  73091. * rendering/RenderBlock.cpp:
  73092. (WebCore::RenderBlock::hitTestFloats):
  73093. (WebCore::RenderBlock::hitTestContents):
  73094. * rendering/RenderInline.cpp:
  73095. (WebCore::RenderInline::nodeAtPoint):
  73096. * rendering/RenderLayer.cpp:
  73097. (WebCore::RenderLayer::hitTestContents):
  73098. * rendering/RenderLayer.h:
  73099. (WebCore::RenderLayer::renderBoxLocation):
  73100. (WebCore::RenderLayer::renderBoxX):
  73101. (WebCore::RenderLayer::renderBoxY):
  73102. * rendering/RenderLineBoxList.cpp:
  73103. (WebCore::RenderLineBoxList::hitTest):
  73104. * rendering/RenderLineBoxList.h:
  73105. * rendering/RenderObject.cpp:
  73106. (WebCore::RenderObject::hitTest):
  73107. * rendering/RenderObject.h:
  73108. 2011-06-06 Levi Weintraub <leviw@chromium.org>
  73109. Reviewed by Eric Seidel.
  73110. Switch paintScrollbar to use IntPoint
  73111. https://bugs.webkit.org/show_bug.cgi?id=62151
  73112. Switching paintScrollbar to use IntPoint instead of a pair of ints.
  73113. No new tests since this is simple refactoring.
  73114. * rendering/RenderListBox.cpp:
  73115. (WebCore::RenderListBox::paintObject):
  73116. (WebCore::RenderListBox::paintScrollbar):
  73117. * rendering/RenderListBox.h:
  73118. 2011-06-06 Daniel Cheng <dcheng@chromium.org>
  73119. Reviewed by Tony Chang.
  73120. [chromium] Delete dead clipboard code.
  73121. https://bugs.webkit.org/show_bug.cgi?id=62113
  73122. No new tests since this change only deleted unused code.
  73123. * WebCore.gypi:
  73124. * platform/chromium/ChromiumDataObjectLegacy.cpp: Removed.
  73125. * platform/chromium/ChromiumDataObjectLegacy.h: Removed.
  73126. * platform/chromium/ReadableDataObject.cpp: Removed.
  73127. * platform/chromium/ReadableDataObject.h: Removed.
  73128. * platform/chromium/WritableDataObject.cpp: Removed.
  73129. * platform/chromium/WritableDataObject.h: Removed.
  73130. 2011-06-06 Levi Weintraub <leviw@chromium.org>
  73131. Reviewed by Eric Seidel.
  73132. Switch paintOutline, paintContinuationOutlines, and paintOutlineForLine to use IntPoint
  73133. https://bugs.webkit.org/show_bug.cgi?id=62137
  73134. Switching paintOutline, paintContinuationOutlines, and paintOutlineForLine to take an IntPoint
  73135. representing the paint offset instead of a pair of ints.
  73136. No new tests as this is simple refactoring.
  73137. * rendering/RenderBlock.cpp:
  73138. (WebCore::RenderBlock::paintObject):
  73139. (WebCore::RenderBlock::paintContinuationOutlines):
  73140. * rendering/RenderBlock.h:
  73141. * rendering/RenderInline.cpp:
  73142. (WebCore::RenderInline::paintOutline):
  73143. (WebCore::RenderInline::paintOutlineForLine):
  73144. * rendering/RenderInline.h:
  73145. * rendering/RenderLineBoxList.cpp:
  73146. (WebCore::RenderLineBoxList::paint):
  73147. 2011-06-06 Emil A Eklund <eae@chromium.org>
  73148. Reviewed by Eric Seidel.
  73149. Convert RenderBox::popContentsClip to IntPoint
  73150. https://bugs.webkit.org/show_bug.cgi?id=62132
  73151. Covered by existing tests.
  73152. * rendering/RenderBlock.cpp:
  73153. (WebCore::RenderBlock::paint):
  73154. * rendering/RenderBox.cpp:
  73155. (WebCore::RenderBox::popContentsClip):
  73156. * rendering/RenderBox.h:
  73157. * rendering/RenderTable.cpp:
  73158. (WebCore::RenderTable::paint):
  73159. * rendering/RenderTableSection.cpp:
  73160. (WebCore::RenderTableSection::paint):
  73161. 2011-06-06 Levi Weintraub <leviw@chromium.org>
  73162. Reviewed by Eric Seidel.
  73163. Remove tx/ty offset from selectionRect
  73164. https://bugs.webkit.org/show_bug.cgi?id=62146
  73165. Removing unused offset parameters from selectionRect.
  73166. No new tests since this is just cleanup.
  73167. * rendering/EllipsisBox.cpp:
  73168. (WebCore::EllipsisBox::selectionRect):
  73169. * rendering/EllipsisBox.h:
  73170. * rendering/InlineTextBox.cpp:
  73171. (WebCore::InlineTextBox::selectionRect):
  73172. * rendering/InlineTextBox.h:
  73173. * rendering/RenderText.cpp:
  73174. (WebCore::RenderText::absoluteRectsForRange):
  73175. (WebCore::ellipsisRectForBox):
  73176. (WebCore::RenderText::absoluteQuadsForRange):
  73177. (WebCore::RenderText::selectionRectForRepaint):
  73178. * rendering/svg/RenderSVGInlineText.cpp:
  73179. (WebCore::RenderSVGInlineText::localCaretRect):
  73180. * rendering/svg/SVGInlineTextBox.cpp:
  73181. (WebCore::SVGInlineTextBox::selectionRect):
  73182. * rendering/svg/SVGInlineTextBox.h:
  73183. 2011-06-06 Paul Kinlan <paulkinlan@google.com>
  73184. Reviewed by Jeremy Orlow.
  73185. Let developers call createEvent("PopStateEvent"), previously it wasn't
  73186. exposed and threw an exeception.
  73187. https://bugs.webkit.org/show_bug.cgi?id=62099
  73188. * WebCore/dom/Document.cpp:
  73189. * WebCore/dom/PopStateEvent.cpp:
  73190. * WebCore/dom/PopStateEvent.h:
  73191. 2011-06-03 Levi Weintraub <leviw@chromium.org>
  73192. Reviewed by Eric Seidel.
  73193. Switch paintSelection to use IntPoint
  73194. https://bugs.webkit.org/show_bug.cgi?id=62059
  73195. Switching paintSelection to use an IntPoint to represent the paint offset
  73196. instead of a pair of ints.
  73197. No new tests since this is simple refactoring.
  73198. * rendering/EllipsisBox.cpp:
  73199. (WebCore::EllipsisBox::paint):
  73200. (WebCore::EllipsisBox::paintSelection):
  73201. * rendering/EllipsisBox.h:
  73202. * rendering/RenderBlock.cpp:
  73203. (WebCore::RenderBlock::paintObject):
  73204. (WebCore::RenderBlock::paintSelection):
  73205. * rendering/RenderBlock.h:
  73206. 2011-06-06 Emil A Eklund <eae@chromium.org>
  73207. Reviewed by Eric Seidel.
  73208. Convert RenderBox::clipRect to IntPoint
  73209. https://bugs.webkit.org/show_bug.cgi?id=62045
  73210. Covered by existing tests.
  73211. * rendering/RenderBox.cpp:
  73212. (WebCore::RenderBox::clipRect):
  73213. * rendering/RenderBox.h:
  73214. * rendering/RenderLayer.cpp:
  73215. (WebCore::RenderLayer::calculateClipRects):
  73216. (WebCore::RenderLayer::calculateRects):
  73217. (WebCore::RenderLayer::repaintBlockSelectionGaps):
  73218. * rendering/RenderLayerBacking.cpp:
  73219. (WebCore::clipBox):
  73220. 2011-06-06 Peter Kasting <pkasting@google.com>
  73221. Reviewed by Antonio Gomes.
  73222. Remove unnecessary args from scroll functions.
  73223. https://bugs.webkit.org/show_bug.cgi?id=61648
  73224. No behavior change, so no tests.
  73225. * WebCore.exp.in:
  73226. * WebCore.order:
  73227. * dom/Element.cpp:
  73228. (WebCore::Element::scrollIntoView):
  73229. (WebCore::Element::scrollIntoViewIfNeeded):
  73230. * editing/FrameSelection.cpp:
  73231. (WebCore::FrameSelection::revealSelection):
  73232. * page/EventHandler.cpp:
  73233. (WebCore::EventHandler::handleMousePressEvent):
  73234. * page/FrameView.cpp:
  73235. (WebCore::FrameView::scrollToAnchor):
  73236. * rendering/RenderBox.cpp:
  73237. (WebCore::RenderBox::canBeScrolledAndHasScrollableArea):
  73238. (WebCore::RenderBox::canBeProgramaticallyScrolled):
  73239. * rendering/RenderBox.h:
  73240. * rendering/RenderLayer.cpp:
  73241. (WebCore::RenderLayer::scrollRectToVisible):
  73242. (WebCore::RenderLayer::autoscroll):
  73243. * rendering/RenderLayer.h:
  73244. * rendering/RenderListBox.h:
  73245. (WebCore::RenderListBox::canBeProgramaticallyScrolled):
  73246. * rendering/RenderTextControl.h:
  73247. (WebCore::RenderTextControl::canBeProgramaticallyScrolled):
  73248. 2011-06-06 Levi Weintraub <leviw@chromium.org>
  73249. Reviewed by Eric Seidel.
  73250. Switch paintContents, paintColumnContents, paintColumnRules, and paintSelection to use IntPoint
  73251. https://bugs.webkit.org/show_bug.cgi?id=62134
  73252. Switching paintContents, paintColumnContents, paintColumnRules, and paintSelection to take an
  73253. IntPoint representing the paint offset instead of a pair of ints.
  73254. No new tests as this simple refactoring.
  73255. * rendering/RenderBlock.cpp:
  73256. (WebCore::RenderBlock::paintColumnRules):
  73257. (WebCore::RenderBlock::paintColumnContents):
  73258. (WebCore::RenderBlock::paintContents):
  73259. (WebCore::RenderBlock::paintObject):
  73260. (WebCore::RenderBlock::paintSelection):
  73261. * rendering/RenderBlock.h:
  73262. 2011-06-06 Yael Aharon <yael.aharon@nokia.com>
  73263. Reviewed by Eric Seidel.
  73264. Inline elements are wrapped prematurely with non-zero border, margin or padding.
  73265. https://bugs.webkit.org/show_bug.cgi?id=60459
  73266. When an inline element has a right border/margin/padding and it has more than one descendant with no siblings,
  73267. the width of the right border/margin/padding should be included in line breaking calculation only once,
  73268. and not for each descendant.
  73269. Test: fast/inline/inline-wrap-with-parent-padding.html
  73270. * rendering/RenderBlockLineLayout.cpp:
  73271. (WebCore::RenderBlock::LineBreaker::nextLineBreak):
  73272. 2011-06-06 Shishir Agrawal <shishir@chromium.org>
  73273. Reviewed by Tony Gentilcore.
  73274. Add a "prerender" state for page visibility.
  73275. https://bugs.webkit.org/show_bug.cgi?id=62062
  73276. * page/PageVisibilityState.cpp:
  73277. (WebCore::pageVisibilityStateString):
  73278. * page/PageVisibilityState.h:
  73279. 2011-06-06 Cary Clark <caryclark@google.com>
  73280. Reviewed by Eric Seidel.
  73281. Fix typo in CachedFont.cpp #define
  73282. https://bugs.webkit.org/show_bug.cgi?id=62127
  73283. No new tests. The define typo in question is
  73284. not yet enabled, so this change has no functional
  73285. impact.
  73286. * loader/cache/CachedFont.cpp:
  73287. change SKIA_MAC_ON_CHROME to SKIA_ON_MAC_CHROME
  73288. 2011-06-03 Levi Weintraub <leviw@chromium.org>
  73289. Reviewed by Eric Seidel.
  73290. Switch paintFloats, paintChildren, and paintEllipsisBoxes to use IntPoint
  73291. https://bugs.webkit.org/show_bug.cgi?id=62058
  73292. Switching paintFloats, paintChildren, and paintEllipsisBoxes to take IntPoints representing
  73293. their paint offsets instead of pairs of ints.
  73294. No new tests since this is simple refactoring.
  73295. * rendering/RenderBlock.cpp:
  73296. (WebCore::RenderBlock::paintColumnContents):
  73297. (WebCore::RenderBlock::paintContents):
  73298. (WebCore::RenderBlock::paintChildren):
  73299. (WebCore::RenderBlock::paintObject):
  73300. (WebCore::RenderBlock::paintFloats):
  73301. (WebCore::RenderBlock::paintEllipsisBoxes):
  73302. * rendering/RenderBlock.h:
  73303. 2011-06-06 Steve Block <steveblock@google.com>
  73304. Reviewed by Yury Semikhatsky.
  73305. Use of ENABLE(INSPECTOR) is inconsistent
  73306. https://bugs.webkit.org/show_bug.cgi?id=62118
  73307. Correctly guard implementation of ScriptProfiler.
  73308. No new tests, build fix only.
  73309. * bindings/v8/ScriptProfiler.cpp:
  73310. (WebCore::ScriptProfiler::initialize):
  73311. 2011-06-04 Dominic Cooney <dominicc@chromium.org>
  73312. Reviewed by Dimitri Glazkov.
  73313. Add WebCoreTestSupport project.
  73314. https://bugs.webkit.org/show_bug.cgi?id=61076
  73315. * WebCore.vcproj/WebCoreCommon.vsprops:
  73316. * WebCore.vcproj/WebCoreTestSupport.vcproj: Added.
  73317. * WebCore.vcproj/copyForwardingHeaders.cmd: Copy WebCoreTestSupport.h.
  73318. 2011-06-06 Alexandru Chiculita <achicu@adobe.com>
  73319. Reviewed by Kent Tamura.
  73320. Add ENABLE_CSS_EXCLUSIONS support for build-webkit script
  73321. https://bugs.webkit.org/show_bug.cgi?id=61628
  73322. This patch modifies only the build system. Therefore,
  73323. there are no new tests.
  73324. * Configurations/FeatureDefines.xcconfig:
  73325. 2011-06-06 Mihnea Ovidenie <mihnea@adobe.com>
  73326. Reviewed by Kent Tamura.
  73327. Add ENABLE(CSS_REGIONS) guard for CSS Regions support
  73328. https://bugs.webkit.org/show_bug.cgi?id=61631
  73329. This patch modifies only the build system. Therefore,
  73330. there are no new tests.
  73331. * Configurations/FeatureDefines.xcconfig:
  73332. 2011-06-03 Hans Wennborg <hans@chromium.org>
  73333. Reviewed by Tony Gentilcore.
  73334. IndexedDB: Clean-up function prototypes in IDBLevelDBBackingStore.cpp
  73335. https://bugs.webkit.org/show_bug.cgi?id=62013
  73336. Clean up the prototypes for cursor open functions by introducing the
  73337. CursorOptions struct.
  73338. Just clean-up, no new functionality so no new tests.
  73339. * storage/IDBLevelDBBackingStore.cpp:
  73340. (WebCore::CursorOptions::CursorImplCommon::CursorImplCommon):
  73341. (WebCore::CursorOptions::CursorImplCommon::firstSeek):
  73342. (WebCore::CursorOptions::CursorImplCommon::continueFunction):
  73343. (WebCore::CursorOptions::ObjectStoreCursorImpl::create):
  73344. (WebCore::CursorOptions::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
  73345. (WebCore::CursorOptions::IndexKeyCursorImpl::create):
  73346. (WebCore::CursorOptions::IndexKeyCursorImpl::IndexKeyCursorImpl):
  73347. (WebCore::CursorOptions::IndexCursorImpl::create):
  73348. (WebCore::CursorOptions::IndexCursorImpl::IndexCursorImpl):
  73349. (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
  73350. (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
  73351. (WebCore::IDBLevelDBBackingStore::openIndexCursor):
  73352. 2011-06-06 Mustafizur Rahaman <mustaf.here@gmail.com>
  73353. Reviewed by Darin Adler.
  73354. Fix LayoutTests/canvas/philip/tests/2d.composite.operation.highlight.html
  73355. https://bugs.webkit.org/show_bug.cgi?id=48290
  73356. "highlight" is not a valid globalComposite operation
  73357. as per http://www.w3.org/TR/2011/WD-2dcontext-20110525/#compositing
  73358. Therefore, removed the option from the source code.
  73359. Tests: No new tests required.
  73360. LayoutTests\canvas\philip\tests\2d.composite.operation.highlight.html can be used for testing.
  73361. * css/CSSPrimitiveValueMappings.h:
  73362. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  73363. (WebCore::CSSPrimitiveValue::operator CompositeOperator):
  73364. * platform/graphics/GraphicsTypes.cpp:
  73365. * platform/graphics/GraphicsTypes.h:
  73366. * platform/graphics/cairo/CairoUtilities.cpp:
  73367. (WebCore::toCairoOperator):
  73368. * platform/graphics/cg/GraphicsContextCG.cpp:
  73369. (WebCore::GraphicsContext::setPlatformCompositeOperation):
  73370. * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
  73371. (WebCore::SharedGraphicsContext3D::applyCompositeOperator):
  73372. * platform/graphics/openvg/PainterOpenVG.cpp:
  73373. (WebCore::PlatformPainterState::applyBlending):
  73374. * platform/graphics/qt/GraphicsContextQt.cpp:
  73375. (WebCore::toQtCompositionMode):
  73376. * platform/graphics/skia/SkiaUtils.cpp:
  73377. 2011-06-04 Abhishek Arya <inferno@chromium.org>
  73378. Reviewed by Kent Tamura.
  73379. Add some asserts for array boundary checks in TextRun. Fix
  73380. an integer issue in linux text controller code.
  73381. https://bugs.webkit.org/show_bug.cgi?id=62085
  73382. Testing ComplexTextControllerLinux change requires a testcase
  73383. > 32 kb which is not feasible. All other changes are tested by
  73384. existing layouttests.
  73385. * platform/graphics/TextRun.h:
  73386. (WebCore::TextRun::operator[]): add assert.
  73387. (WebCore::TextRun::data): add assert.
  73388. * platform/graphics/WidthIterator.cpp:
  73389. (WebCore::WidthIterator::advance): bail early and prevent access
  73390. to one byte across the text run boundary.
  73391. * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
  73392. (WebCore::ComplexTextController::getNormalizedTextRun): wrong
  73393. int16 vs int comparison.
  73394. * rendering/svg/SVGTextRunRenderingContext.cpp:
  73395. (WebCore::SVGTextRunWalker::walk): bail early when from and to
  73396. is outside the text run boundary. this hit easily after adding
  73397. the assert when from = to = end and read in run.data(from).
  73398. 2011-06-05 Kent Tamura <tkent@chromium.org>
  73399. Reviewed by Dimitri Glazkov.
  73400. Rolling out r84528.
  73401. http://trac.webkit.org/changeset/84528
  73402. https://bugs.webkit.org/show_bug.cgi?id=62100
  73403. It made several problems on elements with new shadow DOM.
  73404. * dom/Element.cpp:
  73405. (WebCore::Element::copyNonAttributeProperties):
  73406. 2011-06-05 Igor Oliveira <igor.oliveira@openbossa.org>
  73407. Reviewed by Kenneth Rohde Christiansen.
  73408. fast/viewport/viewport-45.html fails in GTK+/Qt
  73409. https://bugs.webkit.org/show_bug.cgi?id=47481
  73410. computeViewportAttributes does many math operations with float point arithmetic
  73411. and in some cases there is loss of precision making tests have incorrect values.
  73412. * dom/ViewportArguments.cpp:
  73413. (WebCore::computeViewportAttributes):
  73414. == Rolled over to ChangeLog-2011-06-04 ==