ChangeLog-2011-02-16 2.1 MB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627266282662926630266312663226633266342663526636266372663826639266402664126642266432664426645266462664726648266492665026651266522665326654266552665626657266582665926660266612666226663266642666526666266672666826669266702667126672266732667426675266762667726678266792668026681266822668326684266852668626687266882668926690266912669226693266942669526696266972669826699267002670126702267032670426705267062670726708267092671026711267122671326714267152671626717267182671926720267212672226723267242672526726267272672826729267302673126732267332673426735267362673726738267392674026741267422674326744267452674626747267482674926750267512675226753267542675526756267572675826759267602676126762267632676426765267662676726768267692677026771267722677326774267752677626777267782677926780267812678226783267842678526786267872678826789267902679126792267932679426795267962679726798267992680026801268022680326804268052680626807268082680926810268112681226813268142681526816268172681826819268202682126822268232682426825268262682726828268292683026831268322683326834268352683626837268382683926840268412684226843268442684526846268472684826849268502685126852268532685426855268562685726858268592686026861268622686326864268652686626867268682686926870268712687226873268742687526876268772687826879268802688126882268832688426885268862688726888268892689026891268922689326894268952689626897268982689926900269012690226903269042690526906269072690826909269102691126912269132691426915269162691726918269192692026921269222692326924269252692626927269282692926930269312693226933269342693526936269372693826939269402694126942269432694426945269462694726948269492695026951269522695326954269552695626957269582695926960269612696226963269642696526966269672696826969269702697126972269732697426975269762697726978269792698026981269822698326984269852698626987269882698926990269912699226993269942699526996269972699826999270002700127002270032700427005270062700727008270092701027011270122701327014270152701627017270182701927020270212702227023270242702527026270272702827029270302703127032270332703427035270362703727038270392704027041270422704327044270452704627047270482704927050270512705227053270542705527056270572705827059270602706127062270632706427065270662706727068270692707027071270722707327074270752707627077270782707927080270812708227083270842708527086270872708827089270902709127092270932709427095270962709727098270992710027101271022710327104271052710627107271082710927110271112711227113271142711527116271172711827119271202712127122271232712427125271262712727128271292713027131271322713327134271352713627137271382713927140271412714227143271442714527146271472714827149271502715127152271532715427155271562715727158271592716027161271622716327164271652716627167271682716927170271712717227173271742717527176271772717827179271802718127182271832718427185271862718727188271892719027191271922719327194271952719627197271982719927200272012720227203272042720527206272072720827209272102721127212272132721427215272162721727218272192722027221272222722327224272252722627227272282722927230272312723227233272342723527236272372723827239272402724127242272432724427245272462724727248272492725027251272522725327254272552725627257272582725927260272612726227263272642726527266272672726827269272702727127272272732727427275272762727727278272792728027281272822728327284272852728627287272882728927290272912729227293272942729527296272972729827299273002730127302273032730427305273062730727308273092731027311273122731327314273152731627317273182731927320273212732227323273242732527326273272732827329273302733127332273332733427335273362733727338273392734027341273422734327344273452734627347273482734927350273512735227353273542735527356273572735827359273602736127362273632736427365273662736727368273692737027371273722737327374273752737627377273782737927380273812738227383273842738527386273872738827389273902739127392273932739427395273962739727398273992740027401274022740327404274052740627407274082740927410274112741227413274142741527416274172741827419274202742127422274232742427425274262742727428274292743027431274322743327434274352743627437274382743927440274412744227443274442744527446274472744827449274502745127452274532745427455274562745727458274592746027461274622746327464274652746627467274682746927470274712747227473274742747527476274772747827479274802748127482274832748427485274862748727488274892749027491274922749327494274952749627497274982749927500275012750227503275042750527506275072750827509275102751127512275132751427515275162751727518275192752027521275222752327524275252752627527275282752927530275312753227533275342753527536275372753827539275402754127542275432754427545275462754727548275492755027551275522755327554275552755627557275582755927560275612756227563275642756527566275672756827569275702757127572275732757427575275762757727578275792758027581275822758327584275852758627587275882758927590275912759227593275942759527596275972759827599276002760127602276032760427605276062760727608276092761027611276122761327614276152761627617276182761927620276212762227623276242762527626276272762827629276302763127632276332763427635276362763727638276392764027641276422764327644276452764627647276482764927650276512765227653276542765527656276572765827659276602766127662276632766427665276662766727668276692767027671276722767327674276752767627677276782767927680276812768227683276842768527686276872768827689276902769127692276932769427695276962769727698276992770027701277022770327704277052770627707277082770927710277112771227713277142771527716277172771827719277202772127722277232772427725277262772727728277292773027731277322773327734277352773627737277382773927740277412774227743277442774527746277472774827749277502775127752277532775427755277562775727758277592776027761277622776327764277652776627767277682776927770277712777227773277742777527776277772777827779277802778127782277832778427785277862778727788277892779027791277922779327794277952779627797277982779927800278012780227803278042780527806278072780827809278102781127812278132781427815278162781727818278192782027821278222782327824278252782627827278282782927830278312783227833278342783527836278372783827839278402784127842278432784427845278462784727848278492785027851278522785327854278552785627857278582785927860278612786227863278642786527866278672786827869278702787127872278732787427875278762787727878278792788027881278822788327884278852788627887278882788927890278912789227893278942789527896278972789827899279002790127902279032790427905279062790727908279092791027911279122791327914279152791627917279182791927920279212792227923279242792527926279272792827929279302793127932279332793427935279362793727938279392794027941279422794327944279452794627947279482794927950279512795227953279542795527956279572795827959279602796127962279632796427965279662796727968279692797027971279722797327974279752797627977279782797927980279812798227983279842798527986279872798827989279902799127992279932799427995279962799727998279992800028001280022800328004280052800628007280082800928010280112801228013280142801528016280172801828019280202802128022280232802428025280262802728028280292803028031280322803328034280352803628037280382803928040280412804228043280442804528046280472804828049280502805128052280532805428055280562805728058280592806028061280622806328064280652806628067280682806928070280712807228073280742807528076280772807828079280802808128082280832808428085280862808728088280892809028091280922809328094280952809628097280982809928100281012810228103281042810528106281072810828109281102811128112281132811428115281162811728118281192812028121281222812328124281252812628127281282812928130281312813228133281342813528136281372813828139281402814128142281432814428145281462814728148281492815028151281522815328154281552815628157281582815928160281612816228163281642816528166281672816828169281702817128172281732817428175281762817728178281792818028181281822818328184281852818628187281882818928190281912819228193281942819528196281972819828199282002820128202282032820428205282062820728208282092821028211282122821328214282152821628217282182821928220282212822228223282242822528226282272822828229282302823128232282332823428235282362823728238282392824028241282422824328244282452824628247282482824928250282512825228253282542825528256282572825828259282602826128262282632826428265282662826728268282692827028271282722827328274282752827628277282782827928280282812828228283282842828528286282872828828289282902829128292282932829428295282962829728298282992830028301283022830328304283052830628307283082830928310283112831228313283142831528316283172831828319283202832128322283232832428325283262832728328283292833028331283322833328334283352833628337283382833928340283412834228343283442834528346283472834828349283502835128352283532835428355283562835728358283592836028361283622836328364283652836628367283682836928370283712837228373283742837528376283772837828379283802838128382283832838428385283862838728388283892839028391283922839328394283952839628397283982839928400284012840228403284042840528406284072840828409284102841128412284132841428415284162841728418284192842028421284222842328424284252842628427284282842928430284312843228433284342843528436284372843828439284402844128442284432844428445284462844728448284492845028451284522845328454284552845628457284582845928460284612846228463284642846528466284672846828469284702847128472284732847428475284762847728478284792848028481284822848328484284852848628487284882848928490284912849228493284942849528496284972849828499285002850128502285032850428505285062850728508285092851028511285122851328514285152851628517285182851928520285212852228523285242852528526285272852828529285302853128532285332853428535285362853728538285392854028541285422854328544285452854628547285482854928550285512855228553285542855528556285572855828559285602856128562285632856428565285662856728568285692857028571285722857328574285752857628577285782857928580285812858228583285842858528586285872858828589285902859128592285932859428595285962859728598285992860028601286022860328604286052860628607286082860928610286112861228613286142861528616286172861828619286202862128622286232862428625286262862728628286292863028631286322863328634286352863628637286382863928640286412864228643286442864528646286472864828649286502865128652286532865428655286562865728658286592866028661286622866328664286652866628667286682866928670286712867228673286742867528676286772867828679286802868128682286832868428685286862868728688286892869028691286922869328694286952869628697286982869928700287012870228703287042870528706287072870828709287102871128712287132871428715287162871728718287192872028721287222872328724287252872628727287282872928730287312873228733287342873528736287372873828739287402874128742287432874428745287462874728748287492875028751287522875328754287552875628757287582875928760287612876228763287642876528766287672876828769287702877128772287732877428775287762877728778287792878028781287822878328784287852878628787287882878928790287912879228793287942879528796287972879828799288002880128802288032880428805288062880728808288092881028811288122881328814288152881628817288182881928820288212882228823288242882528826288272882828829288302883128832288332883428835288362883728838288392884028841288422884328844288452884628847288482884928850288512885228853288542885528856288572885828859288602886128862288632886428865288662886728868288692887028871288722887328874288752887628877288782887928880288812888228883288842888528886288872888828889288902889128892288932889428895288962889728898288992890028901289022890328904289052890628907289082890928910289112891228913289142891528916289172891828919289202892128922289232892428925289262892728928289292893028931289322893328934289352893628937289382893928940289412894228943289442894528946289472894828949289502895128952289532895428955289562895728958289592896028961289622896328964289652896628967289682896928970289712897228973289742897528976289772897828979289802898128982289832898428985289862898728988289892899028991289922899328994289952899628997289982899929000290012900229003290042900529006290072900829009290102901129012290132901429015290162901729018290192902029021290222902329024290252902629027290282902929030290312903229033290342903529036290372903829039290402904129042290432904429045290462904729048290492905029051290522905329054290552905629057290582905929060290612906229063290642906529066290672906829069290702907129072290732907429075290762907729078290792908029081290822908329084290852908629087290882908929090290912909229093290942909529096290972909829099291002910129102291032910429105291062910729108291092911029111291122911329114291152911629117291182911929120291212912229123291242912529126291272912829129291302913129132291332913429135291362913729138291392914029141291422914329144291452914629147291482914929150291512915229153291542915529156291572915829159291602916129162291632916429165291662916729168291692917029171291722917329174291752917629177291782917929180291812918229183291842918529186291872918829189291902919129192291932919429195291962919729198291992920029201292022920329204292052920629207292082920929210292112921229213292142921529216292172921829219292202922129222292232922429225292262922729228292292923029231292322923329234292352923629237292382923929240292412924229243292442924529246292472924829249292502925129252292532925429255292562925729258292592926029261292622926329264292652926629267292682926929270292712927229273292742927529276292772927829279292802928129282292832928429285292862928729288292892929029291292922929329294292952929629297292982929929300293012930229303293042930529306293072930829309293102931129312293132931429315293162931729318293192932029321293222932329324293252932629327293282932929330293312933229333293342933529336293372933829339293402934129342293432934429345293462934729348293492935029351293522935329354293552935629357293582935929360293612936229363293642936529366293672936829369293702937129372293732937429375293762937729378293792938029381293822938329384293852938629387293882938929390293912939229393293942939529396293972939829399294002940129402294032940429405294062940729408294092941029411294122941329414294152941629417294182941929420294212942229423294242942529426294272942829429294302943129432294332943429435294362943729438294392944029441294422944329444294452944629447294482944929450294512945229453294542945529456294572945829459294602946129462294632946429465294662946729468294692947029471294722947329474294752947629477294782947929480294812948229483294842948529486294872948829489294902949129492294932949429495294962949729498294992950029501295022950329504295052950629507295082950929510295112951229513295142951529516295172951829519295202952129522295232952429525295262952729528295292953029531295322953329534295352953629537295382953929540295412954229543295442954529546295472954829549295502955129552295532955429555295562955729558295592956029561295622956329564295652956629567295682956929570295712957229573295742957529576295772957829579295802958129582295832958429585295862958729588295892959029591295922959329594295952959629597295982959929600296012960229603296042960529606296072960829609296102961129612296132961429615296162961729618296192962029621296222962329624296252962629627296282962929630296312963229633296342963529636296372963829639296402964129642296432964429645296462964729648296492965029651296522965329654296552965629657296582965929660296612966229663296642966529666296672966829669296702967129672296732967429675296762967729678296792968029681296822968329684296852968629687296882968929690296912969229693296942969529696296972969829699297002970129702297032970429705297062970729708297092971029711297122971329714297152971629717297182971929720297212972229723297242972529726297272972829729297302973129732297332973429735297362973729738297392974029741297422974329744297452974629747297482974929750297512975229753297542975529756297572975829759297602976129762297632976429765297662976729768297692977029771297722977329774297752977629777297782977929780297812978229783297842978529786297872978829789297902979129792297932979429795297962979729798297992980029801298022980329804298052980629807298082980929810298112981229813298142981529816298172981829819298202982129822298232982429825298262982729828298292983029831298322983329834298352983629837298382983929840298412984229843298442984529846298472984829849298502985129852298532985429855298562985729858298592986029861298622986329864298652986629867298682986929870298712987229873298742987529876298772987829879298802988129882298832988429885298862988729888298892989029891298922989329894298952989629897298982989929900299012990229903299042990529906299072990829909299102991129912299132991429915299162991729918299192992029921299222992329924299252992629927299282992929930299312993229933299342993529936299372993829939299402994129942299432994429945299462994729948299492995029951299522995329954299552995629957299582995929960299612996229963299642996529966299672996829969299702997129972299732997429975299762997729978299792998029981299822998329984299852998629987299882998929990299912999229993299942999529996299972999829999300003000130002300033000430005300063000730008300093001030011300123001330014300153001630017300183001930020300213002230023300243002530026300273002830029300303003130032300333003430035300363003730038300393004030041300423004330044300453004630047300483004930050300513005230053300543005530056300573005830059300603006130062300633006430065300663006730068300693007030071300723007330074300753007630077300783007930080300813008230083300843008530086300873008830089300903009130092300933009430095300963009730098300993010030101301023010330104301053010630107301083010930110301113011230113301143011530116301173011830119301203012130122301233012430125301263012730128301293013030131301323013330134301353013630137301383013930140301413014230143301443014530146301473014830149301503015130152301533015430155301563015730158301593016030161301623016330164301653016630167301683016930170301713017230173301743017530176301773017830179301803018130182301833018430185301863018730188301893019030191301923019330194301953019630197301983019930200302013020230203302043020530206302073020830209302103021130212302133021430215302163021730218302193022030221302223022330224302253022630227302283022930230302313023230233302343023530236302373023830239302403024130242302433024430245302463024730248302493025030251302523025330254302553025630257302583025930260302613026230263302643026530266302673026830269302703027130272302733027430275302763027730278302793028030281302823028330284302853028630287302883028930290302913029230293302943029530296302973029830299303003030130302303033030430305303063030730308303093031030311303123031330314303153031630317303183031930320303213032230323303243032530326303273032830329303303033130332303333033430335303363033730338303393034030341303423034330344303453034630347303483034930350303513035230353303543035530356303573035830359303603036130362303633036430365303663036730368303693037030371303723037330374303753037630377303783037930380303813038230383303843038530386303873038830389303903039130392303933039430395303963039730398303993040030401304023040330404304053040630407304083040930410304113041230413304143041530416304173041830419304203042130422304233042430425304263042730428304293043030431304323043330434304353043630437304383043930440304413044230443304443044530446304473044830449304503045130452304533045430455304563045730458304593046030461304623046330464304653046630467304683046930470304713047230473304743047530476304773047830479304803048130482304833048430485304863048730488304893049030491304923049330494304953049630497304983049930500305013050230503305043050530506305073050830509305103051130512305133051430515305163051730518305193052030521305223052330524305253052630527305283052930530305313053230533305343053530536305373053830539305403054130542305433054430545305463054730548305493055030551305523055330554305553055630557305583055930560305613056230563305643056530566305673056830569305703057130572305733057430575305763057730578305793058030581305823058330584305853058630587305883058930590305913059230593305943059530596305973059830599306003060130602306033060430605306063060730608306093061030611306123061330614306153061630617306183061930620306213062230623306243062530626306273062830629306303063130632306333063430635306363063730638306393064030641306423064330644306453064630647306483064930650306513065230653306543065530656306573065830659306603066130662306633066430665306663066730668306693067030671306723067330674306753067630677306783067930680306813068230683306843068530686306873068830689306903069130692306933069430695306963069730698306993070030701307023070330704307053070630707307083070930710307113071230713307143071530716307173071830719307203072130722307233072430725307263072730728307293073030731307323073330734307353073630737307383073930740307413074230743307443074530746307473074830749307503075130752307533075430755307563075730758307593076030761307623076330764307653076630767307683076930770307713077230773307743077530776307773077830779307803078130782307833078430785307863078730788307893079030791307923079330794307953079630797307983079930800308013080230803308043080530806308073080830809308103081130812308133081430815308163081730818308193082030821308223082330824308253082630827308283082930830308313083230833308343083530836308373083830839308403084130842308433084430845308463084730848308493085030851308523085330854308553085630857308583085930860308613086230863308643086530866308673086830869308703087130872308733087430875308763087730878308793088030881308823088330884308853088630887308883088930890308913089230893308943089530896308973089830899309003090130902309033090430905309063090730908309093091030911309123091330914309153091630917309183091930920309213092230923309243092530926309273092830929309303093130932309333093430935309363093730938309393094030941309423094330944309453094630947309483094930950309513095230953309543095530956309573095830959309603096130962309633096430965309663096730968309693097030971309723097330974309753097630977309783097930980309813098230983309843098530986309873098830989309903099130992309933099430995309963099730998309993100031001310023100331004310053100631007310083100931010310113101231013310143101531016310173101831019310203102131022310233102431025310263102731028310293103031031310323103331034310353103631037310383103931040310413104231043310443104531046310473104831049310503105131052310533105431055310563105731058310593106031061310623106331064310653106631067310683106931070310713107231073310743107531076310773107831079310803108131082310833108431085310863108731088310893109031091310923109331094310953109631097310983109931100311013110231103311043110531106311073110831109311103111131112311133111431115311163111731118311193112031121311223112331124311253112631127311283112931130311313113231133311343113531136311373113831139311403114131142311433114431145311463114731148311493115031151311523115331154311553115631157311583115931160311613116231163311643116531166311673116831169311703117131172311733117431175311763117731178311793118031181311823118331184311853118631187311883118931190311913119231193311943119531196311973119831199312003120131202312033120431205312063120731208312093121031211312123121331214312153121631217312183121931220312213122231223312243122531226312273122831229312303123131232312333123431235312363123731238312393124031241312423124331244312453124631247312483124931250312513125231253312543125531256312573125831259312603126131262312633126431265312663126731268312693127031271312723127331274312753127631277312783127931280312813128231283312843128531286312873128831289312903129131292312933129431295312963129731298312993130031301313023130331304313053130631307313083130931310313113131231313313143131531316313173131831319313203132131322313233132431325313263132731328313293133031331313323133331334313353133631337313383133931340313413134231343313443134531346313473134831349313503135131352313533135431355313563135731358313593136031361313623136331364313653136631367313683136931370313713137231373313743137531376313773137831379313803138131382313833138431385313863138731388313893139031391313923139331394313953139631397313983139931400314013140231403314043140531406314073140831409314103141131412314133141431415314163141731418314193142031421314223142331424314253142631427314283142931430314313143231433314343143531436314373143831439314403144131442314433144431445314463144731448314493145031451314523145331454314553145631457314583145931460314613146231463314643146531466314673146831469314703147131472314733147431475314763147731478314793148031481314823148331484314853148631487314883148931490314913149231493314943149531496314973149831499315003150131502315033150431505315063150731508315093151031511315123151331514315153151631517315183151931520315213152231523315243152531526315273152831529315303153131532315333153431535315363153731538315393154031541315423154331544315453154631547315483154931550315513155231553315543155531556315573155831559315603156131562315633156431565315663156731568315693157031571315723157331574315753157631577315783157931580315813158231583315843158531586315873158831589315903159131592315933159431595315963159731598315993160031601316023160331604316053160631607316083160931610316113161231613316143161531616316173161831619316203162131622316233162431625316263162731628316293163031631316323163331634316353163631637316383163931640316413164231643316443164531646316473164831649316503165131652316533165431655316563165731658316593166031661316623166331664316653166631667316683166931670316713167231673316743167531676316773167831679316803168131682316833168431685316863168731688316893169031691316923169331694316953169631697316983169931700317013170231703317043170531706317073170831709317103171131712317133171431715317163171731718317193172031721317223172331724317253172631727317283172931730317313173231733317343173531736317373173831739317403174131742317433174431745317463174731748317493175031751317523175331754317553175631757317583175931760317613176231763317643176531766317673176831769317703177131772317733177431775317763177731778317793178031781317823178331784317853178631787317883178931790317913179231793317943179531796317973179831799318003180131802318033180431805318063180731808318093181031811318123181331814318153181631817318183181931820318213182231823318243182531826318273182831829318303183131832318333183431835318363183731838318393184031841318423184331844318453184631847318483184931850318513185231853318543185531856318573185831859318603186131862318633186431865318663186731868318693187031871318723187331874318753187631877318783187931880318813188231883318843188531886318873188831889318903189131892318933189431895318963189731898318993190031901319023190331904319053190631907319083190931910319113191231913319143191531916319173191831919319203192131922319233192431925319263192731928319293193031931319323193331934319353193631937319383193931940319413194231943319443194531946319473194831949319503195131952319533195431955319563195731958319593196031961319623196331964319653196631967319683196931970319713197231973319743197531976319773197831979319803198131982319833198431985319863198731988319893199031991319923199331994319953199631997319983199932000320013200232003320043200532006320073200832009320103201132012320133201432015320163201732018320193202032021320223202332024320253202632027320283202932030320313203232033320343203532036320373203832039320403204132042320433204432045320463204732048320493205032051320523205332054320553205632057320583205932060320613206232063320643206532066320673206832069320703207132072320733207432075320763207732078320793208032081320823208332084320853208632087320883208932090320913209232093320943209532096320973209832099321003210132102321033210432105321063210732108321093211032111321123211332114321153211632117321183211932120321213212232123321243212532126321273212832129321303213132132321333213432135321363213732138321393214032141321423214332144321453214632147321483214932150321513215232153321543215532156321573215832159321603216132162321633216432165321663216732168321693217032171321723217332174321753217632177321783217932180321813218232183321843218532186321873218832189321903219132192321933219432195321963219732198321993220032201322023220332204322053220632207322083220932210322113221232213322143221532216322173221832219322203222132222322233222432225322263222732228322293223032231322323223332234322353223632237322383223932240322413224232243322443224532246322473224832249322503225132252322533225432255322563225732258322593226032261322623226332264322653226632267322683226932270322713227232273322743227532276322773227832279322803228132282322833228432285322863228732288322893229032291322923229332294322953229632297322983229932300323013230232303323043230532306323073230832309323103231132312323133231432315323163231732318323193232032321323223232332324323253232632327323283232932330323313233232333323343233532336323373233832339323403234132342323433234432345323463234732348323493235032351323523235332354323553235632357323583235932360323613236232363323643236532366323673236832369323703237132372323733237432375323763237732378323793238032381323823238332384323853238632387323883238932390323913239232393323943239532396323973239832399324003240132402324033240432405324063240732408324093241032411324123241332414324153241632417324183241932420324213242232423324243242532426324273242832429324303243132432324333243432435324363243732438324393244032441324423244332444324453244632447324483244932450324513245232453324543245532456324573245832459324603246132462324633246432465324663246732468324693247032471324723247332474324753247632477324783247932480324813248232483324843248532486324873248832489324903249132492324933249432495324963249732498324993250032501325023250332504325053250632507325083250932510325113251232513325143251532516325173251832519325203252132522325233252432525325263252732528325293253032531325323253332534325353253632537325383253932540325413254232543325443254532546325473254832549325503255132552325533255432555325563255732558325593256032561325623256332564325653256632567325683256932570325713257232573325743257532576325773257832579325803258132582325833258432585325863258732588325893259032591325923259332594325953259632597325983259932600326013260232603326043260532606326073260832609326103261132612326133261432615326163261732618326193262032621326223262332624326253262632627326283262932630326313263232633326343263532636326373263832639326403264132642326433264432645326463264732648326493265032651326523265332654326553265632657326583265932660326613266232663326643266532666326673266832669326703267132672326733267432675326763267732678326793268032681326823268332684326853268632687326883268932690326913269232693326943269532696326973269832699327003270132702327033270432705327063270732708327093271032711327123271332714327153271632717327183271932720327213272232723327243272532726327273272832729327303273132732327333273432735327363273732738327393274032741327423274332744327453274632747327483274932750327513275232753327543275532756327573275832759327603276132762327633276432765327663276732768327693277032771327723277332774327753277632777327783277932780327813278232783327843278532786327873278832789327903279132792327933279432795327963279732798327993280032801328023280332804328053280632807328083280932810328113281232813328143281532816328173281832819328203282132822328233282432825328263282732828328293283032831328323283332834328353283632837328383283932840328413284232843328443284532846328473284832849328503285132852328533285432855328563285732858328593286032861328623286332864328653286632867328683286932870328713287232873328743287532876328773287832879328803288132882328833288432885328863288732888328893289032891328923289332894328953289632897328983289932900329013290232903329043290532906329073290832909329103291132912329133291432915329163291732918329193292032921329223292332924329253292632927329283292932930329313293232933329343293532936329373293832939329403294132942329433294432945329463294732948329493295032951329523295332954329553295632957329583295932960329613296232963329643296532966329673296832969329703297132972329733297432975329763297732978329793298032981329823298332984329853298632987329883298932990329913299232993329943299532996329973299832999330003300133002330033300433005330063300733008330093301033011330123301333014330153301633017330183301933020330213302233023330243302533026330273302833029330303303133032330333303433035330363303733038330393304033041330423304333044330453304633047330483304933050330513305233053330543305533056330573305833059330603306133062330633306433065330663306733068330693307033071330723307333074330753307633077330783307933080330813308233083330843308533086330873308833089330903309133092330933309433095330963309733098330993310033101331023310333104331053310633107331083310933110331113311233113331143311533116331173311833119331203312133122331233312433125331263312733128331293313033131331323313333134331353313633137331383313933140331413314233143331443314533146331473314833149331503315133152331533315433155331563315733158331593316033161331623316333164331653316633167331683316933170331713317233173331743317533176331773317833179331803318133182331833318433185331863318733188331893319033191331923319333194331953319633197331983319933200332013320233203332043320533206332073320833209332103321133212332133321433215332163321733218332193322033221332223322333224332253322633227332283322933230332313323233233332343323533236332373323833239332403324133242332433324433245332463324733248332493325033251332523325333254332553325633257332583325933260332613326233263332643326533266332673326833269332703327133272332733327433275332763327733278332793328033281332823328333284332853328633287332883328933290332913329233293332943329533296332973329833299333003330133302333033330433305333063330733308333093331033311333123331333314333153331633317333183331933320333213332233323333243332533326333273332833329333303333133332333333333433335333363333733338333393334033341333423334333344333453334633347333483334933350333513335233353333543335533356333573335833359333603336133362333633336433365333663336733368333693337033371333723337333374333753337633377333783337933380333813338233383333843338533386333873338833389333903339133392333933339433395333963339733398333993340033401334023340333404334053340633407334083340933410334113341233413334143341533416334173341833419334203342133422334233342433425334263342733428334293343033431334323343333434334353343633437334383343933440334413344233443334443344533446334473344833449334503345133452334533345433455334563345733458334593346033461334623346333464334653346633467334683346933470334713347233473334743347533476334773347833479334803348133482334833348433485334863348733488334893349033491334923349333494334953349633497334983349933500335013350233503335043350533506335073350833509335103351133512335133351433515335163351733518335193352033521335223352333524335253352633527335283352933530335313353233533335343353533536335373353833539335403354133542335433354433545335463354733548335493355033551335523355333554335553355633557335583355933560335613356233563335643356533566335673356833569335703357133572335733357433575335763357733578335793358033581335823358333584335853358633587335883358933590335913359233593335943359533596335973359833599336003360133602336033360433605336063360733608336093361033611336123361333614336153361633617336183361933620336213362233623336243362533626336273362833629336303363133632336333363433635336363363733638336393364033641336423364333644336453364633647336483364933650336513365233653336543365533656336573365833659336603366133662336633366433665336663366733668336693367033671336723367333674336753367633677336783367933680336813368233683336843368533686336873368833689336903369133692336933369433695336963369733698336993370033701337023370333704337053370633707337083370933710337113371233713337143371533716337173371833719337203372133722337233372433725337263372733728337293373033731337323373333734337353373633737337383373933740337413374233743337443374533746337473374833749337503375133752337533375433755337563375733758337593376033761337623376333764337653376633767337683376933770337713377233773337743377533776337773377833779337803378133782337833378433785337863378733788337893379033791337923379333794337953379633797337983379933800338013380233803338043380533806338073380833809338103381133812338133381433815338163381733818338193382033821338223382333824338253382633827338283382933830338313383233833338343383533836338373383833839338403384133842338433384433845338463384733848338493385033851338523385333854338553385633857338583385933860338613386233863338643386533866338673386833869338703387133872338733387433875338763387733878338793388033881338823388333884338853388633887338883388933890338913389233893338943389533896338973389833899339003390133902339033390433905339063390733908339093391033911339123391333914339153391633917339183391933920339213392233923339243392533926339273392833929339303393133932339333393433935339363393733938339393394033941339423394333944339453394633947339483394933950339513395233953339543395533956339573395833959339603396133962339633396433965339663396733968339693397033971339723397333974339753397633977339783397933980339813398233983339843398533986339873398833989339903399133992339933399433995339963399733998339993400034001340023400334004340053400634007340083400934010340113401234013340143401534016340173401834019340203402134022340233402434025340263402734028340293403034031340323403334034340353403634037340383403934040340413404234043340443404534046340473404834049340503405134052340533405434055340563405734058340593406034061340623406334064340653406634067340683406934070340713407234073340743407534076340773407834079340803408134082340833408434085340863408734088340893409034091340923409334094340953409634097340983409934100341013410234103341043410534106341073410834109341103411134112341133411434115341163411734118341193412034121341223412334124341253412634127341283412934130341313413234133341343413534136341373413834139341403414134142341433414434145341463414734148341493415034151341523415334154341553415634157341583415934160341613416234163341643416534166341673416834169341703417134172341733417434175341763417734178341793418034181341823418334184341853418634187341883418934190341913419234193341943419534196341973419834199342003420134202342033420434205342063420734208342093421034211342123421334214342153421634217342183421934220342213422234223342243422534226342273422834229342303423134232342333423434235342363423734238342393424034241342423424334244342453424634247342483424934250342513425234253342543425534256342573425834259342603426134262342633426434265342663426734268342693427034271342723427334274342753427634277342783427934280342813428234283342843428534286342873428834289342903429134292342933429434295342963429734298342993430034301343023430334304343053430634307343083430934310343113431234313343143431534316343173431834319343203432134322343233432434325343263432734328343293433034331343323433334334343353433634337343383433934340343413434234343343443434534346343473434834349343503435134352343533435434355343563435734358343593436034361343623436334364343653436634367343683436934370343713437234373343743437534376343773437834379343803438134382343833438434385343863438734388343893439034391343923439334394343953439634397343983439934400344013440234403344043440534406344073440834409344103441134412344133441434415344163441734418344193442034421344223442334424344253442634427344283442934430344313443234433344343443534436344373443834439344403444134442344433444434445344463444734448344493445034451344523445334454344553445634457344583445934460344613446234463344643446534466344673446834469344703447134472344733447434475344763447734478344793448034481344823448334484344853448634487344883448934490344913449234493344943449534496344973449834499345003450134502345033450434505345063450734508345093451034511345123451334514345153451634517345183451934520345213452234523345243452534526345273452834529345303453134532345333453434535345363453734538345393454034541345423454334544345453454634547345483454934550345513455234553345543455534556345573455834559345603456134562345633456434565345663456734568345693457034571345723457334574345753457634577345783457934580345813458234583345843458534586345873458834589345903459134592345933459434595345963459734598345993460034601346023460334604346053460634607346083460934610346113461234613346143461534616346173461834619346203462134622346233462434625346263462734628346293463034631346323463334634346353463634637346383463934640346413464234643346443464534646346473464834649346503465134652346533465434655346563465734658346593466034661346623466334664346653466634667346683466934670346713467234673346743467534676346773467834679346803468134682346833468434685346863468734688346893469034691346923469334694346953469634697346983469934700347013470234703347043470534706347073470834709347103471134712347133471434715347163471734718347193472034721347223472334724347253472634727347283472934730347313473234733347343473534736347373473834739347403474134742347433474434745347463474734748347493475034751347523475334754347553475634757347583475934760347613476234763347643476534766347673476834769347703477134772347733477434775347763477734778347793478034781347823478334784347853478634787347883478934790347913479234793347943479534796347973479834799348003480134802348033480434805348063480734808348093481034811348123481334814348153481634817348183481934820348213482234823348243482534826348273482834829348303483134832348333483434835348363483734838348393484034841348423484334844348453484634847348483484934850348513485234853348543485534856348573485834859348603486134862348633486434865348663486734868348693487034871348723487334874348753487634877348783487934880348813488234883348843488534886348873488834889348903489134892348933489434895348963489734898348993490034901349023490334904349053490634907349083490934910349113491234913349143491534916349173491834919349203492134922349233492434925349263492734928349293493034931349323493334934349353493634937349383493934940349413494234943349443494534946349473494834949349503495134952349533495434955349563495734958349593496034961349623496334964349653496634967349683496934970349713497234973349743497534976349773497834979349803498134982349833498434985349863498734988349893499034991349923499334994349953499634997349983499935000350013500235003350043500535006350073500835009350103501135012350133501435015350163501735018350193502035021350223502335024350253502635027350283502935030350313503235033350343503535036350373503835039350403504135042350433504435045350463504735048350493505035051350523505335054350553505635057350583505935060350613506235063350643506535066350673506835069350703507135072350733507435075350763507735078350793508035081350823508335084350853508635087350883508935090350913509235093350943509535096350973509835099351003510135102351033510435105351063510735108351093511035111351123511335114351153511635117351183511935120351213512235123351243512535126351273512835129351303513135132351333513435135351363513735138351393514035141351423514335144351453514635147351483514935150351513515235153351543515535156351573515835159351603516135162351633516435165351663516735168351693517035171351723517335174351753517635177351783517935180351813518235183351843518535186351873518835189351903519135192351933519435195351963519735198351993520035201352023520335204352053520635207352083520935210352113521235213352143521535216352173521835219352203522135222352233522435225352263522735228352293523035231352323523335234352353523635237352383523935240352413524235243352443524535246352473524835249352503525135252352533525435255352563525735258352593526035261352623526335264352653526635267352683526935270352713527235273352743527535276352773527835279352803528135282352833528435285352863528735288352893529035291352923529335294352953529635297352983529935300353013530235303353043530535306353073530835309353103531135312353133531435315353163531735318353193532035321353223532335324353253532635327353283532935330353313533235333353343533535336353373533835339353403534135342353433534435345353463534735348353493535035351353523535335354353553535635357353583535935360353613536235363353643536535366353673536835369353703537135372353733537435375353763537735378353793538035381353823538335384353853538635387353883538935390353913539235393353943539535396353973539835399354003540135402354033540435405354063540735408354093541035411354123541335414354153541635417354183541935420354213542235423354243542535426354273542835429354303543135432354333543435435354363543735438354393544035441354423544335444354453544635447354483544935450354513545235453354543545535456354573545835459354603546135462354633546435465354663546735468354693547035471354723547335474354753547635477354783547935480354813548235483354843548535486354873548835489354903549135492354933549435495354963549735498354993550035501355023550335504355053550635507355083550935510355113551235513355143551535516355173551835519355203552135522355233552435525355263552735528355293553035531355323553335534355353553635537355383553935540355413554235543355443554535546355473554835549355503555135552355533555435555355563555735558355593556035561355623556335564355653556635567355683556935570355713557235573355743557535576355773557835579355803558135582355833558435585355863558735588355893559035591355923559335594355953559635597355983559935600356013560235603356043560535606356073560835609356103561135612356133561435615356163561735618356193562035621356223562335624356253562635627356283562935630356313563235633356343563535636356373563835639356403564135642356433564435645356463564735648356493565035651356523565335654356553565635657356583565935660356613566235663356643566535666356673566835669356703567135672356733567435675356763567735678356793568035681356823568335684356853568635687356883568935690356913569235693356943569535696356973569835699357003570135702357033570435705357063570735708357093571035711357123571335714357153571635717357183571935720357213572235723357243572535726357273572835729357303573135732357333573435735357363573735738357393574035741357423574335744357453574635747357483574935750357513575235753357543575535756357573575835759357603576135762357633576435765357663576735768357693577035771357723577335774357753577635777357783577935780357813578235783357843578535786357873578835789357903579135792357933579435795357963579735798357993580035801358023580335804358053580635807358083580935810358113581235813358143581535816358173581835819358203582135822358233582435825358263582735828358293583035831358323583335834358353583635837358383583935840358413584235843358443584535846358473584835849358503585135852358533585435855358563585735858358593586035861358623586335864358653586635867358683586935870358713587235873358743587535876358773587835879358803588135882358833588435885358863588735888358893589035891358923589335894358953589635897358983589935900359013590235903359043590535906359073590835909359103591135912359133591435915359163591735918359193592035921359223592335924359253592635927359283592935930359313593235933359343593535936359373593835939359403594135942359433594435945359463594735948359493595035951359523595335954359553595635957359583595935960359613596235963359643596535966359673596835969359703597135972359733597435975359763597735978359793598035981359823598335984359853598635987359883598935990359913599235993359943599535996359973599835999360003600136002360033600436005360063600736008360093601036011360123601336014360153601636017360183601936020360213602236023360243602536026360273602836029360303603136032360333603436035360363603736038360393604036041360423604336044360453604636047360483604936050360513605236053360543605536056360573605836059360603606136062360633606436065360663606736068360693607036071360723607336074360753607636077360783607936080360813608236083360843608536086360873608836089360903609136092360933609436095360963609736098360993610036101361023610336104361053610636107361083610936110361113611236113361143611536116361173611836119361203612136122361233612436125361263612736128361293613036131361323613336134361353613636137361383613936140361413614236143361443614536146361473614836149361503615136152361533615436155361563615736158361593616036161361623616336164361653616636167361683616936170361713617236173361743617536176361773617836179361803618136182361833618436185361863618736188361893619036191361923619336194361953619636197361983619936200362013620236203362043620536206362073620836209362103621136212362133621436215362163621736218362193622036221362223622336224362253622636227362283622936230362313623236233362343623536236362373623836239362403624136242362433624436245362463624736248362493625036251362523625336254362553625636257362583625936260362613626236263362643626536266362673626836269362703627136272362733627436275362763627736278362793628036281362823628336284362853628636287362883628936290362913629236293362943629536296362973629836299363003630136302363033630436305363063630736308363093631036311363123631336314363153631636317363183631936320363213632236323363243632536326363273632836329363303633136332363333633436335363363633736338363393634036341363423634336344363453634636347363483634936350363513635236353363543635536356363573635836359363603636136362363633636436365363663636736368363693637036371363723637336374363753637636377363783637936380363813638236383363843638536386363873638836389363903639136392363933639436395363963639736398363993640036401364023640336404364053640636407364083640936410364113641236413364143641536416364173641836419364203642136422364233642436425364263642736428364293643036431364323643336434364353643636437364383643936440364413644236443364443644536446364473644836449364503645136452364533645436455364563645736458364593646036461364623646336464364653646636467364683646936470364713647236473364743647536476364773647836479364803648136482364833648436485364863648736488364893649036491364923649336494364953649636497364983649936500365013650236503365043650536506365073650836509365103651136512365133651436515365163651736518365193652036521365223652336524365253652636527365283652936530365313653236533365343653536536365373653836539365403654136542365433654436545365463654736548365493655036551365523655336554365553655636557365583655936560365613656236563365643656536566365673656836569365703657136572365733657436575365763657736578365793658036581365823658336584365853658636587365883658936590365913659236593365943659536596365973659836599366003660136602366033660436605366063660736608366093661036611366123661336614366153661636617366183661936620366213662236623366243662536626366273662836629366303663136632366333663436635366363663736638366393664036641366423664336644366453664636647366483664936650366513665236653366543665536656366573665836659366603666136662366633666436665366663666736668366693667036671366723667336674366753667636677366783667936680366813668236683366843668536686366873668836689366903669136692366933669436695366963669736698366993670036701367023670336704367053670636707367083670936710367113671236713367143671536716367173671836719367203672136722367233672436725367263672736728367293673036731367323673336734367353673636737367383673936740367413674236743367443674536746367473674836749367503675136752367533675436755367563675736758367593676036761367623676336764367653676636767367683676936770367713677236773367743677536776367773677836779367803678136782367833678436785367863678736788367893679036791367923679336794367953679636797367983679936800368013680236803368043680536806368073680836809368103681136812368133681436815368163681736818368193682036821368223682336824368253682636827368283682936830368313683236833368343683536836368373683836839368403684136842368433684436845368463684736848368493685036851368523685336854368553685636857368583685936860368613686236863368643686536866368673686836869368703687136872368733687436875368763687736878368793688036881368823688336884368853688636887368883688936890368913689236893368943689536896368973689836899369003690136902369033690436905369063690736908369093691036911369123691336914369153691636917369183691936920369213692236923369243692536926369273692836929369303693136932369333693436935369363693736938369393694036941369423694336944369453694636947369483694936950369513695236953369543695536956369573695836959369603696136962369633696436965369663696736968369693697036971369723697336974369753697636977369783697936980369813698236983369843698536986369873698836989369903699136992369933699436995369963699736998369993700037001370023700337004370053700637007370083700937010370113701237013370143701537016370173701837019370203702137022370233702437025370263702737028370293703037031370323703337034370353703637037370383703937040370413704237043370443704537046370473704837049370503705137052370533705437055370563705737058370593706037061370623706337064370653706637067370683706937070370713707237073370743707537076370773707837079370803708137082370833708437085370863708737088370893709037091370923709337094370953709637097370983709937100371013710237103371043710537106371073710837109371103711137112371133711437115371163711737118371193712037121371223712337124371253712637127371283712937130371313713237133371343713537136371373713837139371403714137142371433714437145371463714737148371493715037151371523715337154371553715637157371583715937160371613716237163371643716537166371673716837169371703717137172371733717437175371763717737178371793718037181371823718337184371853718637187371883718937190371913719237193371943719537196371973719837199372003720137202372033720437205372063720737208372093721037211372123721337214372153721637217372183721937220372213722237223372243722537226372273722837229372303723137232372333723437235372363723737238372393724037241372423724337244372453724637247372483724937250372513725237253372543725537256372573725837259372603726137262372633726437265372663726737268372693727037271372723727337274372753727637277372783727937280372813728237283372843728537286372873728837289372903729137292372933729437295372963729737298372993730037301373023730337304373053730637307373083730937310373113731237313373143731537316373173731837319373203732137322373233732437325373263732737328373293733037331373323733337334373353733637337373383733937340373413734237343373443734537346373473734837349373503735137352373533735437355373563735737358373593736037361373623736337364373653736637367373683736937370373713737237373373743737537376373773737837379373803738137382373833738437385373863738737388373893739037391373923739337394373953739637397373983739937400374013740237403374043740537406374073740837409374103741137412374133741437415374163741737418374193742037421374223742337424374253742637427374283742937430374313743237433374343743537436374373743837439374403744137442374433744437445374463744737448374493745037451374523745337454374553745637457374583745937460374613746237463374643746537466374673746837469374703747137472374733747437475374763747737478374793748037481374823748337484374853748637487374883748937490374913749237493374943749537496374973749837499375003750137502375033750437505375063750737508375093751037511375123751337514375153751637517375183751937520375213752237523375243752537526375273752837529375303753137532375333753437535375363753737538375393754037541375423754337544375453754637547375483754937550375513755237553375543755537556375573755837559375603756137562375633756437565375663756737568375693757037571375723757337574375753757637577375783757937580375813758237583375843758537586375873758837589375903759137592375933759437595375963759737598375993760037601376023760337604376053760637607376083760937610376113761237613376143761537616376173761837619376203762137622376233762437625376263762737628376293763037631376323763337634376353763637637376383763937640376413764237643376443764537646376473764837649376503765137652376533765437655376563765737658376593766037661376623766337664376653766637667376683766937670376713767237673376743767537676376773767837679376803768137682376833768437685376863768737688376893769037691376923769337694376953769637697376983769937700377013770237703377043770537706377073770837709377103771137712377133771437715377163771737718377193772037721377223772337724377253772637727377283772937730377313773237733377343773537736377373773837739377403774137742377433774437745377463774737748377493775037751377523775337754377553775637757377583775937760377613776237763377643776537766377673776837769377703777137772377733777437775377763777737778377793778037781377823778337784377853778637787377883778937790377913779237793377943779537796377973779837799378003780137802378033780437805378063780737808378093781037811378123781337814378153781637817378183781937820378213782237823378243782537826378273782837829378303783137832378333783437835378363783737838378393784037841378423784337844378453784637847378483784937850378513785237853378543785537856378573785837859378603786137862378633786437865378663786737868378693787037871378723787337874378753787637877378783787937880378813788237883378843788537886378873788837889378903789137892378933789437895378963789737898378993790037901379023790337904379053790637907379083790937910379113791237913379143791537916379173791837919379203792137922379233792437925379263792737928379293793037931379323793337934379353793637937379383793937940379413794237943379443794537946379473794837949379503795137952379533795437955379563795737958379593796037961379623796337964379653796637967379683796937970379713797237973379743797537976379773797837979379803798137982379833798437985379863798737988379893799037991379923799337994379953799637997379983799938000380013800238003380043800538006380073800838009380103801138012380133801438015380163801738018380193802038021380223802338024380253802638027380283802938030380313803238033380343803538036380373803838039380403804138042380433804438045380463804738048380493805038051380523805338054380553805638057380583805938060380613806238063380643806538066380673806838069380703807138072380733807438075380763807738078380793808038081380823808338084380853808638087380883808938090380913809238093380943809538096380973809838099381003810138102381033810438105381063810738108381093811038111381123811338114381153811638117381183811938120381213812238123381243812538126381273812838129381303813138132381333813438135381363813738138381393814038141381423814338144381453814638147381483814938150381513815238153381543815538156381573815838159381603816138162381633816438165381663816738168381693817038171381723817338174381753817638177381783817938180381813818238183381843818538186381873818838189381903819138192381933819438195381963819738198381993820038201382023820338204382053820638207382083820938210382113821238213382143821538216382173821838219382203822138222382233822438225382263822738228382293823038231382323823338234382353823638237382383823938240382413824238243382443824538246382473824838249382503825138252382533825438255382563825738258382593826038261382623826338264382653826638267382683826938270382713827238273382743827538276382773827838279382803828138282382833828438285382863828738288382893829038291382923829338294382953829638297382983829938300383013830238303383043830538306383073830838309383103831138312383133831438315383163831738318383193832038321383223832338324383253832638327383283832938330383313833238333383343833538336383373833838339383403834138342383433834438345383463834738348383493835038351383523835338354383553835638357383583835938360383613836238363383643836538366383673836838369383703837138372383733837438375383763837738378383793838038381383823838338384383853838638387383883838938390383913839238393383943839538396383973839838399384003840138402384033840438405384063840738408384093841038411384123841338414384153841638417384183841938420384213842238423384243842538426384273842838429384303843138432384333843438435384363843738438384393844038441384423844338444384453844638447384483844938450384513845238453384543845538456384573845838459384603846138462384633846438465384663846738468384693847038471384723847338474384753847638477384783847938480384813848238483384843848538486384873848838489384903849138492384933849438495384963849738498384993850038501385023850338504385053850638507385083850938510385113851238513385143851538516385173851838519385203852138522385233852438525385263852738528385293853038531385323853338534385353853638537385383853938540385413854238543385443854538546385473854838549385503855138552385533855438555385563855738558385593856038561385623856338564385653856638567385683856938570385713857238573385743857538576385773857838579385803858138582385833858438585385863858738588385893859038591385923859338594385953859638597385983859938600386013860238603386043860538606386073860838609386103861138612386133861438615386163861738618386193862038621386223862338624386253862638627386283862938630386313863238633386343863538636386373863838639386403864138642386433864438645386463864738648386493865038651386523865338654386553865638657386583865938660386613866238663386643866538666386673866838669386703867138672386733867438675386763867738678386793868038681386823868338684386853868638687386883868938690386913869238693386943869538696386973869838699387003870138702387033870438705387063870738708387093871038711387123871338714387153871638717387183871938720387213872238723387243872538726387273872838729387303873138732387333873438735387363873738738387393874038741387423874338744387453874638747387483874938750387513875238753387543875538756387573875838759387603876138762387633876438765387663876738768387693877038771387723877338774387753877638777387783877938780387813878238783387843878538786387873878838789387903879138792387933879438795387963879738798387993880038801388023880338804388053880638807388083880938810388113881238813388143881538816388173881838819388203882138822388233882438825388263882738828388293883038831388323883338834388353883638837388383883938840388413884238843388443884538846388473884838849388503885138852388533885438855388563885738858388593886038861388623886338864388653886638867388683886938870388713887238873388743887538876388773887838879388803888138882388833888438885388863888738888388893889038891388923889338894388953889638897388983889938900389013890238903389043890538906389073890838909389103891138912389133891438915389163891738918389193892038921389223892338924389253892638927389283892938930389313893238933389343893538936389373893838939389403894138942389433894438945389463894738948389493895038951389523895338954389553895638957389583895938960389613896238963389643896538966389673896838969389703897138972389733897438975389763897738978389793898038981389823898338984389853898638987389883898938990389913899238993389943899538996389973899838999390003900139002390033900439005390063900739008390093901039011390123901339014390153901639017390183901939020390213902239023390243902539026390273902839029390303903139032390333903439035390363903739038390393904039041390423904339044390453904639047390483904939050390513905239053390543905539056390573905839059390603906139062390633906439065390663906739068390693907039071390723907339074390753907639077390783907939080390813908239083390843908539086390873908839089390903909139092390933909439095390963909739098390993910039101391023910339104391053910639107391083910939110391113911239113391143911539116391173911839119391203912139122391233912439125391263912739128391293913039131391323913339134391353913639137391383913939140391413914239143391443914539146391473914839149391503915139152391533915439155391563915739158391593916039161391623916339164391653916639167391683916939170391713917239173391743917539176391773917839179391803918139182391833918439185391863918739188391893919039191391923919339194391953919639197391983919939200392013920239203392043920539206392073920839209392103921139212392133921439215392163921739218392193922039221392223922339224392253922639227392283922939230392313923239233392343923539236392373923839239392403924139242392433924439245392463924739248392493925039251392523925339254392553925639257392583925939260392613926239263392643926539266392673926839269392703927139272392733927439275392763927739278392793928039281392823928339284392853928639287392883928939290392913929239293392943929539296392973929839299393003930139302393033930439305393063930739308393093931039311393123931339314393153931639317393183931939320393213932239323393243932539326393273932839329393303933139332393333933439335393363933739338393393934039341393423934339344393453934639347393483934939350393513935239353393543935539356393573935839359393603936139362393633936439365393663936739368393693937039371393723937339374393753937639377393783937939380393813938239383393843938539386393873938839389393903939139392393933939439395393963939739398393993940039401394023940339404394053940639407394083940939410394113941239413394143941539416394173941839419394203942139422394233942439425394263942739428394293943039431394323943339434394353943639437394383943939440394413944239443394443944539446394473944839449394503945139452394533945439455394563945739458394593946039461394623946339464394653946639467394683946939470394713947239473394743947539476394773947839479394803948139482394833948439485394863948739488394893949039491394923949339494394953949639497394983949939500395013950239503395043950539506395073950839509395103951139512395133951439515395163951739518395193952039521395223952339524395253952639527395283952939530395313953239533395343953539536395373953839539395403954139542395433954439545395463954739548395493955039551395523955339554395553955639557395583955939560395613956239563395643956539566395673956839569395703957139572395733957439575395763957739578395793958039581395823958339584395853958639587395883958939590395913959239593395943959539596395973959839599396003960139602396033960439605396063960739608396093961039611396123961339614396153961639617396183961939620396213962239623396243962539626396273962839629396303963139632396333963439635396363963739638396393964039641396423964339644396453964639647396483964939650396513965239653396543965539656396573965839659396603966139662396633966439665396663966739668396693967039671396723967339674396753967639677396783967939680396813968239683396843968539686396873968839689396903969139692396933969439695396963969739698396993970039701397023970339704397053970639707397083970939710397113971239713397143971539716397173971839719397203972139722397233972439725397263972739728397293973039731397323973339734397353973639737397383973939740397413974239743397443974539746397473974839749397503975139752397533975439755397563975739758397593976039761397623976339764397653976639767397683976939770397713977239773397743977539776397773977839779397803978139782397833978439785397863978739788397893979039791397923979339794397953979639797397983979939800398013980239803398043980539806398073980839809398103981139812398133981439815398163981739818398193982039821398223982339824398253982639827398283982939830398313983239833398343983539836398373983839839398403984139842398433984439845398463984739848398493985039851398523985339854398553985639857398583985939860398613986239863398643986539866398673986839869398703987139872398733987439875398763987739878398793988039881398823988339884398853988639887398883988939890398913989239893398943989539896398973989839899399003990139902399033990439905399063990739908399093991039911399123991339914399153991639917399183991939920399213992239923399243992539926399273992839929399303993139932399333993439935399363993739938399393994039941399423994339944399453994639947399483994939950399513995239953399543995539956399573995839959399603996139962399633996439965399663996739968399693997039971399723997339974399753997639977399783997939980399813998239983399843998539986399873998839989399903999139992399933999439995399963999739998399994000040001400024000340004400054000640007400084000940010400114001240013400144001540016400174001840019400204002140022400234002440025400264002740028400294003040031400324003340034400354003640037400384003940040400414004240043400444004540046400474004840049400504005140052400534005440055400564005740058400594006040061400624006340064400654006640067400684006940070400714007240073400744007540076400774007840079400804008140082400834008440085400864008740088400894009040091400924009340094400954009640097400984009940100401014010240103401044010540106401074010840109401104011140112401134011440115401164011740118401194012040121401224012340124401254012640127401284012940130401314013240133401344013540136401374013840139401404014140142401434014440145401464014740148401494015040151401524015340154401554015640157401584015940160401614016240163401644016540166401674016840169401704017140172401734017440175401764017740178401794018040181401824018340184401854018640187401884018940190401914019240193401944019540196401974019840199402004020140202402034020440205402064020740208402094021040211402124021340214402154021640217402184021940220402214022240223402244022540226402274022840229402304023140232402334023440235402364023740238402394024040241402424024340244402454024640247402484024940250402514025240253402544025540256402574025840259402604026140262402634026440265402664026740268402694027040271402724027340274402754027640277402784027940280402814028240283402844028540286402874028840289402904029140292402934029440295402964029740298402994030040301403024030340304403054030640307403084030940310403114031240313403144031540316403174031840319403204032140322403234032440325403264032740328403294033040331403324033340334403354033640337403384033940340403414034240343403444034540346403474034840349403504035140352403534035440355403564035740358403594036040361403624036340364403654036640367403684036940370403714037240373403744037540376403774037840379403804038140382403834038440385403864038740388403894039040391403924039340394403954039640397403984039940400404014040240403404044040540406404074040840409404104041140412404134041440415404164041740418404194042040421404224042340424404254042640427404284042940430404314043240433404344043540436404374043840439404404044140442404434044440445404464044740448404494045040451404524045340454404554045640457404584045940460404614046240463404644046540466404674046840469404704047140472404734047440475404764047740478404794048040481404824048340484404854048640487404884048940490404914049240493404944049540496404974049840499405004050140502405034050440505405064050740508405094051040511405124051340514405154051640517405184051940520405214052240523405244052540526405274052840529405304053140532405334053440535405364053740538405394054040541405424054340544405454054640547405484054940550405514055240553405544055540556405574055840559405604056140562405634056440565405664056740568405694057040571405724057340574405754057640577405784057940580405814058240583405844058540586405874058840589405904059140592405934059440595405964059740598405994060040601406024060340604406054060640607406084060940610406114061240613406144061540616406174061840619406204062140622406234062440625406264062740628406294063040631406324063340634406354063640637406384063940640406414064240643406444064540646406474064840649406504065140652406534065440655406564065740658406594066040661406624066340664406654066640667406684066940670406714067240673406744067540676406774067840679406804068140682406834068440685406864068740688406894069040691406924069340694406954069640697406984069940700407014070240703407044070540706407074070840709407104071140712407134071440715407164071740718407194072040721407224072340724407254072640727407284072940730407314073240733407344073540736407374073840739407404074140742407434074440745407464074740748407494075040751407524075340754407554075640757407584075940760407614076240763407644076540766407674076840769407704077140772407734077440775407764077740778407794078040781407824078340784407854078640787407884078940790407914079240793407944079540796407974079840799408004080140802408034080440805408064080740808408094081040811408124081340814408154081640817408184081940820408214082240823408244082540826408274082840829408304083140832408334083440835408364083740838408394084040841408424084340844408454084640847408484084940850408514085240853408544085540856408574085840859408604086140862408634086440865408664086740868408694087040871408724087340874408754087640877408784087940880408814088240883408844088540886408874088840889408904089140892408934089440895408964089740898408994090040901409024090340904409054090640907409084090940910409114091240913409144091540916409174091840919409204092140922409234092440925409264092740928409294093040931409324093340934409354093640937409384093940940409414094240943409444094540946409474094840949409504095140952409534095440955409564095740958409594096040961409624096340964409654096640967409684096940970409714097240973409744097540976409774097840979409804098140982409834098440985409864098740988409894099040991409924099340994409954099640997409984099941000410014100241003410044100541006410074100841009410104101141012410134101441015410164101741018410194102041021410224102341024410254102641027410284102941030410314103241033410344103541036410374103841039410404104141042410434104441045410464104741048410494105041051410524105341054410554105641057410584105941060410614106241063410644106541066410674106841069410704107141072410734107441075410764107741078410794108041081410824108341084410854108641087410884108941090410914109241093410944109541096410974109841099411004110141102411034110441105411064110741108411094111041111411124111341114411154111641117411184111941120411214112241123411244112541126411274112841129411304113141132411334113441135411364113741138411394114041141411424114341144411454114641147411484114941150411514115241153411544115541156411574115841159411604116141162411634116441165411664116741168411694117041171411724117341174411754117641177411784117941180411814118241183411844118541186411874118841189411904119141192411934119441195411964119741198411994120041201412024120341204412054120641207412084120941210412114121241213412144121541216412174121841219412204122141222412234122441225412264122741228412294123041231412324123341234412354123641237412384123941240412414124241243412444124541246412474124841249412504125141252412534125441255412564125741258412594126041261412624126341264412654126641267412684126941270412714127241273412744127541276412774127841279412804128141282412834128441285412864128741288412894129041291412924129341294412954129641297412984129941300413014130241303413044130541306413074130841309413104131141312413134131441315413164131741318413194132041321413224132341324413254132641327413284132941330413314133241333413344133541336413374133841339413404134141342413434134441345413464134741348413494135041351413524135341354413554135641357413584135941360413614136241363413644136541366413674136841369413704137141372413734137441375413764137741378413794138041381413824138341384413854138641387413884138941390413914139241393413944139541396413974139841399414004140141402414034140441405414064140741408414094141041411414124141341414414154141641417414184141941420414214142241423414244142541426414274142841429414304143141432414334143441435414364143741438414394144041441414424144341444414454144641447414484144941450414514145241453414544145541456414574145841459414604146141462414634146441465414664146741468414694147041471414724147341474414754147641477414784147941480414814148241483414844148541486414874148841489414904149141492414934149441495414964149741498414994150041501415024150341504415054150641507415084150941510415114151241513415144151541516415174151841519415204152141522415234152441525415264152741528415294153041531415324153341534415354153641537415384153941540415414154241543415444154541546415474154841549415504155141552415534155441555415564155741558415594156041561415624156341564415654156641567415684156941570415714157241573415744157541576415774157841579415804158141582415834158441585415864158741588415894159041591415924159341594415954159641597415984159941600416014160241603416044160541606416074160841609416104161141612416134161441615416164161741618416194162041621416224162341624416254162641627416284162941630416314163241633416344163541636416374163841639416404164141642416434164441645416464164741648416494165041651416524165341654416554165641657416584165941660416614166241663416644166541666416674166841669416704167141672416734167441675416764167741678416794168041681416824168341684416854168641687416884168941690416914169241693416944169541696416974169841699417004170141702417034170441705417064170741708417094171041711417124171341714417154171641717417184171941720417214172241723417244172541726417274172841729417304173141732417334173441735417364173741738417394174041741417424174341744417454174641747417484174941750417514175241753417544175541756417574175841759417604176141762417634176441765417664176741768417694177041771417724177341774417754177641777417784177941780417814178241783417844178541786417874178841789417904179141792417934179441795417964179741798417994180041801418024180341804418054180641807418084180941810418114181241813418144181541816418174181841819418204182141822418234182441825418264182741828418294183041831418324183341834418354183641837418384183941840418414184241843418444184541846418474184841849418504185141852418534185441855418564185741858418594186041861418624186341864418654186641867418684186941870418714187241873418744187541876418774187841879418804188141882418834188441885418864188741888418894189041891418924189341894418954189641897418984189941900419014190241903419044190541906419074190841909419104191141912419134191441915419164191741918419194192041921419224192341924419254192641927419284192941930419314193241933419344193541936419374193841939419404194141942419434194441945419464194741948419494195041951419524195341954419554195641957419584195941960419614196241963419644196541966419674196841969419704197141972419734197441975419764197741978419794198041981419824198341984419854198641987419884198941990419914199241993419944199541996419974199841999420004200142002420034200442005420064200742008420094201042011420124201342014420154201642017420184201942020420214202242023420244202542026420274202842029420304203142032420334203442035420364203742038420394204042041420424204342044420454204642047420484204942050420514205242053420544205542056420574205842059420604206142062420634206442065420664206742068420694207042071420724207342074420754207642077420784207942080420814208242083420844208542086420874208842089420904209142092420934209442095420964209742098420994210042101421024210342104421054210642107421084210942110421114211242113421144211542116421174211842119421204212142122421234212442125421264212742128421294213042131421324213342134421354213642137421384213942140421414214242143421444214542146421474214842149421504215142152421534215442155421564215742158421594216042161421624216342164421654216642167421684216942170421714217242173421744217542176421774217842179421804218142182421834218442185421864218742188421894219042191421924219342194421954219642197421984219942200422014220242203422044220542206422074220842209422104221142212422134221442215422164221742218422194222042221422224222342224422254222642227422284222942230422314223242233422344223542236422374223842239422404224142242422434224442245422464224742248422494225042251422524225342254422554225642257422584225942260422614226242263422644226542266422674226842269422704227142272422734227442275422764227742278422794228042281422824228342284422854228642287422884228942290422914229242293422944229542296422974229842299423004230142302423034230442305423064230742308423094231042311423124231342314423154231642317423184231942320423214232242323423244232542326423274232842329423304233142332423334233442335423364233742338423394234042341423424234342344423454234642347423484234942350423514235242353423544235542356423574235842359423604236142362423634236442365423664236742368423694237042371423724237342374423754237642377423784237942380423814238242383423844238542386423874238842389423904239142392423934239442395423964239742398423994240042401424024240342404424054240642407424084240942410424114241242413424144241542416424174241842419424204242142422424234242442425424264242742428424294243042431424324243342434424354243642437424384243942440424414244242443424444244542446424474244842449424504245142452424534245442455424564245742458424594246042461424624246342464424654246642467424684246942470424714247242473424744247542476424774247842479424804248142482424834248442485424864248742488424894249042491424924249342494424954249642497424984249942500425014250242503425044250542506425074250842509425104251142512425134251442515425164251742518425194252042521425224252342524425254252642527425284252942530425314253242533425344253542536425374253842539425404254142542425434254442545425464254742548425494255042551425524255342554425554255642557425584255942560425614256242563425644256542566425674256842569425704257142572425734257442575425764257742578425794258042581425824258342584425854258642587425884258942590425914259242593425944259542596425974259842599426004260142602426034260442605426064260742608426094261042611426124261342614426154261642617426184261942620426214262242623426244262542626426274262842629426304263142632426334263442635426364263742638426394264042641426424264342644426454264642647426484264942650426514265242653426544265542656426574265842659426604266142662426634266442665426664266742668426694267042671426724267342674426754267642677426784267942680426814268242683426844268542686426874268842689426904269142692426934269442695426964269742698426994270042701427024270342704427054270642707427084270942710427114271242713427144271542716427174271842719427204272142722427234272442725427264272742728427294273042731427324273342734427354273642737427384273942740427414274242743427444274542746427474274842749427504275142752427534275442755427564275742758427594276042761427624276342764427654276642767427684276942770427714277242773427744277542776427774277842779427804278142782427834278442785427864278742788427894279042791427924279342794427954279642797427984279942800428014280242803428044280542806428074280842809428104281142812428134281442815428164281742818428194282042821428224282342824428254282642827428284282942830428314283242833428344283542836428374283842839428404284142842428434284442845428464284742848428494285042851428524285342854428554285642857428584285942860428614286242863428644286542866428674286842869428704287142872428734287442875428764287742878428794288042881428824288342884428854288642887428884288942890428914289242893428944289542896428974289842899429004290142902429034290442905429064290742908429094291042911429124291342914429154291642917429184291942920429214292242923429244292542926429274292842929429304293142932429334293442935429364293742938429394294042941429424294342944429454294642947429484294942950429514295242953429544295542956429574295842959429604296142962429634296442965429664296742968429694297042971429724297342974429754297642977429784297942980429814298242983429844298542986429874298842989429904299142992429934299442995429964299742998429994300043001430024300343004430054300643007430084300943010430114301243013430144301543016430174301843019430204302143022430234302443025430264302743028430294303043031430324303343034430354303643037430384303943040430414304243043430444304543046430474304843049430504305143052430534305443055430564305743058430594306043061430624306343064430654306643067430684306943070430714307243073430744307543076430774307843079430804308143082430834308443085430864308743088430894309043091430924309343094430954309643097430984309943100431014310243103431044310543106431074310843109431104311143112431134311443115431164311743118431194312043121431224312343124431254312643127431284312943130431314313243133431344313543136431374313843139431404314143142431434314443145431464314743148431494315043151431524315343154431554315643157431584315943160431614316243163431644316543166431674316843169431704317143172431734317443175431764317743178431794318043181431824318343184431854318643187431884318943190431914319243193431944319543196431974319843199432004320143202432034320443205432064320743208432094321043211432124321343214432154321643217432184321943220432214322243223432244322543226432274322843229432304323143232432334323443235432364323743238432394324043241432424324343244432454324643247432484324943250432514325243253432544325543256432574325843259432604326143262432634326443265432664326743268432694327043271432724327343274432754327643277432784327943280432814328243283432844328543286432874328843289432904329143292432934329443295432964329743298432994330043301433024330343304433054330643307433084330943310433114331243313433144331543316433174331843319433204332143322433234332443325433264332743328433294333043331433324333343334433354333643337433384333943340433414334243343433444334543346433474334843349433504335143352433534335443355433564335743358433594336043361433624336343364433654336643367433684336943370433714337243373433744337543376433774337843379433804338143382433834338443385433864338743388433894339043391433924339343394433954339643397433984339943400434014340243403434044340543406434074340843409434104341143412434134341443415434164341743418434194342043421434224342343424434254342643427434284342943430434314343243433434344343543436434374343843439434404344143442434434344443445434464344743448434494345043451434524345343454434554345643457434584345943460434614346243463434644346543466434674346843469434704347143472434734347443475434764347743478434794348043481434824348343484434854348643487434884348943490434914349243493434944349543496434974349843499435004350143502435034350443505435064350743508435094351043511435124351343514435154351643517435184351943520435214352243523435244352543526435274352843529435304353143532435334353443535435364353743538435394354043541435424354343544435454354643547435484354943550435514355243553435544355543556435574355843559435604356143562435634356443565435664356743568435694357043571435724357343574435754357643577435784357943580435814358243583435844358543586435874358843589435904359143592435934359443595435964359743598435994360043601436024360343604436054360643607436084360943610436114361243613436144361543616436174361843619436204362143622436234362443625436264362743628436294363043631436324363343634436354363643637436384363943640436414364243643436444364543646436474364843649436504365143652436534365443655436564365743658436594366043661436624366343664436654366643667436684366943670436714367243673436744367543676436774367843679436804368143682436834368443685436864368743688436894369043691436924369343694436954369643697436984369943700437014370243703437044370543706437074370843709437104371143712437134371443715437164371743718437194372043721437224372343724437254372643727437284372943730437314373243733437344373543736437374373843739437404374143742437434374443745437464374743748437494375043751437524375343754437554375643757437584375943760437614376243763437644376543766437674376843769437704377143772437734377443775437764377743778437794378043781437824378343784437854378643787437884378943790437914379243793437944379543796437974379843799438004380143802438034380443805438064380743808438094381043811438124381343814438154381643817438184381943820438214382243823438244382543826438274382843829438304383143832438334383443835438364383743838438394384043841438424384343844438454384643847438484384943850438514385243853438544385543856438574385843859438604386143862438634386443865438664386743868438694387043871438724387343874438754387643877438784387943880438814388243883438844388543886438874388843889438904389143892438934389443895438964389743898438994390043901439024390343904439054390643907439084390943910439114391243913439144391543916439174391843919439204392143922439234392443925439264392743928439294393043931439324393343934439354393643937439384393943940439414394243943439444394543946439474394843949439504395143952439534395443955439564395743958439594396043961439624396343964439654396643967439684396943970439714397243973439744397543976439774397843979439804398143982439834398443985439864398743988439894399043991439924399343994439954399643997439984399944000440014400244003440044400544006440074400844009440104401144012440134401444015440164401744018440194402044021440224402344024440254402644027440284402944030440314403244033440344403544036440374403844039440404404144042440434404444045440464404744048440494405044051440524405344054440554405644057440584405944060440614406244063440644406544066440674406844069440704407144072440734407444075440764407744078440794408044081440824408344084440854408644087440884408944090440914409244093440944409544096440974409844099441004410144102441034410444105441064410744108441094411044111441124411344114441154411644117441184411944120441214412244123441244412544126441274412844129441304413144132441334413444135441364413744138441394414044141441424414344144441454414644147441484414944150441514415244153441544415544156441574415844159441604416144162441634416444165441664416744168441694417044171441724417344174441754417644177441784417944180441814418244183441844418544186441874418844189441904419144192441934419444195441964419744198441994420044201442024420344204442054420644207442084420944210442114421244213442144421544216442174421844219442204422144222442234422444225442264422744228442294423044231442324423344234442354423644237442384423944240442414424244243442444424544246442474424844249442504425144252442534425444255442564425744258442594426044261442624426344264442654426644267442684426944270442714427244273442744427544276442774427844279442804428144282442834428444285442864428744288442894429044291442924429344294442954429644297442984429944300443014430244303443044430544306443074430844309443104431144312443134431444315443164431744318443194432044321443224432344324443254432644327443284432944330443314433244333443344433544336443374433844339443404434144342443434434444345443464434744348443494435044351443524435344354443554435644357443584435944360443614436244363443644436544366443674436844369443704437144372443734437444375443764437744378443794438044381443824438344384443854438644387443884438944390443914439244393443944439544396443974439844399444004440144402444034440444405444064440744408444094441044411444124441344414444154441644417444184441944420444214442244423444244442544426444274442844429444304443144432444334443444435444364443744438444394444044441444424444344444444454444644447444484444944450444514445244453444544445544456444574445844459444604446144462444634446444465444664446744468444694447044471444724447344474444754447644477444784447944480444814448244483444844448544486444874448844489444904449144492444934449444495444964449744498444994450044501445024450344504445054450644507445084450944510445114451244513445144451544516445174451844519445204452144522445234452444525445264452744528445294453044531445324453344534445354453644537445384453944540445414454244543445444454544546445474454844549445504455144552445534455444555445564455744558445594456044561445624456344564445654456644567445684456944570445714457244573445744457544576445774457844579445804458144582445834458444585445864458744588445894459044591445924459344594445954459644597445984459944600446014460244603446044460544606446074460844609446104461144612446134461444615446164461744618446194462044621446224462344624446254462644627446284462944630446314463244633446344463544636446374463844639446404464144642446434464444645446464464744648446494465044651446524465344654446554465644657446584465944660446614466244663446644466544666446674466844669446704467144672446734467444675446764467744678446794468044681446824468344684446854468644687446884468944690446914469244693446944469544696446974469844699447004470144702447034470444705447064470744708447094471044711447124471344714447154471644717447184471944720447214472244723447244472544726447274472844729447304473144732447334473444735447364473744738447394474044741447424474344744447454474644747447484474944750447514475244753447544475544756447574475844759447604476144762447634476444765447664476744768447694477044771447724477344774447754477644777447784477944780447814478244783447844478544786447874478844789447904479144792447934479444795447964479744798447994480044801448024480344804448054480644807448084480944810448114481244813448144481544816448174481844819448204482144822448234482444825448264482744828448294483044831448324483344834448354483644837448384483944840448414484244843448444484544846448474484844849448504485144852448534485444855448564485744858448594486044861448624486344864448654486644867448684486944870448714487244873448744487544876448774487844879448804488144882448834488444885448864488744888448894489044891448924489344894448954489644897448984489944900449014490244903449044490544906449074490844909449104491144912449134491444915449164491744918449194492044921449224492344924449254492644927449284492944930449314493244933449344493544936449374493844939449404494144942449434494444945449464494744948449494495044951449524495344954449554495644957449584495944960449614496244963449644496544966449674496844969449704497144972449734497444975449764497744978449794498044981449824498344984449854498644987449884498944990449914499244993449944499544996449974499844999450004500145002450034500445005450064500745008450094501045011450124501345014450154501645017450184501945020450214502245023450244502545026450274502845029450304503145032450334503445035450364503745038450394504045041450424504345044450454504645047450484504945050450514505245053450544505545056450574505845059450604506145062450634506445065450664506745068450694507045071450724507345074450754507645077450784507945080450814508245083450844508545086450874508845089450904509145092450934509445095450964509745098450994510045101451024510345104451054510645107451084510945110451114511245113451144511545116451174511845119451204512145122451234512445125451264512745128451294513045131451324513345134451354513645137451384513945140451414514245143451444514545146451474514845149451504515145152451534515445155451564515745158451594516045161451624516345164451654516645167451684516945170451714517245173451744517545176451774517845179451804518145182451834518445185451864518745188451894519045191451924519345194451954519645197451984519945200452014520245203452044520545206452074520845209452104521145212452134521445215452164521745218452194522045221452224522345224452254522645227452284522945230452314523245233452344523545236452374523845239452404524145242452434524445245452464524745248452494525045251452524525345254452554525645257452584525945260452614526245263452644526545266452674526845269452704527145272452734527445275452764527745278452794528045281452824528345284452854528645287452884528945290452914529245293452944529545296452974529845299453004530145302453034530445305453064530745308453094531045311453124531345314453154531645317453184531945320453214532245323453244532545326453274532845329453304533145332453334533445335453364533745338453394534045341453424534345344453454534645347453484534945350453514535245353453544535545356453574535845359453604536145362453634536445365453664536745368453694537045371453724537345374453754537645377453784537945380453814538245383453844538545386453874538845389453904539145392453934539445395453964539745398453994540045401454024540345404454054540645407454084540945410454114541245413454144541545416454174541845419454204542145422454234542445425454264542745428454294543045431454324543345434454354543645437454384543945440454414544245443454444544545446454474544845449454504545145452454534545445455454564545745458454594546045461454624546345464454654546645467454684546945470454714547245473454744547545476454774547845479454804548145482454834548445485454864548745488454894549045491454924549345494454954549645497454984549945500455014550245503455044550545506455074550845509455104551145512455134551445515455164551745518455194552045521455224552345524455254552645527455284552945530455314553245533455344553545536455374553845539455404554145542455434554445545455464554745548455494555045551455524555345554455554555645557455584555945560455614556245563455644556545566455674556845569455704557145572455734557445575455764557745578455794558045581455824558345584455854558645587455884558945590455914559245593455944559545596455974559845599456004560145602456034560445605456064560745608456094561045611456124561345614456154561645617456184561945620456214562245623456244562545626456274562845629456304563145632456334563445635456364563745638456394564045641456424564345644456454564645647456484564945650456514565245653456544565545656456574565845659456604566145662456634566445665456664566745668456694567045671456724567345674456754567645677456784567945680456814568245683456844568545686456874568845689456904569145692456934569445695456964569745698456994570045701457024570345704457054570645707457084570945710457114571245713457144571545716457174571845719457204572145722457234572445725457264572745728457294573045731457324573345734457354573645737457384573945740457414574245743457444574545746457474574845749457504575145752457534575445755457564575745758457594576045761457624576345764457654576645767457684576945770457714577245773457744577545776457774577845779457804578145782457834578445785457864578745788457894579045791457924579345794457954579645797457984579945800458014580245803458044580545806458074580845809458104581145812458134581445815458164581745818458194582045821458224582345824458254582645827458284582945830458314583245833458344583545836458374583845839458404584145842458434584445845458464584745848458494585045851458524585345854458554585645857458584585945860458614586245863458644586545866458674586845869458704587145872458734587445875458764587745878458794588045881458824588345884458854588645887458884588945890458914589245893458944589545896458974589845899459004590145902459034590445905459064590745908459094591045911459124591345914459154591645917459184591945920459214592245923459244592545926459274592845929459304593145932459334593445935459364593745938459394594045941459424594345944459454594645947459484594945950459514595245953459544595545956459574595845959459604596145962459634596445965459664596745968459694597045971459724597345974459754597645977459784597945980459814598245983459844598545986459874598845989459904599145992459934599445995459964599745998459994600046001460024600346004460054600646007460084600946010460114601246013460144601546016460174601846019460204602146022460234602446025460264602746028460294603046031460324603346034460354603646037460384603946040460414604246043460444604546046460474604846049460504605146052460534605446055460564605746058460594606046061460624606346064460654606646067460684606946070460714607246073460744607546076460774607846079460804608146082460834608446085460864608746088460894609046091460924609346094460954609646097460984609946100461014610246103461044610546106461074610846109461104611146112461134611446115461164611746118461194612046121461224612346124461254612646127461284612946130461314613246133461344613546136461374613846139461404614146142461434614446145461464614746148461494615046151461524615346154461554615646157461584615946160461614616246163461644616546166461674616846169461704617146172461734617446175461764617746178461794618046181461824618346184461854618646187461884618946190461914619246193461944619546196461974619846199462004620146202462034620446205462064620746208462094621046211462124621346214462154621646217462184621946220462214622246223462244622546226462274622846229462304623146232462334623446235462364623746238462394624046241462424624346244462454624646247462484624946250462514625246253462544625546256462574625846259462604626146262462634626446265462664626746268462694627046271462724627346274462754627646277462784627946280462814628246283462844628546286462874628846289462904629146292462934629446295462964629746298462994630046301463024630346304463054630646307463084630946310463114631246313463144631546316463174631846319463204632146322463234632446325463264632746328463294633046331463324633346334463354633646337463384633946340463414634246343463444634546346463474634846349463504635146352463534635446355463564635746358463594636046361463624636346364463654636646367463684636946370463714637246373463744637546376463774637846379463804638146382463834638446385463864638746388463894639046391463924639346394463954639646397463984639946400464014640246403464044640546406464074640846409464104641146412464134641446415464164641746418464194642046421464224642346424464254642646427464284642946430464314643246433464344643546436464374643846439464404644146442464434644446445464464644746448464494645046451464524645346454464554645646457464584645946460464614646246463464644646546466464674646846469464704647146472464734647446475464764647746478464794648046481464824648346484464854648646487464884648946490464914649246493464944649546496464974649846499465004650146502465034650446505465064650746508465094651046511465124651346514465154651646517465184651946520465214652246523465244652546526465274652846529465304653146532465334653446535465364653746538465394654046541465424654346544465454654646547465484654946550465514655246553465544655546556465574655846559465604656146562465634656446565465664656746568465694657046571465724657346574465754657646577465784657946580465814658246583465844658546586465874658846589465904659146592465934659446595465964659746598465994660046601466024660346604466054660646607466084660946610466114661246613466144661546616466174661846619466204662146622466234662446625466264662746628466294663046631466324663346634466354663646637466384663946640466414664246643466444664546646466474664846649466504665146652466534665446655466564665746658466594666046661466624666346664466654666646667466684666946670466714667246673466744667546676466774667846679466804668146682466834668446685466864668746688466894669046691466924669346694466954669646697466984669946700467014670246703467044670546706467074670846709467104671146712467134671446715467164671746718467194672046721467224672346724467254672646727467284672946730467314673246733467344673546736467374673846739467404674146742467434674446745467464674746748467494675046751467524675346754467554675646757467584675946760467614676246763467644676546766467674676846769467704677146772467734677446775467764677746778467794678046781467824678346784467854678646787467884678946790467914679246793467944679546796467974679846799468004680146802468034680446805468064680746808468094681046811468124681346814468154681646817468184681946820468214682246823468244682546826468274682846829468304683146832468334683446835468364683746838468394684046841468424684346844468454684646847468484684946850468514685246853468544685546856468574685846859468604686146862468634686446865468664686746868468694687046871468724687346874468754687646877468784687946880468814688246883468844688546886468874688846889468904689146892468934689446895468964689746898468994690046901469024690346904469054690646907469084690946910469114691246913469144691546916469174691846919469204692146922469234692446925469264692746928469294693046931469324693346934469354693646937469384693946940469414694246943469444694546946469474694846949469504695146952469534695446955469564695746958469594696046961469624696346964469654696646967469684696946970469714697246973469744697546976469774697846979469804698146982469834698446985469864698746988469894699046991469924699346994469954699646997469984699947000470014700247003470044700547006470074700847009470104701147012470134701447015470164701747018470194702047021470224702347024470254702647027470284702947030470314703247033470344703547036470374703847039470404704147042470434704447045470464704747048470494705047051470524705347054470554705647057470584705947060470614706247063470644706547066470674706847069470704707147072470734707447075470764707747078470794708047081470824708347084470854708647087470884708947090470914709247093470944709547096470974709847099471004710147102471034710447105471064710747108471094711047111471124711347114471154711647117471184711947120471214712247123471244712547126471274712847129471304713147132471334713447135471364713747138471394714047141471424714347144471454714647147471484714947150471514715247153471544715547156471574715847159471604716147162471634716447165471664716747168471694717047171471724717347174471754717647177471784717947180471814718247183471844718547186471874718847189471904719147192471934719447195471964719747198471994720047201472024720347204472054720647207472084720947210472114721247213472144721547216472174721847219472204722147222472234722447225472264722747228472294723047231472324723347234472354723647237472384723947240472414724247243472444724547246472474724847249472504725147252472534725447255472564725747258472594726047261472624726347264472654726647267472684726947270472714727247273472744727547276472774727847279472804728147282472834728447285472864728747288472894729047291472924729347294472954729647297472984729947300473014730247303473044730547306473074730847309473104731147312473134731447315473164731747318473194732047321473224732347324473254732647327473284732947330473314733247333473344733547336473374733847339473404734147342473434734447345473464734747348473494735047351473524735347354473554735647357473584735947360473614736247363473644736547366473674736847369473704737147372473734737447375473764737747378473794738047381473824738347384473854738647387473884738947390473914739247393473944739547396473974739847399474004740147402474034740447405474064740747408474094741047411474124741347414474154741647417474184741947420474214742247423474244742547426474274742847429474304743147432474334743447435474364743747438474394744047441474424744347444474454744647447474484744947450474514745247453474544745547456474574745847459474604746147462474634746447465474664746747468474694747047471474724747347474474754747647477474784747947480474814748247483474844748547486474874748847489474904749147492474934749447495474964749747498474994750047501475024750347504475054750647507475084750947510475114751247513475144751547516475174751847519475204752147522475234752447525475264752747528475294753047531475324753347534475354753647537475384753947540475414754247543475444754547546475474754847549475504755147552475534755447555475564755747558475594756047561475624756347564475654756647567475684756947570475714757247573475744757547576475774757847579475804758147582475834758447585475864758747588475894759047591475924759347594475954759647597475984759947600476014760247603476044760547606476074760847609476104761147612476134761447615476164761747618476194762047621476224762347624476254762647627476284762947630476314763247633476344763547636476374763847639476404764147642476434764447645476464764747648476494765047651476524765347654476554765647657476584765947660476614766247663476644766547666476674766847669476704767147672476734767447675476764767747678476794768047681476824768347684476854768647687476884768947690476914769247693476944769547696476974769847699477004770147702477034770447705477064770747708477094771047711477124771347714477154771647717477184771947720477214772247723477244772547726477274772847729477304773147732477334773447735477364773747738477394774047741477424774347744477454774647747477484774947750477514775247753477544775547756477574775847759477604776147762477634776447765477664776747768477694777047771477724777347774477754777647777477784777947780477814778247783477844778547786477874778847789477904779147792477934779447795477964779747798477994780047801478024780347804478054780647807478084780947810478114781247813478144781547816478174781847819478204782147822478234782447825478264782747828478294783047831478324783347834478354783647837478384783947840478414784247843478444784547846478474784847849478504785147852478534785447855478564785747858478594786047861478624786347864478654786647867478684786947870478714787247873478744787547876478774787847879478804788147882478834788447885478864788747888478894789047891478924789347894478954789647897
  1. 2011-02-15 Gavin Barraclough <barraclough@apple.com>
  2. Reviewed by Geoff Garen.
  3. Bug 54524 - Allow JSObject to fully utilize cell's capacity for inline storage.
  4. Currently JSObject is both directly instantiated for regular JS objects, and
  5. derived to implement subtypes. A consequence of this is that we need to ensure
  6. that sufficient space from the cell is left unused and available for any data
  7. members that will be introduced by subclasses of JSObject. By restructuring
  8. the internal storage array out of JSObject we can increase the size in the
  9. internal storage for regular objects.
  10. Add classes JSFinalObject and JSNonFinalObject. JSNonFinalObject retains as
  11. much additional capacity as is currently available to allow for data members
  12. in subclasses. JSFinalObject utilizes all available space for internal storage,
  13. and only allows construction through JSFinalObject::create().
  14. * bindings/js/JSDOMWindowShell.h:
  15. Update JSObject -> JSNonFinalObject.
  16. 2011-02-16 Carol Szabo <carol.szabo@nokia.com>
  17. Reviewed by David Hyatt.
  18. REGRESSION: Use after free in WebCore::RenderCounter::destroyCounterNode
  19. https://bugs.webkit.org/show_bug.cgi?id=54478
  20. Test: fast/css/counters/render-tree-reorg-crash.html
  21. * rendering/RenderCounter.cpp:
  22. (WebCore::findPlaceForCounter):
  23. Fixed typo. The code was still walking sometimes the renderer tree
  24. instead of the element tree as intended.
  25. 2011-02-16 Hans Wennborg <hans@chromium.org>
  26. Reviewed by Jeremy Orlow.
  27. IndexedDB: Inject auto increment keys via key path on insertion
  28. https://bugs.webkit.org/show_bug.cgi?id=54457
  29. Inject auto increment keys via key path for object stores using key
  30. path and auto increment.
  31. * bindings/v8/IDBBindingUtilities.cpp:
  32. (WebCore::LocalContext::getNthValueOnKeyPath):
  33. (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
  34. (WebCore::injectIDBKeyIntoSerializedValue):
  35. * bindings/v8/IDBBindingUtilities.h:
  36. * platform/chromium/PlatformBridge.h:
  37. * storage/IDBKeyPathBackendImpl.cpp:
  38. (IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
  39. * storage/IDBKeyPathBackendImpl.h:
  40. * storage/IDBObjectStoreBackendImpl.cpp:
  41. (WebCore::injectKeyIntoKeyPath):
  42. (WebCore::IDBObjectStoreBackendImpl::selectKeyForPut):
  43. (WebCore::IDBObjectStoreBackendImpl::putInternal):
  44. * storage/IDBObjectStoreBackendImpl.h:
  45. * storage/chromium/IDBKeyPathBackendImpl.cpp:
  46. (WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
  47. 2011-02-16 Sergio Villar Senin <svillar@igalia.com>
  48. Reviewed by Martin Robinson.
  49. [Gtk] Add support for layoutTestController.setWillSendRequestClearHeader
  50. https://bugs.webkit.org/show_bug.cgi?id=54537
  51. Headers removed from the SoupMessage should be also removed from
  52. the ResourceRequest when updating the latter from the former.
  53. * platform/network/soup/ResourceRequestSoup.cpp:
  54. (WebCore::ResourceRequest::updateFromSoupMessage):
  55. 2011-02-16 Ilya Tikhonovsky <loislo@chromium.org>
  56. Reviewed by Yury Semikhatsky.
  57. Web Inspector: split all the functions of Inspector backend API by domain.
  58. https://bugs.webkit.org/show_bug.cgi?id=54558
  59. We have a number of functions from different domains in single instance of InspectorBackend.
  60. It'd be better to split the functions by their domains.
  61. As example 'evaluate' will be moved from InspectorBackend to RuntimeAgent container.
  62. * inspector/CodeGeneratorInspector.pm:
  63. * inspector/front-end/AuditRules.js:
  64. (WebInspector.AuditRules.evaluateInTargetWindow):
  65. (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
  66. * inspector/front-end/AuditsPanel.js:
  67. (WebInspector.AuditsPanel.prototype._reloadResources):
  68. * inspector/front-end/BreakpointManager.js:
  69. (WebInspector.BreakpointManager.prototype._projectChanged):
  70. (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
  71. (WebInspector.BreakpointManager.prototype._saveBreakpoints):
  72. (WebInspector.DOMBreakpoint.prototype._enable):
  73. (WebInspector.DOMBreakpoint.prototype._disable):
  74. (WebInspector.EventListenerBreakpoint.prototype._enable):
  75. (WebInspector.EventListenerBreakpoint.prototype._disable):
  76. (WebInspector.XHRBreakpoint.prototype._enable):
  77. (WebInspector.XHRBreakpoint.prototype._disable):
  78. * inspector/front-end/CSSStyleModel.js:
  79. (WebInspector.CSSStyleModel.prototype.getStylesAsync):
  80. (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
  81. (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
  82. (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
  83. (WebInspector.CSSStyleModel.prototype.setRuleSelector):
  84. (WebInspector.CSSStyleModel.prototype.addRule.callback):
  85. (WebInspector.CSSStyleModel.prototype.addRule):
  86. (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
  87. (WebInspector.CSSStyleModel.prototype._onRevert):
  88. (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
  89. (WebInspector.CSSProperty.prototype.setText):
  90. (WebInspector.CSSProperty.prototype.setDisabled):
  91. (WebInspector.CSSStyleSheet.createForId):
  92. (WebInspector.CSSStyleSheet.prototype.setText):
  93. * inspector/front-end/ConsoleView.js:
  94. (WebInspector.ConsoleView.prototype.requestClearMessages):
  95. (WebInspector.ConsoleView.prototype.completions):
  96. (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction):
  97. (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
  98. (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
  99. * inspector/front-end/CookieItemsView.js:
  100. (WebInspector.CookieItemsView.prototype._deleteCookie):
  101. * inspector/front-end/DOMAgent.js:
  102. (WebInspector.DOMAgent.prototype.getChildNodesAsync):
  103. (WebInspector.DOMAgent.prototype.setAttributeAsync):
  104. (WebInspector.DOMAgent.prototype.removeAttributeAsync):
  105. (WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
  106. (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
  107. (WebInspector.Cookies.getCookiesAsync):
  108. (WebInspector.EventListeners.getEventListenersForNodeAsync):
  109. * inspector/front-end/DOMStorage.js:
  110. (WebInspector.DOMStorage.prototype.getEntries):
  111. (WebInspector.DOMStorage.prototype.setItem):
  112. (WebInspector.DOMStorage.prototype.removeItem):
  113. * inspector/front-end/Database.js:
  114. (WebInspector.Database.prototype.getTableNames):
  115. (WebInspector.Database.prototype.executeSql):
  116. * inspector/front-end/DebuggerModel.js:
  117. (WebInspector.DebuggerModel.prototype.enableDebugger):
  118. (WebInspector.DebuggerModel.prototype.disableDebugger):
  119. (WebInspector.DebuggerModel.prototype.continueToLocation):
  120. (WebInspector.DebuggerModel.prototype.setBreakpoint):
  121. (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
  122. (WebInspector.DebuggerModel.prototype.removeBreakpoint):
  123. (WebInspector.DebuggerModel.prototype.editScriptSource):
  124. * inspector/front-end/ElementsPanel.js:
  125. (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
  126. (WebInspector.ElementsPanel):
  127. (WebInspector.ElementsPanel.prototype.setDocument):
  128. (WebInspector.ElementsPanel.prototype.searchCanceled):
  129. (WebInspector.ElementsPanel.prototype.performSearch):
  130. (WebInspector.ElementsPanel.prototype.handleCopyEvent):
  131. (WebInspector.ElementsPanel.prototype.setSearchingForNode):
  132. * inspector/front-end/ElementsTreeOutline.js:
  133. (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
  134. (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
  135. ():
  136. * inspector/front-end/ExtensionPanel.js:
  137. (WebInspector.ExtensionWatchSidebarPane.prototype.setExpression):
  138. * inspector/front-end/ExtensionServer.js:
  139. (WebInspector.ExtensionServer.prototype._onAddRequestHeaders):
  140. (WebInspector.ExtensionServer.prototype._onReload):
  141. (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
  142. * inspector/front-end/HeapSnapshotView.js:
  143. (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
  144. * inspector/front-end/NetworkManager.js:
  145. (WebInspector.NetworkManager):
  146. (WebInspector.NetworkManager.prototype.reset):
  147. (WebInspector.NetworkManager.prototype.requestContent):
  148. * inspector/front-end/NetworkPanel.js:
  149. (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
  150. * inspector/front-end/ProfileView.js:
  151. (WebInspector.CPUProfileView):
  152. (WebInspector.CPUProfileType.prototype.buttonClicked):
  153. * inspector/front-end/ProfilesPanel.js:
  154. (WebInspector.ProfilesPanel.prototype._clearProfiles):
  155. (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
  156. (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
  157. (WebInspector.ProfilesPanel.prototype._toggleProfiling):
  158. (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
  159. * inspector/front-end/PropertiesSidebarPane.js:
  160. (WebInspector.PropertiesSidebarPane.prototype.update):
  161. * inspector/front-end/RemoteObject.js:
  162. (WebInspector.RemoteObject.resolveNode):
  163. (WebInspector.RemoteObject.prototype.getProperties):
  164. (WebInspector.RemoteObject.prototype.setPropertyValue):
  165. (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
  166. * inspector/front-end/ResourcesPanel.js:
  167. (WebInspector.FrameTreeElement.prototype.onselect):
  168. (WebInspector.FrameTreeElement.prototype.set hovered):
  169. (WebInspector.FrameResourceTreeElement.prototype.ondblclick):
  170. * inspector/front-end/Script.js:
  171. (WebInspector.Script.prototype.requestSource):
  172. * inspector/front-end/ScriptsPanel.js:
  173. (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
  174. (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
  175. (WebInspector.ScriptsPanel.prototype._togglePause):
  176. (WebInspector.ScriptsPanel.prototype._stepOverClicked):
  177. (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
  178. (WebInspector.ScriptsPanel.prototype._stepOutClicked):
  179. (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
  180. * inspector/front-end/SourceFrame.js:
  181. (WebInspector.SourceFrame.prototype._hidePopup):
  182. * inspector/front-end/TestController.js:
  183. (WebInspector.TestController.prototype.notifyDone):
  184. * inspector/front-end/TimelinePanel.js:
  185. (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
  186. * inspector/front-end/WatchExpressionsSidebarPane.js:
  187. (WebInspector.WatchExpressionsSection.prototype.update):
  188. * inspector/front-end/WorkersSidebarPane.js:
  189. (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
  190. * inspector/front-end/inspector.js:
  191. (WebInspector.highlightDOMNode):
  192. (WebInspector.doLoadedDone):
  193. (WebInspector.openResource):
  194. (WebInspector.documentKeyDown):
  195. 2011-02-16 Mario Sanchez Prada <msanchez@igalia.com>
  196. Reviewed by Martin Robinson.
  197. [GTK] events missing when a document is (re)loaded
  198. https://bugs.webkit.org/show_bug.cgi?id=25831
  199. Make sure webArea returns a proper name and that a signal
  200. 'state-change::defunct' is emitted when detaching the wrapper.
  201. Test: platform/gtk/accessibility/document-reload-events.html
  202. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
  203. (webkit_accessible_get_name): Returns the current document's title
  204. as fallback mechanism for webArea objects.
  205. (webkit_accessible_detach): Emit 'state-change::defunct' function
  206. as soon as the wrapper is detached from the related core object.
  207. 2011-02-15 Nikolas Zimmermann <nzimmermann@rim.com>
  208. Reviewed by Dirk Schulze.
  209. Pixel tests differences on 10.6.6 32bit vs. 64bit
  210. https://bugs.webkit.org/show_bug.cgi?id=54474
  211. When generating a SVG pixel test baseline with a vanilla 10.6.6 installation on a 32bit machine (Core Duo MBP)
  212. and comparing the run with a software-identical 64bit machine (Core 2 Duo MBP), there are about 250 differences.
  213. These fall in two categories:
  214. a) 1px differences in text AA, or when drawing circles (all _below_ a tolerance of 0.01). Only visible in the subtracted difference image.
  215. The reason is probably CGFloat being typedefed to double on 64bit machines, and float on 32bit machines.
  216. AffineTransform stores doubles, so on 32bit machines we loose precision from AffineTransform -> CGAffineTransform.
  217. b) Failures >0.1% (text origin/scale is slightly different, user-visible).
  218. Caused by several sources of numerical instabilities within the SVG rendering code.
  219. -> SVGPreserveAspectRatio::getCTM() computes an AffineTransform using doubles as input parameters, but floats are passed (like everywhere else in SVG).
  220. This method is used to compute the viewBox AffineTransform, that affects the rendering of every content in the document. RenderSVGRoot concats
  221. this transformation matrix to the GraphicsContext CTM, resulting in a source of numerical imprecision.
  222. -> SVGInlineTextBox::paintTextWithShadows() calculates a scaling factor for text, to scale up the specified font size, to the actual on-screen size.
  223. SVGInlineTextBox uses the scaled Font object, to draw in an unscaled context, that gets scaled up again afterwards.
  224. context->scale(1 / scalingFactor); scaledFont.drawText(); context->scale(scalingFactor);
  225. To remove the scale from the current GraphicsContext CTM, "context->scale(FloatSize(1 / scalingFactor, ...)" is used. As AffineTransform stores
  226. doubles internally, it's likely that "context->scale(FloatSize(1 / ctm.a(), .." doesn't give you a matrix with a=1, but something close to 1.
  227. Using "context->concatCTM(AffineTransform().scale(1 / ctm.a(), ..." could be used as workaround, to preserve double precision.
  228. Fixing that brings us down to just a few pixel tests that differ between 32 & 64bit. There is still numerical imprecision, as floating-point
  229. number representations aren't always precise. Unfortunately CoreGraphics doesn't provide a public way to just set a CTM, it only allows to concat them.
  230. Fortunately CGContextSetCTM() is available, as private method, that allows me to switch the context CTM to any arbitary CGAffineTransform.
  231. -> Add GraphicsContext::setCTM(const AffineTransform&) and implement it for all platforms (each explicitely exposes a 'setCTM' concept, except CG)
  232. Use CGContextSetCTM() for CG, which appears to be present since at least 10.4, Cairo is using it for the same purpose since some years!
  233. -> Instead of scaling the GraphicsContext before drawing text, grab the current CTM using context->getCTM(), scale it by '1 / scalingFactor'
  234. normalize the transform (look for values close to 0/1 using float precision, and round!), and assign it using context->setCTM(normalizedTransform).
  235. After drawing, just switch back to the preserved original CTM, both operations need GraphicsContext::setCTM.
  236. This fixes all pixel test differences between 32/64 bit machines that fall into category b).
  237. The use of GraphicsContext::setCTM() allows to switch between arbitary context transformations _without_ inducing accumulated rounding imprecision.
  238. These combined patches fix the pixel test baseline changes.
  239. Updated existing Snow Leopard pixel test baseline with a 32bit machine, passes here with tolerance 0.
  240. The 64bit machine passes the baseline with tolerance 0.01.
  241. * platform/graphics/GraphicsContext.h: Add setCTM(const AffineTransform&) method.
  242. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  243. (WebCore::GraphicsContext::setCTM): Implement setCTM.
  244. * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
  245. (WebCore::GraphicsContextPlatformPrivate::setCTM): Ditto.
  246. * platform/graphics/cg/GraphicsContextCG.cpp:
  247. (WebCore::GraphicsContext::setCTM): Ditto.
  248. * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
  249. (WebCore::GraphicsContextPlatformPrivate::setCTM): Ditto.
  250. * platform/graphics/chromium/GLES2Canvas.cpp:
  251. (WebCore::GLES2Canvas::setCTM): Ditto.
  252. * platform/graphics/chromium/GLES2Canvas.h:
  253. * platform/graphics/haiku/GraphicsContextHaiku.cpp:
  254. (WebCore::GraphicsContext::setCTM): Ditto.
  255. * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
  256. (WebCore::GraphicsContext::setCTM): Ditto.
  257. * platform/graphics/qt/GraphicsContextQt.cpp:
  258. (WebCore::GraphicsContext::setCTM): Ditto.
  259. * platform/graphics/skia/GraphicsContextSkia.cpp:
  260. (WebCore::GraphicsContext::setCTM): Ditto.
  261. * platform/graphics/win/GraphicsContextWin.cpp:
  262. (WebCore::GraphicsContextPlatformPrivate::setCTM): Ditto.
  263. * platform/graphics/wince/GraphicsContextWinCE.cpp:
  264. (WebCore::GraphicsContextPlatformPrivate::concatCTM):
  265. (WebCore::GraphicsContextPlatformPrivate::setCTM): Ditto.
  266. (WebCore::GraphicsContext::setCTM):
  267. * platform/graphics/wx/GraphicsContextWx.cpp:
  268. (WebCore::GraphicsContext::setCTM): Ditto.
  269. * rendering/svg/SVGInlineTextBox.cpp: Use setCTM() to switch to a scale-free AffineTransform, and also to switch back to the original CTM after rendering text.
  270. (WebCore::normalizeTransform):
  271. (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
  272. (WebCore::SVGInlineTextBox::paintTextWithShadows):
  273. * svg/SVGPreserveAspectRatio.cpp: s/double/float/.
  274. (WebCore::SVGPreserveAspectRatio::getCTM):
  275. * svg/SVGPreserveAspectRatio.h:
  276. * svg/SVGSVGElement.cpp: Simplify viewport() code, avoid using doubles.
  277. (WebCore::SVGSVGElement::viewport):
  278. 2011-02-16 Andreas Kling <kling@webkit.org>
  279. Reviewed by Dirk Schulze.
  280. SVGAnimateElement incorrectly uses Color::nameForRenderTreeAsText()
  281. https://bugs.webkit.org/show_bug.cgi?id=54547
  282. * svg/SVGAnimateElement.cpp:
  283. (WebCore::SVGAnimateElement::applyResultsToTarget):
  284. 2011-02-14 Mikhail Naganov <mnaganov@chromium.org>
  285. Reviewed by Pavel Feldman.
  286. Web Inspector: [Chromium] Landing detailed heap snapshots, part 3.
  287. https://bugs.webkit.org/show_bug.cgi?id=54385
  288. Provide node classes for data grid views:
  289. - summary -- list of objects by constuctor;
  290. - diff -- summaries btw two snapshots;
  291. - explorer -- explore heap graph;
  292. - dominators tree;
  293. * WebCore.gypi:
  294. * WebCore.vcproj/WebCore.vcproj:
  295. * inspector/front-end/DetailedHeapshotGridNodes.js: Added.
  296. * inspector/front-end/HeapSnapshot.js:
  297. (WebInspector.HeapSnapshotFilteredOrderedIterator):
  298. (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.incInstancesCount):
  299. (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.get instancesCount):
  300. (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.next):
  301. (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.resetInstancesCount):
  302. (WebInspector.HeapSnapshotEdgesProvider):
  303. (WebInspector.HeapSnapshotNodesProvider):
  304. * inspector/front-end/PleaseWaitMessage.js:
  305. (WebInspector.PleaseWaitMessage.prototype.get instance):
  306. * inspector/front-end/WebKit.qrc:
  307. * inspector/front-end/inspector.html:
  308. 2011-02-16 Sheriff Bot <webkit.review.bot@gmail.com>
  309. Unreviewed, rolling out r78655.
  310. http://trac.webkit.org/changeset/78655
  311. https://bugs.webkit.org/show_bug.cgi?id=54543
  312. Causes too many test failures in chromium (Requested by
  313. mnaganov on #webkit).
  314. * bindings/js/JSEventListener.cpp:
  315. (WebCore::JSEventListener::handleEvent):
  316. * bindings/js/JSEventTarget.cpp:
  317. (WebCore::toJS):
  318. * bindings/v8/V8AbstractEventListener.cpp:
  319. (WebCore::V8AbstractEventListener::invokeEventHandler):
  320. * dom/EventTarget.cpp:
  321. * dom/EventTarget.h:
  322. * storage/IDBRequest.cpp:
  323. * storage/IDBRequest.h:
  324. 2011-02-16 Ilya Tikhonovsky <loislo@chromium.org>
  325. Reviewed by Yury Semikhatsky.
  326. Web Inspector: move Database and DOMStorage related things from InspectorAgent to the corresponding agents.
  327. https://bugs.webkit.org/show_bug.cgi?id=54455
  328. Some set of instrumentation calls should work even if we have no InspectorFrontend instance and corresponding agents.
  329. At the moment we are using InspectorAgent instance for such calls.
  330. * inspector/InspectorAgent.cpp:
  331. (WebCore::InspectorAgent::InspectorAgent):
  332. (WebCore::InspectorAgent::createFrontendLifetimeAgents):
  333. (WebCore::InspectorAgent::pushDataCollectedOffline):
  334. (WebCore::InspectorAgent::didCommitLoad):
  335. * inspector/InspectorAgent.h:
  336. (WebCore::InspectorOfflineResourcesBase::~InspectorOfflineResourcesBase):
  337. (WebCore::InspectorOfflineResourcesBase::InspectorOfflineResourcesBase):
  338. (WebCore::InspectorAgent::databaseAgentResources):
  339. (WebCore::InspectorAgent::domStorageAgentResources):
  340. * inspector/InspectorDOMStorageAgent.cpp:
  341. (WebCore::InspectorDOMStorageAgent::Resources::clear):
  342. (WebCore::InspectorDOMStorageAgent::Resources::pushDataCollectedOffline):
  343. (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
  344. (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
  345. (WebCore::InspectorDOMStorageAgent::createOfflineStorage):
  346. (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
  347. (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
  348. (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
  349. * inspector/InspectorDOMStorageAgent.h:
  350. (WebCore::InspectorDOMStorageAgent::create):
  351. * inspector/InspectorDatabaseAgent.cpp:
  352. (WebCore::InspectorDatabaseAgent::Resources::clear):
  353. (WebCore::InspectorDatabaseAgent::Resources::pushDataCollectedOffline):
  354. (WebCore::InspectorDatabaseAgent::didOpenDatabase):
  355. (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
  356. (WebCore::InspectorDatabaseAgent::createOfflineStorage):
  357. (WebCore::InspectorDatabaseAgent::databaseForId):
  358. (WebCore::InspectorDatabaseAgent::selectDatabase):
  359. * inspector/InspectorDatabaseAgent.h:
  360. (WebCore::InspectorDatabaseAgent::create):
  361. * inspector/InspectorInstrumentation.cpp:
  362. (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
  363. (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
  364. 2011-02-15 John Sullivan <sullivan@apple.com>
  365. Reviewed by Antti Koivisto.
  366. Dan Bernstein came up with this fix while we debugged it. I just typed.
  367. https://bugs.webkit.org/show_bug.cgi?id=54532
  368. On platforms without platformWidgets, going Back to a scrolled page
  369. draws at the top-left before drawing at the restored scroll position
  370. <rdar://problem/8998838>
  371. * page/FrameView.cpp:
  372. (WebCore::FrameView::performPostLayoutTasks):
  373. Don't send the didFirstLayout and didFirstVisuallyNonEmptyLayout callbacks
  374. for nested layouts. Doing so was causing ScrollView::setScrollPosition()
  375. to short-circuit.
  376. 2011-02-15 Csaba Osztrogonác <ossy@webkit.org>
  377. Unreviewed.
  378. [Qt][V8] Buildfix. Add missing USE(JSC) guard.
  379. * plugins/qt/PluginViewQt.cpp:
  380. 2011-02-15 Ami Fischman <fischman@chromium.org>
  381. Reviewed by David Levin.
  382. Remove the artificial -32px shift for media controls in mediaDocuments
  383. so that they overlap the canvas as they do in non-mediaDocuments.
  384. This also fixes test_shell failing to update the media slider (see
  385. linked crbug below).
  386. https://bugs.webkit.org/show_bug.cgi?id=27798
  387. http://crbug.com/72623
  388. Test: media/video-controls-in-media-document.html
  389. Added a render test that asserts that the controls show up in the
  390. expected spot (0,208) instead of below the canvas (0,240).
  391. * css/mediaControlsChromium.css:
  392. 2011-02-15 Ryosuke Niwa <rniwa@webkit.org>
  393. Reviewed by Darin Adler.
  394. Extract a function to process ancestor and their sibling nodes from processContents
  395. https://bugs.webkit.org/show_bug.cgi?id=54425
  396. Extracted processAncestorsAndTheirSiblings.
  397. * dom/Range.cpp:
  398. (WebCore::Range::processContents): Calls processContents.
  399. (WebCore::Range::processAncestorsAndTheirSiblings): Extracted from processContents.
  400. * dom/Range.h:
  401. 2011-02-15 Kent Tamura <tkent@chromium.org>
  402. Reviewed by Darin Fisher.
  403. [Chromium] Rendering error of spin buttons on layers
  404. https://bugs.webkit.org/show_bug.cgi?id=54427
  405. Test: fast/forms/input-appearance-spinbutton-layer.html
  406. * rendering/RenderThemeChromiumWin.cpp:
  407. Add checks for multiple ThemePainter instances.
  408. (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
  409. Avoid to create multiple ThemePainter instances.
  410. 2011-02-15 Chris Rogers <crogers@google.com>
  411. Reviewed by Kenneth Russell.
  412. Fix race condition in JavaScriptAudioNode
  413. https://bugs.webkit.org/show_bug.cgi?id=54518
  414. No new tests since audio API is not yet implemented.
  415. * webaudio/JavaScriptAudioNode.cpp:
  416. (WebCore::JavaScriptAudioNode::process):
  417. 2011-02-10 Jeremy Orlow <jorlow@chromium.org>
  418. Reviewed by Nate Chapin.
  419. Throwing in an IndexedDB error or success event should lead to the transaction aborting
  420. https://bugs.webkit.org/show_bug.cgi?id=54249
  421. When an exception is thrown but not handled within an IDBRequests success/error event,
  422. we should abort the transaction.
  423. Test: storage/indexeddb/exception-in-event-aborts.html
  424. * bindings/js/JSEventListener.cpp:
  425. (WebCore::JSEventListener::handleEvent):
  426. * bindings/js/JSEventTarget.cpp:
  427. (WebCore::toJS):
  428. * bindings/v8/V8AbstractEventListener.cpp:
  429. (WebCore::V8AbstractEventListener::invokeEventHandler):
  430. * dom/EventTarget.cpp:
  431. (WebCore::EventTarget::uncaughtExceptionInEventHandler):
  432. * dom/EventTarget.h:
  433. * storage/IDBRequest.cpp:
  434. (WebCore::IDBRequest::uncaughtExceptionInEventHandler):
  435. * storage/IDBRequest.h:
  436. 2011-02-15 Ian Henderson <ianh@apple.com>
  437. Reviewed by Darin Adler.
  438. To determine image properties, CG allocates memory which isn't included in CachedImage's decoded size
  439. https://bugs.webkit.org/show_bug.cgi?id=53281
  440. When determining properties of an image (such as its size), CG ends up
  441. decoding part of the image. This patch adds accounting for this extra
  442. decoded size so a cache prune can clean up the allocations.
  443. * platform/graphics/BitmapImage.cpp:
  444. (WebCore::BitmapImage::BitmapImage):
  445. (WebCore::BitmapImage::destroyMetadataAndNotify):
  446. Clearing the source destroys the extra decoded data. Report this
  447. change in decoded size to the image observer.
  448. (WebCore::BitmapImage::cacheFrame):
  449. The first decoded frame subsumes the data decoded when determining
  450. image properties, so we subtract it out here.
  451. (WebCore::BitmapImage::didDecodeProperties):
  452. Reports the extra decoded size to the image's observer.
  453. (WebCore::BitmapImage::size):
  454. (WebCore::BitmapImage::currentFrameSize):
  455. (WebCore::BitmapImage::getHotSpot):
  456. (WebCore::BitmapImage::frameCount):
  457. (WebCore::BitmapImage::isSizeAvailable):
  458. (WebCore::BitmapImage::repetitionCount):
  459. * platform/graphics/BitmapImage.h:
  460. * platform/graphics/ImageSource.cpp:
  461. (WebCore::ImageSource::bytesDecodedToDetermineProperties):
  462. The default value is 0 to match the current behavior on other
  463. platforms.
  464. * platform/graphics/ImageSource.h:
  465. * platform/graphics/cg/ImageSourceCG.cpp:
  466. (WebCore::ImageSource::bytesDecodedToDetermineProperties):
  467. Add a constant value for bytesDecodedToDetermineProperties(), measured
  468. by tracing malloc/calloc calls while asking an image source for its
  469. properties.
  470. 2011-02-15 James Robinson <jamesr@chromium.org>
  471. Reviewed by Alexey Proskuryakov.
  472. requestAnimationFrame callbacks should not fire within a modal dialog
  473. https://bugs.webkit.org/show_bug.cgi?id=53188
  474. requestAnimationFrame callbacks shouldn't fire while a modal dialog is up (like a window.alert()).
  475. This matches Firefox and other async APIs. This patch moves the callback servicing into its own
  476. controller class which receives notifications on suspend/resume.
  477. Test: fast/animation/request-animation-frame-during-modal.html
  478. * WebCore.gypi:
  479. * bindings/js/ScriptDebugServer.cpp:
  480. (WebCore::ScriptDebugServer::setJavaScriptPaused):
  481. * dom/Document.cpp:
  482. (WebCore::Document::Document):
  483. (WebCore::Document::suspendScriptedAnimationControllerCallbacks):
  484. (WebCore::Document::resumeScriptedAnimationControllerCallbacks):
  485. (WebCore::Document::webkitRequestAnimationFrame):
  486. (WebCore::Document::webkitCancelRequestAnimationFrame):
  487. (WebCore::Document::serviceScriptedAnimations):
  488. * dom/Document.h:
  489. * dom/ScriptExecutionContext.h:
  490. (WebCore::ScriptExecutionContext::suspendScriptedAnimationControllerCallbacks):
  491. (WebCore::ScriptExecutionContext::resumeScriptedAnimationControllerCallbacks):
  492. * dom/ScriptedAnimationController.cpp: Added.
  493. (WebCore::ScriptedAnimationController::ScriptedAnimationController):
  494. (WebCore::ScriptedAnimationController::suspend):
  495. (WebCore::ScriptedAnimationController::resume):
  496. (WebCore::ScriptedAnimationController::registerCallback):
  497. (WebCore::ScriptedAnimationController::cancelCallback):
  498. (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
  499. * dom/ScriptedAnimationController.h: Added.
  500. (WebCore::ScriptedAnimationController::create):
  501. * history/CachedFrame.cpp:
  502. (WebCore::CachedFrameBase::restore):
  503. (WebCore::CachedFrame::CachedFrame):
  504. * page/PageGroupLoadDeferrer.cpp:
  505. (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
  506. (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
  507. 2011-02-14 Jeremy Orlow <jorlow@chromium.org>
  508. Reviewed by Darin Fisher.
  509. Add initial support for per-origin quotas to IndexedDB
  510. https://bugs.webkit.org/show_bug.cgi?id=54421
  511. Add support for non-persistent per-origin quotas. If one is
  512. specified, it overrides the default.
  513. No tests as this is only exposed via the Chromium webkit API.
  514. * storage/IDBFactoryBackendImpl.cpp:
  515. (WebCore::IDBFactoryBackendImpl::open):
  516. (WebCore::IDBFactoryBackendImpl::setQuota):
  517. * storage/IDBFactoryBackendImpl.h:
  518. * storage/IDBFactoryBackendInterface.h:
  519. 2011-02-15 Adam Barth <abarth@webkit.org>
  520. Reviewed by Darin Adler.
  521. XSLT with output method HTML and images crashes in debug mode
  522. https://bugs.webkit.org/show_bug.cgi?id=54462
  523. http://trac.webkit.org/changeset/75577 created Document::setContent but
  524. didn't notice that the code paths combined into Document::setContent
  525. were subtly different. In particular, some of the code paths called
  526. parser->finish() whereas other did not.
  527. The difference is that an explicit call to parser->finish() is required
  528. in the case where there is no frame because explicitClose doesn't call
  529. endIfNotLoadingMainResource if there is no frame. This patch moves
  530. that logic inside explicitClose, which is more natural.
  531. This patch also removes removeAllChildren, which has not effect in this
  532. situation and should never have been added in the first place.
  533. Test: fast/parser/xslt-with-html.xml
  534. * dom/Document.cpp:
  535. (WebCore::Document::setContent):
  536. (WebCore::Document::explicitClose):
  537. 2011-02-15 Oliver Hunt <oliver@apple.com>
  538. Fix EFL build for
  539. https://bugs.webkit.org/show_bug.cgi?id=54415
  540. * CMakeLists.txt:
  541. 2011-02-15 David Kilzer <ddkilzer@apple.com>
  542. <http://webkit.org/b/54487> Minor header clean up in RenderLayerBacking.cpp
  543. Reviewed by Darin Adler.
  544. * rendering/RenderLayerBacking.cpp: Remove unused
  545. WebGLRenderingContext.h header, and move GraphicsContext3D.h
  546. into a #if ENABLE(WEBGL) || ENABLE(ACCELERATED_2D_CANVAS)/#endif
  547. block.
  548. 2011-02-14 Oliver Hunt <oliver@apple.com>
  549. Reviewed by Gavin Barraclough and Geoff Garen.
  550. Refactor handles and weak pointers to become nicer and more automatic
  551. https://bugs.webkit.org/show_bug.cgi?id=54415
  552. Update WebCore to use the new Global<> type rather than ProtectedJSValue
  553. and gc[Un]Protect. Also update to use new WeakGCPtr APIs, and remove now
  554. unnecessary destructors.
  555. * ForwardingHeaders/collector/handles/Global.h: Added.
  556. * WebCore.vcproj/WebCore.vcproj:
  557. * WebCore.vcproj/copyForwardingHeaders.cmd:
  558. * bindings/js/JSCallbackData.h:
  559. (WebCore::JSCallbackData::JSCallbackData):
  560. * bindings/js/JSCustomVoidCallback.h:
  561. * bindings/js/JSDOMBinding.cpp:
  562. (WebCore::forgetDOMNode):
  563. (WebCore::cacheDOMNodeWrapper):
  564. * bindings/js/JSDOMWindowBase.h:
  565. * bindings/js/JSDOMWindowShell.cpp:
  566. (WebCore::JSDOMWindowShell::setWindow):
  567. * bindings/js/JSDataGridDataSource.h:
  568. * bindings/js/JSEventListener.cpp:
  569. (WebCore::JSEventListener::JSEventListener):
  570. * bindings/js/JSEventListener.h:
  571. (WebCore::JSEventListener::setWrapper):
  572. * bindings/js/JSLazyEventListener.cpp:
  573. (WebCore::JSLazyEventListener::initializeJSFunction):
  574. * bindings/js/ScheduledAction.cpp:
  575. (WebCore::ScheduledAction::ScheduledAction):
  576. (WebCore::ScheduledAction::executeFunctionInContext):
  577. * bindings/js/ScheduledAction.h:
  578. (WebCore::ScheduledAction::ScheduledAction):
  579. * bindings/js/ScriptCachedFrameData.cpp:
  580. (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
  581. (WebCore::ScriptCachedFrameData::restore):
  582. * bindings/js/ScriptCachedFrameData.h:
  583. * bindings/js/ScriptCallStackFactory.cpp:
  584. (WebCore::createScriptArguments):
  585. * bindings/js/ScriptController.cpp:
  586. (WebCore::ScriptController::createWindowShell):
  587. (WebCore::ScriptController::evaluateInWorld):
  588. (WebCore::ScriptController::clearWindowShell):
  589. (WebCore::ScriptController::attachDebugger):
  590. * bindings/js/ScriptController.h:
  591. * bindings/js/ScriptFunctionCall.cpp:
  592. (WebCore::ScriptFunctionCall::call):
  593. (WebCore::ScriptCallback::call):
  594. * bindings/js/ScriptObject.cpp:
  595. (WebCore::ScriptObject::ScriptObject):
  596. * bindings/js/ScriptObject.h:
  597. * bindings/js/ScriptState.cpp:
  598. (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr):
  599. (WebCore::ScriptStateProtectedPtr::get):
  600. * bindings/js/ScriptState.h:
  601. * bindings/js/ScriptValue.cpp:
  602. (WebCore::ScriptValue::isFunction):
  603. (WebCore::ScriptValue::deserialize):
  604. * bindings/js/ScriptValue.h:
  605. (WebCore::ScriptValue::ScriptValue):
  606. (WebCore::ScriptValue::hasNoValue):
  607. * bindings/js/ScriptWrappable.h:
  608. (WebCore::ScriptWrappable::ScriptWrappable):
  609. (WebCore::ScriptWrappable::setWrapper):
  610. * bindings/js/WorkerScriptController.cpp:
  611. (WebCore::WorkerScriptController::WorkerScriptController):
  612. (WebCore::WorkerScriptController::~WorkerScriptController):
  613. (WebCore::WorkerScriptController::initScript):
  614. (WebCore::WorkerScriptController::evaluate):
  615. * bindings/js/WorkerScriptController.h:
  616. (WebCore::WorkerScriptController::workerContextWrapper):
  617. * bindings/scripts/CodeGeneratorJS.pm:
  618. * bridge/NP_jsobject.cpp:
  619. (_NPN_InvokeDefault):
  620. (_NPN_Invoke):
  621. (_NPN_Evaluate):
  622. (_NPN_Construct):
  623. * bridge/jsc/BridgeJSC.cpp:
  624. (JSC::Bindings::Instance::Instance):
  625. (JSC::Bindings::Instance::~Instance):
  626. (JSC::Bindings::Instance::willDestroyRuntimeObject):
  627. (JSC::Bindings::Instance::willInvalidateRuntimeObject):
  628. * bridge/jsc/BridgeJSC.h:
  629. * bridge/runtime_object.cpp:
  630. (JSC::Bindings::RuntimeObject::invalidate):
  631. * bridge/runtime_root.cpp:
  632. (JSC::Bindings::RootObject::RootObject):
  633. (JSC::Bindings::RootObject::invalidate):
  634. (JSC::Bindings::RootObject::globalObject):
  635. (JSC::Bindings::RootObject::updateGlobalObject):
  636. * bridge/runtime_root.h:
  637. * dom/EventListener.h:
  638. * dom/EventTarget.h:
  639. (WebCore::EventTarget::markJSEventListeners):
  640. * xml/XMLHttpRequest.cpp:
  641. Qt bindings courtesy of Csaba Osztrogonác
  642. * bridge/qt/qt_runtime.cpp:
  643. (JSC::Bindings::QtRuntimeConnectionMethod::call):
  644. (JSC::Bindings::QtConnectionObject::QtConnectionObject):
  645. (JSC::Bindings::QtConnectionObject::execute):
  646. (JSC::Bindings::QtConnectionObject::match):
  647. * bridge/qt/qt_runtime.h:
  648. 2011-02-15 Jia Pu <jpu@apple.com>
  649. Reviewed by Darin Adler.
  650. Autocorrection should respect undo.
  651. https://bugs.webkit.org/show_bug.cgi?id=52221
  652. <rdar://problem/8663399>
  653. Manual test: manual-tests/autocorrection/undo-autocorrection.html
  654. When user undoes an autocorrection, we need to do four things:
  655. 1. Revert the change in text that has been made by correction.
  656. 2. Revert the selection to pre-correction state so that user can immediately continue typing.
  657. 3. Add appropriate markers to reverted text so that it won't be corrected again and/or shown
  658. as misspelled.
  659. 4. If applicable, notify spell checking service to record this reversion.
  660. To achieve these, this patch introduces following changes:
  661. 1. Created SpellingCorrectionCommand so that correction can be undone in similar way as any
  662. other editing command. SpellingCorrectionCommand is a composition of SetSelectionCommand,
  663. SpellingCorrectionRecordUndoCommand and ReplaceSelectionCommand.
  664. 2. Created SetSelectionCommand so that undo command can restore selection state.
  665. 3. Added member function recordAutocorrectionResponse() to editor client.
  666. To improve readability, this patch also consolidates various boolean arguments in SelectionController::setSelection()
  667. and ReplaceSelectionCommand::ReplaceSelectionCommand(). These boolean arguments have been
  668. replaced by enum variable.
  669. * WebCore.exp.in: Updated for changes in Editor and ReplaceSelectionCommand.
  670. * WebCore.xcodeproj/project.pbxproj: Updated for new source files.
  671. * editing/CompositeEditCommand.cpp:
  672. (WebCore::CompositeEditCommand::moveParagraphs): Adopted new signature of ReplaceSelectionCommand::create().
  673. * editing/Editor.cpp:
  674. (WebCore::Editor::replaceSelectionWithFragment): Ditto.
  675. (WebCore::Editor::unappliedEditing): Cleaned up trailing whitespace.
  676. (WebCore::Editor::reappliedEditing): Ditto.
  677. (WebCore::Editor::selectComposition): Adopted new signature of SelectionController::setSelection().
  678. (WebCore::Editor::confirmComposition): Ditto.
  679. (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Rearranged code to reduce the
  680. level of deeply nested if statement. Adopted SpellingCorrectionCommand.
  681. (WebCore::Editor::applyCorrectionPanelInfo): Adopted SpellingCorrectionCommand.
  682. (WebCore::Editor::unappliedSpellCorrection): Function for adding markers to reverted text and
  683. for notifiying editor client about undone correction.
  684. (WebCore::Editor::changeSelectionAfterCommand): Adopted new signature of SelectionController::setSelection().
  685. (WebCore::Editor::respondToChangedSelection): Use SelectionController::SetSelectionOptions
  686. instead of boolean variables.
  687. * editing/Editor.h: Added Editor::unappliedSpellCorrection().
  688. * editing/EditorCommand.cpp:
  689. (WebCore::executeInsertFragment): Adopted new signature of ReplaceSelectionCommand::create().
  690. * editing/MoveSelectionCommand.cpp:
  691. (WebCore::MoveSelectionCommand::doApply): Ditto.
  692. * editing/ReplaceSelectionCommand.cpp:
  693. (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Replaced all boolean arguments
  694. with an enum value.
  695. * editing/ReplaceSelectionCommand.h:
  696. (WebCore::ReplaceSelectionCommand::create): Ditto.
  697. * editing/SelectionController.cpp: Adopted new signature of SelectionController::setSelection().
  698. (WebCore::SelectionController::moveTo):
  699. (WebCore::SelectionController::setSelection):
  700. (WebCore::SelectionController::respondToNodeModification):
  701. (WebCore::SelectionController::setBase):
  702. (WebCore::SelectionController::setExtent):
  703. (WebCore::SelectionController::setSelectedRange):
  704. * editing/SelectionController.h:
  705. (WebCore::SelectionController::setSelection): Replaced all boolean arguments with an enum value.
  706. * editing/SetSelectionCommand.cpp: Added.
  707. (WebCore::SetSelectionCommand::SetSelectionCommand):
  708. (WebCore::SetSelectionCommand::doApply):
  709. (WebCore::SetSelectionCommand::doUnapply):
  710. * editing/SetSelectionCommand.h: Added.
  711. (WebCore::SetSelectionCommand::create):
  712. * editing/mac/SpellingCorrectionCommand.cpp: Added.
  713. (WebCore::SpellingCorrectionRecordUndoCommand::create):
  714. (WebCore::SpellingCorrectionRecordUndoCommand::SpellingCorrectionRecordUndoCommand):
  715. (WebCore::SpellingCorrectionRecordUndoCommand::doApply):
  716. (WebCore::SpellingCorrectionRecordUndoCommand::doUnapply):
  717. (WebCore::SpellingCorrectionCommand::SpellingCorrectionCommand):
  718. (WebCore::SpellingCorrectionCommand::doApply):
  719. * editing/mac/SpellingCorrectionCommand.h: Added.
  720. (WebCore::SpellingCorrectionCommand::create):
  721. * loader/EmptyClients.h: Updated for the new function declared in EditorClient.
  722. (WebCore::EmptyEditorClient::recordAutocorrectionResponse):
  723. * manual-tests/autocorrection/undo-autocorrection.html: Added.
  724. * page/ContextMenuController.cpp:
  725. (WebCore::ContextMenuController::contextMenuItemSelected): Adopted new signature of ReplaceSelectionCommand::create().
  726. * page/DragController.cpp:
  727. (WebCore::DragController::concludeEditDrag): Ditto.
  728. * page/EditorClient.h: Added EditorClient::recordAutocorrectionResponse().
  729. 2011-02-15 Beth Dakin <bdakin@apple.com>
  730. Reviewed by Darin Adler.
  731. Speculative fix for <rdar://problem/8998498> CrashTracer: [USER]
  732. 8 crashes in WebProcess calling setOverlayScrollerState:forceImmediately:
  733. My best guess is that this is crashing because
  734. willRemoveVerticalScrollbar()/Horizontal was not being called
  735. properly from the RenderLayer destructor.
  736. Call willRemoveVerticalScrollbar()/Horizontal from destroyScrollbar()
  737. so that all current and future scrollbar-destroyers will properly
  738. call this function. And only do it for native scrollers.
  739. (WebCore::RenderLayer::destroyScrollbar):
  740. (WebCore::RenderListBox::destroyScrollbar):
  741. For consistency's sake, I also moved didAddVerticalScrollbar()
  742. /Horizontal to createScrollbar(). Again, only call for native
  743. scrollers.
  744. * rendering/RenderLayer.cpp:
  745. (WebCore::RenderLayer::createScrollbar):
  746. (WebCore::RenderListBox::createScrollbar):
  747. These functions no longer call didAdd/willRemove.
  748. (WebCore::RenderLayer::setHasHorizontalScrollbar):
  749. (WebCore::RenderLayer::setHasVerticalScrollbar):
  750. * rendering/RenderListBox.cpp:
  751. (WebCore::RenderListBox::setHasVerticalScrollbar):
  752. Remove unnecessary ScrollableArea::-prefix
  753. * platform/ScrollView.cpp:
  754. (WebCore::ScrollView::setHasHorizontalScrollbar):
  755. (WebCore::ScrollView::setHasVerticalScrollbar):
  756. 2011-02-15 Joseph Pecoraro <joepeck@webkit.org>
  757. Reviewed by David Kilzer.
  758. Cleanup Some Potential ENABLE(INSPECTOR) Related Building Issues
  759. https://bugs.webkit.org/show_bug.cgi?id=54048
  760. * WebCore.exp.in: moved inspector only export into ENABLE(INSPECTOR) block.
  761. * bindings/js/ScriptHeapSnapshot.h: include no longer needed.
  762. 2011-02-15 Stephen White <senorblanco@chromium.org>
  763. Reviewed by James Robinson.
  764. [chromium] clearRect() is incorrect in accelerated 2D canvas.
  765. https://bugs.webkit.org/show_bug.cgi?id=54497
  766. When doing GPU-Canvas2D clearRect() using the fast path (glClear()),
  767. we were not correctly converting from canvas to screen coordinates.
  768. Fixed by inverting the rectangle in Y, and changing
  769. SharedGraphicsContext3D::scissor to take glScissor-like parameters.
  770. Covered by fast/canvas/canvas-strokeRect.html.
  771. * platform/graphics/chromium/GLES2Canvas.cpp:
  772. (WebCore::GLES2Canvas::clearRect):
  773. Flip the Y coord of the rectangle passed to scissor().
  774. * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
  775. (WebCore::SharedGraphicsContext3D::scissor):
  776. * platform/graphics/gpu/SharedGraphicsContext3D.h:
  777. Give scissor() the same param types as GraphicsContext3D::scissor().
  778. 2011-02-15 Pratik Solanki <psolanki@apple.com>
  779. Move WTF_USE_CFNETWORK to Platform.h
  780. https://bugs.webkit.org/show_bug.cgi?id=54168
  781. Reviewed by Darin Adler.
  782. * config.h: Remove WTF_USE_CFNETWORK.
  783. 2011-02-15 Kenneth Russell <kbr@google.com>
  784. Reviewed by Darin Fisher.
  785. Allow controlling minimum DOMTimer interval on a per-page basis
  786. https://bugs.webkit.org/show_bug.cgi?id=54312
  787. Renamed DOMTimer::minTimerInterval and setMinTimerInterval to
  788. defaultMinTimerInterval and setDefaultMinTimerInterval, made them
  789. private and exposed them via Settings::defaultMinDOMTimerInterval
  790. and setDefaultMinDOMTimerInterval. Added new
  791. Settings::setMinDOMTimerInterval and minDOMTimerInterval.
  792. The storage for the minimum timer interval currently lives in the
  793. Page, though this could be moved to the Settings object if
  794. desired. The accessor methods on the Page are private and exposed
  795. to Settings by making Settings a friend, so the abstraction
  796. barrier is clear at the API level.
  797. Adjusting the interval both upward and downward may cause the fire
  798. times of the active timers on the page to be adjusted, if they
  799. would be affected by the clamping value. This is needed to reduce
  800. latency when bringing a tab to the foreground, in particular if
  801. the minimum timer interval was decreased from a very high value to
  802. a very low value.
  803. A new method, setMinimumTimerInterval, has been added to
  804. LayoutTestController, implemented in all ports of DumpRenderTree,
  805. and used in new layout tests.
  806. Ideally changing the page's minimum timer interval would affect
  807. dedicated workers, but this is too much to do in an initial patch,
  808. so a FIXME has been added.
  809. Tested with:
  810. - The new layout tests on the WebKit Mac and Chromium (Mac,
  811. Linux) DRT ports.
  812. - Hooked up the new API in Chromium and ran some simple manual
  813. tests.
  814. Tests: fast/dom/timer-increase-min-interval-and-reset-part-1.html
  815. fast/dom/timer-increase-min-interval-and-reset-part-2.html
  816. fast/dom/timer-increase-min-interval.html
  817. fast/dom/timer-increase-then-decrease-min-interval.html
  818. * WebCore.exp.in:
  819. * dom/Document.cpp:
  820. (WebCore::Document::minimumTimerInterval):
  821. * dom/Document.h:
  822. * dom/ScriptExecutionContext.cpp:
  823. (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval):
  824. (WebCore::ScriptExecutionContext::minimumTimerInterval):
  825. * dom/ScriptExecutionContext.h:
  826. * page/DOMTimer.cpp:
  827. (WebCore::DOMTimer::DOMTimer):
  828. (WebCore::DOMTimer::fired):
  829. (WebCore::DOMTimer::adjustMinimumTimerInterval):
  830. (WebCore::DOMTimer::intervalClampedToMinimum):
  831. * page/DOMTimer.h:
  832. (WebCore::DOMTimer::defaultMinTimerInterval):
  833. (WebCore::DOMTimer::setDefaultMinTimerInterval):
  834. * page/Page.cpp:
  835. (WebCore::Page::Page):
  836. (WebCore::Page::setMinimumTimerInterval):
  837. (WebCore::Page::minimumTimerInterval):
  838. * page/Page.h:
  839. * page/Settings.cpp:
  840. (WebCore::Settings::setDefaultMinDOMTimerInterval):
  841. (WebCore::Settings::defaultMinDOMTimerInterval):
  842. (WebCore::Settings::setMinDOMTimerInterval):
  843. (WebCore::Settings::minDOMTimerInterval):
  844. * page/Settings.h:
  845. * platform/Timer.h:
  846. (WebCore::TimerBase::augmentFireInterval):
  847. (WebCore::TimerBase::augmentRepeatInterval):
  848. 2011-02-15 Simon Fraser <simon.fraser@apple.com>
  849. Reviewed by Beth Dakin.
  850. Fix scrollbar rendering crash when rendered into a layer
  851. https://bugs.webkit.org/show_bug.cgi?id=54494
  852. Remove code added in r78394 which was intended to find out whether
  853. a scrollbar was being rendered into a compositing layer. r78612
  854. obviated the need for this code.
  855. * page/FrameView.h:
  856. * platform/ScrollableArea.h:
  857. * rendering/RenderLayer.cpp:
  858. * rendering/RenderLayer.h:
  859. * rendering/RenderListBox.cpp:
  860. * rendering/RenderListBox.h:
  861. 2011-02-15 Simon Fraser <simon.fraser@apple.com>
  862. Let Xcode have its way with the project.
  863. * WebCore.xcodeproj/project.pbxproj:
  864. 2011-02-15 Simon Fraser <simon.fraser@apple.com>
  865. Fix Mac builds that don't use rubber-band scrolling
  866. by moving m_drawingIntoLayer out of the #ifdef.
  867. * platform/mac/ScrollAnimatorMac.h:
  868. * platform/mac/ScrollAnimatorMac.mm:
  869. (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
  870. 2011-02-15 Martin Robinson <mrobinson@igalia.com>
  871. Reviewed by Xan Lopez.
  872. [Freetype] Better map CSS font weight to Fontconfig font weight
  873. https://bugs.webkit.org/show_bug.cgi?id=54323
  874. * platform/graphics/freetype/FontCacheFreeType.cpp:
  875. (WebCore::fontWeightToFontconfigWeight): Added this helper to map between CSS and
  876. Fontconfig font weights.
  877. (WebCore::FontCache::createFontPlatformData): Use the new helper instead of just
  878. deciding between bold and regular.
  879. 2011-02-15 Simon Fraser <simon.fraser@apple.com>
  880. Reviewed by Sam Weinig.
  881. Fix scrollbar rendering crash when rendered into a layer
  882. https://bugs.webkit.org/show_bug.cgi?id=54494
  883. The scroller delegate was failing to return a layer in a case
  884. where the scroller was still rendering into a GraphicsLayer, because
  885. even though WebCore had switched out of compositing mode, the
  886. DrawingAreaImpl was still rendering into its nonCompositedContent
  887. layer. This happens when the m_exitCompositingTimer timer hasn't fired
  888. yet.
  889. The fix is to track whether we're drawing into a layer via the
  890. GraphicsContext, rather than asking about compositing layers.
  891. * platform/graphics/GraphicsContext.h:
  892. * platform/graphics/cg/GraphicsContextCG.cpp:
  893. (WebCore::GraphicsContext::setIsCALayerContext):
  894. (WebCore::GraphicsContext::isCALayerContext):
  895. Getter and setter for the bit that says if we're rendering into a CALayer.
  896. * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
  897. (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
  898. Store a bool for whether this context targets a layer.
  899. * platform/graphics/mac/WebLayer.mm:
  900. (drawLayerContents): Call setIsCALayerContext(true).
  901. * platform/mac/ScrollAnimatorMac.h:
  902. (WebCore::ScrollAnimatorMac::setIsDrawingIntoLayer):
  903. (WebCore::ScrollAnimatorMac::isDrawingIntoLayer):
  904. New methods to get and set a flag that says when we're
  905. drawing into a layer, so that the delegate can get at this state.
  906. * platform/mac/ScrollAnimatorMac.mm:
  907. (-[ScrollbarPainterDelegate layer]): Use isDrawingIntoLayer()
  908. (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): Init the flag.
  909. * platform/mac/ScrollbarThemeMac.mm:
  910. (WebCore::ScrollbarThemeMac::unregisterScrollbar): Whitespace.
  911. (WebCore::ScrollbarThemeMac::paint): Push the "isDrawingIntoLayer"
  912. state down onto ScrollAnimatorMac, getting it from the GraphicsContext.
  913. 2011-02-15 Anders Carlsson <andersca@apple.com>
  914. Reviewed by Darin Adler.
  915. Add NPP_GetSitesWithData and NPP_URLRedirectNotify to the NPAPI headers
  916. https://bugs.webkit.org/show_bug.cgi?id=54481
  917. We should really sync all headers with the NPAPI repository, but doing that
  918. lead to build errors so I just added what was needed.
  919. * bridge/npapi.h:
  920. Add new functions.
  921. * bridge/nptypes.h:
  922. Sync with the official NPAPI repository, adding 64-bit integer types and
  923. removing a duplicate license header.
  924. * plugins/npfunctions.h:
  925. Add new functions.
  926. 2011-02-15 Antti Koivisto <antti@apple.com>
  927. Reviewed by Darin Adler.
  928. https://bugs.webkit.org/show_bug.cgi?id=54486
  929. Crashes under CachedResourceLoader::revalidateResource
  930. CachedResourceLoader might get deleted from under one of its methods.
  931. Try to catch a more informative crash stack.
  932. * loader/cache/CachedResourceLoader.cpp:
  933. (WebCore::CachedResourceLoader::CachedResourceLoader):
  934. (WebCore::CachedResourceLoader::~CachedResourceLoader):
  935. (WebCore::CachedResourceLoader::requestImage):
  936. (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
  937. (WebCore::CachedResourceLoader::requestResource):
  938. (WebCore::CachedResourceLoader::setAutoLoadImages):
  939. (WebCore::CachedResourceLoader::load):
  940. (WebCore::CachedResourceLoader::loadDone):
  941. (WebCore::CachedResourceLoader::preload):
  942. (WebCore::CachedResourceLoader::requestPreload):
  943. * loader/cache/CachedResourceLoader.h:
  944. 2011-02-15 Andreas Kling <kling@webkit.org>
  945. Reviewed by Darin Adler.
  946. Optimize Color::serialized()
  947. https://bugs.webkit.org/show_bug.cgi?id=54452
  948. Apply the optimizations from CSSPrimitiveValue::cssText() [CSS_RGBCOLOR]
  949. to Color::serialized() - build the serialized color strings manually
  950. instead of using String::format().
  951. * platform/graphics/Color.cpp:
  952. (WebCore::appendHexNumber):
  953. (WebCore::Color::serialized):
  954. 2011-02-15 Jarred Nicholls <jarred@sencha.com>
  955. Reviewed by Alexey Proskuryakov.
  956. XMLHttpRequest::abort() doesn't clear response data
  957. https://bugs.webkit.org/show_bug.cgi?id=54118
  958. Properly clear all buffer data on abort, so no memory hangs around unnecessarily.
  959. No new tests because there is no observable effect except for less memory used.
  960. * xml/XMLHttpRequest.cpp:
  961. (WebCore::XMLHttpRequest::abort):
  962. 2011-02-15 Andreas Kling <kling@webkit.org>
  963. Reviewed by Darin Adler.
  964. Rename Color::name() to Color::nameForRenderTreeAsText()
  965. https://bugs.webkit.org/show_bug.cgi?id=54464
  966. Color::name() returns the color as either #RRGGBB or #RRGGBBAA.
  967. Since the latter is not a valid CSS color, it can't be re-parsed
  968. by WebKit, and should only be used in DRT dumps.
  969. * editing/ApplyStyleCommand.cpp:
  970. (WebCore::StyleChange::extractTextStyles):
  971. * page/DragController.cpp:
  972. (WebCore::DragController::concludeEditDrag):
  973. * platform/graphics/Color.cpp:
  974. (WebCore::Color::nameForRenderTreeAsText):
  975. * platform/graphics/Color.h:
  976. * platform/graphics/GraphicsLayer.cpp:
  977. (WebCore::GraphicsLayer::dumpProperties):
  978. * platform/graphics/filters/FEFlood.cpp:
  979. (WebCore::FEFlood::externalRepresentation):
  980. * rendering/RenderTreeAsText.cpp:
  981. (WebCore::RenderTreeAsText::writeRenderObject):
  982. * rendering/svg/SVGRenderTreeAsText.cpp:
  983. (WebCore::operator<<):
  984. (WebCore::writeRenderSVGTextBox):
  985. * svg/SVGAnimateElement.cpp:
  986. (WebCore::SVGAnimateElement::applyResultsToTarget):
  987. * svg/SVGColor.cpp:
  988. (WebCore::SVGColor::cssText):
  989. 2011-02-15 Andras Becsi <abecsi@webkit.org>
  990. Rubber-stamped by Andreas Kling.
  991. [Qt] Typo fix.
  992. No new tests needed.
  993. * WebCore.pro: add missing ASCII to header name.
  994. 2011-02-15 Pavel Feldman <pfeldman@chromium.org>
  995. Reviewed by Yury Semikhatsky.
  996. Web Inspector: test whether inspector gets populated with databases and storages upon opening.
  997. https://bugs.webkit.org/show_bug.cgi?id=54469
  998. Tests: http/tests/inspector-enabled/database-open.html
  999. http/tests/inspector-enabled/dom-storage-open.html
  1000. * inspector/front-end/DOMStorage.js:
  1001. * inspector/front-end/Database.js:
  1002. (WebInspector.DatabaseDispatcher.prototype.addDatabase):
  1003. 2011-02-15 Andreas Kling <kling@webkit.org>
  1004. Reviewed by Darin Adler.
  1005. Share the helper functions used by Latin-1 and UTF-8 text codecs
  1006. https://bugs.webkit.org/show_bug.cgi?id=54446
  1007. Move MachineWord, UCharByteFiller and the other helper functions
  1008. into TextCodecASCIIFastPath.h where they can be used by both
  1009. TextCodecUTF8 and TextCodecLatin1.
  1010. * GNUmakefile.am:
  1011. * WebCore.gypi:
  1012. * WebCore.pro:
  1013. * WebCore.vcproj/WebCore.vcproj:
  1014. * WebCore.xcodeproj/project.pbxproj:
  1015. * platform/text/TextCodecASCIIFastPath.h: Added.
  1016. (WebCore::isAllASCII):
  1017. (WebCore::copyASCIIMachineWord):
  1018. (WebCore::isAlignedToMachineWord):
  1019. (WebCore::alignToMachineWord):
  1020. * platform/text/TextCodecLatin1.cpp:
  1021. (WebCore::TextCodecLatin1::decode):
  1022. * platform/text/TextCodecUTF8.cpp:
  1023. (WebCore::TextCodecUTF8::decode):
  1024. 2011-02-15 Leo Yang <leo.yang@torchmobile.com.cn>
  1025. Reviewed by Kent Tamura.
  1026. Code style issue in WebCore/dom/InputElement.cpp
  1027. https://bugs.webkit.org/show_bug.cgi?id=54428
  1028. Remove 2 extra spaces in InputElement.cpp line 221.
  1029. Code style fix, No new tests.
  1030. * dom/InputElement.cpp:
  1031. (WebCore::InputElement::handleBeforeTextInsertedEvent):
  1032. 2011-02-15 Philippe Normand <pnormand@igalia.com>
  1033. Reviewed by Martin Robinson.
  1034. [GStreamer] Video player sets system volume to 100%
  1035. https://bugs.webkit.org/show_bug.cgi?id=54140
  1036. Don't explicitely set volume at startup and use the
  1037. GstStreamVolume interface with cubic volume scale when
  1038. updating/retrieving the volume value. This gives a much better
  1039. user-experience.
  1040. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  1041. (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
  1042. 2011-02-15 Adam Barth <abarth@webkit.org>
  1043. Reviewed by Eric Seidel.
  1044. Sketch script-src for Content Security Policy
  1045. https://bugs.webkit.org/show_bug.cgi?id=54381
  1046. This patch provides a sketch of the script-src directive. We still do
  1047. not parse the value of the directive, and the wiring into the rest of
  1048. WebCore is incorrect, but those are things we can fix in future
  1049. patches. For the momemnt, this patch lets us test what we're doing.
  1050. Test: http/tests/security/contentSecurityPolicy/script-loads-with-img-src.html
  1051. * page/ContentSecurityPolicy.cpp:
  1052. (WebCore::CSPDirective::CSPDirective):
  1053. (WebCore::CSPDirective::allows):
  1054. (WebCore::ContentSecurityPolicy::didReceiveHeader):
  1055. (WebCore::ContentSecurityPolicy::canLoadExternalScriptFromSrc):
  1056. (WebCore::ContentSecurityPolicy::parse):
  1057. (WebCore::ContentSecurityPolicy::emitDirective):
  1058. * page/ContentSecurityPolicy.h:
  1059. 2011-02-15 Antti Koivisto <antti@apple.com>
  1060. Reviewed by Andreas Kling.
  1061. svg/custom/use-css-no-effect-on-shadow-tree.svg produces empty image on Chromium Linux after r58556
  1062. https://bugs.webkit.org/show_bug.cgi?id=54460
  1063. Don't use fast path for SVG. There are some additional rules for shadow trees that are not
  1064. implemented on fast path.
  1065. * css/CSSStyleSelector.cpp:
  1066. (WebCore::CSSStyleSelector::checkSelector):
  1067. 2011-02-15 Andras Becsi <abecsi@webkit.org>
  1068. Reviewed by Csaba Osztrogonác.
  1069. [Qt] Redesign the build system
  1070. https://bugs.webkit.org/show_bug.cgi?id=51339
  1071. Part 1.
  1072. Introduce CodeGenerators.pri and add common includepaths to WebCore.pri,
  1073. thus unnecessary duplications can be removed from project files.
  1074. No new tests needed.
  1075. * CodeGenerators.pri: Copied from Source/WebCore/WebCore.pri.
  1076. Don't add non-source generated files to SOURCES.
  1077. * DerivedSources.pro: Change WebCore.pri to CodeGenerators.pri.
  1078. * WebCore.pri: Move code generation rules to CodeGenerators.pri.
  1079. * WebCore.pro: Move common options to WebCore.pri.
  1080. 2011-02-15 Charlie Reis <creis@chromium.org>
  1081. Reviewed by Mihai Parparita.
  1082. Crash in WebCore::FrameLoader::continueLoadAfterNavigationPolicy
  1083. https://bugs.webkit.org/show_bug.cgi?id=54219
  1084. Ensures we do not start a new navigation while we are in the process of
  1085. stopping a navigation. Also adds a manual test, since the crash can
  1086. only be reproduced using the back button and not history.back().
  1087. * loader/FrameLoader.cpp:
  1088. * manual-tests/navigation-during-onload-triggered-by-back.html: Added.
  1089. * manual-tests/resources/navigation-during-onload-container.html: Added.
  1090. 2011-02-15 Bill Budge <bbudge@chromium.org>
  1091. Reviewed by David Levin.
  1092. SubresourceLoader should expose finish time
  1093. https://bugs.webkit.org/show_bug.cgi?id=54287
  1094. No tests needed, exposes no new functionality
  1095. * loader/DocumentThreadableLoader.cpp:
  1096. (WebCore::DocumentThreadableLoader::didFinishLoading):
  1097. * loader/DocumentThreadableLoader.h:
  1098. * loader/SubresourceLoader.cpp:
  1099. (WebCore::SubresourceLoader::didFinishLoading):
  1100. * loader/SubresourceLoaderClient.h:
  1101. (WebCore::SubresourceLoaderClient::didFinishLoading):
  1102. * loader/cache/CachedResourceRequest.cpp:
  1103. (WebCore::CachedResourceRequest::didFinishLoading):
  1104. * loader/cache/CachedResourceRequest.h:
  1105. * loader/icon/IconLoader.cpp:
  1106. (WebCore::IconLoader::didFinishLoading):
  1107. * loader/icon/IconLoader.h:
  1108. 2011-02-15 Antti Koivisto <antti@apple.com>
  1109. Reviewed by Darin Adler.
  1110. Enable fast path selector checking for child and subselector combinators
  1111. https://bugs.webkit.org/show_bug.cgi?id=54360
  1112. * css/CSSStyleSelector.cpp:
  1113. (WebCore::isFastCheckableSelector):
  1114. (WebCore::fastCheckSingleSelector):
  1115. (WebCore::checkClassValue):
  1116. (WebCore::checkIdValue):
  1117. (WebCore::checkTagValue):
  1118. (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector):
  1119. 2011-02-15 Yury Semikhatsky <yurys@chromium.org>
  1120. Reviewed by Pavel Feldman.
  1121. Web Inspector: console auto-scroll is broken when there are both scrollers.
  1122. https://bugs.webkit.org/show_bug.cgi?id=54273
  1123. * inspector/front-end/utilities.js:
  1124. (Element.prototype.isScrolledToBottom): use clientHeight instead of offsetHeight to determine
  1125. whether the element is scrolled to the bottom.
  1126. 2011-02-14 Alexander Pavlov <apavlov@chromium.org>
  1127. Reviewed by Yury Semikhatsky.
  1128. Web Inspector: highlighter works incorrect at build.chromium.org WebKit cells
  1129. https://bugs.webkit.org/show_bug.cgi?id=53910
  1130. Use enclosingBoundingBox for the absolute margin quad as the reference box for a tooltip.
  1131. * inspector/InspectorAgent.cpp:
  1132. (WebCore::InspectorAgent::drawNodeHighlight):
  1133. 2011-02-15 Dirk Schulze <krit@webkit.org>
  1134. Rubber-stamped by Nikolas Zimmermann.
  1135. SVG animation doesn't support attribute value 'inherit'
  1136. https://bugs.webkit.org/show_bug.cgi?id=54410
  1137. Accidently replaced start value RegularPropertyValue for m_fromPropertyValueType
  1138. and m_toPropertyValueType by CurrentColorValue before landing. Check for property
  1139. value type 'inherit' on color validation was missing.
  1140. * svg/SVGAnimateElement.cpp:
  1141. (WebCore::SVGAnimateElement::calculateFromAndToValues):
  1142. (WebCore::SVGAnimateElement::calculateFromAndByValues):
  1143. 2011-02-15 Adam Roben <aroben@apple.com>
  1144. Windows build fix after r78533
  1145. * WebCore.vcproj/WebCore.vcproj: Fix bad XML syntax.
  1146. 2011-02-15 Gavin Peters <gavinp@chromium.org>
  1147. Reviewed by Antti Koivisto.
  1148. SharedBuffer::buffer() does not do what you think.
  1149. https://bugs.webkit.org/show_bug.cgi?id=54420
  1150. No new tests.
  1151. * inspector/InspectorResourceAgent.cpp:
  1152. (WebCore::InspectorResourceAgent::resourceContentBase64):
  1153. * platform/SharedBuffer.h:
  1154. * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
  1155. (WebCore::JPEGImageReader::decode):
  1156. (WebCore::JPEGImageDecoder::decode):
  1157. * platform/image-decoders/webp/WEBPImageDecoder.cpp:
  1158. (WebCore::WEBPImageDecoder::decode):
  1159. 2011-02-15 Dirk Schulze <krit@webkit.org>
  1160. Reviewed by Nikolas Zimmermann.
  1161. SVG animation doesn't support attribute value 'inherit'
  1162. https://bugs.webkit.org/show_bug.cgi?id=54410
  1163. SVG animation does not support 'inherit' as value for CSS property animations. With the patch, SVG determines
  1164. if the attribute of the target element is an animatable CSS Property and computes the style during the
  1165. animation.
  1166. This fixes the following tests on the W3C test suite:
  1167. * animate-elem-84-t.svg
  1168. * animate-elem-85-t.svg
  1169. Tests: svg/animations/animate-currentColor.html
  1170. svg/animations/animate-inherit-css-property.html
  1171. * svg/SVGAnimateElement.cpp:
  1172. (WebCore::adjustForCurrentColor):
  1173. (WebCore::adjustForInheritance):
  1174. (WebCore::SVGAnimateElement::calculateAnimatedValue): When a property value is 'inherit' or 'currentColor'
  1175. during the animation, get the computed style of the property since the values could be animated themselves.
  1176. (WebCore::inheritsFromProperty):
  1177. (WebCore::attributeValueIsCurrentColor):
  1178. (WebCore::SVGAnimateElement::calculateFromAndToValues): Check if 'from', 'by' or 'to' value has the
  1179. string 'inherit' or 'currentColor' and if the attribute supports one of these values.
  1180. (WebCore::SVGAnimateElement::calculateFromAndByValues): Ditto.
  1181. * svg/SVGAnimateElement.h:
  1182. * svg/SVGAnimationElement.cpp:
  1183. (WebCore::SVGAnimationElement::isTargetAttributeCSSProperty): Check if target element is stylable and
  1184. the attribute is an animatable CSS property by using the CSS property map in SVGStyledElement.
  1185. (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): s/target/targetElement/ for consistency.
  1186. * svg/SVGAnimationElement.h:
  1187. * svg/SVGStyledElement.cpp:
  1188. (WebCore::SVGStyledElement::isAnimatableCSSProperty): Checks if the CSS property is animatable.
  1189. * svg/SVGStyledElement.h:
  1190. * svg/animation/SMILTimeContainer.cpp: Use the new function isTargetAttributeCSSProperty to determine
  1191. if the target element is stylable and the attribute is an animatable CSS property.
  1192. (WebCore::SMILTimeContainer::baseValueFor):
  1193. 2011-02-15 Antti Koivisto <antti@apple.com>
  1194. Reviewed by Andreas Kling.
  1195. r78499 causes assertion failure in http/tests/xmlhttprequest/cache-override.html
  1196. https://bugs.webkit.org/show_bug.cgi?id=54418
  1197. Check for zero buffer length.
  1198. * platform/text/TextCodecUTF8.cpp:
  1199. (WebCore::TextCodecUTF8::decode):
  1200. 2011-02-15 MORITA Hajime <morrita@google.com>
  1201. Unreviewed build fix.
  1202. * page/EditorClient.h: Changed GrammarDetail forward declaration from class to struct.
  1203. 2011-01-26 MORITA Hajime <morrita@google.com>
  1204. Reviewed by Ryosuke Niwa.
  1205. Refactoring: Extract TextCheckerClient from EditorClient
  1206. https://bugs.webkit.org/show_bug.cgi?id=53213
  1207. Created new abstract class TextCheckerClient. The class has
  1208. spellcheck related API which is split.
  1209. This is the first step for sharing spell-checking codebase
  1210. between ports. A standalone TextCheckerClient implementation
  1211. should be done in future changes.
  1212. No new tests. No behavioral change.
  1213. * GNUmakefile.am:
  1214. * WebCore.gypi:
  1215. * WebCore.pro:
  1216. * WebCore.vcproj/WebCore.vcproj:
  1217. * WebCore.xcodeproj/project.pbxproj:
  1218. * accessibility/mac/AccessibilityObjectWrapper.mm:
  1219. (AXAttributeStringSetSpelling):
  1220. * editing/Editor.cpp: Replacing some client() call with textChecker().
  1221. (WebCore::Editor::textChecker): Added.
  1222. (WebCore::Editor::ignoreSpelling):
  1223. (WebCore::Editor::learnSpelling):
  1224. (WebCore::Editor::isSelectionMisspelled):
  1225. (WebCore::Editor::guessesForMisspelledSelection):
  1226. (WebCore::Editor::markMisspellingsAfterTypingToWord):
  1227. (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
  1228. (WebCore::Editor::correctionPanelTimerFired):
  1229. * editing/Editor.h:
  1230. * editing/SpellChecker.cpp:
  1231. (WebCore::SpellChecker::SpellChecker):
  1232. * editing/TextCheckingHelper.cpp: Replacing some client() call with textChecker().
  1233. (WebCore::TextCheckingHelper::findFirstMisspelling):
  1234. (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
  1235. (WebCore::TextCheckingHelper::findFirstBadGrammar):
  1236. (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
  1237. * loader/EmptyClients.h: Added EmptyTextCheckerClient.
  1238. (WebCore::EmptyTextCheckerClient::ignoreWordInSpellDocument):
  1239. (WebCore::EmptyTextCheckerClient::learnWord):
  1240. (WebCore::EmptyTextCheckerClient::checkSpellingOfString):
  1241. (WebCore::EmptyTextCheckerClient::getAutoCorrectSuggestionForMisspelledWord):
  1242. (WebCore::EmptyTextCheckerClient::checkGrammarOfString):
  1243. (WebCore::EmptyTextCheckerClient::checkTextOfParagraph):
  1244. (WebCore::EmptyTextCheckerClient::getGuessesForWord):
  1245. (WebCore::EmptyTextCheckerClient::requestCheckingOfString):
  1246. (WebCore::EmptyEditorClient::textChecker):
  1247. * page/EditorClient.h: Extracted TextCheckerClient.
  1248. * page/Page.h:
  1249. * platform/text/TextCheckerClient.h: Added.
  1250. (WebCore::TextCheckerClient::~TextCheckerClient):
  1251. 2011-02-07 Ryosuke Niwa <rniwa@webkit.org>
  1252. Reviewed by Adam Barth.
  1253. Add EditorClient callbacks to override isDOMPasteAllowed and javaScriptCanAccessClipboard
  1254. https://bugs.webkit.org/show_bug.cgi?id=52417
  1255. Added two callback functions, canCopyCut and canPaste to EditorClient. These functions
  1256. returns true iff the current frame should be able to copy/cut and paste respectively.
  1257. They take the default value determined by isDOMPasteAllowed and javaScriptCanAccessClipboard.
  1258. These callbacks allows embedders to decide whether or not copy/cut/paste should be enabled
  1259. per frame and thus per origin rather than per page.
  1260. No new tests are added since this is a WebKit/WebCore interface change.
  1261. * editing/EditorCommand.cpp:
  1262. (WebCore::supportedCopyCut): Calls canCopyCut.
  1263. (WebCore::supportedPaste): Calls canPaste.
  1264. * loader/EmptyClients.h:
  1265. (WebCore::EmptyEditorClient::canCopyCut): Added.
  1266. (WebCore::EmptyEditorClient::canPaste): Added.
  1267. * page/EditorClient.h:
  1268. 2011-02-14 Jeremy Orlow <jorlow@chromium.org>
  1269. efl build fix
  1270. * CMakeLists.txt:
  1271. 2011-02-11 Jeremy Orlow <jorlow@chromium.org>
  1272. Reviewed by Nate Chapin.
  1273. Finish up implementing the new event model in IndexedDB
  1274. https://bugs.webkit.org/show_bug.cgi?id=54331
  1275. We shouldn't have our own event subclasses. Instead, we
  1276. should just fire Event's with the proper type and bubble
  1277. settings. All the attributes on the events before should
  1278. just be on the request. IDBRequest should throw if they're
  1279. accessed before the success event fires.
  1280. * WebCore.gypi:
  1281. * bindings/generic/RuntimeEnabledFeatures.h:
  1282. * bindings/js/JSEventCustom.cpp:
  1283. (WebCore::toJS):
  1284. * bindings/v8/custom/V8EventCustom.cpp:
  1285. (WebCore::toV8):
  1286. * dom/Event.cpp:
  1287. * dom/Event.h:
  1288. * page/DOMWindow.idl:
  1289. * storage/IDBAbortEvent.h: Removed.
  1290. * storage/IDBCompleteEvent.cpp: Removed.
  1291. * storage/IDBCompleteEvent.h: Removed.
  1292. * storage/IDBDatabase.cpp:
  1293. (WebCore::IDBDatabase::~IDBDatabase):
  1294. * storage/IDBDatabaseException.h:
  1295. * storage/IDBDatabaseException.idl:
  1296. * storage/IDBErrorEvent.cpp: Removed.
  1297. * storage/IDBErrorEvent.h: Removed.
  1298. * storage/IDBErrorEvent.idl: Removed.
  1299. * storage/IDBEvent.h: Removed.
  1300. * storage/IDBEvent.idl: Removed.
  1301. * storage/IDBEventDispatcher.cpp:
  1302. (WebCore::IDBEventDispatcher::dispatch):
  1303. * storage/IDBRequest.cpp:
  1304. (WebCore::IDBRequest::IDBRequest):
  1305. (WebCore::IDBRequest::result):
  1306. (WebCore::IDBRequest::errorCode):
  1307. (WebCore::IDBRequest::webkitErrorMessage):
  1308. (WebCore::IDBRequest::source):
  1309. (WebCore::IDBRequest::transaction):
  1310. (WebCore::IDBRequest::readyState):
  1311. (WebCore::IDBRequest::resetReadyState):
  1312. (WebCore::IDBRequest::onError):
  1313. (WebCore::createSuccessEvent):
  1314. (WebCore::IDBRequest::onSuccess):
  1315. (WebCore::IDBRequest::dispatchEvent):
  1316. * storage/IDBRequest.h:
  1317. * storage/IDBRequest.idl:
  1318. * storage/IDBSuccessEvent.cpp: Removed.
  1319. * storage/IDBSuccessEvent.h: Removed.
  1320. * storage/IDBSuccessEvent.idl: Removed.
  1321. * storage/IDBTransaction.cpp:
  1322. (WebCore::IDBTransaction::onAbort):
  1323. (WebCore::IDBTransaction::onComplete):
  1324. (WebCore::IDBTransaction::dispatchEvent):
  1325. 2011-02-14 Enrica Casucci <enrica@apple.com>
  1326. Copy/paste from a WebKit window to a TextEdit window loses fonts.
  1327. <rdar://problem/8623090>
  1328. https://bugs.webkit.org/show_bug.cgi?id=54416
  1329. Reviewed by Dan Bernstein.
  1330. We don't have the complete solution that fixes this problem for WebKit2 yet.
  1331. This patch fixes the regression in WebKit.
  1332. * platform/mac/PasteboardMac.mm:
  1333. (WebCore::Pasteboard::writeSelection): For WebKit2 use only plain text,
  1334. for WebKit use the original API to create the NSAttributedString.
  1335. 2011-02-14 Levi Weintraub <leviw@chromium.org>
  1336. Reviewed by Alexey Proskuryakov.
  1337. Strikethrough disappears when posting a message on odnoklassniki.ru
  1338. https://bugs.webkit.org/show_bug.cgi?id=53475
  1339. Changing the behavior of the strikethrough execCommand when styleWithCSS
  1340. is false. We formerly created <s> tags, which was different than both IE
  1341. and FF and caused problems with some rich text editors that would strip
  1342. out unexpected tags such as <s>.
  1343. Test: editing/execCommand/strikethrough-uses-strike-tag.html
  1344. * editing/ApplyStyleCommand.cpp:
  1345. (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
  1346. 2011-02-14 Pratik Solanki <psolanki@apple.com>
  1347. Remove dead code in FormDataStreamCFNet.cpp
  1348. https://bugs.webkit.org/show_bug.cgi?id=54401
  1349. Reviewed by Darin Adler.
  1350. The static functions in this file are no longer reachable. We added a conditional branch to
  1351. use new CFNetwork functions in r30329 and later made that code path permanent in r41517
  1352. which made these functions unreachable.
  1353. * platform/network/cf/FormDataStreamCFNet.cpp:
  1354. 2011-02-14 Andreas Kling <kling@webkit.org>
  1355. Reviewed by Darin Adler.
  1356. GraphicsContext: Add clip(IntRect) overload for Qt
  1357. https://bugs.webkit.org/show_bug.cgi?id=54365
  1358. Qt has special code paths for clipping to integer rectangles.
  1359. Add a GraphicsContext::clip() overload to allow us to take
  1360. advantage of the optimized code.
  1361. * platform/graphics/GraphicsContext.cpp:
  1362. (WebCore::GraphicsContext::clip):
  1363. * platform/graphics/GraphicsContext.h:
  1364. * platform/graphics/qt/GraphicsContextQt.cpp:
  1365. (WebCore::GraphicsContext::clip):
  1366. 2011-02-14 Darin Adler <darin@apple.com>
  1367. Reviewed by Alexey Proskuryakov.
  1368. Add built-in decoder for UTF-8 for improved performance
  1369. https://bugs.webkit.org/show_bug.cgi?id=53898
  1370. Covered by existing tests; not adding new tests at this time.
  1371. This patch now handles errors in the same way the existing codecs do,
  1372. and so passes our tests. The first version failed some tests because
  1373. of incorrect error handling. The second version was missing one line
  1374. of code that made it decode incomplete sequences at the end of the
  1375. buffer twice.
  1376. * platform/text/TextCodecICU.cpp:
  1377. (WebCore::create): Renamed from newTextCodecICU, made a static member
  1378. function, and added a call to adoptPtr.
  1379. (WebCore::TextCodecICU::registerEncodingNames): Renamed from
  1380. registerExtendedEncodingNames since this class is no longer used for
  1381. base codecs. Removed aliases for UTF-8; now handled by TextCodecUTF8.
  1382. (WebCore::TextCodecICU::registerCodecs): Renamed.
  1383. (WebCore::fallbackForGBK): Renamed to conform to our current style.
  1384. * platform/text/TextCodecICU.h: Updated for above changes. Changed
  1385. indentation. Made most functions private, including virtual function
  1386. overrides. Marked ICUConverterWrapper noncopyable.
  1387. * platform/text/TextCodecUTF8.cpp:
  1388. (WebCore::TextCodecUTF8::registerEncodingNames): Added the UTF-8 aliases
  1389. that were formerly added by TextCodecICU.
  1390. (WebCore::nonASCIISequenceLength): Fixed bug where this would return 4 for
  1391. bytes F5-FF instead of failing.
  1392. (WebCore::decodeNonASCIISequence): Tweaked coding style.
  1393. (WebCore::appendCharacter): Added. Makes it easier to share code between
  1394. the partial-character handling and main loop.
  1395. (WebCore::TextCodecUTF8::decode): Fixed buffer size computation for case
  1396. where there is a partial sequence. Fixed partial sequence handling so that
  1397. goto is no longer needed, since compilers sometimes make poor code when
  1398. goto is involved. Added a loop for partial sequences since we consume only
  1399. one byte when a partial sequence is invalid. Fixed logic in main decoding
  1400. loop so goto is not needed. Used early-exit style in both loops so the main
  1401. flow is not nested inside if statements. Added correct error handling for
  1402. flush when a partial sequence remains, which involved wrapping the function
  1403. in yet another loop.
  1404. * platform/text/TextCodecUTF8.h: Made virtual function overrides private.
  1405. * platform/text/TextEncodingRegistry.cpp:
  1406. (WebCore::buildBaseTextCodecMaps): Added calls to TextCodecUTF8. Removed
  1407. calls to TextCodecICU. Added FIXMEs for other codecs that no longer need
  1408. to be included here.
  1409. (WebCore::extendTextCodecMaps): Updated for the name change of the
  1410. TextCodecICU functions.
  1411. 2011-02-14 Adam Barth <abarth@webkit.org>
  1412. Reviewed by Eric Seidel.
  1413. Add basic parser for Content Security Policy
  1414. https://bugs.webkit.org/show_bug.cgi?id=54379
  1415. The parser in this patch is very basic. It just segments the CSP
  1416. header into directives. The exactly syntax will likely change a bit as
  1417. we discuss the details in public-web-security, but this parser will
  1418. allow us to make progress.
  1419. Sadly, this patch does not contain any tests. That's because CSP
  1420. policies do not have any observable effects yet. Hopefully we'll get
  1421. enough sketched out in the next couple patches to begin writing tests.
  1422. * page/ContentSecurityPolicy.cpp:
  1423. (WebCore::CSPDirective::CSPDirective):
  1424. (WebCore::CSPDirective::name):
  1425. (WebCore::CSPDirective::value):
  1426. (WebCore::ContentSecurityPolicy::~ContentSecurityPolicy):
  1427. (WebCore::ContentSecurityPolicy::didReceiveHeader):
  1428. (WebCore::ContentSecurityPolicy::parse):
  1429. * page/ContentSecurityPolicy.h:
  1430. 2011-02-14 Andrew Wason <rectalogic@rectalogic.com>
  1431. Reviewed by Kenneth Russell.
  1432. [Qt] WebKit fails to compile for Qt when WebGL enabled
  1433. https://bugs.webkit.org/show_bug.cgi?id=53431
  1434. No new tests.
  1435. * WebCore.pro:
  1436. Add source and header files and include directory to Qt project.
  1437. * html/canvas/WebGLRenderingContext.cpp:
  1438. File uses 'emit' which is a Qt keyword - #undef emit.
  1439. * platform/graphics/gpu/qt: Added.
  1440. * platform/graphics/gpu/qt/DrawingBufferQt.cpp: Added.
  1441. Partial implementation of DrawingBuffer for Qt.
  1442. (WebCore::DrawingBuffer::DrawingBuffer):
  1443. (WebCore::DrawingBuffer::~DrawingBuffer):
  1444. (WebCore::DrawingBuffer::didReset):
  1445. (WebCore::DrawingBuffer::platformLayer):
  1446. (WebCore::DrawingBuffer::platformColorBuffer):
  1447. * platform/graphics/qt/Extensions3DQt.cpp:
  1448. Noop implementation for pure virtual methods added to Extensions3D.h
  1449. (WebCore::Extensions3DQt::blitFramebuffer):
  1450. (WebCore::Extensions3DQt::renderbufferStorageMultisample):
  1451. * platform/graphics/qt/Extensions3DQt.h:
  1452. Declare new methods added to Extensions3D.h
  1453. * platform/graphics/qt/GraphicsContext3DQt.cpp:
  1454. Remove method implementations no longer in GraphicsContext3D.h.
  1455. Change m_syntheticErrors to use unsigned int to match new
  1456. GC3Denum type.
  1457. (WebCore::GraphicsContext3D::create):
  1458. Change return type to match GraphicsContext3D.h
  1459. (WebCore::GraphicsContext3D::lineWidth):
  1460. Change argument type to GC3Dfloat to match GraphicsContext3D.h
  1461. (WebCore::GraphicsContext3D::getUniformLocation):
  1462. Change return type to GC3Dfloat to match GraphicsContext3D.h
  1463. (WebCore::GraphicsContext3D::getExtensions):
  1464. Need to call get() on OwnPtr.
  1465. (WebCore::GraphicsContext3D::getImageData):
  1466. Rename enum values to match declarations in GraphicsContext3D.h
  1467. 2011-02-14 Tony Chang <tony@chromium.org>
  1468. Reviewed by Dimitri Glazkov.
  1469. <select> elements don't honor border:0px in chromium-linux
  1470. https://bugs.webkit.org/show_bug.cgi?id=51152
  1471. No new tests, covered by existing pixel results (fast/forms/basic-selects.html
  1472. convers lots of cases).
  1473. * css/themeChromiumLinux.css:
  1474. (select):
  1475. * platform/chromium/PlatformBridge.h:
  1476. * rendering/RenderThemeChromiumLinux.cpp:
  1477. (WebCore::RenderThemeChromiumLinux::paintButton):
  1478. (WebCore::RenderThemeChromiumLinux::paintMenuList):
  1479. match border logic in RenderThemeChromiumWin.cpp:
  1480. http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderThemeChromiumWin.cpp#L463
  1481. 2011-02-14 Xiaomei Ji <xji@chromium.org>
  1482. Reviewed by Dan Bernstein.
  1483. Fix rendering of ISO-8859-8 when dir="rtl".
  1484. https://bugs.webkit.org/show_bug.cgi?id=52128
  1485. Test: fast/text/international/iso-8859-8.html
  1486. * platform/text/BidiResolver.h: Add VisualDirectionOverride enum.
  1487. (WebCore::::createBidiRunsForLine): For lines with visual direction override,
  1488. create bidi runs without resolving bidi levels (one run per render object),
  1489. set bidi level as 0 or 1 depending on LTR or RTL override,
  1490. and reverse runs for RTL override.
  1491. * rendering/RenderBlockLineLayout.cpp:
  1492. (WebCore::RenderBlock::constructLine): Set inline box bidi level the same as
  1493. BidiRun's bidi level without special handling of VisualDirectionOverride.
  1494. (WebCore::RenderBlock::layoutInlineChildren): Pass in VisualDirectionOverride
  1495. to createBidiRunsForLine().
  1496. 2011-02-14 Alexis Menard <alexis.menard@nokia.com>
  1497. Reviewed by Andreas Kling.
  1498. [Qt] Crash on application exit after constructing and destroying a QWebView twice
  1499. https://bugs.webkit.org/show_bug.cgi?id=54000
  1500. Check the value is valid before use it.
  1501. * platform/qt/SharedTimerQt.cpp:
  1502. (WebCore::SharedTimerQt::~SharedTimerQt):
  1503. 2011-02-14 Alexander Pavlov <apavlov@chromium.org>
  1504. Reviewed by Yury Semikhatsky.
  1505. Web Inspector: 304 Not Modified responses have a yellow icon in Web Inspector Resources panel
  1506. https://bugs.webkit.org/show_bug.cgi?id=33220
  1507. * inspector/front-end/ResourceHeadersView.js:
  1508. (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation):
  1509. 2011-02-14 Adrienne Walker <enne@google.com>
  1510. Reviewed by James Robinson.
  1511. [chromium] Modify LayerTilerChromium to use TilingData.
  1512. https://bugs.webkit.org/show_bug.cgi?id=54143
  1513. Most of the previous data in LayerTilerChromium is now calculated
  1514. from TilingData. TilingData was modified to allow for a dynamic
  1515. tile size and page size. LayerTilerChromium also gets its own
  1516. shader with a texture transform to handle drawing from a texture
  1517. that is larger than a tile.
  1518. * platform/graphics/chromium/LayerChromium.h:
  1519. * platform/graphics/chromium/LayerRendererChromium.cpp:
  1520. (WebCore::LayerRendererChromium::LayerRendererChromium):
  1521. (WebCore::LayerRendererChromium::updateAndDrawRootLayer):
  1522. (WebCore::LayerRendererChromium::initializeSharedObjects):
  1523. (WebCore::LayerRendererChromium::cleanupSharedObjects):
  1524. * platform/graphics/chromium/LayerRendererChromium.h:
  1525. (WebCore::LayerRendererChromium::tilerSharedValues):
  1526. * platform/graphics/chromium/LayerTilerChromium.cpp:
  1527. (WebCore::LayerTilerChromium::create):
  1528. (WebCore::LayerTilerChromium::LayerTilerChromium):
  1529. (WebCore::LayerTilerChromium::setTileSize):
  1530. (WebCore::LayerTilerChromium::reset):
  1531. (WebCore::LayerTilerChromium::contentRectToTileIndices):
  1532. (WebCore::LayerTilerChromium::tileIndex):
  1533. (WebCore::LayerTilerChromium::tileContentRect):
  1534. (WebCore::LayerTilerChromium::tileLayerRect):
  1535. (WebCore::LayerTilerChromium::layerSize):
  1536. (WebCore::LayerTilerChromium::layerTileSize):
  1537. (WebCore::LayerTilerChromium::invalidateEntireLayer):
  1538. (WebCore::LayerTilerChromium::draw):
  1539. (WebCore::LayerTilerChromium::resizeLayer):
  1540. (WebCore::LayerTilerChromium::growLayerToContain):
  1541. (WebCore::LayerTilerChromium::drawTexturedQuad):
  1542. (WebCore::LayerTilerChromium::SharedValues::SharedValues):
  1543. (WebCore::LayerTilerChromium::SharedValues::~SharedValues):
  1544. * platform/graphics/chromium/LayerTilerChromium.h:
  1545. (WebCore::LayerTilerChromium::SharedValues::tilerShaderProgram):
  1546. (WebCore::LayerTilerChromium::SharedValues::shaderSamplerLocation):
  1547. (WebCore::LayerTilerChromium::SharedValues::shaderMatrixLocation):
  1548. (WebCore::LayerTilerChromium::SharedValues::shaderAlphaLocation):
  1549. (WebCore::LayerTilerChromium::SharedValues::shaderTexTransformLocation):
  1550. (WebCore::LayerTilerChromium::SharedValues::initialized):
  1551. * platform/graphics/gpu/TilingData.cpp:
  1552. (WebCore::computeNumTiles):
  1553. (WebCore::TilingData::TilingData):
  1554. (WebCore::TilingData::setTotalSize):
  1555. (WebCore::TilingData::setMaxTextureSize):
  1556. (WebCore::TilingData::tileSizeX):
  1557. (WebCore::TilingData::tileSizeY):
  1558. (WebCore::TilingData::textureOffset):
  1559. (WebCore::TilingData::recomputeNumTiles):
  1560. * platform/graphics/gpu/TilingData.h:
  1561. 2011-02-14 Andrey Adaikin <aandrey@google.com>
  1562. Reviewed by Pavel Feldman.
  1563. Web Inspector: [Text editor] First implementation of the editable TextViewer without optimization
  1564. https://bugs.webkit.org/show_bug.cgi?id=54388
  1565. * inspector/front-end/TextViewer.js:
  1566. (WebInspector.TextViewer.prototype.set readOnly):
  1567. (WebInspector.TextEditorChunkedPanel):
  1568. (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
  1569. (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
  1570. (WebInspector.TextEditorChunkedPanel.prototype.beginDomUpdates):
  1571. (WebInspector.TextEditorChunkedPanel.prototype.endDomUpdates):
  1572. (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
  1573. (WebInspector.TextEditorGutterChunk.prototype.set expanded):
  1574. (WebInspector.TextEditorMainPanel):
  1575. (WebInspector.TextEditorMainPanel.prototype.set readOnly):
  1576. (WebInspector.TextEditorMainPanel.prototype._buildChunks):
  1577. (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
  1578. (WebInspector.TextEditorMainPanel.prototype._paintLine):
  1579. (WebInspector.TextEditorMainPanel.prototype.textChanged):
  1580. (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates.return):
  1581. (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
  1582. (WebInspector.TextEditorMainPanel.prototype._handleDOMSubtreeModified):
  1583. (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
  1584. (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
  1585. (WebInspector.TextEditorMainChunk.prototype.addDecoration):
  1586. (WebInspector.TextEditorMainChunk.prototype.removeDecoration):
  1587. (WebInspector.TextEditorMainChunk.prototype.set expanded):
  1588. 2011-02-14 Pavel Podivilov <podivilov@chromium.org>
  1589. Reviewed by Yury Semikhatsky.
  1590. Web Inspector: use call frame column to determine execution line in source frame.
  1591. https://bugs.webkit.org/show_bug.cgi?id=54001
  1592. - Make call frame line and column zero based
  1593. - Set execution line in source frame based on call frame line:column
  1594. - Determine currently hit breakpoint based on call frame line:column
  1595. * bindings/js/JavaScriptCallFrame.cpp:
  1596. (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
  1597. * bindings/js/JavaScriptCallFrame.h:
  1598. (WebCore::JavaScriptCallFrame::create):
  1599. (WebCore::JavaScriptCallFrame::line):
  1600. (WebCore::JavaScriptCallFrame::column):
  1601. (WebCore::JavaScriptCallFrame::update):
  1602. * bindings/js/ScriptDebugServer.cpp:
  1603. (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
  1604. (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
  1605. * bindings/v8/DebuggerScript.js:
  1606. ():
  1607. * inspector/front-end/BreakpointsSidebarPane.js:
  1608. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerPaused):
  1609. * inspector/front-end/CallStackSidebarPane.js:
  1610. (WebInspector.CallStackSidebarPane.prototype.update):
  1611. * inspector/front-end/DebuggerModel.js:
  1612. (WebInspector.DebuggerModel.prototype.continueToLocation):
  1613. (WebInspector.DebuggerModel.prototype._pausedScript):
  1614. (WebInspector.DebuggerModel.prototype._breakpointForCallFrame):
  1615. * inspector/front-end/ScriptsPanel.js:
  1616. (WebInspector.ScriptsPanel.prototype._debuggerPaused):
  1617. (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine):
  1618. (WebInspector.ScriptsPanel.prototype._callFrameSelected):
  1619. * inspector/front-end/SourceFrame.js:
  1620. (WebInspector.SourceFrame.prototype._setTextViewerDecorations):
  1621. (WebInspector.SourceFrame.prototype.setExecutionLocation):
  1622. (WebInspector.SourceFrame.prototype.clearExecutionLocation):
  1623. (WebInspector.SourceFrame.prototype._setExecutionLocation):
  1624. (WebInspector.SourceFrame.prototype._breakpointAdded):
  1625. (WebInspector.SourceFrame.prototype._continueToLine):
  1626. (WebInspector.SourceFrame.prototype._originalLocationToTextViewerLineNumber):
  1627. 2011-02-14 Christian Dywan <christian@lanedo.com>
  1628. Reviewed by Gustavo Noronha Silva.
  1629. Regression: Back, Forward, Reload hidden in context menu
  1630. https://bugs.webkit.org/show_bug.cgi?id=54393
  1631. * page/ContextMenuController.cpp: Always show Back, Forward,
  1632. Reload and Stop context menu items for the GTK+ port.
  1633. 2011-02-14 Johnny Ding <jnd@chromium.org>
  1634. Reviewed by Andreas Kling.
  1635. Move the finiteness check into common code.
  1636. Test covered by canvas/philip/tests/2d.path.isPointInPath.nonfinite.html
  1637. * html/canvas/CanvasRenderingContext2D.cpp:
  1638. (WebCore::CanvasRenderingContext2D::isPointInPath):
  1639. 2011-02-14 Roland Steiner <rolandsteiner@chromium.org>
  1640. Reviewed by Kent Tamura.
  1641. Bug 54377 - Clean up RenderTextControlSingleLine::createSubtreeIfNeeded()
  1642. https://bugs.webkit.org/show_bug.cgi?id=54377
  1643. Rearranged the condition blocks, removed superfluous conditions:
  1644. .) if-statements where it's already clear that a search field is being generated
  1645. .) testing for spin-buttons on field types that can never have them.
  1646. createInnerBlockStyle(): only search fields create an inner block, and
  1647. these can never have spin buttons.
  1648. No new tests. (Refactoring - covered by existing tests)
  1649. * rendering/RenderTextControlSingleLine.cpp:
  1650. (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
  1651. (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
  1652. 2011-02-10 Pavel Podivilov <podivilov@chromium.org>
  1653. Reviewed by Yury Semikhatsky.
  1654. Web Inspector: refactoring, extract SourceMapping from SourceFrameContent.
  1655. https://bugs.webkit.org/show_bug.cgi?id=54195
  1656. Add SourceMapping interface with two implementations - IdenticalSourceMapping and SourceMappingForFormattedScript.
  1657. Rewrite SourceFrameContent based on SourceMapping. Make SourceFrame unaware of source mapping details.
  1658. * inspector/front-end/ResourceView.js:
  1659. (WebInspector.SourceFrameContentProviderForResource.prototype.requestContent):
  1660. * inspector/front-end/ScriptFormatter.js:
  1661. (WebInspector.ScriptFormatter.locationToPosition):
  1662. (WebInspector.ScriptFormatter.positionToLocation):
  1663. (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
  1664. (WebInspector.ScriptFormatter.prototype.formatContent):
  1665. (WebInspector.ScriptFormatter.prototype._splitContentIntoChunks):
  1666. (WebInspector.SourceMappingForFormattedScript):
  1667. (WebInspector.SourceMappingForFormattedScript.prototype.fromScriptLocation):
  1668. (WebInspector.SourceMappingForFormattedScript.prototype.toScriptLocation):
  1669. (WebInspector.SourceMappingForFormattedScript.prototype.originalPositionToFormattedLocation):
  1670. (WebInspector.SourceMappingForFormattedScript.prototype._convertPosition):
  1671. * inspector/front-end/ScriptsPanel.js:
  1672. (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent):
  1673. * inspector/front-end/SourceFrame.js:
  1674. (WebInspector.SourceFrame.prototype._createTextViewer):
  1675. (WebInspector.SourceFrame.prototype._shouldDisplayBreakpoint):
  1676. (WebInspector.SourceFrame.prototype.setExecutionLine):
  1677. (WebInspector.SourceFrame.prototype.clearExecutionLine):
  1678. (WebInspector.SourceFrame.prototype._breakpointAdded):
  1679. (WebInspector.SourceFrame.prototype.formatSource.didFormat):
  1680. (WebInspector.SourceFrame.prototype.formatSource):
  1681. (WebInspector.SourceFrame.prototype._continueToLine):
  1682. (WebInspector.SourceFrame.prototype._setBreakpoint):
  1683. (WebInspector.SourceFrame.prototype._findBreakpoint):
  1684. (WebInspector.SourceFrameContentProvider.prototype.requestContent):
  1685. * inspector/front-end/SourceFrameContent.js:
  1686. (WebInspector.SourceFrameContent):
  1687. (WebInspector.SourceFrameContent.prototype.sourceFrameLineNumberToScriptLocation):
  1688. (WebInspector.SourceFrameContent.prototype.scriptLocationToSourceFrameLineNumber):
  1689. (WebInspector.SourceFrameContent.prototype._sourceIDForSourceFrameLineNumber):
  1690. (WebInspector.SourceMapping):
  1691. (WebInspector.SourceMapping.prototype.fromScriptLocation):
  1692. (WebInspector.SourceMapping.prototype.toScriptLocation):
  1693. (WebInspector.IdenticalSourceMapping):
  1694. (WebInspector.IdenticalSourceMapping.prototype.fromScriptLocation):
  1695. (WebInspector.IdenticalSourceMapping.prototype.toScriptLocation):
  1696. * inspector/front-end/utilities.js:
  1697. (String.prototype.lineEndings):
  1698. 2011-02-14 Pavel Feldman <pfeldman@chromium.org>
  1699. Reviewed by Yury Semikhatsky.
  1700. Web Inspector: [REGRESSION introduced in r77950] Develop -> Start Debugging JavaScript does not open Web Inspector.
  1701. https://bugs.webkit.org/show_bug.cgi?id=54277
  1702. * inspector/InspectorAgent.cpp:
  1703. (WebCore::InspectorAgent::populateScriptObjects):
  1704. (WebCore::InspectorAgent::stopUserInitiatedProfiling):
  1705. (WebCore::InspectorAgent::showAndEnableDebugger):
  1706. (WebCore::InspectorAgent::showPanel):
  1707. * inspector/InspectorAgent.h:
  1708. * inspector/InspectorController.cpp:
  1709. (WebCore::InspectorController::showAndEnableDebugger):
  1710. (WebCore::InspectorController::stopUserInitiatedProfiling):
  1711. 2011-02-14 Kenichi Ishibashi <bashi@chromium.org>
  1712. Reviewed by Andreas Kling.
  1713. css style="max-width:none" works wrong
  1714. https://bugs.webkit.org/show_bug.cgi?id=53743
  1715. Fix a bug that "max-width:none" works wrong.
  1716. See also: http://trac.webkit.org/changeset/13462
  1717. Test: fast/css/max-width-none.html
  1718. * css/CSSStyleSelector.cpp:
  1719. (WebCore::CSSStyleSelector::applyProperty): For max-width of none,
  1720. set it to Length(undefinedLength, Fixed), which is the correct
  1721. value.
  1722. 2011-02-14 Antti Koivisto <antti@apple.com>
  1723. Reviewed by Andreas Kling.
  1724. REGRESSION (r77834): Assertion failing in svg/custom/use-multiple-on-nested-disallowed-font.svg
  1725. https://bugs.webkit.org/show_bug.cgi?id=54344
  1726. Intead of recomputing, just mark style selector dirty if it is invalidated in the middle of a style recalc.
  1727. * dom/Document.cpp:
  1728. (WebCore::Document::Document):
  1729. (WebCore::Document::recalcStyle):
  1730. (WebCore::Document::recalcStyleSelector):
  1731. * dom/Document.h:
  1732. 2011-02-14 Naoki Takano <takano.naoki@gmail.com>
  1733. Reviewed by Kent Tamura.
  1734. [Chromium] Fix wrong popup position for RTL(again)
  1735. https://bugs.webkit.org/show_bug.cgi?id=54375
  1736. Fix right position bug introduce by https://bugs.webkit.org/show_bug.cgi?id=53567, because the previous fix was correct for the current behaviour, but not good for http://crbug.com/60427. To calculate the correct right offset value and apply to the position, change WebCore::PopupContainer::layout() to return right offset value and use the returned value to calculate position.
  1737. No new tests. However we can check manually with select_dropdown_box_alignment.html, autofill_alignment.html, select_alignment.html, select_dropdown_box_alignment.html, autofill-popup-width-and-item-direction.html
  1738. * platform/chromium/PopupMenuChromium.cpp:
  1739. (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Change the input parameter to take popupInitialCoordinate again. And calculate correct right position with returned right offset from layoutAndGetRightOffset().
  1740. (WebCore::PopupContainer::showPopup): Change the passing parameter to layoutAndCalculateWidgetRect().
  1741. (WebCore::PopupContainer::layoutAndGetRightOffset): Change the name from layout() and to return rightOffset value.
  1742. (WebCore::PopupContainer::refresh): Change the passing parameter to layoutAndCalculateWidgetRect().
  1743. * platform/chromium/PopupMenuChromium.h: Change the function name and parameters.
  1744. 2011-02-14 Alejandro G. Castro <alex@igalia.com>
  1745. Unreviewed, rolling out r78451.
  1746. http://trac.webkit.org/changeset/78451
  1747. https://bugs.webkit.org/show_bug.cgi?id=53898
  1748. It is causing crashes in some bots
  1749. * platform/text/TextCodecICU.cpp:
  1750. (WebCore::newTextCodecICU):
  1751. (WebCore::TextCodecICU::registerBaseEncodingNames):
  1752. (WebCore::TextCodecICU::registerBaseCodecs):
  1753. (WebCore::TextCodecICU::registerExtendedEncodingNames):
  1754. (WebCore::TextCodecICU::registerExtendedCodecs):
  1755. (WebCore::ErrorCallbackSetter::~ErrorCallbackSetter):
  1756. (WebCore::getGbkEscape):
  1757. (WebCore::urlEscapedEntityCallback):
  1758. (WebCore::gbkCallbackEscape):
  1759. (WebCore::gbkUrlEscapedEntityCallack):
  1760. (WebCore::gbkCallbackSubstitute):
  1761. * platform/text/TextCodecICU.h:
  1762. (WebCore::ICUConverterWrapper::ICUConverterWrapper):
  1763. * platform/text/TextCodecUTF8.cpp:
  1764. (WebCore::TextCodecUTF8::registerEncodingNames):
  1765. (WebCore::nonASCIISequenceLength):
  1766. (WebCore::decodeNonASCIISequence):
  1767. (WebCore::TextCodecUTF8::decode):
  1768. * platform/text/TextCodecUTF8.h:
  1769. * platform/text/TextEncodingRegistry.cpp:
  1770. (WebCore::buildBaseTextCodecMaps):
  1771. (WebCore::extendTextCodecMaps):
  1772. 2011-02-13 Antti Koivisto <antti@apple.com>
  1773. Reviewed by Dan Bernstein.
  1774. https://bugs.webkit.org/show_bug.cgi?id=54376
  1775. Make sorting of matched rules faster
  1776. - use std::sort
  1777. - cache specificity, it is slow to compute
  1778. - inline compare function
  1779. * css/CSSStyleSelector.cpp:
  1780. (WebCore::RuleData::specificity):
  1781. (WebCore::CSSStyleSelector::matchRules):
  1782. (WebCore::compareRules):
  1783. (WebCore::CSSStyleSelector::sortMatchedRules):
  1784. (WebCore::RuleData::RuleData):
  1785. (WebCore::CSSStyleSelector::matchPageRules):
  1786. * css/CSSStyleSelector.h:
  1787. 2011-02-12 Darin Adler <darin@apple.com>
  1788. Reviewed by Alexey Proskuryakov.
  1789. Add built-in decoder for UTF-8 for improved performance
  1790. https://bugs.webkit.org/show_bug.cgi?id=53898
  1791. Covered by existing tests; not adding new tests at this time.
  1792. This patch now handles errors in the same way the existing codecs do,
  1793. and so passes our tests. The previous version failed some tests because
  1794. of incorrect error handling.
  1795. * platform/text/TextCodecICU.cpp:
  1796. (WebCore::create): Renamed from newTextCodecICU, made a static member
  1797. function, and added a call to adoptPtr.
  1798. (WebCore::TextCodecICU::registerEncodingNames): Renamed from
  1799. registerExtendedEncodingNames since this class is no longer used for
  1800. base codecs. Removed aliases for UTF-8; now handled by TextCodecUTF8.
  1801. (WebCore::TextCodecICU::registerCodecs): Renamed.
  1802. (WebCore::fallbackForGBK): Renamed to conform to our current style.
  1803. * platform/text/TextCodecICU.h: Updated for above changes. Changed
  1804. indentation. Made most functions private, including virtual function
  1805. overrides. Marked ICUConverterWrapper noncopyable.
  1806. * platform/text/TextCodecUTF8.cpp:
  1807. (WebCore::TextCodecUTF8::registerEncodingNames): Added the UTF-8 aliases
  1808. that were formerly added by TextCodecICU.
  1809. (WebCore::nonASCIISequenceLength): Fixed bug where this would return 4 for
  1810. bytes F5-FF instead of failing.
  1811. (WebCore::decodeNonASCIISequence): Tweaked coding style.
  1812. (WebCore::appendCharacter): Added. Makes it easier to share code between
  1813. the partial-character handling and main loop.
  1814. (WebCore::TextCodecUTF8::decode): Fixed buffer size computation for case
  1815. where there is a partial sequence. Fixed partial sequence handling so that
  1816. goto is no longer needed, since compilers sometimes make poor code when
  1817. goto is involved. Added a loop for partial sequences since we consume only
  1818. one byte when a partial sequence is invalid. Fixed logic in main decoding
  1819. loop so goto is not needed. Used early-exit style in both loops so the main
  1820. flow is not nested inside if statements. Added correct error handling for
  1821. flush when a partial sequence remains, which involved wrapping the function
  1822. in yet another loop.
  1823. * platform/text/TextCodecUTF8.h: Made virtual function overrides private.
  1824. * platform/text/TextEncodingRegistry.cpp:
  1825. (WebCore::buildBaseTextCodecMaps): Added calls to TextCodecUTF8. Removed
  1826. calls to TextCodecICU. Added FIXMEs for other codecs that no longer need
  1827. to be included here.
  1828. (WebCore::extendTextCodecMaps): Updated for the name change of the
  1829. TextCodecICU functions.
  1830. 2011-02-13 Mark Rowe <mrowe@apple.com>
  1831. Reviewed by Maciej Stachowiak.
  1832. <rdar://problem/8995490> WebCoreAuthenticationClientAsChallengeSender doesn't implement some necessary methods.
  1833. * platform/network/mac/AuthenticationMac.mm:
  1834. (-[WebCoreAuthenticationClientAsChallengeSender performDefaultHandlingForAuthenticationChallenge:]):
  1835. (-[WebCoreAuthenticationClientAsChallengeSender rejectProtectionSpaceAndContinueWithChallenge:]):
  1836. 2011-02-13 Simon Fraser <simon.fraser@apple.com>
  1837. Reviewed by Andreas Kling.
  1838. Repeating gradients drawn incorrectly
  1839. https://bugs.webkit.org/show_bug.cgi?id=53502
  1840. The 'forward-fill' logic for repeating gradients used the wrong
  1841. starting stop index (0 rather than the original first index), which
  1842. resulted in incorrect gradients if backwards-fill had already been
  1843. applied.
  1844. Test: fast/gradients/css3-repeating-end-fill.html
  1845. * css/CSSGradientValue.cpp:
  1846. (WebCore::CSSGradientValue::addStops):
  1847. 2011-02-13 Benjamin Poulain <benjamin.poulain@nokia.com>
  1848. Reviewed by Andreas Kling.
  1849. Unused variable result in RenderBlock::addOverflowFromFloats()
  1850. https://bugs.webkit.org/show_bug.cgi?id=54363
  1851. Remove the unused variable.
  1852. * rendering/RenderBlock.cpp:
  1853. (WebCore::RenderBlock::addOverflowFromFloats):
  1854. 2011-02-13 Cameron Zwarich <zwarich@apple.com>
  1855. Reviewed by Anders Carlsson.
  1856. WebCore fails to build with Clang's -Woverloaded-virtual
  1857. https://bugs.webkit.org/show_bug.cgi?id=54367
  1858. * loader/PingLoader.h:
  1859. (WebCore::PingLoader::didReceiveData): Change the method signature to match the signature
  1860. in the base class.
  1861. 2011-02-13 Nico Weber <thakis@chromium.org>
  1862. Reviewed by Anders Carlsson.
  1863. RenderBR::width() tries but fails to override RenderText::width()
  1864. https://bugs.webkit.org/show_bug.cgi?id=54301
  1865. The superclass method's signature changed, e.g. in
  1866. http://trac.webkit.org/changeset/57215, but the subclass was not
  1867. updated.
  1868. * rendering/RenderBR.h:
  1869. (WebCore::RenderBR::width):
  1870. 2011-02-13 Andreas Kling <kling@webkit.org>
  1871. Reviewed by Dirk Schulze.
  1872. Canvas: 2d.fillStyle.parse.system.html fails
  1873. https://bugs.webkit.org/show_bug.cgi?id=39168
  1874. Based on previous work by Julien Chaffraix <jchaffraix@codeaurora.org>
  1875. and Jan Erik Hanssen <jhanssen@sencha.com>
  1876. * css/CSSParser.cpp:
  1877. (WebCore::CSSParser::parseColor): Changed the function to better match our
  1878. early return policy. Also we now return false when we don't parse the color.
  1879. This is needed for createFromString to fallback to using parseSystemColor.
  1880. (WebCore::CSSParser::parseSystemColor): Made use of the RenderTheme to get
  1881. the system colors.
  1882. * css/CSSParser.h: Added the new parseSystemColor method.
  1883. * html/canvas/CanvasRenderingContext2D.cpp:
  1884. (WebCore::CanvasRenderingContext2D::setStrokeColor): Pass the document to createFromString.
  1885. (WebCore::CanvasRenderingContext2D::setFillColor): Ditto.
  1886. * html/canvas/CanvasStyle.cpp:
  1887. (WebCore::parseColor):
  1888. (WebCore::parseColorOrCurrentColor):
  1889. (WebCore::CanvasStyle::createFromString): Try to parse the color using CSSParser::parseColor
  1890. and fall back to parseSystemColor if it did not work.
  1891. * html/canvas/CanvasStyle.h: Added the new Document* parameter to createFromString.
  1892. 2011-02-13 Jeremy Moskovich <jeremy@chromium.org>
  1893. Reviewed by Adam Barth.
  1894. Add a compile-time option to completely disable WebArchive support.
  1895. https://bugs.webkit.org/show_bug.cgi?id=52712
  1896. Add an ENABLE(WEB_ARCHIVE) compile-time setting and use it for all WebArchive code.
  1897. ArchiveResource and ArchiveResourceCollection are notably still compiled in. They are used
  1898. in Safari for functionality such as "Save Image As" and Image copy & paste independent of
  1899. WebArchive support.
  1900. Ports Affected:
  1901. WebArchive support is currently enabled for all ports that define PLATFORM(CF) apart from Qt.
  1902. This patch preserves this behavior except that it also disables support in the Chromium port.
  1903. No behavior changes so no new tests.
  1904. * WebCore.gyp/WebCore.gyp: Don't compile LegacyWebArchive.cpp and friends.
  1905. * WebCore.pro: Don't compile ArchiveFactory.cpp in Qt port.
  1906. * loader/DocumentLoader.cpp: Surround WebArchive code with #ifdef.
  1907. (WebCore::DocumentLoader::commitLoad):
  1908. (WebCore::DocumentLoader::setupForReplaceByMIMEType):
  1909. (WebCore::DocumentLoader::archiveResourceForURL):
  1910. * loader/DocumentLoader.h:
  1911. * loader/FrameLoader.cpp:
  1912. (WebCore::FrameLoader::loadURLIntoChildFrame):
  1913. (WebCore::FrameLoader::stopAllLoaders):
  1914. (WebCore::FrameLoader::finishedLoadingDocument):
  1915. * loader/FrameLoader.h:
  1916. * loader/ResourceLoader.cpp:
  1917. (WebCore::ResourceLoader::start):
  1918. * loader/archive/ArchiveFactory.cpp: Remove #ifdef since feature is now enabled/disabled wholesale.
  1919. (WebCore::archiveMIMETypes):
  1920. * page/Settings.cpp:
  1921. * page/Settings.h:
  1922. * platform/MIMETypeRegistry.cpp:
  1923. (WebCore::initializeSupportedNonImageMimeTypes):
  1924. 2011-02-13 Aparna Nandyal <aparna.nand@wipro.com>
  1925. Reviewed by Andreas Kling.
  1926. [Qt] QtWebKit does not properly handle D&D of a percent-encoded URL.
  1927. https://bugs.webkit.org/show_bug.cgi?id=53320
  1928. The encoding that was done is corrected in the fix.
  1929. Replaced the KURL encoding function with QUrl API.
  1930. * platform/qt/DragDataQt.cpp:
  1931. (WebCore::DragData::asURL):
  1932. 2011-02-13 Leo Yang <leo.yang.c@gmail.com>
  1933. Reviewed by Andreas Kling.
  1934. Unnecessary call of containingBlock() in RenderBoxModelObject::relativePositionOffsetX()
  1935. https://bugs.webkit.org/show_bug.cgi?id=54351
  1936. We were calling containingBlock() twice if the left is not auto. We only need to call it
  1937. once because we can use 'cb' variable in the following line.
  1938. No functionality change, no new tests.
  1939. * rendering/RenderBoxModelObject.cpp:
  1940. (WebCore::RenderBoxModelObject::relativePositionOffsetX):
  1941. 2011-02-13 Jarred Nicholls <jarred@sencha.com>
  1942. Reviewed by Simon Fraser.
  1943. getComputedStyle returns wrong value for margin-right
  1944. https://bugs.webkit.org/show_bug.cgi?id=13343
  1945. Matching IE, Firefox, and Opera behavior by returning the computed margin
  1946. values as specified, rather than the used/auto values (calculated via RenderBox).
  1947. Also CSS 2.1+ compliant by returning margin percentage as specified, if applicable.
  1948. Note: Firefox and Opera return calculated fixed lengths for percentage margins, IE
  1949. returns the specified percentage.
  1950. Tests: fast/css/getComputedStyle/getComputedStyle-margin-auto.html
  1951. fast/css/getComputedStyle/getComputedStyle-margin-length.html
  1952. fast/css/getComputedStyle/getComputedStyle-margin-percentage.html
  1953. * css/CSSComputedStyleDeclaration.cpp:
  1954. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  1955. 2011-02-13 Adam Barth <abarth@webkit.org>
  1956. Reviewed by Sam Weinig.
  1957. crypto.getRandomValues should throw TYPE_MISMATCH_ERR
  1958. https://bugs.webkit.org/show_bug.cgi?id=54346
  1959. As requested by Sam.
  1960. * page/Crypto.cpp:
  1961. (WebCore::Crypto::getRandomValues):
  1962. 2011-02-13 Alexey Proskuryakov <ap@apple.com>
  1963. Reviewed by Dan Bernstein.
  1964. https://bugs.webkit.org/show_bug.cgi?id=54349
  1965. Inline some accessors in PrintContext
  1966. No change in behavior, so no tests.
  1967. * WebCore.exp.in:
  1968. * page/PrintContext.cpp:
  1969. * page/PrintContext.h:
  1970. (WebCore::PrintContext::pageCount):
  1971. (WebCore::PrintContext::pageRect):
  1972. Inline pageCount() and pageRect() to match pageRects().
  1973. 2011-02-13 Sam Weinig <sam@webkit.org>
  1974. Roll r78424 [Extra scrolling required when scrolling with a scroll wheel (Mighty Mouse)] back
  1975. in with fixes to make it work with render layers.
  1976. * platform/mac/ScrollAnimatorMac.h:
  1977. * platform/mac/ScrollAnimatorMac.mm:
  1978. (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
  1979. (WebCore::ScrollAnimatorMac::adjustScrollXPositionIfNecessary):
  1980. (WebCore::ScrollAnimatorMac::adjustScrollYPositionIfNecessary):
  1981. (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
  1982. (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
  1983. (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
  1984. (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
  1985. * rendering/RenderLayer.cpp:
  1986. (WebCore::RenderLayer::RenderLayer):
  1987. (WebCore::RenderLayer::contentsSize):
  1988. (WebCore::RenderLayer::visibleHeight):
  1989. (WebCore::RenderLayer::visibleWidth):
  1990. (WebCore::RenderLayer::updateScrollInfoAfterLayout):
  1991. * rendering/RenderLayer.h:
  1992. * rendering/RenderListBox.cpp:
  1993. (WebCore::RenderListBox::visibleHeight):
  1994. (WebCore::RenderListBox::visibleWidth):
  1995. * rendering/RenderListBox.h:
  1996. 2011-02-13 Sam Weinig <sam@webkit.org>
  1997. Reviewed by Dan Bernstein.
  1998. Some Scrollbar functions assume an attached ScrollableArea but can be called without one
  1999. https://bugs.webkit.org/show_bug.cgi?id=54262
  2000. Make sure that all calls to the scrollable area are null checked.
  2001. * platform/Scrollbar.cpp:
  2002. (WebCore::Scrollbar::autoscrollPressedPart):
  2003. (WebCore::Scrollbar::moveThumb):
  2004. (WebCore::Scrollbar::mouseMoved):
  2005. 2011-02-13 Sam Weinig <sam@webkit.org>
  2006. Roll out r78424. It broke a bunch of tests.
  2007. * platform/mac/ScrollAnimatorMac.h:
  2008. * platform/mac/ScrollAnimatorMac.mm:
  2009. (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
  2010. (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
  2011. (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
  2012. (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
  2013. * rendering/RenderLayer.cpp:
  2014. * rendering/RenderLayer.h:
  2015. (WebCore::RenderLayer::contentsSize):
  2016. * rendering/RenderListBox.cpp:
  2017. * rendering/RenderListBox.h:
  2018. 2011-02-12 Sam Weinig <sam@webkit.org>
  2019. Reviewed by Dan Bernstein.
  2020. WK2: Extra scrolling required when scrolling with a scroll wheel (Mighty Mouse)
  2021. <rdar://problem/8984760>
  2022. When going down the smooth scroll path, constrained scrolls (such as those from a
  2023. Mighty Mouse) were being correctly constrained at the ScrollView level, but the
  2024. duplicate values being stored by the animator were not being constrained correctly.
  2025. In order to implement the constraint at this level, more of the ScrollableArea's API
  2026. needed to be filled in for RenderLayer and RenderListBox.
  2027. * platform/mac/ScrollAnimatorMac.h:
  2028. * platform/mac/ScrollAnimatorMac.mm:
  2029. (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation): Call immediateScrollToPoint to stay
  2030. consistent and get the desired behavior.
  2031. (WebCore::ScrollAnimatorMac::adjustScrollXPositionIfNecessary):
  2032. (WebCore::ScrollAnimatorMac::adjustScrollYPositionIfNecessary):
  2033. (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
  2034. (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
  2035. (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
  2036. (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
  2037. Ensure that the scroll animators view of the current scroll position is the
  2038. same as the scrollable areas by correctly clamping the value.
  2039. * rendering/RenderLayer.cpp:
  2040. (WebCore::RenderLayer::contentsSize): Correct implementation
  2041. to use the scroll size, not the visible size.
  2042. (WebCore::RenderLayer::visibleHeight):
  2043. (WebCore::RenderLayer::visibleWidth):
  2044. * rendering/RenderLayer.h:
  2045. * rendering/RenderListBox.cpp:
  2046. (WebCore::RenderListBox::visibleHeight):
  2047. (WebCore::RenderListBox::visibleWidth):
  2048. * rendering/RenderListBox.h:
  2049. Add implementations for visibleHeight/visibleWidth.
  2050. 2011-02-12 Adam Barth <abarth@webkit.org>
  2051. Reviewed by Sam Weinig.
  2052. crypto.getRandomValues should support all integer array types
  2053. https://bugs.webkit.org/show_bug.cgi?id=54342
  2054. As discussed on whatwg, we should support all the integer array types.
  2055. Test: security/crypto-random-values-types.html
  2056. * page/Crypto.cpp:
  2057. (WebCore::Crypto::getRandomValues):
  2058. 2011-02-12 Adam Barth <abarth@webkit.org>
  2059. Reviewed by Mark Rowe.
  2060. Use /dev/urandom as the OSRandomSource on OS(DARWIN)
  2061. https://bugs.webkit.org/show_bug.cgi?id=54279
  2062. Update the ifdef. OS(UNIX) includes OS(DARWIN), so this change is
  2063. should be a NOP.
  2064. * config.h:
  2065. 2011-02-11 Zhenyao Mo <zmo@google.com>
  2066. Reviewed by Kenneth Russell.
  2067. [chromium] Allow turning off multisampling through web preference settings
  2068. https://bugs.webkit.org/show_bug.cgi?id=54321
  2069. * html/canvas/WebGLRenderingContext.cpp:
  2070. (WebCore::WebGLRenderingContext::create): Disable multisampling in WebGL if web reference says so.
  2071. * page/Settings.cpp: Add a flag for multisampling preference.
  2072. (WebCore::Settings::Settings):
  2073. (WebCore::Settings::setOpenGLMultisamplingEnabled):
  2074. * page/Settings.h: Ditto.
  2075. (WebCore::Settings::openGLMultisamplingEnabled):
  2076. 2011-02-12 Ryosuke Niwa <rniwa@webkit.org>
  2077. Reviewed by Tony Chang.
  2078. Deploy EditingStyle in applyBlockStyle and applyInlineStyle
  2079. https://bugs.webkit.org/show_bug.cgi?id=53911
  2080. Deployed EditingStyle in ApplyStyleCommand::applyBlockStyle and ApplyStyleCommand::applyInlineStyle.
  2081. Extracted EditingStyle::extractAndRemoveTextDirection from applyInlineStyle.
  2082. Also added propertiesToInclude to the argument list of EditingStyle's constructor that takes Node*
  2083. so that splitAncestorsWithUnicodeBidi can call EditingStyle::textDirection to obtain the text direction.
  2084. No new tests are added since this is a refactoring.
  2085. * editing/ApplyStyleCommand.cpp:
  2086. (WebCore::ApplyStyleCommand::doApply): Passes EditingStyle* to applyBlockStyle and applyInlineStyle.
  2087. (WebCore::ApplyStyleCommand::applyBlockStyle): Takes EditingStyle*.
  2088. (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Changed the type of allowedDirection
  2089. from int to WritingDirection. Uses EditingStyle's textDirection to obtain the writing direction.
  2090. (WebCore::ApplyStyleCommand::applyInlineStyle): Takes EditingStyle*.
  2091. (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Allows style to be null; exit early instead.
  2092. (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Asserts that style is not null.
  2093. (WebCore::ApplyStyleCommand::removeInlineStyle): Allows style to be null.
  2094. * editing/ApplyStyleCommand.h: Includes WritingDirection.h; prototype changes.
  2095. * editing/EditingStyle.cpp:
  2096. (WebCore::EditingStyle::EditingStyle): Added PropertiesToInclude to the argument.
  2097. (WebCore::EditingStyle::init): Supports PropertiesToInclude.
  2098. (WebCore::EditingStyle::extractAndRemoveTextDirection): Extracted from applyInlineStyle.
  2099. * editing/EditingStyle.h:
  2100. (WebCore::EditingStyle::create): Supports PropertiesToInclude.
  2101. 2011-02-12 Jochen Eisinger <jochen@chromium.org>
  2102. Reviewed by Jeremy Orlow.
  2103. Implement IDBObjectStore::clear
  2104. https://bugs.webkit.org/show_bug.cgi?id=54193
  2105. Test: storage/indexeddb/objectstore-clear.html
  2106. * storage/IDBObjectStore.cpp:
  2107. (WebCore::IDBObjectStore::clear):
  2108. * storage/IDBObjectStore.h:
  2109. * storage/IDBObjectStore.idl:
  2110. * storage/IDBObjectStoreBackendImpl.cpp:
  2111. (WebCore::IDBObjectStoreBackendImpl::clear):
  2112. (WebCore::doDelete):
  2113. (WebCore::IDBObjectStoreBackendImpl::clearInternal):
  2114. * storage/IDBObjectStoreBackendImpl.h:
  2115. * storage/IDBObjectStoreBackendInterface.h:
  2116. 2011-02-12 Adam Barth <abarth@webkit.org>
  2117. Another attempt to fix the EFL build. Looks like we're missing one
  2118. more file.
  2119. * CMakeLists.txt:
  2120. 2011-02-12 Adam Barth <abarth@webkit.org>
  2121. Attempt to fix the EFL build. Apparently the CMake build had no
  2122. concept of ArrayBuffers.
  2123. * CMakeLists.txt:
  2124. 2011-02-12 Ryosuke Niwa <rniwa@webkit.org>
  2125. Unreviewed build fix.
  2126. * dom/Range.cpp:
  2127. (WebCore::lengthOfContentsInNode): Replaced static const unsigned LengthOfContentsInNode.
  2128. (WebCore::Range::processContents):
  2129. (WebCore::Range::processContentsBetweenOffsets):
  2130. 2011-02-12 Adam Barth <abarth@webkit.org>
  2131. CPP files belong in SOURCES not in HEADERS. There are more errors like
  2132. this for other disabled features, but I'm not fixing them in this
  2133. patch.
  2134. * WebCore.pro:
  2135. 2011-02-12 Adam Barth <abarth@webkit.org>
  2136. Apparently lines in .pro files need to be \-terminated.
  2137. * WebCore.pro:
  2138. 2011-02-11 Ryosuke Niwa <rniwa@webkit.org>
  2139. Reviewed by Darin Adler.
  2140. Extract a function to process contents for one node from Range::processContents
  2141. https://bugs.webkit.org/show_bug.cgi?id=54282
  2142. Extracted Range::processContentsBetweenOffsets, which process contents of a node
  2143. between two offsets. This function is used for the simple case where the start
  2144. and the end containers are of the same node, and to process start and end containers
  2145. in the complex case.
  2146. When the function takes a non-null fragment (simple case), it appends the processed
  2147. contents to the fragment; character data and processing instruction's contents are copied
  2148. between the offsets, and descendants are copied for node of other types (not node itself).
  2149. When the fragment is null (complex case), the function copies contents of character data,
  2150. processing instruction, and node of other types (including node itself).
  2151. No new tests are added since this is a refactoring.
  2152. * dom/Range.cpp:
  2153. (WebCore::highestAncestorUnderCommonRoot): Added.
  2154. (WebCore::Range::processContents): Calls highestAncestorUnderCommonRoot and
  2155. processContentsBetweenOffsets.
  2156. (WebCore::Range::processContentsBetweenOffsets): Added.
  2157. * dom/Range.h:
  2158. 2011-02-12 Adam Barth <abarth@webkit.org>
  2159. Attempt to fix the Qt Windows build.
  2160. * WebCore.pro:
  2161. 2011-02-12 Adam Barth <abarth@webkit.org>
  2162. Reviewed by Kenneth Russell.
  2163. Enable ArrayBuffers by default
  2164. https://bugs.webkit.org/show_bug.cgi?id=54310
  2165. As discussed on webkit-dev, ArrayBuffers are used by a bunch of
  2166. different APIs, implemented by Firefox, and appear to be stable.
  2167. Keeping them conditional is a large mantainance burden than it's worth.
  2168. * DerivedSources.cpp:
  2169. * WebCore.vcproj/WebCore.vcproj:
  2170. * bindings/generic/RuntimeEnabledFeatures.h:
  2171. (WebCore::RuntimeEnabledFeatures::setWebGLEnabled):
  2172. * bindings/js/JSArrayBufferCustom.cpp:
  2173. * bindings/js/JSBindingsAllInOne.cpp:
  2174. * bindings/js/JSDOMWindowCustom.cpp:
  2175. * bindings/js/JSDataViewCustom.cpp:
  2176. * bindings/js/JSFloat32ArrayCustom.cpp:
  2177. * bindings/js/JSInt16ArrayCustom.cpp:
  2178. * bindings/js/JSInt32ArrayCustom.cpp:
  2179. * bindings/js/JSInt8ArrayCustom.cpp:
  2180. * bindings/js/JSUint16ArrayCustom.cpp:
  2181. * bindings/js/JSUint32ArrayCustom.cpp:
  2182. * bindings/js/JSUint8ArrayCustom.cpp:
  2183. * bindings/v8/custom/V8ArrayBufferCustom.cpp:
  2184. * bindings/v8/custom/V8ArrayBufferViewCustom.h:
  2185. * bindings/v8/custom/V8DataViewCustom.cpp:
  2186. * bindings/v8/custom/V8Float32ArrayCustom.cpp:
  2187. * bindings/v8/custom/V8Int16ArrayCustom.cpp:
  2188. * bindings/v8/custom/V8Int32ArrayCustom.cpp:
  2189. * bindings/v8/custom/V8Int8ArrayCustom.cpp:
  2190. * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
  2191. * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
  2192. * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
  2193. * html/canvas/ArrayBuffer.cpp:
  2194. * html/canvas/ArrayBuffer.idl:
  2195. * html/canvas/ArrayBufferView.cpp:
  2196. * html/canvas/ArrayBufferView.idl:
  2197. * html/canvas/DataView.cpp:
  2198. * html/canvas/DataView.idl:
  2199. * html/canvas/Float32Array.cpp:
  2200. * html/canvas/Float32Array.idl:
  2201. * html/canvas/Int16Array.cpp:
  2202. * html/canvas/Int16Array.idl:
  2203. * html/canvas/Int32Array.cpp:
  2204. * html/canvas/Int32Array.idl:
  2205. * html/canvas/Int8Array.cpp:
  2206. * html/canvas/Int8Array.idl:
  2207. * html/canvas/Uint16Array.cpp:
  2208. * html/canvas/Uint16Array.idl:
  2209. * html/canvas/Uint32Array.cpp:
  2210. * html/canvas/Uint32Array.idl:
  2211. * html/canvas/Uint8Array.cpp:
  2212. * html/canvas/Uint8Array.idl:
  2213. * page/Crypto.cpp:
  2214. (WebCore::Crypto::getRandomValues):
  2215. * page/Crypto.h:
  2216. * page/Crypto.idl:
  2217. * page/DOMWindow.idl:
  2218. * workers/WorkerContext.idl:
  2219. 2011-02-11 Yael Aharon <yael.aharon@nokia.com>
  2220. Reviewed by Darin Adler.
  2221. Background image positioning on RTL text
  2222. https://bugs.webkit.org/show_bug.cgi?id=32862
  2223. When the style of InlineFlowBox is right-to-left, the strips should be rearranged in reverse order.
  2224. Tests: fast/inline/inline-box-background-long-image.html
  2225. fast/inline/inline-box-background-repeat-x.html
  2226. fast/inline/inline-box-background-repeat-y.html
  2227. fast/inline/inline-box-background.html
  2228. * rendering/InlineFlowBox.cpp:
  2229. (WebCore::InlineFlowBox::paintFillLayer):
  2230. 2011-02-11 Sheriff Bot <webkit.review.bot@gmail.com>
  2231. Unreviewed, rolling out r78044.
  2232. http://trac.webkit.org/changeset/78044
  2233. https://bugs.webkit.org/show_bug.cgi?id=54318
  2234. Broke Safari extensions (Requested by eseidel on #webkit).
  2235. * platform/KURL.cpp:
  2236. (WebCore::KURL::parse):
  2237. 2011-02-11 Beth Dakin <bdakin@apple.com>
  2238. Reviewed by Sam Weinig.
  2239. Fix for <rdar://problem/8976456> Scrollbars for overflow
  2240. areas never appear for WKScrollbarPainter scrollers
  2241. Call ScrollableArea::didAddVerticalScrollbar() and
  2242. ScrollableArea::willRemoveVerticalScrollbar() when
  2243. appropriate for RenderLayers.
  2244. * rendering/RenderLayer.cpp:
  2245. (WebCore::RenderLayer::setHasHorizontalScrollbar):
  2246. (WebCore::RenderLayer::setHasVerticalScrollbar):
  2247. 2011-02-11 Eric Seidel <eric@webkit.org>
  2248. Reviewed by Adam Barth.
  2249. KURL should remove default port numbers when cannonicalizing urls (to match every other browser)
  2250. https://bugs.webkit.org/show_bug.cgi?id=54090
  2251. * platform/KURL.cpp:
  2252. (WebCore::isDefaultPortForScheme):
  2253. (WebCore::KURL::parse):
  2254. 2011-02-11 Mike Reed <reed@google.com>
  2255. Reviewed by James Robinson.
  2256. Need makeContextCurrent() called in prepareForSoftwareDraw(), in the case that skia's backend
  2257. is the gpu. This matches the pattern in GraphicsContext3DOpenGL.cpp
  2258. No new tests. All existing canvas layouttests exercise this code path
  2259. * platform/graphics/skia/PlatformContextSkia.cpp:
  2260. (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
  2261. 2011-02-11 Adam Klein <adamk@chromium.org>
  2262. Reviewed by Darin Adler.
  2263. Check for empty scheme before accessing URLSchemeMaps in SchemeRegistry
  2264. https://bugs.webkit.org/show_bug.cgi?id=54304
  2265. This avoids potential crashes in HashMap, as WTF's StringHash doesn't
  2266. accept empty Strings.
  2267. * platform/SchemeRegistry.cpp:
  2268. (WebCore::SchemeRegistry::shouldTreatURLSchemeAsNoAccess):
  2269. (WebCore::SchemeRegistry::shouldTreatURLSchemeAsSecure):
  2270. (WebCore::SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument):
  2271. 2011-02-11 Adam Klein <adamk@chromium.org>
  2272. Reviewed by Darin Fisher.
  2273. [fileapi] Add support for filesystem: URI handling
  2274. https://bugs.webkit.org/show_bug.cgi?id=53529
  2275. There are two major parts to this patch: one is to add an
  2276. implementation of Entry.toURI to the FileSystem API.
  2277. The other is to implement security origin checking for this
  2278. new scheme.
  2279. All changes are guarded by the FILE_SYSTEM feature. An accompanying
  2280. Chromium change, to support loading of filesystem: URIs, has recently
  2281. been submitted as Chromium r74082.
  2282. Spec:
  2283. http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#methods-2
  2284. Proposed URI format, and discussion of security origin issues:
  2285. http://lists.w3.org/Archives/Public/public-webapps/2011JanMar/0218.html
  2286. Tests: fast/filesystem/directory-entry-to-uri.html
  2287. fast/filesystem/file-entry-to-uri.html
  2288. fast/filesystem/filesystem-uri-origin.html
  2289. http/tests/security/filesystem-iframe-from-remote.html
  2290. * fileapi/Entry.cpp:
  2291. (WebCore::Entry::toURI):
  2292. * fileapi/Entry.h:
  2293. * fileapi/Entry.idl:
  2294. - Added toURI method to the IDL, omitting the MIME type argument
  2295. specified in the spec as it will soon be removed.
  2296. * page/SecurityOrigin.cpp:
  2297. (WebCore::SecurityOrigin::SecurityOrigin):
  2298. - crack the filesystem: URI to get at the origin of the site
  2299. (WebCore::SecurityOrigin::canDisplay):
  2300. - canDisplay for filesystem: URIs is equivalent to canRequest
  2301. * platform/AsyncFileSystem.cpp:
  2302. (WebCore::AsyncFileSystem::create):
  2303. (WebCore::AsyncFileSystem::openFileSystem):
  2304. * platform/AsyncFileSystem.h:
  2305. (WebCore::AsyncFileSystem::type):
  2306. - Exposed filesystem type to allow toURI to use it as part of the
  2307. path.
  2308. (WebCore::AsyncFileSystem::AsyncFileSystem):
  2309. * platform/SchemeRegistry.cpp:
  2310. (WebCore::canDisplayOnlyIfCanRequestSchemes):
  2311. (WebCore::SchemeRegistry::canDisplayOnlyIfCanRequest):
  2312. (WebCore::SchemeRegistry::registerAsCanDisplayOnlyIfCanRequest):
  2313. - Generalized canDisplayOnlyIfCanRequest as it applies to both
  2314. filesystem: and blob: URIs.
  2315. * platform/SchemeRegistry.h:
  2316. 2011-02-11 Beth Dakin <bdakin@apple.com>
  2317. Reviewed by Darin Adler.
  2318. Fix for <rdar://problem/8961061> CrashTracer: [USER]
  2319. 1 crash at com.apple.WebCore:
  2320. -[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:] + 62
  2321. Must check for null _animator.
  2322. * platform/mac/ScrollAnimatorMac.mm:
  2323. (-[ScrollbarPainterControllerDelegate scrollAnimatorDestroyed]):
  2324. (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
  2325. (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
  2326. (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
  2327. (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
  2328. (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
  2329. (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
  2330. 2011-02-11 Chris Rogers <crogers@google.com>
  2331. Reviewed by Kenneth Russell.
  2332. Throw exception when AudioContext's createBuffer() fails to properly decode audio file data
  2333. https://bugs.webkit.org/show_bug.cgi?id=54158
  2334. No new tests since audio API is not yet implemented.
  2335. * bindings/js/JSAudioContextCustom.cpp:
  2336. (WebCore::JSAudioContextConstructor::constructJSAudioContext):
  2337. (WebCore::JSAudioContext::createBuffer):
  2338. * bindings/v8/custom/V8AudioContextCustom.cpp:
  2339. (WebCore::V8AudioContext::createBufferCallback):
  2340. * platform/audio/chromium/AudioBusChromium.cpp:
  2341. (WebCore::createBusFromInMemoryAudioFile):
  2342. * webaudio/AudioContext.idl:
  2343. 2011-02-11 Mike Reed <reed@google.com>
  2344. Reviewed by James Robinson.
  2345. Fix toDataURL() to use device->readPixels() if need be, rather than always dereferencing
  2346. the address returned by getPixels() (as the device may not be backed by a CPU bitmap)
  2347. https://bugs.webkit.org/show_bug.cgi?id=54224
  2348. No new tests. Existing canvas tests exercise this...
  2349. fast/canvas/script-tests/canvas-createPattern-fillRect-shadow.html
  2350. * platform/graphics/skia/ImageBufferSkia.cpp:
  2351. (WebCore::ImageBuffer::toDataURL):
  2352. 2011-02-11 Andrew Wason <rectalogic@rectalogic.com>
  2353. Reviewed by David Levin.
  2354. Files missing ENABLE_VIDEO #ifdef
  2355. https://bugs.webkit.org/show_bug.cgi?id=53390
  2356. No new tests.
  2357. * html/canvas/WebGLRenderingContext.cpp:
  2358. * html/canvas/WebGLRenderingContext.h:
  2359. * html/canvas/WebGLRenderingContext.idl:
  2360. Wrap methods and declarations that use HTMLVideoElement
  2361. with #if ENABLE(VIDEO).
  2362. 2011-02-11 Sheriff Bot <webkit.review.bot@gmail.com>
  2363. Unreviewed, rolling out r78331.
  2364. http://trac.webkit.org/changeset/78331
  2365. https://bugs.webkit.org/show_bug.cgi?id=54295
  2366. This patch broke 11 tests in GTK bots (Requested by svillar on
  2367. #webkit).
  2368. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
  2369. (webkit_accessible_get_name):
  2370. (webkit_accessible_detach):
  2371. 2011-02-11 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
  2372. Reviewed by Xan Lopez.
  2373. [GDOM] Video element needs proper wrapping
  2374. https://bugs.webkit.org/show_bug.cgi?id=54231
  2375. Use the same strategy as the one used for the audio tag to wrap
  2376. video as well. No layout tests because this only adds API.
  2377. * bindings/gobject/GNUmakefile.am:
  2378. * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
  2379. (WebKit::createVideoWrapper):
  2380. (WebKit::createHTMLElementWrapper):
  2381. 2011-02-11 Dirk Schulze <krit@webkit.org>
  2382. Reviewed by Andreas Kling.
  2383. SVGStyledElement::fillAttributeToPropertyTypeMap triggers a clang warning (-Woverloaded-virtual)
  2384. https://bugs.webkit.org/show_bug.cgi?id=54259
  2385. Renamed fillAttributeToPropertyTypeMap with passed map to fillPassedAttributeToPropertyTypeMap to
  2386. avoid overloading a virtual function.
  2387. No change of functionality. Just fixing a build warning, so no new tests.
  2388. * svg/SVGAElement.cpp:
  2389. (WebCore::SVGAElement::fillAttributeToPropertyTypeMap):
  2390. * svg/SVGAltGlyphElement.cpp:
  2391. (WebCore::SVGAltGlyphElement::fillAttributeToPropertyTypeMap):
  2392. * svg/SVGCircleElement.cpp:
  2393. (WebCore::SVGCircleElement::fillAttributeToPropertyTypeMap):
  2394. * svg/SVGClipPathElement.cpp:
  2395. (WebCore::SVGClipPathElement::fillAttributeToPropertyTypeMap):
  2396. * svg/SVGEllipseElement.cpp:
  2397. (WebCore::SVGEllipseElement::fillAttributeToPropertyTypeMap):
  2398. * svg/SVGFEBlendElement.cpp:
  2399. (WebCore::SVGFEBlendElement::fillAttributeToPropertyTypeMap):
  2400. * svg/SVGFEColorMatrixElement.cpp:
  2401. (WebCore::SVGFEColorMatrixElement::fillAttributeToPropertyTypeMap):
  2402. * svg/SVGFEComponentTransferElement.cpp:
  2403. (WebCore::SVGFEComponentTransferElement::fillAttributeToPropertyTypeMap):
  2404. * svg/SVGFECompositeElement.cpp:
  2405. (WebCore::SVGFECompositeElement::fillAttributeToPropertyTypeMap):
  2406. * svg/SVGFEConvolveMatrixElement.cpp:
  2407. (WebCore::SVGFEConvolveMatrixElement::fillAttributeToPropertyTypeMap):
  2408. * svg/SVGFEDiffuseLightingElement.cpp:
  2409. (WebCore::SVGFEDiffuseLightingElement::fillAttributeToPropertyTypeMap):
  2410. * svg/SVGFEDisplacementMapElement.cpp:
  2411. (WebCore::SVGFEDisplacementMapElement::fillAttributeToPropertyTypeMap):
  2412. * svg/SVGFEFloodElement.cpp:
  2413. (WebCore::SVGFEFloodElement::fillAttributeToPropertyTypeMap):
  2414. * svg/SVGFEGaussianBlurElement.cpp:
  2415. (WebCore::SVGFEGaussianBlurElement::fillAttributeToPropertyTypeMap):
  2416. * svg/SVGFEImageElement.cpp:
  2417. (WebCore::SVGFEImageElement::fillAttributeToPropertyTypeMap):
  2418. * svg/SVGFEMergeElement.cpp:
  2419. (WebCore::SVGFEMergeElement::fillAttributeToPropertyTypeMap):
  2420. * svg/SVGFEMorphologyElement.cpp:
  2421. (WebCore::SVGFEMorphologyElement::fillAttributeToPropertyTypeMap):
  2422. * svg/SVGFEOffsetElement.cpp:
  2423. (WebCore::SVGFEOffsetElement::fillAttributeToPropertyTypeMap):
  2424. * svg/SVGFESpecularLightingElement.cpp:
  2425. (WebCore::SVGFESpecularLightingElement::fillAttributeToPropertyTypeMap):
  2426. * svg/SVGFETileElement.cpp:
  2427. (WebCore::SVGFETileElement::fillAttributeToPropertyTypeMap):
  2428. * svg/SVGFETurbulenceElement.cpp:
  2429. (WebCore::SVGFETurbulenceElement::fillAttributeToPropertyTypeMap):
  2430. * svg/SVGFilterElement.cpp:
  2431. (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap):
  2432. * svg/SVGFilterPrimitiveStandardAttributes.cpp:
  2433. (WebCore::SVGFilterPrimitiveStandardAttributes::fillPassedAttributeToPropertyTypeMap):
  2434. * svg/SVGFilterPrimitiveStandardAttributes.h:
  2435. * svg/SVGFontElement.cpp:
  2436. (WebCore::SVGFontElement::fillAttributeToPropertyTypeMap):
  2437. * svg/SVGForeignObjectElement.cpp:
  2438. (WebCore::SVGForeignObjectElement::fillAttributeToPropertyTypeMap):
  2439. * svg/SVGGlyphElement.cpp:
  2440. (WebCore::SVGGlyphElement::fillAttributeToPropertyTypeMap):
  2441. * svg/SVGGradientElement.cpp:
  2442. (WebCore::SVGGradientElement::fillPassedAttributeToPropertyTypeMap):
  2443. * svg/SVGGradientElement.h:
  2444. * svg/SVGImageElement.cpp:
  2445. (WebCore::SVGImageElement::fillAttributeToPropertyTypeMap):
  2446. * svg/SVGLineElement.cpp:
  2447. (WebCore::SVGLineElement::fillAttributeToPropertyTypeMap):
  2448. * svg/SVGLinearGradientElement.cpp:
  2449. (WebCore::SVGLinearGradientElement::fillAttributeToPropertyTypeMap):
  2450. * svg/SVGMarkerElement.cpp:
  2451. (WebCore::SVGMarkerElement::fillAttributeToPropertyTypeMap):
  2452. * svg/SVGMaskElement.cpp:
  2453. (WebCore::SVGMaskElement::fillAttributeToPropertyTypeMap):
  2454. * svg/SVGMissingGlyphElement.cpp:
  2455. (WebCore::SVGMissingGlyphElement::fillAttributeToPropertyTypeMap):
  2456. * svg/SVGPathElement.cpp:
  2457. (WebCore::SVGPathElement::fillAttributeToPropertyTypeMap):
  2458. * svg/SVGPatternElement.cpp:
  2459. (WebCore::SVGPatternElement::fillAttributeToPropertyTypeMap):
  2460. * svg/SVGPolyElement.cpp:
  2461. (WebCore::SVGPolyElement::fillAttributeToPropertyTypeMap):
  2462. * svg/SVGRadialGradientElement.cpp:
  2463. (WebCore::SVGRadialGradientElement::fillAttributeToPropertyTypeMap):
  2464. * svg/SVGRectElement.cpp:
  2465. (WebCore::SVGRectElement::fillAttributeToPropertyTypeMap):
  2466. * svg/SVGStopElement.cpp:
  2467. (WebCore::SVGStopElement::fillAttributeToPropertyTypeMap):
  2468. * svg/SVGStyledElement.cpp:
  2469. (WebCore::SVGStyledElement::fillPassedAttributeToPropertyTypeMap):
  2470. * svg/SVGStyledElement.h:
  2471. * svg/SVGStyledTransformableElement.cpp:
  2472. (WebCore::SVGStyledTransformableElement::fillPassedAttributeToPropertyTypeMap):
  2473. * svg/SVGStyledTransformableElement.h:
  2474. * svg/SVGSwitchElement.cpp:
  2475. (WebCore::SVGSwitchElement::fillAttributeToPropertyTypeMap):
  2476. * svg/SVGSymbolElement.cpp:
  2477. (WebCore::SVGSymbolElement::fillAttributeToPropertyTypeMap):
  2478. * svg/SVGTRefElement.cpp:
  2479. (WebCore::SVGTRefElement::fillAttributeToPropertyTypeMap):
  2480. * svg/SVGTSpanElement.cpp:
  2481. (WebCore::SVGTSpanElement::fillAttributeToPropertyTypeMap):
  2482. * svg/SVGTextContentElement.cpp:
  2483. (WebCore::SVGTextContentElement::fillPassedAttributeToPropertyTypeMap):
  2484. * svg/SVGTextContentElement.h:
  2485. * svg/SVGTextElement.cpp:
  2486. (WebCore::SVGTextElement::fillAttributeToPropertyTypeMap):
  2487. * svg/SVGTextPathElement.cpp:
  2488. (WebCore::SVGTextPathElement::fillAttributeToPropertyTypeMap):
  2489. * svg/SVGTextPositioningElement.cpp:
  2490. (WebCore::SVGTextPositioningElement::fillPassedAttributeToPropertyTypeMap):
  2491. * svg/SVGTextPositioningElement.h:
  2492. * svg/SVGTitleElement.cpp:
  2493. (WebCore::SVGTitleElement::fillAttributeToPropertyTypeMap):
  2494. * svg/SVGUseElement.cpp:
  2495. (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap):
  2496. * svg/SVGViewElement.cpp:
  2497. (WebCore::SVGViewElement::fillAttributeToPropertyTypeMap):
  2498. 2011-02-11 Andrey Adaikin <aandrey@google.com>
  2499. Reviewed by Pavel Feldman.
  2500. Web Inspector: [REGRESSION] click on error message in console doesn't scroll into view
  2501. https://bugs.webkit.org/show_bug.cgi?id=54089
  2502. * inspector/front-end/Drawer.js:
  2503. (WebInspector.Drawer.prototype.show.animationFinished):
  2504. (WebInspector.Drawer.prototype.show):
  2505. (WebInspector.Drawer.prototype.hide):
  2506. (WebInspector.Drawer.prototype.resize):
  2507. (WebInspector.Drawer.prototype.immediatelyFinishAnimation):
  2508. (WebInspector.Drawer.prototype._cancelAnimationIfNeeded):
  2509. (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
  2510. (WebInspector.Drawer.prototype._animateDrawerHeight):
  2511. (WebInspector.Drawer.prototype._statusBarDragging):
  2512. * inspector/front-end/inspector.js:
  2513. (WebInspector.animateStyle):
  2514. (WebInspector.animateStyle.forceComplete):
  2515. (WebInspector.animateStyle.cancel):
  2516. (WebInspector.showSourceLine):
  2517. 2011-02-10 Nate Chapin <japhet@chromium.org>
  2518. Reviewed by Adam Barth.
  2519. Make DocumentWriter a member of DocumentLoader
  2520. instead of FrameLoader.
  2521. https://bugs.webkit.org/show_bug.cgi?id=50489
  2522. Refactor, no new tests.
  2523. * bindings/ScriptControllerBase.cpp:
  2524. (WebCore::ScriptController::executeIfJavaScriptURL):
  2525. * dom/Document.cpp:
  2526. (WebCore::Document::Document):
  2527. (WebCore::Document::explicitClose):
  2528. (WebCore::Document::lastModified):
  2529. (WebCore::Document::initSecurityContext):
  2530. (WebCore::Document::updateURLForPushOrReplaceState):
  2531. * dom/Document.h:
  2532. (WebCore::Document::setDocumentLoader):
  2533. (WebCore::Document::loader):
  2534. * html/MediaDocument.cpp:
  2535. (WebCore::MediaDocument::replaceMediaElementTimerFired):
  2536. * html/PluginDocument.cpp:
  2537. (WebCore::PluginDocumentParser::createDocumentStructure):
  2538. * loader/DocumentLoader.cpp:
  2539. (WebCore::DocumentLoader::DocumentLoader):
  2540. (WebCore::DocumentLoader::finishedLoading):
  2541. (WebCore::DocumentLoader::commitData):
  2542. (WebCore::DocumentLoader::setupForReplaceByMIMEType):
  2543. (WebCore::DocumentLoader::setFrame):
  2544. * loader/DocumentLoader.h:
  2545. (WebCore::DocumentLoader::writer):
  2546. * loader/DocumentWriter.cpp:
  2547. (WebCore::DocumentWriter::begin):
  2548. * loader/DocumentWriter.h:
  2549. (WebCore::DocumentWriter::setFrame):
  2550. * loader/FrameLoader.cpp:
  2551. (WebCore::FrameLoader::FrameLoader):
  2552. (WebCore::FrameLoader::init):
  2553. (WebCore::FrameLoader::clear):
  2554. (WebCore::FrameLoader::receivedFirstData):
  2555. (WebCore::FrameLoader::transitionToCommitted):
  2556. (WebCore::FrameLoader::open):
  2557. (WebCore::FrameLoader::finishedLoadingDocument):
  2558. (WebCore::FrameLoader::addExtraFieldsToRequest):
  2559. * loader/FrameLoader.h:
  2560. (WebCore::FrameLoader::notifier):
  2561. * svg/graphics/SVGImage.cpp:
  2562. (WebCore::SVGImage::dataChanged):
  2563. 2011-02-10 Pavel Feldman <pfeldman@chromium.org>
  2564. Reviewed by Yury Semikhatsky.
  2565. Web Inspector: make InspectorAgent own sub-agents, align agent creation/deletion routines.
  2566. https://bugs.webkit.org/show_bug.cgi?id=54227
  2567. * dom/Document.cpp:
  2568. (WebCore::Document::finishedParsing):
  2569. * inspector/InspectorAgent.cpp:
  2570. (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
  2571. (WebCore::InspectorAgent::setFrontend):
  2572. (WebCore::InspectorAgent::disconnectFrontend):
  2573. (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
  2574. (WebCore::InspectorAgent::didCommitLoad):
  2575. (WebCore::InspectorAgent::domContentLoadedEventFired):
  2576. (WebCore::InspectorAgent::loadEventFired):
  2577. (WebCore::InspectorAgent::startTimelineProfiler):
  2578. (WebCore::InspectorAgent::stopTimelineProfiler):
  2579. * inspector/InspectorAgent.h:
  2580. * inspector/InspectorCSSAgent.cpp:
  2581. * inspector/InspectorDOMAgent.cpp:
  2582. (WebCore::InspectorDOMAgent::InspectorDOMAgent):
  2583. (WebCore::InspectorDOMAgent::startListening):
  2584. (WebCore::InspectorDOMAgent::stopListening):
  2585. (WebCore::InspectorDOMAgent::mainDOMContentLoaded):
  2586. (WebCore::InspectorDOMAgent::loadEventFired):
  2587. * inspector/InspectorDOMAgent.h:
  2588. (WebCore::InspectorDOMAgent::create):
  2589. * inspector/InspectorDOMStorageAgent.cpp:
  2590. (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
  2591. * inspector/InspectorDOMStorageAgent.h:
  2592. (WebCore::InspectorDOMStorageAgent::create):
  2593. * inspector/InspectorDOMStorageResource.h:
  2594. * inspector/InspectorDatabaseAgent.cpp:
  2595. (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
  2596. (WebCore::InspectorDatabaseAgent::executeSQL):
  2597. (WebCore::InspectorDatabaseAgent::selectDatabase):
  2598. (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
  2599. * inspector/InspectorDatabaseAgent.h:
  2600. (WebCore::InspectorDatabaseAgent::FrontendProvider::create):
  2601. (WebCore::InspectorDatabaseAgent::FrontendProvider::~FrontendProvider):
  2602. (WebCore::InspectorDatabaseAgent::FrontendProvider::frontend):
  2603. (WebCore::InspectorDatabaseAgent::FrontendProvider::clearFrontend):
  2604. (WebCore::InspectorDatabaseAgent::FrontendProvider::FrontendProvider):
  2605. (WebCore::InspectorDatabaseAgent::create):
  2606. * inspector/InspectorDatabaseResource.cpp:
  2607. (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
  2608. (WebCore::InspectorDatabaseResource::bind):
  2609. * inspector/InspectorDatabaseResource.h:
  2610. * inspector/InspectorInstrumentation.cpp:
  2611. (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
  2612. (WebCore::InspectorInstrumentation::loadEventFiredImpl):
  2613. * inspector/InspectorInstrumentation.h:
  2614. (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
  2615. (WebCore::InspectorInstrumentation::loadEventFired):
  2616. * inspector/InspectorState.cpp:
  2617. (WebCore::InspectorState::InspectorState):
  2618. (WebCore::InspectorState::mute):
  2619. (WebCore::InspectorState::updateCookie):
  2620. * inspector/InspectorState.h:
  2621. (WebCore::InspectorState::~InspectorState):
  2622. * inspector/InspectorTimelineAgent.cpp:
  2623. (WebCore::InspectorTimelineAgent::restore):
  2624. (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
  2625. (WebCore::InspectorTimelineAgent::didCommitLoad):
  2626. (WebCore::InspectorTimelineAgent::setFrontend):
  2627. (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
  2628. * inspector/InspectorTimelineAgent.h:
  2629. (WebCore::InspectorTimelineAgent::create):
  2630. * page/DOMWindow.cpp:
  2631. (WebCore::DOMWindow::dispatchLoadEvent):
  2632. 2011-02-11 Pavel Feldman <pfeldman@chromium.org>
  2633. Reviewed by Yury Semikhatsky.
  2634. Web Inspector: command line API $0 regressed.
  2635. https://bugs.webkit.org/show_bug.cgi?id=54283
  2636. * inspector/InjectedScriptSource.js:
  2637. 2011-02-11 Janne Koskinen <janne.p.koskinen@digia.com>
  2638. Reviewed by Andreas Kling.
  2639. [Qt][S60] Vertical borders of buttons and frames are misaligned
  2640. https://bugs.webkit.org/show_bug.cgi?id=51169
  2641. Force anti-aliasing for lines and rects when using OpenVG backend on Symbian.
  2642. OpenVG cannot guarantee rendering to be on pixel in floating point co-ordinates
  2643. without anti-aliasing. Patch idea by Laszlo Agocs.
  2644. * platform/graphics/qt/GraphicsContextQt.cpp:
  2645. (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
  2646. 2011-02-11 Mario Sanchez Prada <msanchez@igalia.com>
  2647. Reviewed by Xan Lopez.
  2648. [GTK] events missing when a document is (re)loaded
  2649. https://bugs.webkit.org/show_bug.cgi?id=25831
  2650. Make sure webArea returns a proper name and that a signal
  2651. 'state-change::defunct' is emitted when detaching the wrapper.
  2652. Test: platform/gtk/accessibility/document-reload-events.html
  2653. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
  2654. (webkit_accessible_get_name): Returns the current document's title
  2655. as fallback mechanism for webArea objects.
  2656. (webkit_accessible_detach): Emit 'state-change::defunct' function
  2657. as soon as the wrapper is detached from the related core object.
  2658. 2011-02-11 Pavel Feldman <pfeldman@chromium.org>
  2659. Reviewed by Yury Semikhatsky.
  2660. Web Inspector: command line's API inspect() is broken.
  2661. https://bugs.webkit.org/show_bug.cgi?id=54275
  2662. Test: inspector/command-line-api.html
  2663. * inspector/InjectedScriptSource.js:
  2664. 2011-02-11 Adam Barth <abarth@webkit.org>
  2665. Turns out window.crypto is supposed to be readonly.
  2666. * page/DOMWindow.idl:
  2667. 2011-02-11 Adam Barth <abarth@webkit.org>
  2668. Actually add Crypto.cpp to the Windows build. I'm terrible.
  2669. * WebCore.vcproj/WebCore.vcproj:
  2670. 2011-02-11 Adam Barth <abarth@webkit.org>
  2671. Attempt to fix the Windows build. Apparently we don't support
  2672. conditional attributes on functions. This patch makes the whole Crypto
  2673. interface conditional on ArrayBuffer support.
  2674. * page/DOMWindow.idl:
  2675. * page/Crypto.cpp:
  2676. * page/Crypto.h:
  2677. * page/Crypto.idl:
  2678. 2011-02-10 Antti Koivisto <antti@apple.com>
  2679. Reviewed by Dave Hyatt.
  2680. Enable ancestor identifier filtering for tree building
  2681. https://bugs.webkit.org/show_bug.cgi?id=54241
  2682. Call CSSStyleSelector::push/popParent() during tree building too, fix up the parent
  2683. element stack as needed.
  2684. This roughly halves the remaining time in style matching over a typical page load.
  2685. * css/CSSStyleSelector.cpp:
  2686. (WebCore::CSSStyleSelector::pushParentStackFrame):
  2687. (WebCore::CSSStyleSelector::popParentStackFrame):
  2688. (WebCore::CSSStyleSelector::pushParent):
  2689. (WebCore::CSSStyleSelector::popParent):
  2690. * css/CSSStyleSelector.h:
  2691. (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame):
  2692. * dom/Document.h:
  2693. (WebCore::Document::styleSelectorIfExists):
  2694. * dom/Element.cpp:
  2695. (WebCore::Element::beginParsingChildren):
  2696. (WebCore::Element::finishParsingChildren):
  2697. * dom/Element.h:
  2698. 2011-02-10 Adam Barth <abarth@webkit.org>
  2699. Reviewed by Eric Seidel.
  2700. WebKit should have a cryptographic RNG
  2701. https://bugs.webkit.org/show_bug.cgi?id=22049
  2702. Add crypto.getRandomValues. Yes, all these diffs are required to
  2703. expose a single function to the DOM.
  2704. Test: security/crypto-random-values.html
  2705. * Android.mk:
  2706. * CMakeLists.txt:
  2707. * DerivedSources.cpp:
  2708. * DerivedSources.make:
  2709. * ForwardingHeaders/wtf/CryptographicallyRandomNumber.h: Added.
  2710. * GNUmakefile.am:
  2711. * WebCore.gypi:
  2712. * WebCore.pri:
  2713. * WebCore.pro:
  2714. * WebCore.vcproj/WebCore.vcproj:
  2715. * WebCore.xcodeproj/project.pbxproj:
  2716. * bindings/js/JSDOMWindowCustom.cpp:
  2717. * bindings/v8/custom/V8DOMWindowCustom.cpp:
  2718. * config.h:
  2719. * page/Crypto.cpp: Added.
  2720. (WebCore::Crypto::Crypto):
  2721. (WebCore::Crypto::getRandomValues):
  2722. * page/Crypto.h: Added.
  2723. (WebCore::Crypto::create):
  2724. * page/Crypto.idl: Added.
  2725. * page/DOMWindow.cpp:
  2726. (WebCore::DOMWindow::clear):
  2727. (WebCore::DOMWindow::crypto):
  2728. * page/DOMWindow.h:
  2729. (WebCore::DOMWindow::optionalCrypto):
  2730. * page/DOMWindow.idl:
  2731. 2011-02-11 Ryuan Choi <ryuan.choi@samsung.com>
  2732. Unreviewed build fix.
  2733. [GTK] Build break with 2.18.3
  2734. https://bugs.webkit.org/show_bug.cgi?id=54057
  2735. * platform/gtk/ScrollbarThemeGtk2.cpp: Include GtkVersioning.h
  2736. 2011-02-11 Cosmin Truta <ctruta@chromium.org>
  2737. Reviewed by Adam Barth.
  2738. Templatize KURLGooglePrivate::init
  2739. https://bugs.webkit.org/show_bug.cgi?id=53749
  2740. No new tests. Refactoring.
  2741. * platform/KURLGoogle.cpp:
  2742. (WebCore::KURLGooglePrivate::init):
  2743. * platform/KURLGooglePrivate.h:
  2744. 2011-02-10 Andy Estes <aestes@apple.com>
  2745. Reviewed by Eric Seidel.
  2746. Convert ContainerNode::firstElementChild() to a free function.
  2747. https://bugs.webkit.org/show_bug.cgi?id=54269
  2748. No new tests. No change in behavior.
  2749. It seemed incorrect to have a method on ContainerNode that had the
  2750. concept of an Element but couldn't return an Element*, but a method on
  2751. Element could not be called by holders of ContainerNodes or other
  2752. non-Element ContainerNode subclasses. A free function can both return
  2753. an Element* and be called by anyone with a ContainerNode*.
  2754. * dom/ContainerNode.h:
  2755. (WebCore::ContainerNode::lastChild):
  2756. (WebCore::Node::lastChild):
  2757. * dom/Document.cpp:
  2758. (WebCore::Document::cacheDocumentElement):
  2759. * dom/Element.cpp:
  2760. (WebCore::Element::firstElementChild):
  2761. * dom/Element.h:
  2762. (WebCore::firstElementChild):
  2763. * html/parser/HTMLTreeBuilder.cpp:
  2764. (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
  2765. 2011-02-10 Mads Ager <ager@chromium.org>
  2766. Reviewed by Nate Chapin.
  2767. [V8] Don't crash on exception getting event handler function
  2768. https://bugs.webkit.org/show_bug.cgi?id=54216
  2769. Check for exceptions when attempting to get the handleEvent property
  2770. of an event-handler object.
  2771. Test: fast/dom/exception-getting-event-handler.html
  2772. * bindings/v8/V8EventListener.cpp:
  2773. (WebCore::V8EventListener::getListenerFunction):
  2774. 2011-02-10 Naoki Takano <takano.naoki@gmail.com>
  2775. Reviewed by James Robinson.
  2776. [Chromium] Layout Test canvas/philip/tests/2d.composite.globalAlpha.fill.html with --accelerated-2d-canvas.
  2777. https://bugs.webkit.org/show_bug.cgi?id=53857
  2778. globalAlpha is not applied to fillPath() and fillRect().
  2779. Test: fast/canvas/2d.composite.globalAlpha.fillPath.html and canvas/philip/tests/2d.composite.globalAlpha.fill.html with --accelerated-2d-canvas.
  2780. * platform/graphics/chromium/GLES2Canvas.cpp:
  2781. (WebCore::GLES2Canvas::State::applyAlpha): Append a new function to apply global alpha when fillRect() and fillPath() are called.
  2782. (WebCore::GLES2Canvas::fillRect): Global alpha is applied to m_fillColor.
  2783. (WebCore::GLES2Canvas::fillPath): Global alpha is applied to m_fillColor.
  2784. 2011-02-10 Andy Estes <aestes@apple.com>
  2785. Reviewed by Adam Barth.
  2786. Remove an unneeded argument from HTMLDocument::create().
  2787. https://bugs.webkit.org/show_bug.cgi?id=54268
  2788. Now that HTMLTreeBuilder no longer uses a dummy HTMLDocument for
  2789. fragment parsing, there isn't a need to explicitly specify a baseURL
  2790. when constructing an HTMLDocument. We can remove the unneeded argument.
  2791. Also fix some style issues in Document.h and HTMLDocument.h caught by
  2792. check-webkit-style.
  2793. No new tests. No change in behavior.
  2794. * dom/Document.cpp:
  2795. (WebCore::Document::Document):
  2796. * dom/Document.h:
  2797. * html/HTMLDocument.cpp:
  2798. (WebCore::HTMLDocument::HTMLDocument):
  2799. * html/HTMLDocument.h:
  2800. (WebCore::HTMLDocument::create):
  2801. 2011-02-10 Michael Saboff <msaboff@apple.com>
  2802. Reviewed by Geoffrey Garen.
  2803. Cached JavaScript Parser Data Being Left in Memory Cache
  2804. https://bugs.webkit.org/show_bug.cgi?id=54245
  2805. Added logic in CachedScript to clear SourceProviderCache data in
  2806. destroyDecodedData(). Added and changed CachedScript timeout to
  2807. act similar to CachedImage. Changed didAddClient to call super
  2808. class method instead of duplicating the logic in the derived
  2809. classes.
  2810. * loader/cache/CachedImage.cpp:
  2811. (WebCore::CachedImage::didAddClient):
  2812. * loader/cache/CachedScript.cpp:
  2813. (WebCore::CachedScript::didAddClient):
  2814. (WebCore::CachedScript::allClientsRemoved):
  2815. (WebCore::CachedScript::script):
  2816. (WebCore::CachedScript::destroyDecodedData):
  2817. * loader/cache/CachedScript.h:
  2818. 2011-02-10 Cosmin Truta <ctruta@chromium.org>
  2819. Reviewed by David Levin.
  2820. Fix style in KURLGooglePrivate
  2821. https://bugs.webkit.org/show_bug.cgi?id=54228
  2822. Replace occurrences of NULL with 0, '\0' or null (as applicable),
  2823. to appease check-webkit-style.
  2824. No new tests. This is a style fix.
  2825. * platform/KURLGoogle.cpp:
  2826. * platform/KURLGooglePrivate.h:
  2827. 2011-02-10 Andy Estes <aestes@apple.com>
  2828. Reviewed by Darin Adler.
  2829. HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40%
  2830. https://bugs.webkit.org/show_bug.cgi?id=48719
  2831. The HTML5 fragment parsing algorithm specifies that a new Document
  2832. should be created to serve as the temporary parent of fragment nodes
  2833. during parsing. Document creation is expensive and accounts for ~38% of
  2834. the Peacekeeper DOM performance regression. Avoid the cost of creating
  2835. a dummy document by using the already-created DocumentFragment as the
  2836. root node during fragment parsing.
  2837. With this patch, the regression in Peacekeeper from Safari 5.0.3 to ToT
  2838. is ~24%.
  2839. Test: fast/parser/fragment-parser-doctype.html
  2840. * dom/ContainerNode.h:
  2841. (WebCore::ContainerNode::firstElementChild): Add a method that returns
  2842. the first element-typed child from a ContainerNode.
  2843. * dom/Document.cpp:
  2844. (WebCore::Document::cacheDocumentElement): Call
  2845. ContainerNode::firstElementChild() to retrieve and cache the document
  2846. element.
  2847. * html/parser/HTMLConstructionSite.cpp:
  2848. (WebCore::HTMLConstructionSite::HTMLConstructionSite): Initialize the
  2849. root ContainerNode.
  2850. (WebCore::HTMLConstructionSite::detach): Clear the reference to the
  2851. root ContainerNode.
  2852. (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
  2853. Attach the new element to the root ContainerNode.
  2854. (WebCore::HTMLConstructionSite::insertDoctype): Ditto.
  2855. (WebCore::HTMLConstructionSite::insertCommentOnDocument): Ditto.
  2856. * html/parser/HTMLConstructionSite.h: Store a pointer to a
  2857. ContainerNode that will be used as the root node for document parsing.
  2858. This node might or might not be the same as m_document.
  2859. * html/parser/HTMLTreeBuilder.cpp:
  2860. (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Initialize the
  2861. HTMLConstructionSite with the correct root ContainerNode based on
  2862. whether or not we're parsing a fragment.
  2863. (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
  2864. Remove m_dummyDocumentForFragmentParsing.
  2865. (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished): If the
  2866. fragment has a context element, store only the children of the root
  2867. element (HTML5 Section 10.4, Step 7).
  2868. * html/parser/HTMLTreeBuilder.h:
  2869. 2011-02-10 Beth Dakin <bdakin@apple.com>
  2870. Reviewed by Oliver Hunt.
  2871. Speculative fix for <rdar://problem/8971107> CrashTracer: 6 crashes
  2872. in WebProcess at com.apple.AppKit:
  2873. -[NSAnimation(NSInternal) _advanceTimeWithTimer:] + 154
  2874. * platform/mac/ScrollAnimatorMac.mm:
  2875. (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
  2876. 2011-02-09 Jeremy Orlow <jorlow@chromium.org>
  2877. Reviewed by Nate Chapin.
  2878. IndexedDB event targets need to ensure their wrappers aren't garbage collected
  2879. https://bugs.webkit.org/show_bug.cgi?id=54144
  2880. hasActivityPending should return true as long as it's possible that we'll
  2881. fire more event listeners on our event targets. It is still possible for
  2882. user generated events to run into problems, but I'm not sure how to address
  2883. that yet (or how big of a deal it is).
  2884. There's really no way to test this deterministically. Testing by hand makes
  2885. it seem like this patch works as expected though.
  2886. * storage/IDBCursorBackendImpl.cpp:
  2887. * storage/IDBDatabase.cpp:
  2888. (WebCore::IDBDatabase::IDBDatabase):
  2889. (WebCore::IDBDatabase::~IDBDatabase):
  2890. (WebCore::IDBDatabase::hasPendingActivity):
  2891. (WebCore::IDBDatabase::stop):
  2892. * storage/IDBDatabase.h:
  2893. * storage/IDBRequest.cpp:
  2894. (WebCore::IDBRequest::IDBRequest):
  2895. (WebCore::IDBRequest::hasPendingActivity):
  2896. (WebCore::IDBRequest::dispatchEvent):
  2897. (WebCore::IDBRequest::enqueueEvent):
  2898. * storage/IDBRequest.h:
  2899. * storage/IDBTransaction.cpp:
  2900. (WebCore::IDBTransaction::finished):
  2901. (WebCore::IDBTransaction::hasPendingActivity):
  2902. (WebCore::IDBTransaction::dispatchEvent):
  2903. (WebCore::IDBTransaction::canSuspend):
  2904. (WebCore::IDBTransaction::contextDestroyed):
  2905. (WebCore::IDBTransaction::enqueueEvent):
  2906. * storage/IDBTransaction.h:
  2907. 2011-02-10 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
  2908. Reviewed by Andreas Kling.
  2909. [Qt] create pkg-config files for mingw
  2910. https://bugs.webkit.org/show_bug.cgi?id=54238
  2911. (mingw is mostly the same as unix)
  2912. This change was applied in the Qt repository (qt/src/3rdparty/webkit),
  2913. so we should do the same here in QtWebKit.
  2914. Patch by Mark Brand <mabrand@mabrand.nl>, reviewed (there) by
  2915. Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
  2916. 45fe2dddc3a0677b9ec9fce09f07cd4129e37afa
  2917. * WebCore.pro:
  2918. 2011-02-10 Andreas Kling <kling@webkit.org>
  2919. Reviewed by Antti Koivisto.
  2920. RenderStyle: Remove duplicate comparison of InheritedFlags::_text_transform
  2921. https://bugs.webkit.org/show_bug.cgi?id=54246
  2922. * rendering/style/RenderStyle.h:
  2923. 2011-02-10 Dirk Schulze <krit@webkit.org>
  2924. Reviewed by Andreas Kling.
  2925. SVG animation avoid unnecessary adjust for currentColor
  2926. https://bugs.webkit.org/show_bug.cgi?id=54243
  2927. At the moment we try to adjust every animation value for currentColor - independent of the animation type.
  2928. Since the value is a string and the target element may needs to get called by getElementById, this could
  2929. be an expensive and unnecessary operation. Also after we adjust for currentColor, we save the result back
  2930. as a string and parse it to Color afterwards again.
  2931. With the patch we just adjust an animation value, if we use color animation. The color won't get saved and
  2932. parsed as a string again.
  2933. No change of functionality, no new tests.
  2934. * svg/SVGAnimateElement.cpp:
  2935. (WebCore::adjustForCurrentColor):
  2936. (WebCore::SVGAnimateElement::calculateFromAndToValues):
  2937. (WebCore::SVGAnimateElement::calculateFromAndByValues):
  2938. * svg/SVGAnimationElement.cpp:
  2939. (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
  2940. (WebCore::SVGAnimationElement::startedActiveInterval):
  2941. 2011-02-10 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
  2942. Reviewed by Andreas Kling.
  2943. [Qt] Remove the use of deprecated qFindChildren()
  2944. https://bugs.webkit.org/show_bug.cgi?id=54232
  2945. This was applied on the Qt repository and affects QtWebKit there.
  2946. (13833beb641289c45faed337848d37280195aadc)
  2947. The side effect of this change is that we won't be able to build
  2948. QtWebKit with MSVC 6, as it doesn't support member template functions
  2949. (not sure if that's possible today anyway).
  2950. Original patch from Olivier Goffart <olivier.goffart@nokia.com>, with
  2951. review reported as being from the mailing list.
  2952. The changes are result of the following commands:
  2953. git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(this,* */f\\1(/'" qFindChild
  2954. git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(&\([^\(),]*\),* */\\2.f\\1(/'" qFindChild
  2955. git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(\([^\(),]*()\),* */\\2->f\\1(/'" qFindChild
  2956. git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(\([^\(),]*\):\([^\(),]*\),* */(\\2:\\3)->f\\1(/'" qFindChild
  2957. git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(\([^\(),]*\),* */\\2->f\\1(/'" qFindChild
  2958. * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
  2959. (WebCore::MediaPlayerPrivatePhonon::MediaPlayerPrivatePhonon):
  2960. 2011-02-10 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
  2961. Reviewed by Andreas Kling.
  2962. [Qt] Rename build target from "embedded" to "qpa"
  2963. https://bugs.webkit.org/show_bug.cgi?id=54233
  2964. This flag is used by Qt's configure script to enable a QPA build
  2965. ("QPA is a window system agnostic implementation of Qt" --
  2966. previously known as lighthouse).
  2967. On the Qt repository, this was changed by two commits:
  2968. 13a0b4935900093607f2b3b7688e1452d22770fd
  2969. (from embedded to embedded_lite)
  2970. 9716e12e0f5590ebc23ad9fb7ba75c6a3c5aadab
  2971. (from embedded_lite to qpa)
  2972. * WebCore.pro:
  2973. 2011-02-10 Kenneth Russell <kbr@google.com>
  2974. Reviewed by James Robinson.
  2975. Incorporate algorithm for processing paths into GPU-renderable triangle meshes
  2976. https://bugs.webkit.org/show_bug.cgi?id=45521
  2977. Adding an implementation of Loop and Blinn's GPU accelerated path
  2978. rendering algorithm from GPU Gems 3. This implementation pays
  2979. particular attention to the efficiency of the curve subdivision
  2980. phase needed for correct rendering. It utilizes the OpenGL utility
  2981. library tessellator for triangulation of the interior of the
  2982. shape. The regions handled by Loop and Blinn's algorithm are
  2983. handled by the local triangulator previously incorporated.
  2984. No tests yet; pixel tests will eventually be used to verify this
  2985. algorithm and prevent regressions.
  2986. * platform/graphics/gpu/LoopBlinnPathProcessor.cpp: Added.
  2987. (WebCore::LoopBlinnPathProcessorImplementation::Segment::Segment):
  2988. (WebCore::LoopBlinnPathProcessorImplementation::Segment::setup):
  2989. (WebCore::LoopBlinnPathProcessorImplementation::Segment::kind):
  2990. (WebCore::LoopBlinnPathProcessorImplementation::Segment::getPoint):
  2991. (WebCore::LoopBlinnPathProcessorImplementation::Segment::next):
  2992. (WebCore::LoopBlinnPathProcessorImplementation::Segment::prev):
  2993. (WebCore::LoopBlinnPathProcessorImplementation::Segment::setNext):
  2994. (WebCore::LoopBlinnPathProcessorImplementation::Segment::setPrev):
  2995. (WebCore::LoopBlinnPathProcessorImplementation::Segment::contour):
  2996. (WebCore::LoopBlinnPathProcessorImplementation::Segment::subdivide):
  2997. (WebCore::LoopBlinnPathProcessorImplementation::Segment::boundingBox):
  2998. (WebCore::LoopBlinnPathProcessorImplementation::Segment::numCrossingsForXRay):
  2999. (WebCore::LoopBlinnPathProcessorImplementation::Segment::numberOfTriangles):
  3000. (WebCore::LoopBlinnPathProcessorImplementation::Segment::getTriangle):
  3001. (WebCore::LoopBlinnPathProcessorImplementation::Segment::numberOfInteriorVertices):
  3002. (WebCore::LoopBlinnPathProcessorImplementation::Segment::getInteriorVertex):
  3003. (WebCore::LoopBlinnPathProcessorImplementation::Segment::markedForSubdivision):
  3004. (WebCore::LoopBlinnPathProcessorImplementation::Segment::setMarkedForSubdivision):
  3005. (WebCore::LoopBlinnPathProcessorImplementation::Segment::toString):
  3006. (WebCore::LoopBlinnPathProcessorImplementation::Segment::computeBoundingBox):
  3007. (WebCore::LoopBlinnPathProcessorImplementation::Contour::Contour):
  3008. (WebCore::LoopBlinnPathProcessorImplementation::Contour::add):
  3009. (WebCore::LoopBlinnPathProcessorImplementation::Contour::subdivide):
  3010. (WebCore::LoopBlinnPathProcessorImplementation::Contour::begin):
  3011. (WebCore::LoopBlinnPathProcessorImplementation::Contour::end):
  3012. (WebCore::LoopBlinnPathProcessorImplementation::Contour::isOrientedCounterClockwise):
  3013. (WebCore::LoopBlinnPathProcessorImplementation::Contour::setIsOrientedCounterClockwise):
  3014. (WebCore::LoopBlinnPathProcessorImplementation::Contour::boundingBox):
  3015. (WebCore::LoopBlinnPathProcessorImplementation::Contour::fillSide):
  3016. (WebCore::LoopBlinnPathProcessorImplementation::Contour::setFillSide):
  3017. (WebCore::LoopBlinnPathProcessorImplementation::Segment::triangulate):
  3018. (WebCore::LoopBlinnPathProcessor::LoopBlinnPathProcessor):
  3019. (WebCore::LoopBlinnPathProcessor::~LoopBlinnPathProcessor):
  3020. (WebCore::LoopBlinnPathProcessor::process):
  3021. (WebCore::LoopBlinnPathProcessor::buildContours):
  3022. (WebCore::LoopBlinnPathProcessor::allSegmentsOverlappingY):
  3023. (WebCore::LoopBlinnPathProcessor::determineSidesToFill):
  3024. (WebCore::LoopBlinnPathProcessor::determineOrientation):
  3025. (WebCore::SweepData::SweepEvent::SweepEvent):
  3026. (WebCore::SweepData::SweepEvent::setup):
  3027. (WebCore::SweepData::SweepEvent::x):
  3028. (WebCore::SweepData::SweepEvent::entry):
  3029. (WebCore::SweepData::SweepEvent::interval):
  3030. (WebCore::SweepData::SweepEvent::operator<):
  3031. (WebCore::SweepData::trianglesOverlap):
  3032. (WebCore::LoopBlinnPathProcessor::subdivideCurves):
  3033. (WebCore::LoopBlinnPathProcessor::conditionallySubdivide):
  3034. (WebCore::LoopBlinnPathProcessor::subdivideCurvesSlow):
  3035. (WebCore::TessellationState::vertexCallback):
  3036. (WebCore::TessellationState::combineCallback):
  3037. (WebCore::TessellationState::edgeFlagCallback):
  3038. (WebCore::LoopBlinnPathProcessor::tessellateInterior):
  3039. * platform/graphics/gpu/LoopBlinnPathProcessor.h: Added.
  3040. 2011-02-10 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
  3041. Reviewed by Andreas Kling.
  3042. [Qt] Remove the use of deprecated qVariant*
  3043. https://bugs.webkit.org/show_bug.cgi?id=54229
  3044. This was applied on the Qt repository and affects QtWebKit there.
  3045. (633f3f45e5420663cf4ceadea79e62fea44cd2eb)
  3046. The side effect of this change is that we won't be able to build
  3047. QtWebKit with MSVC 6, as it doesn't support member template functions
  3048. (not sure if it's possible today anyway).
  3049. Original patch from Olivier Goffart <olivier.goffart@nokia.com>, with
  3050. review reported as being from the mailing list.
  3051. The changes are result of the following commands:
  3052. git grep -O"sed -i 's/qVariantValue</qvariant_cast</'" qVariantValue
  3053. git grep -O"sed -i 's/qVariantSetValue(\([^&*\(),]*\), */\\1.setValue(/'" qVariantSetValue
  3054. git grep -O"sed -i 's/qVariantSetValue *<\([^>]*\)> *(\([^&*\(),]*\), */\\2.setValue<\\1>(/'" qVariantSetValue
  3055. git grep -O"sed -i 's/qVariantCanConvert *<\([^>]*\)> *(\([^&*\(),]*\))/\\2.canConvert<\\1>()/g'" qVariantCanConvert
  3056. git grep -O"sed -i 's/qVariantCanConvert *<\([^>]*\)> *(\([^&*\(),]*([^&*\(),]*)\))/\\2.canConvert<\\1>()/g'" qVariantCanConvert
  3057. git grep -O"sed -i 's/qVariantFromValue\( *[(<]\)/QVariant::fromValue\\1/'" qVariantFromValue
  3058. * bridge/qt/qt_runtime.cpp:
  3059. (JSC::Bindings::convertValueToQVariant):
  3060. * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
  3061. (WebCore::MediaPlayerPrivateQt::commitLoad):
  3062. 2011-02-10 Nico Weber <thakis@chromium.org>
  3063. Reviewed by Darin Adler.
  3064. Fix clang warning "WebCore::HTMLAreaElement::getRect' hides overloaded virtual function [-Woverloaded-virtual]"
  3065. https://bugs.webkit.org/show_bug.cgi?id=54221
  3066. The method name conflicts with ContainerNode::getRect() so rename it to
  3067. computeRect(). Rename getPath() to computePath() for consistency as
  3068. well.
  3069. No intended functionality change, covered by existing tests.
  3070. * accessibility/AccessibilityImageMapLink.cpp:
  3071. (WebCore::AccessibilityImageMapLink::elementRect):
  3072. * html/HTMLAreaElement.cpp:
  3073. (WebCore::HTMLAreaElement::computePath):
  3074. (WebCore::HTMLAreaElement::computeRect):
  3075. * html/HTMLAreaElement.h:
  3076. * page/SpatialNavigation.cpp:
  3077. (WebCore::virtualRectForAreaElementAndDirection):
  3078. * rendering/RenderImage.cpp:
  3079. (WebCore::RenderImage::paintFocusRing):
  3080. 2011-02-10 Alexis Menard <alexis.menard@nokia.com>
  3081. Reviewed by Andreas Kling.
  3082. [Qt] Default focus ring is too wide
  3083. https://bugs.webkit.org/show_bug.cgi?id=51854
  3084. We now respect the outline property and html.css defines the outline of the focus
  3085. ring to be 5px. This is propagated until GraphicsContext::drawFocusRing which uses
  3086. it as the pen size. We should ignore the size and keep a default one. I also
  3087. reverted the SolidLine to DotLine so that the selection looks nicer. Chromium Skia,
  3088. CG Win, Haiku, WinCE ports also ignore the width.
  3089. * platform/graphics/qt/GraphicsContextQt.cpp:
  3090. (WebCore::drawFocusRingForPath):
  3091. (WebCore::GraphicsContext::drawFocusRing):
  3092. 2011-02-10 Martin Robinson <mrobinson@igalia.com>
  3093. Reviewed by Gustavo Noronha Silva.
  3094. [Soup] ResourceHandleSoup does not ever call didSendData for file uploads
  3095. https://bugs.webkit.org/show_bug.cgi?id=52090
  3096. Call didSendData as body data is uploaded to the server. This is necessary
  3097. for XHR upload events to function properly.
  3098. * platform/network/ResourceHandleInternal.h:
  3099. (WebCore::ResourceHandleInternal::ResourceHandleInternal): Add two new members.
  3100. One to track the total amount of body data and one to track the total amount of
  3101. body data sent so far.
  3102. * platform/network/soup/ResourceHandleSoup.cpp:
  3103. (WebCore::wroteBodyDataCallback): Added.
  3104. (WebCore::addFormElementsToSoupMessage): Split this out into a helper function.
  3105. Will now now sum the total amount of body data.
  3106. (WebCore::startHttp): Attach a wrote-body-data signal handler.
  3107. 2011-02-10 Bill Budge <bbudge@chromium.org>
  3108. Reviewed by David Levin.
  3109. Add fields to ResourceRequest and ResourceResponse in preparation for adding CORS support to AssociatedURLLoader.
  3110. https://bugs.webkit.org/show_bug.cgi?id=53925
  3111. * platform/network/chromium/ResourceRequest.cpp:
  3112. (WebCore::ResourceRequest::doPlatformCopyData):
  3113. (WebCore::ResourceRequest::doPlatformAdopt):
  3114. * platform/network/chromium/ResourceRequest.h:
  3115. (WebCore::ResourceRequest::ResourceRequest):
  3116. (WebCore::ResourceRequest::downloadToFile):
  3117. (WebCore::ResourceRequest::setDownloadToFile):
  3118. * platform/network/chromium/ResourceResponse.cpp:
  3119. (WebCore::ResourceResponse::doPlatformCopyData):
  3120. (WebCore::ResourceResponse::doPlatformAdopt):
  3121. * platform/network/chromium/ResourceResponse.h:
  3122. (WebCore::ResourceResponse::downloadFilePath):
  3123. (WebCore::ResourceResponse::setDownloadFilePath):
  3124. 2011-02-10 Dirk Schulze <krit@webkit.org>
  3125. Reviewed by Nikolas Zimmermann.
  3126. SVGAnimateElement needs information about the animated attribute type
  3127. https://bugs.webkit.org/show_bug.cgi?id=53442
  3128. For animations, we need to know the SVG property type for a XML attribute. A global static mapping between
  3129. attribute name and a type is not possible, since one attribute name can be bound to different property types:
  3130. x can be a SVGNumberList, a SVGNumber or a SVGLength. So we have to ask every target element, if it supports
  3131. the animated attribute and of which type it is. Just for CSS properties we can share an explicit mapping between
  3132. the name and the type. This is done in a static map in SVGStyledElement. All other mappings are stored in local static
  3133. HashMaps for all SVG elements with animated properties. These maps get filled once with the fillAttributeToPropertyTypeMap function
  3134. that needs to be included in every SVG element. The function is not virtual in base classes for performance reasons.
  3135. No change of functionality, so no new test cases.
  3136. * svg/SVGAElement.cpp:
  3137. (WebCore::SVGAElement::attributeToPropertyTypeMap):
  3138. (WebCore::SVGAElement::fillAttributeToPropertyTypeMap):
  3139. * svg/SVGAElement.h:
  3140. * svg/SVGAltGlyphElement.cpp:
  3141. (WebCore::SVGAltGlyphElement::attributeToPropertyTypeMap):
  3142. (WebCore::SVGAltGlyphElement::fillAttributeToPropertyTypeMap):
  3143. * svg/SVGAltGlyphElement.h:
  3144. * svg/SVGAnimateElement.cpp:
  3145. (WebCore::SVGAnimateElement::determinePropertyType):
  3146. * svg/SVGCircleElement.cpp:
  3147. (WebCore::SVGCircleElement::attributeToPropertyTypeMap):
  3148. (WebCore::SVGCircleElement::fillAttributeToPropertyTypeMap):
  3149. * svg/SVGCircleElement.h:
  3150. * svg/SVGClipPathElement.cpp:
  3151. (WebCore::SVGClipPathElement::attributeToPropertyTypeMap):
  3152. (WebCore::SVGClipPathElement::fillAttributeToPropertyTypeMap):
  3153. * svg/SVGClipPathElement.h:
  3154. * svg/SVGComponentTransferFunctionElement.cpp:
  3155. (WebCore::SVGComponentTransferFunctionElement::attributeToPropertyTypeMap):
  3156. (WebCore::SVGComponentTransferFunctionElement::fillAttributeToPropertyTypeMap):
  3157. * svg/SVGComponentTransferFunctionElement.h:
  3158. * svg/SVGCursorElement.cpp:
  3159. (WebCore::SVGCursorElement::attributeToPropertyTypeMap):
  3160. (WebCore::SVGCursorElement::fillAttributeToPropertyTypeMap):
  3161. * svg/SVGCursorElement.h:
  3162. * svg/SVGElement.cpp:
  3163. (WebCore::SVGElement::attributeToPropertyTypeMap):
  3164. (WebCore::SVGElement::animatedPropertyTypeForAttribute):
  3165. * svg/SVGElement.h:
  3166. (WebCore::SVGElement::fillAttributeToPropertyTypeMap):
  3167. * svg/SVGEllipseElement.cpp:
  3168. (WebCore::SVGEllipseElement::attributeToPropertyTypeMap):
  3169. (WebCore::SVGEllipseElement::fillAttributeToPropertyTypeMap):
  3170. * svg/SVGEllipseElement.h:
  3171. * svg/SVGFEBlendElement.cpp:
  3172. (WebCore::SVGFEBlendElement::attributeToPropertyTypeMap):
  3173. (WebCore::SVGFEBlendElement::fillAttributeToPropertyTypeMap):
  3174. * svg/SVGFEBlendElement.h:
  3175. * svg/SVGFEColorMatrixElement.cpp:
  3176. (WebCore::SVGFEColorMatrixElement::attributeToPropertyTypeMap):
  3177. (WebCore::SVGFEColorMatrixElement::fillAttributeToPropertyTypeMap):
  3178. * svg/SVGFEColorMatrixElement.h:
  3179. * svg/SVGFEComponentTransferElement.cpp:
  3180. (WebCore::SVGFEComponentTransferElement::attributeToPropertyTypeMap):
  3181. (WebCore::SVGFEComponentTransferElement::fillAttributeToPropertyTypeMap):
  3182. * svg/SVGFEComponentTransferElement.h:
  3183. * svg/SVGFECompositeElement.cpp:
  3184. (WebCore::SVGFECompositeElement::attributeToPropertyTypeMap):
  3185. (WebCore::SVGFECompositeElement::fillAttributeToPropertyTypeMap):
  3186. * svg/SVGFECompositeElement.h:
  3187. * svg/SVGFEConvolveMatrixElement.cpp:
  3188. (WebCore::SVGFEConvolveMatrixElement::attributeToPropertyTypeMap):
  3189. (WebCore::SVGFEConvolveMatrixElement::fillAttributeToPropertyTypeMap):
  3190. * svg/SVGFEConvolveMatrixElement.h:
  3191. * svg/SVGFEDiffuseLightingElement.cpp:
  3192. (WebCore::SVGFEDiffuseLightingElement::attributeToPropertyTypeMap):
  3193. (WebCore::SVGFEDiffuseLightingElement::fillAttributeToPropertyTypeMap):
  3194. * svg/SVGFEDiffuseLightingElement.h:
  3195. * svg/SVGFEDisplacementMapElement.cpp:
  3196. (WebCore::SVGFEDisplacementMapElement::attributeToPropertyTypeMap):
  3197. (WebCore::SVGFEDisplacementMapElement::fillAttributeToPropertyTypeMap):
  3198. * svg/SVGFEDisplacementMapElement.h:
  3199. * svg/SVGFEFloodElement.cpp:
  3200. (WebCore::SVGFEFloodElement::attributeToPropertyTypeMap):
  3201. (WebCore::SVGFEFloodElement::fillAttributeToPropertyTypeMap):
  3202. * svg/SVGFEFloodElement.h:
  3203. * svg/SVGFEGaussianBlurElement.cpp:
  3204. (WebCore::SVGFEGaussianBlurElement::attributeToPropertyTypeMap):
  3205. (WebCore::SVGFEGaussianBlurElement::fillAttributeToPropertyTypeMap):
  3206. * svg/SVGFEGaussianBlurElement.h:
  3207. * svg/SVGFEImageElement.cpp:
  3208. (WebCore::SVGFEImageElement::attributeToPropertyTypeMap):
  3209. (WebCore::SVGFEImageElement::fillAttributeToPropertyTypeMap):
  3210. * svg/SVGFEImageElement.h:
  3211. * svg/SVGFELightElement.cpp:
  3212. (WebCore::SVGFELightElement::attributeToPropertyTypeMap):
  3213. (WebCore::SVGFELightElement::fillAttributeToPropertyTypeMap):
  3214. * svg/SVGFELightElement.h:
  3215. * svg/SVGFEMergeElement.cpp:
  3216. (WebCore::SVGFEMergeElement::attributeToPropertyTypeMap):
  3217. (WebCore::SVGFEMergeElement::fillAttributeToPropertyTypeMap):
  3218. * svg/SVGFEMergeElement.h:
  3219. * svg/SVGFEMergeNodeElement.cpp:
  3220. (WebCore::SVGFEMergeNodeElement::attributeToPropertyTypeMap):
  3221. (WebCore::SVGFEMergeNodeElement::fillAttributeToPropertyTypeMap):
  3222. * svg/SVGFEMergeNodeElement.h:
  3223. * svg/SVGFEMorphologyElement.cpp:
  3224. (WebCore::SVGFEMorphologyElement::attributeToPropertyTypeMap):
  3225. (WebCore::SVGFEMorphologyElement::fillAttributeToPropertyTypeMap):
  3226. * svg/SVGFEMorphologyElement.h:
  3227. * svg/SVGFEOffsetElement.cpp:
  3228. (WebCore::SVGFEOffsetElement::attributeToPropertyTypeMap):
  3229. (WebCore::SVGFEOffsetElement::fillAttributeToPropertyTypeMap):
  3230. * svg/SVGFEOffsetElement.h:
  3231. * svg/SVGFESpecularLightingElement.cpp:
  3232. (WebCore::SVGFESpecularLightingElement::attributeToPropertyTypeMap):
  3233. (WebCore::SVGFESpecularLightingElement::fillAttributeToPropertyTypeMap):
  3234. * svg/SVGFESpecularLightingElement.h:
  3235. * svg/SVGFETileElement.cpp:
  3236. (WebCore::SVGFETileElement::attributeToPropertyTypeMap):
  3237. (WebCore::SVGFETileElement::fillAttributeToPropertyTypeMap):
  3238. * svg/SVGFETileElement.h:
  3239. * svg/SVGFETurbulenceElement.cpp:
  3240. (WebCore::SVGFETurbulenceElement::attributeToPropertyTypeMap):
  3241. (WebCore::SVGFETurbulenceElement::fillAttributeToPropertyTypeMap):
  3242. * svg/SVGFETurbulenceElement.h:
  3243. * svg/SVGFilterElement.cpp:
  3244. (WebCore::SVGFilterElement::attributeToPropertyTypeMap):
  3245. (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap):
  3246. * svg/SVGFilterElement.h:
  3247. * svg/SVGFilterPrimitiveStandardAttributes.cpp:
  3248. (WebCore::SVGFilterPrimitiveStandardAttributes::fillAttributeToPropertyTypeMap):
  3249. * svg/SVGFilterPrimitiveStandardAttributes.h:
  3250. * svg/SVGFontElement.cpp:
  3251. (WebCore::SVGFontElement::attributeToPropertyTypeMap):
  3252. (WebCore::SVGFontElement::fillAttributeToPropertyTypeMap):
  3253. * svg/SVGFontElement.h:
  3254. (WebCore::SVGFontElement::rendererIsNeeded):
  3255. * svg/SVGForeignObjectElement.cpp:
  3256. (WebCore::SVGForeignObjectElement::attributeToPropertyTypeMap):
  3257. (WebCore::SVGForeignObjectElement::fillAttributeToPropertyTypeMap):
  3258. * svg/SVGForeignObjectElement.h:
  3259. * svg/SVGGlyphElement.cpp:
  3260. (WebCore::SVGGlyphElement::attributeToPropertyTypeMap):
  3261. (WebCore::SVGGlyphElement::fillAttributeToPropertyTypeMap):
  3262. * svg/SVGGlyphElement.h:
  3263. * svg/SVGGradientElement.cpp:
  3264. (WebCore::SVGGradientElement::fillAttributeToPropertyTypeMap):
  3265. * svg/SVGGradientElement.h:
  3266. * svg/SVGImageElement.cpp:
  3267. (WebCore::SVGImageElement::attributeToPropertyTypeMap):
  3268. (WebCore::SVGImageElement::fillAttributeToPropertyTypeMap):
  3269. * svg/SVGImageElement.h:
  3270. * svg/SVGLineElement.cpp:
  3271. (WebCore::SVGLineElement::attributeToPropertyTypeMap):
  3272. (WebCore::SVGLineElement::fillAttributeToPropertyTypeMap):
  3273. * svg/SVGLineElement.h:
  3274. * svg/SVGLinearGradientElement.cpp:
  3275. (WebCore::SVGLinearGradientElement::attributeToPropertyTypeMap):
  3276. (WebCore::SVGLinearGradientElement::fillAttributeToPropertyTypeMap):
  3277. * svg/SVGLinearGradientElement.h:
  3278. * svg/SVGMPathElement.cpp:
  3279. (WebCore::SVGMPathElement::attributeToPropertyTypeMap):
  3280. (WebCore::SVGMPathElement::fillAttributeToPropertyTypeMap):
  3281. * svg/SVGMPathElement.h:
  3282. * svg/SVGMarkerElement.cpp:
  3283. (WebCore::SVGMarkerElement::attributeToPropertyTypeMap):
  3284. (WebCore::SVGMarkerElement::fillAttributeToPropertyTypeMap):
  3285. * svg/SVGMarkerElement.h:
  3286. * svg/SVGMaskElement.cpp:
  3287. (WebCore::SVGMaskElement::attributeToPropertyTypeMap):
  3288. (WebCore::SVGMaskElement::fillAttributeToPropertyTypeMap):
  3289. * svg/SVGMaskElement.h:
  3290. * svg/SVGMissingGlyphElement.cpp:
  3291. (WebCore::SVGMissingGlyphElement::attributeToPropertyTypeMap):
  3292. (WebCore::SVGMissingGlyphElement::fillAttributeToPropertyTypeMap):
  3293. * svg/SVGMissingGlyphElement.h:
  3294. * svg/SVGPathElement.cpp:
  3295. (WebCore::SVGPathElement::attributeToPropertyTypeMap):
  3296. (WebCore::SVGPathElement::fillAttributeToPropertyTypeMap):
  3297. * svg/SVGPathElement.h:
  3298. * svg/SVGPatternElement.cpp:
  3299. (WebCore::SVGPatternElement::attributeToPropertyTypeMap):
  3300. (WebCore::SVGPatternElement::fillAttributeToPropertyTypeMap):
  3301. * svg/SVGPatternElement.h:
  3302. * svg/SVGPolyElement.cpp:
  3303. (WebCore::SVGPolyElement::attributeToPropertyTypeMap):
  3304. (WebCore::SVGPolyElement::fillAttributeToPropertyTypeMap):
  3305. * svg/SVGPolyElement.h:
  3306. * svg/SVGRadialGradientElement.cpp:
  3307. (WebCore::SVGRadialGradientElement::attributeToPropertyTypeMap):
  3308. (WebCore::SVGRadialGradientElement::fillAttributeToPropertyTypeMap):
  3309. * svg/SVGRadialGradientElement.h:
  3310. * svg/SVGRectElement.cpp:
  3311. (WebCore::SVGRectElement::attributeToPropertyTypeMap):
  3312. (WebCore::SVGRectElement::fillAttributeToPropertyTypeMap):
  3313. * svg/SVGRectElement.h:
  3314. * svg/SVGSVGElement.cpp:
  3315. (WebCore::SVGSVGElement::attributeToPropertyTypeMap):
  3316. (WebCore::SVGSVGElement::fillAttributeToPropertyTypeMap):
  3317. * svg/SVGSVGElement.h:
  3318. * svg/SVGScriptElement.cpp:
  3319. (WebCore::SVGScriptElement::attributeToPropertyTypeMap):
  3320. (WebCore::SVGScriptElement::fillAttributeToPropertyTypeMap):
  3321. * svg/SVGScriptElement.h:
  3322. * svg/SVGStopElement.cpp:
  3323. (WebCore::SVGStopElement::attributeToPropertyTypeMap):
  3324. (WebCore::SVGStopElement::fillAttributeToPropertyTypeMap):
  3325. * svg/SVGStopElement.h:
  3326. * svg/SVGStyledElement.cpp:
  3327. (WebCore::cssPropertyToTypeMap):
  3328. (WebCore::SVGStyledElement::animatedPropertyTypeForCSSProperty):
  3329. (WebCore::SVGStyledElement::fillAttributeToPropertyTypeMap):
  3330. * svg/SVGStyledElement.h:
  3331. * svg/SVGStyledTransformableElement.cpp:
  3332. (WebCore::SVGStyledTransformableElement::fillAttributeToPropertyTypeMap):
  3333. * svg/SVGStyledTransformableElement.h:
  3334. * svg/SVGSwitchElement.cpp:
  3335. (WebCore::SVGSwitchElement::attributeToPropertyTypeMap):
  3336. (WebCore::SVGSwitchElement::fillAttributeToPropertyTypeMap):
  3337. * svg/SVGSwitchElement.h:
  3338. * svg/SVGSymbolElement.cpp:
  3339. (WebCore::SVGSymbolElement::attributeToPropertyTypeMap):
  3340. (WebCore::SVGSymbolElement::fillAttributeToPropertyTypeMap):
  3341. * svg/SVGSymbolElement.h:
  3342. * svg/SVGTRefElement.cpp:
  3343. (WebCore::SVGTRefElement::attributeToPropertyTypeMap):
  3344. (WebCore::SVGTRefElement::fillAttributeToPropertyTypeMap):
  3345. * svg/SVGTRefElement.h:
  3346. * svg/SVGTSpanElement.cpp:
  3347. (WebCore::SVGTSpanElement::attributeToPropertyTypeMap):
  3348. (WebCore::SVGTSpanElement::fillAttributeToPropertyTypeMap):
  3349. * svg/SVGTSpanElement.h:
  3350. * svg/SVGTextContentElement.cpp:
  3351. (WebCore::SVGTextContentElement::fillAttributeToPropertyTypeMap):
  3352. * svg/SVGTextContentElement.h:
  3353. * svg/SVGTextElement.cpp:
  3354. (WebCore::SVGTextElement::attributeToPropertyTypeMap):
  3355. (WebCore::SVGTextElement::fillAttributeToPropertyTypeMap):
  3356. * svg/SVGTextElement.h:
  3357. * svg/SVGTextPathElement.cpp:
  3358. (WebCore::SVGTextPathElement::attributeToPropertyTypeMap):
  3359. (WebCore::SVGTextPathElement::fillAttributeToPropertyTypeMap):
  3360. * svg/SVGTextPathElement.h:
  3361. * svg/SVGTextPositioningElement.cpp:
  3362. (WebCore::SVGTextPositioningElement::fillAttributeToPropertyTypeMap):
  3363. * svg/SVGTextPositioningElement.h:
  3364. * svg/SVGTitleElement.cpp:
  3365. (WebCore::SVGTitleElement::attributeToPropertyTypeMap):
  3366. (WebCore::SVGTitleElement::fillAttributeToPropertyTypeMap):
  3367. * svg/SVGTitleElement.h:
  3368. * svg/SVGUseElement.cpp:
  3369. (WebCore::SVGUseElement::attributeToPropertyTypeMap):
  3370. (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap):
  3371. * svg/SVGUseElement.h:
  3372. * svg/SVGViewElement.cpp:
  3373. (WebCore::SVGViewElement::attributeToPropertyTypeMap):
  3374. (WebCore::SVGViewElement::fillAttributeToPropertyTypeMap):
  3375. * svg/SVGViewElement.h:
  3376. 2011-02-10 Alexis Menard <alexis.menard@nokia.com>
  3377. Reviewed by Andreas Kling.
  3378. Fix a Warning after removing FileSystem support for the inspector.
  3379. * WebCore.pro:
  3380. 2011-02-10 Chris Fleizach <cfleizach@apple.com>
  3381. Reviewed by Anders Carlsson.
  3382. AX: AX needs to stop using WebCoreViewFactory
  3383. https://bugs.webkit.org/show_bug.cgi?id=54153
  3384. WebKit2 no longer uses WebCoreViewFactory, which means that accessibility code needs
  3385. to get off of it and use WebCoreSystemInterface, like other clients.
  3386. * WebCore.exp.in:
  3387. * accessibility/AXObjectCache.h:
  3388. * accessibility/mac/AXObjectCacheMac.mm:
  3389. (WebCore::AXObjectCache::handleFocusedUIElementChanged):
  3390. * accessibility/mac/AccessibilityObjectWrapper.h:
  3391. * accessibility/mac/AccessibilityObjectWrapper.mm:
  3392. (-[AccessibilityObjectWrapper unregisterUniqueIdForUIElement]):
  3393. (CFAutoreleaseHelper):
  3394. (AXObjectIsTextMarker):
  3395. (AXObjectIsTextMarkerRange):
  3396. (AXTextMarkerRange):
  3397. (AXTextMarkerRangeStart):
  3398. (AXTextMarkerRangeEnd):
  3399. (textMarkerForVisiblePosition):
  3400. (-[AccessibilityObjectWrapper textMarkerForVisiblePosition:]):
  3401. (visiblePositionForTextMarker):
  3402. (-[AccessibilityObjectWrapper visiblePositionForTextMarker:]):
  3403. (visiblePositionForStartOfTextMarkerRange):
  3404. (visiblePositionForEndOfTextMarkerRange):
  3405. (textMarkerRangeFromMarkers):
  3406. (AXAttributeStringSetElement):
  3407. (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
  3408. (textMarkerRangeFromVisiblePositions):
  3409. (-[AccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):
  3410. (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
  3411. (-[AccessibilityObjectWrapper textMarkerRangeForSelection]):
  3412. (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
  3413. (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
  3414. * editing/mac/SelectionControllerMac.mm:
  3415. (WebCore::accessibilityConvertScreenRect):
  3416. (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
  3417. * platform/mac/WebCoreSystemInterface.h:
  3418. * platform/mac/WebCoreSystemInterface.mm:
  3419. 2011-02-10 Alexis Menard <alexis.menard@nokia.com>
  3420. Reviewed by Andreas Kling.
  3421. [Qt] In trunk with Qt Multimedia the full screen mode doesn't work.
  3422. https://bugs.webkit.org/show_bug.cgi?id=54201
  3423. Add files for the fullscreen video playback handling. It also fix
  3424. a missing header.
  3425. * WebCore.pro:
  3426. 2011-02-09 Pavel Feldman <pfeldman@chromium.org>
  3427. Reviewed by Yury Semikhatsky.
  3428. Web Inspector: Remove FileSystem support from the inspector.
  3429. https://bugs.webkit.org/show_bug.cgi?id=50695
  3430. * CMakeLists.txt:
  3431. * GNUmakefile.am:
  3432. * WebCore.gypi:
  3433. * WebCore.pro:
  3434. * WebCore.vcproj/WebCore.vcproj:
  3435. * WebCore.xcodeproj/project.pbxproj:
  3436. * inspector/Inspector.idl:
  3437. * inspector/InspectorApplicationCacheAgent.cpp:
  3438. (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
  3439. (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
  3440. * inspector/InspectorApplicationCacheAgent.h:
  3441. * inspector/InspectorFileSystemAgent.cpp: Removed.
  3442. * inspector/InspectorFileSystemAgent.h: Removed.
  3443. * inspector/InspectorInstrumentation.cpp:
  3444. (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
  3445. (WebCore::InspectorInstrumentation::willSendRequestImpl):
  3446. (WebCore::InspectorInstrumentation::markResourceAsCachedImpl):
  3447. (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
  3448. (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
  3449. (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
  3450. (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
  3451. (WebCore::InspectorInstrumentation::didFailLoadingImpl):
  3452. (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
  3453. (WebCore::InspectorInstrumentation::scriptImportedImpl):
  3454. (WebCore::InspectorInstrumentation::networkStateChangedImpl):
  3455. (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
  3456. (WebCore::InspectorInstrumentation::retrieveResourceAgent):
  3457. * inspector/front-end/FileSystemView.js: Removed.
  3458. * inspector/front-end/WebKit.qrc:
  3459. * inspector/front-end/inspector.html:
  3460. 2011-02-10 Sheriff Bot <webkit.review.bot@gmail.com>
  3461. Unreviewed, rolling out r78219.
  3462. http://trac.webkit.org/changeset/78219
  3463. https://bugs.webkit.org/show_bug.cgi?id=54215
  3464. breaks editing/style/iframe-onload-crash.html on GTK 64-bit
  3465. Debug (Requested by philn-tp on #webkit).
  3466. * dom/Document.h:
  3467. * dom/DocumentFragment.h:
  3468. * dom/Element.h:
  3469. * dom/Node.h:
  3470. * dom/Text.h:
  3471. * editing/htmlediting.cpp:
  3472. (WebCore::editingIgnoresContent):
  3473. (WebCore::canHaveChildrenForEditing):
  3474. * editing/htmlediting.h:
  3475. * html/HTMLBRElement.h:
  3476. * html/HTMLButtonElement.h:
  3477. * html/HTMLDataGridElement.h:
  3478. * html/HTMLFormControlElement.h:
  3479. * html/HTMLFrameElementBase.h:
  3480. * html/HTMLHRElement.h:
  3481. * html/HTMLImageElement.h:
  3482. * html/HTMLMeterElement.h:
  3483. * html/HTMLOutputElement.h:
  3484. * html/HTMLPlugInElement.h:
  3485. * html/HTMLProgressElement.h:
  3486. * wml/WMLBRElement.h:
  3487. * wml/WMLDoElement.h:
  3488. * wml/WMLImageElement.h:
  3489. * wml/WMLInputElement.h:
  3490. * wml/WMLSelectElement.h:
  3491. 2011-02-10 Andras Becsi <abecsi@webkit.org>
  3492. Rubber-stamped by Csaba Osztrogonác.
  3493. [Qt][V8] Fix the build.
  3494. No new tests needed.
  3495. * bindings/v8/WorkerContextExecutionProxy.cpp: add missing CString header.
  3496. * loader/cache/CachedScript.h: do not use extra qualification for base class enum.
  3497. 2011-02-10 Alexander Pavlov <apavlov@chromium.org>
  3498. Reviewed by Yury Semikhatsky.
  3499. Web Inspector: [STYLES] Suggest CSS property values once Up/Down is pressed with an empty input
  3500. https://bugs.webkit.org/show_bug.cgi?id=54205
  3501. * inspector/front-end/CSSCompletions.js:
  3502. (WebInspector.CSSCompletions):
  3503. (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix):
  3504. * inspector/front-end/CSSKeywordCompletions.js:
  3505. (WebInspector.CSSKeywordCompletions.forProperty):
  3506. * inspector/front-end/StylesSidebarPane.js:
  3507. ():
  3508. * inspector/front-end/TextPrompt.js:
  3509. (WebInspector.TextPrompt.prototype.complete):
  3510. 2011-02-10 Renata Hodovan <reni@webkit.org>
  3511. Reviewed by Dirk Schulze.
  3512. SVGFESpecularLightingElement doesn't support dynamic invalidation, when attributes change.
  3513. https://bugs.webkit.org/show_bug.cgi?id=54186
  3514. The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary.
  3515. Tests: svg/dynamic-updates/SVGFESpecularLightingElement-dom-in-attr.html
  3516. svg/dynamic-updates/SVGFESpecularLightingElement-dom-specularConstant-attr.html
  3517. svg/dynamic-updates/SVGFESpecularLightingElement-dom-specularExponent-attr.html
  3518. svg/dynamic-updates/SVGFESpecularLightingElement-dom-suraceScale-attr.html
  3519. svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-in-prop.html
  3520. svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-specularConstant-prop.html
  3521. svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-specularExponent-prop.html
  3522. svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-suraceScale-prop.html
  3523. * svg/SVGFESpecularLightingElement.cpp:
  3524. (WebCore::SVGFESpecularLightingElement::svgAttributeChanged):
  3525. * svg/SVGFESpecularLightingElement.h:
  3526. 2011-02-10 Andrey Adaikin <aandrey@google.com>
  3527. Reviewed by Pavel Feldman.
  3528. Web Inspector: Error messages are not displayed for the last line in a script
  3529. https://bugs.webkit.org/show_bug.cgi?id=54204
  3530. * inspector/front-end/SourceFrame.js:
  3531. (WebInspector.SourceFrame.prototype.addMessage):
  3532. (WebInspector.SourceFrame.prototype._addMessageToSource):
  3533. (WebInspector.SourceFrame.prototype._createConditionElement):
  3534. 2011-02-10 Ryosuke Niwa <rniwa@webkit.org>
  3535. Reviewed by Eric Seidel.
  3536. Make canHaveChildrenForEditing more efficient
  3537. https://bugs.webkit.org/show_bug.cgi?id=53564
  3538. Improved the performance (1-2% in release and 20% in debug) by adding virtual member function
  3539. canContainRangeEndPoint to Node. It returns true whenever the associated node can have be a container
  3540. node for a position.
  3541. As of this revision, canContainRangeEndPoint returns true on Document, DocumentFragment, Text nodes
  3542. and any elements except:
  3543. HTML: applet, br, button, datagrid, embed, frame, frameset, hr, img, input,
  3544. meter, object, output, progress, and select.
  3545. WML: br, do, img, input, and select.
  3546. No new tests are added since this change cannot be tested directly.
  3547. * dom/Document.h:
  3548. (WebCore::Document::canContainRangeEndPoint): Added; returns false.
  3549. * dom/DocumentFragment.h:
  3550. (WebCore::DocumentFragment::canContainRangeEndPoint): Added; returns true.
  3551. * dom/Element.h:
  3552. (WebCore::Element::canContainRangeEndPoint): Ditto.
  3553. * dom/Node.h:
  3554. (WebCore::Node::canContainRangeEndPoint): Added; returns false.
  3555. * dom/Text.h:
  3556. (WebCore::Text::canContainRangeEndPoint): Added; returns true.
  3557. * editing/htmlediting.cpp: Removed editingIgnoresContent and canHaveChildrenForEditing.
  3558. * editing/htmlediting.h:
  3559. (WebCore::editingIgnoresContent): Moved from htmlediting.cpp; made it inline.
  3560. (WebCore::canHaveChildrenForEditing): Ditto.
  3561. * html/HTMLBRElement.h:
  3562. (WebCore::HTMLBRElement::canContainRangeEndPoint): Added; returns false.
  3563. * html/HTMLButtonElement.h:
  3564. (WebCore::HTMLButtonElement::canContainRangeEndPoint): Ditto.
  3565. * html/HTMLDataGridElement.h:
  3566. (WebCore::HTMLDataGridElement::canContainRangeEndPoint): Ditto.
  3567. * html/HTMLFormControlElement.h:
  3568. (WebCore::HTMLFormControlElementWithState::canContainRangeEndPoint): Ditto.
  3569. * html/HTMLFrameElementBase.h:
  3570. (WebCore::HTMLFrameElementBase::canContainRangeEndPoint): Ditto.
  3571. * html/HTMLHRElement.h:
  3572. (WebCore::HTMLHRElement::canContainRangeEndPoint): Ditto.
  3573. * html/HTMLImageElement.h:
  3574. (WebCore::HTMLImageElement::canContainRangeEndPoint): Ditto.
  3575. * html/HTMLMeterElement.h:
  3576. (WebCore::HTMLMeterElement::canContainRangeEndPoint): Ditto.
  3577. * html/HTMLOutputElement.h:
  3578. (WebCore::HTMLOutputElement::canContainRangeEndPoint): Ditto.
  3579. * html/HTMLPlugInElement.h:
  3580. (WebCore::HTMLPlugInElement::canContainRangeEndPoint): Ditto.
  3581. * html/HTMLProgressElement.h:
  3582. (WebCore::HTMLProgressElement::canContainRangeEndPoint): Ditto.
  3583. * wml/WMLBRElement.h:
  3584. (WebCore::WMLBRElement::canContainRangeEndPoint): Ditto.
  3585. * wml/WMLDoElement.h:
  3586. (WebCore::WMLDoElement::canContainRangeEndPoint): Ditto.
  3587. * wml/WMLImageElement.h:
  3588. (WebCore::WMLImageElement::canContainRangeEndPoint): Ditto.
  3589. * wml/WMLInputElement.h:
  3590. (WebCore::WMLInputElement::canContainRangeEndPoint): Ditto.
  3591. * wml/WMLSelectElement.h:
  3592. (WebCore::WMLSelectElement::canContainRangeEndPoint): Ditto.
  3593. 2011-02-10 Pavel Feldman <pfeldman@chromium.org>
  3594. Reviewed by Yury Semikhatsky.
  3595. Web Inspector: define interface per domain in Inspector.idl.
  3596. https://bugs.webkit.org/show_bug.cgi?id=54135
  3597. * inspector/CodeGeneratorInspector.pm:
  3598. * inspector/Inspector.idl:
  3599. 2011-02-10 Andrey Adaikin <aandrey@google.com>
  3600. Reviewed by Pavel Feldman.
  3601. Web Inspector: [regression] Fix syncing heights of the gutter and main panel lines, and add 2px padding-left
  3602. https://bugs.webkit.org/show_bug.cgi?id=54098
  3603. * inspector/front-end/TextViewer.js:
  3604. (WebInspector.TextViewer):
  3605. (WebInspector.TextViewer.prototype._updatePanelOffsets):
  3606. (WebInspector.TextViewer.prototype._syncScroll):
  3607. (WebInspector.TextViewer.prototype._syncDecorationsForLine):
  3608. (WebInspector.TextEditorChunkedPanel.prototype._totalHeight):
  3609. (WebInspector.TextEditorChunkedPanel.prototype.resize):
  3610. (WebInspector.TextEditorGutterPanel):
  3611. (WebInspector.TextEditorGutterChunk.prototype.set expanded):
  3612. (WebInspector.TextEditorGutterChunk.prototype.get height):
  3613. (WebInspector.TextEditorMainChunk.prototype.get height):
  3614. * inspector/front-end/textViewer.css:
  3615. (.webkit-line-content):
  3616. 2011-02-10 takano takumi <takano@apple.com>
  3617. Reviewed by Dan Bernstein.
  3618. A full-width character rotated leftward 90 degrees in text-combine
  3619. https://bugs.webkit.org/show_bug.cgi?id=54169
  3620. * rendering/RenderCombineText.cpp:
  3621. (WebCore::RenderCombineText::combineText):
  3622. - Fixed by resetting font's orientation to horizontal when we decided to make combined text.
  3623. Otherwise the text will be unexpectedly rotated in showGlyphsWithAdvances() in FontMac.mm.
  3624. 2011-02-10 Alexey Proskuryakov <ap@apple.com>
  3625. Reviewed by Darin Adler.
  3626. https://bugs.webkit.org/show_bug.cgi?id=50306
  3627. <rdar://problem/8976152> REGRESSION: WebChromeClient::shouldReplaceWithGeneratedFileForUpload()
  3628. uses an initialized result value (breaks form submission with clang-built WebKit)
  3629. No new test, because I can't reproduce the observable effect with my gcc build.
  3630. * platform/network/FormData.cpp: (WebCore::FormData::appendKeyValuePairItems): Restore an
  3631. empty path check - an empty path was causing an exception in Foundation.
  3632. 2011-02-09 Andrey Kosyakov <caseq@chromium.org>
  3633. Reviewed by Pavel Feldman.
  3634. Web Inspector: Network & Resource panels make multiple requests for images with no content
  3635. https://bugs.webkit.org/show_bug.cgi?id=54085
  3636. - Added success parameter to resourceContent
  3637. - NetworkManager.requestContent() now returns empty for zero-length resources, null for errors
  3638. * inspector/Inspector.idl:
  3639. * inspector/InspectorResourceAgent.cpp:
  3640. (WebCore::InspectorResourceAgent::resourceData):
  3641. (WebCore::InspectorResourceAgent::resourceContent):
  3642. * inspector/InspectorResourceAgent.h:
  3643. * inspector/front-end/NetworkManager.js:
  3644. (WebInspector.NetworkManager.prototype.requestContent):
  3645. * inspector/front-end/Resource.js:
  3646. (WebInspector.Resource.prototype.requestContent):
  3647. (WebInspector.Resource.prototype._contentURL):
  3648. 2011-02-10 Renata Hodovan <reni@webkit.org>
  3649. Reviewed by Dirk Schulze.
  3650. Move the light source implementations into their own files.
  3651. https://bugs.webkit.org/show_bug.cgi?id=53996
  3652. Splitting LightSource.cpp into 3 files.
  3653. No new tests are added since this is a refactoring.
  3654. * Android.mk:
  3655. * CMakeLists.txt:
  3656. * GNUmakefile.am:
  3657. * WebCore.gypi:
  3658. * WebCore.pro:
  3659. * WebCore.vcproj/WebCore.vcproj:
  3660. * WebCore.xcodeproj/project.pbxproj:
  3661. * platform/graphics/filters/DistantLightSource.cpp: Added.
  3662. (WebCore::DistantLightSource::initPaintingData):
  3663. (WebCore::DistantLightSource::updatePaintingData):
  3664. (WebCore::DistantLightSource::setAzimuth):
  3665. (WebCore::DistantLightSource::setElevation):
  3666. (WebCore::DistantLightSource::externalRepresentation):
  3667. * platform/graphics/filters/LightSource.cpp:
  3668. * platform/graphics/filters/PointLightSource.cpp: Added.
  3669. (WebCore::PointLightSource::initPaintingData):
  3670. (WebCore::PointLightSource::updatePaintingData):
  3671. (WebCore::PointLightSource::setX):
  3672. (WebCore::PointLightSource::setY):
  3673. (WebCore::PointLightSource::setZ):
  3674. (WebCore::operator<<):
  3675. (WebCore::PointLightSource::externalRepresentation):
  3676. * platform/graphics/filters/SpotLightSource.cpp: Added.
  3677. (WebCore::SpotLightSource::initPaintingData):
  3678. (WebCore::SpotLightSource::updatePaintingData):
  3679. (WebCore::SpotLightSource::setX):
  3680. (WebCore::SpotLightSource::setY):
  3681. (WebCore::SpotLightSource::setZ):
  3682. (WebCore::SpotLightSource::setPointsAtX):
  3683. (WebCore::SpotLightSource::setPointsAtY):
  3684. (WebCore::SpotLightSource::setPointsAtZ):
  3685. (WebCore::SpotLightSource::setSpecularExponent):
  3686. (WebCore::SpotLightSource::setLimitingConeAngle):
  3687. (WebCore::operator<<):
  3688. (WebCore::SpotLightSource::externalRepresentation):
  3689. 2011-02-10 Avi Drissman <avi@google.com>
  3690. Reviewed by Darin Fisher.
  3691. <option> should implement the dir attribute. Mac Chromium version, followup to r76983, r77654.
  3692. https://bugs.webkit.org/show_bug.cgi?id=50969
  3693. Use manual test Source/WebCore/manual-tests/pop-up-alignment-and-direction.html added in r76983.
  3694. * platform/chromium/PopupMenuChromium.cpp:
  3695. (WebCore::PopupListBox::updateFromElement):
  3696. * platform/chromium/PopupMenuChromium.h:
  3697. 2011-02-10 Hans Wennborg <hans@chromium.org>
  3698. Reviewed by Jeremy Orlow.
  3699. IndexedDB: Update the semantics of put()
  3700. https://bugs.webkit.org/show_bug.cgi?id=54102
  3701. Update the semantics of put: For object stores with auto increment,
  3702. it should be allowed to provide an explicit key, or an in-line key,
  3703. overriding the key generator mechanism.
  3704. This reflects the spec changes suggested here:
  3705. http://www.w3.org/Bugs/Public/show_bug.cgi?id=11976
  3706. Extracting key-selection logic into its own function
  3707. to make it a bit easier on the eyes.
  3708. * storage/IDBObjectStoreBackendImpl.cpp:
  3709. (WebCore::IDBObjectStoreBackendImpl::selectKeyForPut):
  3710. (WebCore::IDBObjectStoreBackendImpl::putInternal):
  3711. * storage/IDBObjectStoreBackendImpl.h:
  3712. (WebCore::IDBObjectStoreBackendImpl::resetAutoIncrementKeyCache):
  3713. 2011-02-09 Antti Koivisto <antti@apple.com>
  3714. Reviewed by Darin Adler.
  3715. https://bugs.webkit.org/show_bug.cgi?id=54103
  3716. Implement fast path for matching simple selectors
  3717. Implement a fast path for single and descendant selectors consisting
  3718. of id, class and tag selectors only.
  3719. Selectors like this are marked on style selector initialization. When
  3720. encountered during style matching they are resolved using a fast path.
  3721. Since selectors like this are very common this speeds up style matching
  3722. quite a bit (up to 50% on some sites according to Shark).
  3723. * css/CSSStyleSelector.cpp:
  3724. (WebCore::RuleData::hasFastCheckableSelector):
  3725. (WebCore::RuleData::hasMultipartSelector):
  3726. (WebCore::RuleData::hasTopSelectorMatchingHTMLBasedOnRuleHash):
  3727. (WebCore::CSSStyleSelector::matchRulesForList):
  3728. (WebCore::CSSStyleSelector::checkSelector):
  3729. (WebCore::selectorTagMatches):
  3730. (WebCore::isFastCheckableSelector):
  3731. (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector):
  3732. (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
  3733. (WebCore::isSelectorMatchingHTMLBasedOnRuleHash):
  3734. (WebCore::RuleData::RuleData):
  3735. * css/CSSStyleSelector.h:
  3736. 2011-02-09 Simon Fraser <simon.fraser@apple.com>
  3737. Reviewed by Dan Bernstein.
  3738. REGRESSION (r77101) box-shadow sometimes renders incorrectly
  3739. https://bugs.webkit.org/show_bug.cgi?id=54160
  3740. Fix an issue when ShadowBlur had a cached image buffer
  3741. that was larger than that of the current shadow being drawn,
  3742. and the current shadow was partially clipped out.
  3743. In that situation endShadowLayer() would clip to the image
  3744. buffer, using the size of the buffer (as it must), but failed
  3745. to take into account the fact that we'd only cleared and painted
  3746. into a smaller section of the buffer. So we need to additionally
  3747. constrain the clip to cover only the valid part of the buffer.
  3748. Test: fast/box-shadow/shadow-buffer-partial.html
  3749. * platform/graphics/ShadowBlur.cpp:
  3750. (WebCore::ShadowBlur::endShadowLayer):
  3751. 2011-02-09 Beth Dakin <bdakin@apple.com>
  3752. Reviewed by Maciej Stachowiak.
  3753. Fix for <rdar://problem/8977051> CrashTracer: 8 crashes
  3754. in WebProcess at com.apple.WebCore:
  3755. -[ScrollbarPartAnimation setCurrentProgress:] + 364
  3756. The ScrollbarPartAnimation must be sent by reference!
  3757. * platform/mac/ScrollAnimatorMac.mm:
  3758. (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
  3759. 2011-02-09 Ryosuke Niwa <rniwa@webkit.org>
  3760. Reviewed by Darin Adler.
  3761. REGRESSION(r76107): Crash in VisibleSelection::toNormalizedRange
  3762. https://bugs.webkit.org/show_bug.cgi?id=54053
  3763. The bug was caused by RenderBlock::positionForPoint's improperly returning a shadow node inside
  3764. RenderFileUploadControl for hit testing and VisibleSelection::toNormalizedRange's always assuming
  3765. the position variable "s" is not null.
  3766. Fixed the bug by always returning a null position from RenderFileUploadControl::positionForPoint,
  3767. and also exiting early when either "s" or "e" is null in VisibleSelection::toNormalizedRange.
  3768. Test: fast/forms/file-input-hit-test.html
  3769. * editing/VisibleSelection.cpp:
  3770. (WebCore::VisibleSelection::toNormalizedRange):
  3771. * rendering/RenderFileUploadControl.cpp:
  3772. (WebCore::RenderFileUploadControl::positionForPoint):
  3773. * rendering/RenderFileUploadControl.h:
  3774. 2011-02-09 Sam Weinig <sam@webkit.org>
  3775. Reviewed by Beth Dakin.
  3776. Overlay scrollbars crash used with a RenderListBox.
  3777. * rendering/RenderListBox.cpp:
  3778. (WebCore::RenderListBox::layout):
  3779. (WebCore::RenderListBox::contentsSize):
  3780. (WebCore::RenderListBox::currentMousePosition):
  3781. (WebCore::RenderListBox::setHasVerticalScrollbar):
  3782. * rendering/RenderListBox.h:
  3783. Implement enough of the ScrollableArea interface to get things generally
  3784. working.
  3785. 2011-02-09 Beth Dakin <bdakin@apple.com>
  3786. Reviewed by Simon Fraser.
  3787. Fix for <rdar://problem/8966868> ScrollbarPainterDelegate
  3788. must return a layer if layer-backed to avoid crashing
  3789. New virtual function scrollbarWillRenderIntoCompositingLayer()
  3790. on ScrollableArea.
  3791. * page/FrameView.h:
  3792. * platform/ScrollableArea.h:
  3793. (WebCore::ScrollableArea::scrollbarWillRenderIntoCompositingLayer):
  3794. * rendering/RenderLayer.h:
  3795. (WebCore::RenderLayer::scrollbarWillRenderIntoCompositingLayer):
  3796. * rendering/RenderListBox.cpp:
  3797. (WebCore::RenderListBox::scrollbarWillRenderIntoCompositingLayer):
  3798. * rendering/RenderListBox.h:
  3799. Clean up unnecessary method declarations and call
  3800. scrollbarWillRenderIntoCompositingLayer() to deterine if
  3801. we need to return a layer.
  3802. * platform/mac/ScrollAnimatorMac.mm:
  3803. (-[ScrollbarPainterDelegate layer]):
  3804. 2011-02-09 Yael Aharon <yael.aharon@nokia.com>
  3805. Reviewed by Darin Adler.
  3806. Replace static_cast<HTMLElement*> with toHTMLElement
  3807. https://bugs.webkit.org/show_bug.cgi?id=54117
  3808. No new tests since no new functionality was introduced.
  3809. * accessibility/AccessibilityListBox.cpp:
  3810. (WebCore::AccessibilityListBox::addChildren):
  3811. * accessibility/AccessibilityMenuListPopup.cpp:
  3812. (WebCore::AccessibilityMenuListPopup::addChildren):
  3813. * accessibility/AccessibilityRenderObject.cpp:
  3814. (WebCore::accessibleNameForNode):
  3815. (WebCore::AccessibilityRenderObject::accessibilityDescription):
  3816. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
  3817. (webkit_accessible_get_name):
  3818. (webkit_accessible_get_description):
  3819. * bindings/gobject/WebKitDOMBinding.cpp:
  3820. (WebKit::createWrapper):
  3821. (WebKit::kit):
  3822. * bindings/js/JSElementCustom.cpp:
  3823. (WebCore::toJSNewlyCreated):
  3824. * bindings/js/JSHTMLFrameSetElementCustom.cpp:
  3825. (WebCore::JSHTMLFrameSetElement::nameGetter):
  3826. * bindings/js/JSNodeCustom.cpp:
  3827. (WebCore::createWrapperInline):
  3828. * bindings/v8/custom/V8ElementCustom.cpp:
  3829. (WebCore::toV8):
  3830. * dom/Document.cpp:
  3831. (WebCore::Document::body):
  3832. * dom/Element.cpp:
  3833. (WebCore::Element::deprecatedCreateContextualFragment):
  3834. * dom/Range.cpp:
  3835. (WebCore::Range::createContextualFragment):
  3836. * editing/ApplyStyleCommand.cpp:
  3837. (WebCore::ApplyStyleCommand::applyBlockStyle):
  3838. (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
  3839. (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
  3840. (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
  3841. (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
  3842. (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle):
  3843. (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
  3844. (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
  3845. (WebCore::ApplyStyleCommand::removeInlineStyle):
  3846. (WebCore::ApplyStyleCommand::shouldSplitTextElement):
  3847. (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
  3848. * editing/DeleteButtonController.cpp:
  3849. (WebCore::enclosingDeletableElement):
  3850. (WebCore::DeleteButtonController::show):
  3851. * editing/Editor.cpp:
  3852. (WebCore::Editor::setBaseWritingDirection):
  3853. * editing/InsertListCommand.cpp:
  3854. (WebCore::InsertListCommand::mergeWithNeighboringLists):
  3855. * editing/ReplaceSelectionCommand.cpp:
  3856. (WebCore::ReplaceSelectionCommand::negateStyleRulesThatAffectAppearance):
  3857. (WebCore::ReplaceSelectionCommand::handleStyleSpans):
  3858. (WebCore::ReplaceSelectionCommand::copyStyleToChildren):
  3859. * editing/SelectionController.cpp:
  3860. (WebCore::scanForForm):
  3861. (WebCore::SelectionController::currentForm):
  3862. * editing/htmlediting.cpp:
  3863. (WebCore::enclosingList):
  3864. (WebCore::enclosingListChild):
  3865. (WebCore::embeddedSublist):
  3866. (WebCore::appendedSublist):
  3867. * editing/markup.cpp:
  3868. (WebCore::StyledMarkupAccumulator::appendElement):
  3869. * html/HTMLCollection.cpp:
  3870. (WebCore::HTMLCollection::checkForNameMatch):
  3871. (WebCore::HTMLCollection::updateNameCache):
  3872. * html/HTMLElement.cpp:
  3873. (WebCore::HTMLElement::setOuterHTML):
  3874. (WebCore::HTMLElement::shadowAncestorOwnerForm):
  3875. * html/HTMLFormElement.cpp:
  3876. (WebCore::HTMLFormElement::formElementIndex):
  3877. * html/HTMLSelectElement.cpp:
  3878. (WebCore::HTMLSelectElement::setOption):
  3879. (WebCore::HTMLSelectElement::setLength):
  3880. * inspector/InspectorDOMAgent.cpp:
  3881. (WebCore::InspectorDOMAgent::getOuterHTML):
  3882. (WebCore::InspectorDOMAgent::setOuterHTML):
  3883. * page/EventHandler.cpp:
  3884. (WebCore::EventHandler::handleMouseMoveEvent):
  3885. * rendering/RenderMeter.cpp:
  3886. (WebCore::RenderMeter::createPart):
  3887. * rendering/RenderTextControl.cpp:
  3888. (WebCore::RenderTextControl::createSubtreeIfNeeded):
  3889. * rendering/RenderTextControlSingleLine.cpp:
  3890. (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
  3891. 2011-02-09 Mike Reed <reed@google.com>
  3892. Reviewed by Kenneth Russell.
  3893. Use Skia's device->readPixels() when its bitmap claims to have no pixels, as this
  3894. handles the case when the device is backed by the GPU.
  3895. Patch developed by bsalomon@google.com
  3896. No new tests. Existing canvas tests suffice
  3897. e.g. LayoutTests/canvas/philip/...
  3898. * platform/graphics/skia/ImageBufferSkia.cpp:
  3899. (WebCore::getImageData):
  3900. (WebCore::ImageBuffer::getUnmultipliedImageData):
  3901. (WebCore::ImageBuffer::getPremultipliedImageData):
  3902. (WebCore::putImageData):
  3903. (WebCore::ImageBuffer::putUnmultipliedImageData):
  3904. (WebCore::ImageBuffer::putPremultipliedImageData):
  3905. 2011-02-09 Adam Barth <abarth@webkit.org>
  3906. Reviewed by Eric Seidel.
  3907. document.close shouldn't affect non-script-created parsers
  3908. https://bugs.webkit.org/show_bug.cgi?id=53689
  3909. Tests: fast/frames/document-write-in-iframe-onload-3.html
  3910. fast/parser/iframe-onload-document-close-with-external-script-2.html
  3911. fast/parser/iframe-onload-document-close-with-external-script-3.html
  3912. fast/parser/iframe-onload-document-close-with-external-script.html
  3913. fast/parser/setTimeout-open.html
  3914. Move our implementation of document.close closer to the spec by
  3915. introducing the notion of a script-created parser. This area of our
  3916. code is somewhat hairy. It might take a few more iterations before we
  3917. fully come up to spec.
  3918. * dom/Document.cpp:
  3919. (WebCore::Document::setContent):
  3920. (WebCore::Document::open):
  3921. (WebCore::Document::cancelParsing):
  3922. (WebCore::Document::close):
  3923. - Over time, this method should converge to the spec.
  3924. (WebCore::Document::explicitClose):
  3925. - I'm not in love with this name. Somehow we want to differentiate
  3926. between Document closing itself and the document.close DOM
  3927. method.
  3928. (WebCore::Document::removePendingSheet):
  3929. * dom/Document.h:
  3930. * dom/ScriptableDocumentParser.cpp:
  3931. (WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
  3932. * dom/ScriptableDocumentParser.h:
  3933. (WebCore::ScriptableDocumentParser::setWasCreatedByScript):
  3934. (WebCore::ScriptableDocumentParser::wasCreatedByScript):
  3935. - General nonsense to keep track of whether the parser was created
  3936. by script.
  3937. * html/parser/HTMLDocumentParser.cpp:
  3938. (WebCore::HTMLDocumentParser::hasInsertionPoint):
  3939. - I'm not sure whether this part of the change is 100% correct. I
  3940. think our notion of the EOF character might be subtly different
  3941. from the notion in the spec.
  3942. * html/parser/HTMLInputStream.h:
  3943. (WebCore::HTMLInputStream::hasInsertionPoint):
  3944. - Remove FIXME because we're fixing that!
  3945. 2011-02-09 Abhishek Arya <inferno@chromium.org>
  3946. Reviewed by James Robinson.
  3947. [Chromium] Issue 72387: Integer bounds crash in LayerTilerChromium::resizeLayer
  3948. https://bugs.webkit.org/show_bug.cgi?id=54132
  3949. * platform/graphics/chromium/LayerTilerChromium.cpp:
  3950. (WebCore::LayerTilerChromium::resizeLayer):
  3951. 2011-02-09 Xiyuan Xia <xiyuan@chromium.org>
  3952. Reviewed by Tony Chang.
  3953. [Chromium] Use #f7f7f7 for select popup background on chromium/linux
  3954. https://bugs.webkit.org/show_bug.cgi?id=54115
  3955. No new tests since no behavior change.
  3956. * css/themeChromiumLinux.css:
  3957. (select[size="1"] option):
  3958. 2011-02-09 Adam Barth <abarth@webkit.org>
  3959. Reviewed by Eric Seidel.
  3960. REGRESSION(HTML 5): HTMLDocumentParser does not report html parse errors to the console
  3961. https://bugs.webkit.org/show_bug.cgi?id=41187
  3962. Wire up a basic HTML parse error message. There's a lot of room for
  3963. improvement in this area, but this is a start.
  3964. No tests! See https://bugs.webkit.org/show_bug.cgi?id=54134
  3965. * html/parser/HTMLDocumentParser.h:
  3966. * html/parser/HTMLTreeBuilder.cpp:
  3967. (WebCore::HTMLTreeBuilder::parseError):
  3968. * html/parser/HTMLTreeBuilder.h:
  3969. 2011-02-09 Naoki Takano <takano.naoki@gmail.com>
  3970. Reviewed by Kenneth Russell.
  3971. [Chromium] Issue 58536: Fix Layout Test canvas/philip/tests/2d.imageData.put.alpha.html with --accelerated-2d-canvas.
  3972. https://bugs.webkit.org/show_bug.cgi?id=53757
  3973. This fix is for 2d.imageData.put.alpha.html with --accelerated-2d-canvas. No new tests.
  3974. * platform/graphics/skia/ImageBufferSkia.cpp:
  3975. (WebCore::ImageBuffer::putUnmultipliedImageData): needs to call syncSoftwareCanvas() to sync between hardware and software.
  3976. (WebCore::ImageBuffer::putPremultipliedImageData): needs to call syncSoftwareCanvas() to sync between hardware and software.
  3977. 2011-02-09 Chris Rogers <crogers@google.com>
  3978. Reviewed by Kenneth Russell.
  3979. Fix scaling and thread safety of FFTFrameFFTW
  3980. https://bugs.webkit.org/show_bug.cgi?id=54045
  3981. No new tests since audio API is not yet implemented.
  3982. * platform/audio/FFTFrame.h:
  3983. * platform/audio/fftw/FFTFrameFFTW.cpp:
  3984. (WebCore::FFTFrame::FFTFrame):
  3985. (WebCore::FFTFrame::doFFT):
  3986. (WebCore::FFTFrame::doInverseFFT):
  3987. (WebCore::FFTFrame::initialize):
  3988. (WebCore::FFTFrame::cleanup):
  3989. (WebCore::FFTFrame::realData):
  3990. (WebCore::FFTFrame::imagData):
  3991. (WebCore::FFTFrame::fftwPlanForSize):
  3992. * platform/audio/mac/FFTFrameMac.cpp:
  3993. (WebCore::FFTFrame::initialize):
  3994. * platform/audio/mkl/FFTFrameMKL.cpp:
  3995. (WebCore::FFTFrame::initialize):
  3996. * webaudio/AudioContext.cpp:
  3997. (WebCore::AudioContext::AudioContext):
  3998. 2011-02-09 Chris Fleizach <cfleizach@apple.com>
  3999. Reviewed by Darin Adler.
  4000. AX: accessibilityShouldUseUniqueId doesn't need to be in the core AX object
  4001. https://bugs.webkit.org/show_bug.cgi?id=54126
  4002. This is a Mac-only accessibility API concept and doesn't belong in the core AX object.
  4003. * accessibility/AccessibilityObject.h:
  4004. (WebCore::AccessibilityObject::node):
  4005. * accessibility/mac/AccessibilityObjectWrapper.mm:
  4006. (-[AccessibilityObjectWrapper accessibilityShouldUseUniqueId]):
  4007. 2011-02-09 Nebojsa Ciric <cira@chromium.org>
  4008. Reviewed by Darin Fisher.
  4009. Implements Locale object of JavaScript internationalization API proposal, as an
  4010. v8 extension. Extension code is hosted in v8 project (src/extensions/experimental/i18n-extension.{cc,h})
  4011. and in this patch we just provide flags, tests and build rules for chromium port.
  4012. https://bugs.webkit.org/show_bug.cgi?id=49414
  4013. Test: fast/js/i18n-bindings-locale.html
  4014. * WebCore.gyp/WebCore.gyp:
  4015. * bindings/generic/RuntimeEnabledFeatures.cpp:
  4016. (WebCore::RuntimeEnabledFeatures::experimentalI18NAPIEnabled):
  4017. * bindings/generic/RuntimeEnabledFeatures.h:
  4018. (WebCore::RuntimeEnabledFeatures::setExperimentalI18NAPIEnabled):
  4019. * bindings/v8/V8DOMWindowShell.cpp:
  4020. (WebCore::V8DOMWindowShell::createNewContext):
  4021. 2011-02-08 Dimitri Glazkov <dglazkov@chromium.org>
  4022. Reviewed by Darin Adler.
  4023. REGRESSION(r71934): Shadow DOM nodes leak via relatedTarget
  4024. https://bugs.webkit.org/show_bug.cgi?id=52065
  4025. * dom/Node.cpp:
  4026. (WebCore::pullOutOfShadow): Added a helper to move a node to the outermost
  4027. boundary of shadow DOM.
  4028. (WebCore::Node::dispatchMouseEvent): Changed to use pullOutOfShadow.
  4029. 2011-02-09 Yael Aharon <yael.aharon@nokia.com>
  4030. Reviewed by Darin Adler.
  4031. Add convenience method toHTMLElement(Node*)
  4032. https://bugs.webkit.org/show_bug.cgi?id=54105
  4033. No new tests since no new functionality introduced.
  4034. * html/HTMLElement.h:
  4035. (WebCore::toHTMLElement):
  4036. 2011-02-09 Sam Weinig <sam@webkit.org>
  4037. Reviewed by Dan Bernstein.
  4038. Fixed positioned elements at very top or bottom of page remain fixed but clip during rubber-banding
  4039. <rdar://problem/7615997>
  4040. https://bugs.webkit.org/show_bug.cgi?id=54054
  4041. Take the overhang into account when calculating position for elements with position: fixed.
  4042. * platform/ScrollView.cpp:
  4043. (WebCore::ScrollView::scrollXForFixedPosition):
  4044. (WebCore::ScrollView::scrollYForFixedPosition):
  4045. (WebCore::ScrollView::scrollOffsetForFixedPosition):
  4046. * platform/ScrollView.h:
  4047. * rendering/RenderView.cpp:
  4048. (WebCore::RenderView::mapLocalToContainer):
  4049. (WebCore::RenderView::mapAbsoluteToLocalPoint):
  4050. (WebCore::RenderView::computeRectForRepaint):
  4051. 2011-02-09 Simon Fraser <simon.fraser@apple.com>
  4052. Reviewed by Dirk Schulze.
  4053. Enhance ShadowBlur to tile inset box shadows
  4054. https://bugs.webkit.org/show_bug.cgi?id=51567
  4055. Add a tiling code path to ShadowBlur for rendering inset
  4056. box-shadows.
  4057. Test: fast/box-shadow/inset-box-shadows.html
  4058. * platform/graphics/ShadowBlur.cpp:
  4059. (WebCore::computeSliceSizesFromRadii): Compute the slice sizes
  4060. for the eight-piece shadow template.
  4061. (WebCore::ShadowBlur::templateSize): Compute the size of the template,
  4062. given the slice sizes.
  4063. (WebCore::ShadowBlur::drawRectShadow): Bail early if layerRect is empty
  4064. (which probably means we're clipped out). Call templateSize() and use
  4065. the result to decide whether to tile.
  4066. (WebCore::ShadowBlur::drawInsetShadow): New method for inset shadows.
  4067. (WebCore::ShadowBlur::drawRectShadowWithoutTiling): Code moved.
  4068. (WebCore::ShadowBlur::drawInsetShadowWithoutTiling): The non-tiling code
  4069. path for inset shadows.
  4070. (WebCore::ShadowBlur::drawInsetShadowWithTiling): Fill the shadow template
  4071. buffer, paint the non-blurred area of the destination, and then call drawLayerPieces()
  4072. to paint the eight-piece template image.
  4073. (WebCore::ShadowBlur::drawRectShadowWithTiling): Refactored code, now
  4074. shares the blurring code via blurAndColorShadowBuffer(), and the tiled template
  4075. drawing via drawLayerPieces().
  4076. (WebCore::ShadowBlur::drawLayerPieces): Draw an eight-piece image from the
  4077. shadow template to the destination.
  4078. (WebCore::ShadowBlur::blurAndColorShadowBuffer): Blur the pixels in the image
  4079. buffer, and colorize them using the CompositeSourceIn operation.
  4080. * platform/graphics/ShadowBlur.h:
  4081. 2011-02-09 Jochen Eisinger <jochen@chromium.org>
  4082. Reviewed by Adam Barth.
  4083. Disable script elements when a CSP header is present
  4084. https://bugs.webkit.org/show_bug.cgi?id=53867
  4085. Tests: http/tests/security/contentSecurityPolicy/no-policy.html
  4086. http/tests/security/contentSecurityPolicy/script-src-in-iframe.html
  4087. http/tests/security/contentSecurityPolicy/script-src-none.html
  4088. http/tests/security/contentSecurityPolicy/script-src-redirect.html
  4089. * html/parser/HTMLDocumentParser.cpp:
  4090. (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc):
  4091. * html/parser/HTMLScriptRunner.cpp:
  4092. (WebCore::HTMLScriptRunner::requestPendingScript):
  4093. * loader/FrameLoader.cpp:
  4094. (WebCore::FrameLoader::didBeginDocument):
  4095. * loader/MainResourceLoader.cpp:
  4096. (WebCore::MainResourceLoader::didReceiveResponse):
  4097. * page/ContentSecurityPolicy.cpp:
  4098. (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
  4099. (WebCore::ContentSecurityPolicy::didReceiveHeader):
  4100. (WebCore::ContentSecurityPolicy::canLoadExternalScriptFromSrc):
  4101. * page/ContentSecurityPolicy.h:
  4102. 2011-02-09 Patrick Gansterer <paroga@webkit.org>
  4103. Unreviewed WinCE build fix for r78047.
  4104. ContextMenu.cpp and ContextMenuItem.cpp have a USE(CROSS_PLATFORM_CONTEXT_MENUS),
  4105. so they shouldn't cause problems with correct preprocessor defines.
  4106. * CMakeLists.txt:
  4107. 2011-02-09 Ilya Tikhonovsky <loislo@chromium.org>
  4108. Reviewed by Pavel Feldman.
  4109. Web Inspector: InspectorAgent should know nothing about InspectorController instance.
  4110. https://bugs.webkit.org/show_bug.cgi?id=54100
  4111. * inspector/InspectorAgent.cpp:
  4112. (WebCore::InspectorAgent::InspectorAgent):
  4113. (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
  4114. (WebCore::InspectorAgent::disconnectFrontend):
  4115. * inspector/InspectorAgent.h:
  4116. * inspector/InspectorController.cpp:
  4117. (WebCore::InspectorController::InspectorController):
  4118. (WebCore::InspectorController::disconnectFrontend):
  4119. (WebCore::InspectorController::restoreInspectorStateFromCookie):
  4120. 2011-02-09 Pavel Podivilov <podivilov@chromium.org>
  4121. Reviewed by Pavel Feldman.
  4122. Web Inspector: source frame scroll position is not restored.
  4123. https://bugs.webkit.org/show_bug.cgi?id=54101
  4124. * inspector/front-end/ScriptsPanel.js:
  4125. (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
  4126. * inspector/front-end/SourceFrame.js:
  4127. (WebInspector.SourceFrame.prototype.show):
  4128. (WebInspector.SourceFrame.prototype.hide):
  4129. (WebInspector.SourceFrame.prototype.get scrollTop):
  4130. (WebInspector.SourceFrame.prototype.set scrollTop):
  4131. * inspector/front-end/TextViewer.js:
  4132. (WebInspector.TextViewer.prototype.get scrollTop):
  4133. (WebInspector.TextViewer.prototype.set scrollTop):
  4134. (WebInspector.TextViewer.prototype.get scrollLeft):
  4135. (WebInspector.TextViewer.prototype.set scrollLeft):
  4136. 2011-02-09 Pavel Feldman <pfeldman@chromium.org>
  4137. Reviewed by Yury Semikhatsky.
  4138. Web Inspector: follow up on InspectorAgent split -
  4139. removing unnecessary methods from InspectorController.
  4140. https://bugs.webkit.org/show_bug.cgi?id=54093
  4141. * WebCore.exp.in:
  4142. * inspector/InspectorAgent.cpp:
  4143. (WebCore::InspectorAgent::stopUserInitiatedProfiling):
  4144. (WebCore::InspectorAgent::showAndEnableDebugger):
  4145. (WebCore::InspectorAgent::enabled):
  4146. (WebCore::InspectorAgent::showConsole):
  4147. * inspector/InspectorAgent.h:
  4148. * inspector/InspectorController.cpp:
  4149. (WebCore::InspectorController::InspectorController):
  4150. (WebCore::InspectorController::didClearWindowObjectInWorld):
  4151. (WebCore::InspectorController::showConsole):
  4152. (WebCore::InspectorController::enabled):
  4153. (WebCore::InspectorController::inspectedPage):
  4154. * inspector/InspectorController.h:
  4155. * inspector/InspectorFrontendClientLocal.cpp:
  4156. 2011-02-07 Chris Marrin <cmarrin@apple.com>
  4157. Reviewed by Simon Fraser.
  4158. LayoutTests/animations/play-state.html has wrong behavior with accelerated compositing
  4159. https://bugs.webkit.org/show_bug.cgi?id=53513
  4160. The PlatformCAAnimation::create() function which took a pointer to another
  4161. PlatformCAAnimation was supposed to make a copy of that passed object.
  4162. But it was doing completely the wrong thing on Mac and was leaking an object
  4163. to boot. And the notion of copying an object using a static creation function
  4164. is wrong in the first place. So I changed it to a member copy() function
  4165. which would create a new PlatformCAAnimation which was a copy of 'this' and
  4166. return it. I changed the implementation on both Mac and Win to match.
  4167. This problem was not caught by DRT, even there is a specific test for it.
  4168. That test just verifies that the higher level logic is working
  4169. properly, which it is. There's no practical way to find out if the
  4170. layer is currently animating. There is no logic which probes that
  4171. deeply into the layer mechanics.
  4172. * platform/graphics/ca/GraphicsLayerCA.cpp:
  4173. * platform/graphics/ca/PlatformCAAnimation.h:
  4174. * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
  4175. * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
  4176. 2011-02-09 Lucas De Marchi <lucas.demarchi@profusion.mobi>
  4177. Unreviewed build fix.
  4178. [EFL] Remove double definition of ContextMenu.
  4179. https://bugs.webkit.org/show_bug.cgi?id=50762
  4180. When building with SHARED_CORE enabled, the symbols of ContextMenu
  4181. were both in webkit and webcore. This removes them from webcore and
  4182. shall be put back once the CROSS_PLATFORM_CONTEXT_MENUS is implemented
  4183. in EFL port.
  4184. No new tests because no new functionality.
  4185. * CMakeLists.txt:
  4186. 2011-02-09 Adam Roben <aroben@apple.com>
  4187. Windows Production build fix
  4188. * WebCore.vcproj/QTMovieWinCommon.vsprops: Link against
  4189. WebKitSystemInterface$(WebKitConfigSuffix).lib, not just WebKitSystemInterface.lib, so we
  4190. pick up the _debug variant when appropriate.
  4191. 2011-02-09 Eric Seidel <eric@webkit.org>
  4192. Reviewed by Adam Barth.
  4193. Hostnames should cannonicalize to lowercase (to match every other browser)
  4194. https://bugs.webkit.org/show_bug.cgi?id=54084
  4195. * platform/KURL.cpp:
  4196. (WebCore::KURL::parse):
  4197. 2011-02-09 Peter Varga <pvarga@webkit.org>
  4198. Reviewed by Gavin Barraclough.
  4199. Replace PCRE with Yarr in WebCore
  4200. https://bugs.webkit.org/show_bug.cgi?id=53496
  4201. No new tests needed.
  4202. * Android.jscbindings.mk:
  4203. * CMakeLists.txt:
  4204. * ForwardingHeaders/pcre/pcre.h: Removed.
  4205. * ForwardingHeaders/yarr/Yarr.h: Added.
  4206. * ForwardingHeaders/yarr/YarrInterpreter.h: Added.
  4207. * ForwardingHeaders/yarr/YarrPattern.h: Added.
  4208. * WebCore.gyp/WebCore.gyp:
  4209. * WebCore.pro:
  4210. * WebCore.vcproj/WebCore.vcproj:
  4211. * WebCore.vcproj/copyForwardingHeaders.cmd:
  4212. * platform/text/RegularExpression.cpp:
  4213. (WebCore::RegularExpression::Private::create):
  4214. (WebCore::RegularExpression::Private::Private):
  4215. (WebCore::RegularExpression::Private::compile):
  4216. (WebCore::RegularExpression::match):
  4217. 2011-02-09 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  4218. Reviewed by Eric Seidel.
  4219. [EFL] Add dummy functions for HTML5 Video's control UI
  4220. https://bugs.webkit.org/show_bug.cgi?id=53906
  4221. In WebKit EFL, there are no implementations for HTML5 control UI.
  4222. First, dummy functions are added.
  4223. * platform/efl/RenderThemeEfl.cpp:
  4224. (WebCore::RenderThemeEfl::extraMediaControlsStyleSheet):
  4225. (WebCore::RenderThemeEfl::formatMediaControlsCurrentTime):
  4226. (WebCore::RenderThemeEfl::paintMediaFullscreenButton):
  4227. (WebCore::RenderThemeEfl::paintMediaMuteButton):
  4228. (WebCore::RenderThemeEfl::paintMediaPlayButton):
  4229. (WebCore::RenderThemeEfl::paintMediaSeekBackButton):
  4230. (WebCore::RenderThemeEfl::paintMediaSeekForwardButton):
  4231. (WebCore::RenderThemeEfl::paintMediaSliderTrack):
  4232. (WebCore::RenderThemeEfl::paintMediaSliderThumb):
  4233. (WebCore::RenderThemeEfl::paintMediaVolumeSliderContainer):
  4234. (WebCore::RenderThemeEfl::paintMediaVolumeSliderTrack):
  4235. (WebCore::RenderThemeEfl::paintMediaVolumeSliderThumb):
  4236. (WebCore::RenderThemeEfl::paintMediaCurrentTime):
  4237. * platform/efl/RenderThemeEfl.h:
  4238. 2011-02-09 Eric Seidel <eric@webkit.org>
  4239. Reviewed by Adam Barth.
  4240. Make WebKit's fragment cannonicalization match other browsers
  4241. https://bugs.webkit.org/show_bug.cgi?id=53850
  4242. This doesn't make us match perfectly, but it brings us closer.
  4243. * platform/KURL.cpp:
  4244. (WebCore::appendEscapingBadChars):
  4245. (WebCore::escapeAndAppendFragment):
  4246. (WebCore::KURL::parse):
  4247. 2011-02-09 Hans Wennborg <hans@chromium.org>
  4248. Reviewed by Jeremy Orlow.
  4249. IndexedDB: Cursors should skip deleted entries
  4250. https://bugs.webkit.org/show_bug.cgi?id=53690
  4251. Add test to check that the cursor skips deleted entries.
  4252. Test: storage/indexeddb/cursor-skip-deleted.html
  4253. * storage/IDBCursorBackendImpl.cpp:
  4254. (WebCore::IDBCursorBackendImpl::currentRowExists):
  4255. (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
  4256. * storage/IDBCursorBackendImpl.h:
  4257. 2011-02-08 Pavel Podivilov <podivilov@chromium.org>
  4258. Reviewed by Yury Semikhatsky.
  4259. Web Inspector: script formatter should not create a worker for each script.
  4260. https://bugs.webkit.org/show_bug.cgi?id=54010
  4261. * inspector/front-end/ScriptFormatter.js:
  4262. (WebInspector.ScriptFormatter):
  4263. (WebInspector.ScriptFormatter.prototype._formatScript):
  4264. (WebInspector.ScriptFormatter.prototype._handleMessage):
  4265. (WebInspector.ScriptFormatter.prototype._handleError):
  4266. 2011-02-08 Pavel Podivilov <podivilov@chromium.org>
  4267. Reviewed by Pavel Feldman.
  4268. Web Inspector: sync uglifyjs parser files.
  4269. https://bugs.webkit.org/show_bug.cgi?id=54003
  4270. * inspector/front-end/UglifyJS/parse-js.js:
  4271. * inspector/front-end/UglifyJS/process.js:
  4272. 2011-02-08 Ryosuke Niwa <rniwa@webkit.org>
  4273. Reviewed by Darin Adler.
  4274. REGRESSION(71556,68059): queryCommandValue screws up background color at collapsed cursor
  4275. https://bugs.webkit.org/show_bug.cgi?id=53196
  4276. The bug was caused by Editor::selectionComputedStyle's modifying typing style without making a copy,
  4277. and its removing non-inheritable properties from the typing style. Fixed the bug by making a copy
  4278. before making the modification and not removing non-inheritable properties.
  4279. Also fixed a bug in selectionStartCSSPropertyValue that it doesn't handle xx-small to -webkit-xxx-large
  4280. by extracting a function from StyleChange::extractTextStyles and calling it in both extractTextStyles
  4281. and selectionStartCSSPropertyValue.
  4282. Test: editing/style/query-typing-style.html
  4283. * editing/ApplyStyleCommand.cpp:
  4284. (WebCore::legacyFontSizeFromCSSValue): Extracted from StyleChange::extractTextStyles.
  4285. (WebCore::StyleChange::extractTextStyles): Calls legacyFontSizeFromCSSValue; this fixes the bug that
  4286. CSS values from xx-small through -webkit-xxx-large are not accounted.
  4287. * editing/ApplyStyleCommand.h:
  4288. * editing/Editor.cpp:
  4289. (WebCore::Editor::selectionStartCSSPropertyValue): Calls legacyFontSizeFromCSSValue.
  4290. (WebCore::Editor::selectionComputedStyle): Makes a copy before modifying typing style.
  4291. No longer calls removeNonEditingProperties on the copied typing style so that background-color property
  4292. is included when merged into the style.
  4293. 2011-02-08 Sam Weinig <sam@webkit.org>
  4294. Reviewed by Maciej Stachowiak.
  4295. REGRESSION (r76831): Subframes are printed blank
  4296. <rdar://problem/8945867>
  4297. * page/FrameView.cpp:
  4298. (WebCore::FrameView::paintOverhangAreas):
  4299. Don't paint overhangs when printing.
  4300. 2011-02-07 Jeremy Orlow <jorlow@chromium.org>
  4301. Reviewed by Nate Chapin.
  4302. Events should propagate through IDBDatabase (for IDBRequest and IDBTransaction)
  4303. https://bugs.webkit.org/show_bug.cgi?id=53975
  4304. The third change in the series of overhauling IndexedDB's event model to match
  4305. the spec (at least the version in our heads and bugs).
  4306. Test: storage/indexeddb/transaction-event-propagation.html
  4307. * bindings/v8/V8DOMWrapper.cpp:
  4308. (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
  4309. * dom/Event.cpp:
  4310. (WebCore::Event::isIDBAbortEvent):
  4311. (WebCore::Event::isIDBCompleteEvent):
  4312. * dom/Event.h:
  4313. * dom/EventTarget.cpp:
  4314. (WebCore::EventTarget::toIDBDatabase):
  4315. * dom/EventTarget.h:
  4316. * storage/IDBDatabase.cpp:
  4317. (WebCore::IDBDatabase::create):
  4318. (WebCore::IDBDatabase::IDBDatabase):
  4319. (WebCore::IDBDatabase::scriptExecutionContext):
  4320. (WebCore::IDBDatabase::eventTargetData):
  4321. (WebCore::IDBDatabase::ensureEventTargetData):
  4322. * storage/IDBDatabase.h:
  4323. (WebCore::IDBDatabase::toIDBDatabase):
  4324. (WebCore::IDBDatabase::refEventTarget):
  4325. (WebCore::IDBDatabase::derefEventTarget):
  4326. * storage/IDBDatabase.idl:
  4327. * storage/IDBRequest.cpp:
  4328. (WebCore::IDBRequest::onSuccess):
  4329. (WebCore::IDBRequest::dispatchEvent):
  4330. * storage/IDBTransaction.cpp:
  4331. (WebCore::IDBTransaction::backend):
  4332. (WebCore::IDBTransaction::db):
  4333. (WebCore::IDBTransaction::objectStore):
  4334. (WebCore::IDBTransaction::scriptExecutionContext):
  4335. (WebCore::IDBTransaction::dispatchEvent):
  4336. (WebCore::IDBTransaction::enqueueEvent):
  4337. * storage/IDBTransaction.h:
  4338. (WebCore::IDBTransaction::dispatchEvent):
  4339. 2011-02-08 Kenneth Russell <kbr@google.com>
  4340. Reviewed by James Robinson.
  4341. Add cache for GPU-accelerated path processing results
  4342. https://bugs.webkit.org/show_bug.cgi?id=45519
  4343. Adding a cache which holds the results of processing a path into
  4344. interior and exterior triangle meshes, according to the path
  4345. rendering algorithm from GPU Gems 3. No tests yet; will be tested
  4346. in conjunction with later code.
  4347. * platform/graphics/gpu/LoopBlinnPathCache.cpp: Added.
  4348. (WebCore::LoopBlinnPathCache::LoopBlinnPathCache):
  4349. (WebCore::LoopBlinnPathCache::~LoopBlinnPathCache):
  4350. (WebCore::LoopBlinnPathCache::addVertex):
  4351. (WebCore::LoopBlinnPathCache::clear):
  4352. (WebCore::LoopBlinnPathCache::addInteriorVertex):
  4353. (WebCore::LoopBlinnPathCache::numberOfInteriorEdgeVertices):
  4354. (WebCore::LoopBlinnPathCache::interiorEdgeVertices):
  4355. (WebCore::LoopBlinnPathCache::addInteriorEdgeVertex):
  4356. * platform/graphics/gpu/LoopBlinnPathCache.h: Added.
  4357. (WebCore::LoopBlinnPathCache::numberOfVertices):
  4358. (WebCore::LoopBlinnPathCache::vertices):
  4359. (WebCore::LoopBlinnPathCache::texcoords):
  4360. (WebCore::LoopBlinnPathCache::numberOfInteriorVertices):
  4361. (WebCore::LoopBlinnPathCache::interiorVertices):
  4362. 2011-02-08 Zhenyao Mo <zmo@google.com>
  4363. Reviewed by Kenneth Russell.
  4364. Rename GraphicsContext3D::WebGLEnumType
  4365. https://bugs.webkit.org/show_bug.cgi?id=45708
  4366. * html/canvas/WebGLProgram.cpp:
  4367. (WebCore::WebGLProgram::getAttachedShader):
  4368. * html/canvas/WebGLProgram.h:
  4369. * platform/graphics/GraphicsContext3D.h:
  4370. 2011-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
  4371. Unreviewed, rolling out r77980.
  4372. http://trac.webkit.org/changeset/77980
  4373. https://bugs.webkit.org/show_bug.cgi?id=54043
  4374. "Crashes on Windows and Linux..." (Requested by leviw on
  4375. #webkit).
  4376. * WebCore.exp.in:
  4377. * accessibility/AXObjectCache.cpp:
  4378. (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
  4379. * accessibility/AccessibilityObject.cpp:
  4380. (WebCore::startOfStyleRange):
  4381. (WebCore::endOfStyleRange):
  4382. * accessibility/AccessibilityRenderObject.cpp:
  4383. (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
  4384. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
  4385. (objectAndOffsetUnignored):
  4386. * dom/Position.cpp:
  4387. (WebCore::Position::upstream):
  4388. (WebCore::Position::downstream):
  4389. * dom/Range.cpp:
  4390. (WebCore::Range::editingStartPosition):
  4391. * editing/Editor.cpp:
  4392. (WebCore::Editor::canDeleteRange):
  4393. * editing/ReplaceSelectionCommand.cpp:
  4394. (WebCore::ReplaceSelectionCommand::doApply):
  4395. * editing/SelectionController.cpp:
  4396. (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
  4397. (WebCore::SelectionController::setSelectedRange):
  4398. * editing/TextIterator.cpp:
  4399. (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
  4400. * editing/TypingCommand.cpp:
  4401. (WebCore::TypingCommand::deleteKeyPressed):
  4402. * editing/VisiblePosition.cpp:
  4403. (WebCore::VisiblePosition::VisiblePosition):
  4404. (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
  4405. (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
  4406. (WebCore::VisiblePosition::canonicalPosition):
  4407. (WebCore::VisiblePosition::characterAfter):
  4408. (WebCore::VisiblePosition::localCaretRect):
  4409. (WebCore::makeRange):
  4410. (WebCore::startVisiblePosition):
  4411. (WebCore::endVisiblePosition):
  4412. (WebCore::setStart):
  4413. (WebCore::setEnd):
  4414. (WebCore::isFirstVisiblePositionInNode):
  4415. (WebCore::isLastVisiblePositionInNode):
  4416. * editing/VisiblePosition.h:
  4417. * editing/htmlediting.cpp:
  4418. (WebCore::firstInSpecialElement):
  4419. (WebCore::lastInSpecialElement):
  4420. (WebCore::visiblePositionBeforeNode):
  4421. (WebCore::visiblePositionAfterNode):
  4422. * editing/visible_units.cpp:
  4423. (WebCore::startPositionForLine):
  4424. (WebCore::endPositionForLine):
  4425. (WebCore::previousLinePosition):
  4426. (WebCore::nextLinePosition):
  4427. (WebCore::startOfParagraph):
  4428. (WebCore::endOfParagraph):
  4429. (WebCore::endOfBlock):
  4430. (WebCore::startOfDocument):
  4431. (WebCore::endOfDocument):
  4432. (WebCore::logicalStartPositionForLine):
  4433. (WebCore::logicalEndPositionForLine):
  4434. * page/DOMSelection.cpp:
  4435. (WebCore::DOMSelection::collapse):
  4436. (WebCore::DOMSelection::setBaseAndExtent):
  4437. (WebCore::DOMSelection::setPosition):
  4438. (WebCore::DOMSelection::extend):
  4439. * page/EventHandler.cpp:
  4440. (WebCore::EventHandler::handleMousePressEventSingleClick):
  4441. * rendering/RenderObject.cpp:
  4442. (WebCore::RenderObject::createVisiblePosition):
  4443. * rendering/RenderTextControl.cpp:
  4444. (WebCore::RenderTextControl::visiblePositionForIndex):
  4445. * svg/SVGTextContentElement.cpp:
  4446. (WebCore::SVGTextContentElement::selectSubString):
  4447. 2011-02-08 Jia Pu <jpu@apple.com>
  4448. Reviewed by Darin Adler.
  4449. VisibleSelection::setWithoutValidation() should allow caret selection.
  4450. https://bugs.webkit.org/show_bug.cgi?id=53943
  4451. Test: editing/undo/undo-paste-when-caret-is-not-in-range.html
  4452. * editing/VisibleSelection.cpp:
  4453. (WebCore::VisibleSelection::setWithoutValidation):
  4454. 2011-02-08 Martin Robinson <mrobinson@igalia.com>
  4455. Reviewed by Xan Lopez.
  4456. [GTK] Remove the last remnants of the Mozilla theme drawing code
  4457. https://bugs.webkit.org/show_bug.cgi?id=54035
  4458. Remove all Mozilla theme drawing code.
  4459. No new tests. This change only removes dead code.
  4460. * GNUmakefile.am: Remove Mozilla files from the source list.
  4461. * platform/gtk/RenderThemeGtk.h: Remove Mozilla-theme-drawing-related methods
  4462. and add m_colormap to hold the current colormap of the widgets.
  4463. * platform/gtk/RenderThemeGtk2.cpp: Remove Mozilla code.
  4464. (WebCore::RenderThemeGtk::platformInit): Ditto.
  4465. (WebCore::RenderThemeGtk::~RenderThemeGtk): Ditto.
  4466. (WebCore::RenderThemeGtk::gtkContainer): Ditto.
  4467. * platform/gtk/ScrollbarThemeGtk2.cpp: Ditto.
  4468. * platform/gtk/WidgetRenderingContext.cpp: Ditto.
  4469. (WebCore::WidgetRenderingContext::WidgetRenderingContext): Ditto.
  4470. * platform/gtk/WidgetRenderingContext.h: Ditto.
  4471. * platform/gtk/gtk2drawing.c: Removed.
  4472. * platform/gtk/gtkdrawing.h: Removed.
  4473. 2011-02-08 Yael Aharon <yael.aharon@nokia.com>
  4474. Reviewed by Antti Koivisto.
  4475. Crash when logging into gmail.com with frame flattening turned on.
  4476. https://bugs.webkit.org/show_bug.cgi?id=52449
  4477. Frame flattening algorithm requires that layout always starts from the main frame, since layout of
  4478. subframes impacts the layout of their parents.
  4479. There are places in the code that call view->layout() not on the main frame.
  4480. Instead of changing all the callsites, I changed FrameView::layout()
  4481. to force layout from the main frame if frame flattening is enabled.
  4482. In addition, postLayoutTasks can trigger relayout, so make it use the timer even more.
  4483. Move the call to SelectionController::updateAppearance() to performPostLayoutTasks(),
  4484. because calling the from layout() leads to a crash in pages that have a selection in an iframe.
  4485. Tests: fast/frames/flattening/iframe-flattening-crash.html
  4486. fast/frames/flattening/iframe-flattening-selection-crash.html
  4487. * page/FrameView.cpp:
  4488. (WebCore::FrameView::layout):
  4489. (WebCore::FrameView::performPostLayoutTasks):
  4490. 2011-02-08 Andy Estes <aestes@apple.com>
  4491. Reviewed by Darin Adler.
  4492. <rdar://problem/8913952> REGRESSION (r76301): 'plaintext-only' must be
  4493. a supported contentEditable mode.
  4494. https://bugs.webkit.org/show_bug.cgi?id=54041
  4495. * html/HTMLElement.cpp:
  4496. (WebCore::HTMLElement::setContentEditable): Setting the contentEditable
  4497. attribute to 'plaintext-only' should not throw an exception.
  4498. 2011-02-08 Dan Bernstein <mitz@apple.com>
  4499. Reviewed by Simon Fraser.
  4500. RenderRubyRun::m_beingDestroyed is redundant
  4501. https://bugs.webkit.org/show_bug.cgi?id=54042
  4502. * rendering/RenderRubyRun.cpp:
  4503. (WebCore::RenderRubyRun::RenderRubyRun): Removed intialization of m_beingDestroyed.
  4504. (WebCore::RenderRubyRun::removeChild): Use the base class beingDestroyed().
  4505. * rendering/RenderRubyRun.h:
  4506. 2011-02-08 Levi Weintraub <leviw@chromium.org>
  4507. Reviewed by Ryosuke Niwa.
  4508. Stop instantiating legacy editing Positions in VisiblePosition
  4509. https://bugs.webkit.org/show_bug.cgi?id=52919
  4510. Changing VisiblePosition completely away from legacy positions.
  4511. No new tests since this is functionaly equivalent.
  4512. * WebCore.exp.in: Removing the legacy VisiblePosition constructor and
  4513. adding the PositionIsOffsetInAnchor symbol. If we must create VisiblePositions
  4514. outside of WebCore, they should be parent anchored.
  4515. * accessibility/AXObjectCache.cpp:
  4516. (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
  4517. * accessibility/AccessibilityObject.cpp:
  4518. (WebCore::startOfStyleRange):
  4519. (WebCore::endOfStyleRange):
  4520. * accessibility/AccessibilityRenderObject.cpp:
  4521. (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
  4522. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
  4523. (objectAndOffsetUnignored):
  4524. * dom/Position.cpp:
  4525. (WebCore::Position::upstream): Fixed to correctly respect PositionIsAfterAnchor
  4526. (WebCore::Position::downstream): ditto
  4527. * dom/Range.cpp:
  4528. (WebCore::Range::editingStartPosition):
  4529. * editing/Editor.cpp:
  4530. (WebCore::Editor::canDeleteRange):
  4531. * editing/ReplaceSelectionCommand.cpp:
  4532. (WebCore::ReplaceSelectionCommand::doApply):
  4533. * editing/SelectionController.cpp:
  4534. (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
  4535. (WebCore::SelectionController::setSelectedRange):
  4536. * editing/TextIterator.cpp:
  4537. (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
  4538. * editing/TypingCommand.cpp:
  4539. (WebCore::TypingCommand::deleteKeyPressed):
  4540. * editing/VisiblePosition.cpp:
  4541. (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
  4542. (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
  4543. (WebCore::VisiblePosition::canonicalPosition):
  4544. (WebCore::VisiblePosition::characterAfter):
  4545. (WebCore::VisiblePosition::localCaretRect):
  4546. (WebCore::makeRange):
  4547. (WebCore::startVisiblePosition):
  4548. (WebCore::endVisiblePosition):
  4549. (WebCore::setStart):
  4550. (WebCore::setEnd):
  4551. (WebCore::isFirstVisiblePositionInNode):
  4552. (WebCore::isLastVisiblePositionInNode):
  4553. * editing/VisiblePosition.h:
  4554. (WebCore::VisiblePosition::VisiblePosition):
  4555. * editing/htmlediting.cpp:
  4556. (WebCore::firstInSpecialElement):
  4557. (WebCore::lastInSpecialElement):
  4558. (WebCore::visiblePositionBeforeNode):
  4559. (WebCore::visiblePositionAfterNode):
  4560. * editing/visible_units.cpp:
  4561. (WebCore::startPositionForLine):
  4562. (WebCore::endPositionForLine):
  4563. (WebCore::previousLinePosition):
  4564. (WebCore::nextLinePosition):
  4565. (WebCore::startOfParagraph):
  4566. (WebCore::endOfParagraph):
  4567. (WebCore::endOfBlock):
  4568. (WebCore::startOfDocument):
  4569. (WebCore::endOfDocument):
  4570. (WebCore::logicalStartPositionForLine):
  4571. (WebCore::logicalEndPositionForLine):
  4572. * page/DOMSelection.cpp:
  4573. (WebCore::DOMSelection::collapse):
  4574. (WebCore::DOMSelection::setBaseAndExtent):
  4575. (WebCore::DOMSelection::setPosition):
  4576. (WebCore::DOMSelection::extend):
  4577. * page/EventHandler.cpp:
  4578. (WebCore::EventHandler::handleMousePressEventSingleClick):
  4579. * rendering/RenderObject.cpp:
  4580. (WebCore::RenderObject::createVisiblePosition):
  4581. * rendering/RenderTextControl.cpp:
  4582. (WebCore::RenderTextControl::visiblePositionForIndex):
  4583. * svg/SVGTextContentElement.cpp:
  4584. (WebCore::SVGTextContentElement::selectSubString):
  4585. 2011-02-08 Michael Saboff <msaboff@apple.com>
  4586. JSC::Bindings m_rootObject->isValid() assert fails when running layout tests
  4587. https://bugs.webkit.org/show_bug.cgi?id=53716
  4588. Changed ASSERT to be an if for the case where the RuntimeObject was
  4589. GC'ed before RootObject::invalidate is called. In that case there is
  4590. no need to remove the RuntimeObject from the RootObject. The isValid()
  4591. call will be false in this case, but the RuntimeObject has already
  4592. been removed from the RootObject. Added similar defensive code
  4593. in RootObject::removeRuntimeObject().
  4594. * bridge/jsc/BridgeJSC.cpp:
  4595. (JSC::Bindings::Instance::willDestroyRuntimeObject):
  4596. * bridge/runtime_root.cpp:
  4597. (JSC::Bindings::RootObject::removeRuntimeObject):
  4598. 2011-02-08 Beth Dakin <bdakin@apple.com>
  4599. Reviewed by Darin Adler.
  4600. Fix for <rdar://problem/8953365> CrashTracer: 14
  4601. crashes in WebProcess at com.apple.WebCore:
  4602. -[ScrollKnobAnimation setCurrentProgress:] + 258
  4603. This crash seems to happen when the animation is running
  4604. and a window is closed. If the ScrollAnimator is destroyed,
  4605. delegate calls for the animation can still run, so we have
  4606. to make sure we inform the delegates when the ScrollAnimator
  4607. is gone, and then we have to null-check it before we do
  4608. anything with it.
  4609. Remove scrollbarPainterDelegate() since it's not used anymore.
  4610. * platform/mac/ScrollAnimatorMac.h:
  4611. * platform/mac/ScrollAnimatorMac.mm:
  4612. Add null-checks for _animator
  4613. (-[ScrollbarPartAnimation setCurrentProgress:]):
  4614. (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
  4615. (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
  4616. (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
  4617. (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
  4618. New function to inform the delegates that the ScrollAnimator
  4619. is being destroyed.
  4620. (-[ScrollbarPainterDelegate scrollAnimatorDestroyed]):
  4621. (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
  4622. 2011-02-08 Adam Barth <abarth@webkit.org>
  4623. Reviewed by Eric Seidel.
  4624. Remove orphan code from old parser
  4625. https://bugs.webkit.org/show_bug.cgi?id=53984
  4626. This code appears to be unused.
  4627. * html/HTMLParserErrorCodes.cpp:
  4628. * html/HTMLParserErrorCodes.h:
  4629. * html/HTMLParserQuirks.h:
  4630. * loader/EmptyClients.h:
  4631. * page/ChromeClient.h:
  4632. 2011-02-08 Martin Robinson <mrobinson@igalia.com>
  4633. Reviewed by Gustavo Noronha Silva.
  4634. [GTK] Move scrollbar rendering out of gtk2drawing.c
  4635. https://bugs.webkit.org/show_bug.cgi?id=52836
  4636. Replace gtk2drawing.c scrollbar rendering with our own version. This
  4637. is the last use of the Mozilla theme drawing code.
  4638. No new tests. This should not change the rendering of the default
  4639. theme.
  4640. * platform/gtk/GtkVersioning.h: Add some more backported allocation setters.
  4641. * platform/gtk/RenderThemeGtk.h: Add a getter for the scrollbar widgets.
  4642. * platform/gtk/RenderThemeGtk2.cpp: Initialize and add getters for scrollbar widgets.
  4643. (WebCore::RenderThemeGtk::platformInit): Ditto.
  4644. (WebCore::RenderThemeGtk::gtkHScrollbar): Ditto.
  4645. (WebCore::RenderThemeGtk::gtkVScrollbar): Ditto.
  4646. * platform/gtk/ScrollbarThemeGtk.cpp:
  4647. (WebCore::ScrollbarThemeGtk::paint): We only repaint the scrolled
  4648. window background if we are repainting a button or the thumb. In that
  4649. case also repaint the track rect.
  4650. * platform/gtk/ScrollbarThemeGtk2.cpp: Port to WidgetRenderingContext.
  4651. (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): Ditto.
  4652. (WebCore::ScrollbarThemeGtk::updateThemeProperties): Ditto.
  4653. (WebCore::getWidgetForScrollbar): Ditto.
  4654. (WebCore::ScrollbarThemeGtk::paintTrackBackground): Ditto.
  4655. (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Ditto.
  4656. (WebCore::ScrollbarThemeGtk::paintThumb): Ditto.
  4657. (WebCore::ScrollbarThemeGtk::paintButton): Ditto.
  4658. * platform/gtk/WidgetRenderingContext.cpp: Ditto.
  4659. (WebCore::WidgetRenderingContext::gtkPaintBox): Added an option which
  4660. also adjusts a widget allocation according to the paint rect. This is
  4661. necessary to properly draw scrollbar buttons.
  4662. * platform/gtk/WidgetRenderingContext.h: Ditto.
  4663. 2011-02-08 Simon Fraser <simon.fraser@apple.com>
  4664. Reviewed by Dan Bernstein.
  4665. Inset shadow with large offset renders incorrectly
  4666. https://bugs.webkit.org/show_bug.cgi?id=53882
  4667. Fix an issue with inset shadows, when the shadow offset
  4668. was larger than the box size. In this case we'd fail to
  4669. fill the box with the shadow color.
  4670. Test: fast/box-shadow/inset-shadow-large-offset.html
  4671. * rendering/RenderBoxModelObject.cpp:
  4672. (WebCore::areaCastingShadowInHole): Return a rect that covers the area
  4673. which contributes to the inset shadow.
  4674. (WebCore::RenderBoxModelObject::paintBoxShadow): Use areaCastingShadowInHole()
  4675. to compute the outerRect.
  4676. 2011-02-08 Zhenyao Mo <zmo@google.com>
  4677. Reviewed by Kenneth Russell.
  4678. drawElements should check if a buffer is bound to ELEMENT_ARRAY_BUFFER
  4679. https://bugs.webkit.org/show_bug.cgi?id=54017
  4680. * html/canvas/WebGLRenderingContext.cpp:
  4681. (WebCore::WebGLRenderingContext::drawElements):
  4682. 2011-01-28 Dimitri Glazkov <dglazkov@chromium.org>
  4683. Reviewed by Darin Adler.
  4684. Change the rest of HTMLMediaElement shadow DOM parts to use shadowPseudoId.
  4685. https://bugs.webkit.org/show_bug.cgi?id=53190
  4686. This is the second part of refactoring the HTMLMediaElement to use new
  4687. shadow DOM. The changes are mainly mechanical, except for needing to
  4688. add a new method to RenderTheme, which indicates whether or not status
  4689. display is being used by it. Previously, we relied on existence of a cached
  4690. pseudo style.
  4691. Refactoring, covered by existing tests.
  4692. * css/CSSSelector.cpp:
  4693. (WebCore::CSSSelector::pseudoId): Removed now-unused enum values.
  4694. (WebCore::nameToPseudoTypeMap): Ditto.
  4695. (WebCore::CSSSelector::extractPseudoType): Ditto.
  4696. * css/CSSSelector.h: Ditto.
  4697. * html/shadow/MediaControls.cpp:
  4698. (WebCore::MediaControls::createPanel): Changed to use the newly-added MediaControlPanelElement.
  4699. (WebCore::MediaControls::createCurrentTimeDisplay): Changed to use the newly-added
  4700. MediaControlCurrentTimeDisplayElement.
  4701. (WebCore::MediaControls::createTimeRemainingDisplay): Changed to use the newly-added
  4702. MediaControlTimeRemainingDisplayElement.
  4703. * rendering/MediaControlElements.cpp:
  4704. (WebCore::MediaControlShadowRootElement::updateStyle): Changed to use the
  4705. standard style resolution.
  4706. (WebCore::MediaControlShadowRootElement::shadowPseudoId): Added.
  4707. (WebCore::MediaControlElement::MediaControlElement): Removed the switch statement
  4708. that is no longer necessary.
  4709. (WebCore::MediaControlElement::styleForElement): Changed to use the standard
  4710. style resolution.
  4711. (WebCore::MediaControlPanelElement::MediaControlPanelElement): Added.
  4712. (WebCore::MediaControlPanelElement::create): Added.
  4713. (WebCore::MediaControlPanelElement::displayType): Added.
  4714. (WebCore::MediaControlPanelElement::shadowPseudoId): Added.
  4715. (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement):
  4716. Removed PseudoId constructor arg.
  4717. (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
  4718. Changed to use the newly-plumbed usesMediaControlStatusDisplay helper.
  4719. (WebCore::MediaControlTimelineContainerElement::displayType): Added.
  4720. (WebCore::MediaControlTimelineContainerElement::shadowPseudoId): Added.
  4721. (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
  4722. Removed PseudoId constructor arg.
  4723. (WebCore::MediaControlVolumeSliderContainerElement::displayType): Added.
  4724. (WebCore::MediaControlVolumeSliderContainerElement::shadowPseudoId): Added.
  4725. (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
  4726. Removed PseudoId constructor arg.
  4727. (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Changed to
  4728. use the newly-plumbed usesMediaControlStatusDisplay helper.
  4729. (WebCore::MediaControlStatusDisplayElement::displayType): Added.
  4730. (WebCore::MediaControlStatusDisplayElement::shadowPseudoId): Added.
  4731. (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
  4732. Removed PseudoId constructor arg.
  4733. (WebCore::MediaControlTimeRemainingDisplayElement::create): Added.
  4734. (WebCore::MediaControlTimeRemainingDisplayElement::MediaControlTimeRemainingDisplayElement): Added.
  4735. (WebCore::MediaControlTimeRemainingDisplayElement::displayType): Added.
  4736. (WebCore::MediaControlTimeRemainingDisplayElement::shadowPseudoId): Added.
  4737. (WebCore::MediaControlCurrentTimeDisplayElement::create): Added.
  4738. (WebCore::MediaControlCurrentTimeDisplayElement::MediaControlCurrentTimeDisplayElement): Added.
  4739. (WebCore::MediaControlCurrentTimeDisplayElement::displayType): Added.
  4740. (WebCore::MediaControlCurrentTimeDisplayElement::shadowPseudoId): Added.
  4741. * rendering/MediaControlElements.h: Added/changed defs accordingly.
  4742. * rendering/RenderTheme.h:
  4743. (WebCore::RenderTheme::usesMediaControlStatusDisplay): Added.
  4744. * rendering/RenderThemeMac.h: Added def.
  4745. * rendering/RenderThemeMac.mm:
  4746. (WebCore::RenderThemeMac::usesMediaControlStatusDisplay): Added.
  4747. * rendering/style/RenderStyleConstants.h: Removed now-unused enum values.
  4748. 2011-02-08 Xiaomei Ji <xji@chromium.org>
  4749. Reviewed by Dan Bernstein.
  4750. Fix pop-up button text not rendered correctly according to its direction
  4751. in <option>.
  4752. https://bugs.webkit.org/show_bug.cgi?id=53642
  4753. In adjustInnerStyle(), if m_innerBlock's direction or unicode-bidi
  4754. changes, set it needs layout.
  4755. Test: fast/text/international/pop-up-button-text-alignment-and-direction.html
  4756. * rendering/RenderMenuList.cpp:
  4757. (WebCore::RenderMenuList::adjustInnerStyle):
  4758. 2011-02-08 Ilya Tikhonovsky <loislo@chromium.org>
  4759. Unreviewed build fix for Qt-minimal.
  4760. * inspector/InspectorInstrumentation.h:
  4761. (WebCore::InspectorInstrumentation::hasFrontend):
  4762. 2011-02-02 Ilya Tikhonovsky <loislo@chromium.org>
  4763. Reviewed by Yury Semikhatsky.
  4764. Web Inspector: move InspectorController's methods from InspectorAgent to InspectorController.
  4765. https://bugs.webkit.org/show_bug.cgi?id=53169
  4766. All the Inspector API for WebCore has two parts.
  4767. The first one is InspectorInstrumentation for WebCore.
  4768. The second is InspectorController for WebKit.
  4769. InspectorAgent was produced by renaming original InspectorController.
  4770. This patch extracts WebKit related methods from InspectorAgent to InspectorController.
  4771. * WebCore.exp.in:
  4772. * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
  4773. * html/HTMLDocument.cpp:
  4774. (WebCore::HTMLDocument::createParser):
  4775. * inspector/InspectorAgent.cpp:
  4776. (WebCore::InspectorAgent::InspectorAgent):
  4777. (WebCore::InspectorAgent::~InspectorAgent):
  4778. (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
  4779. (WebCore::InspectorAgent::inspect):
  4780. (WebCore::InspectorAgent::handleMousePress):
  4781. (WebCore::InspectorAgent::didClearWindowObjectInWorld):
  4782. (WebCore::InspectorAgent::setFrontend):
  4783. (WebCore::InspectorAgent::disconnectFrontend):
  4784. (WebCore::InspectorAgent::resourceAgent):
  4785. (WebCore::InspectorAgent::createFrontendLifetimeAgents):
  4786. (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
  4787. (WebCore::InspectorAgent::populateScriptObjects):
  4788. (WebCore::InspectorAgent::pushDataCollectedOffline):
  4789. (WebCore::InspectorAgent::restoreProfiler):
  4790. (WebCore::InspectorAgent::startTimelineProfiler):
  4791. (WebCore::PostWorkerNotificationToFrontendTask::performTask):
  4792. (WebCore::InspectorAgent::didOpenDatabase):
  4793. (WebCore::InspectorAgent::didUseDOMStorage):
  4794. (WebCore::InspectorAgent::showAndEnableDebugger):
  4795. (WebCore::InspectorAgent::enableDebugger):
  4796. (WebCore::InspectorAgent::enabled):
  4797. * inspector/InspectorAgent.h:
  4798. (WebCore::InspectorAgent::frontend):
  4799. * inspector/InspectorController.cpp:
  4800. (WebCore::InspectorController::InspectorController):
  4801. (WebCore::InspectorController::~InspectorController):
  4802. (WebCore::InspectorController::setInspectorFrontendClient):
  4803. (WebCore::InspectorController::hasInspectorFrontendClient):
  4804. (WebCore::InspectorController::didClearWindowObjectInWorld):
  4805. (WebCore::InspectorController::startTimelineProfiler):
  4806. (WebCore::InspectorController::stopTimelineProfiler):
  4807. (WebCore::InspectorController::connectFrontend):
  4808. (WebCore::InspectorController::disconnectFrontend):
  4809. (WebCore::InspectorController::disconnectFrontendImpl):
  4810. (WebCore::InspectorController::show):
  4811. (WebCore::InspectorController::close):
  4812. (WebCore::InspectorController::restoreInspectorStateFromCookie):
  4813. (WebCore::InspectorController::evaluateForTestInFrontend):
  4814. (WebCore::InspectorController::drawNodeHighlight):
  4815. (WebCore::InspectorController::inspect):
  4816. (WebCore::InspectorController::enabled):
  4817. (WebCore::InspectorController::showPanel):
  4818. (WebCore::InspectorController::frontendLoaded):
  4819. (WebCore::InspectorController::timelineProfilerEnabled):
  4820. (WebCore::InspectorController::enableProfiler):
  4821. (WebCore::InspectorController::disableProfiler):
  4822. (WebCore::InspectorController::profilerEnabled):
  4823. (WebCore::InspectorController::debuggerEnabled):
  4824. (WebCore::InspectorController::showAndEnableDebugger):
  4825. (WebCore::InspectorController::disableDebugger):
  4826. (WebCore::InspectorController::startUserInitiatedProfiling):
  4827. (WebCore::InspectorController::stopUserInitiatedProfiling):
  4828. (WebCore::InspectorController::isRecordingUserInitiatedProfile):
  4829. (WebCore::InspectorController::setInspectorExtensionAPI):
  4830. (WebCore::InspectorController::resume):
  4831. (WebCore::InspectorController::hideHighlight):
  4832. (WebCore::InspectorController::dispatchMessageFromFrontend):
  4833. * inspector/InspectorController.h:
  4834. (WebCore::InspectorController::inspectorClient):
  4835. (WebCore::InspectorController::inspectedPage):
  4836. (WebCore::InspectorController::hasFrontend):
  4837. * inspector/InspectorFrontendClientLocal.cpp:
  4838. (WebCore::InspectorFrontendClientLocal::sendMessageToBackend):
  4839. * inspector/InspectorFrontendHost.cpp:
  4840. (WebCore::InspectorFrontendHost::setExtensionAPI):
  4841. * inspector/InspectorInstrumentation.cpp:
  4842. (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
  4843. (WebCore::InspectorInstrumentation::profilerEnabledImpl):
  4844. * inspector/InspectorInstrumentation.h:
  4845. (WebCore::InspectorInstrumentation::hasFrontend):
  4846. * loader/FrameLoader.cpp:
  4847. (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
  4848. 2011-02-08 George Wright <gwright@rim.com>
  4849. Reviewed by Adam Barth.
  4850. https://bugs.webkit.org/show_bug.cgi?id=53949
  4851. Ensure that we pack the colour byte order correctly for Skia using
  4852. Skia's SkPackARGB32 function.
  4853. * platform/image-decoders/ImageDecoder.h:
  4854. (WebCore::ImageFrame::setRGBA):
  4855. 2011-02-08 George Wright <gwright@rim.com>
  4856. Reviewed by Darin Adler.
  4857. https://bugs.webkit.org/show_bug.cgi?id=53951
  4858. Ensure we do not pass (-1, -1) sized rects to ImageBuffer but instead
  4859. pass the full image dimensions.
  4860. * platform/graphics/GraphicsContext.cpp:
  4861. (WebCore::GraphicsContext::drawImageBuffer):
  4862. 2011-02-08 Patrick Gansterer <paroga@webkit.org>
  4863. Reviewed by Adam Roben.
  4864. [WIN] Add missing includes and forward declarations for DownloadBundle
  4865. https://bugs.webkit.org/show_bug.cgi?id=53881
  4866. * platform/network/cf/DownloadBundle.h:
  4867. * platform/network/win/DownloadBundleWin.cpp:
  4868. (WebCore::DownloadBundle::appendResumeData):
  4869. 2011-02-08 Patrick Gansterer <paroga@webkit.org>
  4870. Reviewed by Adam Roben.
  4871. [WIN] Add missing include in WKCAImageQueue
  4872. https://bugs.webkit.org/show_bug.cgi?id=53890
  4873. * platform/graphics/win/WKCAImageQueue.cpp:
  4874. 2011-02-08 Patrick Gansterer <paroga@webkit.org>
  4875. Reviewed by Adam Roben.
  4876. [WIN] Add missing includes and forward declarations for CFNetwork
  4877. https://bugs.webkit.org/show_bug.cgi?id=53883
  4878. * platform/network/cf/DNSCFNet.cpp:
  4879. * platform/network/cf/LoaderRunLoopCF.cpp:
  4880. * platform/network/cf/LoaderRunLoopCF.h:
  4881. * platform/network/cf/ProxyServerCFNet.cpp:
  4882. * platform/network/cf/SocketStreamHandle.h:
  4883. * platform/network/cf/SocketStreamHandleCFNet.cpp:
  4884. 2011-02-08 Patrick Gansterer <paroga@webkit.org>
  4885. Unreviewed WinCE build fix for r77870.
  4886. * platform/DragImage.cpp: Enable createDragImageForLink for WinCE.
  4887. 2011-02-08 Pavel Feldman <pfeldman@chromium.org>
  4888. Reviewed by Yury Semikhatsky.
  4889. Web Inspector: open network resource url in new tab upon double click.
  4890. https://bugs.webkit.org/show_bug.cgi?id=53930
  4891. * inspector/front-end/NetworkPanel.js:
  4892. (WebInspector.NetworkDataGridNode.prototype.createCells):
  4893. (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
  4894. 2011-02-08 Yonathan Randolph <yonathan@gmail.com>
  4895. Reviewed by Pavel Feldman.
  4896. Web Inspector: $x: any node should work in optional context parameter.
  4897. https://bugs.webkit.org/show_bug.cgi?id=50138
  4898. * inspector/InjectedScriptSource.js:
  4899. 2011-02-08 Patrick Gansterer <paroga@webkit.org>
  4900. Unreviewed WinCE build fix for r77870.
  4901. Remove the global namespace prefix from GlobalLock/GlobalUnlock.
  4902. * platform/win/ClipboardUtilitiesWin.cpp:
  4903. 2011-02-08 Pavel Feldman <pfeldman@chromium.org>
  4904. Not reviewed: re-apply r77924.
  4905. Test: inspector/console-api-on-call-frame.html
  4906. * inspector/InjectedScriptSource.js:
  4907. * inspector/front-end/ExtensionServer.js:
  4908. (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
  4909. 2011-02-08 Andreas Kling <kling@webkit.org>
  4910. Reviewed by Tor Arne Vestbø.
  4911. REGRESSION(r77312): Unbreak TiledBackingStore.
  4912. Due to an off-by-one error, we were no longer rendering the
  4913. rightmost column and bottom row of tiles.
  4914. Covered by tst_QGraphicsWebView::widgetsRenderingThroughCache().
  4915. * platform/graphics/TiledBackingStore.cpp:
  4916. (WebCore::TiledBackingStore::invalidate):
  4917. (WebCore::TiledBackingStore::updateTileBuffers):
  4918. (WebCore::TiledBackingStore::paint):
  4919. (WebCore::TiledBackingStore::createTiles):
  4920. 2011-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
  4921. Unreviewed, rolling out r77924.
  4922. http://trac.webkit.org/changeset/77924
  4923. https://bugs.webkit.org/show_bug.cgi?id=53997
  4924. Breaks inspector tests. (Requested by pfeldman on #webkit).
  4925. * inspector/InjectedScriptSource.js:
  4926. (.):
  4927. ():
  4928. 2011-02-08 Andrey Kosyakov <caseq@chromium.org>
  4929. Reviewed by Pavel Feldman.
  4930. Web Inspector: [refacotring] merge InspectorAgent::willSendRequest() into InspectorResourceAgent
  4931. https://bugs.webkit.org/show_bug.cgi?id=53789
  4932. - perform UserAgent override via InspectorInstrumentation
  4933. - move adding extra request headers to InspectorResourceAgent
  4934. - simplified things in InspectorState
  4935. * inspector/Inspector.idl:
  4936. * inspector/InspectorAgent.cpp:
  4937. (WebCore::InspectorAgent::disconnectFrontend):
  4938. (WebCore::InspectorAgent::applyUserAgentOverride):
  4939. * inspector/InspectorAgent.h:
  4940. * inspector/InspectorInstrumentation.cpp:
  4941. (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl):
  4942. (WebCore::InspectorInstrumentation::willSendRequestImpl):
  4943. * inspector/InspectorInstrumentation.h:
  4944. (WebCore::InspectorInstrumentation::applyUserAgentOverride):
  4945. * inspector/InspectorResourceAgent.cpp:
  4946. (WebCore::InspectorResourceAgent::setExtraHeaders):
  4947. (WebCore::InspectorResourceAgent::willSendRequest):
  4948. * inspector/InspectorResourceAgent.h:
  4949. * inspector/InspectorState.cpp:
  4950. (WebCore::InspectorState::InspectorState):
  4951. (WebCore::InspectorState::restoreFromInspectorCookie):
  4952. (WebCore::InspectorState::updateCookie):
  4953. (WebCore::InspectorState::setValue):
  4954. (WebCore::InspectorState::getBoolean):
  4955. (WebCore::InspectorState::getString):
  4956. (WebCore::InspectorState::getLong):
  4957. (WebCore::InspectorState::getObject):
  4958. * inspector/InspectorState.h:
  4959. (WebCore::InspectorState::setObject):
  4960. * loader/FrameLoader.cpp:
  4961. (WebCore::FrameLoader::userAgent):
  4962. 2011-02-08 Pavel Feldman <pfeldman@chromium.org>
  4963. Reviewed by Yury Semikhatsky.
  4964. Web Inspector: do not hide scope variables with command line api.
  4965. https://bugs.webkit.org/show_bug.cgi?id=53497
  4966. Test: inspector/console-api-on-call-frame.html
  4967. * inspector/InjectedScriptSource.js:
  4968. 2011-02-08 Pavel Feldman <pfeldman@chromium.org>
  4969. Reviewed by Yury Semikhatsky.
  4970. Web Inspector: ignore cache upon reload via Ctrl(Cmd)+Shift+R.
  4971. https://bugs.webkit.org/show_bug.cgi?id=53914
  4972. * inspector/Inspector.idl:
  4973. * inspector/InspectorAgent.cpp:
  4974. (WebCore::InspectorAgent::reloadPage):
  4975. * inspector/InspectorAgent.h:
  4976. * inspector/front-end/AuditsPanel.js:
  4977. (WebInspector.AuditsPanel.prototype._reloadResources):
  4978. * inspector/front-end/ExtensionServer.js:
  4979. (WebInspector.ExtensionServer.prototype._onReload):
  4980. * inspector/front-end/inspector.js:
  4981. (WebInspector.documentKeyDown):
  4982. 2011-02-08 Antti Koivisto <antti@apple.com>
  4983. Reviewed by Cameron Zwarich.
  4984. Skip over sibling selectors when collecting descendant selector hashes
  4985. https://bugs.webkit.org/show_bug.cgi?id=53987
  4986. Skip instead of bailing out. This will allow optimizing some sibling selector cases.
  4987. * css/CSSStyleSelector.cpp:
  4988. (WebCore::RuleData::RuleData):
  4989. (WebCore::RuleData::collectIdentifierHashes):
  4990. (WebCore::RuleData::collectDescendantSelectorIdentifierHashes):
  4991. * css/CSSStyleSelector.h:
  4992. 2011-02-07 Cris Neckar <cdn@chromium.org>
  4993. Reviewed by Jian Li.
  4994. Fix null deref in DOMURL
  4995. https://bugs.webkit.org/show_bug.cgi?id=53811
  4996. Test: fast/files/domurl-script-execution-context-crash.html
  4997. * html/DOMURL.cpp:
  4998. (WebCore::DOMURL::DOMURL):
  4999. 2011-02-07 Mark Rowe <mrowe@apple.com>
  5000. Fix the 32-bit build.
  5001. * platform/mac/ScrollAnimatorMac.mm:
  5002. (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar): Remove some extraneous characters.
  5003. (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar): Ditto.
  5004. 2011-02-07 Xiyuan Xia <xiyuan@chromium.org>
  5005. Reviewed by Tony Chang.
  5006. [Chromium] Select popup box does not align with select button when appearance is not "menulist".
  5007. https://bugs.webkit.org/show_bug.cgi?id=53942
  5008. Added manual test select_webkit_appearance_off_popup_alignment.html.
  5009. * manual-tests/select_webkit_appearance_off_popup_alignment.html: Added.
  5010. * platform/chromium/PopupMenuChromium.cpp:
  5011. (WebCore::PopupListBox::layout):
  5012. 2011-02-07 Aparna Nandyal <aparna.nand@wipro.com>
  5013. Reviewed by Andreas Kling.
  5014. [Qt] - Context menu needs "Copy" as well when the selected text is a link.
  5015. https://bugs.webkit.org/show_bug.cgi?id=40983
  5016. Added copy option for Qt platform if selection is a link.
  5017. Added a test in tst_qwebpage.cpp.
  5018. * page/ContextMenuController.cpp:
  5019. (WebCore::ContextMenuController::populate):
  5020. 2011-02-07 Mike Reed <reed@google.com>
  5021. Reviewed by Kenneth Russell.
  5022. Add compile-time flag ENABLE(SKIA_GPU) to use Skia's gpu backend
  5023. when drawing <canvas>. Disabled by default.
  5024. No new tests. existing canvas layouttests apply
  5025. * platform/graphics/chromium/DrawingBufferChromium.cpp:
  5026. (WebCore::DrawingBuffer::publishToPlatformLayer):
  5027. * platform/graphics/skia/PlatformContextSkia.cpp:
  5028. (WebCore::GetGlobalGrContext):
  5029. (WebCore::PlatformContextSkia::isPrinting):
  5030. (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
  5031. (WebCore::PlatformContextSkia::syncSoftwareCanvas):
  5032. 2011-02-07 Jay Civelli <jcivelli@chromium.org>
  5033. Reviewed by Darin Fisher.
  5034. Removing unused code from PopupMenuChromium.
  5035. https://bugs.webkit.org/show_bug.cgi?id=53866
  5036. * platform/chromium/PopupMenuChromium.cpp:
  5037. (WebCore::PopupListBox::layout):
  5038. (WebCore::PopupMenuChromium::show):
  5039. * platform/chromium/PopupMenuChromium.h:
  5040. 2011-02-07 Kenichi Ishibashi <bashi@chromium.org>
  5041. Reviewed by Andreas Kling.
  5042. HTMLOutputElement::childrenChanged() should call its base class childrenChanged()
  5043. https://bugs.webkit.org/show_bug.cgi?id=53791
  5044. Calls HTMLFormControlElement::childrenChanged() in HTMLOutputElement::childrenChanged().
  5045. Test: fast/dom/HTMLOutputElement/htmloutputelement-children-removed.html
  5046. * html/HTMLOutputElement.cpp:
  5047. (WebCore::HTMLOutputElement::childrenChanged): Calls super class's
  5048. childrenChanged().
  5049. 2011-02-07 Benjamin Poulain <ikipou@gmail.com>
  5050. Reviewed by Kenneth Rohde Christiansen.
  5051. [Qt] cookiesEnabled could create the cookieJar on the wrong thread.
  5052. https://bugs.webkit.org/show_bug.cgi?id=52289
  5053. Use the QtNAMThreadSafeProxy to make sure the cookie jar is created
  5054. in the same thread as the QNetworkAccessManager.
  5055. * platform/network/qt/QtNAMThreadSafeProxy.cpp:
  5056. (WebCore::QtNAMThreadSafeProxy::QtNAMThreadSafeProxy):
  5057. (WebCore::QtNAMThreadSafeProxy::hasCookieJar):
  5058. * platform/network/qt/QtNAMThreadSafeProxy.h:
  5059. * platform/qt/CookieJarQt.cpp:
  5060. (WebCore::cookiesEnabled):
  5061. 2011-02-07 Alexey Marinichev <amarinichev@chromium.org>
  5062. Reviewed by Kenneth Russell.
  5063. Hook up WebGraphicsContext3D::setContextLostCallback.
  5064. https://bugs.webkit.org/show_bug.cgi?id=53722
  5065. Test: fast/canvas/webgl/context-lost.html, comment out the line with
  5066. extension.loseContext() and kill the GPU process "Lose context"
  5067. message shows up.
  5068. * html/canvas/WebGLRenderingContext.cpp:
  5069. (WebCore::WebGLRenderingContextLostCallback::WebGLRenderingContextLostCallback):
  5070. (WebCore::WebGLRenderingContextLostCallback::onContextLost):
  5071. (WebCore::WebGLRenderingContextLostCallback::~WebGLRenderingContextLostCallback):
  5072. (WebCore::WebGLRenderingContext::initializeNewContext):
  5073. (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
  5074. * platform/graphics/GraphicsContext3D.h:
  5075. (WebCore::GraphicsContext3D::ContextLostCallback::~ContextLostCallback):
  5076. * platform/graphics/mac/GraphicsContext3DMac.mm:
  5077. (WebCore::GraphicsContext3D::setContextLostCallback): stub
  5078. * platform/graphics/qt/GraphicsContext3DQt.cpp:
  5079. (WebCore::GraphicsContext3D::setContextLostCallback): stub
  5080. 2011-02-07 Patrick Gansterer <paroga@webkit.org>
  5081. Reviewed by Eric Seidel.
  5082. Add missing PaintInfo include in RenderThemeWin.cpp
  5083. https://bugs.webkit.org/show_bug.cgi?id=53885
  5084. * rendering/RenderThemeWin.cpp:
  5085. 2011-02-07 Qi Zhang <qi.2.zhang@nokia.com>
  5086. Reviewed by Andreas Kling.
  5087. [Qt] enum QWebPage::WebAction doesn't have value QWebPage::CopyImageUrl
  5088. https://bugs.webkit.org/show_bug.cgi?id=52974
  5089. Add ContextMenuItemTagCopyImageUrlToClipboard into standard action but Qt platform specific.
  5090. * page/ContextMenuController.cpp:
  5091. (WebCore::ContextMenuController::contextMenuItemSelected):
  5092. (WebCore::ContextMenuController::populate):
  5093. (WebCore::ContextMenuController::checkOrEnableIfNeeded):
  5094. * platform/ContextMenuItem.h:
  5095. * platform/LocalizationStrategy.h:
  5096. * platform/LocalizedStrings.cpp:
  5097. (WebCore::contextMenuItemTagCopyImageUrlToClipboard):
  5098. * platform/LocalizedStrings.h:
  5099. 2011-02-07 Kenichi Ishibashi <bashi@chromium.org>
  5100. Reviewed by Kent Tamura.
  5101. HTMLFormElement::formElementIndex() returns a bad index into a vector of form associated elements
  5102. https://bugs.webkit.org/show_bug.cgi?id=53970
  5103. Adds HTMLObjectElement::virtualForm() to make HTMLObjectElement::form()
  5104. return the right value.
  5105. Test: fast/dom/HTMLObjectElement/form/nested-form-element.html
  5106. * html/HTMLObjectElement.cpp:
  5107. (WebCore::HTMLObjectElement::virtualForm): Added.
  5108. * html/HTMLObjectElement.h: Added virtualForm().
  5109. 2011-02-07 Ryosuke Niwa <rniwa@webkit.org>
  5110. Unreviewed Leopard build fix.
  5111. * WebCore.xcodeproj/project.pbxproj: let XCode have developmentRegion.
  5112. * platform/mac/DragImageMac.mm:
  5113. (WebCore::webkit_CGCeiling): Cast the return value of ceil to CGFloat.
  5114. 2011-02-07 Enrica Casucci <enrica@apple.com>
  5115. Reviewed by Sam Weinig.
  5116. Fixing a build break on Mac caused by http://trac.webkit.org/changeset/77874
  5117. When moving code from WebKit to WebCore we needed to move some additional
  5118. functions previously in NSStringExtras.
  5119. * WebCore.xcodeproj/project.pbxproj:
  5120. * platform/mac/DragImageMac.mm:
  5121. (WebCore::fontFromNSFont):
  5122. (WebCore::canUseFastRenderer):
  5123. (WebCore::widthWithFont):
  5124. (WebCore::webkit_CGCeiling):
  5125. (WebCore::drawAtPoint):
  5126. (WebCore::drawDoubledAtPoint):
  5127. (WebCore::createDragImageForLink):
  5128. 2011-02-07 Lucas Forschler <lforschler@apple.com>
  5129. Reviewed by Geoff Garen.
  5130. Tr #2, Fix the Leopard 32bit debug build.
  5131. No new tests required.
  5132. * WebCore.xcodeproj/project.pbxproj:
  5133. * accessibility/AccessibilityAllInOne.cpp:
  5134. 2011-02-07 Beth Dakin <bdakin@apple.com>
  5135. Reviewed by Sam Weinig.
  5136. Fix for <rdar://problem/8946961> Fix repaint problems
  5137. with WKScrollbarPainter scrollers while resizing the window
  5138. Remove setPainterForPainterController() and
  5139. removePainterFromPainterController() since they aren't
  5140. used anymore.
  5141. * platform/mac/ScrollAnimatorMac.h:
  5142. Return early if they alpha hasn't changed.
  5143. * platform/mac/ScrollAnimatorMac.mm:
  5144. (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
  5145. (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
  5146. If we're in a live resize, restore alpha to 1.
  5147. (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
  5148. (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
  5149. 2011-02-07 Beth Dakin <bdakin@apple.com>
  5150. Reviewed by Eric Seidel.
  5151. Fix for https://bugs.webkit.org/show_bug.cgi?id=53950
  5152. USE_WK_SCROLLBAR_PAINTER in ScrollbarThemeMac should be in
  5153. Platform.h instead
  5154. Use hot new USE(WK_SCROLLBAR_PAINTER) from Platform.h rather
  5155. than the silly, old in-file #define.
  5156. * platform/mac/ScrollbarThemeMac.mm:
  5157. (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
  5158. (WebCore::updateArrowPlacement):
  5159. (WebCore::ScrollbarThemeMac::registerScrollbar):
  5160. (WebCore::ScrollbarThemeMac::scrollbarThickness):
  5161. (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
  5162. (WebCore::ScrollbarThemeMac::hasThumb):
  5163. (WebCore::ScrollbarThemeMac::minimumThumbLength):
  5164. (WebCore::ScrollbarThemeMac::paint):
  5165. 2011-02-07 Enrica Casucci <enrica@apple.com>
  5166. Reviewed Adam Roben and Darin Adler.
  5167. WebKit2: drag and drop support on Windows.
  5168. https://bugs.webkit.org/show_bug.cgi?id=52775
  5169. <rdar://problem/8514409>
  5170. * loader/EmptyClients.h: Removed createDragImageFromLink.
  5171. * page/DragClient.h: Ditto.
  5172. * page/DragController.cpp:
  5173. (WebCore::DragController::startDrag): changed call to createDragImageFromLink.
  5174. * platform/DragImage.h:
  5175. * platform/mac/DragImageMac.mm:
  5176. (WebCore::createDragImageForLink): Moved from DragClient.
  5177. * platform/win/ClipboardUtilitiesWin.cpp: Added a series of functions
  5178. to de-serialize the drag data from the map into an IDataObject.
  5179. (WebCore::getWebLocData):
  5180. (WebCore::texthtmlFormat):
  5181. (WebCore::createGlobalData):
  5182. (WebCore::getFullCFHTML):
  5183. (WebCore::urlWFormat):
  5184. (WebCore::urlFormat):
  5185. (WebCore::filenameWFormat):
  5186. (WebCore::filenameFormat):
  5187. (WebCore::htmlFormat):
  5188. (WebCore::smartPasteFormat):
  5189. (WebCore::getURL):
  5190. (WebCore::getPlainText):
  5191. (WebCore::getTextHTML):
  5192. (WebCore::ClipboardDataItem::ClipboardDataItem):
  5193. (WebCore::getStringData):
  5194. (WebCore::getUtf8Data):
  5195. (WebCore::getCFData):
  5196. (WebCore::setUCharData):
  5197. (WebCore::setCharData):
  5198. (WebCore::setCFData):
  5199. (WebCore::getClipboardMap):
  5200. (WebCore::getClipboardData):
  5201. (WebCore::setClipboardData):
  5202. * platform/win/ClipboardUtilitiesWin.h:
  5203. * platform/win/DragImageWin.cpp: Moved createDragImageForLink from DragClient
  5204. to a platform specific file in WebCore. It makes a lot more sense here, since
  5205. the drag image is always created in WebCore for all the other content types
  5206. except for links.
  5207. (WebCore::dragLabelFont):
  5208. (WebCore::createDragImageForLink):
  5209. * platform/win/WCDataObject.cpp: Added new way to
  5210. construct a WCDataObject from a DragDataMap.
  5211. (WebCore::WCDataObject::createInstance):
  5212. (WebCore::WCDataObject::clearData):
  5213. * platform/win/WCDataObject.h:
  5214. 2011-02-07 Sheriff Bot <webkit.review.bot@gmail.com>
  5215. Unreviewed, rolling out r77848.
  5216. http://trac.webkit.org/changeset/77848
  5217. https://bugs.webkit.org/show_bug.cgi?id=53963
  5218. caused 6 test failures (Requested by othermaciej on #webkit).
  5219. * rendering/RenderBlockLineLayout.cpp:
  5220. (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
  5221. 2011-02-04 Kenneth Russell <kbr@google.com>
  5222. Reviewed by James Robinson.
  5223. Add shaders for GPU accelerated path rendering
  5224. https://bugs.webkit.org/show_bug.cgi?id=45520
  5225. Refactored SolidFillShader and TexShader to call new
  5226. generateVertex() and generateFragment() methods on base Shader
  5227. class, and added support for the Loop/Blinn shaders. Refactored
  5228. Loop/Blinn shader classes to derive from Shader.
  5229. Tested these changes with several of the IE9 Testdrive demos with
  5230. accelerated 2D canvas enabled, as well as a full layout test run
  5231. with --platform chromium-gpu.
  5232. * platform/graphics/gpu/LoopBlinnShader.cpp: Added.
  5233. (WebCore::LoopBlinnShader::LoopBlinnShader):
  5234. (WebCore::LoopBlinnShader::use):
  5235. * platform/graphics/gpu/LoopBlinnShader.h: Added.
  5236. * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp: Added.
  5237. (WebCore::LoopBlinnSolidFillShader::create):
  5238. (WebCore::LoopBlinnSolidFillShader::LoopBlinnSolidFillShader):
  5239. (WebCore::LoopBlinnSolidFillShader::use):
  5240. * platform/graphics/gpu/LoopBlinnSolidFillShader.h: Added.
  5241. * platform/graphics/gpu/Shader.cpp:
  5242. (WebCore::Shader::affineTo4x4):
  5243. (WebCore::Shader::loadShader):
  5244. (WebCore::Shader::loadProgram):
  5245. (WebCore::Shader::generateVertex):
  5246. (WebCore::Shader::generateFragment):
  5247. * platform/graphics/gpu/Shader.h:
  5248. * platform/graphics/gpu/SolidFillShader.cpp:
  5249. (WebCore::SolidFillShader::create):
  5250. * platform/graphics/gpu/TexShader.cpp:
  5251. (WebCore::TexShader::TexShader):
  5252. (WebCore::TexShader::create):
  5253. 2011-02-07 Dan Bernstein <mitz@apple.com>
  5254. Reviewed by Oliver Hunt.
  5255. <rdar://problem/8946023> REGRESSION (r76674): SVG + BiDi text broken (text-intro-05-t.svg)
  5256. https://bugs.webkit.org/show_bug.cgi?id=53480
  5257. * WebCore.xcodeproj/project.pbxproj:
  5258. * platform/graphics/mac/ComplexTextController.cpp:
  5259. (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): m_indexEnd should be an
  5260. offset into m_characters, not into the run’s characters.
  5261. * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
  5262. (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Ditto.
  5263. 2011-02-07 Sam Weinig <sam@webkit.org>
  5264. Reviewed by Anders Carlsson.
  5265. Add bundle API to get the background color of a frame
  5266. <rdar://problem/8962670>
  5267. https://bugs.webkit.org/show_bug.cgi?id=53952
  5268. * WebCore.exp.in: Add export.
  5269. 2011-02-07 Geoffrey Garen <ggaren@apple.com>
  5270. Reviewed by Darin Adler.
  5271. Assertion failure in ~JSGlobalObject when loading apple.com HTML5
  5272. transitions demo page
  5273. https://bugs.webkit.org/show_bug.cgi?id=53853
  5274. This was a long-standing bookkeeping bug uncovered by some heap refactoring.
  5275. * html/HTMLCanvasElement.cpp:
  5276. (WebCore::HTMLCanvasElement::createImageBuffer):
  5277. * html/HTMLImageLoader.cpp:
  5278. (WebCore::HTMLImageLoader::notifyFinished):
  5279. * xml/XMLHttpRequest.cpp:
  5280. (WebCore::XMLHttpRequest::dropProtection): Take the JSLock before
  5281. reporting extra cost to the JavaScriptCore heap, since all use of
  5282. JavaScriptCore is supposed to be guarded by JSLock.
  5283. 2011-02-07 Jian Li <jianli@chromium.org>
  5284. Reviewed by David Levin.
  5285. Intermittent crash in fast/files/read-blob-async.html on the GTK+ debug
  5286. bots
  5287. https://bugs.webkit.org/show_bug.cgi?id=53104
  5288. Covered by the existing tests.
  5289. * fileapi/FileStreamProxy.cpp:
  5290. (WebCore::FileStreamProxy::startOnFileThread):
  5291. * platform/network/BlobRegistryImpl.cpp:
  5292. (WebCore::BlobRegistryImpl::createResourceHandle):
  5293. * platform/network/BlobResourceHandle.cpp:
  5294. (WebCore::BlobResourceHandle::BlobResourceHandle):
  5295. (WebCore::BlobResourceHandle::cancel):
  5296. (WebCore::delayedStartBlobResourceHandle):
  5297. (WebCore::BlobResourceHandle::start): Keep BlobResourceHandle alive
  5298. till the delay function is called.
  5299. (WebCore::BlobResourceHandle::doStart):
  5300. (WebCore::doNotifyFinish):
  5301. (WebCore::BlobResourceHandle::notifyFinish): Notify the client via the
  5302. standalone function to prevent the handle from being disposed immediately
  5303. by the client which will make the calls in the stack that're still bound
  5304. to the handle suffer.
  5305. * platform/network/BlobResourceHandle.h:
  5306. * platform/network/ResourceHandle.h: Change cancel() to virtual so that
  5307. BlobResourceHandle::cancel will be called when we abort a FileReader.
  5308. 2011-02-07 Sheriff Bot <webkit.review.bot@gmail.com>
  5309. Unreviewed, rolling out r77845.
  5310. http://trac.webkit.org/changeset/77845
  5311. https://bugs.webkit.org/show_bug.cgi?id=53946
  5312. build failure (Requested by lforschler_ on #webkit).
  5313. * WebCore.xcodeproj/project.pbxproj:
  5314. * accessibility/AccessibilityAllInOne.cpp:
  5315. 2011-02-07 Darin Adler <darin@apple.com>
  5316. https://bugs.webkit.org/show_bug.cgi?id=53939
  5317. fast/css/text-overflow-ellipsis.html failure after r77818/77819
  5318. * platform/text/TextCodecICU.cpp:
  5319. (WebCore::TextCodecICU::registerExtendedEncodingNames):
  5320. Add back the "utf8" synonym for "UTF-8".
  5321. 2011-02-07 David Hyatt <hyatt@apple.com>
  5322. Reviewed by Dan Bernstein.
  5323. Remove an unnecessary extra computeLogicalWidth() from line layout.
  5324. * rendering/RenderBlockLineLayout.cpp:
  5325. (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
  5326. 2011-02-07 Lucas Forschler <lforschler@apple.com>
  5327. Reviewed by Geoffrey Garen.
  5328. Fix Leopard Intel Debug Build.
  5329. <rdar://problem/8953606> REGRESSION: Can't link WebCore on 32-bit Leopard (53681)
  5330. This could potentially break windows, since I had to change #include <filename> to #include "filename"
  5331. * WebCore.xcodeproj/project.pbxproj:
  5332. * accessibility/AccessibilityAllInOne.cpp:
  5333. 2011-02-07 Sam Weinig <sam@webkit.org>
  5334. Fix build.
  5335. * platform/mac/ScrollAnimatorMac.mm:
  5336. (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
  5337. (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
  5338. (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
  5339. (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
  5340. 2011-02-07 Sam Weinig <sam@webkit.org>
  5341. Reviewed by Beth Dakin.
  5342. Add mechanism to inform the ScrollAnimator when Scrollbars are added
  5343. and removed.
  5344. * platform/ScrollAnimator.h:
  5345. (WebCore::ScrollAnimator::didAddVerticalScrollbar):
  5346. (WebCore::ScrollAnimator::willRemoveVerticalScrollbar):
  5347. (WebCore::ScrollAnimator::didAddHorizontalScrollbar):
  5348. (WebCore::ScrollAnimator::willRemoveHorizontalScrollbar):
  5349. Make virtual to allow platform specific overrides.
  5350. * platform/ScrollView.cpp:
  5351. (WebCore::ScrollView::setHasHorizontalScrollbar):
  5352. (WebCore::ScrollView::setHasVerticalScrollbar):
  5353. Call new ScrollableArea functions.
  5354. * platform/ScrollableArea.cpp:
  5355. (WebCore::ScrollableArea::didAddVerticalScrollbar):
  5356. (WebCore::ScrollableArea::willRemoveVerticalScrollbar):
  5357. (WebCore::ScrollableArea::didAddHorizontalScrollbar):
  5358. (WebCore::ScrollableArea::willRemoveHorizontalScrollbar):
  5359. * platform/ScrollableArea.h:
  5360. Pipe to ScrollAnimator.
  5361. * platform/mac/ScrollAnimatorMac.h:
  5362. * platform/mac/ScrollAnimatorMac.mm:
  5363. (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
  5364. (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
  5365. (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
  5366. (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
  5367. * platform/mac/ScrollbarThemeMac.h:
  5368. * platform/mac/ScrollbarThemeMac.mm:
  5369. (WebCore::ScrollbarThemeMac::registerScrollbar):
  5370. (WebCore::ScrollbarThemeMac::unregisterScrollbar):
  5371. (WebCore::ScrollbarThemeMac::painterForScrollbar):
  5372. Move painter delegate registration to the new didAdd/willRemove functions.
  5373. 2011-02-07 Anders Carlsson <andersca@apple.com>
  5374. Reviewed by Dan Bernstein.
  5375. Missing text match markers with accelerated content
  5376. https://bugs.webkit.org/show_bug.cgi?id=53934
  5377. When doing the fake paint that recomputes the text match rects, we need to
  5378. flatten compositing layers, otherwise the rects won't be updated until the next paint call.
  5379. (This worked by accident in WebKit1 because Safari calls -[NSWindow displayIfNeeded] on the containing
  5380. window before asking for the text match rects).
  5381. * editing/Editor.cpp:
  5382. (WebCore::Editor::countMatchesForText):
  5383. 2011-02-07 Antti Koivisto <antti@apple.com>
  5384. Reviewed by Andreas Kling.
  5385. REGRESSION(r77740): CSSStyleSelector accessing deleted memory for svg/dom/use-transform.svg
  5386. https://bugs.webkit.org/show_bug.cgi?id=53900
  5387. Ignore link elements in shadow trees.
  5388. * dom/Element.cpp:
  5389. (WebCore::StyleSelectorParentPusher::StyleSelectorParentPusher):
  5390. (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
  5391. Some asserts to catch cases like this.
  5392. (WebCore::Element::attach):
  5393. (WebCore::Element::recalcStyle):
  5394. * html/HTMLLinkElement.cpp:
  5395. (WebCore::HTMLLinkElement::HTMLLinkElement):
  5396. (WebCore::HTMLLinkElement::process):
  5397. (WebCore::HTMLLinkElement::insertedIntoDocument):
  5398. (WebCore::HTMLLinkElement::removedFromDocument):
  5399. * html/HTMLLinkElement.h:
  5400. 2011-02-07 Darin Adler <darin@apple.com>
  5401. Turn UTF-8 decoder off for now so we can look into failing tests
  5402. without leaving the tree red.
  5403. * platform/text/TextCodecICU.cpp:
  5404. (WebCore::TextCodecICU::registerBaseEncodingNames): Reverting
  5405. earlier change so this can handle UTF-8.
  5406. (WebCore::TextCodecICU::registerBaseCodecs): Ditto.
  5407. (WebCore::TextCodecICU::registerExtendedEncodingNames): Ditto.
  5408. (WebCore::TextCodecICU::registerExtendedCodecs): Ditto.
  5409. * platform/text/TextCodecICU.h: Ditto.
  5410. * platform/text/TextEncodingRegistry.cpp:
  5411. (WebCore::buildBaseTextCodecMaps): Ditto.
  5412. (WebCore::extendTextCodecMaps): Ditto.
  5413. * platform/text/brew/TextCodecBrew.cpp:
  5414. (WebCore::TextCodecBrew::registerBaseEncodingNames): Ditto.
  5415. (WebCore::TextCodecBrew::registerBaseCodecs): Ditto.
  5416. (WebCore::TextCodecBrew::registerExtendedEncodingNames): Ditto.
  5417. (WebCore::TextCodecBrew::registerExtendedCodecs): Ditto.
  5418. * platform/text/brew/TextCodecBrew.h: Ditto.
  5419. * platform/text/gtk/TextCodecGtk.cpp:
  5420. (WebCore::TextCodecGtk::registerBaseEncodingNames): Ditto.
  5421. (WebCore::TextCodecGtk::registerBaseCodecs): Ditto.
  5422. * platform/text/wince/TextCodecWinCE.cpp:
  5423. (WebCore::TextCodecWinCE::registerBaseEncodingNames): Ditto.
  5424. (WebCore::TextCodecWinCE::registerBaseCodecs): Ditto.
  5425. (WebCore::TextCodecWinCE::registerExtendedEncodingNames): Ditto.
  5426. (WebCore::TextCodecWinCE::registerExtendedCodecs): Ditto.
  5427. * platform/text/wince/TextCodecWinCE.h: Ditto.
  5428. 2011-02-07 Anders Carlsson <andersca@apple.com>
  5429. Reviewed by Maciej Stachowiak.
  5430. Don't exclude overlay scrollers from the page overlay bounds
  5431. https://bugs.webkit.org/show_bug.cgi?id=53924
  5432. Export ScrollbarTheme::nativeTheme.
  5433. * WebCore.exp.in:
  5434. 2011-02-07 Zhenyao Mo <zmo@google.com>
  5435. Reviewed by Kenneth Russell.
  5436. Crash in glDrawArrays with NaCl crystal model
  5437. https://bugs.webkit.org/show_bug.cgi?id=52831
  5438. * html/canvas/WebGLRenderingContext.cpp: Allocate large enough buffer for atttrib0 if it's enabled and not used.
  5439. (WebCore::WebGLRenderingContext::initVertexAttrib0):
  5440. (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
  5441. * html/canvas/WebGLRenderingContext.h:
  5442. 2011-02-07 Chris Fleizach <cfleizach@apple.com>
  5443. Reviewed by Darin Adler.
  5444. WAI-ARIA @aria-sort not exposed on rowheader and columnheader roles.
  5445. https://bugs.webkit.org/show_bug.cgi?id=53842
  5446. Test: platform/mac/accessibility/aria-sort.html
  5447. * accessibility/AccessibilityObject.cpp:
  5448. (WebCore::AccessibilityObject::sortDirection):
  5449. * accessibility/AccessibilityObject.h:
  5450. * accessibility/mac/AccessibilityObjectWrapper.mm:
  5451. (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
  5452. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  5453. * html/HTMLAttributeNames.in:
  5454. 2011-02-07 Darin Adler <darin@apple.com>
  5455. Reviewed by Antti Koivisto.
  5456. Add built-in decoder for UTF-8 for improved performance
  5457. https://bugs.webkit.org/show_bug.cgi?id=53898
  5458. Correct behavior is covered by existing tests.
  5459. * Android.mk: Added TextCodecUTF8.
  5460. * CMakeLists.txt: Ditto.
  5461. * GNUmakefile.am: Ditto.
  5462. * WebCore.gypi: Ditto.
  5463. * WebCore.pro: Ditto.
  5464. * WebCore.vcproj/WebCore.vcproj: Ditto.
  5465. * WebCore.xcodeproj/project.pbxproj: Ditto.
  5466. * platform/text/TextCodecICU.cpp: Removed registration of UTF-8
  5467. since that's now handled by the built-in UTF-8 codec.
  5468. (WebCore::TextCodecICU::registerEncodingNames): Renamed to remove
  5469. the word "extended" since all codecs from ICU are now extended.
  5470. (WebCore::TextCodecICU::registerCodecs): Ditto.
  5471. * platform/text/TextCodecICU.h: Ditto.
  5472. * platform/text/TextCodecUTF16.cpp:
  5473. (WebCore::TextCodecUTF16::decode): Added a FIXME about missing
  5474. error handling.
  5475. * platform/text/TextCodecUTF8.cpp: Added.
  5476. * platform/text/TextCodecUTF8.h: Added.
  5477. * platform/text/TextEncodingRegistry.cpp:
  5478. (WebCore::buildBaseTextCodecMaps): Added TextCodecUTF8, and
  5479. removed TextCodecICU, TextCodecBrew, and TextCodecWinCE.
  5480. (WebCore::extendTextCodecMaps): Updated names for
  5481. TextCodecICU and TextCodecWinCE.
  5482. * platform/text/brew/TextCodecBrew.cpp:
  5483. (WebCore::TextCodecBrew::registerEncodingNames): Renamed to remove
  5484. the word "extended" since all codecs from Brew are now extended.
  5485. (WebCore::TextCodecBrew::registerCodecs): Ditto.
  5486. * platform/text/brew/TextCodecBrew.h: Ditto.
  5487. * platform/text/gtk/TextCodecGtk.cpp:
  5488. (WebCore::TextCodecGtk::registerBaseEncodingNames): Removed
  5489. registration of UTF-8. It's questionable whether the other codecs
  5490. here are really basic. If we think they qualify, then we should
  5491. register them on other platforms, not just GTK.
  5492. (WebCore::TextCodecGtk::registerBaseCodecs): Ditto.
  5493. * platform/text/wince/TextCodecWinCE.cpp:
  5494. (WebCore::getCodePage): Removed special case for UTF-8 since we
  5495. no longer use this codec for UTF-8.
  5496. (WebCore::TextCodecWinCE::registerEncodingNames): Renamed to remove
  5497. the word "extended" since all codecs from WinCE are now extended.
  5498. (WebCore::TextCodecWinCE::registerCodecs): Ditto.
  5499. * platform/text/wince/TextCodecWinCE.h: Ditto.
  5500. 2011-02-07 Mario Sanchez Prada <msanchez@igalia.com>
  5501. Reviewed by Xan Lopez.
  5502. [Gtk] atk_text_get_caret_offset fails for list items
  5503. https://bugs.webkit.org/show_bug.cgi?id=53436
  5504. Consider list item markers when calculating the offset.
  5505. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
  5506. (webkit_accessible_text_get_caret_offset): Adjust the offset
  5507. with the item marker's length for list items.
  5508. (webkit_accessible_text_set_caret_offset): Replace usage of
  5509. g_utf8_strlen() by calling to markerText.length().
  5510. 2011-02-07 Yi Shen <yi.4.shen@nokia.com>
  5511. Reviewed by Tor Arne Vestbø.
  5512. [Qt] Fix LayoutTests/media/restore-from-page-cache.html
  5513. https://bugs.webkit.org/show_bug.cgi?id=53621
  5514. Changed the networkState to MediaPlayer::Loaded when
  5515. MediaPlayerPrivateQt has enough data.
  5516. Test: media/restore-from-page-cache.html
  5517. * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
  5518. (WebCore::MediaPlayerPrivateQt::updateStates):
  5519. 2011-01-31 Pavel Podivilov <podivilov@chromium.org>
  5520. Reviewed by Yury Semikhatsky.
  5521. Web Inspector: implement beautification of scripts inlined in html documents.
  5522. https://bugs.webkit.org/show_bug.cgi?id=52706
  5523. To beautify scripts inlined in html, we need to cut individual scripts, beautify them using UglifyJS library, and
  5524. finally paste them back to html.
  5525. * WebCore.gypi:
  5526. * WebCore.vcproj/WebCore.vcproj:
  5527. * inspector/front-end/ScriptFormatter.js:
  5528. (WebInspector.ScriptFormatter): Implement formatting of scripts inlined in html.
  5529. (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
  5530. (WebInspector.ScriptFormatter.prototype.formatContent):
  5531. (WebInspector.ScriptFormatter.prototype._splitContentIntoChunks):
  5532. (WebInspector.ScriptFormatter.prototype._formatChunks.didFormat):
  5533. (WebInspector.ScriptFormatter.prototype._formatChunks):
  5534. (WebInspector.ScriptFormatter.prototype._buildContentFromChunks):
  5535. (WebInspector.ScriptFormatter.prototype._formatScript.messageHandler):
  5536. (WebInspector.ScriptFormatter.prototype._formatScript):
  5537. * inspector/front-end/ScriptFormatterWorker.js:
  5538. (onmessage):
  5539. (buildMapping):
  5540. * inspector/front-end/SourceFrame.js:
  5541. (WebInspector.SourceFrameContent): Use SourceFrameContent and FormattedSourceFrameContent to perform operations with line numbers.
  5542. * inspector/front-end/SourceFrameContent.js: Added.
  5543. (WebInspector.SourceFrameContent): Helper class, holds resource text and scripts layout
  5544. (WebInspector.SourceFrameContent.prototype.get scriptRanges):
  5545. (WebInspector.SourceFrameContent.prototype.locationToPosition):
  5546. (WebInspector.SourceFrameContent.prototype.positionToLocation):
  5547. (WebInspector.SourceFrameContent.prototype.scriptLocationForLineNumber):
  5548. (WebInspector.SourceFrameContent.prototype.scriptLocationForRange):
  5549. (WebInspector.SourceFrameContent.prototype.lineNumberToRange):
  5550. (WebInspector.SourceFrameContent.prototype._intersectingScriptRange):
  5551. (WebInspector):
  5552. (WebInspector.FormattedSourceFrameContent): Helper class, holds original and formatted versions of resource and mapping between them.
  5553. (WebInspector.FormattedSourceFrameContent.prototype.get text):
  5554. (WebInspector.FormattedSourceFrameContent.prototype.originalLocationToFormattedLocation):
  5555. (WebInspector.FormattedSourceFrameContent.prototype.scriptLocationForFormattedLineNumber):
  5556. (WebInspector.FormattedSourceFrameContent.prototype._convertPosition):
  5557. * inspector/front-end/WebKit.qrc:
  5558. * inspector/front-end/inspector.html:
  5559. 2011-02-07 Pavel Feldman <pfeldman@chromium.org>
  5560. Reviewed by Yury Semikhatsky.
  5561. Web Inspector: "Reveal in elements panel" does not always work.
  5562. https://bugs.webkit.org/show_bug.cgi?id=53775
  5563. * inspector/front-end/ConsoleView.js:
  5564. (WebInspector.ConsoleView):
  5565. * inspector/front-end/ContextMenu.js:
  5566. (WebInspector.ContextMenu.prototype.show):
  5567. * inspector/front-end/ElementsPanel.js:
  5568. (WebInspector.ElementsPanel.prototype.switchToAndFocus):
  5569. * inspector/front-end/ElementsTreeOutline.js:
  5570. (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
  5571. (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
  5572. * inspector/front-end/ObjectPropertiesSection.js:
  5573. (WebInspector.ObjectPropertyTreeElement.prototype.update):
  5574. (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):
  5575. * inspector/front-end/inspector.js:
  5576. (WebInspector.cancelSearch):
  5577. 2011-02-07 Adam Barth <abarth@webkit.org>
  5578. Reviewed by Eric Seidel.
  5579. Relative .. in URL paths shouldn't skip adjacent / characters
  5580. https://bugs.webkit.org/show_bug.cgi?id=53907
  5581. Our new behavior matches Firefox, Chrome, and IE.
  5582. * platform/KURL.cpp:
  5583. (WebCore::copyPathRemovingDots):
  5584. 2011-02-07 Maciej Stachowiak <mjs@apple.com>
  5585. Reviewed by Antti Koivisto.
  5586. WebKitTestRunner does not block remote resources or complain about them
  5587. https://bugs.webkit.org/show_bug.cgi?id=42139
  5588. <rdar://problem/8183942>
  5589. * Configurations/WebCore.xcconfig: Allow WebKitTestRunner to link
  5590. WebCore.
  5591. * WebCore.exp.in: Export a handful of KURL symbols.
  5592. 2011-02-06 Ryosuke Niwa <rniwa@webkit.org>
  5593. Reviewed by Darin Adler.
  5594. OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
  5595. https://bugs.webkit.org/show_bug.cgi?id=52867
  5596. * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Removed.
  5597. * bindings/v8/NPV8Object.cpp:
  5598. (WebCore::createValueListFromVariantArgs): Returns PassOwnArrayPtr<v8::Handle<v8::Value>> instead of
  5599. v8::Handle<v8::Value>*.
  5600. (_NPN_Invoke): Calls createValueListFromVariantArgs.
  5601. (_NPN_InvokeDefault): createValueListFromVariantArgs.
  5602. (_NPN_Construct): createValueListFromVariantArgs.
  5603. * bindings/v8/ScriptFunctionCall.cpp:
  5604. (WebCore::ScriptFunctionCall::call): Calls adoptArrayPtr.
  5605. (WebCore::ScriptFunctionCall::construct): Ditto.
  5606. (WebCore::ScriptCallback::call):
  5607. * bindings/v8/V8DOMWindowShell.cpp:
  5608. (WebCore::V8DOMWindowShell::createNewContext): Ditto.
  5609. * bindings/v8/V8NPObject.cpp:
  5610. (WebCore::npObjectInvokeImpl): Ditto
  5611. * bindings/v8/V8NodeFilterCondition.cpp:
  5612. (WebCore::V8NodeFilterCondition::acceptNode): Ditto,
  5613. * html/HTMLAreaElement.cpp:
  5614. (WebCore::HTMLAreaElement::parseMappedAttribute): Calls newCoordsArray.
  5615. * html/HTMLFrameSetElement.cpp:
  5616. (WebCore::HTMLFrameSetElement::parseMappedAttribute): Calls newLengthArray.
  5617. * html/canvas/WebGLRenderingContext.cpp:
  5618. (WebCore::WebGLRenderingContext::getAttachedShaders): Calls adoptArraYptr.
  5619. (WebCore::WebGLRenderingContext::simulateVertexAttrib0): Ditto.
  5620. (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache): Dito.
  5621. * platform/Length.cpp:
  5622. (WebCore::newCoordsArray): Returns PassOwnArrayPtr<Length> instead of Length*.
  5623. (WebCore::newLengthArray): Returns PassOwnArrayPtr<Length> instead of Length*.
  5624. * platform/Length.h: Prototype changes.
  5625. * platform/graphics/ANGLEWebKitBridge.cpp:
  5626. (WebCore::ANGLEWebKitBridge::validateShaderSource): Calls adoptArrayPtr.
  5627. * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
  5628. (WebCore::getDirtyRects): Ditto.
  5629. * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
  5630. (WebCore::ComplexTextController::getNormalizedTextRun): Ditto.
  5631. * platform/graphics/chromium/HarfbuzzSkia.cpp:
  5632. (WebCore::glyphsToAdvances): Ditto.
  5633. (WebCore::canRender): Ditto.
  5634. * platform/graphics/gpu/Texture.cpp:
  5635. (WebCore::Texture::updateSubRect): Ditto.
  5636. * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
  5637. (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Ditto.
  5638. * platform/graphics/skia/PlatformContextSkia.cpp:
  5639. (WebCore::PlatformContextSkia::readbackHardwareToSoftware): Ditto.
  5640. * platform/graphics/wince/SharedBitmap.cpp:
  5641. (WebCore::SharedBitmap::to16bit): Ditto.
  5642. * platform/win/ContextMenuWin.cpp:
  5643. (WebCore::ContextMenu::getContextMenuItems): Ditto.
  5644. * platform/win/LoggingWin.cpp:
  5645. (WebCore::initializeWithUserDefault): Ditto.
  5646. * plugins/win/PluginPackageWin.cpp:
  5647. (WebCore::PluginPackage::fetchInfo): Ditto.
  5648. 2011-02-06 Kent Tamura <tkent@chromium.org>
  5649. Unreviewed.
  5650. * WebCore.xcodeproj/project.pbxproj: Run sort-xcode-project-file.
  5651. 2011-02-03 Dominic Cooney <dominicc@google.com>
  5652. Reviewed by Dimitri Glazkov.
  5653. Convert <keygen> option elements to a shadow DOM
  5654. https://bugs.webkit.org/show_bug.cgi?id=51379
  5655. Covered by existing tests e.g. fast/html/keygen.html,
  5656. html5lib/runner.html, etc.
  5657. * css/html.css:
  5658. (form): Cleanup.
  5659. (keygen, select): Border radii should match so focus ring looks good.
  5660. (keygen::-webkit-keygen-select): No margin on the shadow element.
  5661. (select): Hoisting border radius to keygen, select rule.
  5662. * dom/SelectElement.cpp:
  5663. (WebCore::toSelectElement): keygen is no longer a select element.
  5664. * html/HTMLKeygenElement.cpp: Implements keygen shadow.
  5665. (WebCore::KeygenSelectElement::create):
  5666. (WebCore::KeygenSelectElement::shadowPseudoId):
  5667. (WebCore::KeygenSelectElement::KeygenSelectElement):
  5668. (WebCore::HTMLKeygenElement::HTMLKeygenElement):
  5669. (WebCore::HTMLKeygenElement::parseMappedAttribute):
  5670. (WebCore::HTMLKeygenElement::appendFormData):
  5671. (WebCore::HTMLKeygenElement::formControlType):
  5672. (WebCore::HTMLKeygenElement::reset):
  5673. (WebCore::HTMLKeygenElement::selectShadow):
  5674. * html/HTMLKeygenElement.h: keygen is no longer a select on C++ side.
  5675. (WebCore::HTMLKeygenElement::canStartSelection):
  5676. (WebCore::HTMLKeygenElement::isEnumeratable):
  5677. (WebCore::HTMLKeygenElement::isResettable):
  5678. * html/HTMLOptionElement.cpp:
  5679. (WebCore::HTMLOptionElement::ownerSelectElement): Only owned by selects.
  5680. * html/HTMLSelectElement.cpp:
  5681. (WebCore::HTMLSelectElement::HTMLSelectElement): Only 'select' tag name.
  5682. 2011-02-06 Benjamin Poulain <ikipou@gmail.com>
  5683. Reviewed by Kenneth Rohde Christiansen.
  5684. [Qt] Fix coding style errors in ClipboardQt.h
  5685. https://bugs.webkit.org/show_bug.cgi?id=43520
  5686. Fix coding style: order of header and indentation.
  5687. * platform/qt/ClipboardQt.h:
  5688. (WebCore::ClipboardQt::create):
  5689. (WebCore::ClipboardQt::clipboardData):
  5690. (WebCore::ClipboardQt::invalidateWritableData):
  5691. 2011-02-06 Antti Koivisto <antti@apple.com>
  5692. Reviewed by Maciej Stachowiak.
  5693. Use bloom filter for descendant selector filtering
  5694. https://bugs.webkit.org/show_bug.cgi?id=53880
  5695. Bloom filter is faster than a hash set in this kind of use.
  5696. Shark thinks this speeds up style matching by ~30% on sites
  5697. with lots of descendant selectors.
  5698. * ForwardingHeaders/wtf/BloomFilter.h: Added.
  5699. * css/CSSStyleSelector.cpp:
  5700. (WebCore::collectElementIdentifierHashes):
  5701. (WebCore::CSSStyleSelector::pushParent):
  5702. (WebCore::CSSStyleSelector::popParent):
  5703. (WebCore::CSSStyleSelector::fastRejectSelector):
  5704. (WebCore::RuleData::collectDescendantSelectorIdentifierHashes):
  5705. * css/CSSStyleSelector.h:
  5706. 2011-02-06 Maciej Stachowiak <mjs@apple.com>
  5707. Reviewed by Antti Koivisto.
  5708. media/video-document-types.html sometimes crashes the WebProcess
  5709. https://bugs.webkit.org/show_bug.cgi?id=53884
  5710. No new tests. Already covered by media/video-document-types.html
  5711. * html/HTMLMediaElement.cpp:
  5712. (WebCore::HTMLMediaElement::userCancelledLoad): Stop the load timer
  5713. when cancelling the load.
  5714. 2011-02-06 Patrick Gansterer <paroga@webkit.org>
  5715. Reviewed by Adam Roben.
  5716. [WIN] Use WCHAR instead of TCHAR
  5717. https://bugs.webkit.org/show_bug.cgi?id=53863
  5718. We always use the UNICODE versions of windows functions, so
  5719. the usage of TCHAR makes no sense and mixing them is bad style.
  5720. * platform/graphics/win/IconWin.cpp:
  5721. (WebCore::Icon::createIconForFiles):
  5722. * platform/graphics/win/QTMovie.cpp:
  5723. * platform/graphics/win/QTMovieGWorld.cpp:
  5724. (QTMovieGWorld::fullscreenWndProc):
  5725. (QTMovieGWorld::enterFullscreen):
  5726. * platform/graphics/win/SimpleFontDataCGWin.cpp:
  5727. (WebCore::SimpleFontData::platformInit):
  5728. * platform/graphics/win/SimpleFontDataCairoWin.cpp:
  5729. * platform/graphics/win/SimpleFontDataWin.cpp:
  5730. * platform/graphics/wince/SimpleFontDataWinCE.cpp:
  5731. * platform/win/BString.cpp:
  5732. * platform/win/ClipboardWin.cpp:
  5733. (WebCore::filesystemPathFromUrlOrTitle):
  5734. (WebCore::createGlobalHDropContent):
  5735. (WebCore::createGlobalImageFileDescriptor):
  5736. * platform/win/ContextMenuWin.cpp:
  5737. * platform/win/CursorWin.cpp:
  5738. (WebCore::loadSharedCursor):
  5739. * platform/win/FileChooserWin.cpp:
  5740. (WebCore::FileChooser::basenameForWidth):
  5741. * platform/win/PopupMenuWin.cpp:
  5742. (WebCore::PopupMenuWin::popupClassName):
  5743. (WebCore::PopupMenuWin::show):
  5744. * platform/win/PopupMenuWin.h:
  5745. 2011-02-06 Patrick Gansterer <paroga@webkit.org>
  5746. Reviewed by Andreas Kling.
  5747. Replace FLT_MAX with std::numeric_limits
  5748. https://bugs.webkit.org/show_bug.cgi?id=53861
  5749. Also move EFL's userIdleTime from TemporaryLinkStubs into SystemTimeEfl.
  5750. * html/NumberInputType.cpp:
  5751. * html/parser/HTMLParserIdioms.cpp:
  5752. (WebCore::parseToDoubleForNumberType):
  5753. * platform/brew/SystemTimeBrew.cpp:
  5754. (WebCore::userIdleTime):
  5755. * platform/efl/SystemTimeEfl.cpp:
  5756. (WebCore::userIdleTime):
  5757. * platform/efl/TemporaryLinkStubs.cpp:
  5758. * platform/graphics/ca/GraphicsLayerCA.cpp:
  5759. (WebCore::GraphicsLayerCA::setupAnimation):
  5760. * platform/win/SystemTimeWin.cpp:
  5761. (WebCore::userIdleTime):
  5762. * platform/wx/SystemTimeWx.cpp:
  5763. (WebCore::userIdleTime):
  5764. 2011-02-06 Patrick Gansterer <paroga@webkit.org>
  5765. Reviewed by Andreas Kling.
  5766. [CMake] Add dependencies for Visual Studio projects
  5767. https://bugs.webkit.org/show_bug.cgi?id=53773
  5768. Add a JavaScriptCore dependecy to WebCore, so CMake can
  5769. generate the correct build order for the solution.
  5770. * CMakeLists.txt:
  5771. 2011-02-06 Patrick Gansterer <paroga@webkit.org>
  5772. Reviewed by Andreas Kling.
  5773. [CMake] Unify ENABLE_SVG sections
  5774. https://bugs.webkit.org/show_bug.cgi?id=53778
  5775. * CMakeLists.txt:
  5776. 2011-02-06 Andreas Kling <kling@webkit.org>
  5777. Reviewed by Dirk Schulze.
  5778. Refactor Font::normalizeSpaces() to avoid an extra String copy.
  5779. https://bugs.webkit.org/show_bug.cgi?id=53871
  5780. Have normalizeSpaces() take UChar*,length arguments instead of a
  5781. String, since all call sites were creating temporaries from these
  5782. components anyway.
  5783. Font::normalizeSpaces() now always makes 1 String copy,
  5784. instead of 1 in the best case and 2 in the worst case.
  5785. * platform/graphics/Font.cpp:
  5786. (WebCore::Font::normalizeSpaces):
  5787. * platform/graphics/Font.h:
  5788. * platform/graphics/qt/FontQt.cpp:
  5789. (WebCore::drawTextCommon):
  5790. (WebCore::Font::floatWidthForSimpleText):
  5791. (WebCore::Font::floatWidthForComplexText):
  5792. (WebCore::Font::offsetForPositionForSimpleText):
  5793. (WebCore::Font::offsetForPositionForComplexText):
  5794. (WebCore::Font::selectionRectForSimpleText):
  5795. (WebCore::Font::selectionRectForComplexText):
  5796. * svg/SVGFont.cpp:
  5797. (WebCore::SVGTextRunWalker::walk):
  5798. 2011-02-06 Andreas Kling <kling@webkit.org>
  5799. Reviewed by Dirk Schulze.
  5800. Fix potential buffer overrun in SVGTextRunWalker::walk()
  5801. https://bugs.webkit.org/show_bug.cgi?id=53870
  5802. A new String was created from a UChar* with a 'length' argument
  5803. that could be greater than the number of UChars available.
  5804. * svg/SVGFont.cpp:
  5805. (WebCore::SVGTextRunWalker::walk):
  5806. 2011-02-05 Adam Barth <abarth@webkit.org>
  5807. Reviewed by Eric Seidel.
  5808. Remove unused parameter related to XSSAuditor
  5809. https://bugs.webkit.org/show_bug.cgi?id=53862
  5810. * WebCore.exp.in:
  5811. * bindings/ScriptControllerBase.cpp:
  5812. (WebCore::ScriptController::executeScript):
  5813. (WebCore::ScriptController::executeIfJavaScriptURL):
  5814. * bindings/ScriptControllerBase.h:
  5815. * bindings/js/ScriptController.cpp:
  5816. (WebCore::ScriptController::evaluateInWorld):
  5817. (WebCore::ScriptController::evaluate):
  5818. (WebCore::ScriptController::executeScriptInWorld):
  5819. * bindings/js/ScriptController.h:
  5820. * bindings/v8/ScriptController.cpp:
  5821. (WebCore::ScriptController::evaluate):
  5822. * bindings/v8/ScriptController.h:
  5823. 2011-02-05 Adam Barth <abarth@webkit.org>
  5824. Fix Qt build.
  5825. * WebCore.pro:
  5826. 2011-02-05 Adam Barth <abarth@webkit.org>
  5827. Reviewed by Eric Seidel.
  5828. Delete XSSAuditor
  5829. https://bugs.webkit.org/show_bug.cgi?id=53859
  5830. The job of the XSSAuditor is now done by the XSSFilter. In the future,
  5831. we might rename XSSFilter to XSSAuditor.
  5832. * Android.mk:
  5833. * CMakeLists.txt:
  5834. * GNUmakefile.am:
  5835. * WebCore.gypi:
  5836. * WebCore.vcproj/WebCore.vcproj:
  5837. * WebCore.xcodeproj/project.pbxproj:
  5838. * bindings/ScriptControllerBase.cpp:
  5839. (WebCore::ScriptController::executeIfJavaScriptURL):
  5840. * bindings/ScriptControllerBase.h:
  5841. * bindings/js/ScriptController.cpp:
  5842. (WebCore::ScriptController::ScriptController):
  5843. (WebCore::ScriptController::evaluateInWorld):
  5844. * bindings/js/ScriptController.h:
  5845. * bindings/js/ScriptEventListener.cpp:
  5846. (WebCore::createAttributeEventListener):
  5847. * bindings/v8/ScriptController.cpp:
  5848. (WebCore::ScriptController::ScriptController):
  5849. (WebCore::ScriptController::evaluate):
  5850. * bindings/v8/ScriptController.h:
  5851. * bindings/v8/ScriptEventListener.cpp:
  5852. (WebCore::createAttributeEventListener):
  5853. * dom/Document.cpp:
  5854. (WebCore::Document::implicitOpen):
  5855. (WebCore::Document::processBaseElement):
  5856. * dom/ScriptableDocumentParser.cpp:
  5857. (WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
  5858. * dom/ScriptableDocumentParser.h:
  5859. * html/parser/HTMLDocumentParser.cpp:
  5860. (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc):
  5861. * loader/SubframeLoader.cpp:
  5862. (WebCore::SubframeLoader::requestObject):
  5863. (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
  5864. * page/XSSAuditor.cpp: Removed.
  5865. * page/XSSAuditor.h: Removed.
  5866. 2011-02-05 Anders Carlsson <andersca@apple.com>
  5867. Reviewed by Darin Adler.
  5868. Need a way to resize and scroll the page at the same time
  5869. https://bugs.webkit.org/show_bug.cgi?id=53814
  5870. <rdar://problem/8498008>
  5871. Export a function needed by WebKit2.
  5872. * WebCore.exp.in:
  5873. 2011-02-05 Patrick Gansterer <paroga@webkit.org>
  5874. Reviewed by Alexey Proskuryakov.
  5875. Use Document::encoding() instead of DocumentWriter::encoding()
  5876. https://bugs.webkit.org/show_bug.cgi?id=53398
  5877. This change makes the code more readable, when a subresource
  5878. inherits the character encoding of the document.
  5879. * dom/ProcessingInstruction.cpp:
  5880. (WebCore::ProcessingInstruction::checkStyleSheet):
  5881. * dom/ScriptElement.cpp:
  5882. (WebCore::ScriptElement::scriptCharset):
  5883. * html/HTMLLinkElement.cpp:
  5884. (WebCore::HTMLLinkElement::process):
  5885. * loader/cache/CachedResourceLoader.cpp:
  5886. (WebCore::CachedResourceLoader::requestPreload):
  5887. * platform/network/FormDataBuilder.cpp:
  5888. (WebCore::FormDataBuilder::encodingFromAcceptCharset):
  5889. 2011-02-05 Adam Barth <abarth@webkit.org>
  5890. Reviewed by Eric Seidel.
  5891. Introduce URLString to represent a canonicalized URL represented by a string
  5892. https://bugs.webkit.org/show_bug.cgi?id=53847
  5893. Instead of using String all over the codebase to represent a URL,
  5894. instead we should have a type to represent a canonicalized URL in the
  5895. form of a string. This patch introduces that type.
  5896. * GNUmakefile.am:
  5897. * WebCore.gypi:
  5898. * WebCore.xcodeproj/project.pbxproj:
  5899. * platform/KURL.cpp:
  5900. (WebCore::KURL::KURL):
  5901. * platform/KURL.h:
  5902. (WebCore::KURL::urlString):
  5903. 2011-02-05 Robert Hogan <robert@webkit.org>
  5904. Reviewed by Antonio Gomes.
  5905. [Qt] Style widgets not rendering
  5906. https://bugs.webkit.org/show_bug.cgi?id=53849
  5907. * html/HTMLObjectElement.cpp:
  5908. (WebCore::HTMLObjectElement::hasValidClassId): x-qt-styled-widget is a valid class id too
  5909. 2011-02-05 Jochen Eisinger <jochen@chromium.org>
  5910. Reviewed by Adam Barth.
  5911. Add ContentSecurityPolicy object to Document and pass the X-WebKit-CSP header from the MainResourceLoader.
  5912. https://bugs.webkit.org/show_bug.cgi?id=53685
  5913. * WebCore.xcodeproj/project.pbxproj:
  5914. * dom/Document.h:
  5915. (WebCore::Document::contentSecurityPolicy):
  5916. * loader/MainResourceLoader.cpp:
  5917. (WebCore::MainResourceLoader::didReceiveResponse):
  5918. * page/ContentSecurityPolicy.cpp:
  5919. (WebCore::ContentSecurityPolicy::didReceiveHeader):
  5920. * page/ContentSecurityPolicy.h:
  5921. 2011-02-05 Eric Seidel <eric@webkit.org>
  5922. Reviewed by Adam Barth.
  5923. Safari should lowercase schemes in cannonicalized urls to match every other browser
  5924. https://bugs.webkit.org/show_bug.cgi?id=53848
  5925. We're clearly the odd man out here. See results from every browser at:
  5926. https://github.com/abarth/url-spec/blob/master/tests/gurl-results/by-browser.txt
  5927. * platform/KURL.cpp:
  5928. (WebCore::KURL::parse):
  5929. - Just lowercase the scheme when copying.
  5930. 2011-02-05 Antti Koivisto <antti@apple.com>
  5931. Reviewed by Dave Hyatt.
  5932. Optimize matching of descendant selectors
  5933. https://bugs.webkit.org/show_bug.cgi?id=49876
  5934. <rdar://problem/8772822>
  5935. During style recalculation, maintain a filter of tags, ids and classes seen in ancestor elements.
  5936. Use the filter to quickly reject descendant and child selectors when doing style matching.
  5937. This speeds up style recalculations 3-6x on many major web sites.
  5938. * css/CSSStyleSelector.cpp:
  5939. (WebCore::RuleData::RuleData):
  5940. (WebCore::RuleData::descendantSelectorIdentifierHashes):
  5941. (WebCore::collectElementIdentifiers):
  5942. (WebCore::CSSStyleSelector::pushParent):
  5943. (WebCore::CSSStyleSelector::popParent):
  5944. (WebCore::CSSStyleSelector::fastRejectSelector):
  5945. (WebCore::CSSStyleSelector::matchRulesForList):
  5946. (WebCore::RuleData::collectDescendantSelectorIdentifierHashes):
  5947. * css/CSSStyleSelector.h:
  5948. (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame):
  5949. * dom/Element.cpp:
  5950. (WebCore::StyleSelectorParentPusher::StyleSelectorParentPusher):
  5951. (WebCore::StyleSelectorParentPusher::push):
  5952. (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
  5953. (WebCore::Element::attach):
  5954. (WebCore::Element::recalcStyle):
  5955. 2011-02-05 Nate Chapin <japhet@chromium.org>
  5956. Reviewed by Adam Barth.
  5957. Refactor: NotificationCenter shouldn't hold its own copy of the ScriptExecutionContext*
  5958. when it inherits one from ActiveDOMObject.
  5959. https://bugs.webkit.org/show_bug.cgi?id=53815
  5960. * bindings/js/JSDesktopNotificationsCustom.cpp:
  5961. (WebCore::JSNotificationCenter::requestPermission):
  5962. * bindings/v8/custom/V8NotificationCenterCustom.cpp:
  5963. (WebCore::V8NotificationCenter::requestPermissionCallback):
  5964. * notifications/NotificationCenter.cpp:
  5965. (WebCore::NotificationCenter::NotificationCenter):
  5966. (WebCore::NotificationCenter::checkPermission):
  5967. (WebCore::NotificationCenter::requestPermission):
  5968. (WebCore::NotificationCenter::disconnectFrame):
  5969. * notifications/NotificationCenter.h:
  5970. (WebCore::NotificationCenter::createHTMLNotification):
  5971. (WebCore::NotificationCenter::createNotification):
  5972. 2011-02-04 Adam Barth <abarth@webkit.org>
  5973. Reviewed by Maciej Stachowiak.
  5974. Crash in WebCore::TextEncoding::decode below XSSFilter::init
  5975. https://bugs.webkit.org/show_bug.cgi?id=53837
  5976. Add missing null check.
  5977. Test: http/tests/security/xssAuditor/non-block-javascript-url-frame.html
  5978. * html/parser/XSSFilter.cpp:
  5979. (WebCore::XSSFilter::init):
  5980. 2011-02-04 Simon Fraser <simon.fraser@apple.com>
  5981. Reviewed by Dan Bernstein.
  5982. Crashes in ShadowBlur via WebKit2 FindController
  5983. https://bugs.webkit.org/show_bug.cgi?id=53830
  5984. Fix a crash cause by re-entering ShadowBlur, and add assertions to
  5985. detect when it happens.
  5986. The re-entrancy occurred when drawRectShadowWithTiling() filled
  5987. the interior of the shadow with fillRect() on the context
  5988. which still had the shadow state set. This would make another ShadowBlur
  5989. on the stack and call into the code again, potentially blowing away
  5990. the image buffer.
  5991. Fix by turning off shadows in the destination context while we're
  5992. drawing the tiled shadow. The non-tiled code path already did this.
  5993. Not testable because CSS shadows clip out the inside of the rect
  5994. being shadowed, and SVG uses fillPath, even for rects.
  5995. * platform/graphics/ShadowBlur.cpp:
  5996. (WebCore::ScratchBuffer::ScratchBuffer):
  5997. (WebCore::ScratchBuffer::getScratchBuffer):
  5998. (WebCore::ScratchBuffer::scheduleScratchBufferPurge):
  5999. (WebCore::ShadowBlur::ShadowBlur):
  6000. (WebCore::ShadowBlur::drawRectShadowWithTiling):
  6001. 2011-02-04 Carlos Garcia Campos <cgarcia@igalia.com>
  6002. Reviewed by Martin Robinson.
  6003. [GTK] Don't use a fixed size for search field icons
  6004. https://bugs.webkit.org/show_bug.cgi?id=50624
  6005. Use the parent input content box to make sure the icon fits in the
  6006. search field, scaling it down when needed.
  6007. * platform/gtk/RenderThemeGtk.cpp:
  6008. (WebCore::paintGdkPixbuf):
  6009. (WebCore::getIconSizeForPixelSize):
  6010. (WebCore::adjustSearchFieldIconStyle):
  6011. (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
  6012. (WebCore::centerRectVerticallyInParentInputElement):
  6013. (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
  6014. (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
  6015. (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
  6016. (WebCore::RenderThemeGtk::paintCapsLockIndicator):
  6017. (WebCore::RenderThemeGtk::paintMediaButton):
  6018. 2011-02-04 Hironori Bono <hbono@chromium.org>
  6019. Reviewed by Adam Barth.
  6020. [chromium] JPEG corruption
  6021. https://bugs.webkit.org/show_bug.cgi?id=53250
  6022. Same as gray-scale JPEGs, we convert the colors of CMYK JPEGs with color
  6023. profiles from CMYK to RGB twice and it causes color corruption. This
  6024. change suppresses the color profiles for CMYK JPEGs same as gray-scale
  6025. ones.
  6026. Test: fast/images/cmyk-jpeg-with-color-profile.html
  6027. * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
  6028. (WebCore::JPEGImageReader::decode):
  6029. 2011-02-04 Xiyuan Xia <xiyuan@chromium.org>
  6030. Reviewed by Tony Chang.
  6031. [Chromium] Option text in select popup does not align with menulist button text
  6032. https://bugs.webkit.org/show_bug.cgi?id=53632
  6033. This makes clientPaddingLeft and clientPaddingRight return
  6034. the additional m_innerBlock's padding so that the popup item text
  6035. aligns with the menulist button text.
  6036. * rendering/RenderMenuList.cpp:
  6037. (WebCore::RenderMenuList::clientPaddingLeft):
  6038. (WebCore::RenderMenuList::clientPaddingRight):
  6039. 2011-02-04 Anders Carlsson <andersca@apple.com>
  6040. Reviewed by Sam Weinig and Beth Dakin.
  6041. REGRESSION: Horizontal scrollbar thumbs leave artifacts over page content when scrolling vertically
  6042. <rdar://problem/8962457>
  6043. * platform/ScrollView.cpp:
  6044. (WebCore::ScrollView::scrollContents):
  6045. Subtract scrollbars from the scroll view rect if overlay scrollers are enabled.
  6046. * platform/ScrollableArea.cpp:
  6047. (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
  6048. Make sure to invalidate both scrollbars if overlay scrollers are enabled.
  6049. 2011-02-04 Adam Barth <abarth@webkit.org>
  6050. Reviewed by Eric Seidel.
  6051. PluginDocuments don't create widgets for plugins on back/forward
  6052. https://bugs.webkit.org/show_bug.cgi?id=53474
  6053. Long ago, PluginDocument always caused the HTMLEmbedElement to create
  6054. its widget synchronously during a post-layout task. Recently, however,
  6055. some changes to the HistroyController caused layout on back/forward to
  6056. become slightly more complicated (and added an extra level of recursion
  6057. to layout). This extra level of recursion triggered the "I've recursed
  6058. too many times" condition in the post-layout task queue, causing the
  6059. FrameView to run the remainder of the tasks asynchronously.
  6060. Unfortunately, that broke PluginDocument because it needs its the
  6061. HTMLEmbedElement's updateWidget task to run synchronously.
  6062. This patch adds a mechanism for "kicking off" the pending post-layout
  6063. tasks synchronously (instead of waiting for the timer to fire).
  6064. PluginDocument then uses that facility to ensure that the
  6065. HTMLEmbedElement's updateWidget task happens.
  6066. Test: plugins/plugin-document-back-forward.html
  6067. * html/PluginDocument.cpp:
  6068. (WebCore::PluginDocumentParser::appendBytes):
  6069. * page/FrameView.cpp:
  6070. (WebCore::FrameView::flushAnyPendingPostLayoutTasks):
  6071. * page/FrameView.h:
  6072. 2011-02-04 Charlie Reis <creis@chromium.org>
  6073. Reviewed by Mihai Parparita.
  6074. Crash in WebCore::HistoryController::itemsAreClones
  6075. https://bugs.webkit.org/show_bug.cgi?id=52819
  6076. Avoids deleting the current HistoryItem while it is still in use.
  6077. Ensures that provisional items are committed for same document navigations.
  6078. Ensures that error pages are committed on back/forward navigations.
  6079. Also removes unneeded sanity checks used for diagnosing the problem.
  6080. * loader/HistoryController.cpp:
  6081. * loader/HistoryController.h:
  6082. 2011-02-04 Carol Szabo <carol.szabo@nokia.com>
  6083. Reviewed by David Hyatt.
  6084. Code Changes.
  6085. CSS 2.1 failure: content-*
  6086. https://bugs.webkit.org/show_bug.cgi?id=52126
  6087. Test: fast/css/counters/content-021.html
  6088. * rendering/CounterNode.cpp:
  6089. (showCounterTree):
  6090. Made parameter const because it is supposed to be so.
  6091. * rendering/RenderCounter.cpp:
  6092. (WebCore::previousInPreOrder):
  6093. (WebCore::previousSiblingOrParent):
  6094. (WebCore::parentElement):
  6095. (WebCore::areRenderersElementsSiblings):
  6096. (WebCore::nextInPreOrder):
  6097. Added these local helper functions to help navigate the DOM tree
  6098. enriched with :before and :after pseudo elements.
  6099. (WebCore::planCounter):
  6100. Fixed bug that would create a repeat counter for second and
  6101. subsequent renderers associated with the same DOM element.
  6102. (WebCore::findPlaceForCounter):
  6103. (WebCore::makeCounterNode):
  6104. Changed to use the new tree navigation functions described above
  6105. instead of the Renderer Tree navigation functions.
  6106. (WebCore::RenderCounter::rendererSubtreeAttached):
  6107. (WebCore::RenderCounter::rendererStyleChanged):
  6108. Optimized to not bother about counters until the renderers are
  6109. finally attached.
  6110. (showRendererTree):
  6111. (showNodeTree):
  6112. Debug helper functions used to debug Counter bugs.
  6113. 2011-02-04 Dan Bernstein <mitz@apple.com>
  6114. Typo fix.
  6115. * html/parser/XSSFilter.cpp:
  6116. (WebCore::HTMLNames::containsJavaScriptURL):
  6117. 2011-02-04 Dan Bernstein <mitz@apple.com>
  6118. Reviewed by Anders Carlsson.
  6119. Make an infinite loop introduced in r77454 finite.
  6120. * html/parser/XSSFilter.cpp:
  6121. (WebCore::HTMLNames::containsJavaScriptURL):
  6122. 2011-02-04 Jer Noble <jer.noble@apple.com>
  6123. Reviewed by Eric Carlson.
  6124. Frame accurate seeking isn't always accurate
  6125. https://bugs.webkit.org/show_bug.cgi?id=52697
  6126. Test: media/video-frame-accurate-seek.html
  6127. Make seeking slightly more accurate by rounding instead of truncating
  6128. when converting from seconds-in-float to time/timeScale.
  6129. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  6130. (WebCore::MediaPlayerPrivateQTKit::createQTTime):
  6131. * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
  6132. (WebCore::MediaPlayerPrivateQuickTimeVisualContext::mediaTimeForTimeValue):
  6133. * platform/graphics/win/QTMovie.cpp:
  6134. (QTMovie::setCurrentTime):
  6135. 2011-02-04 Jeremy Orlow <jorlow@chromium.org>
  6136. Reviewed by Nate Chapin.
  6137. Second IndexedDB events overhaul patch
  6138. https://bugs.webkit.org/show_bug.cgi?id=53813
  6139. If an IDBRequest has a IDBTransaction, it should propogate
  6140. events through it. In order to do this, IDBRequest needs to
  6141. hold a transaction frontend object rather than a backend one.
  6142. Test: storage/indexeddb/request-event-propagation.html
  6143. * storage/IDBCursor.cpp:
  6144. (WebCore::IDBCursor::IDBCursor):
  6145. * storage/IDBCursor.h:
  6146. (WebCore::IDBCursor::create):
  6147. * storage/IDBDatabase.cpp:
  6148. (WebCore::IDBDatabase::setSetVersionTransaction):
  6149. (WebCore::IDBDatabase::createObjectStore):
  6150. (WebCore::IDBDatabase::deleteObjectStore):
  6151. * storage/IDBDatabase.h:
  6152. * storage/IDBIndex.cpp:
  6153. (WebCore::IDBIndex::IDBIndex):
  6154. (WebCore::IDBIndex::openCursor):
  6155. (WebCore::IDBIndex::openKeyCursor):
  6156. (WebCore::IDBIndex::get):
  6157. (WebCore::IDBIndex::getKey):
  6158. * storage/IDBIndex.h:
  6159. (WebCore::IDBIndex::create):
  6160. * storage/IDBObjectStore.cpp:
  6161. (WebCore::IDBObjectStore::IDBObjectStore):
  6162. (WebCore::IDBObjectStore::get):
  6163. (WebCore::IDBObjectStore::add):
  6164. (WebCore::IDBObjectStore::put):
  6165. (WebCore::IDBObjectStore::deleteFunction):
  6166. (WebCore::IDBObjectStore::createIndex):
  6167. (WebCore::IDBObjectStore::deleteIndex):
  6168. (WebCore::IDBObjectStore::openCursor):
  6169. * storage/IDBObjectStore.h:
  6170. (WebCore::IDBObjectStore::create):
  6171. * storage/IDBRequest.cpp:
  6172. (WebCore::IDBRequest::create):
  6173. (WebCore::IDBRequest::IDBRequest):
  6174. (WebCore::IDBRequest::resetReadyState):
  6175. (WebCore::IDBRequest::onSuccess):
  6176. (WebCore::IDBRequest::dispatchEvent):
  6177. * storage/IDBRequest.h:
  6178. * storage/IDBTransaction.cpp:
  6179. (WebCore::IDBTransaction::IDBTransaction):
  6180. (WebCore::IDBTransaction::objectStore):
  6181. (WebCore::IDBTransaction::contextDestroyed):
  6182. (WebCore::IDBTransaction::enqueueEvent):
  6183. * storage/IDBTransaction.h:
  6184. * storage/IDBTransaction.idl:
  6185. 2011-02-04 Jeremy Orlow <jorlow@chromium.org>
  6186. Reviewed by Nate Chapin.
  6187. First step towards event propogation within IndexedDB
  6188. https://bugs.webkit.org/show_bug.cgi?id=53795
  6189. This is the first step towards implementing
  6190. http://www.w3.org/Bugs/Public/show_bug.cgi?id=11348
  6191. within IndexedDB. I've created a method that knows how
  6192. to capture and bubble (based on Node's dispatchGenericEvent).
  6193. I've then changed IDBRequest to use it.
  6194. The only functional change is that preventDefault now must
  6195. be called in error events to prevent the transaction from
  6196. being aborted. The tests reflect this change and there's one
  6197. specific test to look at this behavior.
  6198. Test: storage/indexeddb/error-causes-abort-by-default.html
  6199. * storage/IDBAbortEvent.cpp:
  6200. (WebCore::IDBAbortEvent::create):
  6201. (WebCore::IDBAbortEvent::IDBAbortEvent):
  6202. * storage/IDBAbortEvent.h:
  6203. * storage/IDBCompleteEvent.cpp:
  6204. (WebCore::IDBCompleteEvent::create):
  6205. (WebCore::IDBCompleteEvent::IDBCompleteEvent):
  6206. * storage/IDBCompleteEvent.h:
  6207. * storage/IDBErrorEvent.cpp:
  6208. (WebCore::IDBErrorEvent::IDBErrorEvent):
  6209. * storage/IDBEvent.cpp:
  6210. (WebCore::IDBEvent::IDBEvent):
  6211. (WebCore::IDBEvent::dispatch):
  6212. * storage/IDBEvent.h:
  6213. * storage/IDBRequest.cpp:
  6214. (WebCore::IDBRequest::dispatchEvent):
  6215. * storage/IDBRequest.h:
  6216. * storage/IDBSuccessEvent.cpp:
  6217. (WebCore::IDBSuccessEvent::IDBSuccessEvent):
  6218. * storage/IDBTransaction.cpp:
  6219. (WebCore::IDBTransaction::onAbort):
  6220. (WebCore::IDBTransaction::onComplete):
  6221. * storage/IDBTransaction.h:
  6222. (WebCore::IDBTransaction::backend):
  6223. * storage/IDBTransactionBackendImpl.cpp:
  6224. (WebCore::IDBTransactionBackendImpl::taskTimerFired):
  6225. 2011-02-04 Daniel Cheng <dcheng@chromium.org>
  6226. Reviewed by Dmitry Titov.
  6227. Clone WebClipboard to be frame-specific.
  6228. https://bugs.webkit.org/show_bug.cgi?id=53727
  6229. For drop operations, Chrome currently snapshots the data and copies it
  6230. into the renderer process. As we add more supported drag data types, the
  6231. copy will become increasingly expensive. Instead, we'd like to snapshot
  6232. data in the browser to reduce the amount of data copied and to support
  6233. Blob in DataTransferItem. In order to allow this, we associated
  6234. WebClipboard with a frame so it can correctly route its IPCs to the
  6235. corresponding Chromium host.
  6236. No new tests because no new functionality.
  6237. * platform/chromium/ChromiumDataObject.cpp:
  6238. (WebCore::ChromiumDataObject::createReadable):
  6239. * platform/chromium/ChromiumDataObject.h:
  6240. * platform/chromium/ClipboardChromium.cpp:
  6241. (WebCore::ClipboardChromium::create):
  6242. * platform/chromium/PlatformBridge.h:
  6243. * platform/chromium/ReadableDataObject.cpp:
  6244. (WebCore::ReadableDataObject::create):
  6245. (WebCore::ReadableDataObject::ReadableDataObject):
  6246. (WebCore::ReadableDataObject::getData):
  6247. (WebCore::ReadableDataObject::urlTitle):
  6248. (WebCore::ReadableDataObject::htmlBaseUrl):
  6249. (WebCore::ReadableDataObject::filenames):
  6250. (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
  6251. * platform/chromium/ReadableDataObject.h:
  6252. 2011-02-04 Jeremy Orlow <jorlow@chromium.org>
  6253. Revert https://bugs.webkit.org/show_bug.cgi?id=53795
  6254. * storage/IDBAbortEvent.cpp:
  6255. (WebCore::IDBAbortEvent::create):
  6256. (WebCore::IDBAbortEvent::IDBAbortEvent):
  6257. * storage/IDBAbortEvent.h:
  6258. * storage/IDBCompleteEvent.cpp:
  6259. (WebCore::IDBCompleteEvent::create):
  6260. (WebCore::IDBCompleteEvent::IDBCompleteEvent):
  6261. * storage/IDBCompleteEvent.h:
  6262. * storage/IDBErrorEvent.cpp:
  6263. (WebCore::IDBErrorEvent::IDBErrorEvent):
  6264. * storage/IDBEvent.cpp:
  6265. (WebCore::IDBEvent::IDBEvent):
  6266. * storage/IDBEvent.h:
  6267. * storage/IDBRequest.cpp:
  6268. (WebCore::IDBRequest::dispatchEvent):
  6269. * storage/IDBRequest.h:
  6270. * storage/IDBSuccessEvent.cpp:
  6271. (WebCore::IDBSuccessEvent::IDBSuccessEvent):
  6272. * storage/IDBTransaction.cpp:
  6273. (WebCore::IDBTransaction::onAbort):
  6274. (WebCore::IDBTransaction::onComplete):
  6275. * storage/IDBTransaction.h:
  6276. * storage/IDBTransactionBackendImpl.cpp:
  6277. (WebCore::IDBTransactionBackendImpl::taskTimerFired):
  6278. 2011-02-04 Martin Galpin <martin@66laps.com>
  6279. Reviewed by David Levin.
  6280. CORS origin header not set on GET when a preflight request is required.
  6281. https://bugs.webkit.org/show_bug.cgi?id=50773
  6282. Test: http/tests/xmlhttprequest/cross-origin-preflight-get.html
  6283. * loader/DocumentThreadableLoader.cpp:
  6284. (WebCore::DocumentThreadableLoader::preflightSuccess):
  6285. Explicitly set the request origin after a preflight request succeeds.
  6286. 2011-02-04 Jeremy Orlow <jorlow@chromium.org>
  6287. Reviewed by Nate Chapin.
  6288. First step towards event propogation within IndexedDB
  6289. https://bugs.webkit.org/show_bug.cgi?id=53795
  6290. This is the first step towards implementing
  6291. http://www.w3.org/Bugs/Public/show_bug.cgi?id=11348
  6292. within IndexedDB. I've created a method that knows how
  6293. to capture and bubble (based on Node's dispatchGenericEvent).
  6294. I've then changed IDBRequest to use it.
  6295. The only functional change is that preventDefault now must
  6296. be called in error events to prevent the transaction from
  6297. being aborted. The tests reflect this change and there's one
  6298. specific test to look at this behavior.
  6299. Test: storage/indexeddb/error-causes-abort-by-default.html
  6300. * storage/IDBAbortEvent.cpp:
  6301. (WebCore::IDBAbortEvent::create):
  6302. (WebCore::IDBAbortEvent::IDBAbortEvent):
  6303. * storage/IDBAbortEvent.h:
  6304. * storage/IDBCompleteEvent.cpp:
  6305. (WebCore::IDBCompleteEvent::create):
  6306. (WebCore::IDBCompleteEvent::IDBCompleteEvent):
  6307. * storage/IDBCompleteEvent.h:
  6308. * storage/IDBErrorEvent.cpp:
  6309. (WebCore::IDBErrorEvent::IDBErrorEvent):
  6310. * storage/IDBEvent.cpp:
  6311. (WebCore::IDBEvent::IDBEvent):
  6312. (WebCore::IDBEvent::dispatch):
  6313. * storage/IDBEvent.h:
  6314. * storage/IDBRequest.cpp:
  6315. (WebCore::IDBRequest::dispatchEvent):
  6316. * storage/IDBRequest.h:
  6317. * storage/IDBSuccessEvent.cpp:
  6318. (WebCore::IDBSuccessEvent::IDBSuccessEvent):
  6319. * storage/IDBTransaction.cpp:
  6320. (WebCore::IDBTransaction::onAbort):
  6321. (WebCore::IDBTransaction::onComplete):
  6322. * storage/IDBTransaction.h:
  6323. (WebCore::IDBTransaction::backend):
  6324. * storage/IDBTransactionBackendImpl.cpp:
  6325. (WebCore::IDBTransactionBackendImpl::taskTimerFired):
  6326. 2011-02-04 Dimitri Glazkov <dglazkov@chromium.org>
  6327. Reviewed by Csaba Osztrogonác.
  6328. [Qt]REGRESSION(r76951): media/controls-without-preload.html fails
  6329. https://bugs.webkit.org/show_bug.cgi?id=53674
  6330. * css/mediaControlsQt.css:
  6331. 2011-02-04 Dan Bernstein <mitz@apple.com>
  6332. Reviewed by Darin Adler and Dave Hyatt.
  6333. <rdar://problem/8902704> Make ruby text size 50% by default
  6334. https://bugs.webkit.org/show_bug.cgi?id=53723
  6335. * css/html.css:
  6336. (ruby > rt): Changed the font-size from 60% to 50%.
  6337. 2011-02-04 Antti Koivisto <antti@apple.com>
  6338. Reviewed by Dimitri Glazkov.
  6339. https://bugs.webkit.org/show_bug.cgi?id=53610
  6340. Regression: adjacent sibling selector not working as expected
  6341. <rdar://problem/8960033>
  6342. https://bugs.webkit.org/show_bug.cgi?id=53574
  6343. REGRESSION (r76012): :last-child:after not working as expected
  6344. <rdar://problem/8948643>
  6345. Test for additional conditions in parent style that prevent sharing.
  6346. Tests: fast/selectors/style-sharing-adjacent-selector.html
  6347. fast/selectors/style-sharing-last-child.html
  6348. * css/CSSStyleSelector.cpp:
  6349. (WebCore::parentStylePreventsSharing):
  6350. (WebCore::CSSStyleSelector::locateSharedStyle):
  6351. 2011-02-04 Mark Mentovai <mark@chromium.org>
  6352. Reviewed by Dimitri Glazkov.
  6353. Chromium GYP build fix.
  6354. When various settings were moved to webcore_prerequisites in r66364,
  6355. things that should have been direct_dependent_settings were not marked
  6356. as such. GYP 'defines', for example, make no sense on a 'none'-type
  6357. target such as webcore_prerequisites. It appears that it was intended
  6358. for these settings to be pushed to direct dependents, which would make
  6359. direct_dependent_settings correct.
  6360. Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
  6361. http://crbug.com/71537, which at best causes Mac console log spew, and
  6362. at worst may result in Chromium's copy of WebCore using system
  6363. definitions of certain Objective-C classes at runtime, or vice-versa.
  6364. The build now includes a postbuild step to prevent
  6365. http://crbug.com/71537 from regressing again. The build will fail upon
  6366. regression.
  6367. https://bugs.webkit.org/show_bug.cgi?id=53630
  6368. * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
  6369. direct_dependent_settings as needed, add the check_objc_rename
  6370. postbuild step.
  6371. * WebCore.gyp/mac/check_objc_rename.sh: Added.
  6372. 2011-02-04 Robert Hogan <robert@webkit.org>
  6373. Reviewed by Darin Fisher.
  6374. Move chromium iframe shim code to cross-platform file
  6375. https://bugs.webkit.org/show_bug.cgi?id=52594
  6376. Move Chromium code for identifying and cutting out
  6377. iframe shims from plugins to cross-platform utility file
  6378. IFrameShimSupport.cpp.
  6379. Amend PluginViewQt to use this code to handle shims correctly.
  6380. * WebCore.gypi: Add Chromium support for IFrameShimSupport.cpp
  6381. * WebCore.pro: Add Qt support for IFrameShimSupport.cpp
  6382. * plugins/IFrameShimSupport.cpp: Added.
  6383. (WebCore::getObjectStack):
  6384. (WebCore::iframeIsAbovePlugin):
  6385. (WebCore::getPluginOcclusions):
  6386. * plugins/IFframeShimSupport.h: Added.
  6387. * plugins/qt/PluginViewQt.cpp:
  6388. (WebCore::PluginView::setNPWindowIfNeeded):
  6389. 2011-02-04 Xiaomei Ji <xji@chromium.org>
  6390. Reviewed by David Levin.
  6391. Implement "<option> should implement the dir attribute" for chromium port after r76983.
  6392. https://bugs.webkit.org/show_bug.cgi?id=50969
  6393. Use manual test Source/WebCore/manual-tests/pop-up-alignment-and-direction.html
  6394. added in r76983.
  6395. * platform/chromium/PopupMenuChromium.cpp: Remove directionality hint from
  6396. <select> drop-down setting.
  6397. (WebCore::PopupListBox::paintRow): Use <option>'s directionality to paint
  6398. items in drop-down and pass-in bidi override flag when creating text run.
  6399. * platform/chromium/PopupMenuChromium.h: Remove directionalityHint from
  6400. PopupContainerSettings.
  6401. 2011-02-04 Jeremy Orlow <jorlow@chromium.org>
  6402. Build fix from merge mistake.
  6403. * storage/IDBTransaction.cpp:
  6404. (WebCore::IDBTransaction::ensureEventTargetData):
  6405. 2011-02-04 Levi Weintraub <leviw@chromium.org>
  6406. Reviewed by Darin Adler.
  6407. Remove unneeded function declarations in comments in EditorClient.h
  6408. https://bugs.webkit.org/show_bug.cgi?id=53745
  6409. Removing unused commented out function declarations. No tests since this is just cleanup.
  6410. * page/EditorClient.h:
  6411. 2011-02-03 Jeremy Orlow <jorlow@chromium.org>
  6412. Reviewed by Nate Chapin.
  6413. Refactor IDBRequest and IDBTransaction a bit
  6414. https://bugs.webkit.org/show_bug.cgi?id=53565
  6415. There were a lot of subtle issues with the way IDBTransaction
  6416. and IDBRequest used to be written. This cleans a lot of them up
  6417. and largely simplifies the logic. Using EventQueue rather than
  6418. timers is one example of the simplification.
  6419. * bindings/scripts/CodeGeneratorV8.pm:
  6420. * dom/EventQueue.cpp:
  6421. (WebCore::EventQueue::enqueueEvent):
  6422. (WebCore::EventQueue::dispatchEvent):
  6423. * storage/IDBCursor.cpp:
  6424. (WebCore::IDBCursor::continueFunction):
  6425. * storage/IDBRequest.cpp:
  6426. (WebCore::IDBRequest::create):
  6427. (WebCore::IDBRequest::IDBRequest):
  6428. (WebCore::IDBRequest::resetReadyState):
  6429. (WebCore::IDBRequest::onError):
  6430. (WebCore::IDBRequest::onSuccess):
  6431. (WebCore::IDBRequest::dispatchEvent):
  6432. (WebCore::IDBRequest::enqueueEvent):
  6433. (WebCore::IDBRequest::eventTargetData):
  6434. (WebCore::IDBRequest::ensureEventTargetData):
  6435. * storage/IDBRequest.h:
  6436. (WebCore::IDBRequest::dispatchEvent):
  6437. * storage/IDBTransaction.cpp:
  6438. (WebCore::IDBTransaction::create):
  6439. (WebCore::IDBTransaction::IDBTransaction):
  6440. (WebCore::IDBTransaction::objectStore):
  6441. (WebCore::IDBTransaction::abort):
  6442. (WebCore::IDBTransaction::onAbort):
  6443. (WebCore::IDBTransaction::onComplete):
  6444. (WebCore::IDBTransaction::onTimeout):
  6445. (WebCore::IDBTransaction::canSuspend):
  6446. (WebCore::IDBTransaction::stop):
  6447. (WebCore::IDBTransaction::enqueueEvent):
  6448. (WebCore::IDBTransaction::eventTargetData):
  6449. (WebCore::IDBTransaction::ensureEventTargetData):
  6450. * storage/IDBTransaction.h:
  6451. 2011-02-01 Jeremy Orlow <jorlow@chromium.org>
  6452. Reviewed by Nate Chapin.
  6453. Remove the timeout event from IndexedDB
  6454. https://bugs.webkit.org/show_bug.cgi?id=53521
  6455. Remove timeout and ontimeout from IDBTransaction per the spec.
  6456. * WebCore.gypi:
  6457. * storage/IDBDatabase.cpp:
  6458. (WebCore::IDBDatabase::transaction):
  6459. * storage/IDBDatabase.h:
  6460. (WebCore::IDBDatabase::transaction):
  6461. * storage/IDBDatabase.idl:
  6462. * storage/IDBDatabaseBackendImpl.cpp:
  6463. (WebCore::IDBDatabaseBackendImpl::setVersion):
  6464. (WebCore::IDBDatabaseBackendImpl::transaction):
  6465. * storage/IDBDatabaseBackendImpl.h:
  6466. * storage/IDBDatabaseBackendInterface.h:
  6467. * storage/IDBTimeoutEvent.cpp: Removed.
  6468. * storage/IDBTimeoutEvent.h: Removed.
  6469. * storage/IDBTransaction.cpp:
  6470. (WebCore::IDBTransaction::IDBTransaction):
  6471. (WebCore::IDBTransaction::onAbort):
  6472. (WebCore::IDBTransaction::onComplete):
  6473. * storage/IDBTransaction.h:
  6474. * storage/IDBTransaction.idl:
  6475. * storage/IDBTransactionBackendImpl.cpp:
  6476. (WebCore::IDBTransactionBackendImpl::create):
  6477. (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
  6478. * storage/IDBTransactionBackendImpl.h:
  6479. * storage/IDBTransactionCallbacks.h:
  6480. 2011-02-04 Chris Fleizach <cfleizach@apple.com>
  6481. Reviewed by Darin Adler.
  6482. AX: Can't set accessibility overridden attributes on web objects
  6483. https://bugs.webkit.org/show_bug.cgi?id=53725
  6484. accessibilitySetOverriddenValue does not work on AX objects from WebCore because
  6485. the right method needed to be overridden (accessibilitySupportsOverriddenAttributes).
  6486. Unfortunately, there's no way to test this from DRT, since AppKit returns the overridden
  6487. attribute only when an AX client asks for it through the AX frameworks.
  6488. * accessibility/mac/AccessibilityObjectWrapper.mm:
  6489. (-[AccessibilityObjectWrapper accessibilitySupportsOverriddenAttributes]):
  6490. 2011-02-03 Dimitri Glazkov <dglazkov@chromium.org>
  6491. Reviewed by Kent Tamura.
  6492. REGRESSION(r76147): Slider thumb is not repainted when let go outside of the slider track.
  6493. https://bugs.webkit.org/show_bug.cgi?id=53691
  6494. Test: fast/repaint/slider-thumb-drag-release.html
  6495. * html/shadow/SliderThumbElement.cpp:
  6496. (WebCore::SliderThumbElement::stopDragging): Added dirtying the layout bit to ensure
  6497. that the thumb is repainted.
  6498. 2011-02-04 Mikhail Naganov <mnaganov@chromium.org>
  6499. Reviewed by Pavel Feldman.
  6500. Web Inspector: Add "show more" data grid node and waiting message UI components.
  6501. https://bugs.webkit.org/show_bug.cgi?id=53763
  6502. - "show more" data grid node is used for on-demand population of
  6503. data grid contents (similar to DOM tree capability for limiting
  6504. displayed nodes count);
  6505. - waiting message is used for informing user about long lasting
  6506. operations (with a possibility to cancel them).
  6507. * English.lproj/localizedStrings.js:
  6508. * WebCore.gypi:
  6509. * WebCore.vcproj/WebCore.vcproj:
  6510. * inspector/front-end/PleaseWaitMessage.js: Added.
  6511. (WebInspector.PleaseWaitMessage):
  6512. * inspector/front-end/ShowMoreDataGridNode.js: Added.
  6513. (WebInspector.ShowMoreDataGridNode):
  6514. * inspector/front-end/WebKit.qrc:
  6515. * inspector/front-end/inspector.css:
  6516. (.data-grid button):
  6517. (.please-wait-msg):
  6518. * inspector/front-end/inspector.html:
  6519. 2011-02-04 Adele Peterson <adele@apple.com>
  6520. Reviewed by Dan Bernstein.
  6521. Fix for https://bugs.webkit.org/show_bug.cgi?id=53740
  6522. <rdar://problem/8503629> Allow platforms to specify if the placeholder should be visible when text controls are focused
  6523. Tests:
  6524. fast/forms/textarea-placeholder-visibility-1.html
  6525. fast/forms/textarea-placeholder-visibility-2.html
  6526. fast/forms/input-placeholder-visibility-1.html
  6527. fast/forms/input-placeholder-visibility-2.html
  6528. fast/forms/input-placeholder-visibility-3.html
  6529. * html/HTMLFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
  6530. Add a check for shouldShowPlaceholderWhenFocused.
  6531. * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::updateValue):
  6532. Whenever the value is updated, we should also update placeholder visibility.
  6533. * rendering/RenderTheme.h: (WebCore::RenderTheme::shouldShowPlaceholderWhenFocused):
  6534. Make the default the same as the existing behavior.
  6535. * rendering/RenderThemeMac.h:
  6536. * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused):
  6537. Show placeholder when appropriate.
  6538. 2011-02-04 Pavel Podivilov <podivilov@chromium.org>
  6539. Reviewed by Pavel Feldman.
  6540. Web Inspector: evaluate on hover does not work on a breakpoint.
  6541. https://bugs.webkit.org/show_bug.cgi?id=53768
  6542. * inspector/front-end/SourceFrame.js:
  6543. (WebInspector.SourceFrame.prototype._mouseHover):
  6544. 2011-02-04 Sheriff Bot <webkit.review.bot@gmail.com>
  6545. Unreviewed, rolling out r77625 and r77626.
  6546. http://trac.webkit.org/changeset/77625
  6547. http://trac.webkit.org/changeset/77626
  6548. https://bugs.webkit.org/show_bug.cgi?id=53765
  6549. It broke Windows builds (Requested by Ossy_ on #webkit).
  6550. * Android.jscbindings.mk:
  6551. * CMakeLists.txt:
  6552. * ForwardingHeaders/pcre/pcre.h: Added.
  6553. * ForwardingHeaders/yarr/Yarr.h: Removed.
  6554. * ForwardingHeaders/yarr/YarrInterpreter.h: Removed.
  6555. * ForwardingHeaders/yarr/YarrPattern.h: Removed.
  6556. * WebCore.gyp/WebCore.gyp:
  6557. * WebCore.pro:
  6558. * WebCore.vcproj/WebCore.vcproj:
  6559. * WebCore.vcproj/copyForwardingHeaders.cmd:
  6560. * platform/text/RegularExpression.cpp:
  6561. (WebCore::RegularExpression::Private::regexp):
  6562. (WebCore::RegularExpression::Private::compile):
  6563. (WebCore::RegularExpression::Private::Private):
  6564. (WebCore::RegularExpression::Private::create):
  6565. (WebCore::RegularExpression::Private::~Private):
  6566. (WebCore::RegularExpression::match):
  6567. 2011-02-04 Peter Varga <pvarga@webkit.org>
  6568. Rubber-stamped by Csaba Osztrogonác.
  6569. Replace PCRE with Yarr in WebCore
  6570. https://bugs.webkit.org/show_bug.cgi?id=53496
  6571. Speculative windows build fix.
  6572. No new tests needed.
  6573. * platform/text/RegularExpression.cpp:
  6574. 2011-02-04 Peter Varga <pvarga@webkit.org>
  6575. Reviewed by Gavin Barraclough.
  6576. Replace PCRE with Yarr in WebCore
  6577. https://bugs.webkit.org/show_bug.cgi?id=53496
  6578. No new tests needed.
  6579. * Android.jscbindings.mk:
  6580. * CMakeLists.txt:
  6581. * ForwardingHeaders/pcre/pcre.h: Removed.
  6582. * ForwardingHeaders/yarr/Yarr.h: Added.
  6583. * ForwardingHeaders/yarr/YarrInterpreter.h: Added.
  6584. * ForwardingHeaders/yarr/YarrPattern.h: Added.
  6585. * WebCore.gyp/WebCore.gyp:
  6586. * WebCore.pro:
  6587. * WebCore.vcproj/WebCore.vcproj:
  6588. * WebCore.vcproj/copyForwardingHeaders.cmd:
  6589. * platform/text/RegularExpression.cpp:
  6590. (WebCore::RegularExpression::Private::create):
  6591. (WebCore::RegularExpression::Private::Private):
  6592. (WebCore::RegularExpression::Private::compile):
  6593. (WebCore::RegularExpression::match):
  6594. 2011-02-04 Pavel Feldman <pfeldman@chromium.org>
  6595. Reviewed by Yury Semikhatsky.
  6596. Web Inspector: Network panel filtering is broken.
  6597. https://bugs.webkit.org/show_bug.cgi?id=53764
  6598. * inspector/front-end/NetworkPanel.js:
  6599. (WebInspector.NetworkPanel.prototype._sortItems):
  6600. (WebInspector.NetworkPanel.prototype._sortByTimeline):
  6601. (WebInspector.NetworkPanel.prototype._filter):
  6602. (WebInspector.NetworkPanel.prototype._updateOffscreenRows):
  6603. (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
  6604. (WebInspector.NetworkDataGridNode.prototype.get selectable):
  6605. (WebInspector.NetworkTotalGridNode.prototype.isFilteredOut):
  6606. (WebInspector.NetworkTotalGridNode.prototype.get selectable):
  6607. 2011-02-04 Andrey Kosyakov <caseq@chromium.org>
  6608. Reviewed by Pavel Feldman.
  6609. Web Inspector: support overriding user agent strings
  6610. https://bugs.webkit.org/show_bug.cgi?id=51485
  6611. Test: http/tests/inspector/extensions-useragent.html
  6612. * inspector/Inspector.idl:
  6613. * inspector/InspectorController.cpp:
  6614. (WebCore::InspectorController::disconnectFrontend):
  6615. (WebCore::InspectorController::setUserAgentOverride):
  6616. (WebCore::InspectorController::userAgentOverride):
  6617. * inspector/InspectorController.h:
  6618. * inspector/front-end/ExtensionAPI.js:
  6619. (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.reload):
  6620. * inspector/front-end/ExtensionServer.js:
  6621. (WebInspector.ExtensionServer.prototype._onReload):
  6622. * loader/FrameLoader.cpp:
  6623. (WebCore::FrameLoader::userAgent):
  6624. (WebCore::FrameLoader::applyUserAgent):
  6625. 2011-02-04 Pavel Podivilov <podivilov@chromium.org>
  6626. Reviewed by Pavel Feldman.
  6627. Web Inspector: scripts panel displays wrong file name after reload.
  6628. https://bugs.webkit.org/show_bug.cgi?id=53761
  6629. * inspector/front-end/ScriptsPanel.js:
  6630. (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
  6631. 2011-02-03 Yury Semikhatsky <yurys@chromium.org>
  6632. Reviewed by Pavel Feldman.
  6633. Web Inspector: remove settings related methods from InspectorClient
  6634. https://bugs.webkit.org/show_bug.cgi?id=53686
  6635. * WebCore.exp.in:
  6636. * inspector/CodeGeneratorInspector.pm:
  6637. * inspector/InspectorClient.h:
  6638. * inspector/InspectorFrontendClientLocal.cpp:
  6639. (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
  6640. (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
  6641. (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
  6642. * inspector/InspectorFrontendClientLocal.h: ports that provide in-process implementation of the inspector front-end can
  6643. provide platform-specific settings accessor.
  6644. (WebCore::InspectorFrontendClientLocal::Settings::Settings):
  6645. (WebCore::InspectorFrontendClientLocal::Settings::~Settings):
  6646. (WebCore::InspectorFrontendClientLocal::Settings::inspectorAttachedHeight):
  6647. (WebCore::InspectorFrontendClientLocal::Settings::storeInspectorAttachedHeight):
  6648. * loader/EmptyClients.h:
  6649. 2011-02-03 Anton Muhin <antonm@chromium.org>
  6650. Reviewed by Adam Barth.
  6651. [v8] frame several more JS code invocations into v8::TryCatch
  6652. https://bugs.webkit.org/show_bug.cgi?id=53594
  6653. This patch is preemptive and adjusts v8 bindings code to forthcoming small change
  6654. in v8::ThrowException---currently sometimes exceptions thrown by this method
  6655. do not reach surrounding v8::TryCatch handler (see
  6656. http://code.google.com/p/v8/issues/detail?id=1072 and
  6657. http://codereview.chromium.org/6397011/). Therefore the goal of this patch
  6658. is to make forthcoming v8 roll as smooth as possible (alas, we'll still need
  6659. one rebaseline as of now.)
  6660. * bindings/v8/V8Proxy.cpp:
  6661. (WebCore::V8Proxy::runScript): Do not rely on empty handle as a signal of exception, wrap into v8::TryCatch instead
  6662. * bindings/v8/V8WindowErrorHandler.cpp:
  6663. (WebCore::V8WindowErrorHandler::callListenerFunction): Ditto
  6664. 2011-02-03 Maciej Stachowiak <mjs@apple.com>
  6665. Reviewed by Dan Bernstein.
  6666. WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle
  6667. https://bugs.webkit.org/show_bug.cgi?id=52897
  6668. <rdar://problem/8898294>
  6669. * WebCore.exp.in: Add export now needed by WebKit2
  6670. 2011-02-03 Victoria Kirst <vrk@google.com>
  6671. Reviewed by James Robinson.
  6672. Replaces float literals with uniform values in shader code
  6673. so that buggy drivers unable to parse float values in different
  6674. locales will not produce a pink video.
  6675. [chromium] Fix pink video bug with gpu-acceleration enabled
  6676. https://bugs.webkit.org/show_bug.cgi?id=53568
  6677. * platform/graphics/chromium/VideoLayerChromium.cpp:
  6678. (WebCore::VideoLayerChromium::SharedValues::SharedValues):
  6679. (WebCore::VideoLayerChromium::drawYUV):
  6680. * platform/graphics/chromium/VideoLayerChromium.h:
  6681. (WebCore::VideoLayerChromium::SharedValues::signAdjLocation):
  6682. 2011-02-03 James Kozianski <koz@chromium.org>
  6683. Reviewed by Dimitri Glazkov.
  6684. Add navigator.registerProtocolHandler behind a flag.
  6685. https://bugs.webkit.org/show_bug.cgi?id=52609
  6686. This method is described in the HTML5 specification here,
  6687. http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
  6688. This change is largely cribbed from B. Green's 29651 patches. It is
  6689. behind a flag so as not to break JS feature detection.
  6690. New layout test fast/dom/registerProtocolHandler.html.
  6691. * Configurations/FeatureDefines.xcconfig:
  6692. * loader/EmptyClients.h:
  6693. (WebCore::EmptyChromeClient::registerProtocolHandler):
  6694. * page/Chrome.cpp:
  6695. (WebCore::Chrome::registerProtocolHandler):
  6696. * page/Chrome.h:
  6697. * page/ChromeClient.h:
  6698. * page/Navigator.cpp:
  6699. (WebCore::verifyCustomHandlerURL):
  6700. (WebCore::verifyProtocolHandlerScheme):
  6701. (WebCore::Navigator::registerProtocolHandler):
  6702. * page/Navigator.h:
  6703. * page/Navigator.idl:
  6704. 2011-02-03 Brian Ryner <bryner@chromium.org>
  6705. Reviewed by Darin Fisher.
  6706. Add a field to the ResourceResponse for tracking the socket address
  6707. of the host that the resource was fetched from. Patch was originally
  6708. by Paul Marks.
  6709. https://bugs.webkit.org/show_bug.cgi?id=53699
  6710. * platform/network/chromium/ResourceResponse.cpp:
  6711. (WebCore::ResourceResponse::doPlatformCopyData):
  6712. (WebCore::ResourceResponse::doPlatformAdopt):
  6713. * platform/network/chromium/ResourceResponse.h:
  6714. (WebCore::ResourceResponse::socketAddress):
  6715. (WebCore::ResourceResponse::setSocketAddress):
  6716. 2011-02-03 Adam Langley <agl@chromium.org>
  6717. Reviewed by Adam Barth.
  6718. Plumb mixed script URL to FrameLoaderClient
  6719. https://bugs.webkit.org/show_bug.cgi?id=52384
  6720. Regressions covered by http/tests/security/mixedContent/*
  6721. * loader/EmptyClients.h:
  6722. (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
  6723. * loader/FrameLoader.cpp:
  6724. (WebCore::FrameLoader::checkIfRunInsecureContent):
  6725. * loader/FrameLoaderClient.h:
  6726. 2011-02-03 Simon Fraser <simon.fraser@apple.com>
  6727. Reviewed by Dan Bernstein.
  6728. REGRESSION: Artifacts on box-shadow corners in some cases
  6729. https://bugs.webkit.org/show_bug.cgi?id=53731
  6730. Fix overdrawing artifacts in ShadowBlur's tiling code path,
  6731. which show up in shadows using a color with alpha.
  6732. Test: fast/box-shadow/shadow-tiling-artifact.html
  6733. * platform/graphics/ShadowBlur.cpp:
  6734. (WebCore::ShadowBlur::drawRectShadowWithTiling): Ensure
  6735. that the inner rect that gets filled does not overlap with any
  6736. of the eight tiled areas by having the corner and side dimensions
  6737. be the same for contiguous areas.
  6738. 2011-02-03 Adam Barth <abarth@webkit.org>
  6739. Reviewed by Alexey Proskuryakov.
  6740. XSS Auditor is spinning inside decodeURLEscapeSequences() if there are
  6741. percent signs in large posted data
  6742. https://bugs.webkit.org/show_bug.cgi?id=53405
  6743. If the input string contains many non-% characters followed by a %
  6744. character that is not a valid URL escape sequence, then the old
  6745. algorithm would only advance the initial search by one character
  6746. (instead of jumping to just after the % character). That would cause
  6747. the algorithm to take N^2 time (in the number of characters before the
  6748. first % character). This patch just advances the search past the first
  6749. % character so we can start looking for next % character sooner.
  6750. * platform/KURL.cpp:
  6751. (WebCore::decodeURLEscapeSequences):
  6752. 2011-02-03 Pavel Podivilov <podivilov@chromium.org>
  6753. Reviewed by Pavel Feldman.
  6754. Web Inspector: click on a breakpoint highlights wrong line in source frame.
  6755. https://bugs.webkit.org/show_bug.cgi?id=53692
  6756. * inspector/front-end/BreakpointsSidebarPane.js:
  6757. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
  6758. 2011-02-03 Anton Muhin <antonm@chromium.org>
  6759. Reviewed by Adam Barth.
  6760. [v8] Bail out if to string conversion returned empty handle
  6761. https://bugs.webkit.org/show_bug.cgi?id=53687
  6762. This a temporary measure: actually one probably should never get empty handle
  6763. if there was no exception. The root cause is under investigation.
  6764. The bailout though allows Chromium not to crash---attempt to convert an empty
  6765. v8 hande into WebCore string crashes with invalid memory access.
  6766. See http://code.google.com/p/chromium/issues/detail?id=71544
  6767. There is no known reduction expressible as a layout test so far. The crash found with automated testing tools.
  6768. * bindings/v8/V8Binding.cpp:
  6769. (WebCore::v8NonStringValueToWebCoreString): Bail out on empty handle
  6770. * bindings/v8/V8Binding.h:
  6771. (WebCore::V8ParameterBase::prepareBase): Ditto
  6772. 2011-02-03 Adam Barth <abarth@webkit.org>
  6773. Attempt to fix Chromium build.
  6774. * html/parser/XSSFilter.cpp:
  6775. 2011-02-03 Dirk Pranke <dpranke@chromium.org>
  6776. Unreviewed, rolling out r77562.
  6777. http://trac.webkit.org/changeset/77562
  6778. https://bugs.webkit.org/show_bug.cgi?id=53630
  6779. broke chromium mac build
  6780. * WebCore.gyp/WebCore.gyp:
  6781. * WebCore.gyp/mac/check_objc_rename.sh: Removed.
  6782. 2011-02-03 Adam Barth <abarth@webkit.org>
  6783. Reviewed by Daniel Bates.
  6784. XSS Auditor severely affects loading performance after submitting a large form
  6785. https://bugs.webkit.org/show_bug.cgi?id=49845
  6786. Switch over from the XSSAuditor to the XSSFilter, improving performance
  6787. on this example.
  6788. * html/parser/XSSFilter.cpp:
  6789. (WebCore::XSSFilter::filterToken):
  6790. * page/XSSAuditor.cpp:
  6791. (WebCore::XSSAuditor::isEnabled):
  6792. 2011-02-03 Dirk Pranke <dpranke@chromium.org>
  6793. Unreviewed, rolling out r77567.
  6794. http://trac.webkit.org/changeset/77567
  6795. https://bugs.webkit.org/show_bug.cgi?id=53468
  6796. broke chromium linux svg, canvas tests, possibly win also?
  6797. * platform/graphics/skia/ImageBufferSkia.cpp:
  6798. (WebCore::getImageData):
  6799. (WebCore::ImageBuffer::getUnmultipliedImageData):
  6800. (WebCore::ImageBuffer::getPremultipliedImageData):
  6801. (WebCore::putImageData):
  6802. (WebCore::ImageBuffer::putUnmultipliedImageData):
  6803. (WebCore::ImageBuffer::putPremultipliedImageData):
  6804. 2011-02-02 MORITA Hajime <morrita@google.com>
  6805. Reviewed by Dimitri Glazkov.
  6806. Refactoring: <progress> should not use ShadowElement
  6807. https://bugs.webkit.org/show_bug.cgi?id=53583
  6808. - Introduced RenderIndicatorPart and RenderProgressBarValuePart
  6809. to be responsible for bar-part layout,
  6810. which adopted layout logic from ShadowBlockElement.
  6811. - ProgressBarValueElement is no longer a subclass of ShadowBlockElement.
  6812. - Remove dependency from RenderProgress to HTMLProgressElement and
  6813. ShadowBlockElement.
  6814. - The shadow tree is no longer removed on detach(). It becomes persistent.
  6815. This is now possible because the ShadowBlockElement dependency is gone.
  6816. - ::-webkit-appearance for -webkit-progress-bar-value is no longer referred.
  6817. That didn't make sense.
  6818. * html/HTMLProgressElement.cpp:
  6819. (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
  6820. * html/HTMLProgressElement.h:
  6821. * html/shadow/ProgressBarValueElement.h: Added.
  6822. (WebCore::ProgressBarValueElement::ProgressBarValueElement):
  6823. (WebCore::ProgressBarValueElement::shadowPseudoId):
  6824. (WebCore::ProgressBarValueElement::createRenderer):
  6825. (WebCore::ProgressBarValueElement::create):
  6826. * rendering/RenderIndicator.cpp:
  6827. (WebCore::RenderIndicatorPart::RenderIndicatorPart):
  6828. (WebCore::RenderIndicatorPart::~RenderIndicatorPart):
  6829. (WebCore::RenderIndicatorPart::layout):
  6830. (WebCore::RenderIndicatorPart::styleDidChange):
  6831. * rendering/RenderIndicator.h: Added RenderIndicatorPart class
  6832. (WebCore::RenderIndicatorPart::originalVisibility):
  6833. (WebCore::RenderIndicatorPart::requiresForcedStyleRecalcPropagation):
  6834. (WebCore::RenderIndicatorPart::canHaveChildren):
  6835. * rendering/RenderProgress.cpp:
  6836. (WebCore::RenderProgressBarValuePart::preferredFrameRect):
  6837. (WebCore::RenderProgressBarValuePart::shouldBeHidden):
  6838. (WebCore::RenderProgress::updateFromElement):
  6839. (WebCore::RenderProgress::layoutParts):
  6840. (WebCore::RenderProgress::shouldHaveParts):
  6841. * rendering/RenderProgress.h:
  6842. (WebCore::RenderProgressBarValuePart::RenderProgressBarValuePart):
  6843. 2011-02-03 Jia Pu <jpu@apple.com>
  6844. Reversion should not be marked as misspelled.
  6845. https://bugs.webkit.org/show_bug.cgi?id=53255
  6846. This patch includes fix for reported bug, and also some housekeeping changes.
  6847. To implement desired behavior, we need:
  6848. 1. Add a new marker type, SpellCheckingExemption, since now we distingusish between text
  6849. that shouldn't be spellchecked and text shouldn't be autocorrected.
  6850. 2. Make sure that there is no pending correction panel when we enter markAllMisspellingsAndBadGrammarInRanges().
  6851. Otherwise the spell checking code in that function may interfere with autocorrection. This
  6852. is achieved by explicitly applying pending correction when user types space, line break or
  6853. paragraph break.
  6854. Housekeeping code changes include:
  6855. 1. Change manual-tests that were broken by relocated WebCore directory.
  6856. 2. Use TextIterator in various DocumentMarkerController functions instead of using
  6857. Node::traverseNextNode() directly.
  6858. 3. Allow passing multiple marker types into DocumentMarkerController::removeMarkers() and
  6859. DocumentMarkerController::hasMarkers() to improve clarity and efficiency.
  6860. 4. Fixes of minor bugs that were exposed previously.
  6861. * WebCore.exp.in: Change signature of DocumentMarkerController::removeMarkers().
  6862. * dom/DocumentMarker.h: Added new marker type SpellCheckingExemption.
  6863. * dom/DocumentMarkerController.cpp:
  6864. (WebCore::DocumentMarkerController::removeMarkers): Use TextIterator to scan the range to be
  6865. consistent with addMarker() function. Allow passing in multiple marker types in one call.
  6866. Added a boolean argument to specify the behavior when removing markers that partially
  6867. overlap the specified range.
  6868. (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): Allow passing in
  6869. multiple marker types in one call.
  6870. (WebCore::DocumentMarkerController::hasMarkers): Use TextIterator to scan the range to be
  6871. consistent with addMarker() function. Allow passing in multiple marker types in one call.
  6872. * dom/DocumentMarkerController.h: Allow passing in multiple marker types to removeMarkers()
  6873. and hasMarkers(). Added a boolean argument to removeMarkers() to specify the behavior when
  6874. removing markers that partially overlap the specified range.
  6875. * editing/Editor.cpp:
  6876. (WebCore::markerTypesForAutocorrection): Add SpellCheckingExemption marker when apply correction.
  6877. (WebCore::markerTypesForReplacement): Ditto.
  6878. (WebCore::Editor::respondToChangedSelection): Reordered call to dismissCorrectionPanel() and
  6879. setSelection() to make sure there is no pending correction when entering
  6880. markAllMisspellingsAndBadGrammarInRanges().
  6881. (WebCore::Editor::appliedEditing): Only remove CorrectionIndicator markers when the command
  6882. is a top level command to improve efficiency.
  6883. (WebCore::Editor::insertTextWithoutSendingTextEvent): Added code to applying pending correction.
  6884. (WebCore::Editor::insertLineBreak): Ditto.
  6885. (WebCore::Editor::insertParagraphSeparator): Ditto.
  6886. (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Don't mark mispelling if the
  6887. text carries SpellCheckingExemption marker.
  6888. (WebCore::Editor::correctionPanelTimerFired): Reset correction panel if the returned suggestion
  6889. from spellchecker is an empty string.
  6890. (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
  6891. Use new DocumentMarkerController::removeMarkers() to replace custom implemenation to improve
  6892. efficiency and readability.
  6893. (WebCore::Editor::applyCorrectionPanelInfo): Remove the code that set caret position after
  6894. applying correction, since it's unnecessary. Also, store pre-correction string together with
  6895. the marker for reversion panel to use.
  6896. (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate): Apply pending correction.
  6897. (WebCore::Editor::changeSelectionAfterCommand): Moved marker removal code to Editor::appliedEditing()
  6898. where we have access to EditCommand object.
  6899. * editing/Editor.h: Added new function applyAutocorrectionAfterTypingIfAppropriate().
  6900. * manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Change manual-tests that
  6901. were broken by relocated WebCore directory.
  6902. * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Ditto.
  6903. * manual-tests/autocorrection/autocorrection-contraction.html: Ditto.
  6904. * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Ditto.
  6905. * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Ditto.
  6906. * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Ditto.
  6907. * manual-tests/autocorrection/dismiss-multiple-guesses.html: Ditto.
  6908. * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Ditto.
  6909. * manual-tests/autocorrection/select-from-multiple-guesses.html: Ditto.
  6910. * manual-tests/autocorrection/spell-checking-after-reversion.html: Added.
  6911. * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Change manual-tests that
  6912. were broken by relocated WebCore directory.
  6913. * rendering/InlineTextBox.cpp:
  6914. (WebCore::InlineTextBox::paintDocumentMarkers): Code clean-up to be more concise.
  6915. 2011-02-03 Abhishek Arya <inferno@chromium.org>
  6916. Unreviewed, qt build fix.
  6917. * rendering/RenderBlock.cpp:
  6918. (WebCore::RenderBlock::removeFloatingObject):
  6919. 2011-02-03 Brian Salomon <bsalomon@google.com>
  6920. Reviewed by James Robinson.
  6921. Handle non-raster backed images in getUnmultipliedImageData()
  6922. https://bugs.webkit.org/show_bug.cgi?id=53468
  6923. No new tests. Existing canvas tests sufficient
  6924. LayoutTests/canvas/philip/...
  6925. * platform/graphics/skia/ImageBufferSkia.cpp:
  6926. (WebCore::getImageData):
  6927. (WebCore::ImageBuffer::getUnmultipliedImageData):
  6928. (WebCore::ImageBuffer::getPremultipliedImageData):
  6929. (WebCore::putImageData):
  6930. (WebCore::ImageBuffer::putUnmultipliedImageData):
  6931. (WebCore::ImageBuffer::putPremultipliedImageData):
  6932. 2011-02-03 Abhishek Arya <inferno@chromium.org>
  6933. Reviewed by James Robinson.
  6934. Enforce more limits on root inline boxes height calculations.
  6935. https://bugs.webkit.org/show_bug.cgi?id=53729
  6936. Test: fast/overflow/overflow-height-float-not-removed-crash.html
  6937. * rendering/RenderBlock.cpp:
  6938. (WebCore::RenderBlock::removeFloatingObject): prevent logicalBottom to
  6939. become negative when logicalTop is INT_MAX.
  6940. (WebCore::RenderBlock::markLinesDirtyInBlockRange): when logicalBottom
  6941. is INT_MAX, we should dirty everything. So, we bail out to make
  6942. afterLowest equal to the lastRootBox() or lowestDirstLine.
  6943. 2011-02-03 David Levin <levin@chromium.org>
  6944. Reviewed by Adam Barth and Oliver Hunt.
  6945. Worker.importScript() should clean errors for cross origin imports.
  6946. https://bugs.webkit.org/show_bug.cgi?id=52871
  6947. Test: http/tests/workers/worker-importScriptsOnError.html
  6948. * bindings/js/WorkerScriptController.cpp:
  6949. (WebCore::WorkerScriptController::evaluate): Use sanitizeScriptError
  6950. to determine when to create a clean exception.
  6951. * bindings/v8/WorkerContextExecutionProxy.cpp:
  6952. (WebCore::WorkerContextExecutionProxy::evaluate): Ditto.
  6953. * dom/ScriptExecutionContext.cpp:
  6954. (WebCore::ScriptExecutionContext::sanitizeScriptError): Figure out
  6955. if the error needs to be cleaned up.
  6956. (WebCore::ScriptExecutionContext::dispatchErrorEvent): Extracted
  6957. sanitizeScriptError for use by other places.
  6958. * dom/ScriptExecutionContext.h:
  6959. * workers/WorkerContext.cpp:
  6960. (WebCore::WorkerContext::importScripts): Use the reponse url when
  6961. telling the evaluate where the script came fro.
  6962. * workers/WorkerScriptLoader.cpp:
  6963. (WebCore::WorkerScriptLoader::responseURL): Expose the url that
  6964. the script was loaded from (which may be different from url() due
  6965. to redirects).
  6966. (WebCore::WorkerScriptLoader::didReceiveResponse): Capture the reponse url.
  6967. * workers/WorkerScriptLoader.h:
  6968. 2011-02-03 Mark Mentovai <mark@chromium.org>
  6969. Reviewed by Dimitri Glazkov.
  6970. Chromium GYP build fix.
  6971. When various settings were moved to webcore_prerequisites in r66364,
  6972. things that should have been direct_dependent_settings were not marked
  6973. as such. GYP 'defines', for example, make no sense on a 'none'-type
  6974. target such as webcore_prerequisites. It appears that it was intended
  6975. for these settings to be pushed to direct dependents, which would make
  6976. direct_dependent_settings correct.
  6977. Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
  6978. http://crbug.com/71537, which at best causes Mac console log spew, and
  6979. at worst may result in Chromium's copy of WebCore using system
  6980. definitions of certain Objective-C classes at runtime, or vice-versa.
  6981. The build now includes a postbuild step to prevent
  6982. http://crbug.com/71537 from regressing again. The build will fail upon
  6983. regression.
  6984. https://bugs.webkit.org/show_bug.cgi?id=53630
  6985. * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
  6986. direct_dependent_settings as needed, add the check_objc_rename
  6987. postbuild step.
  6988. * WebCore.gyp/mac/check_objc_rename.sh: Added.
  6989. 2011-02-03 Adam Barth <abarth@webkit.org>
  6990. Reviewed by Eric Seidel.
  6991. Make XSSFilter go fast by adding a SuffixTree
  6992. https://bugs.webkit.org/show_bug.cgi?id=53665
  6993. The SuffixTree lets us quickly reject snippets if the POST data is
  6994. large (because we can avoid a linear scan over the POST data).
  6995. * html/parser/XSSFilter.cpp:
  6996. (WebCore::XSSFilter::init):
  6997. (WebCore::XSSFilter::isContainedInRequest):
  6998. * html/parser/XSSFilter.h:
  6999. 2011-02-03 Mihai Parparita <mihaip@chromium.org>
  7000. Reviewed by Alexey Proskuryakov.
  7001. REGRESSION (r77355): Page cache layout tests crash
  7002. https://bugs.webkit.org/show_bug.cgi?id=53648
  7003. Test: fast/events/pagehide-timeout.html
  7004. Suspend active DOM objects after all pagehide event handlers have run,
  7005. otherwise it's possible for them to create more objects that weren't
  7006. getting suspended.
  7007. * history/CachedFrame.cpp:
  7008. (WebCore::CachedFrame::CachedFrame):
  7009. 2011-02-03 Jeremy Orlow <jorlow@chromium.org>
  7010. Reviewed by Nate Chapin.
  7011. SerializedScriptValue should not require v8 to create undefined and null values
  7012. https://bugs.webkit.org/show_bug.cgi?id=53730
  7013. Instead of creating a v8 type and passing that into the constructor, just use
  7014. the writer class directly. While I was at it, I cleaned up the code a bit too
  7015. by getting rid of the WireData/StringValue enum as I found that personally
  7016. confusing.
  7017. This is necessary because these methods are called by IndexedDB in the browser
  7018. process where v8 is not spun up.
  7019. No functionality changed and not possible to test.
  7020. * bindings/v8/SerializedScriptValue.cpp:
  7021. (WebCore::SerializedScriptValue::createFromWire):
  7022. (WebCore::SerializedScriptValue::create):
  7023. (WebCore::SerializedScriptValue::nullValue):
  7024. (WebCore::SerializedScriptValue::undefinedValue):
  7025. (WebCore::SerializedScriptValue::release):
  7026. (WebCore::SerializedScriptValue::SerializedScriptValue):
  7027. * bindings/v8/SerializedScriptValue.h:
  7028. 2011-02-03 Beth Dakin <bdakin@apple.com>
  7029. Reviewed by Sam Weinig.
  7030. Fix for <rdar://problem/8944544> Ability to animate track
  7031. for WKPainter scrollers
  7032. Two new WebKitSystemInterface functions.
  7033. * WebCore.exp.in:
  7034. * platform/mac/WebCoreSystemInterface.h:
  7035. * platform/mac/WebCoreSystemInterface.mm:
  7036. Use Scrollbar::convertFromContainingView() to return the right point.
  7037. * platform/mac/ScrollAnimatorMac.mm:
  7038. (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
  7039. ScrollKnobAnimation is now ScrollbarPartAnimation. It can
  7040. now be used to animate the knob or the track.
  7041. (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
  7042. (-[ScrollbarPartAnimation setCurrentProgress:]):
  7043. (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
  7044. (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
  7045. (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
  7046. Scrollbars need invalodating after the overlay state changes.
  7047. (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
  7048. 2011-02-03 Sam Weinig <sam@webkit.org>
  7049. Reviewed by Beth Dakin.
  7050. Scroll thumb jumps to top when resizing horizontally.
  7051. * platform/ScrollView.cpp:
  7052. (WebCore::ScrollView::updateScrollbars): Add call to update
  7053. the scrollbar's offset in the case where we may have created
  7054. a new scrollbar but have not changed the current position.
  7055. 2011-02-03 Justin Schuh <jschuh@chromium.org>
  7056. Reviewed by Dirk Schulze.
  7057. startAnimations should use a local, RefCounted Vector.
  7058. https://bugs.webkit.org/show_bug.cgi?id=53458
  7059. Test: svg/custom/use-animation-in-fill.html
  7060. * svg/SVGDocumentExtensions.cpp:
  7061. (WebCore::SVGDocumentExtensions::startAnimations):
  7062. 2011-02-03 Adam Barth <abarth@webkit.org>
  7063. Reviewed by Daniel Bates.
  7064. XSSFilter shouldn't bother to analyze pages without "injection"
  7065. characters in the request
  7066. https://bugs.webkit.org/show_bug.cgi?id=53664
  7067. If the request lacks these "injection" characters, then it's unlikely
  7068. that there's a reflective XSS attack happening. This hueristic lets us
  7069. avoid analyzing the vast majority of responses for XSS. Of course, the
  7070. hueristic isn't perfect. Because of this huerstic, we miss out on
  7071. injections into unquoted attributes. However, it's a trade-off that's
  7072. worked well in the XSSAuditor.
  7073. * html/parser/XSSFilter.cpp:
  7074. (WebCore::HTMLNames::isRequiredForInjection):
  7075. (WebCore::XSSFilter::XSSFilter):
  7076. (WebCore::XSSFilter::init):
  7077. (WebCore::XSSFilter::filterToken):
  7078. (WebCore::XSSFilter::isContainedInRequest):
  7079. * html/parser/XSSFilter.h:
  7080. 2011-02-03 Vangelis Kokkevis <vangelis@chromium.org>
  7081. Reviewed by Kenneth Russell.
  7082. [chromium] Fixing a compositor crash occurring on layers
  7083. without an associated RenderSurface.
  7084. https://bugs.webkit.org/show_bug.cgi?id=53679
  7085. Regression was introduced by in r77425
  7086. Test: http://webkit.org/blog/386/3d-transforms/ doesn't crash
  7087. anymore.
  7088. * platform/graphics/chromium/LayerRendererChromium.cpp:
  7089. (WebCore::LayerRendererChromium::drawLayer):
  7090. 2011-02-03 Dan Bernstein <mitz@apple.com>
  7091. Reviewed by Anders Carlsson.
  7092. <rdar://problem/8948788> Text emphasis marks have wrong orientation for vertical text
  7093. https://bugs.webkit.org/show_bug.cgi?id=53709
  7094. Covered by rendering of fast/text/emphasis-vertical.html
  7095. * platform/graphics/mac/SimpleFontDataMac.mm:
  7096. (WebCore::SimpleFontData::scaledFontData): Give the scaled font the same orientation this font
  7097. has.
  7098. 2011-02-02 Levi Weintraub <leviw@chromium.org>
  7099. Reviewed by Ryosuke Niwa.
  7100. Moving cursor down in table cycles at the end of a row
  7101. https://bugs.webkit.org/show_bug.cgi?id=50012
  7102. Avoids a caret cycling issue with certain content (e.g. tables) found at the very
  7103. end of a document due to a bug in nextLeafWithSameEditability.
  7104. Test: editing/selection/move-by-line-cycles-in-table.html
  7105. * editing/visible_units.cpp:
  7106. (WebCore::nextLeafWithSameEditability): Properly avoid descending back into the
  7107. original leaf node.
  7108. 2011-02-03 Pavel Podivilov <podivilov@chromium.org>
  7109. Reviewed by Pavel Feldman.
  7110. Web Inspector: remove dead code related to changes panel.
  7111. https://bugs.webkit.org/show_bug.cgi?id=53688
  7112. * WebCore.gypi:
  7113. * WebCore.vcproj/WebCore.vcproj:
  7114. * inspector/front-end/ChangesView.js: Removed.
  7115. * inspector/front-end/WebKit.qrc:
  7116. * inspector/front-end/inspector.css:
  7117. (#error-warning-count):
  7118. (#error-warning-count:hover):
  7119. (#error-count + #warning-count):
  7120. * inspector/front-end/inspector.html:
  7121. * inspector/front-end/inspector.js:
  7122. 2011-02-02 Sam Weinig <sam@webkit.org>
  7123. Reviewed by Anders Carlsson.
  7124. Add notification of the end of a rubber band.
  7125. <rdar://problem/8940648>
  7126. * WebCore.exp.in:
  7127. Add additional exprots.
  7128. * page/ChromeClient.h:
  7129. (WebCore::ChromeClient::didCompleteRubberBandForMainFrame):
  7130. * page/FrameView.cpp:
  7131. (WebCore::FrameView::didCompleteRubberBand):
  7132. * page/FrameView.h:
  7133. * platform/ScrollView.cpp:
  7134. (WebCore::ScrollView::didCompleteRubberBand):
  7135. * platform/ScrollView.h:
  7136. Add hook.
  7137. * platform/ScrollableArea.h:
  7138. (WebCore::ScrollableArea::inLiveResize):
  7139. (WebCore::ScrollableArea::maximumScrollPosition):
  7140. (WebCore::ScrollableArea::visibleWidth):
  7141. (WebCore::ScrollableArea::overhangAmount):
  7142. (WebCore::ScrollableArea::didCompleteRubberBand):
  7143. Reorganize and de-virtualize live resize notifications.
  7144. * platform/mac/ScrollAnimatorMac.mm:
  7145. (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
  7146. Call the new hook when the rubberband ends.
  7147. 2011-02-02 Evan Martin <evan@chromium.org>
  7148. Reviewed by Tony Chang.
  7149. [chromium] complex joining characters positioned in wrong place
  7150. https://bugs.webkit.org/show_bug.cgi?id=53637
  7151. Provide the correct font metrics to Harfbuzz related to the font design space.
  7152. There are used in some fonts for GPOS positioning.
  7153. Test: platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html
  7154. * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
  7155. (WebCore::ComplexTextController::setupFontForScriptRun):
  7156. (WebCore::ComplexTextController::allocHarfbuzzFont):
  7157. * platform/graphics/chromium/FontPlatformDataLinux.cpp:
  7158. (WebCore::FontPlatformData::FontPlatformData):
  7159. (WebCore::FontPlatformData::emSizeInFontUnits):
  7160. (WebCore::FontPlatformData::operator=):
  7161. * platform/graphics/chromium/FontPlatformDataLinux.h:
  7162. (WebCore::FontPlatformData::FontPlatformData):
  7163. 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
  7164. Reviewed by Kent Tamura.
  7165. REGRESSION(r76147): Slider thumb position is not updated when value attribute is changed.
  7166. https://bugs.webkit.org/show_bug.cgi?id=53634
  7167. Test: fast/dom/HTMLInputElement/input-slider-update.html
  7168. * html/HTMLInputElement.cpp:
  7169. (WebCore::HTMLInputElement::setValue): Added a call to InputType::valueChanged.
  7170. * html/InputType.cpp:
  7171. (WebCore::InputType::valueChanged): Added empty implementation.
  7172. * html/InputType.h: Added def.
  7173. * html/RangeInputType.cpp:
  7174. (WebCore::RangeInputType::valueChanged): Added implementation that dirties layout
  7175. bit on the thumb.
  7176. * html/RangeInputType.h: Added def.
  7177. 2011-02-02 Pavel Podivilov <podivilov@chromium.org>
  7178. Reviewed by Pavel Feldman.
  7179. Web Inspector: do not share source frames between resources panel and scripts panel.
  7180. https://bugs.webkit.org/show_bug.cgi?id=53584
  7181. Currently, we show error messages only for resources. This change will allow showing error
  7182. messages in source frame even when resource is not available (eval scripts, inlined scripts).
  7183. * inspector/front-end/ConsoleView.js:
  7184. (WebInspector.ConsoleView.prototype.addMessage):
  7185. (WebInspector.ConsoleView.prototype.clearMessages):
  7186. * inspector/front-end/ResourceView.js:
  7187. (WebInspector.ResourceView.recreateResourceView):
  7188. * inspector/front-end/ResourcesPanel.js:
  7189. (WebInspector.FrameResourceTreeElement.prototype._setBubbleText):
  7190. * inspector/front-end/ScriptsPanel.js:
  7191. (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
  7192. (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
  7193. (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
  7194. (WebInspector.ScriptsPanel.prototype.reset):
  7195. (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
  7196. (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
  7197. (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
  7198. 2011-02-03 Simon Fraser <simon.fraser@apple.com>
  7199. Fix 32-bit builds.
  7200. * platform/graphics/ShadowBlur.cpp:
  7201. (WebCore::ShadowBlur::blurLayerImage):
  7202. 2011-02-03 Mikhail Naganov <mnaganov@chromium.org>
  7203. Reviewed by Pavel Feldman.
  7204. Web Inspector: Add reporting of JS heap size limit to 'console.memory'.
  7205. https://bugs.webkit.org/show_bug.cgi?id=53592
  7206. In JSC there is no limit, thus 'undefined' value is returned.
  7207. For V8, the limit reported by the VM is returned.
  7208. * Android.jscbindings.mk:
  7209. * CMakeLists.txt:
  7210. * GNUmakefile.am:
  7211. * WebCore.gypi:
  7212. * WebCore.pro:
  7213. * WebCore.vcproj/WebCore.vcproj:
  7214. * WebCore.xcodeproj/project.pbxproj:
  7215. * bindings/js/JSBindingsAllInOne.cpp:
  7216. * bindings/js/JSMemoryInfoCustom.cpp: Added.
  7217. * bindings/js/ScriptGCEvent.cpp:
  7218. (WebCore::ScriptGCEvent::getHeapSize):
  7219. * bindings/js/ScriptGCEvent.h:
  7220. * bindings/v8/ScriptGCEvent.cpp:
  7221. (WebCore::ScriptGCEvent::getHeapSize):
  7222. * bindings/v8/ScriptGCEvent.h:
  7223. * inspector/InspectorTimelineAgent.cpp:
  7224. (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
  7225. * page/MemoryInfo.cpp:
  7226. (WebCore::MemoryInfo::MemoryInfo):
  7227. * page/MemoryInfo.h:
  7228. (WebCore::MemoryInfo::jsHeapSizeLimit):
  7229. * page/MemoryInfo.idl:
  7230. 2011-01-27 Philippe Normand <pnormand@igalia.com>
  7231. Reviewed by Martin Robinson.
  7232. [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
  7233. https://bugs.webkit.org/show_bug.cgi?id=53125
  7234. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  7235. (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
  7236. 2011-02-03 Simon Fraser <simon.fraser@apple.com>
  7237. Reviewed by Sam Weinig.
  7238. ShadowBlur radius for CSS shadows is slightly too big
  7239. https://bugs.webkit.org/show_bug.cgi?id=53660
  7240. If we follow SVG gaussian blur for CSS shadows, we can end up rendering
  7241. shadows that extend further than the CSS "blur radius", which results
  7242. in the shadows being truncated.
  7243. Fix with a small fudge factor to reduce the kernel diameter slightly
  7244. for CSS shadows.
  7245. Also more closely follow the algorithm described in the SVG spec
  7246. for computing the kernel size for different diameters, and clean up
  7247. some variable naming relating to the shadow bounds.
  7248. * platform/graphics/ShadowBlur.cpp:
  7249. (WebCore::ShadowBlur::blurLayerImage):
  7250. (WebCore::ShadowBlur::drawRectShadowWithTiling):
  7251. 2011-02-01 Pavel Podivilov <podivilov@chromium.org>
  7252. Reviewed by Pavel Feldman.
  7253. Web Inspector: introduce new api for managing JavaScript breakpoints.
  7254. https://bugs.webkit.org/show_bug.cgi?id=53235
  7255. Single protocol breakpoint (e.g. set by url) is mapped on zero or more VM breakpoints (set by sourceID).
  7256. removeJavaScriptBreakpoint(breakpointId) removes breakpoint and all linked VM breakpoints.
  7257. Since UI uses VM breakpoint location rather then protocol breakpoint location, all resolved breakpoints locations are passed to frontend.
  7258. SourceFrame is now aware of whether breakpoint is resolved or not and may display it accordingly.
  7259. JavaScriptBreakpointsSidebarPane filters out breakpoints set on nonexistent scripts to avoid UI cluttering.
  7260. * bindings/js/ScriptDebugServer.cpp:
  7261. (WebCore::ScriptDebugServer::setBreakpoint):
  7262. (WebCore::ScriptDebugServer::removeBreakpoint):
  7263. * bindings/js/ScriptDebugServer.h:
  7264. * bindings/v8/DebuggerScript.js:
  7265. ():
  7266. * bindings/v8/ScriptDebugServer.cpp:
  7267. (WebCore::ScriptDebugServer::setBreakpoint):
  7268. * bindings/v8/ScriptDebugServer.h:
  7269. * inspector/Inspector.idl:
  7270. * inspector/InspectorAgent.cpp: clear breakpoints from inspector state when new frontend is created
  7271. (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
  7272. (WebCore::InspectorAgent::populateScriptObjects):
  7273. (WebCore::InspectorAgent::restoreDebugger):
  7274. (WebCore::InspectorAgent::showAndEnableDebugger):
  7275. (WebCore::InspectorAgent::enableDebugger):
  7276. * inspector/InspectorAgent.h:
  7277. * inspector/InspectorDebuggerAgent.cpp: manage relations between protocol breakpoints and VM breakpoints
  7278. (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
  7279. (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
  7280. (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint):
  7281. (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpointBySourceId):
  7282. (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint):
  7283. (WebCore::InspectorDebuggerAgent::continueToLocation):
  7284. (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
  7285. (WebCore::InspectorDebuggerAgent::getScriptSource):
  7286. (WebCore::InspectorDebuggerAgent::didParseSource):
  7287. (WebCore::InspectorDebuggerAgent::didPause):
  7288. * inspector/InspectorDebuggerAgent.h:
  7289. (WebCore::InspectorDebuggerAgent::Script::Script):
  7290. * inspector/InspectorValues.cpp:
  7291. (WebCore::InspectorValue::asNumber):
  7292. (WebCore::InspectorBasicValue::asNumber):
  7293. (WebCore::InspectorObject::remove):
  7294. * inspector/InspectorValues.h:
  7295. (WebCore::InspectorObject::getNumber):
  7296. (WebCore::InspectorObject::find):
  7297. * inspector/ScriptBreakpoint.h:
  7298. (WebCore::ScriptBreakpoint::ScriptBreakpoint):
  7299. * inspector/front-end/Breakpoint.js:
  7300. (WebInspector.Breakpoint):
  7301. (WebInspector.Breakpoint.prototype.addLocation):
  7302. * inspector/front-end/BreakpointManager.js: remove all stuff related to JavaScript breakpoints from here
  7303. (WebInspector.BreakpointManager):
  7304. (WebInspector.BreakpointManager.prototype._projectChanged):
  7305. (WebInspector.BreakpointManager.prototype._saveBreakpoints):
  7306. (WebInspector.BreakpointManager.prototype._validateBreakpoints):
  7307. * inspector/front-end/BreakpointsSidebarPane.js:
  7308. (WebInspector.JavaScriptBreakpointsSidebarPane): filter breakpoints set on nonexistent scripts to avoid ui cluttering
  7309. * inspector/front-end/DebuggerModel.js:
  7310. (WebInspector.DebuggerModel): pull all JavaScript from localStorage and push them to fronted when debugger is enabled, save resolved breakpoints data
  7311. * inspector/front-end/Script.js:
  7312. (WebInspector.Script.prototype.sourceLine):
  7313. * inspector/front-end/ScriptsPanel.js:
  7314. (WebInspector.ScriptsPanel.prototype._toggleDebugging):
  7315. * inspector/front-end/Settings.js:
  7316. (WebInspector.Settings):
  7317. * inspector/front-end/SourceFrame.js: handle resolved and unresolved breakpoints differently
  7318. * inspector/front-end/inspector.js:
  7319. 2011-02-03 Nikolas Zimmermann <nzimmermann@rim.com>
  7320. Reviewed by Dirk Schulze.
  7321. small text which is scaled to be large renders pixelated
  7322. https://bugs.webkit.org/show_bug.cgi?id=12448
  7323. SVG <text> with font-size smaller or equal to 1 does not paint correctly
  7324. https://bugs.webkit.org/show_bug.cgi?id=14242
  7325. misplaced text in SVG
  7326. https://bugs.webkit.org/show_bug.cgi?id=17053
  7327. Don't render very small (but zoomed) text inside SVG
  7328. https://bugs.webkit.org/show_bug.cgi?id=19393
  7329. Tiny fonts scaled up end up too large in Safari
  7330. https://bugs.webkit.org/show_bug.cgi?id=20192
  7331. Stretched SVG Text has awful glyph spacing
  7332. https://bugs.webkit.org/show_bug.cgi?id=21774
  7333. REGRESSION (r72141?): svg/batik/text/smallFonts.svg failing on Leopard
  7334. https://bugs.webkit.org/show_bug.cgi?id=49846
  7335. [Gtk] Text height in zoomed SVG is 1px too high
  7336. https://bugs.webkit.org/show_bug.cgi?id=50313
  7337. SVG text smaller than 0.5px not displayed properly
  7338. https://bugs.webkit.org/show_bug.cgi?id=50528
  7339. When rendering text, we're selecting a font with a size, as specified in the markup.
  7340. This can lead to problems, if the context, where the text is rendered upon, is scaled. If a parent
  7341. element of the <text> defines a transform=".." or the outermost <svg> containing a viewBox the
  7342. problem becomes apparent.
  7343. Consider following two snippets, which should render exactly the same:
  7344. <svg viewBox="0 0 100 100"><text x="25" y="50" font-size="25">test</text></svg>
  7345. <svg viewBox="0 0 1 1"><text x="0.25" y="0.5" font-size="0.25">test</text></svg>
  7346. When selecting a font size below 0.5, FontCacheMac would request a font with size 0,
  7347. which AppKit turns into 12. This lead to huge text rendering, instead of small text on Mac.
  7348. Other platforms have different problems (Qt simply scales the font, leading to pixelation etc.)
  7349. To fix this in a cross-platform fashion, we now always compute the final font size on screen,
  7350. remove any scaling from the context, draw the text using the scaled font size, then reapply
  7351. the context scale. This makes the example snippets above render exactly the same and fixes
  7352. numerous of bugs, present since years. As we're now heavily using floating-point font sizes
  7353. internally, depending on the scale of the document, it's very important to use the new
  7354. floating-point text metrics information (floatAscent/floatDescent/floatHeight) everywhere in SVG.
  7355. Fixes existing tests: css3/zoom-coords.xhtml (cross-platform inconsistencies should be gone, mac now reports floatHeight values for SVG text height)
  7356. svg/hixie/text/003.html (no more pixelation)
  7357. svg/batik/text/smallFonts.svg (small fonts aren't rendered huge anymore on mac)
  7358. svg/hixie/viewbox/preserveAspectRatio/001.xml (bug 21774, no more awful spacing)
  7359. svg/zoom/page/zoom-zoom-coords.xhtml (cross-platform inconsistencies should be gone, inspired by bug 50313)
  7360. Tests: svg/text/font-size-below-point-five-2.svg (reduction from bug 50528)
  7361. svg/text/font-size-below-point-five.svg (reduction from bug 50528)
  7362. svg/text/scaled-font.svg (reduction from bug 12448)
  7363. svg/text/small-fonts-2.svg (reduction from bug 14242)
  7364. svg/text/small-fonts-3.svg (reduction from bug 17053)
  7365. svg/text/small-fonts-in-html5.html (reduction from bug 19393)
  7366. svg/text/small-fonts.svg (reduction from bug 20192))
  7367. * rendering/svg/RenderSVGInlineText.cpp: Cache 'float scalingFactor' & 'Font scaledFont', whenever the on-screen representation changes.
  7368. * rendering/svg/RenderSVGInlineText.h:
  7369. * rendering/svg/RenderSVGText.cpp: Update scalingFactor/scaledFont, if necessary.
  7370. * rendering/svg/SVGInlineTextBox.cpp: Switch to new font rendering strategy. Always use scaledFont, and remove any context scale before drawing.
  7371. * rendering/svg/SVGInlineTextBox.h:
  7372. * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Use floating-point metrics everywhere.
  7373. * rendering/svg/SVGTextMetrics.cpp: Ditto.
  7374. * rendering/svg/SVGTextMetrics.h: Ditto.
  7375. * rendering/svg/SVGTextQuery.cpp: Ditto.
  7376. * svg/SVGFont.cpp: Adjust stroke thickness, when drawing SVGFonts into a normalized context (no more scale).
  7377. * svg/SVGTextContentElement.cpp: Make <text> elements always dependant on window size changes in combination with viewBox set.
  7378. * svg/SVGTextPositioningElement.cpp: Remove now unnecessary code to determine wheter relative lengths are used as text attributes.
  7379. * svg/SVGTextPositioningElement.h:
  7380. 2011-02-03 Pavel Feldman <pfeldman@chromium.org>
  7381. Reviewed by Yury Semikhatsky.
  7382. Web Inspector: resources panel doesn't show frames after reload.
  7383. https://bugs.webkit.org/show_bug.cgi?id=53430
  7384. * inspector/front-end/ResourcesPanel.js:
  7385. (WebInspector.ResourcesPanel.prototype.show):
  7386. (WebInspector.ResourcesPanel.prototype.loadEventFired):
  7387. (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
  7388. (WebInspector.ResourcesPanel.prototype.reset):
  7389. (WebInspector.ResourcesPanel.prototype.clear):
  7390. * inspector/front-end/inspector.js:
  7391. (WebInspector.loadEventFired):
  7392. 2011-02-01 Alexander Pavlov <apavlov@chromium.org>
  7393. Reviewed by Pavel Feldman.
  7394. Web Inspector: Remove the *2 suffix from the CSS style-related protocol methods
  7395. https://bugs.webkit.org/show_bug.cgi?id=53492
  7396. * inspector/Inspector.idl:
  7397. * inspector/InspectorCSSAgent.cpp:
  7398. (WebCore::InspectorCSSAgent::getStylesForNode):
  7399. (WebCore::InspectorCSSAgent::getInlineStyleForNode):
  7400. (WebCore::InspectorCSSAgent::getComputedStyleForNode):
  7401. (WebCore::InspectorCSSAgent::getAllStyles):
  7402. (WebCore::InspectorCSSAgent::getStyleSheet):
  7403. (WebCore::InspectorCSSAgent::getStyleSheetText):
  7404. (WebCore::InspectorCSSAgent::setStyleSheetText):
  7405. (WebCore::InspectorCSSAgent::setPropertyText):
  7406. (WebCore::InspectorCSSAgent::toggleProperty):
  7407. (WebCore::InspectorCSSAgent::setRuleSelector):
  7408. (WebCore::InspectorCSSAgent::addRule):
  7409. * inspector/InspectorCSSAgent.h:
  7410. * inspector/front-end/AuditRules.js:
  7411. (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
  7412. * inspector/front-end/CSSStyleModel.js:
  7413. (WebInspector.CSSStyleModel.prototype.getStylesAsync):
  7414. (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
  7415. (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
  7416. (WebInspector.CSSStyleModel.prototype.setRuleSelector):
  7417. (WebInspector.CSSStyleModel.prototype.addRule):
  7418. (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
  7419. (WebInspector.CSSStyleModel.prototype._onRevert):
  7420. (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
  7421. (WebInspector.CSSProperty.prototype.setText):
  7422. (WebInspector.CSSProperty.prototype.setDisabled):
  7423. (WebInspector.CSSStyleSheet.createForId):
  7424. (WebInspector.CSSStyleSheet.prototype.setText):
  7425. 2011-02-03 Adam Barth <abarth@webkit.org>
  7426. Reviewed by Daniel Bates.
  7427. Teach XSSFilter about data URLs
  7428. https://bugs.webkit.org/show_bug.cgi?id=53662
  7429. The XSS filter doesn't really make sense for data URLs because
  7430. everything in a "response" from a data URL was part of the request.
  7431. Test: http/tests/security/xssAuditor/data-urls-work.html
  7432. * html/parser/XSSFilter.cpp:
  7433. (WebCore::XSSFilter::init):
  7434. (WebCore::XSSFilter::filterToken):
  7435. 2011-02-02 Chris Evans <cevans@chromium.org>
  7436. Reviewed by Darin Fisher.
  7437. window.find() can fail when switching case sensitivity
  7438. https://bugs.webkit.org/show_bug.cgi?id=53654
  7439. Reset the pattern to a safe one when done, to avoid usearch_reset()
  7440. indirectly touching the old, stale text pointer.
  7441. Test: fast/text/find-window.html
  7442. * editing/TextIterator.cpp:
  7443. (WebCore::SearchBuffer::~SearchBuffer): leave a safe pattern buffer when done.
  7444. 2011-02-02 Adam Barth <abarth@webkit.org>
  7445. Reviewed by Daniel Bates.
  7446. Teach XSSFilter that <param> elements can contain URLs
  7447. https://bugs.webkit.org/show_bug.cgi?id=53652
  7448. When loading plugins for the <object> tag, we're "smart" enough to
  7449. reach into the <param> elements and pull out the URL in some cases.
  7450. This patch teaches the XSSFilter how to block injections into those
  7451. sorts of param elements.
  7452. Fixes:
  7453. http/tests/security/xssAuditor/object-*
  7454. * html/HTMLParamElement.cpp:
  7455. (WebCore::HTMLParamElement::isURLParameter):
  7456. (WebCore::HTMLParamElement::isURLAttribute):
  7457. (WebCore::HTMLParamElement::addSubresourceAttributeURLs):
  7458. * html/HTMLParamElement.h:
  7459. - Add a helper function so that HTMLParamElement can share the
  7460. ground truth for these names with the XSSFilter.
  7461. * html/parser/XSSFilter.cpp:
  7462. (WebCore::XSSFilter::filterTokenInitial):
  7463. (WebCore::XSSFilter::filterParamToken):
  7464. * html/parser/XSSFilter.h:
  7465. 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
  7466. Reviewed by David Levin.
  7467. GCC compiler on ARM issues bogus warnings and fails to compile.
  7468. https://bugs.webkit.org/show_bug.cgi?id=53620
  7469. Despite warnings explicitly being disallowed (-Wno-uninitialized),
  7470. gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 throws up the warnings like:
  7471. "error: 'colorTransparent.unstatic.4909' may be used uninitialized in this function"
  7472. The fix is to add an extra condition, which somehow pacifies the compiler.
  7473. * css/CSSPrimitiveValue.cpp:
  7474. (WebCore::CSSPrimitiveValue::createColor): Added workaround conditions.
  7475. 2011-02-02 Adam Barth <abarth@webkit.org>
  7476. Reviewed by Daniel Bates.
  7477. Teach XSSFilter about X-XSS-Protection
  7478. https://bugs.webkit.org/show_bug.cgi?id=53640
  7479. This patch causes us to pass:
  7480. http/tests/security/xssAuditor/full-block-*
  7481. http/tests/security/xssAuditor/no-protection-script-tag.html
  7482. * html/parser/XSSFilter.cpp:
  7483. (WebCore::XSSFilter::XSSFilter):
  7484. (WebCore::XSSFilter::init):
  7485. (WebCore::XSSFilter::filterToken):
  7486. * html/parser/XSSFilter.h:
  7487. 2011-02-02 Adam Barth <abarth@webkit.org>
  7488. Reviewed by Daniel Bates.
  7489. When XSSFilter blocks JavaScript URLs, use a safe JavaScript URL
  7490. instead of the empty string
  7491. https://bugs.webkit.org/show_bug.cgi?id=53643
  7492. In a URL context, the empty string completes to the URL of the current
  7493. page, which causes these tests to go into an infinite loop. Instead,
  7494. we should use a "safe" JavaScript URL that does nothing.
  7495. Fixes:
  7496. http/tests/security/xssAuditor/javascript-link*
  7497. * html/parser/XSSFilter.cpp:
  7498. (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
  7499. 2011-02-02 Dan Bernstein <mitz@apple.com>
  7500. Reviewed by Sam Weinig.
  7501. <rdar://problem/8380506> REGRESSION (r61921): RTL text in <b> tag doesn't display in WebKit under certain conditions
  7502. https://bugs.webkit.org/show_bug.cgi?id=44942
  7503. Test: fast/text/bidi-embedding-pop-and-push-same-2.html
  7504. * platform/text/BidiResolver.h:
  7505. (WebCore::::commitExplicitEmbedding): Changed to return a boolean indicating whether there was
  7506. a change to embedding levels.
  7507. (WebCore::::createBidiRunsForLine): If embedding levels did not change as a result of committing
  7508. the explicit embedding sequence, then runs were not added, and we should continue normally.
  7509. 2011-02-02 Sam Weinig <sam@webkit.org>
  7510. Reviewed by Dan Bernstein.
  7511. Fix miscalculation of the overhang area used for painting. We were
  7512. not correctly accounting for scrollbars resulting in an non-negative
  7513. overhang even when we weren't over the edge.
  7514. * platform/ScrollView.cpp:
  7515. (WebCore::ScrollView::calculateOverhangAreasForPainting):
  7516. 2011-02-02 Jeremy Orlow <jorlow@chromium.org>
  7517. Reviewed by Nate Chapin.
  7518. IDBTransaction and IDBRequest can be deleted while ScriptExecutionContext is iterating....which is bad
  7519. https://bugs.webkit.org/show_bug.cgi?id=52722
  7520. The solution is to change ScriptExecutionContext's destructor to iterate over
  7521. the list in a way that handles the mutations. This new method is destructive,
  7522. but that's OK since the object is going away. I've also added a several asserts.
  7523. There should be no behavior change.
  7524. * dom/ScriptExecutionContext.cpp:
  7525. (WebCore::ScriptExecutionContext::ScriptExecutionContext):
  7526. (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
  7527. (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
  7528. (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
  7529. (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
  7530. (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
  7531. (WebCore::ScriptExecutionContext::createdActiveDOMObject):
  7532. (WebCore::ScriptExecutionContext::destroyedActiveDOMObject):
  7533. * dom/ScriptExecutionContext.h:
  7534. * storage/IDBTransaction.cpp:
  7535. (WebCore::IDBTransaction::contextDestroyed):
  7536. * storage/IDBTransaction.h:
  7537. 2011-02-02 Mark Rowe <mrowe@apple.com>
  7538. Build fix.
  7539. * WebCore.exp.in: Remove some bogus symbols from the .exp.in file.
  7540. * platform/mac/ScrollbarThemeMac.mm:
  7541. (WebCore::ScrollbarThemeMac::unregisterScrollbar): Look the object
  7542. up in the HashMap rather than relying on a local variable that doesn't
  7543. exist.
  7544. 2011-02-02 Adam Barth <abarth@webkit.org>
  7545. Reviewed by Daniel Bates.
  7546. Teach XSSFilter about JavaScript URLs
  7547. https://bugs.webkit.org/show_bug.cgi?id=53635
  7548. This patch teaches the XSSFilter to check for JavaScript URLs in
  7549. attribute values. If this approach has too many false positives, we
  7550. can restrict which attribute names we examine.
  7551. Fixes these tests:
  7552. http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html
  7553. http/tests/security/xssAuditor/dom-write-location-javascript-URL.html
  7554. http/tests/security/xssAuditor/iframe-javascript-url*
  7555. * html/parser/XSSFilter.cpp:
  7556. (WebCore::HTMLNames::containsJavaScriptURL):
  7557. (WebCore::XSSFilter::filterTokenInitial):
  7558. (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
  7559. * html/parser/XSSFilter.h:
  7560. 2011-02-02 Dan Bernstein <mitz@apple.com>
  7561. Reviewed by Sam Weinig, even though this is just a...
  7562. ...build fix.
  7563. * platform/mac/ScrollAnimatorMac.mm:
  7564. (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
  7565. 2011-02-02 Mark Rowe <mrowe@apple.com>
  7566. Reviewed by Beth Dakin.
  7567. <rdar://problem/8952012> Crash on launch inside scrollbar code.
  7568. We need to ensure that we remove ourselves as the delegates of objects when we're going
  7569. away as failing to do this can lead to crashes if the lifetime of the other objects
  7570. is longer than ours.
  7571. * platform/mac/ScrollAnimatorMac.mm:
  7572. (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
  7573. * platform/mac/ScrollbarThemeMac.mm:
  7574. (WebCore::ScrollbarThemeMac::unregisterScrollbar):
  7575. 2011-02-02 Beth Dakin <bdakin@apple.com>
  7576. Build fix.
  7577. * WebCore.exp.in:
  7578. 2011-02-02 Patrick Gansterer <paroga@webkit.org>
  7579. Unreviewed WinCE build fix for r77397.
  7580. * page/wince/FrameWinCE.cpp:
  7581. (WebCore::computePageRectsForFrame):
  7582. 2011-02-02 Patrick Gansterer <paroga@webkit.org>
  7583. Unreviewed WinCE build fix for r77398.
  7584. * platform/graphics/wince/PlatformPathWinCE.cpp:
  7585. (WebCore::containsPoint):
  7586. (WebCore::inflateRectToContainPoint):
  7587. (WebCore::PlatformPath::addRect):
  7588. * platform/graphics/wince/SharedBitmap.cpp:
  7589. (WebCore::SharedBitmap::drawPattern):
  7590. * rendering/RenderThemeWinCE.cpp:
  7591. (WebCore::RenderThemeWinCE::paintMenuListButton):
  7592. (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
  7593. (WebCore::RenderThemeWinCE::paintSliderTrack):
  7594. (WebCore::RenderThemeWinCE::paintMediaMuteButton):
  7595. (WebCore::RenderThemeWinCE::paintMediaPlayButton):
  7596. (WebCore::RenderThemeWinCE::paintMediaSeekBackButton):
  7597. (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton):
  7598. 2011-02-02 Jian Li <jianli@chromium.org>
  7599. Reviewed by Kenneth Russell.
  7600. [V8] Accessing DataView with index of -1 returns 0, doesn't throw
  7601. https://bugs.webkit.org/show_bug.cgi?id=53559
  7602. Added test cases to cover this in fast/canvas/webgl/data-view-test.html.
  7603. * html/canvas/DataView.h:
  7604. (WebCore::DataView::beyondRange):
  7605. 2011-02-02 Sam Weinig <sam@webkit.org>
  7606. Reviewed by Beth Dakin.
  7607. Add ChromeClient function to paint custom overhang areas.
  7608. https://bugs.webkit.org/show_bug.cgi?id=53639
  7609. * page/Chrome.cpp:
  7610. (WebCore::ChromeClient::paintCustomOverhangArea):
  7611. * page/ChromeClient.h:
  7612. Add ChromeClient function.
  7613. * page/FrameView.cpp:
  7614. (WebCore::FrameView::paintOverhangAreas):
  7615. * page/FrameView.h:
  7616. Call out the the ChromeClient, call ScrollView base implementation
  7617. if the ChromeClient returns false.
  7618. * platform/ScrollView.cpp:
  7619. (WebCore::ScrollView::paintOverhangAreas):
  7620. * platform/ScrollView.h:
  7621. Add dirty rect for use when painting overhang areas.
  7622. 2011-02-02 Peter Kasting <pkasting@google.com>
  7623. Not reviewed, build fix.
  7624. Fix compile after r77427.
  7625. https://bugs.webkit.org/show_bug.cgi?id=53455
  7626. * platform/graphics/qt/ImageDecoderQt.cpp:
  7627. (WebCore::ImageDecoderQt::internalHandleCurrentImage):
  7628. * platform/image-decoders/ImageDecoder.cpp:
  7629. (WebCore::ImageFrame::operator=):
  7630. * platform/image-decoders/bmp/BMPImageReader.cpp:
  7631. (WebCore::BMPImageReader::decodeBMP):
  7632. * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
  7633. (WebCore::JPEGImageDecoder::outputScanlines):
  7634. * platform/image-decoders/png/PNGImageDecoder.cpp:
  7635. (WebCore::PNGImageDecoder::rowAvailable):
  7636. * platform/image-decoders/webp/WEBPImageDecoder.cpp:
  7637. (WebCore::WEBPImageDecoder::decode):
  7638. 2011-02-02 Peter Kasting <pkasting@google.com>
  7639. Reviewed by David Levin.
  7640. Clean up ImageDecoder's comments (remove/trim/clarify).
  7641. https://bugs.webkit.org/show_bug.cgi?id=53455
  7642. This also renames or eliminates a couple of functions for clarity, and
  7643. switches a couple erroneous strncmp() calls to memcmp().
  7644. * platform/image-decoders/ImageDecoder.cpp:
  7645. (WebCore::ImageDecoder::create):
  7646. (WebCore::ImageFrame::clearPixelData):
  7647. (WebCore::ImageFrame::zeroFillPixelData):
  7648. (WebCore::ImageFrame::setSize):
  7649. * platform/image-decoders/ImageDecoder.h:
  7650. (WebCore::ImageFrame::originalFrameRect):
  7651. (WebCore::ImageFrame::setOriginalFrameRect):
  7652. (WebCore::ImageDecoder::ImageDecoder):
  7653. (WebCore::ImageDecoder::~ImageDecoder):
  7654. (WebCore::ImageDecoder::isSizeAvailable):
  7655. (WebCore::ImageDecoder::size):
  7656. (WebCore::ImageDecoder::setIgnoreGammaAndColorProfile):
  7657. (WebCore::ImageDecoder::clearFrameBufferCache):
  7658. (WebCore::ImageDecoder::isOverSize):
  7659. * platform/image-decoders/bmp/BMPImageReader.cpp:
  7660. (WebCore::BMPImageReader::processNonRLEData):
  7661. * platform/image-decoders/cg/ImageDecoderCG.cpp:
  7662. (WebCore::ImageFrame::setSize):
  7663. * platform/image-decoders/gif/GIFImageDecoder.cpp:
  7664. (WebCore::GIFImageDecoder::clearFrameBufferCache):
  7665. (WebCore::GIFImageDecoder::frameComplete):
  7666. (WebCore::GIFImageDecoder::initFrameBuffer):
  7667. * platform/image-decoders/jpeg/JPEGImageDecoder.h:
  7668. * platform/image-decoders/qt/ImageFrameQt.cpp:
  7669. (WebCore::ImageFrame::operator=):
  7670. (WebCore::ImageFrame::clearPixelData):
  7671. (WebCore::ImageFrame::zeroFillPixelData):
  7672. (WebCore::ImageFrame::setSize):
  7673. * platform/image-decoders/skia/ImageDecoderSkia.cpp:
  7674. (WebCore::ImageFrame::operator=):
  7675. (WebCore::ImageFrame::clearPixelData):
  7676. (WebCore::ImageFrame::zeroFillPixelData):
  7677. (WebCore::ImageFrame::setSize):
  7678. * platform/image-decoders/webp/WEBPImageDecoder.h:
  7679. 2011-02-02 Vangelis Kokkevis <vangelis@chromium.org>
  7680. [chromium] Adding support for reflections to the accelerated
  7681. compositing path.
  7682. https://bugs.webkit.org/show_bug.cgi?id=53179
  7683. All layout tests in compositing/reflections generate correct
  7684. results with the exception of:
  7685. 1. nested-reflection-anchor-point.html : There appears to be
  7686. some issue with the layer transform math that I haven't been
  7687. able to track down yet.
  7688. 2. reflection-opacity.html : The current implementation applies
  7689. opacity before doing the reflection which makes this test
  7690. produce incorrect results. This will affect reflected layers
  7691. with opacity that overlap their original layer. FIXME comment
  7692. added in the code.
  7693. Tests: Covered by existing layout tests in compositing/reflections.
  7694. Please see above for exceptions.
  7695. * platform/graphics/chromium/GraphicsLayerChromium.cpp:
  7696. (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
  7697. (WebCore::GraphicsLayerChromium::updateAnchorPoint):
  7698. * platform/graphics/chromium/GraphicsLayerChromium.h:
  7699. * platform/graphics/chromium/LayerChromium.cpp:
  7700. (WebCore::LayerChromium::LayerChromium):
  7701. * platform/graphics/chromium/LayerChromium.h:
  7702. (WebCore::LayerChromium::setReplicaLayer):
  7703. (WebCore::LayerChromium::replicaLayer):
  7704. * platform/graphics/chromium/LayerRendererChromium.cpp:
  7705. (WebCore::LayerRendererChromium::updateLayersRecursive):
  7706. (WebCore::LayerRendererChromium::drawLayer):
  7707. * platform/graphics/chromium/RenderSurfaceChromium.cpp:
  7708. (WebCore::RenderSurfaceChromium::drawableContentRect):
  7709. (WebCore::RenderSurfaceChromium::drawSurface):
  7710. (WebCore::RenderSurfaceChromium::draw):
  7711. * platform/graphics/chromium/RenderSurfaceChromium.h:
  7712. (WebCore::RenderSurfaceChromium::drawTransform):
  7713. 2011-02-02 Xiyuan Xia <xiyuan@chromium.org>
  7714. Reviewed by Tony Chang.
  7715. [Chromium] Select popup with padding has white strip on right
  7716. https://bugs.webkit.org/show_bug.cgi?id=53602
  7717. No new tests as this change restores old behavior.
  7718. * platform/chromium/PopupMenuChromium.cpp:
  7719. (WebCore::PopupListBox::layout):
  7720. 2011-02-02 Beth Dakin <bdakin@apple.com>
  7721. Reviewed by Mark Rowe.
  7722. Fix for <rdar://problem/8950343> CrashTracer: [USER]
  7723. 1 crash in WebProcess at com.apple.WebCore:
  7724. WebCore::ScrollbarThemeMac::unregisterScrollbar + 22
  7725. It is possible for a Scrollbar's ScrollableArea to be null,
  7726. so we must null check.
  7727. * platform/mac/ScrollbarThemeMac.mm:
  7728. (WebCore::ScrollbarThemeMac::registerScrollbar):
  7729. (WebCore::ScrollbarThemeMac::unregisterScrollbar):
  7730. 2011-02-02 Zhenyao Mo <zmo@google.com>
  7731. Reviewed by Kenneth Russell.
  7732. bufferData and bufferSubData should generate INVALID_VALUE with negative input
  7733. https://bugs.webkit.org/show_bug.cgi?id=53626
  7734. * html/canvas/WebGLRenderingContext.cpp:
  7735. (WebCore::WebGLRenderingContext::bufferData):
  7736. (WebCore::WebGLRenderingContext::bufferSubData):
  7737. 2011-02-02 Jeff Miller <jeffm@apple.com>
  7738. Reviewed by Darin Adler and Steve Falkenburg.
  7739. Add DerivedSources.make to some Visual Studio projects
  7740. https://bugs.webkit.org/show_bug.cgi?id=53607
  7741. * WebCore.vcproj/WebCoreGenerated.vcproj: Add DerivedSources.make.
  7742. 2011-02-02 Cris Neckar <cdn@chromium.org>
  7743. Reviewed by James Robinson.
  7744. Refcount domwindows when dispatching device orientation events.
  7745. https://bugs.webkit.org/show_bug.cgi?id=53623
  7746. Test: fast/events/device-orientation-crash.html
  7747. * dom/DeviceMotionController.cpp:
  7748. (WebCore::DeviceMotionController::timerFired):
  7749. (WebCore::DeviceMotionController::didChangeDeviceMotion):
  7750. * dom/DeviceMotionController.h:
  7751. * dom/DeviceOrientationController.cpp:
  7752. (WebCore::DeviceOrientationController::timerFired):
  7753. (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
  7754. * dom/DeviceOrientationController.h:
  7755. 2011-02-02 Zhenyao Mo <zmo@google.com>
  7756. Reviewed by Kenneth Russell.
  7757. A deleted object should never been bound again
  7758. https://bugs.webkit.org/show_bug.cgi?id=53604
  7759. * html/canvas/WebGLRenderingContext.cpp:
  7760. (WebCore::WebGLRenderingContext::checkObjectToBeBound): Helper function to bind* and useProgram.
  7761. (WebCore::WebGLRenderingContext::bindBuffer): Use checkObjectToBeBound.
  7762. (WebCore::WebGLRenderingContext::bindFramebuffer): Ditto.
  7763. (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
  7764. (WebCore::WebGLRenderingContext::bindTexture): Ditto, also check the target matching.
  7765. (WebCore::WebGLRenderingContext::deleteObject): Helper funtion to delete*.
  7766. (WebCore::WebGLRenderingContext::deleteBuffer): Use deleteObject.
  7767. (WebCore::WebGLRenderingContext::deleteFramebuffer): Ditto.
  7768. (WebCore::WebGLRenderingContext::deleteProgram): Ditto.
  7769. (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
  7770. (WebCore::WebGLRenderingContext::deleteShader): Ditto.
  7771. (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
  7772. (WebCore::WebGLRenderingContext::useProgram): Use checkObjectToBeBound.
  7773. * html/canvas/WebGLRenderingContext.h:
  7774. * html/canvas/WebGLTexture.h:
  7775. (WebCore::WebGLTexture::getTarget): Accessor to cached target.
  7776. 2011-02-02 Alejandro G. Castro <alex@igalia.com>
  7777. Unreviewed Efl buildfix after r77399.
  7778. * CMakeListsEfl.txt:
  7779. 2011-02-02 Kenneth Russell <kbr@google.com>
  7780. Reviewed by James Robinson.
  7781. Rename Typed Array subset to subarray
  7782. https://bugs.webkit.org/show_bug.cgi?id=53618
  7783. * html/canvas/Float32Array.cpp:
  7784. (WebCore::Float32Array::subarray):
  7785. * html/canvas/Float32Array.h:
  7786. * html/canvas/Float32Array.idl:
  7787. * html/canvas/Int16Array.cpp:
  7788. (WebCore::Int16Array::subarray):
  7789. * html/canvas/Int16Array.h:
  7790. * html/canvas/Int16Array.idl:
  7791. * html/canvas/Int32Array.cpp:
  7792. (WebCore::Int32Array::subarray):
  7793. * html/canvas/Int32Array.h:
  7794. * html/canvas/Int32Array.idl:
  7795. * html/canvas/Int8Array.cpp:
  7796. (WebCore::Int8Array::subarray):
  7797. * html/canvas/Int8Array.h:
  7798. * html/canvas/Int8Array.idl:
  7799. * html/canvas/TypedArrayBase.h:
  7800. (WebCore::TypedArrayBase::subarrayImpl):
  7801. * html/canvas/Uint16Array.cpp:
  7802. (WebCore::Uint16Array::subarray):
  7803. * html/canvas/Uint16Array.h:
  7804. * html/canvas/Uint16Array.idl:
  7805. * html/canvas/Uint32Array.cpp:
  7806. (WebCore::Uint32Array::subarray):
  7807. * html/canvas/Uint32Array.h:
  7808. * html/canvas/Uint32Array.idl:
  7809. * html/canvas/Uint8Array.cpp:
  7810. (WebCore::Uint8Array::subarray):
  7811. * html/canvas/Uint8Array.h:
  7812. * html/canvas/Uint8Array.idl:
  7813. 2011-02-02 Adam Barth <abarth@webkit.org>
  7814. Reviewed by Eric Seidel.
  7815. Add an empty file for Content Security Policy
  7816. https://bugs.webkit.org/show_bug.cgi?id=53573
  7817. Posting this as a separate patch because editing the build files is so
  7818. painful.
  7819. * Android.mk:
  7820. * CMakeLists.txt:
  7821. * GNUmakefile.am:
  7822. * WebCore.gypi:
  7823. * WebCore.pro:
  7824. * WebCore.vcproj/WebCore.vcproj:
  7825. * WebCore.xcodeproj/project.pbxproj:
  7826. 2011-02-02 Dan Winship <danw@gnome.org>
  7827. Reviewed by Martin Robinson.
  7828. [GTK] remove old data: URI handler, fix the SoupRequest-based one
  7829. to pass tests
  7830. https://bugs.webkit.org/show_bug.cgi?id=50885
  7831. * platform/network/soup/ResourceHandleSoup.cpp:
  7832. (WebCore::sendRequestCallback): Do content-type sniffing here for
  7833. non-HTTP requests.
  7834. (WebCore::startHTTPRequest): Rename to match WebKit style.
  7835. (WebCore::ResourceHandle::start): Pass everything except HTTP to
  7836. startNonHTTPRequest, letting the SoupRequester decide whether it's
  7837. supported or not.
  7838. (WebCore::startNonHTTPRequest): Remove some old pre-SoupRequester
  7839. code that was a no-op for file: URIs, but would break some data:
  7840. URIs.
  7841. 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
  7842. Update even more references to right() and bottom() in Chromium. Sheesh.
  7843. * platform/graphics/chromium/LayerRendererChromium.cpp:
  7844. (WebCore::LayerRendererChromium::getFramebufferPixels): Replaced bottom/right with maxY/maxX.
  7845. 2011-02-02 Alejandro G. Castro <alex@igalia.com>
  7846. Unreviewed Gtk3 buildfix after r77286.
  7847. https://bugs.webkit.org/show_bug.cgi?id=53520
  7848. Remove the physical terminology from IntRect and FloatRect.
  7849. * platform/gtk/RenderThemeGtk3.cpp:
  7850. (WebCore::RenderThemeGtk::paintMenuList):
  7851. 2011-02-02 Anders Carlsson <andersca@apple.com>
  7852. Fix build.
  7853. * platform/mac/ScrollAnimatorMac.mm:
  7854. (WebCore::ScrollAnimatorMac::pinnedInDirection):
  7855. 2011-02-02 David Hyatt <hyatt@apple.com>
  7856. Reviewed by Dan Bernstein.
  7857. https://bugs.webkit.org/show_bug.cgi?id=53619
  7858. Floats should not use physical terminology for their rects. Replace left/top with x/y and right/bottom
  7859. with maxX/maxY. This matches IntRect.
  7860. * rendering/RenderBlock.cpp:
  7861. (WebCore::RenderBlock::addOverflowFromFloats):
  7862. (WebCore::RenderBlock::flipFloatForWritingMode):
  7863. (WebCore::RenderBlock::paintFloats):
  7864. (WebCore::RenderBlock::selectionGaps):
  7865. (WebCore::RenderBlock::addOverhangingFloats):
  7866. (WebCore::RenderBlock::addIntrudingFloats):
  7867. (WebCore::RenderBlock::hitTestFloats):
  7868. (WebCore::RenderBlock::adjustForBorderFit):
  7869. * rendering/RenderBlock.h:
  7870. (WebCore::RenderBlock::FloatingObject::x):
  7871. (WebCore::RenderBlock::FloatingObject::maxX):
  7872. (WebCore::RenderBlock::FloatingObject::y):
  7873. (WebCore::RenderBlock::FloatingObject::maxY):
  7874. (WebCore::RenderBlock::FloatingObject::setX):
  7875. (WebCore::RenderBlock::FloatingObject::setY):
  7876. (WebCore::RenderBlock::logicalTopForFloat):
  7877. (WebCore::RenderBlock::logicalBottomForFloat):
  7878. (WebCore::RenderBlock::logicalLeftForFloat):
  7879. (WebCore::RenderBlock::logicalRightForFloat):
  7880. (WebCore::RenderBlock::setLogicalTopForFloat):
  7881. (WebCore::RenderBlock::setLogicalLeftForFloat):
  7882. (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
  7883. (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
  7884. 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
  7885. Update more references to right() and bottom() in Chromium Win.
  7886. * platform/graphics/chromium/TransparencyWin.cpp:
  7887. (WebCore::TransparencyWin::compositeOpaqueComposite): Replaced bottom/right with maxY/maxX.
  7888. (WebCore::TransparencyWin::compositeTextComposite): Ditto.
  7889. * rendering/RenderThemeChromiumWin.cpp:
  7890. (WebCore::RenderThemeChromiumWin::paintMenuList): Ditto.
  7891. 2011-02-02 Adam Roben <aroben@apple.com>
  7892. Encode/decode FormData and FormDataElement objects consistently
  7893. Fixes <http://webkit.org/b/53615> <rdar://problem/8943346> WebKit2: Restoring session state
  7894. that contains form data fails (asserts in Debug build)
  7895. To prevent this from interfering with WebKit2 testing, it's useful to get this into a build
  7896. now, even though we don't have an automated test for it yet. Writing a test is covered by
  7897. <http://webkit.org/b/53616>.
  7898. Reviewed by Darin Adler.
  7899. * history/HistoryItem.cpp: Bump the encoding version, since this patch changes how we encode
  7900. FormData objects.
  7901. * platform/network/FormData.cpp:
  7902. (WebCore::decode): Decode the type from the Decoder, rather than getting it from the
  7903. default-constructed FormDataElement. Failing to do this meant that all future uses of the
  7904. Decoder would be reading from an unexpected part of the buffer (i.e., the next decode would
  7905. start by reading the uint32_t that we forgot to decode here, and so on). We already had code
  7906. to correctly set the FormDataElement's type based on this decoded type later in the
  7907. function.
  7908. (WebCore::FormData::encodeForBackForward): Encode m_identifier as an int64_t, since that
  7909. matches its type and how we decode it.
  7910. 2011-02-02 Dan Winship <danw@gnome.org>
  7911. Reviewed by Martin Robinson.
  7912. [GTK] drop soup cache stuff, which has been moved to libsoup
  7913. https://bugs.webkit.org/show_bug.cgi?id=50747
  7914. Use libsoup-based cache/requester API and remove the WebCore version
  7915. of this functionality. This has been pushed upstream fully.
  7916. No new tests because this should not change functionality.
  7917. * GNUmakefile.am: Update for removed files.
  7918. * platform/network/ResourceHandleInternal.h:
  7919. (WebCore::ResourceHandleInternal::ResourceHandleInternal): Update
  7920. type names, drop m_requester.
  7921. * platform/network/soup/ResourceHandleSoup.cpp:
  7922. (WebCore::ensureSessionIsInitialized): Add a SoupRequester to the
  7923. session.
  7924. (WebCore::parseDataUrl):
  7925. (WebCore::startHttp): Get the requester from the session rather
  7926. than using m_requester.
  7927. (WebCore::sendRequestCallback):
  7928. (WebCore::ResourceHandle::platformSetDefersLoading):
  7929. (WebCore::readCallback):
  7930. (WebCore::startGio): Update type names.
  7931. * platform/network/soup/cache/soup-directory-input-stream.c: Removed.
  7932. * platform/network/soup/cache/soup-directory-input-stream.h: Removed.
  7933. * platform/network/soup/cache/soup-http-input-stream.c: Removed.
  7934. * platform/network/soup/cache/soup-http-input-stream.h: Removed.
  7935. * platform/network/soup/cache/soup-request-data.c: Removed.
  7936. * platform/network/soup/cache/soup-request-data.h: Removed.
  7937. * platform/network/soup/cache/soup-request-file.c: Removed.
  7938. * platform/network/soup/cache/soup-request-file.h: Removed.
  7939. * platform/network/soup/cache/soup-request-http.c: Removed.
  7940. * platform/network/soup/cache/soup-request-http.h: Removed.
  7941. * platform/network/soup/cache/soup-request.c: Removed.
  7942. * platform/network/soup/cache/soup-request.h: Removed.
  7943. * platform/network/soup/cache/soup-requester.c: Removed.
  7944. * platform/network/soup/cache/soup-requester.h: Removed.
  7945. * platform/network/soup/cache/webkit/soup-cache-private.h: Removed.
  7946. * platform/network/soup/cache/webkit/soup-cache.c: Removed.
  7947. * platform/network/soup/cache/webkit/soup-cache.h: Removed.
  7948. 2011-02-02 David Hyatt <hyatt@apple.com>
  7949. Reviewed by Darin Adler.
  7950. https://bugs.webkit.org/show_bug.cgi?id=53520
  7951. Remove physical accessors from IntRect and FloatRect.
  7952. * page/FrameView.cpp:
  7953. (WebCore::FrameView::adjustPageHeightDeprecated):
  7954. * platform/graphics/FloatRect.h:
  7955. * platform/graphics/IntRect.h:
  7956. 2011-02-02 David Hyatt <hyatt@apple.com>
  7957. Reviewed by Dan Bernstein.
  7958. https://bugs.webkit.org/show_bug.cgi?id=53614
  7959. Remove physical terminology from overflow. Replace with minX/maxX/minY/maxY.
  7960. * rendering/InlineFlowBox.cpp:
  7961. (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
  7962. (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
  7963. * rendering/InlineFlowBox.h:
  7964. (WebCore::InlineFlowBox::minYLayoutOverflow):
  7965. (WebCore::InlineFlowBox::maxYLayoutOverflow):
  7966. (WebCore::InlineFlowBox::minXLayoutOverflow):
  7967. (WebCore::InlineFlowBox::maxXLayoutOverflow):
  7968. (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
  7969. (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
  7970. (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
  7971. (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
  7972. (WebCore::InlineFlowBox::minYVisualOverflow):
  7973. (WebCore::InlineFlowBox::maxYVisualOverflow):
  7974. (WebCore::InlineFlowBox::minXVisualOverflow):
  7975. (WebCore::InlineFlowBox::maxXVisualOverflow):
  7976. (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
  7977. (WebCore::InlineFlowBox::logicalRightVisualOverflow):
  7978. (WebCore::InlineFlowBox::logicalminYVisualOverflow):
  7979. (WebCore::InlineFlowBox::logicalmaxYVisualOverflow):
  7980. * rendering/RenderBlock.cpp:
  7981. (WebCore::RenderBlock::adjustLinePositionForPagination):
  7982. * rendering/RenderBlockLineLayout.cpp:
  7983. (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
  7984. (WebCore::RenderBlock::afterSideVisualOverflowForLine):
  7985. (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
  7986. (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
  7987. * rendering/RenderBox.cpp:
  7988. (WebCore::RenderBox::scrollWidth):
  7989. (WebCore::RenderBox::scrollHeight):
  7990. * rendering/RenderBox.h:
  7991. (WebCore::RenderBox::minYLayoutOverflow):
  7992. (WebCore::RenderBox::maxYLayoutOverflow):
  7993. (WebCore::RenderBox::minXLayoutOverflow):
  7994. (WebCore::RenderBox::maxXLayoutOverflow):
  7995. (WebCore::RenderBox::logicalLeftLayoutOverflow):
  7996. (WebCore::RenderBox::logicalRightLayoutOverflow):
  7997. (WebCore::RenderBox::minYVisualOverflow):
  7998. (WebCore::RenderBox::maxYVisualOverflow):
  7999. (WebCore::RenderBox::minXVisualOverflow):
  8000. (WebCore::RenderBox::maxXVisualOverflow):
  8001. (WebCore::RenderBox::logicalLeftVisualOverflow):
  8002. (WebCore::RenderBox::logicalRightVisualOverflow):
  8003. * rendering/RenderInline.cpp:
  8004. (WebCore::RenderInline::linesVisualOverflowBoundingBox):
  8005. * rendering/RenderLayerCompositor.cpp:
  8006. (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
  8007. * rendering/RenderLineBoxList.cpp:
  8008. (WebCore::RenderLineBoxList::anyLineIntersectsRect):
  8009. (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
  8010. (WebCore::RenderLineBoxList::paint):
  8011. (WebCore::RenderLineBoxList::hitTest):
  8012. * rendering/RenderMarquee.cpp:
  8013. (WebCore::RenderMarquee::computePosition):
  8014. * rendering/RenderOverflow.h:
  8015. (WebCore::RenderOverflow::RenderOverflow):
  8016. (WebCore::RenderOverflow::minYLayoutOverflow):
  8017. (WebCore::RenderOverflow::maxYLayoutOverflow):
  8018. (WebCore::RenderOverflow::minXLayoutOverflow):
  8019. (WebCore::RenderOverflow::maxXLayoutOverflow):
  8020. (WebCore::RenderOverflow::minYVisualOverflow):
  8021. (WebCore::RenderOverflow::maxYVisualOverflow):
  8022. (WebCore::RenderOverflow::minXVisualOverflow):
  8023. (WebCore::RenderOverflow::maxXVisualOverflow):
  8024. (WebCore::RenderOverflow::setminYVisualOverflow):
  8025. (WebCore::RenderOverflow::visualOverflowRect):
  8026. (WebCore::RenderOverflow::move):
  8027. (WebCore::RenderOverflow::addVisualOverflow):
  8028. (WebCore::RenderOverflow::setVisualOverflow):
  8029. * rendering/RenderReplaced.cpp:
  8030. (WebCore::RenderReplaced::shouldPaint):
  8031. * rendering/RenderTable.cpp:
  8032. (WebCore::RenderTable::layout):
  8033. (WebCore::RenderTable::paint):
  8034. * rendering/RenderTableCell.cpp:
  8035. (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
  8036. * rendering/RenderTreeAsText.cpp:
  8037. (WebCore::writeLayers):
  8038. * rendering/RenderView.cpp:
  8039. (WebCore::RenderView::docTop):
  8040. 2011-02-02 Steve Lacey <sjl@chromium.org>
  8041. Reviewed by Eric Carlson.
  8042. Implement basic media statistics on media elements.
  8043. https://bugs.webkit.org/show_bug.cgi?id=53322
  8044. * Configurations/FeatureDefines.xcconfig:
  8045. * GNUmakefile.am:
  8046. * features.pri:
  8047. * html/HTMLMediaElement.cpp:
  8048. (WebCore::HTMLMediaElement::webkitAudioBytesDecoded):
  8049. (WebCore::HTMLMediaElement::webkitVideoBytesDecoded):
  8050. * html/HTMLMediaElement.h:
  8051. * html/HTMLMediaElement.idl:
  8052. * html/HTMLVideoElement.cpp:
  8053. (WebCore::HTMLVideoElement::webkitDecodedFrames):
  8054. (WebCore::HTMLVideoElement::webkitDroppedFrames):
  8055. * html/HTMLVideoElement.h:
  8056. * html/HTMLVideoElement.idl:
  8057. * platform/graphics/MediaPlayer.cpp:
  8058. (WebCore::MediaPlayer::decodedFrames):
  8059. (WebCore::MediaPlayer::droppedFrames):
  8060. (WebCore::MediaPlayer::audioBytesDecoded):
  8061. (WebCore::MediaPlayer::videoBytesDecoded):
  8062. * platform/graphics/MediaPlayer.h:
  8063. * platform/graphics/MediaPlayerPrivate.h:
  8064. (WebCore::MediaPlayerPrivateInterface::decodedFrames):
  8065. (WebCore::MediaPlayerPrivateInterface::droppedFrames):
  8066. (WebCore::MediaPlayerPrivateInterface::audioBytesDecoded):
  8067. (WebCore::MediaPlayerPrivateInterface::videoBytesDecoded):
  8068. 2011-02-02 Luiz Agostini <luiz.agostini@openbossa.org>
  8069. Reviewed by David Hyatt.
  8070. More conversion from right()/bottom() to maxX()/maxY().
  8071. * page/qt/FrameQt.cpp:
  8072. (WebCore::Frame::dragImageForSelection):
  8073. * platform/graphics/qt/GraphicsContextQt.cpp:
  8074. (WebCore::GraphicsContext::roundToDevicePixels):
  8075. 2011-02-02 Kevin Ollivier <kevino@theolliviers.com>
  8076. [wx] Build fixes for wxWebKit.
  8077. * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
  8078. (documentWrite):
  8079. * bindings/scripts/CodeGeneratorCPP.pm:
  8080. * page/wx/DragControllerWx.cpp:
  8081. (WebCore::DragController::dragOperation):
  8082. * platform/graphics/wx/FontCustomPlatformData.h:
  8083. * platform/graphics/wx/FontPlatformData.h:
  8084. (WebCore::FontPlatformData::widthVariant):
  8085. * platform/graphics/wx/FontPlatformDataWx.cpp:
  8086. (WebCore::FontPlatformData::computeHash):
  8087. * platform/graphics/wx/FontWx.cpp:
  8088. * platform/graphics/wx/GraphicsContextWx.cpp:
  8089. (WebCore::GraphicsContext::fillPath):
  8090. (WebCore::GraphicsContext::strokePath):
  8091. * platform/wx/RenderThemeWx.cpp:
  8092. 2011-02-02 David Hyatt <hyatt@apple.com>
  8093. Reviewed by Darin Adler.
  8094. More right()/bottom() to maxX()/maxY() conversion.
  8095. * page/chromium/FrameChromium.cpp:
  8096. (WebCore::Frame::nodeImage):
  8097. (WebCore::Frame::dragImageForSelection):
  8098. 2011-02-02 Sam Weinig <sam@webkit.org>
  8099. Fix windows clean build.
  8100. * DerivedSources.make:
  8101. 2011-02-02 Mikhail Naganov <mnaganov@chromium.org>
  8102. Reviewed by Pavel Feldman.
  8103. Web Inspector: [Chromium] Landing detailed heap snapshots, part 2.
  8104. https://bugs.webkit.org/show_bug.cgi?id=53606
  8105. Display progress while taking a snapshot, and hints while loading
  8106. and parsing. This is needed because taking detailed heap snapshots
  8107. takes time.
  8108. * English.lproj/localizedStrings.js:
  8109. * inspector/front-end/DetailedHeapshotView.js:
  8110. (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
  8111. * inspector/front-end/ProfilesPanel.js:
  8112. (WebInspector.ProfilesPanel.prototype._reset):
  8113. (WebInspector.ProfilesPanel.prototype._addProfileHeader):
  8114. (WebInspector.ProfilesPanel.prototype.getProfiles):
  8115. (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
  8116. (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
  8117. (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
  8118. (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
  8119. (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
  8120. * inspector/front-end/SidebarTreeElement.js:
  8121. (WebInspector.SidebarTreeElement.prototype.refreshTitles):
  8122. 2011-02-02 David Hyatt <hyatt@apple.com>
  8123. Reviewed by Darin Adler.
  8124. More conversion from right()/bottom() to maxX()/maxY().
  8125. * platform/win/PopupMenuWin.cpp:
  8126. (WebCore::PopupMenuWin::calculatePositionAndSize):
  8127. (WebCore::PopupMenuWin::paint):
  8128. 2011-02-02 David Hyatt <hyatt@apple.com>
  8129. Reviewed by Darin Adler.
  8130. Removal of right()/bottom(). Replace with maxX() and maxY(). Still converting. Haven't removed yet.
  8131. * platform/chromium/PopupMenuChromium.cpp:
  8132. (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
  8133. (WebCore::PopupListBox::scrollToRevealRow):
  8134. (WebCore::PopupListBox::layout):
  8135. * platform/graphics/FloatRect.h:
  8136. * platform/graphics/IntRect.h:
  8137. * platform/graphics/cairo/ImageBufferCairo.cpp:
  8138. (WebCore::getImageData):
  8139. (WebCore::putImageData):
  8140. * platform/graphics/chromium/GLES2Canvas.cpp:
  8141. (WebCore::GLES2Canvas::drawTexturedRect):
  8142. * platform/graphics/chromium/LayerRendererChromium.cpp:
  8143. (WebCore::LayerRendererChromium::verticalScrollbarRect):
  8144. (WebCore::LayerRendererChromium::horizontalScrollbarRect):
  8145. (WebCore::LayerRendererChromium::setScissorToRect):
  8146. (WebCore::LayerRendererChromium::setDrawViewportRect):
  8147. * platform/graphics/chromium/LayerTilerChromium.cpp:
  8148. (WebCore::LayerTilerChromium::contentRectToTileIndices):
  8149. (WebCore::LayerTilerChromium::growLayerToContain):
  8150. * platform/graphics/gpu/TilingData.cpp:
  8151. (WebCore::TilingData::tileBoundsWithBorder):
  8152. (WebCore::TilingData::overlappedTileIndices):
  8153. * platform/graphics/qt/ImageBufferQt.cpp:
  8154. (WebCore::getImageData):
  8155. (WebCore::putImageData):
  8156. * platform/graphics/skia/FloatRectSkia.cpp:
  8157. (WebCore::FloatRect::operator SkRect):
  8158. * platform/graphics/skia/ImageBufferSkia.cpp:
  8159. (WebCore::getImageData):
  8160. (WebCore::putImageData):
  8161. * platform/graphics/skia/IntRectSkia.cpp:
  8162. (WebCore::IntRect::operator SkIRect):
  8163. (WebCore::IntRect::operator SkRect):
  8164. * platform/graphics/skia/PlatformContextSkia.cpp:
  8165. (WebCore::PlatformContextSkia::beginLayerClippedToImage):
  8166. * platform/graphics/win/GraphicsContextWin.cpp:
  8167. (WebCore::GraphicsContextPlatformPrivate::clip):
  8168. * platform/graphics/win/IntRectWin.cpp:
  8169. (WebCore::IntRect::operator RECT):
  8170. * platform/graphics/win/UniscribeController.cpp:
  8171. (WebCore::UniscribeController::shapeAndPlaceItem):
  8172. * platform/graphics/wince/GraphicsContextWinCE.cpp:
  8173. (WebCore::roundRect):
  8174. (WebCore::mapRect):
  8175. (WebCore::TransparentLayerDC::TransparentLayerDC):
  8176. (WebCore::GraphicsContext::drawRect):
  8177. (WebCore::GraphicsContext::drawEllipse):
  8178. (WebCore::GraphicsContext::strokeArc):
  8179. (WebCore::GraphicsContext::clip):
  8180. (WebCore::GraphicsContext::clipOut):
  8181. (WebCore::GraphicsContext::strokeRect):
  8182. * platform/image-decoders/gif/GIFImageDecoder.cpp:
  8183. (WebCore::GIFImageDecoder::initFrameBuffer):
  8184. * platform/win/PopupMenuWin.cpp:
  8185. (WebCore::PopupMenuWin::calculatePositionAndSize):
  8186. (WebCore::PopupMenuWin::paint):
  8187. * plugins/win/PluginViewWin.cpp:
  8188. (WebCore::PluginView::updatePluginWidget):
  8189. (WebCore::PluginView::invalidateRect):
  8190. * rendering/RenderThemeSafari.cpp:
  8191. (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
  8192. (WebCore::RenderThemeSafari::paintMenuListButton):
  8193. (WebCore::RenderThemeSafari::paintSliderTrack):
  8194. * rendering/RenderThemeWin.cpp:
  8195. (WebCore::RenderThemeWin::paintInnerSpinButton):
  8196. (WebCore::RenderThemeWin::paintMenuListButton):
  8197. 2011-02-02 Antti Koivisto <antti@apple.com>
  8198. Reviewed by Maciej Stachowiak.
  8199. Use Vector instead of a linked list for rules in CSSStyleSelector
  8200. https://bugs.webkit.org/show_bug.cgi?id=53581
  8201. - eliminate CSSRuleDataList, replace with Vector<RuleData>
  8202. - rename CSSRuleData -> RuleData and CSSRuleSet -> RuleSet
  8203. (these are selector internal classes, CSS prefix is better reserved for public ones).
  8204. - constify a bit
  8205. - shrink the vectors to fit after collecting the rules
  8206. * css/CSSStyleSelector.cpp:
  8207. (WebCore::RuleData::RuleData):
  8208. (WebCore::RuleData::position):
  8209. (WebCore::RuleData::rule):
  8210. (WebCore::RuleData::selector):
  8211. (WebCore::RuleSet::disableAutoShrinkToFit):
  8212. (WebCore::RuleSet::getIDRules):
  8213. (WebCore::RuleSet::getClassRules):
  8214. (WebCore::RuleSet::getTagRules):
  8215. (WebCore::RuleSet::getPseudoRules):
  8216. (WebCore::RuleSet::getUniversalRules):
  8217. (WebCore::RuleSet::getPageRules):
  8218. (WebCore::collectSiblingRulesInDefaultStyle):
  8219. (WebCore::CSSStyleSelector::CSSStyleSelector):
  8220. (WebCore::loadFullDefaultStyle):
  8221. (WebCore::loadSimpleDefaultStyle):
  8222. (WebCore::loadViewSourceStyle):
  8223. (WebCore::CSSStyleSelector::matchRules):
  8224. (WebCore::CSSStyleSelector::matchRulesForList):
  8225. (WebCore::operator >):
  8226. (WebCore::operator <=):
  8227. (WebCore::CSSStyleSelector::sortMatchedRules):
  8228. (WebCore::CSSStyleSelector::matchUARules):
  8229. (WebCore::RuleSet::RuleSet):
  8230. (WebCore::RuleSet::~RuleSet):
  8231. (WebCore::RuleSet::addToRuleSet):
  8232. (WebCore::RuleSet::addRule):
  8233. (WebCore::RuleSet::addPageRule):
  8234. (WebCore::RuleSet::addRulesFromSheet):
  8235. (WebCore::RuleSet::addStyleRule):
  8236. (WebCore::collectIdsAndSiblingRulesFromList):
  8237. (WebCore::RuleSet::collectIdsAndSiblingRules):
  8238. (WebCore::shrinkMapVectorsToFit):
  8239. (WebCore::RuleSet::shrinkToFit):
  8240. (WebCore::CSSStyleSelector::matchPageRules):
  8241. (WebCore::CSSStyleSelector::matchPageRulesForList):
  8242. * css/CSSStyleSelector.h:
  8243. (WebCore::CSSStyleSelector::addMatchedRule):
  8244. 2011-02-02 Andrey Adaikin <aandrey@google.com>
  8245. Reviewed by Pavel Feldman.
  8246. Web Inspector: Use DIVs instead of TABLE in TextViewer
  8247. https://bugs.webkit.org/show_bug.cgi?id=53299
  8248. * inspector/front-end/SourceFrame.js:
  8249. (WebInspector.SourceFrame.prototype._createTextViewer):
  8250. (WebInspector.SourceFrame.prototype._mouseDown):
  8251. * inspector/front-end/TextViewer.js:
  8252. (WebInspector.TextViewer):
  8253. (WebInspector.TextViewer.prototype.set mimeType):
  8254. (WebInspector.TextViewer.prototype.revealLine):
  8255. (WebInspector.TextViewer.prototype.addDecoration):
  8256. (WebInspector.TextViewer.prototype.removeDecoration):
  8257. (WebInspector.TextViewer.prototype.markAndRevealRange):
  8258. (WebInspector.TextViewer.prototype.highlightLine):
  8259. (WebInspector.TextViewer.prototype.clearLineHighlight):
  8260. (WebInspector.TextViewer.prototype.freeCachedElements):
  8261. (WebInspector.TextViewer.prototype._handleKeyDown):
  8262. (WebInspector.TextViewer.prototype.editLine.finishEditing):
  8263. (WebInspector.TextViewer.prototype.editLine):
  8264. (WebInspector.TextViewer.prototype.beginUpdates):
  8265. (WebInspector.TextViewer.prototype.endUpdates):
  8266. (WebInspector.TextViewer.prototype.resize):
  8267. (WebInspector.TextViewer.prototype._textChanged):
  8268. (WebInspector.TextViewer.prototype._updatePanelOffsets):
  8269. (WebInspector.TextViewer.prototype._syncScroll):
  8270. (WebInspector.TextViewer.prototype._syncDecorationsForLine):
  8271. (WebInspector.TextEditorChunkedPanel):
  8272. (WebInspector.TextEditorChunkedPanel.prototype.set syncScrollListener):
  8273. (WebInspector.TextEditorChunkedPanel.prototype.get textModel):
  8274. (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
  8275. (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
  8276. (WebInspector.TextEditorChunkedPanel.prototype.revealLine):
  8277. (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
  8278. (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
  8279. (WebInspector.TextEditorChunkedPanel.prototype.beginUpdates):
  8280. (WebInspector.TextEditorChunkedPanel.prototype.endUpdates):
  8281. (WebInspector.TextEditorChunkedPanel.prototype.resize):
  8282. (WebInspector.TextEditorChunkedPanel.prototype._scroll):
  8283. (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll):
  8284. (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
  8285. (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
  8286. (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
  8287. (WebInspector.TextEditorChunkedPanel.prototype._chunkForLine):
  8288. (WebInspector.TextEditorGutterPanel):
  8289. (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements):
  8290. (WebInspector.TextEditorGutterPanel.prototype._createNewChunk):
  8291. (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
  8292. (WebInspector.TextEditorGutterChunk):
  8293. (WebInspector.TextEditorGutterChunk.prototype.get expanded):
  8294. (WebInspector.TextEditorGutterChunk.prototype.set expanded):
  8295. (WebInspector.TextEditorGutterChunk.prototype.get height):
  8296. (WebInspector.TextEditorGutterChunk.prototype._createRow):
  8297. (WebInspector.TextEditorMainPanel):
  8298. (WebInspector.TextEditorMainPanel.prototype.set syncDecorationsForLine):
  8299. (WebInspector.TextEditorMainPanel.prototype.set mimeType):
  8300. (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
  8301. (WebInspector.TextEditorMainPanel.prototype.highlightLine):
  8302. (WebInspector.TextEditorMainPanel.prototype.clearLineHighlight):
  8303. (WebInspector.TextEditorMainPanel.prototype.freeCachedElements):
  8304. (WebInspector.TextEditorMainPanel.prototype._buildChunks):
  8305. (WebInspector.TextEditorMainPanel.prototype._createNewChunk):
  8306. (WebInspector.TextEditorMainPanel.prototype._expandChunks):
  8307. (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
  8308. (WebInspector.TextEditorMainPanel.prototype._paintLines):
  8309. (WebInspector.TextEditorMainPanel.prototype._paintLine):
  8310. (WebInspector.TextEditorMainPanel.prototype._releaseLinesHighlight):
  8311. (WebInspector.TextEditorMainPanel.prototype._getSelection):
  8312. (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
  8313. (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
  8314. (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
  8315. (WebInspector.TextEditorMainPanel.prototype._appendTextNode):
  8316. (WebInspector.TextEditorMainPanel.prototype._handleDomUpdates):
  8317. (WebInspector.TextEditorMainChunk):
  8318. (WebInspector.TextEditorMainChunk.prototype.addDecoration):
  8319. (WebInspector.TextEditorMainChunk.prototype.set expanded):
  8320. (WebInspector.TextEditorMainChunk.prototype.get height):
  8321. (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
  8322. (WebInspector.TextEditorMainChunk.prototype._createRow):
  8323. (WebInspector):
  8324. * inspector/front-end/textViewer.css:
  8325. (.text-editor-lines):
  8326. (.text-editor-contents):
  8327. (.text-editor-editable):
  8328. (.webkit-line-decorations):
  8329. (.webkit-line-number):
  8330. (.webkit-execution-line.webkit-line-content):
  8331. (.diff-container .webkit-added-line.webkit-line-content):
  8332. (.diff-container .webkit-removed-line.webkit-line-content):
  8333. (.diff-container .webkit-changed-line.webkit-line-content):
  8334. (.webkit-highlighted-line.webkit-line-content):
  8335. 2011-02-02 Hans Wennborg <hans@chromium.org>
  8336. Reviewed by Jeremy Orlow.
  8337. IndexedDB: Implement support for cursor updates
  8338. https://bugs.webkit.org/show_bug.cgi?id=53421
  8339. Implement support for cursor updates using the same pattern as cursor
  8340. deletes: forward the calls to the IDBObjectStoreBackend::put().
  8341. The put() function's signature needs to be changed to allow for a
  8342. "cursor update mode". This makes the signature more clear anyway,
  8343. since it replaces the boolean parameter.
  8344. Test: storage/indexeddb/cursor-update.html
  8345. * storage/IDBCursor.idl:
  8346. * storage/IDBCursorBackendImpl.cpp:
  8347. (WebCore::IDBCursorBackendImpl::key):
  8348. (WebCore::IDBCursorBackendImpl::update):
  8349. * storage/IDBCursorBackendImpl.h:
  8350. * storage/IDBObjectStore.cpp:
  8351. (WebCore::IDBObjectStore::add):
  8352. (WebCore::IDBObjectStore::put):
  8353. * storage/IDBObjectStoreBackendImpl.cpp:
  8354. (WebCore::IDBObjectStoreBackendImpl::put):
  8355. (WebCore::IDBObjectStoreBackendImpl::putInternal):
  8356. * storage/IDBObjectStoreBackendImpl.h:
  8357. * storage/IDBObjectStoreBackendInterface.h:
  8358. 2011-02-02 Naoki Takano <takano.naoki@gmail.com>
  8359. Reviewed by Kent Tamura.
  8360. Fix popup menu RTL bug introduced by Changeset 75982.
  8361. https://bugs.webkit.org/show_bug.cgi?id=53567
  8362. PopupMenuChromium::layout() calculates X position according to RTL or not. So Change the X position calculation in layoutAndCalculateWidgetRect().
  8363. No new tests. However we can check manually with select_dropdown_box_alignment.html, autofill_alignment.html, select_alignment.html, select_dropdown_box_alignment.html, autofill-popup-width-and-item-direction.html
  8364. * platform/chromium/PopupMenuChromium.cpp:
  8365. (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Fix calculation of x position, because layout() considers RTL. And change the parameter from both X and Y positions to only Y position.
  8366. (WebCore::PopupContainer::showPopup): Change the passing parameter.
  8367. (WebCore::PopupContainer::refresh): Change the passing parameter.
  8368. * platform/chromium/PopupMenuChromium.h: Change the parameter declaration.
  8369. 2011-02-02 Alejandro G. Castro <alex@igalia.com>
  8370. Reviewed by Martin Robinson.
  8371. [GTK] Fix dist compilation
  8372. https://bugs.webkit.org/show_bug.cgi?id=53579
  8373. * GNUmakefile.am: Added FontWidthVariant.h to the sources, it was
  8374. added in r77153.
  8375. 2011-02-02 Dai Mikurube <dmikurube@google.com>
  8376. Reviewed by David Levin.
  8377. Make mime type lookup in File::create(path) thread-safe
  8378. https://bugs.webkit.org/show_bug.cgi?id=47700
  8379. This patch introduces a new function MIMETypeRegistry::getMIMETypeForExtensionThreadSafe().
  8380. The function is to be called as a thread-safe version of getMIMETypeForExtension() when
  8381. both FILE_SYSTEM and WORKERS are enabled.
  8382. No tests for this patch. This patch itself doesn't change the behaviors.
  8383. For Chromium, it runs in the same way with getMIMETypeForExtensionThreadSafe().
  8384. For the other platforms, it causes compilation error in case of enabled FILE_SYSTEM and WORKERS.
  8385. The compilation error would be a signal to implement getMIMETypeForExtensionThreadSafe() in these
  8386. platforms. Currently it doesn't happen since FILE_SYSTEM is not available in the other platforms.
  8387. * platform/MIMETypeRegistry.cpp: Defined generic getMIMETypeForExtension() calling getMIMETypeForExtensionThreadSafe() for enabled FILE_SYSTEM and WORKERS.
  8388. (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
  8389. * platform/MIMETypeRegistry.h: Declared getMIMETypeForExtensionThreadSafe() which should be implemented for each platform.
  8390. * platform/android/TemporaryLinkStubs.cpp:
  8391. (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
  8392. * platform/brew/MIMETypeRegistryBrew.cpp:
  8393. (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
  8394. * platform/chromium/MIMETypeRegistryChromium.cpp: Defined getMIMETypeForExtensionThreadSafe() for the case when FILE_SYSTEM and WORKERS are enabled.
  8395. (WebCore::MIMETypeRegistry::getMIMETypeForExtensionThreadSafe):
  8396. * platform/efl/MIMETypeRegistryEfl.cpp:
  8397. (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
  8398. * platform/gtk/MIMETypeRegistryGtk.cpp:
  8399. (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
  8400. * platform/haiku/MIMETypeRegistryHaiku.cpp:
  8401. (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
  8402. * platform/mac/MIMETypeRegistryMac.mm:
  8403. (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
  8404. * platform/qt/MIMETypeRegistryQt.cpp:
  8405. (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
  8406. * platform/win/MIMETypeRegistryWin.cpp:
  8407. (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
  8408. * platform/wince/MIMETypeRegistryWinCE.cpp:
  8409. (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
  8410. * platform/wx/MimeTypeRegistryWx.cpp:
  8411. (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
  8412. 2011-02-01 Adam Barth <abarth@webkit.org>
  8413. Reviewed by Alexey Proskuryakov.
  8414. Improve readability of updateWidget by converting bool parameter to an enum
  8415. https://bugs.webkit.org/show_bug.cgi?id=53576
  8416. As requested on webkit-dev.
  8417. * html/HTMLEmbedElement.cpp:
  8418. (WebCore::HTMLEmbedElement::updateWidget):
  8419. * html/HTMLEmbedElement.h:
  8420. * html/HTMLMediaElement.cpp:
  8421. (WebCore::HTMLMediaElement::updateWidget):
  8422. * html/HTMLMediaElement.h:
  8423. * html/HTMLObjectElement.cpp:
  8424. (WebCore::HTMLObjectElement::updateWidget):
  8425. * html/HTMLObjectElement.h:
  8426. * html/HTMLPlugInImageElement.cpp:
  8427. (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
  8428. * html/HTMLPlugInImageElement.h:
  8429. * page/FrameView.cpp:
  8430. (WebCore::FrameView::updateWidget):
  8431. 2011-02-01 James Robinson <jamesr@chromium.org>
  8432. Reviewed by Adam Barth.
  8433. [v8] Increase V8 native->js recursion limit to match document.write() recursion limit
  8434. https://bugs.webkit.org/show_bug.cgi?id=53566
  8435. A recursion limit of 22 is necessary to pass fast/dom/Document/document-write-recursion.html.
  8436. Other than being large enough for this one test case, this limit is arbitrary.
  8437. * bindings/v8/V8Proxy.h:
  8438. 2011-02-01 Adam Barth <abarth@webkit.org>
  8439. Reviewed by Andreas Kling.
  8440. Remove useless comment
  8441. https://bugs.webkit.org/show_bug.cgi?id=53549
  8442. The reason for this parameter is captured in
  8443. plugins/netscape-plugin-setwindow-size.html, which is a better place to
  8444. capture it than in this comment (which otherwise just re-iterates the
  8445. name of the parameter).
  8446. * html/HTMLPlugInImageElement.cpp:
  8447. (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
  8448. 2011-02-01 James Simonsen <simonjam@chromium.org>
  8449. Reviewed by Tony Gentilcore.
  8450. [WebTiming] Remove asserts that verify timestamp order
  8451. https://bugs.webkit.org/show_bug.cgi?id=53548
  8452. Covered by existing tests.
  8453. * loader/FrameLoader.cpp:
  8454. (WebCore::FrameLoader::stopLoading): Remove assert.
  8455. * page/DOMWindow.cpp:
  8456. (WebCore::DOMWindow::dispatchTimedEvent): Ditto.
  8457. 2011-02-01 Dimitri Glazkov <dglazkov@chromium.org>
  8458. Add the 'default_targets' enclosure to the flags.
  8459. * WebCore.gyp/WebCore.gyp: Did it.
  8460. 2011-02-01 Mihai Parparita <mihaip@chromium.org>
  8461. Reviewed by James Robinson.
  8462. Async event handlers should not fire within a modal dialog
  8463. https://bugs.webkit.org/show_bug.cgi?id=53202
  8464. Asychronous events that use EventQueue would currently fire while a
  8465. modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
  8466. SuspendableTimer (which automatically gets suspended while dialogs are
  8467. up and in other cases where JS execution is not allowed).
  8468. Test: fast/events/scroll-event-during-modal-dialog.html
  8469. * dom/Document.cpp:
  8470. (WebCore::Document::Document):
  8471. * dom/EventQueue.cpp:
  8472. (WebCore::EventQueueTimer::EventQueueTimer):
  8473. (WebCore::EventQueueTimer::fired):
  8474. (WebCore::EventQueue::EventQueue):
  8475. (WebCore::EventQueue::enqueueEvent):
  8476. (WebCore::EventQueue::pendingEventTimerFired):
  8477. * dom/EventQueue.h:
  8478. (WebCore::EventQueue::create):
  8479. * page/SuspendableTimer.cpp:
  8480. (WebCore::SuspendableTimer::SuspendableTimer):
  8481. (WebCore::SuspendableTimer::suspend):
  8482. (WebCore::SuspendableTimer::resume):
  8483. * page/SuspendableTimer.h:
  8484. 2011-02-01 Patrick Gansterer <paroga@webkit.org>
  8485. Reviewed by Andreas Kling.
  8486. Change wrong PLATFORM(WIN) to USE(WININET)
  8487. https://bugs.webkit.org/show_bug.cgi?id=53547
  8488. * platform/network/ResourceHandle.h:
  8489. 2011-02-01 Beth Dakin <bdakin@apple.com>
  8490. 32-bit build fix.
  8491. * platform/mac/ScrollAnimatorMac.mm:
  8492. (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
  8493. 2011-01-25 Martin Robinson <mrobinson@igalia.com>
  8494. Reviewed by Gustavo Noronha Silva.
  8495. [GTK] Two tests crash after r76555
  8496. https://bugs.webkit.org/show_bug.cgi?id=53057
  8497. Instead of creating synchronous ResourceHandles manually, use the ::create factory.
  8498. This ensures that ::start() is not called when there is a scheduled failure and also
  8499. reduces code duplication.
  8500. * platform/network/soup/ResourceHandleSoup.cpp:
  8501. (WebCore::ResourceHandle::loadResourceSynchronously): Use the ::create factory method.
  8502. 2011-02-01 Martin Robinson <mrobinson@igalia.com>
  8503. Reviewed by Eric Seidel.
  8504. [GTK] GObject DOM bindings do no support the CallWith attribute
  8505. https://bugs.webkit.org/show_bug.cgi?id=53331
  8506. Disable building GObject DOM bindings for IndexedDB because we do not support
  8507. the CallWith attribute at this time.
  8508. * bindings/gobject/GNUmakefile.am: Disable building bindings for the IndexedDB API.
  8509. 2011-02-01 Darin Adler <darin@apple.com>
  8510. Reviewed by Brady Eidson.
  8511. Fix a couple loose ends from the back/forward tree encode/decode work
  8512. https://bugs.webkit.org/show_bug.cgi?id=53537
  8513. * history/HistoryItem.cpp:
  8514. (WebCore::HistoryItem::encodeBackForwardTreeNode): Remove extra copy of
  8515. original URL string; no need to encode it twice.
  8516. (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
  8517. * history/HistoryItem.h: Removed declaration for function that is no
  8518. longer defined nor used.
  8519. 2011-02-01 Tony Chang <tony@chromium.org>
  8520. Reviewed by Kent Tamura.
  8521. [chromium] disable arm uninitialized variable warnings
  8522. https://bugs.webkit.org/show_bug.cgi?id=53553
  8523. We just got another error:
  8524. third_party/WebKit/Source/WebCore/css/CSSPrimitiveValue.cpp:123:error:
  8525. 'colorTransparent.unstatic.4879' may be used uninitialized in this
  8526. function
  8527. * WebCore.gyp/WebCore.gyp:
  8528. 2011-02-01 chris reiss <christopher.reiss@nokia.com>
  8529. Reviewed by Adam Barth.
  8530. Self-replicating code makes Safari hang and eventually crash
  8531. https://bugs.webkit.org/show_bug.cgi?id=15123
  8532. Here we are replicating the Firefox safeguard against
  8533. recursive document.write( ) 's.
  8534. See https://bug197052.bugzilla.mozilla.org/attachment.cgi?id=293907 in bug
  8535. https://bugzilla.mozilla.org/show_bug.cgi?id=197052 . Firefox does two things -
  8536. a) imposes a recursion limit of 20 on document.write( ) and
  8537. b) once that limit is passed, panics all the way the call stack (rather than just returning one level.)
  8538. To see why this is necessary, consider the script :
  8539. <script>
  8540. var t = document.body.innerHTML;
  8541. document.write(t);
  8542. </script>
  8543. This will create a tree both broad and deep as the script keeps appending itself to the text. If
  8544. we just return one level after the recursion limit is reached, we still allow millions of copies to
  8545. duplicate (and execute).
  8546. The recursion is fortunately depth-first, so as soon as we cross this limit, we panic up the callstack
  8547. to prevent this situation. (IE apparently does the same thing, with a lower recursion limit.)
  8548. Test: fast/dom/Document/document-write-recursion.html
  8549. Test: fast/dom/Document/document-close-iframe-load.html
  8550. Test: fast/dom/Document/document-close-nested-iframe-load.html
  8551. * dom/Document.cpp:
  8552. (WebCore::Document::Document):
  8553. (WebCore::Document::write):
  8554. * dom/Document.h:
  8555. 2011-02-01 Johnny Ding <jnd@chromium.org>
  8556. Reviewed by Darin Adler.
  8557. Don't set user gesture in HTMLAnchorElement's click handler because the click handler can be triggered by untrusted event.
  8558. https://bugs.webkit.org/show_bug.cgi?id=53424
  8559. Test: fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html
  8560. * html/HTMLAnchorElement.cpp:
  8561. (WebCore::handleLinkClick):
  8562. 2011-02-01 Csaba Osztrogonác <ossy@webkit.org>
  8563. Unreviewed Qt buildfix after r77286.
  8564. https://bugs.webkit.org/show_bug.cgi?id=53520
  8565. Remove the physical terminology from IntRect and FloatRect.
  8566. * platform/graphics/TiledBackingStore.cpp:
  8567. (WebCore::TiledBackingStore::createTiles):
  8568. 2011-02-01 Sam Weinig <sam@webkit.org>
  8569. Fix Mac production builds.
  8570. * DerivedSources.make:
  8571. * WebCore.xcodeproj/project.pbxproj:
  8572. * platform/mac/ScrollAnimatorMac.h:
  8573. * platform/mac/ScrollbarThemeMac.h:
  8574. 2011-02-01 Darin Adler <darin@apple.com>
  8575. Reviewed by Chris Fleizach.
  8576. REGRESSION: Removing focus from area element causes unwanted scrolling
  8577. https://bugs.webkit.org/show_bug.cgi?id=50169
  8578. Test: fast/images/imagemap-scroll.html
  8579. * html/HTMLAreaElement.cpp:
  8580. (WebCore::HTMLAreaElement::setFocus): Added override. Calls the new
  8581. RenderImage::areaElementFocusChanged function.
  8582. (WebCore::HTMLAreaElement::updateFocusAppearance): Removed the code
  8583. here that calls setNeedsLayout on the image's renderer. This was an
  8584. attempt to cause repaint of the renderer, but this function does not
  8585. need to do that. Also changed this to use the imageElement function
  8586. to avoid repeating code.
  8587. * html/HTMLAreaElement.h: Updated for above changes.
  8588. * rendering/RenderImage.cpp:
  8589. (WebCore::RenderImage::paint): Updated for name change.
  8590. (WebCore::RenderImage::paintAreaElementFocusRing): Renamed this from
  8591. paintFocusRing, because it only paints area focus rings, and should
  8592. not be confused with paintFocusRing functions in other classes. Also
  8593. removed the unused style argument. Removed the code that used an
  8594. HTMLCollection to see if the focused area element is for this image
  8595. and instead just call imageElement on the area element.
  8596. (WebCore::RenderImage::areaElementFocusChanged): Added. Calls repaint.
  8597. * rendering/RenderImage.h: Added a public areaElementFocusChanged
  8598. function for HTMLAreaElement to call. Made the paintFocusRing function
  8599. private, renamed it to paintAreaElementFocusRing, and removed its
  8600. unused style argument.
  8601. 2011-02-01 Patrick Gansterer <paroga@webkit.org>
  8602. Unreviewed WinCE build fix for r77286.
  8603. * platform/graphics/wince/GraphicsContextWinCE.cpp:
  8604. (WebCore::TransparentLayerDC::TransparentLayerDC):
  8605. 2011-02-01 Chris Fleizach <cfleizach@apple.com>
  8606. Reviewed by Darin Adler.
  8607. AX: AXPosition of AXScrollArea is wrong
  8608. https://bugs.webkit.org/show_bug.cgi?id=53511
  8609. AccessibilityScrollView needed to return a valid documentFrameView() object.
  8610. At the same time, the code from document() should be consolidated in
  8611. AccessibilityObject, so all objects can use it.
  8612. Test: platform/mac/accessibility/webkit-scrollarea-position.html
  8613. * accessibility/AccessibilityObject.cpp:
  8614. (WebCore::AccessibilityObject::document):
  8615. * accessibility/AccessibilityObject.h:
  8616. * accessibility/AccessibilityScrollView.cpp:
  8617. (WebCore::AccessibilityScrollView::accessibilityHitTest):
  8618. (WebCore::AccessibilityScrollView::documentFrameView):
  8619. * accessibility/AccessibilityScrollView.h:
  8620. 2011-02-01 Zhenyao Mo <zmo@google.com>
  8621. Reviewed by Kenneth Russell.
  8622. getUniform should support SAMPLER_2D or SAMPLER_CUBE
  8623. https://bugs.webkit.org/show_bug.cgi?id=52190
  8624. * html/canvas/WebGLRenderingContext.cpp:
  8625. (WebCore::WebGLRenderingContext::getUniform):
  8626. 2011-02-01 Zhenyao Mo <zmo@google.com>
  8627. Reviewed by Darin Adler.
  8628. Fix the incorrect usage of RetainPtr cases in GraphicsContext3DCG.cpp
  8629. https://bugs.webkit.org/show_bug.cgi?id=53531
  8630. With this fix, running WebGL conformance tests should no longer crash randomly.
  8631. * platform/graphics/cg/GraphicsContext3DCG.cpp:
  8632. (WebCore::GraphicsContext3D::getImageData):
  8633. 2011-02-01 Dimitri Glazkov <dglazkov@chromium.org>
  8634. One more Chromium build fix after r77286.
  8635. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  8636. (WebCore::ScrollbarThemeChromiumMac::paint): Changed to not use topLeft().
  8637. 2011-02-01 Sam Weinig <sam@webkit.org>
  8638. Fix the build for Beth.
  8639. * platform/mac/ScrollAnimatorMac.mm:
  8640. (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
  8641. 2011-02-01 Sam Weinig <sam@webkit.org>
  8642. Reviewed by Beth Dakin.
  8643. Part 2 for <rdar://problem/8492788>
  8644. Adopt WKScrollbarPainterController
  8645. Use header detection to define scrollbar painting controller #define.
  8646. * WebCore.exp.in:
  8647. * platform/mac/ScrollAnimatorMac.h:
  8648. * platform/mac/ScrollbarThemeMac.h:
  8649. * platform/mac/WebCoreSystemInterface.h:
  8650. * platform/mac/WebCoreSystemInterface.mm:
  8651. 2011-02-01 David Hyatt <hyatt@apple.com>
  8652. Reviewed by Oliver Hunt.
  8653. https://bugs.webkit.org/show_bug.cgi?id=53520
  8654. Remove the physical terminology from IntRect and FloatRect.
  8655. Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
  8656. we need to update our terminology to be more accurate.
  8657. I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
  8658. renaming right() and bottom() to maxX() and maxY(). These terms remain accurate
  8659. even for flipped rectangles.
  8660. * accessibility/AccessibilityRenderObject.cpp:
  8661. (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
  8662. * accessibility/mac/AccessibilityObjectWrapper.mm:
  8663. (-[AccessibilityObjectWrapper position]):
  8664. * dom/ClientRect.h:
  8665. (WebCore::ClientRect::right):
  8666. (WebCore::ClientRect::bottom):
  8667. * html/HTMLCanvasElement.cpp:
  8668. (WebCore::HTMLCanvasElement::convertLogicalToDevice):
  8669. * html/canvas/CanvasRenderingContext2D.cpp:
  8670. (WebCore::normalizeRect):
  8671. * inspector/InspectorAgent.cpp:
  8672. (WebCore::InspectorAgent::drawElementTitle):
  8673. * page/DOMWindow.cpp:
  8674. (WebCore::DOMWindow::adjustWindowRect):
  8675. * page/DragController.cpp:
  8676. (WebCore::dragLocForSelectionDrag):
  8677. * page/EventHandler.cpp:
  8678. (WebCore::EventHandler::sendContextMenuEventForKey):
  8679. * page/PrintContext.cpp:
  8680. (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
  8681. (WebCore::PrintContext::pageNumberForElement):
  8682. * page/SpatialNavigation.cpp:
  8683. (WebCore::end):
  8684. (WebCore::areRectsFullyAligned):
  8685. (WebCore::areRectsMoreThanFullScreenApart):
  8686. (WebCore::below):
  8687. (WebCore::rightOf):
  8688. (WebCore::isRectInDirection):
  8689. (WebCore::entryAndExitPointsForDirection):
  8690. (WebCore::virtualRectForDirection):
  8691. * page/WindowFeatures.cpp:
  8692. (WebCore::WindowFeatures::WindowFeatures):
  8693. * platform/ScrollView.cpp:
  8694. (WebCore::ScrollView::wheelEvent):
  8695. * platform/Scrollbar.cpp:
  8696. (WebCore::Scrollbar::setFrameRect):
  8697. * platform/ScrollbarThemeComposite.cpp:
  8698. (WebCore::ScrollbarThemeComposite::splitTrack):
  8699. * platform/chromium/ScrollbarThemeChromium.cpp:
  8700. (WebCore::ScrollbarThemeChromium::paintTickmarks):
  8701. * platform/graphics/FloatQuad.h:
  8702. (WebCore::FloatQuad::FloatQuad):
  8703. * platform/graphics/FloatRect.cpp:
  8704. (WebCore::FloatRect::intersects):
  8705. (WebCore::FloatRect::contains):
  8706. (WebCore::FloatRect::intersect):
  8707. (WebCore::FloatRect::unite):
  8708. (WebCore::enclosingIntRect):
  8709. * platform/graphics/FloatRect.h:
  8710. (WebCore::FloatRect::maxX):
  8711. (WebCore::FloatRect::maxY):
  8712. (WebCore::FloatRect::contains):
  8713. * platform/graphics/IntRect.cpp:
  8714. (WebCore::IntRect::intersects):
  8715. (WebCore::IntRect::contains):
  8716. (WebCore::IntRect::intersect):
  8717. (WebCore::IntRect::unite):
  8718. * platform/graphics/IntRect.h:
  8719. (WebCore::IntRect::maxX):
  8720. (WebCore::IntRect::maxY):
  8721. (WebCore::IntRect::shiftXEdgeTo):
  8722. (WebCore::IntRect::shiftMaxXEdgeTo):
  8723. (WebCore::IntRect::shiftYEdgeTo):
  8724. (WebCore::IntRect::shiftMaxYEdgeTo):
  8725. (WebCore::IntRect::contains):
  8726. * platform/graphics/WidthIterator.cpp:
  8727. (WebCore::WidthIterator::advance):
  8728. * platform/graphics/cg/GraphicsContextCG.cpp:
  8729. (WebCore::GraphicsContext::drawRect):
  8730. (WebCore::GraphicsContext::fillPath):
  8731. (WebCore::GraphicsContext::fillRect):
  8732. * platform/graphics/cg/ImageBufferCG.cpp:
  8733. (WebCore::getImageData):
  8734. (WebCore::putImageData):
  8735. * platform/graphics/cg/ImageCG.cpp:
  8736. (WebCore::BitmapImage::draw):
  8737. * platform/graphics/filters/FilterEffect.cpp:
  8738. (WebCore::FilterEffect::copyImageBytes):
  8739. * platform/graphics/mac/ComplexTextController.cpp:
  8740. (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
  8741. * platform/graphics/mac/SimpleFontDataMac.mm:
  8742. (WebCore::SimpleFontData::platformBoundsForGlyph):
  8743. * platform/graphics/transforms/AffineTransform.cpp:
  8744. (WebCore::AffineTransform::mapRect):
  8745. * platform/graphics/win/FontCGWin.cpp:
  8746. (WebCore::drawGDIGlyphs):
  8747. * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
  8748. (WebCore::MediaPlayerPrivate::paint):
  8749. * platform/gtk/RenderThemeGtk.cpp:
  8750. (WebCore::centerRectVerticallyInParentInputElement):
  8751. * platform/mac/WidgetMac.mm:
  8752. (WebCore::Widget::paint):
  8753. * rendering/InlineFlowBox.cpp:
  8754. (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
  8755. (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
  8756. * rendering/InlineTextBox.cpp:
  8757. (WebCore::InlineTextBox::selectionRect):
  8758. (WebCore::InlineTextBox::paint):
  8759. (WebCore::InlineTextBox::positionForOffset):
  8760. * rendering/RenderBlock.cpp:
  8761. (WebCore::RenderBlock::addOverflowFromChildren):
  8762. (WebCore::RenderBlock::paintChildren):
  8763. (WebCore::RenderBlock::paintEllipsisBoxes):
  8764. (WebCore::RenderBlock::inlineSelectionGaps):
  8765. (WebCore::RenderBlock::adjustPointToColumnContents):
  8766. (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
  8767. (WebCore::RenderBlock::adjustForColumns):
  8768. * rendering/RenderBlock.h:
  8769. (WebCore::RenderBlock::FloatingObject::right):
  8770. (WebCore::RenderBlock::FloatingObject::bottom):
  8771. * rendering/RenderBox.cpp:
  8772. (WebCore::RenderBox::reflectedRect):
  8773. (WebCore::RenderBox::localCaretRect):
  8774. (WebCore::RenderBox::addShadowOverflow):
  8775. (WebCore::RenderBox::addLayoutOverflow):
  8776. (WebCore::RenderBox::visualOverflowRectForPropagation):
  8777. (WebCore::RenderBox::layoutOverflowRectForPropagation):
  8778. (WebCore::RenderBox::flipForWritingMode):
  8779. * rendering/RenderFrameSet.cpp:
  8780. (WebCore::RenderFrameSet::paintColumnBorder):
  8781. (WebCore::RenderFrameSet::paintRowBorder):
  8782. * rendering/RenderInline.cpp:
  8783. (WebCore::RenderInline::paintOutlineForLine):
  8784. * rendering/RenderLayer.cpp:
  8785. (WebCore::RenderLayer::getRectToExpose):
  8786. (WebCore::cornerRect):
  8787. (WebCore::RenderLayer::positionOverflowControls):
  8788. (WebCore::RenderLayer::overflowBottom):
  8789. (WebCore::RenderLayer::overflowRight):
  8790. (WebCore::RenderLayer::paintResizer):
  8791. * rendering/RenderLineBoxList.cpp:
  8792. (WebCore::RenderLineBoxList::rangeIntersectsRect):
  8793. (WebCore::RenderLineBoxList::paint):
  8794. * rendering/RenderListItem.cpp:
  8795. (WebCore::RenderListItem::positionListMarker):
  8796. * rendering/RenderListMarker.cpp:
  8797. (WebCore::RenderListMarker::paint):
  8798. * rendering/RenderObject.cpp:
  8799. (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
  8800. * rendering/RenderOverflow.h:
  8801. (WebCore::RenderOverflow::RenderOverflow):
  8802. (WebCore::RenderOverflow::addLayoutOverflow):
  8803. (WebCore::RenderOverflow::addVisualOverflow):
  8804. (WebCore::RenderOverflow::setLayoutOverflow):
  8805. (WebCore::RenderOverflow::setVisualOverflow):
  8806. (WebCore::RenderOverflow::resetLayoutOverflow):
  8807. * rendering/RenderReplaced.cpp:
  8808. (WebCore::RenderReplaced::shouldPaint):
  8809. * rendering/RenderScrollbarTheme.cpp:
  8810. (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
  8811. * rendering/RenderTable.cpp:
  8812. (WebCore::RenderTable::paint):
  8813. * rendering/RenderTableCell.cpp:
  8814. (WebCore::RenderTableCell::paint):
  8815. * rendering/RenderTableSection.cpp:
  8816. (WebCore::RenderTableSection::paintObject):
  8817. * rendering/RenderText.cpp:
  8818. (WebCore::RenderText::absoluteQuads):
  8819. * rendering/RenderTextControlSingleLine.cpp:
  8820. (WebCore::RenderTextControlSingleLine::forwardEvent):
  8821. * rendering/RenderThemeMac.mm:
  8822. (WebCore::RenderThemeMac::paintMenuListButtonGradients):
  8823. (WebCore::RenderThemeMac::paintMenuListButton):
  8824. (WebCore::RenderThemeMac::paintSliderTrack):
  8825. * rendering/RenderView.cpp:
  8826. (WebCore::RenderView::computeRectForRepaint):
  8827. (WebCore::RenderView::docBottom):
  8828. (WebCore::RenderView::docRight):
  8829. * rendering/RootInlineBox.cpp:
  8830. (WebCore::RootInlineBox::paddedLayoutOverflowRect):
  8831. * rendering/svg/RenderSVGInlineText.cpp:
  8832. (WebCore::RenderSVGInlineText::localCaretRect):
  8833. 2011-02-01 Beth Dakin <bdakin@apple.com>
  8834. Reviewed by Sam Weinig.
  8835. Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
  8836. Lots of new WebCoreSystemInterface functions to export.
  8837. * WebCore.exp.in:
  8838. * platform/mac/WebCoreSystemInterface.h:
  8839. * platform/mac/WebCoreSystemInterface.mm:
  8840. Let the scrollAnimator know when the mouse has
  8841. moved anywhere inside the page, and when the mouse
  8842. has moved in or out of the window.
  8843. * page/EventHandler.cpp:
  8844. (WebCore::EventHandler::mouseMoved):
  8845. (WebCore::EventHandler::updateMouseEventTargetNode):
  8846. Let the scrollAnimator know when the window has become
  8847. active or inactive.
  8848. * page/FocusController.cpp:
  8849. (WebCore::FocusController::setActive):
  8850. Let the scrollAnimator know when all of these things
  8851. are happening.
  8852. * page/FrameView.cpp:
  8853. (WebCore::FrameView::setContentsSize):
  8854. (WebCore::FrameView::didMoveOnscreen):
  8855. (WebCore::FrameView::willMoveOffscreen):
  8856. (WebCore::FrameView::currentMousePosition):
  8857. (WebCore::FrameView::contentsResized):
  8858. New functions called through WebKit2 that allow the
  8859. scrollAnimator to know when a live resize starts and ends.
  8860. (WebCore::FrameView::willStartLiveResize):
  8861. (WebCore::FrameView::willEndLiveResize):
  8862. * page/FrameView.h:
  8863. New functions on ScrollAnimator that pass information
  8864. to the WKPainterController when we're using one.
  8865. * platform/ScrollAnimator.h:
  8866. (WebCore::ScrollAnimator::scrollableArea):
  8867. (WebCore::ScrollAnimator::contentAreaWillPaint):
  8868. (WebCore::ScrollAnimator::mouseEnteredContentArea):
  8869. (WebCore::ScrollAnimator::mouseExitedContentArea):
  8870. (WebCore::ScrollAnimator::mouseMovedInContentArea):
  8871. (WebCore::ScrollAnimator::willStartLiveResize):
  8872. (WebCore::ScrollAnimator::contentsResized):
  8873. (WebCore::ScrollAnimator::willEndLiveResize):
  8874. (WebCore::ScrollAnimator::contentAreaDidShow):
  8875. (WebCore::ScrollAnimator::contentAreaDidHide):
  8876. (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
  8877. (WebCore::ScrollAnimatorMac::scrollbarPainterDelegate):
  8878. (WebCore::ScrollAnimatorMac::setPainterForPainterController):
  8879. (WebCore::ScrollAnimatorMac::removePainterFromPainterController):
  8880. (WebCore::ScrollAnimatorMac::notityPositionChanged):
  8881. (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
  8882. (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
  8883. (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
  8884. (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
  8885. (WebCore::ScrollAnimatorMac::willStartLiveResize):
  8886. (WebCore::ScrollAnimatorMac::contentsResized):
  8887. (WebCore::ScrollAnimatorMac::willEndLiveResize):
  8888. (WebCore::ScrollAnimatorMac::contentAreaDidShow):
  8889. (WebCore::ScrollAnimatorMac::contentAreaDidHide):
  8890. Let the scrollAnimator know when this is happening.
  8891. * platform/ScrollView.cpp:
  8892. (WebCore::ScrollView::paint):
  8893. New function lets the scrollAnimator get the current
  8894. mouse position.
  8895. * platform/ScrollView.h:
  8896. (WebCore::ScrollView::currentMousePosition):
  8897. New function that returns the scrollAnimator when needed.
  8898. * platform/ScrollableArea.h:
  8899. (WebCore::ScrollableArea::scrollAnimator):
  8900. Keep track of if we're in a live resize using a new memeber
  8901. variable.
  8902. * platform/mac/ScrollAnimatorMac.h:
  8903. (WebCore::ScrollAnimatorMac::inLiveResize):
  8904. * platform/mac/ScrollAnimatorMac.mm:
  8905. (WebCore::view):
  8906. New delegates for the WKPainter and WKPainterController
  8907. (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
  8908. (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
  8909. (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
  8910. (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
  8911. (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
  8912. (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
  8913. (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
  8914. (-[ScrollKnobAnimation initWithScrollbarPainter:forScrollAnimator:WebCore::animateKnobAlphaTo:duration:]):
  8915. (-[ScrollKnobAnimation setCurrentProgress:]):
  8916. (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
  8917. (-[ScrollbarPainterDelegate convertRectToBacking:]):
  8918. (-[ScrollbarPainterDelegate convertRectFromBacking:]):
  8919. (-[ScrollbarPainterDelegate layer]):
  8920. (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:animateKnobAlphaTo:duration:]):
  8921. (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
  8922. (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
  8923. (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
  8924. Get the WKScrollbarPainterRefs to synch up with the
  8925. WKScrollbarPainterControllerRefs when appropriate
  8926. * platform/mac/ScrollbarThemeMac.h:
  8927. * platform/mac/ScrollbarThemeMac.mm:
  8928. (WebCore::ScrollbarThemeMac::registerScrollbar):
  8929. (WebCore::ScrollbarThemeMac::unregisterScrollbar):
  8930. (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
  8931. (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
  8932. Implement ScrollableArea's virtual function contentsSize() for access
  8933. through the scrollAnimator.
  8934. * rendering/RenderLayer.h:
  8935. (WebCore::RenderLayer::contentsSize):
  8936. 2011-02-01 Carol Szabo <carol.szabo@nokia.com>
  8937. Reviewed by David Hyatt.
  8938. layoutTestController.counterValueForElementById does not return the correct value
  8939. https://bugs.webkit.org/show_bug.cgi?id=53037
  8940. Test: fast/css/counters/deep-before.html
  8941. * rendering/RenderTreeAsText.cpp:
  8942. (WebCore::counterValueForElement):
  8943. Modified to use the newly available RenderObject::beforePseudoElement()
  8944. and RenderObject::afterPseudoElement() instead of the old imperfect
  8945. algorithm to find the before and after pseudo elements.
  8946. 2011-02-01 Anton Muhin <antonm@chromium.org>
  8947. Reviewed by Adam Barth.
  8948. Allow access for security origin same as this.
  8949. https://bugs.webkit.org/show_bug.cgi?id=53440
  8950. Hard to test as newly added path currently is never hit.
  8951. * page/SecurityOrigin.cpp:
  8952. (WebCore::SecurityOrigin::canAccess): allow access if this == other
  8953. 2011-01-31 Oliver Hunt <oliver@apple.com>
  8954. Reviewed by Geoffrey Garen.
  8955. Update JSObject storage for new marking API
  8956. https://bugs.webkit.org/show_bug.cgi?id=53467
  8957. Update WebCore to handle new anonymous slot behaviour.
  8958. * bindings/js/JSDOMWindowShell.cpp:
  8959. (WebCore::JSDOMWindowShell::setWindow):
  8960. * bindings/js/WorkerScriptController.cpp:
  8961. (WebCore::WorkerScriptController::initScript):
  8962. * bindings/scripts/CodeGeneratorJS.pm:
  8963. 2011-02-01 Xiaomei Ji <xji@chromium.org>
  8964. Reviewed by David Hyatt.
  8965. Fix a text rendering problem when enclosing block is RTL and text runs
  8966. are in different directionality.
  8967. https://bugs.webkit.org/show_bug.cgi?id=34176
  8968. The problem happens in the following example scenario (ABC represents
  8969. Hebrew characters):
  8970. <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
  8971. The line consists of 3 text runs -- TextRun1 TextRun2 TextRun3. In which
  8972. TextRun1 and TextRun2's bidi level are 2, and TextRun3's bidi level is 1.
  8973. TextRun2 and TextRun3's least common ancestor is not a sibling of TextRun1.
  8974. The visual bidi run order of the text runs is TextRun3 TextRun1 TextRun2.
  8975. Inside RenderBlock::constructLine(), when RenderBlock::createLineBoxes()
  8976. creates InlineFlowBox for TextRun2, it should check an InlineFlowBox for
  8977. the run's render object's ancestor (not only its parent) has already
  8978. been constructed or has something following it on the line, in which
  8979. case, create a new box for TextRun2 instead of sharing the same box with
  8980. TextRun3.
  8981. In other words, the following 2 div should render the same results
  8982. (ABC represents Hebrew characters).
  8983. <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
  8984. <div dir=rtl>this is a <span>Test <span>ABC</span></span></div>
  8985. Test: fast/dom/34176.html
  8986. * rendering/RenderBlockLineLayout.cpp:
  8987. (WebCore::parentIsConstructedOrHaveNext):
  8988. (WebCore::RenderBlock::createLineBoxes):
  8989. 2011-02-01 Abhishek Arya <inferno@chromium.org>
  8990. Reviewed by Dan Bernstein.
  8991. Do not add a node in the document's stylesheet candidate node list if the
  8992. node is already removed from document.
  8993. https://bugs.webkit.org/show_bug.cgi?id=53441
  8994. Test: fast/css/stylesheet-candidate-nodes-crash.xhtml
  8995. * dom/Document.cpp:
  8996. (WebCore::Document::addStyleSheetCandidateNode):
  8997. 2011-02-01 Dave Hyatt <hyatt@apple.com>
  8998. Reviewed by Darin Adler.
  8999. https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
  9000. with vertical text.
  9001. Change printing functions to check writing-mode and properly swap width and height
  9002. as needed.
  9003. Fix the setScrollOrigin function so that the origin doesn't cause
  9004. scroll spasming during printing (this is only partially successful, but it's better
  9005. than it was).
  9006. Rewrite computePageRects to handle both RTL documents properly as well as vertical
  9007. text documents properly.
  9008. * WebCore.exp.in:
  9009. * page/FrameView.cpp:
  9010. (WebCore::FrameView::adjustViewSize):
  9011. (WebCore::FrameView::forceLayoutForPagination):
  9012. * page/PrintContext.cpp:
  9013. (WebCore::PrintContext::computePageRects):
  9014. (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
  9015. (WebCore::PrintContext::computeAutomaticScaleFactor):
  9016. (WebCore::PrintContext::spoolPage):
  9017. (WebCore::PrintContext::spoolRect):
  9018. * page/PrintContext.h:
  9019. * page/mac/WebCoreFrameView.h:
  9020. * platform/ScrollView.cpp:
  9021. (WebCore::ScrollView::wheelEvent):
  9022. * platform/ScrollView.h:
  9023. * platform/mac/ScrollViewMac.mm:
  9024. (WebCore::ScrollView::platformSetScrollOrigin):
  9025. * rendering/RenderView.cpp:
  9026. (WebCore::RenderView::layout):
  9027. 2011-02-01 Mikhail Naganov <mnaganov@chromium.org>
  9028. Reviewed by Pavel Feldman.
  9029. Web Inspector: Fix profiles reset to avoid clearing heap profiles in Chromium.
  9030. https://bugs.webkit.org/show_bug.cgi?id=53500
  9031. * inspector/InspectorProfilerAgent.cpp:
  9032. (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
  9033. 2011-02-01 Mikhail Naganov <mnaganov@chromium.org>
  9034. Reviewed by Pavel Feldman.
  9035. Web Inspector: [Chromium] Landing detailed heap snapshots, part 1.
  9036. https://bugs.webkit.org/show_bug.cgi?id=53173
  9037. Adding code for accessing heap snapshot data and
  9038. performing graph calculations.
  9039. * English.lproj/localizedStrings.js:
  9040. * inspector/front-end/HeapSnapshot.js:
  9041. (WebInspector.HeapSnapshotArraySlice): Helper class to avoid array contents copying.
  9042. (WebInspector.HeapSnapshotEdge): Wrapper for accessing graph edge properties.
  9043. (WebInspector.HeapSnapshotEdgeIterator):
  9044. (WebInspector.HeapSnapshotNode): Wrapper for accessing graph node properties.
  9045. (WebInspector.HeapSnapshotNodeIterator):
  9046. (WebInspector.HeapSnapshot): Wrapper for the heap snapshot.
  9047. (WebInspector.HeapSnapshotFilteredOrderedIterator):
  9048. (WebInspector.HeapSnapshotEdgesProvider):
  9049. (WebInspector.HeapSnapshotNodesProvider):
  9050. (WebInspector.HeapSnapshotPathFinder):
  9051. * inspector/front-end/HeapSnapshotView.js:
  9052. (WebInspector.HeapSnapshotView.prototype._convertSnapshot):
  9053. 2011-02-01 Adam Roben <aroben@apple.com>
  9054. Fix linker warnings in Release_LTCG builds
  9055. * WebCore.vcproj/WebCore.vcproj: Exclude EventNames.cpp and EventTarget.cpp from all
  9056. configurations, since they get pulled in via DOMAllInOne.cpp.
  9057. 2011-02-01 Alexander Pavlov <apavlov@chromium.org>
  9058. Reviewed by Yury Semikhatsky.
  9059. Web Inspector: [Chromium] Wrongly labelled context-menu item for links in Web Inspector's side-pane
  9060. https://bugs.webkit.org/show_bug.cgi?id=53482
  9061. * English.lproj/localizedStrings.js:
  9062. * inspector/front-end/ElementsPanel.js:
  9063. (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
  9064. * inspector/front-end/inspector.js:
  9065. (WebInspector.resourceForURL):
  9066. (WebInspector.openLinkExternallyLabel):
  9067. 2011-02-01 Anton Muhin <antonm@chromium.org>
  9068. Reviewed by Adam Barth.
  9069. Propagate parent document security origin to newly create Document XML response
  9070. https://bugs.webkit.org/show_bug.cgi?id=53444
  9071. Covered by the existing tests.
  9072. * xml/XMLHttpRequest.cpp:
  9073. (WebCore::XMLHttpRequest::responseXML):
  9074. 2011-02-01 Yury Semikhatsky <yurys@chromium.org>
  9075. Unreviewed. Rollout r77230 which caused many layout tests
  9076. crashes on Chromium Debug bots.
  9077. Async event handlers should not fire within a modal dialog
  9078. https://bugs.webkit.org/show_bug.cgi?id=53202
  9079. * dom/Document.cpp:
  9080. (WebCore::Document::Document):
  9081. * dom/EventQueue.cpp:
  9082. (WebCore::EventQueue::EventQueue):
  9083. (WebCore::EventQueue::enqueueEvent):
  9084. (WebCore::EventQueue::pendingEventTimerFired):
  9085. * dom/EventQueue.h:
  9086. 2011-02-01 Zoltan Herczeg <zherczeg@webkit.org>
  9087. Reviewed by Dirk Schulze.
  9088. LightElement changes does not require relayout.
  9089. https://bugs.webkit.org/show_bug.cgi?id=53232
  9090. When an attribute of a LightElement changes, it
  9091. send an update message to the lighting filters
  9092. to update its corresponding LightSource objects,
  9093. and repaint the filters.
  9094. Duplicated 'id' attributes removed from svg-filter-animation.svg.
  9095. Existing dynamic-update tests covers this feature.
  9096. 5x speedup on manual-tests/svg-filter-animation.svg
  9097. * manual-tests/svg-filter-animation.svg:
  9098. * platform/graphics/filters/DistantLightSource.h:
  9099. * platform/graphics/filters/FEDiffuseLighting.cpp:
  9100. (WebCore::FEDiffuseLighting::setLightingColor):
  9101. (WebCore::FEDiffuseLighting::setSurfaceScale):
  9102. (WebCore::FEDiffuseLighting::setDiffuseConstant):
  9103. (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
  9104. (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
  9105. * platform/graphics/filters/FEDiffuseLighting.h:
  9106. * platform/graphics/filters/LightSource.cpp:
  9107. (WebCore::PointLightSource::setX):
  9108. (WebCore::PointLightSource::setY):
  9109. (WebCore::PointLightSource::setZ):
  9110. (WebCore::SpotLightSource::setX):
  9111. (WebCore::SpotLightSource::setY):
  9112. (WebCore::SpotLightSource::setZ):
  9113. (WebCore::SpotLightSource::setPointsAtX):
  9114. (WebCore::SpotLightSource::setPointsAtY):
  9115. (WebCore::SpotLightSource::setPointsAtZ):
  9116. (WebCore::SpotLightSource::setSpecularExponent):
  9117. (WebCore::SpotLightSource::setLimitingConeAngle):
  9118. (WebCore::DistantLightSource::setAzimuth):
  9119. (WebCore::DistantLightSource::setElevation):
  9120. (WebCore::LightSource::setAzimuth):
  9121. (WebCore::LightSource::setElevation):
  9122. (WebCore::LightSource::setX):
  9123. (WebCore::LightSource::setY):
  9124. (WebCore::LightSource::setZ):
  9125. (WebCore::LightSource::setPointsAtX):
  9126. (WebCore::LightSource::setPointsAtY):
  9127. (WebCore::LightSource::setPointsAtZ):
  9128. (WebCore::LightSource::setSpecularExponent):
  9129. (WebCore::LightSource::setLimitingConeAngle):
  9130. * platform/graphics/filters/LightSource.h:
  9131. * platform/graphics/filters/PointLightSource.h:
  9132. * platform/graphics/filters/SpotLightSource.h:
  9133. * rendering/svg/RenderSVGResourceFilter.cpp:
  9134. (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
  9135. * svg/SVGFEDiffuseLightingElement.cpp:
  9136. (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
  9137. (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged):
  9138. (WebCore::SVGFEDiffuseLightingElement::build):
  9139. (WebCore::SVGFEDiffuseLightingElement::findLightElement):
  9140. (WebCore::SVGFEDiffuseLightingElement::findLight):
  9141. * svg/SVGFEDiffuseLightingElement.h:
  9142. * svg/SVGFELightElement.cpp:
  9143. (WebCore::SVGFELightElement::svgAttributeChanged):
  9144. * svg/SVGFilterPrimitiveStandardAttributes.cpp:
  9145. (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
  9146. * svg/SVGFilterPrimitiveStandardAttributes.h:
  9147. 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
  9148. Reviewed by Dimitri Glazkov.
  9149. Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
  9150. https://bugs.webkit.org/show_bug.cgi?id=53289
  9151. Moving the nested class DocumentOrderedMap from Document into separate files,
  9152. updating code where necessary.
  9153. No new tests. (refactoring)
  9154. * Android.mk:
  9155. * CMakeLists.txt:
  9156. * GNUMakefile.am:
  9157. * WebCore.gypi:
  9158. * WebCore.pro:
  9159. * WebCore.vcproj/WebCore.vcproj:
  9160. * WebCore.xcodeproj/project.pbxproj:
  9161. * dom/Document.cpp:
  9162. (WebCore::Document::getElementById):
  9163. (WebCore::Document::getImageMap):
  9164. * dom/Document.h:
  9165. * dom/DocumentOrderedMap.cpp: Added.
  9166. (WebCore::keyMatchesId):
  9167. (WebCore::keyMatchesMapName):
  9168. (WebCore::keyMatchesLowercasedMapName):
  9169. (WebCore::DocumentOrderedMap::clear):
  9170. (WebCore::DocumentOrderedMap::add):
  9171. (WebCore::DocumentOrderedMap::remove):
  9172. (WebCore::DocumentOrderedMap::get):
  9173. (WebCore::DocumentOrderedMap::getElementById):
  9174. (WebCore::DocumentOrderedMap::getElementByMapName):
  9175. (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
  9176. * dom/DocumentOrderedMap.h: Added.
  9177. (WebCore::DocumentOrderedMap::contains):
  9178. (WebCore::DocumentOrderedMap::containsMultiple):
  9179. * dom/DOMAllInOne.cpp:
  9180. 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
  9181. Reviewed by Martin Robinson.
  9182. [Gtk] atk_text_set_caret_offset fails for list items
  9183. https://bugs.webkit.org/show_bug.cgi?id=53388
  9184. Allow using text ranges across list items.
  9185. * accessibility/gtk/AccessibilityObjectAtk.cpp:
  9186. (WebCore::AccessibilityObject::allowsTextRanges): Add list items
  9187. to the list of accessibility objects supporting text ranges.
  9188. 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
  9189. Reviewed by Martin Robinson.
  9190. [GTK] character range extents is off when the end of a wrapped line is included
  9191. https://bugs.webkit.org/show_bug.cgi?id=53323
  9192. Fixed wrong calculation getting the range extents.
  9193. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
  9194. (webkit_accessible_text_get_range_extents): Removed '+1' since the
  9195. requested interval shouldn't include the last character.
  9196. 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
  9197. Reviewed by Martin Robinson.
  9198. [GTK] Caret Offset is one off at the end of wrapped lines
  9199. https://bugs.webkit.org/show_bug.cgi?id=53300
  9200. Consider linebreaks as special cases.
  9201. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
  9202. (objectAndOffsetUnignored): In order to avoid getting wrong values
  9203. when around linebreaks, we need to workaround this by explicitly
  9204. avoiding those '\n' text nodes from affecting the result of
  9205. calling to TextIterator:rangeLength().
  9206. 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
  9207. Unreviewed, rolling out r77229.
  9208. http://trac.webkit.org/changeset/77229
  9209. https://bugs.webkit.org/show_bug.cgi?id=53289
  9210. revert mysterious build breakage
  9211. * Android.mk:
  9212. * CMakeLists.txt:
  9213. * GNUmakefile.am:
  9214. * WebCore.gypi:
  9215. * WebCore.pro:
  9216. * WebCore.vcproj/WebCore.vcproj:
  9217. * WebCore.xcodeproj/project.pbxproj:
  9218. * dom/DOMAllInOne.cpp:
  9219. * dom/Document.cpp:
  9220. (WebCore::Document::DocumentOrderedMap::clear):
  9221. (WebCore::Document::DocumentOrderedMap::add):
  9222. (WebCore::Document::DocumentOrderedMap::remove):
  9223. (WebCore::Document::DocumentOrderedMap::get):
  9224. (WebCore::keyMatchesId):
  9225. (WebCore::Document::getElementById):
  9226. (WebCore::keyMatchesMapName):
  9227. (WebCore::keyMatchesLowercasedMapName):
  9228. (WebCore::Document::getImageMap):
  9229. * dom/Document.h:
  9230. (WebCore::Document::DocumentOrderedMap::contains):
  9231. (WebCore::Document::DocumentOrderedMap::containsMultiple):
  9232. * dom/DocumentOrderedMap.cpp: Removed.
  9233. * dom/DocumentOrderedMap.h: Removed.
  9234. 2011-02-01 Mihai Parparita <mihaip@chromium.org>
  9235. Reviewed by James Robinson.
  9236. Async event handlers should not fire within a modal dialog
  9237. https://bugs.webkit.org/show_bug.cgi?id=53202
  9238. Asychronous events that use EventQueue would currently fire while a
  9239. modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
  9240. SuspendableTimer (which automatically gets suspended while dialogs are
  9241. up and in other cases where JS execution is not allowed).
  9242. Test: fast/events/scroll-event-during-modal-dialog.html
  9243. * dom/Document.cpp:
  9244. (WebCore::Document::Document):
  9245. * dom/EventQueue.cpp:
  9246. (WebCore::EventQueueTimer::EventQueueTimer):
  9247. (WebCore::EventQueueTimer::fired):
  9248. (WebCore::EventQueue::EventQueue):
  9249. (WebCore::EventQueue::enqueueEvent):
  9250. (WebCore::EventQueue::pendingEventTimerFired):
  9251. * dom/EventQueue.h:
  9252. (WebCore::EventQueue::create):
  9253. 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
  9254. Reviewed by Dimitri Glazkov.
  9255. Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
  9256. https://bugs.webkit.org/show_bug.cgi?id=53289
  9257. Moving the nested class DocumentOrderedMap from Document into separate files,
  9258. updating code where necessary.
  9259. No new tests. (refactoring)
  9260. * Android.mk:
  9261. * CMakeLists.txt:
  9262. * GNUMakefile.am:
  9263. * WebCore.gypi:
  9264. * WebCore.pro:
  9265. * WebCore.vcproj/WebCore.vcproj:
  9266. * WebCore.xcodeproj/project.pbxproj:
  9267. * dom/Document.cpp:
  9268. (WebCore::Document::getElementById):
  9269. (WebCore::Document::getImageMap):
  9270. * dom/Document.h:
  9271. * dom/DocumentOrderedMap.cpp: Added.
  9272. (WebCore::keyMatchesId):
  9273. (WebCore::keyMatchesMapName):
  9274. (WebCore::keyMatchesLowercasedMapName):
  9275. (WebCore::DocumentOrderedMap::clear):
  9276. (WebCore::DocumentOrderedMap::add):
  9277. (WebCore::DocumentOrderedMap::remove):
  9278. (WebCore::DocumentOrderedMap::get):
  9279. (WebCore::DocumentOrderedMap::getElementById):
  9280. (WebCore::DocumentOrderedMap::getElementByMapName):
  9281. (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
  9282. * dom/DocumentOrderedMap.h: Added.
  9283. (WebCore::DocumentOrderedMap::contains):
  9284. (WebCore::DocumentOrderedMap::containsMultiple):
  9285. * dom/DOMAllInOne.cpp:
  9286. 2011-02-01 Naoki Takano <takano.naoki@gmail.com>
  9287. Reviewed by Darin Fisher.
  9288. [Chromium] Autofill should work with HTML5 form elements
  9289. https://bugs.webkit.org/show_bug.cgi?id=51809
  9290. http://crbug.com/65654
  9291. No new tests, because this fix is for Chromium project and hard to test only in WebKit project.
  9292. * html/InputType.h: Insert comment for canSetSuggestedValue().
  9293. * html/TextFieldInputType.cpp:
  9294. (WebCore::TextFieldInputType::canSetSuggestedValue): Implemented to return always true for that all text filed inputs can be completed.
  9295. * html/TextFieldInputType.h: Declare canSetSuggestedValue().
  9296. * html/TextInputType.cpp: Delete canSetSuggestedValue() not to return true anymore.
  9297. * html/TextInputType.h: Delete canSetSuggestedValue() not to return true anymore.
  9298. 2011-02-01 Kent Tamura <tkent@chromium.org>
  9299. Reviewed by Dan Bernstein.
  9300. REGRESSION (r65062): Safari loops forever under WebCore::plainTextToMallocAllocatedBuffer()
  9301. https://bugs.webkit.org/show_bug.cgi?id=53272
  9302. * editing/TextIterator.cpp:
  9303. (WebCore::TextIterator::handleTextBox): Pass the appropriate renderer to emitText().
  9304. 2011-01-31 Alexey Proskuryakov <ap@apple.com>
  9305. Reviewed by Maciej Stachowiak.
  9306. https://bugs.webkit.org/show_bug.cgi?id=53466
  9307. Move WebKit2 to printing via API methods
  9308. * WebCore.exp.in: Export IntRect::scale().
  9309. 2011-01-31 Patrick Gansterer <paroga@webkit.org>
  9310. Reviewed by Adam Barth.
  9311. Remove obsolete comment after r41871
  9312. https://bugs.webkit.org/show_bug.cgi?id=53406
  9313. * dom/Document.h:
  9314. 2011-01-31 Simon Fraser <simon.fraser@apple.com>
  9315. Fix according to reviewer comments: can just use Color::black now.
  9316. * platform/graphics/ShadowBlur.cpp:
  9317. (WebCore::ShadowBlur::drawInsetShadow):
  9318. (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
  9319. 2011-01-31 Simon Fraser <simon.fraser@apple.com>
  9320. Reviewed by Sam Weinig.
  9321. Clean up ShadowBlur
  9322. https://bugs.webkit.org/show_bug.cgi?id=53472
  9323. Some minor ShadowBlur cleanup.
  9324. * platform/graphics/ShadowBlur.h:
  9325. * platform/graphics/ShadowBlur.cpp:
  9326. (WebCore::ShadowBlur::ShadowBlur): Use m_blurRadius rather than the radius
  9327. paramter.
  9328. (WebCore::ShadowBlur::adjustBlurRadius): Renamed from adjustBlurDistance.
  9329. (WebCore::ShadowBlur::calculateLayerBoundingRect): Rename layerFloatRect to
  9330. layerRect. Make frameSize a float.
  9331. (WebCore::ShadowBlur::beginShadowLayer): This now takes a precomputed
  9332. layerRect rather than calling calculateLayerBoundingRect() to compute
  9333. it itself, since we were calling calculateLayerBoundingRect() twice.
  9334. (WebCore::ShadowBlur::drawRectShadow): Optimize to call calculateLayerBoundingRect()
  9335. only once. The shadowRect variable was unused, so two return paths could be
  9336. collapsed into one.
  9337. (WebCore::ShadowBlur::drawInsetShadow): Call calculateLayerBoundingRect() before
  9338. beginShadowLayer() now.
  9339. (WebCore::ShadowBlur::drawRectShadowWithoutTiling): The layerRect gets passed in.
  9340. We always used alpha=1, so no need to pass that in.
  9341. (WebCore::ShadowBlur::drawRectShadowWithTiling): We always used alpha=1, so no need to
  9342. pass that in. Move shadowRect down to first use.
  9343. ShadowBlur::clipBounds() was unused.
  9344. 2011-01-31 No'am Rosenthal <noam.rosenthal@nokia.com>
  9345. Reviewed by Kenneth Rohde Christiansen.
  9346. [Qt] QWebElements example from QtWebKit Bridge documentation does not work at all
  9347. https://bugs.webkit.org/show_bug.cgi?id=46748
  9348. This problem disappears when we register QWebElement using qRegisterMetaType, which we now do in QtInstance.
  9349. Added a regression test to tst_QWebFrame.
  9350. * bridge/qt/qt_instance.cpp:
  9351. (JSC::Bindings::QtInstance::QtInstance):
  9352. 2011-01-27 MORITA Hajime <morrita@google.com>
  9353. Reviewed by Dimitri Glazkov.
  9354. Convert <progress> shadow DOM to a DOM-based shadow.
  9355. https://bugs.webkit.org/show_bug.cgi?id=50660
  9356. * Removed RenderProgress::m_valuePart, moved the shadow node
  9357. to the shadow root of HTMLProgressElement.
  9358. * Removed hard-coded pseudo ID for -webkit-progress-bar-value.
  9359. ProgressBarValueElement is defined only for overriding
  9360. shadowPseudoId().
  9361. No new tests. No behavioral change.
  9362. * css/CSSSelector.cpp:
  9363. (WebCore::CSSSelector::pseudoId):
  9364. (WebCore::nameToPseudoTypeMap):
  9365. (WebCore::CSSSelector::extractPseudoType):
  9366. * css/CSSSelector.h:
  9367. * html/HTMLProgressElement.cpp:
  9368. (WebCore::ProgressBarValueElement::ProgressBarValueElement):
  9369. (WebCore::ProgressBarValueElement::shadowPseudoId):
  9370. (WebCore::ProgressBarValueElement::create):
  9371. (WebCore::ProgressBarValueElement::detach):
  9372. (WebCore::HTMLProgressElement::parseMappedAttribute):
  9373. (WebCore::HTMLProgressElement::attach):
  9374. (WebCore::HTMLProgressElement::valuePart):
  9375. (WebCore::HTMLProgressElement::didElementStateChange):
  9376. (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
  9377. * html/HTMLProgressElement.h:
  9378. * rendering/RenderProgress.cpp:
  9379. (WebCore::RenderProgress::~RenderProgress):
  9380. (WebCore::RenderProgress::updateFromElement):
  9381. (WebCore::RenderProgress::layoutParts):
  9382. (WebCore::RenderProgress::shouldHaveParts):
  9383. (WebCore::RenderProgress::valuePart):
  9384. * rendering/RenderProgress.h:
  9385. * rendering/style/RenderStyleConstants.h:
  9386. 2011-01-31 Charlie Reis <creis@chromium.org>
  9387. Reviewed by Mihai Parparita.
  9388. Add sanity check to help diagnose bug 52819
  9389. https://bugs.webkit.org/show_bug.cgi?id=53402
  9390. Crash early if the children of fromItem look invalid.
  9391. * loader/HistoryController.cpp:
  9392. 2011-01-31 Kalle Vahlman <kalle.vahlman@movial.com>
  9393. Reviewed by Andreas Kling.
  9394. [Qt] canvas.drawImage(HTMLVideoElement) doesn't work with Qt Multimedia backend
  9395. https://bugs.webkit.org/show_bug.cgi?id=53325
  9396. Reimplement paintCurrentFrameInContext() rather than delegate the
  9397. rendering to paint() to make sure we really do get the video frame
  9398. content into the GraphicsContext, regardless of accelerated
  9399. compositing and the video scene state.
  9400. * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
  9401. (WebCore::MediaPlayerPrivateQt::paintCurrentFrameInContext):
  9402. * platform/graphics/qt/MediaPlayerPrivateQt.h:
  9403. 2011-01-31 Emil A Eklund <eae@chromium.org>
  9404. Reviewed by Darin Adler.
  9405. Setting "selected" attribute to false should have no effect in single line <select>
  9406. https://bugs.webkit.org/show_bug.cgi?id=52436
  9407. Change SelectElement::setSelectedIndex to select the first selectable
  9408. option when the select state of all options is set to false as required
  9409. by the HTML5 specification.
  9410. Test: fast/dom/HTMLSelectElement/selected-false.html
  9411. * dom/SelectElement.cpp:
  9412. (WebCore::SelectElement::setSelectedIndex):
  9413. 2011-01-31 Alexander Pavlov <apavlov@chromium.org>
  9414. Reviewed by Yury Semikhatsky.
  9415. Web Inspector: Console source references need a left-margin
  9416. https://bugs.webkit.org/show_bug.cgi?id=53308
  9417. * inspector/front-end/inspector.css:
  9418. (.console-message-url): Added a 4px margin on the left.
  9419. 2011-01-31 Carol Szabo <carol.szabo@nokia.com>
  9420. Reviewed by David Hyatt.
  9421. Code Changes only.
  9422. It is needlessly expensive to find the generating node from an anonymous renderer of a pseudoelement.
  9423. https://bugs.webkit.org/show_bug.cgi?id=53024
  9424. No new tests. No change in functionality
  9425. * rendering/RenderObject.h:
  9426. (WebCore::RenderObject::before):
  9427. (WebCore::RenderObject::after):
  9428. (WebCore::RenderObject::generatingNode):
  9429. Added new accessors for the use of the CSS 2.1 counters code
  9430. (mainlyly)
  9431. * rendering/RenderObjectChildList.cpp:
  9432. (WebCore::beforeAfterContainer):
  9433. (WebCore::RenderObjectChildList::invalidateCounters):
  9434. (WebCore::RenderObjectChildList::before):
  9435. (WebCore::RenderObjectChildList::after):
  9436. Refactored the code to take advantage of the new accessors.
  9437. (WebCore::RenderObjectChildList::updateBeforeAfterContent):
  9438. Changed to store the generating node in the :before and :after
  9439. renderers.
  9440. * rendering/RenderObjectChildList.h:
  9441. 2011-01-31 Krithigassree Sambamurthy <krithigassree.sambamurthy@nokia.com>
  9442. Reviewed by David Hyatt.
  9443. Add background-clip to background shorthand
  9444. https://bugs.webkit.org/show_bug.cgi?id=52080
  9445. Added background-clip to background-shorthand. Also made changes to
  9446. include webkitMaskClip to the mask shorthand to keep both in sync.
  9447. * css/CSSParser.cpp:
  9448. (WebCore::CSSParser::parseValue):
  9449. (WebCore::CSSParser::parseFillShorthand):
  9450. 2011-01-31 Darin Adler <darin@apple.com>
  9451. Reviewed by Adele Peterson.
  9452. WKView should support scrollPageDown:, scrollPageUp:, scrollToBeg and other similar selectors
  9453. https://bugs.webkit.org/show_bug.cgi?id=53460
  9454. * editing/EditorCommand.cpp:
  9455. (WebCore::executeScrollPageBackward): Added.
  9456. (WebCore::executeScrollPageForward): Added.
  9457. (WebCore::executeScrollToBeginningOfDocument): Added.
  9458. (WebCore::executeScrollToEndOfDocument): Added.
  9459. (WebCore::createCommandMap): Added the four commands above to the map.
  9460. 2011-01-31 Dan Bernstein <mitz@apple.com>
  9461. Reviewed by Adele Peterson.
  9462. Inter-ideograph justification should apply to hiragana and katakana as well
  9463. https://bugs.webkit.org/show_bug.cgi?id=53464
  9464. Changed the test for expansion opportunities from isCJKIdeograph() to isCJKIdeographOrSymbol().
  9465. * platform/graphics/Font.cpp:
  9466. (WebCore::Font::expansionOpportunityCount):
  9467. * platform/graphics/WidthIterator.cpp:
  9468. (WebCore::WidthIterator::advance):
  9469. * platform/graphics/mac/ComplexTextController.cpp:
  9470. (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
  9471. 2011-01-31 Dimitri Glazkov <dglazkov@chromium.org>
  9472. Reviewed by James Robinson.
  9473. REGRESSION(r76951): Appearance of media controls changed slightly on Qt/Chromium ports
  9474. https://bugs.webkit.org/show_bug.cgi?id=53314
  9475. Fixes media/controls-strict.html on Chromium.
  9476. * css/mediaControlsChromium.css:
  9477. (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
  9478. Added proper box-sizing to avoid differences between strict/quirks mode.
  9479. 2011-01-31 Kent Tamura <tkent@chromium.org>
  9480. Reviewed by Dimitri Glazkov.
  9481. Validation message bubble shouldn't inherit text-security style
  9482. https://bugs.webkit.org/show_bug.cgi?id=53457
  9483. No new tests because the validation message feature depends on timers
  9484. and is enabled only in Chromium port.
  9485. * css/html.css:
  9486. (::-webkit-validation-bubble): Reset -webkit-text-security.
  9487. 2011-01-31 Michael Saboff <msaboff@apple.com>
  9488. Reviewed by Geoffrey Garen.
  9489. Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
  9490. https://bugs.webkit.org/show_bug.cgi?id=53271
  9491. Reapplying this patch again.
  9492. The removal of this patch in <http://trac.webkit.org/changeset/77125>
  9493. as part of https://bugs.webkit.org/show_bug.cgi?id=53418,
  9494. removed the both the first (failing) patch (r76893) and this fixed
  9495. patch (r76969). This patch includes slight changes necessitated by
  9496. r77151.
  9497. Reapplying this patch with the change that the second ASSERT in
  9498. RootObject::removeRuntimeObject was changed to use
  9499. .uncheckedGet() instead of the failing .get(). The object in question
  9500. could be in the process of being GC'ed. The get() call will not return
  9501. such an object while the uncheckedGet() call will return the (unsafe)
  9502. object. This is the behavior we want.
  9503. Precautionary change.
  9504. Changed RootObject to use WeakGCMap instead of HashSet.
  9505. Found will looking for another issue, but can't produce a test case
  9506. that is problematic. THerefore there aren't any new tests.
  9507. * bridge/runtime_root.cpp:
  9508. (JSC::Bindings::RootObject::invalidate):
  9509. (JSC::Bindings::RootObject::addRuntimeObject):
  9510. (JSC::Bindings::RootObject::removeRuntimeObject):
  9511. * bridge/runtime_root.h:
  9512. 2011-01-31 Andreas Kling <kling@webkit.org>
  9513. Unbreak Qt build after r77151.
  9514. * bridge/qt/qt_instance.cpp:
  9515. (JSC::Bindings::QtInstance::removeCachedMethod):
  9516. (JSC::Bindings::QtInstance::markAggregate):
  9517. 2011-01-31 takano takumi <takano@apple.com>
  9518. Reviewed by Dave Hyatt.
  9519. Implement text-combine rendering code
  9520. https://bugs.webkit.org/show_bug.cgi?id=50621
  9521. Test: fast/text/international/text-combine-image-test.html
  9522. * Android.mk: Added RenderCombineText.cpp/h
  9523. * CMakeLists.txt: Added RenderCombineText.cpp/h
  9524. * GNUmakefile.am: Added RenderCombineText.cpp/h
  9525. * WebCore.exp.in:
  9526. * WebCore.gypi: Added RenderCombineText.cpp/h
  9527. * WebCore.pro: Added RenderCombineText.cpp/h
  9528. * WebCore.vcproj/WebCore.vcproj: Added RenderCombineText.cpp/h
  9529. * WebCore.xcodeproj/project.pbxproj: Added RenderCombineText.cpp/h
  9530. * css/CSSFontFaceSource.cpp:
  9531. (WebCore::CSSFontFaceSource::getFontData):
  9532. - Added fontDescription.widthVariant to SimpleFontData creation.
  9533. * css/CSSStyleSelector.cpp:
  9534. (WebCore::CSSStyleSelector::applyProperty):
  9535. - Changed to set "Unique" flag to RenderStyle in case of TextCombine.
  9536. * dom/Text.cpp:
  9537. (WebCore::Text::createRenderer):
  9538. - Changed to create RenderCombineText in case of TextCombine.
  9539. * loader/cache/CachedFont.cpp:
  9540. (WebCore::CachedFont::platformDataFromCustomData):
  9541. - Added FontWidthVariant as an argument for FontPlatformData creation.
  9542. * loader/cache/CachedFont.h:
  9543. - Ditto.
  9544. * platform/graphics/Font.h:
  9545. (WebCore::Font::widthVariant):
  9546. - The accessor to FontWidthVariant member variable.
  9547. * platform/graphics/FontCache.cpp:
  9548. - Made cache to incorporate FontWidthVariant value.
  9549. (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
  9550. (WebCore::FontPlatformDataCacheKey::operator==):
  9551. (WebCore::computeHash):
  9552. (WebCore::FontCache::getCachedFontPlatformData):
  9553. * platform/graphics/FontDescription.h:
  9554. - Add a member variable that holds a width variant - none, half-width, third-width, and quarter-width.
  9555. (WebCore::FontDescription::FontDescription):
  9556. (WebCore::FontDescription::widthVariant):
  9557. (WebCore::FontDescription::setWidthVariant):
  9558. (WebCore::FontDescription::operator==):
  9559. * platform/graphics/FontWidthVariant.h: Added.
  9560. * platform/graphics/cairo/FontCustomPlatformData.h:
  9561. - Changed to carry FontWidthVariant value.
  9562. * platform/graphics/cocoa/FontPlatformData.h:
  9563. - Changed to carry FontWidthVariant value.
  9564. (WebCore::FontPlatformData::FontPlatformData):
  9565. (WebCore::FontPlatformData::widthVariant):
  9566. (WebCore::FontPlatformData::hash):
  9567. (WebCore::FontPlatformData::operator==):
  9568. * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
  9569. (WebCore::FontPlatformData::FontPlatformData):
  9570. - Changed to carry FontWidthVariant value.
  9571. (WebCore::FontPlatformData::operator=):
  9572. - Ditto.
  9573. (WebCore::mapFontWidthVariantToCTFeatureSelector):
  9574. - A function to map a FontWidthVariant value to a CoreText's text spacing feature selector.
  9575. (WebCore::FontPlatformData::ctFont):
  9576. - Changed to create CTFont with text spacing variant based on FontWidthVariant.
  9577. * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
  9578. (WebCore::FontCustomPlatformData::fontPlatformData):
  9579. - Changed to carry FontWidthVariant value.
  9580. * platform/graphics/haiku/FontCustomPlatformData.cpp:
  9581. (WebCore::FontCustomPlatformData::fontPlatformData):
  9582. - Changed to carry FontWidthVariant value.
  9583. * platform/graphics/haiku/FontCustomPlatformData.h:
  9584. * platform/graphics/mac/FontCacheMac.mm:
  9585. (WebCore::FontCache::createFontPlatformData):
  9586. - Changed to carry FontWidthVariant value.
  9587. * platform/graphics/mac/FontCustomPlatformData.cpp:
  9588. (WebCore::FontCustomPlatformData::fontPlatformData):
  9589. - Changed to carry FontWidthVariant value.
  9590. * platform/graphics/mac/FontCustomPlatformData.h:
  9591. - Ditto.
  9592. * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
  9593. (WebCore::shouldUseCoreText):
  9594. - Changed to skip CT path when width variant is specified.
  9595. * platform/graphics/pango/FontCustomPlatformDataPango.cpp:
  9596. (WebCore::FontCustomPlatformData::fontPlatformData):
  9597. - Ditto.
  9598. * platform/graphics/qt/FontCustomPlatformData.h:
  9599. - Ditto.
  9600. * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
  9601. (WebCore::FontCustomPlatformData::fontPlatformData):
  9602. - Ditto.
  9603. * platform/graphics/skia/FontCustomPlatformData.cpp:
  9604. (WebCore::FontCustomPlatformData::fontPlatformData):
  9605. - Ditto.
  9606. * platform/graphics/skia/FontCustomPlatformData.h:
  9607. - Ditto.
  9608. * platform/graphics/win/FontCustomPlatformData.cpp:
  9609. (WebCore::FontCustomPlatformData::fontPlatformData):
  9610. - Ditto.
  9611. * platform/graphics/win/FontCustomPlatformData.h:
  9612. - Ditto.
  9613. * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
  9614. - Ditto.
  9615. (WebCore::FontCustomPlatformData::fontPlatformData):
  9616. - Ditto.
  9617. * platform/graphics/win/FontCustomPlatformDataCairo.h:
  9618. - Ditto.
  9619. * platform/graphics/wince/FontCustomPlatformData.cpp:
  9620. (WebCore::FontCustomPlatformData::fontPlatformData):
  9621. - Ditto.
  9622. * platform/graphics/wince/FontCustomPlatformData.h:
  9623. - Ditto.
  9624. * platform/graphics/wx/FontCustomPlatformData.cpp:
  9625. (WebCore::FontCustomPlatformData::fontPlatformData):
  9626. - Ditto.
  9627. * platform/graphics/wx/FontCustomPlatformData.h:
  9628. - Ditto.
  9629. * rendering/InlineTextBox.cpp:
  9630. (WebCore::InlineTextBox::paint):
  9631. - In case of RenderCombineText, we don't rotate text even in vertical writing. Also, we render original text
  9632. instead of text returned from text().
  9633. * rendering/RenderBlock.cpp:
  9634. (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
  9635. - Made to call RenderCombinedText's prepareTextCombine() here.
  9636. * rendering/RenderBlockLineLayout.cpp:
  9637. (WebCore::textWidth):
  9638. - Made to always use the render object's width() in case of TextCombine.
  9639. (WebCore::RenderBlock::findNextLineBreak):
  9640. - Made to call RenderCombinedText's prepareTextCombine() here.
  9641. * rendering/RenderCombineText.cpp: Added. A subclass of RenderText.
  9642. (WebCore::RenderCombineText::RenderCombineText):
  9643. (WebCore::RenderCombineText::styleDidChange):
  9644. - Clear the flag that indicated the font has been prepared for combining. The font will be reinitialized in
  9645. the next call of RenderBlock::findNextLineBreak().
  9646. (WebCore::RenderCombineText::setTextInternal):
  9647. - Ditto.
  9648. (WebCore::RenderCombineText::width):
  9649. - Returns 1-em width in case of font combine.
  9650. (WebCore::RenderCombineText::adjustTextOrigin):
  9651. - Adjust drawing origin point in case of font combine.
  9652. (WebCore::RenderCombineText::charactersToRender):
  9653. - Return original text instead of current text in case of font combine.
  9654. (WebCore::RenderCombineText::combineText):
  9655. - This function tries to pack passed text with; 1) the current font as is, 2) the font created
  9656. from the descriptor with half-width variant specified, 3) the font with third-width variant, 4) the font
  9657. with quarter-width variant.
  9658. - If a suitable font successfully found, replace the current font with the new font. If no appropriate font found,
  9659. we give up text-combine as the CSS spec describes.
  9660. - If a new font found, we replace the text with 0xFFFC. This is needed for a combined text block to be able to
  9661. behave like a single character against text decorations.
  9662. * rendering/RenderCombineText.h: Added.
  9663. (WebCore::RenderCombineText::isCombined):
  9664. (WebCore::RenderCombineText::combinedTextWidth):
  9665. - Returns 1-em width in case of font combine.
  9666. (WebCore::RenderCombineText::renderName):
  9667. (WebCore::toRenderCombineText):
  9668. * rendering/RenderText.cpp:
  9669. (WebCore::RenderText::widthFromCache):
  9670. - Made to call RenderCombineText's combinedTextWidth when the text is combined.
  9671. * rendering/RenderingAllInOne.cpp: Added RenderCombineText.cpp
  9672. * rendering/style/RenderStyle.h:
  9673. (WebCore::InheritedFlags::hasTextCombine):
  9674. - Added for a quick test of TextCombine.
  9675. 2011-01-31 Oliver Hunt <oliver@apple.com>
  9676. Convert markstack to a slot visitor API
  9677. https://bugs.webkit.org/show_bug.cgi?id=53219
  9678. rolling r77098, r77099, r77100, r77109, and
  9679. r77111 back in, along with a few more Qt fix attempts.
  9680. * ForwardingHeaders/runtime/WriteBarrier.h: Added.
  9681. * WebCore.exp.in:
  9682. * bindings/js/DOMWrapperWorld.h:
  9683. (WebCore::DOMWrapperWorld::globalData):
  9684. * bindings/js/JSAudioConstructor.cpp:
  9685. (WebCore::JSAudioConstructor::JSAudioConstructor):
  9686. * bindings/js/JSDOMBinding.cpp:
  9687. (WebCore::markDOMNodesForDocument):
  9688. (WebCore::markDOMObjectWrapper):
  9689. (WebCore::markDOMNodeWrapper):
  9690. * bindings/js/JSDOMGlobalObject.cpp:
  9691. (WebCore::JSDOMGlobalObject::markChildren):
  9692. (WebCore::JSDOMGlobalObject::setInjectedScript):
  9693. (WebCore::JSDOMGlobalObject::injectedScript):
  9694. * bindings/js/JSDOMGlobalObject.h:
  9695. (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
  9696. (WebCore::getDOMConstructor):
  9697. * bindings/js/JSDOMWindowCustom.cpp:
  9698. (WebCore::JSDOMWindow::setLocation):
  9699. (WebCore::DialogHandler::dialogCreated):
  9700. * bindings/js/JSDOMWindowShell.cpp:
  9701. (WebCore::JSDOMWindowShell::JSDOMWindowShell):
  9702. (WebCore::JSDOMWindowShell::setWindow):
  9703. (WebCore::JSDOMWindowShell::markChildren):
  9704. (WebCore::JSDOMWindowShell::unwrappedObject):
  9705. * bindings/js/JSDOMWindowShell.h:
  9706. (WebCore::JSDOMWindowShell::window):
  9707. (WebCore::JSDOMWindowShell::setWindow):
  9708. * bindings/js/JSDeviceMotionEventCustom.cpp:
  9709. (WebCore::createAccelerationObject):
  9710. (WebCore::createRotationRateObject):
  9711. * bindings/js/JSEventListener.cpp:
  9712. (WebCore::JSEventListener::JSEventListener):
  9713. (WebCore::JSEventListener::markJSFunction):
  9714. * bindings/js/JSEventListener.h:
  9715. (WebCore::JSEventListener::jsFunction):
  9716. * bindings/js/JSHTMLDocumentCustom.cpp:
  9717. (WebCore::JSHTMLDocument::setAll):
  9718. * bindings/js/JSImageConstructor.cpp:
  9719. (WebCore::JSImageConstructor::JSImageConstructor):
  9720. * bindings/js/JSImageDataCustom.cpp:
  9721. (WebCore::toJS):
  9722. * bindings/js/JSJavaScriptCallFrameCustom.cpp:
  9723. (WebCore::JSJavaScriptCallFrame::scopeChain):
  9724. (WebCore::JSJavaScriptCallFrame::scopeType):
  9725. * bindings/js/JSNodeFilterCondition.cpp:
  9726. (WebCore::JSNodeFilterCondition::markAggregate):
  9727. (WebCore::JSNodeFilterCondition::acceptNode):
  9728. * bindings/js/JSNodeFilterCondition.h:
  9729. * bindings/js/JSNodeFilterCustom.cpp:
  9730. * bindings/js/JSOptionConstructor.cpp:
  9731. (WebCore::JSOptionConstructor::JSOptionConstructor):
  9732. * bindings/js/JSSQLResultSetRowListCustom.cpp:
  9733. (WebCore::JSSQLResultSetRowList::item):
  9734. * bindings/js/ScriptCachedFrameData.cpp:
  9735. (WebCore::ScriptCachedFrameData::restore):
  9736. * bindings/js/ScriptObject.cpp:
  9737. (WebCore::ScriptGlobalObject::set):
  9738. * bindings/js/SerializedScriptValue.cpp:
  9739. (WebCore::CloneDeserializer::putProperty):
  9740. * bindings/scripts/CodeGeneratorJS.pm:
  9741. * bridge/qt/qt_class.cpp:
  9742. (JSC::Bindings::QtClass::fallbackObject):
  9743. * bridge/qt/qt_instance.cpp:
  9744. (JSC::Bindings::QtInstance::QtInstance):
  9745. (JSC::Bindings::QtInstance::removeCachedMethod):
  9746. (JSC::Bindings::QtInstance::markAggregate):
  9747. * bridge/qt/qt_instance.h:
  9748. * bridge/qt/qt_runtime.cpp:
  9749. (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
  9750. (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
  9751. (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
  9752. (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
  9753. * bridge/qt/qt_runtime.h:
  9754. * dom/Document.h:
  9755. 2011-01-31 Dan Winship <danw@gnome.org>
  9756. Reviewed by Gustavo Noronha Silva.
  9757. wss (websockets ssl) support for gtk via new gio TLS support
  9758. https://bugs.webkit.org/show_bug.cgi?id=50344
  9759. Update to use GPollableOutputStream and GTlsConnection to
  9760. implement wss URLs
  9761. * platform/network/soup/SocketStreamHandle.h:
  9762. * platform/network/soup/SocketStreamHandleSoup.cpp:
  9763. (WebCore::SocketStreamHandle::SocketStreamHandle):
  9764. (WebCore::SocketStreamHandle::connected):
  9765. (WebCore::SocketStreamHandle::platformSend):
  9766. (WebCore::SocketStreamHandle::beginWaitingForSocketWritability):
  9767. (WebCore::writeReadyCallback):
  9768. 2011-01-31 Abhishek Arya <inferno@chromium.org>
  9769. Reviewed by Dimitri Glazkov.
  9770. Check the textarea node still exists in document before casting
  9771. it to HTMLTextAreaElement.
  9772. https://bugs.webkit.org/show_bug.cgi?id=53429
  9773. Test: fast/forms/textarea-node-removed-from-document-crash.html
  9774. * rendering/RenderTextControlMultiLine.cpp:
  9775. (WebCore::RenderTextControlMultiLine::~RenderTextControlMultiLine):
  9776. 2011-01-27 Abhishek Arya <inferno@chromium.org>
  9777. Reviewed by Dave Hyatt.
  9778. If beforeChild is wrapped in an anonymous table section, we need to
  9779. go the parent to find it and use it before adding childs to table.
  9780. https://bugs.webkit.org/show_bug.cgi?id=53276
  9781. We need to make sure that beforeChild's parent is "this" before calling
  9782. RenderBox::addChild. The previous condition in while is too restrictive
  9783. and fails to calculate the right beforeChild value when its display
  9784. style is table caption.
  9785. Test: fast/table/before-child-non-table-section-add-table-crash.html
  9786. * rendering/RenderTable.cpp:
  9787. (WebCore::RenderTable::addChild):
  9788. 2011-01-31 Shane Stephens <shanestephens@google.com>
  9789. Reviewed by Simon Fraser.
  9790. AffineTransform::translateRight incorrectly computes a translateLeft.
  9791. https://bugs.webkit.org/show_bug.cgi?id=52551
  9792. Removed translateRight and converted all uses to perform standard
  9793. matrix multiplication.
  9794. No new tests because patch doesn't modify functionality.
  9795. * platform/graphics/transforms/AffineTransform.cpp:
  9796. * platform/graphics/transforms/AffineTransform.h:
  9797. (WebCore::AffineTransform::translation):
  9798. * rendering/svg/RenderSVGResourceMarker.cpp:
  9799. (WebCore::RenderSVGResourceMarker::localToParentTransform):
  9800. * rendering/svg/RenderSVGRoot.cpp:
  9801. (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
  9802. (WebCore::RenderSVGRoot::localToParentTransform):
  9803. * rendering/svg/RenderSVGViewportContainer.cpp:
  9804. (WebCore::RenderSVGViewportContainer::localToParentTransform):
  9805. * rendering/svg/SVGTextLayoutEngine.cpp:
  9806. (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
  9807. 2011-01-31 Mario Sanchez Prada <msanchez@igalia.com>
  9808. Reviewed by Martin Robinson.
  9809. [Gtk] atk_text_set_caret_offset returns True even when it is unsuccessful
  9810. https://bugs.webkit.org/show_bug.cgi?id=53389
  9811. Return FALSE when not able to set the caret at the specified offset.
  9812. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
  9813. (webkit_accessible_text_set_caret_offset): Return FALSE when the
  9814. range created is NULL and adjust offset to account for list markers.
  9815. 2011-01-28 Pavel Feldman <pfeldman@chromium.org>
  9816. Reviewed by Yury Semikhatsky.
  9817. Web Inspector: copy HAR to clipboard instead of saving blob on export.
  9818. https://bugs.webkit.org/show_bug.cgi?id=53328
  9819. * inspector/front-end/NetworkPanel.js:
  9820. (WebInspector.NetworkPanel.prototype._exportAll):
  9821. (WebInspector.NetworkPanel.prototype._exportResource):
  9822. 2011-01-30 Pavel Feldman <pfeldman@chromium.org>
  9823. Reviewed by Timothy Hatcher.
  9824. Web Inspector: speed up network panel rendering.
  9825. https://bugs.webkit.org/show_bug.cgi?id=53397
  9826. * inspector/front-end/DataGrid.js:
  9827. (WebInspector.DataGrid.prototype.get scrollContainer):
  9828. * inspector/front-end/NetworkPanel.js:
  9829. (WebInspector.NetworkPanel.prototype.elementsToRestoreScrollPositionsFor):
  9830. (WebInspector.NetworkPanel.prototype._positionSummaryBar):
  9831. (WebInspector.NetworkPanel.prototype._createTable):
  9832. (WebInspector.NetworkPanel.prototype._exportResource):
  9833. (WebInspector.NetworkPanel.prototype._onScroll):
  9834. * inspector/front-end/networkPanel.css:
  9835. (.network-sidebar .data-grid.small tr.offscreen):
  9836. (.network-sidebar .data-grid tr.offscreen):
  9837. (.network-sidebar .data-grid tr.offscreen td):
  9838. 2011-01-31 Peter Varga <pvarga@webkit.org>
  9839. Reviewed by Andreas Kling.
  9840. Remove wrec from WebCore
  9841. https://bugs.webkit.org/show_bug.cgi?id=53298
  9842. No new tests needed.
  9843. * Android.jscbindings.mk:
  9844. * ForwardingHeaders/wrec/WREC.h: Removed.
  9845. * WebCore.vcproj/WebCore.vcproj:
  9846. * WebCore.vcproj/copyForwardingHeaders.cmd:
  9847. 2011-01-31 Sheriff Bot <webkit.review.bot@gmail.com>
  9848. Unreviewed, rolling out r76969.
  9849. http://trac.webkit.org/changeset/76969
  9850. https://bugs.webkit.org/show_bug.cgi?id=53418
  9851. "It is causing crashes in GTK+ and Leopard bots" (Requested by
  9852. alexg__ on #webkit).
  9853. * bridge/runtime_root.cpp:
  9854. (JSC::Bindings::RootObject::invalidate):
  9855. (JSC::Bindings::RootObject::addRuntimeObject):
  9856. (JSC::Bindings::RootObject::removeRuntimeObject):
  9857. * bridge/runtime_root.h:
  9858. 2011-01-31 Antti Koivisto <antti@apple.com>
  9859. Not reviewed.
  9860. Spelling.
  9861. * css/CSSSelectorList.h:
  9862. (WebCore::CSSSelectorList::next):
  9863. 2011-01-31 Yury Semikhatsky <yurys@chromium.org>
  9864. Unreviewed. Fix Chromium compilation on Linux.
  9865. * platform/graphics/ShadowBlur.cpp: added PLATFORM(CHROMIUM) guard
  9866. * platform/graphics/ShadowBlur.h: added missing ColorSpace.h header include
  9867. 2011-01-31 Yury Semikhatsky <yurys@chromium.org>
  9868. Unreviewed. Fix Chromium compilation on Mac broken by r77101.
  9869. * WebCore.gypi: add ShadowBlur.{h,cpp} to the gypi file.
  9870. 2011-01-31 Mikhail Naganov <mnaganov@chromium.org>
  9871. Reviewed by Yury Semikhatsky.
  9872. WebInspector: Change button title from "Clear CPU profiles" to "Clear all profiles".
  9873. https://bugs.webkit.org/show_bug.cgi?id=53309
  9874. * English.lproj/localizedStrings.js:
  9875. * inspector/front-end/ProfilesPanel.js:
  9876. (WebInspector.ProfilesPanel):
  9877. 2011-01-31 Carlos Garcia Campos <cgarcia@igalia.com>
  9878. Unreviewed, fix the build with current GTK+ 3.x.
  9879. * plugins/gtk/gtk2xtbin.c:
  9880. * plugins/gtk/gtk2xtbin.h:
  9881. 2011-01-30 Kenichi Ishibashi <bashi@google.com>
  9882. Reviewed by Kent Tamura.
  9883. Dangling form associated elements should not be registered on the document
  9884. https://bugs.webkit.org/show_bug.cgi?id=53223
  9885. Adds insertedIntoDocument() and remvoedFromDocument() to
  9886. FormAssociatedElement class to register the element on the document
  9887. if and only if it actually inserted into (removed from) the document.
  9888. Test: fast/forms/dangling-form-element-crash.html
  9889. * html/FormAssociatedElement.cpp:
  9890. (WebCore::FormAssociatedElement::insertedIntoDocument): Added.
  9891. (WebCore::FormAssociatedElement::removedFromDocument): Ditto.
  9892. (WebCore::FormAssociatedElement::insertedIntoTree): Don't register
  9893. the element to a document.
  9894. (WebCore::FormAssociatedElement::removedFromTree): Don't unregister
  9895. the element from a document.
  9896. * html/FormAssociatedElement.h:
  9897. * html/HTMLFormControlElement.cpp:
  9898. (WebCore::HTMLFormControlElement::insertedIntoDocument): Added.
  9899. (WebCore::HTMLFormControlElement::removedFromDocument): Ditto.
  9900. * html/HTMLFormControlElement.h:
  9901. * html/HTMLObjectElement.cpp:
  9902. (WebCore::HTMLObjectElement::insertedIntoDocument): Calls
  9903. FormAssociatedElement::insertedIntoDocument().
  9904. (WebCore::HTMLObjectElement::removedFromDocument): Calls
  9905. FormAssociatedElement::removedFromDocument().
  9906. 2011-01-30 Csaba Osztrogonác <ossy@webkit.org>
  9907. Unreviewed, rolling out r77098, r77099, r77100, r77109, and
  9908. r77111.
  9909. http://trac.webkit.org/changeset/77098
  9910. http://trac.webkit.org/changeset/77099
  9911. http://trac.webkit.org/changeset/77100
  9912. http://trac.webkit.org/changeset/77109
  9913. http://trac.webkit.org/changeset/77111
  9914. https://bugs.webkit.org/show_bug.cgi?id=53219
  9915. Qt build is broken
  9916. * ForwardingHeaders/runtime/WriteBarrier.h: Removed.
  9917. * WebCore.exp.in:
  9918. * bindings/js/DOMWrapperWorld.h:
  9919. * bindings/js/JSAudioConstructor.cpp:
  9920. (WebCore::JSAudioConstructor::JSAudioConstructor):
  9921. * bindings/js/JSDOMBinding.cpp:
  9922. (WebCore::markDOMNodesForDocument):
  9923. (WebCore::markDOMObjectWrapper):
  9924. (WebCore::markDOMNodeWrapper):
  9925. * bindings/js/JSDOMGlobalObject.cpp:
  9926. (WebCore::JSDOMGlobalObject::markChildren):
  9927. (WebCore::JSDOMGlobalObject::setInjectedScript):
  9928. (WebCore::JSDOMGlobalObject::injectedScript):
  9929. * bindings/js/JSDOMGlobalObject.h:
  9930. (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
  9931. (WebCore::getDOMConstructor):
  9932. * bindings/js/JSDOMWindowCustom.cpp:
  9933. (WebCore::JSDOMWindow::setLocation):
  9934. (WebCore::DialogHandler::dialogCreated):
  9935. * bindings/js/JSDOMWindowShell.cpp:
  9936. (WebCore::JSDOMWindowShell::JSDOMWindowShell):
  9937. (WebCore::JSDOMWindowShell::setWindow):
  9938. (WebCore::JSDOMWindowShell::markChildren):
  9939. (WebCore::JSDOMWindowShell::unwrappedObject):
  9940. * bindings/js/JSDOMWindowShell.h:
  9941. (WebCore::JSDOMWindowShell::window):
  9942. (WebCore::JSDOMWindowShell::setWindow):
  9943. * bindings/js/JSDeviceMotionEventCustom.cpp:
  9944. (WebCore::createAccelerationObject):
  9945. (WebCore::createRotationRateObject):
  9946. * bindings/js/JSEventListener.cpp:
  9947. (WebCore::JSEventListener::JSEventListener):
  9948. (WebCore::JSEventListener::markJSFunction):
  9949. * bindings/js/JSEventListener.h:
  9950. (WebCore::JSEventListener::jsFunction):
  9951. * bindings/js/JSHTMLDocumentCustom.cpp:
  9952. (WebCore::JSHTMLDocument::setAll):
  9953. * bindings/js/JSImageConstructor.cpp:
  9954. (WebCore::JSImageConstructor::JSImageConstructor):
  9955. * bindings/js/JSImageDataCustom.cpp:
  9956. (WebCore::toJS):
  9957. * bindings/js/JSJavaScriptCallFrameCustom.cpp:
  9958. (WebCore::JSJavaScriptCallFrame::scopeChain):
  9959. (WebCore::JSJavaScriptCallFrame::scopeType):
  9960. * bindings/js/JSNodeFilterCondition.cpp:
  9961. (WebCore::JSNodeFilterCondition::markAggregate):
  9962. (WebCore::JSNodeFilterCondition::acceptNode):
  9963. * bindings/js/JSNodeFilterCondition.h:
  9964. * bindings/js/JSNodeFilterCustom.cpp:
  9965. * bindings/js/JSOptionConstructor.cpp:
  9966. (WebCore::JSOptionConstructor::JSOptionConstructor):
  9967. * bindings/js/JSSQLResultSetRowListCustom.cpp:
  9968. (WebCore::JSSQLResultSetRowList::item):
  9969. * bindings/js/ScriptCachedFrameData.cpp:
  9970. (WebCore::ScriptCachedFrameData::restore):
  9971. * bindings/js/ScriptObject.cpp:
  9972. (WebCore::ScriptGlobalObject::set):
  9973. * bindings/js/SerializedScriptValue.cpp:
  9974. (WebCore::CloneDeserializer::putProperty):
  9975. * bindings/scripts/CodeGeneratorJS.pm:
  9976. * bridge/qt/qt_instance.cpp:
  9977. (JSC::Bindings::QtInstance::QtInstance):
  9978. (JSC::Bindings::QtInstance::removeCachedMethod):
  9979. (JSC::Bindings::QtInstance::markAggregate):
  9980. * bridge/qt/qt_instance.h:
  9981. * bridge/qt/qt_runtime.cpp:
  9982. (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
  9983. (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
  9984. (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
  9985. (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
  9986. * bridge/qt/qt_runtime.h:
  9987. * bridge/runtime_root.cpp:
  9988. (JSC::Bindings::RootObject::invalidate):
  9989. * bridge/runtime_root.h:
  9990. * dom/Document.h:
  9991. 2011-01-30 Sheriff Bot <webkit.review.bot@gmail.com>
  9992. Unreviewed, rolling out r77107.
  9993. http://trac.webkit.org/changeset/77107
  9994. https://bugs.webkit.org/show_bug.cgi?id=53412
  9995. Caused 5 new form-related test crashes (Requested by smfr on
  9996. #webkit).
  9997. * css/CSSSelector.cpp:
  9998. (WebCore::CSSSelector::pseudoId):
  9999. (WebCore::nameToPseudoTypeMap):
  10000. (WebCore::CSSSelector::extractPseudoType):
  10001. * css/CSSSelector.h:
  10002. * html/HTMLProgressElement.cpp:
  10003. (WebCore::HTMLProgressElement::parseMappedAttribute):
  10004. (WebCore::HTMLProgressElement::attach):
  10005. * html/HTMLProgressElement.h:
  10006. * rendering/RenderProgress.cpp:
  10007. (WebCore::RenderProgress::~RenderProgress):
  10008. (WebCore::RenderProgress::updateFromElement):
  10009. (WebCore::RenderProgress::layoutParts):
  10010. (WebCore::RenderProgress::shouldHaveParts):
  10011. * rendering/RenderProgress.h:
  10012. * rendering/style/RenderStyleConstants.h:
  10013. 2011-01-30 Simon Fraser <simon.fraser@apple.com>
  10014. Reviewed by Sam Weinig.
  10015. Enhance ShadowBlur to render inset box shadows
  10016. https://bugs.webkit.org/show_bug.cgi?id=51567
  10017. Use ShadowBlur for inset box-shadows with CG. It
  10018. currently lacks a tiled version, but is still much
  10019. faster than CG shadows.
  10020. Test: fast/box-shadow/inset-box-shadow-radius.html
  10021. * platform/graphics/ShadowBlur.cpp:
  10022. * platform/graphics/ShadowBlur.h: New method for inset
  10023. shadows.
  10024. (WebCore::ShadowBlur::drawInsetShadow):
  10025. * platform/graphics/GraphicsContext.cpp: #ifdef out
  10026. fillRectWithRoundedHole() for CG.
  10027. * platform/graphics/cg/GraphicsContextCG.cpp:
  10028. (WebCore::GraphicsContext::fillRectWithRoundedHole): If there's
  10029. a shadow with a radius > 0, use ShadowBlur.
  10030. 2011-01-28 Kenneth Russell <kbr@google.com>
  10031. Reviewed by Chris Marrin.
  10032. WebGL shows PNG Textures with indexed colors too dark
  10033. https://bugs.webkit.org/show_bug.cgi?id=47477
  10034. Properly handle indexed PNG images by re-rendering them as RGBA
  10035. images before upload. Verified with this layout test and the test
  10036. cases from bugs 47477 and 53269.
  10037. * platform/graphics/cg/GraphicsContext3DCG.cpp:
  10038. (WebCore::GraphicsContext3D::getImageData):
  10039. 2011-01-27 MORITA Hajime <morrita@google.com>
  10040. Reviewed by Dimitri Glazkov.
  10041. Convert <progress> shadow DOM to a DOM-based shadow.
  10042. https://bugs.webkit.org/show_bug.cgi?id=50660
  10043. * Removed RenderProgress::m_valuePart, moved the shadow node
  10044. to the shadow root of HTMLProgressElement.
  10045. * Removed hard-coded pseudo ID for -webkit-progress-bar-value.
  10046. ProgressBarValueElement is defined only for overriding
  10047. shadowPseudoId().
  10048. No new tests. No behavioral change.
  10049. * css/CSSSelector.cpp:
  10050. (WebCore::CSSSelector::pseudoId):
  10051. (WebCore::nameToPseudoTypeMap):
  10052. (WebCore::CSSSelector::extractPseudoType):
  10053. * css/CSSSelector.h:
  10054. * html/HTMLProgressElement.cpp:
  10055. (WebCore::ProgressBarValueElement::ProgressBarValueElement):
  10056. (WebCore::ProgressBarValueElement::shadowPseudoId):
  10057. (WebCore::ProgressBarValueElement::create):
  10058. (WebCore::HTMLProgressElement::parseMappedAttribute):
  10059. (WebCore::HTMLProgressElement::attach):
  10060. (WebCore::HTMLProgressElement::valuePart):
  10061. (WebCore::HTMLProgressElement::didElementStateChange):
  10062. (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
  10063. * html/HTMLProgressElement.h:
  10064. * rendering/RenderProgress.cpp:
  10065. (WebCore::RenderProgress::~RenderProgress):
  10066. (WebCore::RenderProgress::updateFromElement):
  10067. (WebCore::RenderProgress::layoutParts):
  10068. (WebCore::RenderProgress::shouldHaveParts):
  10069. (WebCore::RenderProgress::valuePart):
  10070. * rendering/RenderProgress.h:
  10071. * rendering/style/RenderStyleConstants.h:
  10072. 2011-01-30 Simon Fraser <simon.fraser@apple.com>
  10073. Reviewed by Ariya Hidayat.
  10074. Enhance ShadowBlur to render inset box shadows; Part 1.
  10075. https://bugs.webkit.org/show_bug.cgi?id=51567
  10076. Add a new method to GraphicsContext to render a rect with a rounded hole,
  10077. for use by inset box-shadow code. Knowledge that we're rendering a rounded
  10078. hole will enable ShadowBlur to be used here in future.
  10079. * platform/graphics/GraphicsContext.cpp:
  10080. (WebCore::GraphicsContext::fillRectWithRoundedHole):
  10081. * platform/graphics/GraphicsContext.h:
  10082. * rendering/RenderBoxModelObject.cpp:
  10083. (WebCore::RenderBoxModelObject::paintBoxShadow):
  10084. 2011-01-23 MORITA Hajime <morrita@google.com>
  10085. Reviewed by Eric Seidel.
  10086. REGRESSION: Inset shadow with too large border radius misses rounded corner.
  10087. https://bugs.webkit.org/show_bug.cgi?id=52800
  10088. The refactoring on r76083 broke the invariant between border
  10089. IntRect and its radii because RoundedIntRect::setRect() is called
  10090. after getRoundedInnerBorderWithBorderWidths(), which enforces the
  10091. invariant. Th rounded-rect clipping code verifies the invariant,
  10092. and discard the invalid radii, that results broken paintings.
  10093. This change moved setRect() before
  10094. getRoundedInnerBorderWithBorderWidths() not to modify the valid
  10095. RoundedIntRect value.
  10096. Test: fast/box-shadow/inset-with-extraordinary-radii-and-border.html
  10097. * rendering/RenderBoxModelObject.cpp:
  10098. (WebCore::RenderBoxModelObject::paintBoxShadow):
  10099. 2011-01-30 Simon Fraser <simon.fraser@apple.com>
  10100. Attempt to fix Windows build by adding ShadowBlur.cpp/h to the
  10101. vcproj.
  10102. * WebCore.vcproj/WebCore.vcproj:
  10103. 2011-01-30 Simon Fraser <simon.fraser@apple.com>
  10104. Reviewed by Dan Bernstein.
  10105. -webkit-box-shadow causes awful scroll/resize/redraw performance
  10106. https://bugs.webkit.org/show_bug.cgi?id=22102
  10107. Use ShadowBlur for CG, whe rendering shadows on rects and
  10108. rounded rects outside of canvas.
  10109. CG shadows with a radius of more than 8px do not render
  10110. correctly. We preserve this incorrect rendering by compensating
  10111. for it when rending -webkit-box-shadow. Calls that should use
  10112. this deprecated radius behavior now use setLegacyShadow().
  10113. Test: fast/box-shadow/box-shadow-transformed.html
  10114. * html/canvas/CanvasRenderingContext2D.cpp: Use setLegacyShadow()
  10115. for canvas, to indicate that it should use the deprecated radius
  10116. behavior.
  10117. (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault): Ditto.
  10118. (WebCore::CanvasRenderingContext2D::setShadow): Ditto.
  10119. (WebCore::CanvasRenderingContext2D::applyShadow): Ditto.
  10120. * platform/graphics/GraphicsContext.cpp:
  10121. (WebCore::GraphicsContext::setLegacyShadow): Set the m_state.shadowsUseLegacyRadius bit.
  10122. * platform/graphics/GraphicsContext.h:
  10123. (WebCore::GraphicsContextState::GraphicsContextState): Add a
  10124. shadowsUseLegacyRadius bit to the state.
  10125. * platform/graphics/cg/GraphicsContextCG.cpp:
  10126. (WebCore::radiusToLegacyRadius): Map from the actual radius to one
  10127. that approximates CG behavior.
  10128. (WebCore::hasBlurredShadow): Helper that returns true if we have a shadow
  10129. with a non-zero blur radius.
  10130. (WebCore::GraphicsContext::fillRect): Use ShadowBlur if not canvas.
  10131. (WebCore::GraphicsContext::fillRoundedRect): Ditto.
  10132. (WebCore::GraphicsContext::setPlatformShadow): Comment.
  10133. * rendering/RenderBoxModelObject.cpp:
  10134. (WebCore::RenderBoxModelObject::paintBoxShadow): Call setLegacyShadow()
  10135. for -webkit-box-shadow.
  10136. * platform/graphics/ShadowBlur.cpp:
  10137. (WebCore::ShadowBlur::calculateLayerBoundingRect): Fix some pixel crack issues
  10138. by rounding up the blur radius.
  10139. (WebCore::ShadowBlur::drawRectShadow): Ditto
  10140. (WebCore::ShadowBlur::drawRectShadowWithTiling): Ditto.
  10141. 2011-01-30 Oliver Hunt <oliver@apple.com>
  10142. Try to fix Qt build (again).
  10143. * bridge/qt/qt_runtime.cpp:
  10144. (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
  10145. (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
  10146. 2011-01-30 Oliver Hunt <oliver@apple.com>
  10147. Try to fix Qt build.
  10148. * bridge/qt/qt_instance.cpp:
  10149. (JSC::Bindings::QtInstance::QtInstance):
  10150. (JSC::Bindings::QtInstance::removeCachedMethod):
  10151. (JSC::Bindings::QtInstance::markAggregate):
  10152. * bridge/qt/qt_instance.h:
  10153. 2011-01-30 Oliver Hunt <oliver@apple.com>
  10154. Convert markstack to a slot visitor API
  10155. https://bugs.webkit.org/show_bug.cgi?id=53219
  10156. rolling r77006 and r77020 back in.
  10157. * ForwardingHeaders/runtime/WriteBarrier.h: Added.
  10158. * WebCore.exp.in:
  10159. * bindings/js/DOMWrapperWorld.h:
  10160. (WebCore::DOMWrapperWorld::globalData):
  10161. * bindings/js/JSAudioConstructor.cpp:
  10162. (WebCore::JSAudioConstructor::JSAudioConstructor):
  10163. * bindings/js/JSDOMBinding.cpp:
  10164. (WebCore::markDOMNodesForDocument):
  10165. (WebCore::markDOMObjectWrapper):
  10166. (WebCore::markDOMNodeWrapper):
  10167. * bindings/js/JSDOMGlobalObject.cpp:
  10168. (WebCore::JSDOMGlobalObject::markChildren):
  10169. (WebCore::JSDOMGlobalObject::setInjectedScript):
  10170. (WebCore::JSDOMGlobalObject::injectedScript):
  10171. * bindings/js/JSDOMGlobalObject.h:
  10172. (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
  10173. (WebCore::getDOMConstructor):
  10174. * bindings/js/JSDOMWindowCustom.cpp:
  10175. (WebCore::JSDOMWindow::setLocation):
  10176. (WebCore::DialogHandler::dialogCreated):
  10177. * bindings/js/JSDOMWindowShell.cpp:
  10178. (WebCore::JSDOMWindowShell::JSDOMWindowShell):
  10179. (WebCore::JSDOMWindowShell::setWindow):
  10180. (WebCore::JSDOMWindowShell::markChildren):
  10181. (WebCore::JSDOMWindowShell::unwrappedObject):
  10182. * bindings/js/JSDOMWindowShell.h:
  10183. (WebCore::JSDOMWindowShell::window):
  10184. (WebCore::JSDOMWindowShell::setWindow):
  10185. * bindings/js/JSDeviceMotionEventCustom.cpp:
  10186. (WebCore::createAccelerationObject):
  10187. (WebCore::createRotationRateObject):
  10188. * bindings/js/JSEventListener.cpp:
  10189. (WebCore::JSEventListener::JSEventListener):
  10190. (WebCore::JSEventListener::markJSFunction):
  10191. * bindings/js/JSEventListener.h:
  10192. (WebCore::JSEventListener::jsFunction):
  10193. * bindings/js/JSHTMLDocumentCustom.cpp:
  10194. (WebCore::JSHTMLDocument::setAll):
  10195. * bindings/js/JSImageConstructor.cpp:
  10196. (WebCore::JSImageConstructor::JSImageConstructor):
  10197. * bindings/js/JSImageDataCustom.cpp:
  10198. (WebCore::toJS):
  10199. * bindings/js/JSJavaScriptCallFrameCustom.cpp:
  10200. (WebCore::JSJavaScriptCallFrame::scopeChain):
  10201. (WebCore::JSJavaScriptCallFrame::scopeType):
  10202. * bindings/js/JSNodeFilterCondition.cpp:
  10203. (WebCore::JSNodeFilterCondition::markAggregate):
  10204. (WebCore::JSNodeFilterCondition::acceptNode):
  10205. * bindings/js/JSNodeFilterCondition.h:
  10206. * bindings/js/JSNodeFilterCustom.cpp:
  10207. * bindings/js/JSOptionConstructor.cpp:
  10208. (WebCore::JSOptionConstructor::JSOptionConstructor):
  10209. * bindings/js/JSSQLResultSetRowListCustom.cpp:
  10210. (WebCore::JSSQLResultSetRowList::item):
  10211. * bindings/js/ScriptCachedFrameData.cpp:
  10212. (WebCore::ScriptCachedFrameData::restore):
  10213. * bindings/js/ScriptObject.cpp:
  10214. (WebCore::ScriptGlobalObject::set):
  10215. * bindings/js/SerializedScriptValue.cpp:
  10216. (WebCore::CloneDeserializer::putProperty):
  10217. * bindings/scripts/CodeGeneratorJS.pm:
  10218. * bridge/qt/qt_runtime.cpp:
  10219. (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
  10220. (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
  10221. (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
  10222. (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
  10223. * bridge/qt/qt_runtime.h:
  10224. * bridge/runtime_root.cpp:
  10225. (JSC::Bindings::RootObject::invalidate):
  10226. * bridge/runtime_root.h:
  10227. * dom/Document.h:
  10228. 2011-01-30 Simon Fraser <simon.fraser@apple.com>
  10229. Reviewed by Sam Weinig.
  10230. Make ContextShadow code cross-platform
  10231. https://bugs.webkit.org/show_bug.cgi?id=51312
  10232. Add a new class, ShadowBlur, that contains most of the
  10233. code from ContextShadow, but is fully cross-platform.
  10234. It depends on one new method, GraphicsContext::clipBounds(),
  10235. which platforms will have to implement.
  10236. Add ShadowBlur to the Mac Xcode project, but don't use it
  10237. anywhere yet.
  10238. * WebCore.xcodeproj/project.pbxproj:
  10239. * platform/graphics/GraphicsContext.cpp:
  10240. (WebCore::GraphicsContext::clipBounds):
  10241. * platform/graphics/GraphicsContext.h:
  10242. * platform/graphics/ShadowBlur.cpp: Added.
  10243. (WebCore::roundUpToMultipleOf32):
  10244. (WebCore::ScratchBuffer::ScratchBuffer):
  10245. (WebCore::ScratchBuffer::getScratchBuffer):
  10246. (WebCore::ScratchBuffer::scheduleScratchBufferPurge):
  10247. (WebCore::ScratchBuffer::timerFired):
  10248. (WebCore::ScratchBuffer::clearScratchBuffer):
  10249. (WebCore::ScratchBuffer::shared):
  10250. (WebCore::ShadowBlur::ShadowBlur):
  10251. (WebCore::ShadowBlur::blurLayerImage):
  10252. (WebCore::ShadowBlur::adjustBlurDistance):
  10253. (WebCore::ShadowBlur::calculateLayerBoundingRect):
  10254. (WebCore::ShadowBlur::beginShadowLayer):
  10255. (WebCore::ShadowBlur::endShadowLayer):
  10256. (WebCore::ShadowBlur::drawRectShadow):
  10257. (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
  10258. (WebCore::ShadowBlur::drawRectShadowWithTiling):
  10259. (WebCore::ShadowBlur::clipBounds):
  10260. * platform/graphics/ShadowBlur.h: Added.
  10261. (WebCore::ShadowBlur::setShadowsIgnoreTransforms):
  10262. (WebCore::ShadowBlur::shadowsIgnoreTransforms):
  10263. * platform/graphics/cg/GraphicsContextCG.cpp:
  10264. (WebCore::GraphicsContext::clipBounds):
  10265. 2011-01-29 Simon Fraser <simon.fraser@apple.com>
  10266. Reviewed by Dan Bernstein.
  10267. CSS3 gradients with em-based stops fail to repaint when font size changes
  10268. https://bugs.webkit.org/show_bug.cgi?id=51845
  10269. Mark as uncacheable gradidients whose color stops depend on font size,
  10270. and don't attempt to put these into CSSImageGeneratorValue's image cache.
  10271. This means we return a new gradient each time, which is fairly cheap, and
  10272. fixes repaint issues under changing font size.
  10273. Test: fast/repaint/gradients-em-stops-repaint.html
  10274. * css/CSSGradientValue.cpp:
  10275. (WebCore::CSSGradientValue::image):
  10276. (WebCore::CSSGradientValue::isCacheable):
  10277. * css/CSSGradientValue.h:
  10278. 2011-01-29 Geoffrey Garen <ggaren@apple.com>
  10279. Undo try to fix the Qt build.
  10280. My guess didn't work.
  10281. * WebCore.pro:
  10282. 2011-01-29 Geoffrey Garen <ggaren@apple.com>
  10283. Try to fix the Qt build.
  10284. * WebCore.pro: Added platform/text/CharacterNames.h.
  10285. 2011-01-28 Geoffrey Garen <ggaren@apple.com>
  10286. Reviewed by Maciej Stachowiak.
  10287. Some more Heap cleanup.
  10288. https://bugs.webkit.org/show_bug.cgi?id=53357
  10289. Updated for JavaScriptCore changes.
  10290. * bindings/js/ScriptGCEvent.cpp:
  10291. (WebCore::ScriptGCEvent::getHeapSize):
  10292. 2011-01-29 Adam Barth <abarth@webkit.org>
  10293. Reviewed by Daniel Bates.
  10294. Fix XSSFilter crash when extracting the source for a token twice
  10295. https://bugs.webkit.org/show_bug.cgi?id=53368
  10296. Previously, it was unsafe to extract the source for the same token
  10297. twice because the HTMLSourceTracker would advance its internal
  10298. representation of the SegmentedString. This patch introduces a cache
  10299. to make calling HTMLSourceTracker::sourceForToken multiple times safe.
  10300. * html/parser/HTMLSourceTracker.cpp:
  10301. (WebCore::HTMLSourceTracker::end):
  10302. (WebCore::HTMLSourceTracker::sourceForToken):
  10303. * html/parser/HTMLSourceTracker.h:
  10304. 2011-01-29 Maciej Stachowiak <mjs@apple.com>
  10305. Reviewed by Dan Bernstein.
  10306. Fix fat build for both 32-bit and 64-bit under llvm-gcc 4.2
  10307. https://bugs.webkit.org/show_bug.cgi?id=53386
  10308. * platform/mac/ScrollAnimatorMac.mm:
  10309. (WebCore::elasticDeltaForReboundDelta):
  10310. (WebCore::scrollWheelMultiplier):
  10311. (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
  10312. (WebCore::ScrollAnimatorMac::beginScrollGesture):
  10313. (WebCore::roundTowardZero):
  10314. (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
  10315. 2011-01-29 Daniel Bates <dbates@rim.com>
  10316. Reviewed by Maciej Stachowiak.
  10317. Remove reference to ${CMAKE_SOURCE_DIR}/Source in CMake files
  10318. https://bugs.webkit.org/show_bug.cgi?id=53382
  10319. Our file system hierarchy ensures that CMAKE_SOURCE_DIR is defined to be /Source.
  10320. So, ${CMAKE_SOURCE_DIR}/Source evaluates to the non-existent directory /Source/Source.
  10321. Therefore, we should remove such references.
  10322. * CMakeLists.txt:
  10323. 2011-01-29 Sam Weinig <sam@webkit.org>
  10324. Reviewed by Jon Honeycutt.
  10325. Fix 32-bit build on the Mac.
  10326. * platform/mac/ScrollAnimatorMac.mm:
  10327. (WebCore::roundTowardZero):
  10328. (WebCore::roundToDevicePixelTowardZero):
  10329. Use floats instead of doubles to avoid double-to-float conversion
  10330. issues.
  10331. 2011-01-29 Simon Fraser <simon.fraser@apple.com>
  10332. Reviewed by Adam Barth.
  10333. Use clampToInteger() functions in a few places
  10334. https://bugs.webkit.org/show_bug.cgi?id=53363
  10335. * css/CSSStyleSelector.cpp:
  10336. (WebCore::CSSStyleSelector::applyProperty): Use clampToInteger() for z-index.
  10337. (WebCore::CSSStyleSelector::createTransformOperations): Use clampToPositiveInteger().
  10338. * platform/graphics/transforms/PerspectiveTransformOperation.cpp: Ditto.
  10339. (WebCore::PerspectiveTransformOperation::blend): Ditto.
  10340. 2011-01-29 Patrick Gansterer <paroga@webkit.org>
  10341. Reviewed by David Kilzer.
  10342. Move CharacterNames.h into WTF directory
  10343. https://bugs.webkit.org/show_bug.cgi?id=49618
  10344. * ForwardingHeaders/wtf/unicode/CharacterNames.h: Added.
  10345. * GNUmakefile.am:
  10346. * WebCore.gypi:
  10347. * WebCore.vcproj/WebCore.vcproj:
  10348. * WebCore.xcodeproj/project.pbxproj:
  10349. * accessibility/AccessibilityObject.cpp:
  10350. * accessibility/AccessibilityRenderObject.cpp:
  10351. * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
  10352. * bindings/js/JSHTMLDocumentCustom.cpp:
  10353. * dom/Position.cpp:
  10354. * dom/SelectElement.cpp:
  10355. * editing/CompositeEditCommand.cpp:
  10356. * editing/Editor.cpp:
  10357. * editing/HTMLInterchange.cpp:
  10358. * editing/InsertTextCommand.cpp:
  10359. * editing/MarkupAccumulator.cpp:
  10360. * editing/TextIterator.cpp:
  10361. * editing/VisibleSelection.cpp:
  10362. * editing/htmlediting.cpp:
  10363. * editing/htmlediting.h:
  10364. * editing/markup.cpp:
  10365. * html/FTPDirectoryDocument.cpp:
  10366. * html/HTMLFormControlElement.cpp:
  10367. * html/parser/HTMLTreeBuilder.cpp:
  10368. * loader/appcache/ManifestParser.cpp:
  10369. * platform/chromium/PopupMenuChromium.cpp:
  10370. * platform/graphics/Font.h:
  10371. * platform/graphics/FontFastPath.cpp:
  10372. * platform/graphics/GlyphPageTreeNode.cpp:
  10373. * platform/graphics/StringTruncator.cpp:
  10374. * platform/graphics/mac/ComplexTextController.cpp:
  10375. * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
  10376. * platform/graphics/wince/GraphicsContextWinCE.cpp:
  10377. * platform/mac/PasteboardMac.mm:
  10378. * platform/text/TextCodecICU.cpp:
  10379. * platform/text/mac/TextCodecMac.cpp:
  10380. * platform/text/transcoder/FontTranscoder.cpp:
  10381. * rendering/RenderBlockLineLayout.cpp:
  10382. * rendering/RenderFlexibleBox.cpp:
  10383. * rendering/RenderListMarker.cpp:
  10384. * rendering/RenderText.cpp:
  10385. * rendering/RenderTextControl.cpp:
  10386. * rendering/RenderTreeAsText.cpp:
  10387. * rendering/break_lines.cpp:
  10388. * rendering/mathml/RenderMathMLOperator.h:
  10389. * websockets/WebSocketHandshake.cpp:
  10390. * wml/WMLTableElement.cpp:
  10391. 2011-01-29 Dan Winship <danw@gnome.org>
  10392. Reviewed by Xan Lopez.
  10393. [GTK] Remove HAVE_LIBSOUP_2_29_90 conditionals; we depend on
  10394. libsoup 2.33.1 now.
  10395. https://bugs.webkit.org/show_bug.cgi?id=50675
  10396. * platform/network/soup/CookieJarSoup.cpp:
  10397. (WebCore::defaultCookieJar):
  10398. (WebCore::setCookies):
  10399. * platform/network/soup/ResourceHandleSoup.cpp:
  10400. (WebCore::ResourceHandle::prepareForURL):
  10401. (WebCore::restartedCallback):
  10402. (WebCore::startHttp):
  10403. * platform/network/soup/ResourceRequestSoup.cpp:
  10404. (WebCore::ResourceRequest::updateSoupMessage):
  10405. (WebCore::ResourceRequest::toSoupMessage):
  10406. (WebCore::ResourceRequest::updateFromSoupMessage):
  10407. 2011-01-29 Adam Barth <abarth@webkit.org>
  10408. Reviewed by Daniel Bates.
  10409. XSSFilter should replace URLs with about:blank instead of the empty string
  10410. https://bugs.webkit.org/show_bug.cgi?id=53370
  10411. Using the empty string will make the URL complete to the current
  10412. document's URL, which isn't really what we want. Instead, we want to
  10413. use about:blank, which is safe.
  10414. * html/parser/XSSFilter.cpp:
  10415. (WebCore::XSSFilter::filterObjectToken):
  10416. (WebCore::XSSFilter::filterEmbedToken):
  10417. 2011-01-29 Adam Barth <abarth@webkit.org>
  10418. Reviewed by Daniel Bates.
  10419. XSSFilter should pass xssAuditor/script-tag-addslashes*
  10420. https://bugs.webkit.org/show_bug.cgi?id=53365
  10421. We need to canonicalize strings to avoid being tricked by addslashes.
  10422. * html/parser/XSSFilter.cpp:
  10423. (WebCore::HTMLNames::isNonCanonicalCharacter):
  10424. - This function is copied from the XSSAuditor (with some tweaks).
  10425. We'll eventually remove the XSSAuditor once we've got XSSFilter
  10426. working properly.
  10427. (WebCore::HTMLNames::canonicalize):
  10428. (WebCore::HTMLNames::decodeURL):
  10429. (WebCore::XSSFilter::isContainedInRequest):
  10430. 2011-01-29 Adam Barth <abarth@webkit.org>
  10431. Reviewed by Daniel Bates.
  10432. XSSFilter should pass xssAuditor/script-tag-with-source-same-host.html
  10433. and xssAuditor/script-tag-post-*
  10434. https://bugs.webkit.org/show_bug.cgi?id=53364
  10435. We're supposed to allow loading same-origin resources even if they
  10436. appear as part of the request.
  10437. Also, we're supposed to look at the POST data too. :)
  10438. * html/parser/XSSFilter.cpp:
  10439. (WebCore::XSSFilter::eraseAttributeIfInjected):
  10440. (WebCore::XSSFilter::isSameOriginResource):
  10441. - Copy/paste from XSSAuditor::isSameOriginResource. We'll
  10442. eventually remove the XSSAuditor version when XSSFilter is done.
  10443. * html/parser/XSSFilter.h:
  10444. 2011-01-29 Adam Barth <abarth@webkit.org>
  10445. Reviewed by Daniel Bates.
  10446. XSSFilter should pass 16 of the xssAuditor/script-tag* tests
  10447. https://bugs.webkit.org/show_bug.cgi?id=53362
  10448. Turns out we need to replace the src attribute of script tags with
  10449. about:blank to avoid loading the main document URL as a script. Also,
  10450. move misplaced return statement that was triggering the console message
  10451. too often.
  10452. * html/parser/HTMLToken.h:
  10453. (WebCore::HTMLToken::appendToAttributeValue):
  10454. * html/parser/XSSFilter.cpp:
  10455. (WebCore::XSSFilter::filterScriptToken):
  10456. (WebCore::XSSFilter::eraseAttributeIfInjected):
  10457. * html/parser/XSSFilter.h:
  10458. 2011-01-28 Jon Honeycutt <jhoneycutt@apple.com>
  10459. Downloads in WK2 on Windows should write resume data to bundle
  10460. https://bugs.webkit.org/show_bug.cgi?id=53282
  10461. <rdar://problem/8753077>
  10462. Reviewed by Alice Liu.
  10463. * WebCore.vcproj/WebCore.vcproj:
  10464. Added new files to project.
  10465. * platform/network/cf/DownloadBundle.h: Added.
  10466. * platform/network/win/DownloadBundleWin.cpp: Added.
  10467. (WebCore::DownloadBundle::magicNumber):
  10468. Moved from WebKit's WebDownload so that WebKit and WebKit2 can share
  10469. it.
  10470. (WebCore::DownloadBundle::fileExtension):
  10471. Ditto.
  10472. (WebCore::DownloadBundle::appendResumeData):
  10473. Ditto - but modified to return bool rather than HRESULT and to clean up
  10474. whitespace.
  10475. (WebCore::DownloadBundle::extractResumeData):
  10476. Ditto - modified to clean up whitespace.
  10477. 2011-01-29 Sheriff Bot <webkit.review.bot@gmail.com>
  10478. Unreviewed, rolling out r77050.
  10479. http://trac.webkit.org/changeset/77050
  10480. https://bugs.webkit.org/show_bug.cgi?id=53371
  10481. Caused a crash in Chromium's test_shell_tests (Requested by
  10482. rniwa on #webkit).
  10483. * html/parser/HTMLTreeBuilder.cpp:
  10484. (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
  10485. (WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
  10486. (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
  10487. * html/parser/HTMLTreeBuilder.h:
  10488. 2011-01-28 Eric Seidel <eric@webkit.org>
  10489. Reviewed by Darin Adler.
  10490. HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40%
  10491. https://bugs.webkit.org/show_bug.cgi?id=48719
  10492. It's unclear exactly what the Peacekeeper benchmark is testing,
  10493. because I haven't found a way to run it myself.
  10494. However, I constructed a benchmark which shows at least one possible slow point.
  10495. The HTML5 spec talks about creating a new document for every time we use
  10496. the fragment parsing algorithm. Document() it turns out, it a huge bloated
  10497. mess, and the constructor and destructor do a huge amount of work.
  10498. To avoid constructing (or destructing) documents for each innerHTML call,
  10499. this patch adds a shared dummy document used by all innerHTML calls.
  10500. This patch brings us from 7x slower than Safari 5 on tiny-innerHTML
  10501. to only 1.5x slower than Safari 5. I'm sure there is more work to do here.
  10502. Saving a shared Document like this is error prone. Currently
  10503. DummyDocumentFactory::releaseDocument() calls removeAllChildren()
  10504. in an attempt to clear the Document's state. However it's possible
  10505. that that call is not sufficient and we'll have future bugs here.
  10506. * html/parser/HTMLTreeBuilder.cpp:
  10507. (WebCore::DummyDocumentFactory::createDummyDocument):
  10508. (WebCore::DummyDocumentFactory::releaseDocument):
  10509. (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
  10510. (WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
  10511. (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
  10512. * html/parser/HTMLTreeBuilder.h:
  10513. 2011-01-28 Johnny Ding <jnd@chromium.org>
  10514. Reviewed by Adam Barth.
  10515. Gesture API: Don't use current gesture status to set "forceUserGesture" parameter when calling ScriptController::executeScript.
  10516. The "forceUserGesture" parameter should be only set when you are definitely sure that the running script is from a hyper-link.
  10517. https://bugs.webkit.org/show_bug.cgi?id=53244
  10518. Test: fast/events/popup-blocked-from-iframe-src.html
  10519. * bindings/ScriptControllerBase.cpp:
  10520. (WebCore::ScriptController::executeIfJavaScriptURL):
  10521. 2011-01-28 Simon Fraser <simon.fraser@apple.com>
  10522. Reviewed by Gavin Barraclough.
  10523. Add various clampToInt() methods to MathExtras.h
  10524. https://bugs.webkit.org/show_bug.cgi?id=52910
  10525. Use clampToInteger() from MathExtras.h
  10526. * css/CSSParser.cpp:
  10527. (WebCore::CSSParser::parseCounter):
  10528. 2011-01-28 Sheriff Bot <webkit.review.bot@gmail.com>
  10529. Unreviewed, rolling out r77006 and r77020.
  10530. http://trac.webkit.org/changeset/77006
  10531. http://trac.webkit.org/changeset/77020
  10532. https://bugs.webkit.org/show_bug.cgi?id=53360
  10533. "Broke Windows tests" (Requested by rniwa on #webkit).
  10534. * ForwardingHeaders/runtime/WriteBarrier.h: Removed.
  10535. * WebCore.exp.in:
  10536. * bindings/js/DOMWrapperWorld.h:
  10537. * bindings/js/JSAudioConstructor.cpp:
  10538. (WebCore::JSAudioConstructor::JSAudioConstructor):
  10539. * bindings/js/JSDOMBinding.cpp:
  10540. (WebCore::markDOMNodesForDocument):
  10541. (WebCore::markDOMObjectWrapper):
  10542. (WebCore::markDOMNodeWrapper):
  10543. * bindings/js/JSDOMGlobalObject.cpp:
  10544. (WebCore::JSDOMGlobalObject::markChildren):
  10545. (WebCore::JSDOMGlobalObject::setInjectedScript):
  10546. (WebCore::JSDOMGlobalObject::injectedScript):
  10547. * bindings/js/JSDOMGlobalObject.h:
  10548. (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
  10549. (WebCore::getDOMConstructor):
  10550. * bindings/js/JSDOMWindowCustom.cpp:
  10551. (WebCore::JSDOMWindow::setLocation):
  10552. (WebCore::DialogHandler::dialogCreated):
  10553. * bindings/js/JSDOMWindowShell.cpp:
  10554. (WebCore::JSDOMWindowShell::JSDOMWindowShell):
  10555. (WebCore::JSDOMWindowShell::setWindow):
  10556. (WebCore::JSDOMWindowShell::markChildren):
  10557. (WebCore::JSDOMWindowShell::unwrappedObject):
  10558. * bindings/js/JSDOMWindowShell.h:
  10559. (WebCore::JSDOMWindowShell::window):
  10560. (WebCore::JSDOMWindowShell::setWindow):
  10561. * bindings/js/JSDeviceMotionEventCustom.cpp:
  10562. (WebCore::createAccelerationObject):
  10563. (WebCore::createRotationRateObject):
  10564. * bindings/js/JSEventListener.cpp:
  10565. (WebCore::JSEventListener::JSEventListener):
  10566. (WebCore::JSEventListener::markJSFunction):
  10567. * bindings/js/JSEventListener.h:
  10568. (WebCore::JSEventListener::jsFunction):
  10569. * bindings/js/JSHTMLDocumentCustom.cpp:
  10570. (WebCore::JSHTMLDocument::setAll):
  10571. * bindings/js/JSImageConstructor.cpp:
  10572. (WebCore::JSImageConstructor::JSImageConstructor):
  10573. * bindings/js/JSImageDataCustom.cpp:
  10574. (WebCore::toJS):
  10575. * bindings/js/JSJavaScriptCallFrameCustom.cpp:
  10576. (WebCore::JSJavaScriptCallFrame::scopeChain):
  10577. (WebCore::JSJavaScriptCallFrame::scopeType):
  10578. * bindings/js/JSNodeFilterCondition.cpp:
  10579. (WebCore::JSNodeFilterCondition::markAggregate):
  10580. (WebCore::JSNodeFilterCondition::acceptNode):
  10581. * bindings/js/JSNodeFilterCondition.h:
  10582. * bindings/js/JSNodeFilterCustom.cpp:
  10583. * bindings/js/JSOptionConstructor.cpp:
  10584. (WebCore::JSOptionConstructor::JSOptionConstructor):
  10585. * bindings/js/JSSQLResultSetRowListCustom.cpp:
  10586. (WebCore::JSSQLResultSetRowList::item):
  10587. * bindings/js/ScriptCachedFrameData.cpp:
  10588. (WebCore::ScriptCachedFrameData::restore):
  10589. * bindings/js/ScriptObject.cpp:
  10590. (WebCore::ScriptGlobalObject::set):
  10591. * bindings/js/SerializedScriptValue.cpp:
  10592. (WebCore::CloneDeserializer::putProperty):
  10593. * bindings/scripts/CodeGeneratorJS.pm:
  10594. * bridge/qt/qt_runtime.cpp:
  10595. (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
  10596. (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
  10597. (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
  10598. (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
  10599. * bridge/qt/qt_runtime.h:
  10600. * bridge/runtime_root.cpp:
  10601. (JSC::Bindings::RootObject::invalidate):
  10602. * bridge/runtime_root.h:
  10603. * dom/Document.h:
  10604. 2011-01-28 Adam Barth <abarth@webkit.org>
  10605. Reviewed by Eric Seidel.
  10606. XSSFilter should log to the console when it blocks something
  10607. https://bugs.webkit.org/show_bug.cgi?id=53354
  10608. This patch refactors a bunch of methods in XSSFilter to return a bool
  10609. indicating whether they blocked anything. Using this bool, we decide
  10610. whether to log to the console. We're using the same log message as the
  10611. XSSAuditor, but it seems likely we can improve this message in the
  10612. future (especially by piping in the correct line number, which is now
  10613. accessible via the parser).
  10614. * html/parser/XSSFilter.cpp:
  10615. (WebCore::HTMLNames::isNameOfInlineEventHandler):
  10616. (WebCore::XSSFilter::filterToken):
  10617. (WebCore::XSSFilter::filterTokenInitial):
  10618. (WebCore::XSSFilter::filterTokenAfterScriptStartTag):
  10619. (WebCore::XSSFilter::filterScriptToken):
  10620. (WebCore::XSSFilter::filterObjectToken):
  10621. (WebCore::XSSFilter::filterEmbedToken):
  10622. (WebCore::XSSFilter::filterAppletToken):
  10623. (WebCore::XSSFilter::filterMetaToken):
  10624. (WebCore::XSSFilter::filterBaseToken):
  10625. (WebCore::XSSFilter::eraseInlineEventHandlersIfInjected):
  10626. * html/parser/XSSFilter.h:
  10627. 2011-01-28 Adam Barth <abarth@webkit.org>
  10628. Reviewed by Daniel Bates.
  10629. Wire up settings->xssAuditorEnabled to XSSFilter
  10630. https://bugs.webkit.org/show_bug.cgi?id=53345
  10631. * html/parser/XSSFilter.cpp:
  10632. (WebCore::XSSFilter::XSSFilter):
  10633. (WebCore::XSSFilter::filterToken):
  10634. * html/parser/XSSFilter.h:
  10635. 2011-01-28 Adam Barth <abarth@webkit.org>
  10636. Reviewed by Daniel Bates.
  10637. Teach XSSFilter about <meta> and <base> tags
  10638. https://bugs.webkit.org/show_bug.cgi?id=53339
  10639. I'm not 100% sure we need to block <meta http-equiv>, but it seems
  10640. prudent given how powerful that attribute is. We definitely need to
  10641. block injection of <base href> because that can redirect script tags
  10642. that use relative URLs.
  10643. * html/parser/XSSFilter.cpp:
  10644. (WebCore::XSSFilter::filterToken):
  10645. (WebCore::XSSFilter::filterMetaToken):
  10646. (WebCore::XSSFilter::filterBaseToken):
  10647. * html/parser/XSSFilter.h:
  10648. 2011-01-28 Adam Barth <abarth@webkit.org>
  10649. Reviewed by Daniel Bates.
  10650. Teach XSSFilter about <applet>
  10651. https://bugs.webkit.org/show_bug.cgi?id=53338
  10652. HTML5 is pretty light on information about how the <applet> tag works.
  10653. According to this site:
  10654. http://download.oracle.com/javase/1.4.2/docs/guide/misc/applet.html
  10655. The "code" and "object" attributes are the essential attributes for
  10656. determining which piece of Java to run. We might need to expand to the
  10657. codebase and archive attributes at some point, but hopefully code and
  10658. object will be sufficient.
  10659. * html/parser/XSSFilter.cpp:
  10660. (WebCore::XSSFilter::filterToken):
  10661. (WebCore::XSSFilter::filterAppletToken):
  10662. * html/parser/XSSFilter.h:
  10663. 2011-01-28 Adam Barth <abarth@webkit.org>
  10664. Reviewed by Daniel Bates.
  10665. Teach the XSSFilter about object and embed tags
  10666. https://bugs.webkit.org/show_bug.cgi?id=53336
  10667. For <object> and <embed>, we filter out attribute values that either
  10668. indicate which piece of media to load or which plugin to load. In a
  10669. perfect world, we'd only need to filter out the URLs of the media, but
  10670. some plug-ins (like Flash) have lots of fun places you can hide the
  10671. URL (e.g., the "movie" <param>).
  10672. * html/parser/XSSFilter.cpp:
  10673. (WebCore::XSSFilter::filterToken):
  10674. (WebCore::XSSFilter::filterScriptToken):
  10675. (WebCore::XSSFilter::filterObjectToken):
  10676. (WebCore::XSSFilter::filterEmbedToken):
  10677. (WebCore::XSSFilter::eraseAttributeIfInjected):
  10678. * html/parser/XSSFilter.h:
  10679. 2011-01-28 Oliver Hunt <oliver@apple.com>
  10680. Fix Qt build.
  10681. * bridge/qt/qt_runtime.cpp:
  10682. (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
  10683. (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
  10684. (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
  10685. (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
  10686. * bridge/qt/qt_runtime.h:
  10687. 2011-01-28 Antti Koivisto <antti@apple.com>
  10688. Reviewed by Simon Fraser.
  10689. CSS styles are shared based on uninitialized property values
  10690. https://bugs.webkit.org/show_bug.cgi?id=53285
  10691. Null test.
  10692. * dom/NamedNodeMap.cpp:
  10693. (WebCore::NamedNodeMap::mappedMapsEquivalent):
  10694. 2011-01-27 Oliver Hunt <oliver@apple.com>
  10695. Reviewed by Geoffrey Garen.
  10696. Convert markstack to a slot visitor API
  10697. https://bugs.webkit.org/show_bug.cgi?id=53219
  10698. Update WebCore to the new marking apis, correct bindings
  10699. codegen.
  10700. * ForwardingHeaders/runtime/WriteBarrier.h: Added.
  10701. * WebCore.exp.in:
  10702. * bindings/js/DOMWrapperWorld.h:
  10703. (WebCore::DOMWrapperWorld::globalData):
  10704. * bindings/js/JSAudioConstructor.cpp:
  10705. (WebCore::JSAudioConstructor::JSAudioConstructor):
  10706. * bindings/js/JSDOMBinding.cpp:
  10707. (WebCore::markDOMNodesForDocument):
  10708. (WebCore::markDOMObjectWrapper):
  10709. (WebCore::markDOMNodeWrapper):
  10710. * bindings/js/JSDOMGlobalObject.cpp:
  10711. (WebCore::JSDOMGlobalObject::markChildren):
  10712. (WebCore::JSDOMGlobalObject::setInjectedScript):
  10713. (WebCore::JSDOMGlobalObject::injectedScript):
  10714. * bindings/js/JSDOMGlobalObject.h:
  10715. (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
  10716. (WebCore::getDOMConstructor):
  10717. * bindings/js/JSDOMWindowCustom.cpp:
  10718. (WebCore::JSDOMWindow::setLocation):
  10719. (WebCore::DialogHandler::dialogCreated):
  10720. * bindings/js/JSDOMWindowShell.cpp:
  10721. (WebCore::JSDOMWindowShell::JSDOMWindowShell):
  10722. (WebCore::JSDOMWindowShell::setWindow):
  10723. (WebCore::JSDOMWindowShell::markChildren):
  10724. (WebCore::JSDOMWindowShell::unwrappedObject):
  10725. * bindings/js/JSDOMWindowShell.h:
  10726. (WebCore::JSDOMWindowShell::window):
  10727. (WebCore::JSDOMWindowShell::setWindow):
  10728. * bindings/js/JSEventListener.cpp:
  10729. (WebCore::JSEventListener::JSEventListener):
  10730. (WebCore::JSEventListener::markJSFunction):
  10731. * bindings/js/JSEventListener.h:
  10732. (WebCore::JSEventListener::jsFunction):
  10733. * bindings/js/JSHTMLDocumentCustom.cpp:
  10734. (WebCore::JSHTMLDocument::setAll):
  10735. * bindings/js/JSImageConstructor.cpp:
  10736. (WebCore::JSImageConstructor::JSImageConstructor):
  10737. * bindings/js/JSImageDataCustom.cpp:
  10738. (WebCore::toJS):
  10739. * bindings/js/JSJavaScriptCallFrameCustom.cpp:
  10740. (WebCore::JSJavaScriptCallFrame::scopeChain):
  10741. (WebCore::JSJavaScriptCallFrame::scopeType):
  10742. * bindings/js/JSNodeFilterCondition.cpp:
  10743. (WebCore::JSNodeFilterCondition::markAggregate):
  10744. (WebCore::JSNodeFilterCondition::acceptNode):
  10745. * bindings/js/JSNodeFilterCondition.h:
  10746. * bindings/js/JSNodeFilterCustom.cpp:
  10747. * bindings/js/JSOptionConstructor.cpp:
  10748. (WebCore::JSOptionConstructor::JSOptionConstructor):
  10749. * bindings/js/JSSQLResultSetRowListCustom.cpp:
  10750. (WebCore::JSSQLResultSetRowList::item):
  10751. * bindings/js/ScriptCachedFrameData.cpp:
  10752. (WebCore::ScriptCachedFrameData::restore):
  10753. * bindings/js/ScriptObject.cpp:
  10754. (WebCore::ScriptGlobalObject::set):
  10755. * bindings/js/SerializedScriptValue.cpp:
  10756. (WebCore::CloneDeserializer::putProperty):
  10757. * bindings/scripts/CodeGeneratorJS.pm:
  10758. * dom/Document.h:
  10759. 2011-01-28 Sam Weinig <sam@webkit.org>
  10760. Reviewed by Anders Carlsson.
  10761. Keyboard scrolling doesn’t work in WebKit2
  10762. <rdar://problem/8909672>
  10763. * platform/mac/ScrollAnimatorMac.mm:
  10764. (-[ScrollAnimationHelperDelegate convertSizeToBacking:]):
  10765. (-[ScrollAnimationHelperDelegate convertSizeFromBacking:]):
  10766. Add additional necessary delegate methods.
  10767. 2011-01-29 Darin Adler <darin@apple.com>
  10768. Reviewed by Dan Bernstein.
  10769. Re-land this patch with the missing null check that caused crashes in layout tests.
  10770. Changing cursor style has no effect until the mouse moves
  10771. https://bugs.webkit.org/show_bug.cgi?id=14344
  10772. rdar://problem/7563712
  10773. No tests added because we don't have infrastructure for testing actual cursor
  10774. changes (as opposed to cursor style computation) at this time. We might add it later.
  10775. * page/EventHandler.cpp:
  10776. (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): Added.
  10777. * page/EventHandler.h: Ditto.
  10778. * rendering/RenderObject.cpp:
  10779. (WebCore::areNonIdenticalCursorListsEqual): Added.
  10780. (WebCore::areCursorsEqual): Added.
  10781. (WebCore::RenderObject::styleDidChange): Call dispatchFakeMouseMoveEventSoon if
  10782. cursor styles changed.
  10783. 2011-01-28 Justin Schuh <jschuh@chromium.org>
  10784. Reviewed by Eric Seidel.
  10785. We should hold RefPtrs to SVG font faces
  10786. https://bugs.webkit.org/show_bug.cgi?id=53270
  10787. Test: svg/custom/use-multiple-on-nested-disallowed-font.html
  10788. * css/CSSFontFaceSource.cpp:
  10789. (WebCore::CSSFontFaceSource::getFontData):
  10790. * css/CSSFontFaceSource.h:
  10791. * svg/SVGFontFaceElement.cpp:
  10792. (WebCore::SVGFontFaceElement::associatedFontElement):
  10793. * svg/SVGFontFaceElement.h:
  10794. 2011-01-28 Zhenyao Mo <zmo@google.com>
  10795. Reviewed by Kenneth Russell.
  10796. uniformN*v should generate INVALID_VALUE of the array size is not a multiple of N
  10797. https://bugs.webkit.org/show_bug.cgi?id=53306
  10798. * html/canvas/WebGLRenderingContext.cpp:
  10799. (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
  10800. 2011-01-28 Tom Sepez <tsepez@chromium.org>
  10801. Reviewed by Eric Seidel.
  10802. NULL pointer crash in TextIterator::handleTextBox()
  10803. https://bugs.webkit.org/show_bug.cgi?id=53267
  10804. Test: fast/css/rtl-nth-child-first-letter-crash.html
  10805. * editing/TextIterator.cpp:
  10806. (WebCore::TextIterator::handleTextBox):
  10807. 2011-01-28 Adrienne Walker <enne@google.com>
  10808. Reviewed by Kenneth Russell.
  10809. [chromium] Remove a spurious diagnostic CRASH check.
  10810. https://bugs.webkit.org/show_bug.cgi?id=52379
  10811. * platform/graphics/chromium/LayerTilerChromium.cpp:
  10812. (WebCore::LayerTilerChromium::invalidateRect):
  10813. 2011-01-28 Dan Bernstein <mitz@apple.com>
  10814. Reviewed by Sam Weinig.
  10815. <rdar://problem/4761512> <select> can't display right-to-left (rtl) languages
  10816. https://bugs.webkit.org/show_bug.cgi?id=19785
  10817. Changed <select> pop-up menus on Mac OS X Snow Leopard and later to have their items aligned in the
  10818. direction corresponding to the writing direction of the <select> element, with the checkmarks
  10819. on the "start" side, and use the <option>'s writing direction rather than "natural". Made the
  10820. pop-up button match the menu by adding a Chrome boolean function, selectItemAlignmentFollowsMenuWritingDirection(),
  10821. which returns true for this pop-up behavior.
  10822. * loader/EmptyClients.h:
  10823. (WebCore::EmptyChromeClient::selectItemAlignmentFollowsMenuWritingDirection): Added.
  10824. * manual-tests/pop-up-alignment-and-direction.html: Added.
  10825. * page/Chrome.cpp:
  10826. (WebCore::Chrome::selectItemAlignmentFollowsMenuWritingDirection): Added. Calls through to the
  10827. client.
  10828. * page/Chrome.h:
  10829. * page/ChromeClient.h:
  10830. * platform/PopupMenuStyle.h:
  10831. (WebCore::PopupMenuStyle::PopupMenuStyle): Added hasTextDirectionOverride parameter and member
  10832. variable initialization.
  10833. (WebCore::PopupMenuStyle::hasTextDirectionOverride): Added this accessor.
  10834. * platform/mac/PopupMenuMac.mm:
  10835. (WebCore::PopupMenuMac::populate): Set the pop-up's layout direction and items' text alignment
  10836. to match the menu's writing direction. Set items' writing direction and direction override
  10837. according to their styles.
  10838. * rendering/RenderMenuList.cpp:
  10839. (WebCore::RenderMenuList::RenderMenuList): Removed unncesaary initialization of a smart pointer.
  10840. (WebCore::RenderMenuList::adjustInnerStyle): If the alignment of items in the menu follows the
  10841. menu's writing direction, use that alignment for the button as well. Also in this mode, use the
  10842. item's writing direction and override setting.
  10843. (WebCore::RenderMenuList::setTextFromOption): Store the option element's style.
  10844. (WebCore::RenderMenuList::itemStyle): Pass the text direction override value.
  10845. (WebCore::RenderMenuList::menuStyle): Ditto. Also use the button's direction, not the inner text's.
  10846. * rendering/RenderMenuList.h:
  10847. * rendering/RenderTextControlSingleLine.cpp:
  10848. (WebCore::RenderTextControlSingleLine::menuStyle): Pass the text direction override value.
  10849. 2011-01-28 Adam Barth <abarth@webkit.org>
  10850. Reviewed by Daniel Bates.
  10851. Teach XSSFilter how to filter <script> elements
  10852. https://bugs.webkit.org/show_bug.cgi?id=53279
  10853. This patch adds the ability for the XSSFilter to block injected
  10854. <script> elements. Handling script elements is slightly subtle because
  10855. these elements act very differently depending on whether they have a
  10856. src attribute.
  10857. In the "src case", which check whether the src attribute was present in
  10858. the request. In the "non-src case", we check whether the start tag and
  10859. the body of the script element was included in the request. Checking
  10860. for the whole start tag means we miss out on some attribute splitting
  10861. attacks inside of script tags, but that doesn't seem like that big a
  10862. deal.
  10863. This patch also introduces some amount of state into the XSSFilter
  10864. because inline script elements span multiple tokens. There's a lot of
  10865. tuning and optimization left in these cases, some of which I've noted
  10866. with FIXMEs.
  10867. To test this patch, I played around with some of the existing
  10868. XSSAuditor tests. Hopefully I'll be able to run the test suite more
  10869. systematically in the future.
  10870. * html/parser/HTMLToken.h:
  10871. (WebCore::HTMLToken::eraseCharacters):
  10872. (WebCore::HTMLToken::eraseValueOfAttribute):
  10873. * html/parser/XSSFilter.cpp:
  10874. (WebCore::HTMLNames::hasName):
  10875. (WebCore::HTMLNames::findAttributeWithName):
  10876. (WebCore::HTMLNames::isNameOfScriptCarryingAttribute):
  10877. (WebCore::XSSFilter::XSSFilter):
  10878. (WebCore::XSSFilter::filterToken):
  10879. (WebCore::XSSFilter::filterTokenAfterScriptStartTag):
  10880. (WebCore::XSSFilter::filterScriptToken):
  10881. (WebCore::XSSFilter::snippetForRange):
  10882. (WebCore::XSSFilter::snippetForAttribute):
  10883. * html/parser/XSSFilter.h:
  10884. 2011-01-28 Adam Barth <abarth@webkit.org>
  10885. Reviewed by Daniel Bates.
  10886. Sketch out new XSS filter design (disabled by default)
  10887. https://bugs.webkit.org/show_bug.cgi?id=53205
  10888. This patch adds a basic sketch of the new XSS filter design. Rather
  10889. than watching scripts as they execute, in this design, we watch tokens
  10890. emitted by the tokenizer. We then map the tokens directly back into
  10891. input characters, which lets us skip all the complicated logic related
  10892. to HTML entities and double-decoding of JavaScript URLs.
  10893. This patch contains only the bare essentially machinery. I'll add more
  10894. in future patches and eventually remove the previous code once this
  10895. code is up and running correctly.
  10896. * Android.mk:
  10897. * CMakeLists.txt:
  10898. * GNUmakefile.am:
  10899. * WebCore.gypi:
  10900. * WebCore.pro:
  10901. * WebCore.vcproj/WebCore.vcproj:
  10902. * WebCore.xcodeproj/project.pbxproj:
  10903. * html/parser/HTMLDocumentParser.cpp:
  10904. (WebCore::HTMLDocumentParser::HTMLDocumentParser):
  10905. (WebCore::HTMLDocumentParser::pumpTokenizer):
  10906. (WebCore::HTMLDocumentParser::sourceForToken):
  10907. * html/parser/HTMLDocumentParser.h:
  10908. * html/parser/XSSFilter.cpp: Added.
  10909. * html/parser/XSSFilter.h: Added.
  10910. 2011-01-28 Michael Saboff <msaboff@apple.com>
  10911. Reviewed by Geoffrey Garen.
  10912. Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
  10913. https://bugs.webkit.org/show_bug.cgi?id=53271
  10914. Reapplying this patch with the change that the second ASSERT in
  10915. RootObject::removeRuntimeObject was changed to use
  10916. .uncheckedGet() instead of the failing .get(). The object in question
  10917. could be in the process of being GC'ed. The get() call will not return
  10918. such an object while the uncheckedGet() call will return the (unsafe)
  10919. object. This is the behavior we want.
  10920. Precautionary change.
  10921. Changed RootObject to use WeakGCMap instead of HashSet.
  10922. Found will looking for another issue, but can't produce a test case
  10923. that is problematic. THerefore there aren't any new tests.
  10924. * bridge/runtime_root.cpp:
  10925. (JSC::Bindings::RootObject::invalidate):
  10926. (JSC::Bindings::RootObject::addRuntimeObject):
  10927. (JSC::Bindings::RootObject::removeRuntimeObject):
  10928. * bridge/runtime_root.h:
  10929. 2011-01-28 Adam Roben <aroben@apple.com>
  10930. Notify CACFLayerTreeHost when the context is flushed
  10931. LegacyCACFLayerTreeHost was keeping this a secret, which meant that WebCore's animation
  10932. timers were never starting.
  10933. Fixes <http://webkit.org/b/53302> [Windows 7 Release Tests] changesets 76853, 76856, and
  10934. 76858 broke ~36 animations, compositing, and transitions tests
  10935. Reviewed by Sam Weinig.
  10936. * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
  10937. (WebCore::LegacyCACFLayerTreeHost::contextDidChange): Call up to the base class after we
  10938. start our render timer.
  10939. 2011-01-28 Antti Koivisto <antti@apple.com>
  10940. Reviewed by Dan Bernstein.
  10941. Remove dead code that tried to map from CSS values to parser values
  10942. https://bugs.webkit.org/show_bug.cgi?id=53318
  10943. * css/CSSFunctionValue.cpp:
  10944. * css/CSSFunctionValue.h:
  10945. * css/CSSPrimitiveValue.cpp:
  10946. * css/CSSPrimitiveValue.h:
  10947. * css/CSSValue.h:
  10948. * css/CSSValueList.cpp:
  10949. * css/CSSValueList.h:
  10950. 2011-01-28 Enrica Casucci <enrica@apple.com>
  10951. Reviewed by Adam Roben.
  10952. Some drag and drop tests fail since r76824
  10953. https://bugs.webkit.org/show_bug.cgi?id=53304
  10954. There were '||' instead of '&&' in the checks for valid
  10955. clipboard content.
  10956. * platform/win/ClipboardWin.cpp:
  10957. (WebCore::ClipboardWin::getData):
  10958. (WebCore::ClipboardWin::types):
  10959. (WebCore::ClipboardWin::files):
  10960. 2011-01-28 Martin Robinson <mrobinson@igalia.com>
  10961. [GTK] AudioProcessingEvent.h and JSJavaScriptAudioNode.h: No such file or directory
  10962. https://bugs.webkit.org/show_bug.cgi?id=52889
  10963. Build fix for WebAudio. Include WebAudio source files on the source
  10964. list when WebAudio is enabled.
  10965. * GNUmakefile.am: Include missing source files.
  10966. 2011-01-28 Sam Weinig <sam@webkit.org>
  10967. Reviewed by Maciej Stachowiak.
  10968. Add basic rubber banding support
  10969. <rdar://problem/8219429>
  10970. https://bugs.webkit.org/show_bug.cgi?id=53277
  10971. * page/EventHandler.cpp:
  10972. (WebCore::EventHandler::handleGestureEvent):
  10973. Pass gesture events to the FrameView.
  10974. * platform/ScrollAnimator.cpp:
  10975. (WebCore::ScrollAnimator::handleGestureEvent):
  10976. * platform/ScrollAnimator.h:
  10977. Add stubbed out implementation.
  10978. * platform/ScrollView.cpp:
  10979. (WebCore::ScrollView::ScrollView):
  10980. (WebCore::ScrollView::overhangAmount):
  10981. (WebCore::ScrollView::wheelEvent):
  10982. * platform/ScrollView.h:
  10983. * platform/ScrollableArea.cpp:
  10984. (WebCore::ScrollableArea::ScrollableArea):
  10985. (WebCore::ScrollableArea::handleGestureEvent):
  10986. * platform/ScrollableArea.h:
  10987. (WebCore::ScrollableArea::constrainsScrollingToContentEdge):
  10988. (WebCore::ScrollableArea::setConstrainsScrollingToContentEdge):
  10989. Move constrains scrolling bit to ScrollableArea from ScrollView.
  10990. (WebCore::ScrollableArea::contentsSize):
  10991. (WebCore::ScrollableArea::overhangAmount):
  10992. Add additional virtual functions for information needed by the animator.
  10993. * platform/mac/ScrollAnimatorMac.h:
  10994. * platform/mac/ScrollAnimatorMac.mm:
  10995. (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
  10996. (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
  10997. (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
  10998. (WebCore::elasticDeltaForTimeDelta):
  10999. (WebCore::elasticDeltaForReboundDelta):
  11000. (WebCore::reboundDeltaForElasticDelta):
  11001. (WebCore::scrollWheelMultiplier):
  11002. (WebCore::ScrollAnimatorMac::handleWheelEvent):
  11003. (WebCore::ScrollAnimatorMac::handleGestureEvent):
  11004. (WebCore::ScrollAnimatorMac::pinnedInDirection):
  11005. (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
  11006. (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
  11007. (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
  11008. (WebCore::ScrollAnimatorMac::beginScrollGesture):
  11009. (WebCore::ScrollAnimatorMac::endScrollGesture):
  11010. (WebCore::ScrollAnimatorMac::snapRubberBand):
  11011. (WebCore::roundTowardZero):
  11012. (WebCore::roundToDevicePixelTowardZero):
  11013. (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
  11014. Implement basic rubber banding.
  11015. 2011-01-28 Dan Bernstein <mitz@apple.com>
  11016. Reviewed by Anders Carlsson.
  11017. Changing unicode-bidi doesn’t force layout
  11018. https://bugs.webkit.org/show_bug.cgi?id=53311
  11019. Test: fast/dynamic/unicode-bidi.html
  11020. * rendering/style/RenderStyle.cpp:
  11021. (WebCore::RenderStyle::diff): Return a layout difference if unicode-bidi values differ.
  11022. 2011-01-27 Dimitri Glazkov <dglazkov@chromium.org>
  11023. Reviewed by Kent Tamura.
  11024. Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId.
  11025. https://bugs.webkit.org/show_bug.cgi?id=53122
  11026. This is the first step in converting HTMLMediaElement to the new shadow DOM.
  11027. Should not regress any existing tests. No observable change in behavior.
  11028. * css/CSSSelector.cpp:
  11029. (WebCore::CSSSelector::pseudoId): Removed now-unnecessary hard-coded pseudo-element selectors.
  11030. (WebCore::nameToPseudoTypeMap): Ditto.
  11031. (WebCore::CSSSelector::extractPseudoType): Ditto.
  11032. * css/CSSSelector.h: Ditto.
  11033. * css/mediaControls.css: Added proper initial values, now that elements use the proper selector pipeline.
  11034. * rendering/MediaControlElements.cpp:
  11035. (WebCore::MediaControlInputElement::MediaControlInputElement): Removed the switch statement,
  11036. which is now replaced with virtual shadowPseudoId on each corresponding class.
  11037. (WebCore::MediaControlInputElement::styleForElement): Changed to use element pipeline.
  11038. (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Changed to set
  11039. display type in constructor.
  11040. (WebCore::MediaControlMuteButtonElement::create): Changed to not take PseudoId as
  11041. constructor argument.
  11042. (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Added.
  11043. (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Added
  11044. to disambiguate from the MediaControlMuteButtonElement.
  11045. (WebCore::MediaControlVolumeSliderMuteButtonElement::create): Added.
  11046. (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Added.
  11047. (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Changed to not take PseudoId as
  11048. constructor argument.
  11049. (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Added.
  11050. (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Changed to not take PseudoId as
  11051. constructor argument.
  11052. (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Added.
  11053. (WebCore::MediaControlSeekForwardButtonElement::create): Added.
  11054. (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Added.
  11055. (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Added.
  11056. (WebCore::MediaControlSeekBackButtonElement::create): Added.
  11057. (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Added.
  11058. (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Added.
  11059. (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Added.
  11060. (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Changed to not take PseudoId as
  11061. constructor argument.
  11062. (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Added.
  11063. (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Changed to not take PseudoId as
  11064. constructor argument.
  11065. (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Added.
  11066. (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Changed to not take PseudoId as
  11067. constructor argument.
  11068. (WebCore::MediaControlTimelineElement::shadowPseudoId): Added.
  11069. (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Changed to not take PseudoId as
  11070. constructor argument.
  11071. (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Added.
  11072. (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Changed to not take PseudoId as
  11073. constructor argument.
  11074. (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Added.
  11075. * rendering/MediaControlElements.h:
  11076. (WebCore::MediaControlSeekForwardButtonElement::isForwardButton): Added.
  11077. (WebCore::MediaControlSeekBackButtonElement::isForwardButton): Added.
  11078. * rendering/RenderMedia.cpp:
  11079. (WebCore::RenderMedia::createMuteButton): Changed to use new constructor.
  11080. (WebCore::RenderMedia::createSeekBackButton): Ditto.
  11081. (WebCore::RenderMedia::createSeekForwardButton): Ditto.
  11082. (WebCore::RenderMedia::createVolumeSliderMuteButton): Ditto.
  11083. * rendering/style/RenderStyleConstants.h: Removed constants that are no longer used.
  11084. 2011-01-27 Dimitri Glazkov <dglazkov@chromium.org>
  11085. Reviewed by Eric Carlson.
  11086. Split MediaControls out of RenderMedia.
  11087. https://bugs.webkit.org/show_bug.cgi?id=53252
  11088. Near-mechanical moving of stuff, no change in behavior, thus no new tests.
  11089. * Android.mk: Added MediaControls to build system.
  11090. * CMakeLists.txt: Ditto.
  11091. * GNUmakefile.am: Ditto.
  11092. * WebCore.gypi: Ditto.
  11093. * WebCore.pro: Ditto.
  11094. * WebCore.vcproj/WebCore.vcproj: Ditto.
  11095. * WebCore.xcodeproj/project.pbxproj: Ditto.
  11096. * html/HTMLMediaElement.cpp:
  11097. (WebCore::HTMLMediaElement::defaultEventHandler): Changed to forward events to MediaControls.
  11098. * html/shadow/MediaControls.cpp: Copied all controls-related methods from
  11099. Source/WebCore/rendering/RenderMedia.cpp, pulled them into their own class called MediaControls.
  11100. * html/shadow/MediaControls.h: Ditto from Source/WebCore/rendering/RenderMedia.h.
  11101. * rendering/MediaControlElements.cpp:
  11102. (WebCore::MediaControlTimelineElement::defaultEventHandler): Changed to use MediaControls.
  11103. * rendering/RenderMedia.cpp:
  11104. (WebCore::RenderMedia::RenderMedia): Moved relevant constructor initializers out to MediaControls.
  11105. (WebCore::RenderMedia::destroy): Changed to use MediaControls.
  11106. (WebCore::RenderMedia::styleDidChange): Ditto.
  11107. (WebCore::RenderMedia::layout): Ditto.
  11108. (WebCore::RenderMedia::updateFromElement): Ditto.
  11109. * rendering/RenderMedia.h: Updated defs accordingly and removed player() accessor, which
  11110. is only used by sub-class RenderVideo.
  11111. (WebCore::RenderMedia::controls): Added.
  11112. * rendering/RenderVideo.cpp:
  11113. (WebCore::RenderVideo::~RenderVideo): Changed to access MediaPlayer* directly from mediaElement().
  11114. (WebCore::RenderVideo::calculateIntrinsicSize): Ditto.
  11115. (WebCore::RenderVideo::paintReplaced): Ditto.
  11116. (WebCore::RenderVideo::updatePlayer): Ditto.
  11117. (WebCore::RenderVideo::supportsAcceleratedRendering): Ditto.
  11118. (WebCore::RenderVideo::acceleratedRenderingStateChanged): Ditto.
  11119. 2011-01-28 Pavel Feldman <pfeldman@chromium.org>
  11120. Reviewed by Yury Semikhatsky.
  11121. Web Inspector: allow remote debugging with front-end
  11122. served from the cloud.
  11123. https://bugs.webkit.org/show_bug.cgi?id=53303
  11124. * inspector/front-end/inspector.js:
  11125. 2011-01-28 Aparna Nandyal <aparna.nand@wipro.com>
  11126. Reviewed by Andreas Kling.
  11127. Setting value of m_PressedPos to make scrolling smooth
  11128. Page scroll popup menu "Scroll here" option not working when cliking above scroll slider/handler.
  11129. https://bugs.webkit.org/show_bug.cgi?id=51349
  11130. The value of m_PressedPos was getting set before moveThumb() call
  11131. in all other scenarios except when "Scroll Here" option is used.
  11132. Hence scrolling with this option was not as expected even in cases
  11133. where scrolling was happening. The thumb would move in unexpected
  11134. direction. m_PressedPos is now set to pressed position so delta is
  11135. calculated.
  11136. Unable to write a test case as the test needs to click on "Scroll
  11137. Here" option of context sensitive menu and QTest is unable to do it.
  11138. Besides no new functionality introduced.
  11139. * platform/qt/ScrollbarQt.cpp:
  11140. (WebCore::Scrollbar::contextMenu):
  11141. 2011-01-28 Andrey Kosyakov <caseq@chromium.org>
  11142. Reviewed by Pavel Feldman.
  11143. Web Inspector: [Extensions API] add JSON schema for extensions API
  11144. https://bugs.webkit.org/show_bug.cgi?id=53236
  11145. * inspector/front-end/ExtensionAPISchema.json: Added.
  11146. 2011-01-27 Zhenyao Mo <zmo@google.com>
  11147. Reviewed by Kenneth Russell.
  11148. Remove _LENGTH enumerants
  11149. https://bugs.webkit.org/show_bug.cgi?id=53259
  11150. * html/canvas/WebGLRenderingContext.cpp: Remove queries for *LENGTH.
  11151. (WebCore::WebGLRenderingContext::getProgramParameter):
  11152. (WebCore::WebGLRenderingContext::getShaderParameter):
  11153. * html/canvas/WebGLRenderingContext.idl: Remove *LENGTH.
  11154. 2011-01-28 Alexander Pavlov <apavlov@chromium.org>
  11155. Reviewed by Yury Semikhatsky.
  11156. Web Inspector: syntax highlight inline JS and CSS in HTML resources
  11157. https://bugs.webkit.org/show_bug.cgi?id=30831
  11158. * inspector/front-end/SourceHTMLTokenizer.js:
  11159. (WebInspector.SourceHTMLTokenizer):
  11160. (WebInspector.SourceHTMLTokenizer.prototype.set line):
  11161. (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
  11162. * inspector/front-end/SourceHTMLTokenizer.re2js:
  11163. 2011-01-28 Alexander Pavlov <apavlov@chromium.org>
  11164. Reviewed by Yury Semikhatsky.
  11165. Web Inspector: [STYLES] Up/Down-suggestion breaks an existing keyword
  11166. https://bugs.webkit.org/show_bug.cgi?id=53295
  11167. Select the current word suffix before switching to the next suggestion.
  11168. * inspector/front-end/StylesSidebarPane.js:
  11169. ():
  11170. 2011-01-28 Alejandro G. Castro <alex@igalia.com>
  11171. Reviewed by Xan Lopez.
  11172. [GTK] Fix dist compilation for the release
  11173. https://bugs.webkit.org/show_bug.cgi?id=53290
  11174. * GNUmakefile.am: Added inspector files to the extra dist.
  11175. 2011-01-28 Ilya Sherman <isherman@chromium.org>
  11176. Reviewed by Andreas Kling.
  11177. Const-correct HTMLSelectElement and WebSelectElement
  11178. https://bugs.webkit.org/show_bug.cgi?id=53293
  11179. * html/HTMLSelectElement.cpp:
  11180. (WebCore::HTMLSelectElement::value): const.
  11181. * html/HTMLSelectElement.h:
  11182. 2011-01-28 Sheriff Bot <webkit.review.bot@gmail.com>
  11183. Unreviewed, rolling out r76893.
  11184. http://trac.webkit.org/changeset/76893
  11185. https://bugs.webkit.org/show_bug.cgi?id=53287
  11186. It made some tests crash on GTK and Qt debug bots (Requested
  11187. by Ossy on #webkit).
  11188. * bridge/runtime_root.cpp:
  11189. (JSC::Bindings::RootObject::invalidate):
  11190. (JSC::Bindings::RootObject::addRuntimeObject):
  11191. (JSC::Bindings::RootObject::removeRuntimeObject):
  11192. * bridge/runtime_root.h:
  11193. 2011-01-27 Greg Coletta <greg.coletta@nokia.com>
  11194. Reviewed by Laszlo Gombos.
  11195. Get rid of prefix header dependency for WebKit2 build system
  11196. https://bugs.webkit.org/show_bug.cgi?id=50174
  11197. Guard EmptyProtocalDefinitions.h to make sure it's not included twice.
  11198. * platform/mac/EmptyProtocolDefinitions.h:
  11199. 2011-01-27 Abhishek Arya <inferno@chromium.org>
  11200. Reviewed by Dan Bernstein.
  11201. Recalc table sections if needed before calculating the first line
  11202. box baseline.
  11203. https://bugs.webkit.org/show_bug.cgi?id=53265
  11204. When we try to calculate the baseline position of a table cell,
  11205. we recurse through all the child sibling boxes (when children are
  11206. non inline) and add their first linebox baseline values. If one of
  11207. the children is a table with pending section recalc, we will access
  11208. wrong table section values. We recalc table sections if it is needed.
  11209. Test: fast/table/recalc-section-first-body-crash-main.html
  11210. * rendering/RenderTable.cpp:
  11211. (WebCore::RenderTable::firstLineBoxBaseline):
  11212. 2011-01-27 Adrienne Walker <enne@google.com>
  11213. Reviewed by Kenneth Russell.
  11214. [chromium] Add CRASH calls to further debug tiled compositor memcpy crash.
  11215. https://bugs.webkit.org/show_bug.cgi?id=52379
  11216. Test: LayoutTests/compositing (to verify these weren't triggered)
  11217. * platform/graphics/chromium/LayerTilerChromium.cpp:
  11218. (WebCore::LayerTilerChromium::invalidateRect):
  11219. (WebCore::LayerTilerChromium::update):
  11220. 2011-01-27 Alexander Pavlov <apavlov@chromium.org>
  11221. Reviewed by Pavel Feldman.
  11222. Web Inspector: [STYLES] Cancelled suggestion of a property name results in a visual artifact
  11223. https://bugs.webkit.org/show_bug.cgi?id=53242
  11224. * inspector/front-end/StylesSidebarPane.js:
  11225. (WebInspector.StylePropertyTreeElement.prototype):
  11226. 2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com>
  11227. Unreviewed, rolling out r76891.
  11228. http://trac.webkit.org/changeset/76891
  11229. https://bugs.webkit.org/show_bug.cgi?id=53280
  11230. Makes every layout test crash (Requested by othermaciej on
  11231. #webkit).
  11232. * page/EventHandler.cpp:
  11233. * page/EventHandler.h:
  11234. * rendering/RenderObject.cpp:
  11235. (WebCore::RenderObject::styleDidChange):
  11236. 2011-01-27 Ryosuke Niwa <rniwa@webkit.org>
  11237. Unreviewed, rolling out r76839.
  11238. http://trac.webkit.org/changeset/76839
  11239. https://bugs.webkit.org/show_bug.cgi?id=49744
  11240. broke pixel tests
  11241. * rendering/RenderBox.cpp:
  11242. (WebCore::RenderBox::localCaretRect):
  11243. 2011-01-27 Emil A Eklund <eae@chromium.org>
  11244. Reviewed by Darin Adler.
  11245. contentEditable formatBlock crashes on divs with contenteditable="false"
  11246. https://bugs.webkit.org/show_bug.cgi?id=53263
  11247. Check if editableRootForPosition returns null for position.
  11248. Test: editing/execCommand/format-block-contenteditable-false.html
  11249. * editing/FormatBlockCommand.cpp:
  11250. (WebCore::FormatBlockCommand::formatRange):
  11251. 2011-01-27 Dimitri Glazkov <dglazkov@chromium.org>
  11252. Reviewed by Darin Adler.
  11253. Remove RenderMedia members that aren't used.
  11254. https://bugs.webkit.org/show_bug.cgi?id=53245
  11255. Refactoring, no change in behavior, so no new tests.
  11256. * rendering/RenderMedia.h: Removed unused member variables.
  11257. 2011-01-27 Michael Saboff <msaboff@apple.com>
  11258. Reviewed by Darin Adler.
  11259. Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
  11260. https://bugs.webkit.org/show_bug.cgi?id=53271
  11261. Precautionary change.
  11262. Changed RootObject to use WeakGCMap instead of HashSet.
  11263. Found will looking for another issue, but can't produce a test case
  11264. that is problematic. THerefore there aren't any new tests.
  11265. * bridge/runtime_root.cpp:
  11266. (JSC::Bindings::RootObject::invalidate):
  11267. (JSC::Bindings::RootObject::addRuntimeObject):
  11268. (JSC::Bindings::RootObject::removeRuntimeObject):
  11269. * bridge/runtime_root.h:
  11270. 2011-01-27 Kenneth Russell <kbr@google.com>
  11271. Reviewed by James Robinson.
  11272. Rename Typed Array slice() to subset()
  11273. https://bugs.webkit.org/show_bug.cgi?id=53273
  11274. * bindings/js/JSArrayBufferViewHelper.h:
  11275. (WebCore::constructArrayBufferView):
  11276. * bindings/v8/custom/V8ArrayBufferViewCustom.h:
  11277. (WebCore::constructWebGLArray):
  11278. * html/canvas/Float32Array.cpp:
  11279. (WebCore::Float32Array::subset):
  11280. * html/canvas/Float32Array.h:
  11281. * html/canvas/Float32Array.idl:
  11282. * html/canvas/Int16Array.cpp:
  11283. (WebCore::Int16Array::subset):
  11284. * html/canvas/Int16Array.h:
  11285. * html/canvas/Int16Array.idl:
  11286. * html/canvas/Int32Array.cpp:
  11287. (WebCore::Int32Array::subset):
  11288. * html/canvas/Int32Array.h:
  11289. * html/canvas/Int32Array.idl:
  11290. * html/canvas/Int8Array.cpp:
  11291. (WebCore::Int8Array::subset):
  11292. * html/canvas/Int8Array.h:
  11293. * html/canvas/Int8Array.idl:
  11294. * html/canvas/TypedArrayBase.h:
  11295. (WebCore::TypedArrayBase::subsetImpl):
  11296. * html/canvas/Uint16Array.cpp:
  11297. (WebCore::Uint16Array::subset):
  11298. * html/canvas/Uint16Array.h:
  11299. * html/canvas/Uint16Array.idl:
  11300. * html/canvas/Uint32Array.cpp:
  11301. (WebCore::Uint32Array::subset):
  11302. * html/canvas/Uint32Array.h:
  11303. * html/canvas/Uint32Array.idl:
  11304. * html/canvas/Uint8Array.cpp:
  11305. (WebCore::Uint8Array::subset):
  11306. * html/canvas/Uint8Array.h:
  11307. * html/canvas/Uint8Array.idl:
  11308. 2011-01-27 Darin Adler <darin@apple.com>
  11309. Reviewed by Dan Bernstein.
  11310. Changing cursor style has no effect until the mouse moves
  11311. https://bugs.webkit.org/show_bug.cgi?id=14344
  11312. rdar://problem/7563712
  11313. No tests added because we don't have infrastructure for testing actual cursor
  11314. changes (as opposed to cursor style computation) at this time. We might add it later.
  11315. * page/EventHandler.cpp:
  11316. (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): Added.
  11317. * page/EventHandler.h: Ditto.
  11318. * rendering/RenderObject.cpp:
  11319. (WebCore::areNonIdenticalCursorListsEqual): Added.
  11320. (WebCore::areCursorsEqual): Added.
  11321. (WebCore::RenderObject::styleDidChange): Call dispatchFakeMouseMoveEventSoon if
  11322. cursor styles changed.
  11323. 2011-01-27 Leo Yang <leo.yang@torchmobile.com.cn>
  11324. Reviewed by Dirk Schulze.
  11325. SVG Use Cycle is not detected
  11326. https://bugs.webkit.org/show_bug.cgi?id=52544
  11327. We should check if SVGUseElement::buildInstanceTree finds problem
  11328. for every child node. If it finds problem for any children we must
  11329. return immediately because otherwise the foundProblem variable may
  11330. be rewritten to false.
  11331. Test: svg/custom/recursive-use2.svg
  11332. * svg/SVGUseElement.cpp:
  11333. (WebCore::SVGUseElement::buildInstanceTree):
  11334. 2011-01-27 Zhenyao Mo <zmo@google.com>
  11335. Reviewed by Kenneth Russell.
  11336. texSubImage2D's format/type needs to match the internalformat/type from the previous texImage2D call
  11337. https://bugs.webkit.org/show_bug.cgi?id=53054
  11338. Test: fast/canvas/webgl/tex-sub-image-2d-bad-args.html
  11339. * html/canvas/WebGLRenderingContext.cpp:
  11340. (WebCore::WebGLRenderingContext::texSubImage2DBase): Check format/type match.
  11341. 2011-01-27 Yi Shen <yi.4.shen@nokia.com>, Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
  11342. Reviewed by Andreas Kling.
  11343. [Qt] Add fullscreen media control button for html video
  11344. https://bugs.webkit.org/show_bug.cgi?id=51543
  11345. Implement media control fullscreen button for QtWebKit html5 video.
  11346. * css/mediaControlsQt.css:
  11347. (video::-webkit-media-controls-fullscreen-button):
  11348. * platform/qt/RenderThemeQt.cpp:
  11349. (WebCore::RenderThemeQt::paintMediaFullscreenButton):
  11350. 2011-01-27 Nate Chapin <japhet@chromium.org>
  11351. Reviewed by Adam Barth.
  11352. Remove FrameLoader::url() and update callers to use
  11353. Document::url().
  11354. https://bugs.webkit.org/show_bug.cgi?id=41165
  11355. Refactor, no new tests.
  11356. * WebCore.exp.in:
  11357. * dom/Document.cpp:
  11358. (WebCore::Document::processHttpEquiv):
  11359. (WebCore::Document::removePendingSheet):
  11360. * history/CachedFrame.cpp:
  11361. (WebCore::CachedFrameBase::CachedFrameBase):
  11362. * history/PageCache.cpp:
  11363. (WebCore::logCanCacheFrameDecision):
  11364. (WebCore::PageCache::canCachePageContainingThisFrame):
  11365. * html/HTMLFrameElementBase.cpp:
  11366. (WebCore::HTMLFrameElementBase::isURLAllowed):
  11367. * html/HTMLPlugInImageElement.cpp:
  11368. (WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL):
  11369. * inspector/InspectorAgent.cpp:
  11370. (WebCore::InspectorAgent::inspectedURL):
  11371. * inspector/InspectorResourceAgent.cpp:
  11372. (WebCore::buildObjectForFrame):
  11373. * loader/DocumentWriter.cpp:
  11374. (WebCore::DocumentWriter::replaceDocument):
  11375. (WebCore::DocumentWriter::deprecatedFrameEncoding):
  11376. * loader/FrameLoader.cpp:
  11377. * loader/FrameLoader.h:
  11378. * loader/HistoryController.cpp:
  11379. (WebCore::HistoryController::updateForStandardLoad):
  11380. (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
  11381. (WebCore::HistoryController::updateForSameDocumentNavigation):
  11382. * loader/NavigationScheduler.cpp:
  11383. (WebCore::ScheduledHistoryNavigation::fire):
  11384. (WebCore::NavigationScheduler::scheduleLocationChange):
  11385. (WebCore::NavigationScheduler::scheduleRefresh):
  11386. * page/FrameView.cpp:
  11387. (WebCore::FrameView::updateControlTints):
  11388. * page/Location.cpp:
  11389. (WebCore::Location::url):
  11390. (WebCore::Location::setProtocol):
  11391. (WebCore::Location::setHost):
  11392. (WebCore::Location::setHostname):
  11393. (WebCore::Location::setPort):
  11394. (WebCore::Location::setPathname):
  11395. (WebCore::Location::setSearch):
  11396. (WebCore::Location::setHash):
  11397. (WebCore::Location::reload):
  11398. * page/Page.cpp:
  11399. (WebCore::Page::goToItem):
  11400. 2011-01-27 Stephen White <senorblanco@chromium.org>
  11401. Reviewed by Darin Adler.
  11402. Fix performance regression in ImageQualityController::objectDestroyed().
  11403. https://bugs.webkit.org/show_bug.cgi?id=52645
  11404. In r72282, I inadvertently introduced this regression by using a
  11405. linear search through the hash map on object destruction. This was
  11406. because the hash key consisted of both object pointer and layer id,
  11407. but on object destruction we only know the object pointer, requiring
  11408. a search to find all the layers.
  11409. By replacing the hash map with two nested hash maps, where the outer key
  11410. is the object and the inner key is the layer, we can find all the
  11411. relevant data for an object in one hash lookup.
  11412. * rendering/RenderBoxModelObject.cpp:
  11413. Replace the (object,layer)->size HashMap with object->layer and
  11414. layer->size HashMaps.
  11415. (WebCore::ImageQualityController::isEmpty):
  11416. Implement isEmpty() for the outer HashMap.
  11417. (WebCore::ImageQualityController::removeLayer):
  11418. When a layer is removed, remove it from the inner hash map.
  11419. (WebCore::ImageQualityController::set):
  11420. Implement set(): if the inner map exists, set the layer->size tuple
  11421. directly. If not, create a new inner map, set the tuple, and insert
  11422. it in the outer map.
  11423. (WebCore::ImageQualityController::objectDestroyed):
  11424. Look up the object in the outer map only.
  11425. (WebCore::ImageQualityController::highQualityRepaintTimerFired):
  11426. Cosmetic changes for the renamed now-outer hash map.
  11427. (WebCore::ImageQualityController::shouldPaintAtLowQuality):
  11428. Do both outer and inner hash map lookups. Call set() to add/update
  11429. entries to the hash maps. keyDestroyed() is now removeLayer().
  11430. (WebCore::imageQualityController):
  11431. Make the ImageQualityController a file-static global, so it can be
  11432. created and destroyed on the fly.
  11433. (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
  11434. If there is no ImageQualityController, don't call objectDestroyed().
  11435. If it's empty, delete it.
  11436. * rendering/RenderImage.cpp:
  11437. (WebCore::RenderImage::paintIntoRect):
  11438. Also pass the Image* as the (void*) layer, since 0 is not a valid
  11439. HashMap key.
  11440. 2011-01-27 Adrienne Walker <enne@google.com>
  11441. Reviewed by James Robinson.
  11442. [chromium] Tiled compositor crashes if compositing turned off mid-paint
  11443. https://bugs.webkit.org/show_bug.cgi?id=53198
  11444. * platform/graphics/chromium/LayerRendererChromium.cpp:
  11445. (WebCore::LayerRendererChromium::drawLayers):
  11446. * platform/graphics/chromium/LayerTilerChromium.cpp:
  11447. (WebCore::LayerTilerChromium::update):
  11448. (WebCore::LayerTilerChromium::draw):
  11449. 2011-01-27 Carol Szabo <carol.szabo@nokia.com>
  11450. Reviewed by David Hyatt.
  11451. A corrupted counter tree is created when renderers are added to the
  11452. tree bypassing RenderObject::addChild
  11453. https://bugs.webkit.org/show_bug.cgi?id=51270
  11454. No new tests. This patch reimplements the fix for bugs 43812 and
  11455. 51637 and hence all tests are already there as part of the original
  11456. fixes for those bugs.
  11457. * rendering/RenderCounter.cpp:
  11458. (WebCore::findPlaceForCounter):
  11459. Removed old workaround as this patch hopefully fixes the real
  11460. problem.
  11461. * rendering/RenderObject.cpp:
  11462. (WebCore::RenderObject::addChild):
  11463. Removed call to counter updater as it was moved to a lower level.
  11464. (WebCore::RenderObject::destroy):
  11465. Moved attached counter nodes destruction to after the node is
  11466. removed from the tree.
  11467. * rendering/RenderObjectChildList.cpp:
  11468. (WebCore::RenderObjectChildList::removeChildNode):
  11469. (WebCore::RenderObjectChildList::appendChildNode):
  11470. (WebCore::RenderObjectChildList::insertChildNode):
  11471. Added notifications to the Counter system such that the
  11472. CounterForest reflects the changes to the RendererTree.
  11473. * rendering/RenderWidget.cpp:
  11474. (WebCore::RenderWidget::destroy):
  11475. Applied the same changes as for RenderObject::destroy()
  11476. since RenderObject::destroy() is not called from here.
  11477. 2011-01-27 Adam Roben <aroben@apple.com>
  11478. Add WKCACFViewLayerTreeHost
  11479. This is a class that derives from CACFLayerTreeHost and uses a WKCACFView to render.
  11480. Fixes <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost should use
  11481. WKCACFView for rendering
  11482. * WebCore.vcproj/WebCore.vcproj: Added WKCACFViewLayerTreeHost.{cpp,h}.
  11483. * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
  11484. (WebCore::CACFLayerTreeHost::acceleratedCompositingAvailable): Make the test window have a
  11485. non-zero size. WKCACFView will always say it can't render if you pass it a 0-sized window,
  11486. so we need a non-empty window to perform a valid test.
  11487. (WebCore::CACFLayerTreeHost::create): First try to create a WKCACFViewLayerTreeHost, then
  11488. fall back to a LegacyCACFLayerTreeHost.
  11489. (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Moved code to react to the
  11490. context flush from here...
  11491. (WebCore::CACFLayerTreeHost::contextDidChange): ...to here. Derived classes are required to
  11492. call this function whenever changes are flushed to the context.
  11493. * platform/graphics/ca/win/CACFLayerTreeHost.h: Added contextDidChange.
  11494. * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
  11495. (WebCore::LegacyCACFLayerTreeHost::createRenderer):
  11496. (WebCore::LegacyCACFLayerTreeHost::resize):
  11497. Changed to use flushContext instead of flushing the context manually so that we will always
  11498. notify the base class when the context gets flushed.
  11499. (WebCore::LegacyCACFLayerTreeHost::flushContext): Added a call to contextDidChange so the
  11500. base class will know what happened. Moved code to schedule a render from here...
  11501. (WebCore::LegacyCACFLayerTreeHost::contextDidChange): ...to here.
  11502. * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: Added contextDidChange.
  11503. * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: Added.
  11504. (WebCore::WKCACFViewLayerTreeHost::create): If WebKitQuartzCoreAdditions, which provides
  11505. WKCACFView, isn't present, bail. Otherwise allocate and return a new host.
  11506. (WebCore::WKCACFViewLayerTreeHost::WKCACFViewLayerTreeHost): Initialize members.
  11507. (WebCore::WKCACFViewLayerTreeHost::updateViewIfNeeded): Update the view if we previously
  11508. marked that we needed to do so, and flush the context if our layer's bounds have changed.
  11509. (WebCore::WKCACFViewLayerTreeHost::contextDidChangeCallback): Call through to
  11510. contextDidChange.
  11511. (WebCore::WKCACFViewLayerTreeHost::contextDidChange): Tell the WKCACFView to start rendering
  11512. (if we didn't already), then call up to the base class.
  11513. (WebCore::WKCACFViewLayerTreeHost::initializeContext): Set the context's user data, the
  11514. view's layer, and hook up our "context did change" callback.
  11515. (WebCore::WKCACFViewLayerTreeHost::resize): Mark that the view needs to be updated the next
  11516. time we paint.
  11517. (WebCore::WKCACFViewLayerTreeHost::createRenderer): Update our view and return whether it is
  11518. able to render or not.
  11519. (WebCore::WKCACFViewLayerTreeHost::destroyRenderer): Clear out all the info we passed down
  11520. to the view.
  11521. (WebCore::WKCACFViewLayerTreeHost::lastCommitTime): Call through to the view.
  11522. (WebCore::WKCACFViewLayerTreeHost::flushContext): Ditto.
  11523. (WebCore::WKCACFViewLayerTreeHost::paint): Update the view so it will draw at the right
  11524. size, then call up to the base class.
  11525. (WebCore::WKCACFViewLayerTreeHost::render): Invalidate the view using the passed-in dirty
  11526. rects, then ask it to draw.
  11527. * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h: Copied from Source/WebCore/platform/graphics/ca/win/LegacyCACFLayerTreeHost.h.
  11528. 2011-01-27 Adam Roben <aroben@apple.com>
  11529. Move LegacyCACFLayerTreeHost into its own files
  11530. More preparation for <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost
  11531. should use WKCACFView for rendering
  11532. Reviewed by Simon Fraser.
  11533. * WebCore.vcproj/WebCore.vcproj: Added LegacyCACFLayerTreeHost.{cpp,h}.
  11534. * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Moved code from here to new files.
  11535. * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp: Added.
  11536. * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: Added.
  11537. 2011-01-27 Patrick Gansterer <paroga@webkit.org>
  11538. Unreviewed WinCE build fix for r76824.
  11539. * platform/wince/DragDataWinCE.cpp:
  11540. (WebCore::DragData::dragDataMap):
  11541. 2011-01-27 Adam Roben <aroben@apple.com>
  11542. Split CACFLayerTreeHost into base and derived classes
  11543. The derived class, LegacyCACFLayerTreeHost, contains all the D3D-related code. A later patch
  11544. will add a new derived class that replaces the D3D code with a different rendering API.
  11545. For now, LegacyCACFLayerTreeHost lives in CACFLayerTreeHost.cpp. This keeps the diff a
  11546. little smaller. A later patch will move it to its own source files.
  11547. Preparation for <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost
  11548. should use WKCACFView for rendering
  11549. Reviewed by Simon Fraser.
  11550. * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
  11551. (WebCore::CACFLayerTreeHost::acceleratedCompositingAvailable): Clear the window before
  11552. destroying the host, as that is now the API contract that clients must fulfill.
  11553. (WebCore::LegacyCACFLayerTreeHost::create): Added. Simple creator.
  11554. (WebCore::CACFLayerTreeHost::create): Now instantiates a LegacyCACFLayerTreeHost. Calls the
  11555. new initialize function to perform initialization that has to happen after the vtable has
  11556. been set up.
  11557. (WebCore::LegacyCACFLayerTreeHost::LegacyCACFLayerTreeHost):
  11558. (WebCore::CACFLayerTreeHost::CACFLayerTreeHost):
  11559. (WebCore::LegacyCACFLayerTreeHost::initializeContext):
  11560. (WebCore::CACFLayerTreeHost::initialize):
  11561. Moved some initialization code from the CACFLayerTreeHost constructor into these new
  11562. functions.
  11563. (WebCore::LegacyCACFLayerTreeHost::~LegacyCACFLayerTreeHost): Added. Moved code here from
  11564. ~CACFLayerTreeHost.
  11565. (WebCore::CACFLayerTreeHost::~CACFLayerTreeHost): Rather than clearing the window at this
  11566. point (which would be too late, since we won't be able to call into the derived class's
  11567. virtual functions), just assert that it has already been cleared (or was never set in the
  11568. first place).
  11569. (WebCore::LegacyCACFLayerTreeHost::createRenderer): Renamed from
  11570. CACFLayerTreeHost::createRenderer, and changed to use getters instead of accessing
  11571. CACFLayerTreeHost's data members directly.
  11572. (WebCore::LegacyCACFLayerTreeHost::destroyRenderer):
  11573. (WebCore::CACFLayerTreeHost::destroyRenderer):
  11574. Moved some code to the new LegacyCACFLayerTreeHost function.
  11575. (WebCore::LegacyCACFLayerTreeHost::resize):
  11576. (WebCore::LegacyCACFLayerTreeHost::renderTimerFired):
  11577. Moved these functions to LegacyCACFLayerTreeHost.
  11578. (WebCore::LegacyCACFLayerTreeHost::paint):
  11579. (WebCore::CACFLayerTreeHost::paint):
  11580. Moved some code to the new LegacyCACFLayerTreeHost function.
  11581. (WebCore::LegacyCACFLayerTreeHost::render):
  11582. (WebCore::LegacyCACFLayerTreeHost::renderSoon):
  11583. Moved these functions to LegacyCACFLayerTreeHost.
  11584. (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Moved code to flush the context
  11585. from here...
  11586. (WebCore::LegacyCACFLayerTreeHost::flushContext): ...to this new function.
  11587. (WebCore::LegacyCACFLayerTreeHost::lastCommitTime): Moved code to get the last commit time
  11588. to this new function...
  11589. (WebCore::CACFLayerTreeHost::notifyAnimationsStarted): ...from here.
  11590. (WebCore::LegacyCACFLayerTreeHost::initD3DGeometry):
  11591. (WebCore::LegacyCACFLayerTreeHost::resetDevice):
  11592. Moved these functions to LegacyCACFLayerTreeHost.
  11593. * platform/graphics/ca/win/CACFLayerTreeHost.h: Made some functions virtual, removed some
  11594. members that have moved to LegacyCACFLayerTreeHost, grouped remaining members more
  11595. logically, and added some getters used by LegacyCACFLayerTreeHost.
  11596. 2011-01-27 Adam Roben <aroben@apple.com>
  11597. Move CACFLayerTreeHostClient to its own header file
  11598. Rubber-stamped by Steve Falkenburg.
  11599. * WebCore.vcproj/WebCore.vcproj: Added CACFLayerTreeHostClient.h. Also let VS have its way
  11600. with the file.
  11601. * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Added new #include.
  11602. * platform/graphics/ca/win/CACFLayerTreeHost.h: Removed CACFLayerTreeHostClient.
  11603. * platform/graphics/ca/win/CACFLayerTreeHostClient.h: Added.
  11604. * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Moved some #includes here
  11605. from the header file.
  11606. * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Replaced broader #includes
  11607. with more specific ones, plus a forward-declaration.
  11608. 2011-01-27 James Simonsen <simonjam@chromium.org>
  11609. Reviewed by Tony Chang.
  11610. [Chromium] Simplify small caps logic in complex text on linux
  11611. https://bugs.webkit.org/show_bug.cgi?id=53207
  11612. Test: fast/text/atsui-multiple-renderers.html
  11613. fast/text/atsui-small-caps-punctuation-size.html
  11614. * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
  11615. (WebCore::ComplexTextController::nextScriptRun): Remove redundant logic. Case changes in a text run imply FontData changes.
  11616. (WebCore::ComplexTextController::setupFontForScriptRun): Update comment to reflect above.
  11617. 2011-01-27 Adam Barth <abarth@webkit.org>
  11618. In which I attempt to fix the EFL build.
  11619. * CMakeLists.txt:
  11620. 2011-01-25 Levi Weintraub <leviw@chromium.org>
  11621. Reviewed by Darin Adler.
  11622. Adding border and padding to the calculation of the local caret rect for RenderBoxes.
  11623. Corrected for mistake in r76625
  11624. Undo moves caret to invalid position
  11625. https://bugs.webkit.org/show_bug.cgi?id=49744
  11626. Tests: editing/selection/caret-painting-after-paste-undo-rtl.html
  11627. editing/selection/caret-painting-after-paste-undo.html
  11628. * rendering/RenderBox.cpp:
  11629. (WebCore::RenderBox::localCaretRect):
  11630. 2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com>
  11631. Unreviewed, rolling out r76825.
  11632. http://trac.webkit.org/changeset/76825
  11633. https://bugs.webkit.org/show_bug.cgi?id=53256
  11634. "caused crashes on GTK and chromium" (Requested by rniwa on
  11635. #webkit).
  11636. * rendering/RenderBoxModelObject.cpp:
  11637. (WebCore::ImageQualityController::keyDestroyed):
  11638. (WebCore::ImageQualityController::objectDestroyed):
  11639. (WebCore::ImageQualityController::highQualityRepaintTimerFired):
  11640. (WebCore::ImageQualityController::shouldPaintAtLowQuality):
  11641. (WebCore::imageQualityController):
  11642. (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
  11643. 2011-01-27 Adam Barth <abarth@webkit.org>
  11644. Reviewed by Eric Seidel.
  11645. Generalize the mechanism view-source uses to remember the source for an HTMLToken
  11646. https://bugs.webkit.org/show_bug.cgi?id=53200
  11647. Currently view-source tracks the source associated with each HTMLToken.
  11648. We want to re-use this mechanism for the new XSS auditor. This patch
  11649. moves this code into its own class so it can be shared between the
  11650. view-source parser and the general HTML parser. This patch also add
  11651. support for tracking the source of tokens that span document.write
  11652. boundaries.
  11653. No functional change. This code change is somewhat tested by our
  11654. view-source layout tests.
  11655. * Android.mk:
  11656. * GNUmakefile.am:
  11657. * WebCore.gypi:
  11658. * WebCore.pro:
  11659. * WebCore.vcproj/WebCore.vcproj:
  11660. * WebCore.xcodeproj/project.pbxproj:
  11661. - Fun with updating build files.
  11662. * html/parser/HTMLDocumentParser.cpp:
  11663. (WebCore::HTMLDocumentParser::pumpTokenizer):
  11664. - Teach HTMLDocumentParser to track the source for HTMLTokens.
  11665. Currently, this information isn't used, but it will be shortly.
  11666. I ran the HTML parser benchmark and this change didn't have a
  11667. measurable effect.
  11668. * html/parser/HTMLDocumentParser.h:
  11669. - Composite in the HTMLSourceTracker.
  11670. * html/parser/HTMLSourceTracker.cpp: Added.
  11671. (WebCore::HTMLSourceTracker::HTMLSourceTracker):
  11672. (WebCore::HTMLSourceTracker::start):
  11673. (WebCore::HTMLSourceTracker::end):
  11674. - This function should eventualy be folded into HTMLTokenizer.
  11675. (WebCore::HTMLSourceTracker::sourceForToken):
  11676. * html/parser/HTMLSourceTracker.h: Added.
  11677. * html/parser/HTMLToken.h:
  11678. - Now HTMLTokens always have a start index of zero. To do the job
  11679. of the old start index, this patch introduces the notion of a
  11680. baseOffset. Unlike the start index (which was used as the base
  11681. offset for all the other indicies), the baseOffset can change
  11682. over the lifetime of the token. We need the flexibility to
  11683. change the offset for tokens that span document.write boundaries.
  11684. Values are now normalized to zero-offset when stored.
  11685. (WebCore::HTMLToken::clear):
  11686. (WebCore::HTMLToken::setBaseOffset):
  11687. (WebCore::HTMLToken::end):
  11688. (WebCore::HTMLToken::beginAttributeName):
  11689. (WebCore::HTMLToken::endAttributeName):
  11690. (WebCore::HTMLToken::beginAttributeValue):
  11691. (WebCore::HTMLToken::endAttributeValue):
  11692. * html/parser/HTMLViewSourceParser.cpp:
  11693. - Updates the HTMLViewSourceParser to use the new
  11694. HTMLSourceTracker.
  11695. (WebCore::HTMLViewSourceParser::pumpTokenizer):
  11696. (WebCore::HTMLViewSourceParser::append):
  11697. (WebCore::HTMLViewSourceParser::sourceForToken):
  11698. - This function now just calls through to HTMLSourceTracker.
  11699. * html/parser/HTMLViewSourceParser.h:
  11700. * platform/text/SegmentedString.cpp:
  11701. (WebCore::SegmentedString::currentColumn):
  11702. (WebCore::SegmentedString::setCurrentPosition):
  11703. * platform/text/SegmentedString.h:
  11704. (WebCore::SegmentedString::numberOfCharactersConsumed):
  11705. - We need to handle the general case now. The "slow" version
  11706. doesn't turn out to be any slower in practice anyway.
  11707. 2011-01-27 Sam Weinig <sam@webkit.org>
  11708. Fix all the builds.
  11709. * platform/ScrollView.cpp:
  11710. (WebCore::ScrollView::paintOverhangAreas): Add parameters.
  11711. 2011-01-27 Sam Weinig <sam@webkit.org>
  11712. Reviewed by Dave Hyatt.
  11713. Add ability to do an unconstrained scroll on a ScrollView
  11714. https://bugs.webkit.org/show_bug.cgi?id=53249
  11715. * platform/ScrollView.cpp:
  11716. (WebCore::ScrollView::ScrollView):
  11717. Initialize m_constrainsScrollingToContentEdge to true.
  11718. (WebCore::ScrollView::setScrollOffset):
  11719. Only constrain the offset if the m_constrainsScrollingToContentEdge is set.
  11720. (WebCore::ScrollView::updateScrollbars):
  11721. Simplify expression converting an IntSize to an IntPoint.
  11722. (WebCore::ScrollView::paint):
  11723. Paint the overhang if there is any.
  11724. (WebCore::ScrollView::calculateOverhangAreasForPainting):
  11725. Calculate the overhang in viewport coordinates for painting.
  11726. * platform/ScrollView.h:
  11727. (WebCore::ScrollView::constrainsScrollingToContentEdge):
  11728. (WebCore::ScrollView::setConstrainsScrollingToContentEdge):
  11729. Add bit to control whether the scroll position should be constrained
  11730. to the content edge when set.
  11731. * platform/ScrollbarThemeComposite.cpp:
  11732. (WebCore::usedTotalSize):
  11733. (WebCore::ScrollbarThemeComposite::thumbPosition):
  11734. (WebCore::ScrollbarThemeComposite::thumbLength):
  11735. * platform/mac/ScrollbarThemeMac.mm:
  11736. (WebCore::ScrollbarThemeMac::paint):
  11737. Improve calculations of thumb size and position to take overhang into account.
  11738. 2011-01-27 Dirk Schulze <krit@webkit.org>
  11739. Reviewed by Nikolas Zimmermann.
  11740. SVG animation of Paths with segments of different coordinate modes on begin and end
  11741. https://bugs.webkit.org/show_bug.cgi?id=52984
  11742. At the moment we just support SVG path animations, if the number of segments on the given start path
  11743. is the same as the number of segments on the given end path. But a segment on a given position must be identical
  11744. on both paths as well. Not only the segment type, also the coordinate mode of the segments must be identical.
  11745. If MoveToRel is on the second position on the start path a MoveToRel must be on the second position
  11746. of the end path too. According to the SVG spec, at least the coordinate mode can differ. Means, if we have MoveToRel
  11747. in the start path, we can use MoveToAbs on the same position in the end path.
  11748. This patch fixes the blending code to follow the spec here. It was necessary to track the current position of
  11749. both paths, transform coordinates to the same coordinate mode and transform the resulting animation coordinate back
  11750. to the coordinate mode of either the start or the end path. Which mode is taken depends on the progress of the
  11751. animation.
  11752. Tests: svg/animations/animate-path-animation-Cc-Ss.html
  11753. svg/animations/animate-path-animation-Ll-Vv-Hh.html
  11754. svg/animations/animate-path-animation-Qq-Tt.html
  11755. svg/animations/animate-path-animation-cC-sS-inverse.html
  11756. svg/animations/animate-path-animation-lL-vV-hH-inverse.html
  11757. svg/animations/animate-path-animation-qQ-tT-inverse.html
  11758. * svg/SVGPathBlender.cpp:
  11759. (WebCore::blendFloatPoint):
  11760. (WebCore::blendAnimatedFloat):
  11761. (WebCore::SVGPathBlender::blendAnimatedDimensionalFloat):
  11762. (WebCore::SVGPathBlender::blendAnimatedFloatPoint):
  11763. (WebCore::SVGPathBlender::blendMoveToSegment):
  11764. (WebCore::SVGPathBlender::blendLineToSegment):
  11765. (WebCore::SVGPathBlender::blendLineToHorizontalSegment):
  11766. (WebCore::SVGPathBlender::blendLineToVerticalSegment):
  11767. (WebCore::SVGPathBlender::blendCurveToCubicSegment):
  11768. (WebCore::SVGPathBlender::blendCurveToCubicSmoothSegment):
  11769. (WebCore::SVGPathBlender::blendCurveToQuadraticSegment):
  11770. (WebCore::SVGPathBlender::blendCurveToQuadraticSmoothSegment):
  11771. (WebCore::SVGPathBlender::blendArcToSegment):
  11772. (WebCore::coordinateModeOfCommand):
  11773. (WebCore::isSegmentEqual):
  11774. (WebCore::SVGPathBlender::blendAnimatedPath):
  11775. (WebCore::SVGPathBlender::cleanup):
  11776. * svg/SVGPathBlender.h:
  11777. 2011-01-27 Cris Neckar <cdn@chromium.org>
  11778. Reviewed by Dimitri Glazkov.
  11779. Clear the parent on a css keyframe's m_style when removing it from the stylesheet.
  11780. https://bugs.webkit.org/show_bug.cgi?id=52320
  11781. Test: fast/css/css-keyframe-style-crash.html
  11782. * css/CSSRuleList.cpp:
  11783. (WebCore::CSSRuleList::deleteRule):
  11784. * css/WebKitCSSKeyframesRule.cpp:
  11785. (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
  11786. 2011-01-27 Rob Buis <rwlbuis@gmail.com>
  11787. Reviewed by Kent Tamura.
  11788. Color changes to option elements in a select multiple aren't drawn immediately
  11789. https://bugs.webkit.org/show_bug.cgi?id=49790
  11790. Redirect style changes on <option> element to the owner <select> element.
  11791. Test: fast/repaint/select-option-background-color.html
  11792. * html/HTMLOptionElement.cpp:
  11793. (WebCore::HTMLOptionElement::setRenderStyle):
  11794. 2011-01-19 Stephen White <senorblanco@chromium.org>
  11795. Reviewed by Darin Adler.
  11796. Fix performance regression in ImageQualityController::objectDestroyed().
  11797. https://bugs.webkit.org/show_bug.cgi?id=52645
  11798. In r72282, I inadvertently introduced this regression by using a
  11799. linear search through the hash map on object destruction. This was
  11800. because the hash key consisted of both object pointer and layer id,
  11801. but on object destruction we only know the object pointer, requiring
  11802. a search to find all the layers.
  11803. By replacing the hash map with two nested hash maps, where the outer key
  11804. is the object and the inner key is the layer, we can find all the
  11805. relevant data for an object in one hash lookup.
  11806. * rendering/RenderBoxModelObject.cpp:
  11807. Replace the (object,layer)->size HashMap with object->layer and
  11808. layer->size HashMaps.
  11809. (WebCore::ImageQualityController::isEmpty):
  11810. Implement isEmpty() for the outer HashMap.
  11811. (WebCore::ImageQualityController::removeLayer):
  11812. When a layer is removed, remove it from the inner hash map.
  11813. (WebCore::ImageQualityController::set):
  11814. Implement set(): if the inner map exists, set the layer->size tuple
  11815. directly. If not, create a new inner map, set the tuple, and insert
  11816. it in the outer map.
  11817. (WebCore::ImageQualityController::objectDestroyed):
  11818. Look up the object in the outer map only.
  11819. (WebCore::ImageQualityController::highQualityRepaintTimerFired):
  11820. Cosmetic changes for the renamed now-outer hash map.
  11821. (WebCore::ImageQualityController::shouldPaintAtLowQuality):
  11822. Do both outer and inner hash map lookups. Call set() to add/update
  11823. entries to the hash maps. keyDestroyed() is now removeLayer().
  11824. (WebCore::imageQualityController):
  11825. Make the ImageQualityController a file-static global, so it can be
  11826. created and destroyed on the fly.
  11827. (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
  11828. If there is no ImageQualityController, don't call objectDestroyed().
  11829. If it's empty, delete it.
  11830. 2011-01-26 Enrica Casucci <enrica@apple.com>
  11831. Reviewed by Darin Adler and Adam Roben.
  11832. WebKit2: add support for drag and drop on Windows
  11833. https://bugs.webkit.org/show_bug.cgi?id=52775
  11834. <rdar://problem/8514409>
  11835. On Windows the access to the content being dragged is
  11836. provided via the IDataObject interface that is made available
  11837. to the window that registers itself as drop target.
  11838. Since this interface cannot be accessed from the WebProcess,
  11839. in every call to one of the methods of the IDropTarget interface
  11840. we serialize the content of the drag clipboard and send it over to
  11841. the WebProcess.
  11842. The bulk of this patch consists in the refactoring needed in DragData
  11843. and ClipboardWin classes to extract the data from the serialized object.
  11844. * platform/DragData.cpp:
  11845. * platform/DragData.h:
  11846. * platform/win/ClipboardUtilitiesWin.cpp:
  11847. (WebCore::getWebLocData):
  11848. (WebCore::getURL):
  11849. (WebCore::getPlainText):
  11850. (WebCore::getTextHTML):
  11851. (WebCore::getCFHTML):
  11852. (WebCore::fragmentFromFilenames):
  11853. (WebCore::containsFilenames):
  11854. (WebCore::fragmentFromHTML):
  11855. (WebCore::containsHTML):
  11856. (WebCore::getClipboardData):
  11857. * platform/win/ClipboardUtilitiesWin.h:
  11858. * platform/win/ClipboardWin.cpp:
  11859. (WebCore::Clipboard::create):
  11860. (WebCore::ClipboardWin::ClipboardWin):
  11861. (WebCore::ClipboardWin::getData):
  11862. (WebCore::ClipboardWin::types):
  11863. (WebCore::ClipboardWin::files):
  11864. (WebCore::ClipboardWin::hasData):
  11865. * platform/win/ClipboardWin.h:
  11866. (WebCore::ClipboardWin::create):
  11867. * platform/win/DragDataWin.cpp:
  11868. (WebCore::DragData::DragData):
  11869. (WebCore::DragData::containsURL):
  11870. (WebCore::DragData::dragDataMap):
  11871. (WebCore::DragData::asURL):
  11872. (WebCore::DragData::containsFiles):
  11873. (WebCore::DragData::asFilenames):
  11874. (WebCore::DragData::containsPlainText):
  11875. (WebCore::DragData::asPlainText):
  11876. (WebCore::DragData::canSmartReplace):
  11877. (WebCore::DragData::containsCompatibleContent):
  11878. (WebCore::DragData::asFragment):
  11879. 2011-01-27 Mario Sanchez Prada <msanchez@igalia.com>
  11880. Reviewed by Martin Robinson.
  11881. [GTK] Space characters in source document interfere with reported caret offset
  11882. https://bugs.webkit.org/show_bug.cgi?id=53033
  11883. Calculate caret offset from rendered text instead of from node contents.
  11884. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
  11885. (objectAndOffsetUnignored): Calculate the caret offset based only
  11886. on positions and ranges, instead of using the computed offset in
  11887. the container node.
  11888. 2011-01-26 Alexey Proskuryakov <ap@apple.com>
  11889. Reviewed by Darin Adler.
  11890. https://bugs.webkit.org/show_bug.cgi?id=53197
  11891. <rdar://problem/8895682> Make WebKit2 printing asynchronous
  11892. * WebCore.exp.in: Export more PrintContext methods that we didn't use on Mac before.
  11893. * page/PrintContext.cpp: (WebCore::PrintContext::spoolRect): Changed to make the same
  11894. transformation as spoolPages does for consistency.
  11895. 2011-01-27 David Grogan <dgrogan@google.com>
  11896. Reviewed by Jeremy Orlow.
  11897. initial support for close() in indexeddb backend
  11898. https://bugs.webkit.org/show_bug.cgi?id=53150
  11899. Test: storage/indexeddb/transaction-after-close.html
  11900. * storage/IDBDatabase.cpp:
  11901. (WebCore::IDBDatabase::IDBDatabase):
  11902. (WebCore::IDBDatabase::transaction):
  11903. (WebCore::IDBDatabase::close):
  11904. * storage/IDBDatabase.h:
  11905. * storage/IDBDatabase.idl:
  11906. * storage/IDBDatabaseBackendImpl.cpp:
  11907. (WebCore::IDBDatabaseBackendImpl::transaction):
  11908. (WebCore::IDBDatabaseBackendImpl::close):
  11909. 2011-01-27 Dirk Schulze <krit@webkit.org>
  11910. Reviewed by Nikolas Zimmermann.
  11911. SVG animation doesn't support calcMode discrete for number and color values.
  11912. https://bugs.webkit.org/show_bug.cgi?id=53189
  11913. Add support for calcMode discrete on number and color animation.
  11914. Tests: svg/animations/animate-color-calcMode-discrete.html
  11915. svg/animations/animate-number-calcMode-discrete.html
  11916. * svg/SVGAnimateElement.cpp:
  11917. (WebCore::SVGAnimateElement::calculateAnimatedValue):
  11918. 2011-01-26 Zhenyao Mo <zmo@google.com>
  11919. Reviewed by Kenneth Russell.
  11920. shaderSource needs to preserve original source
  11921. https://bugs.webkit.org/show_bug.cgi?id=52833
  11922. Test: fast/canvas/webgl/gl-getshadersource.html
  11923. * html/canvas/WebGLRenderingContext.cpp:
  11924. (WebCore::WebGLRenderingContext::getShaderParameter): Intercept SHADER_SOURCE_LENGTH.
  11925. (WebCore::WebGLRenderingContext::getShaderSource): Intercept the call.
  11926. (WebCore::WebGLRenderingContext::shaderSource): Cache the source.
  11927. * html/canvas/WebGLShader.cpp: Cache shader source.
  11928. (WebCore::WebGLShader::WebGLShader):
  11929. * html/canvas/WebGLShader.h: Ditto.
  11930. (WebCore::WebGLShader::getSource):
  11931. (WebCore::WebGLShader::setSource):
  11932. 2011-01-27 Patrick Gansterer <paroga@webkit.org>
  11933. Unreviewed WinCE build fix for r76743.
  11934. * platform/graphics/wince/FontWinCE.cpp:
  11935. (WebCore::TextRunComponent::TextRunComponent):
  11936. 2011-01-27 Pavel Podivilov <podivilov@chromium.org>
  11937. Reviewed by Pavel Feldman.
  11938. Web Inspector: Closure and Global variable details automatically collapsing on each step through JavaScript code.
  11939. https://bugs.webkit.org/show_bug.cgi?id=53234
  11940. * inspector/front-end/ScopeChainSidebarPane.js:
  11941. (WebInspector.ScopeChainSidebarPane):
  11942. (WebInspector.ScopeChainSidebarPane.prototype.update):
  11943. 2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com>
  11944. Unreviewed, rolling out r76789.
  11945. http://trac.webkit.org/changeset/76789
  11946. https://bugs.webkit.org/show_bug.cgi?id=53238
  11947. Broke GTK layout tests (Requested by podivilov on #webkit).
  11948. * inspector/front-end/ScopeChainSidebarPane.js:
  11949. (WebInspector.ScopeChainSidebarPane):
  11950. (WebInspector.ScopeChainSidebarPane.prototype.update):
  11951. 2011-01-27 Yury Semikhatsky <yurys@chromium.org>
  11952. Reviewed by Pavel Feldman.
  11953. Web Inspector: store all settings related to the agents on the frontend side
  11954. https://bugs.webkit.org/show_bug.cgi?id=53174
  11955. * CMakeLists.txt:
  11956. * GNUmakefile.am:
  11957. * WebCore.exp.in:
  11958. * WebCore.gypi:
  11959. * WebCore.pro:
  11960. * WebCore.vcproj/WebCore.vcproj:
  11961. * WebCore.xcodeproj/project.pbxproj:
  11962. * bindings/js/ScriptDebugServer.cpp:
  11963. * bindings/js/ScriptDebugServer.h:
  11964. * bindings/js/ScriptProfiler.cpp:
  11965. * bindings/js/ScriptProfiler.h:
  11966. * bindings/v8/ScriptDebugServer.cpp:
  11967. * bindings/v8/ScriptDebugServer.h:
  11968. * bindings/v8/ScriptProfiler.cpp:
  11969. * bindings/v8/ScriptProfiler.h:
  11970. * inspector/Inspector.idl:
  11971. * inspector/InspectorAgent.cpp: profiler and debugger enablement state is now stored
  11972. on the front-end side and will be pushed to the backend when the frontend is loaded.
  11973. (WebCore::InspectorAgent::InspectorAgent):
  11974. (WebCore::InspectorAgent::disconnectFrontend):
  11975. (WebCore::InspectorAgent::restoreDebugger):
  11976. (WebCore::InspectorAgent::restoreProfiler):
  11977. (WebCore::InspectorAgent::enableProfiler):
  11978. (WebCore::InspectorAgent::disableProfiler):
  11979. (WebCore::InspectorAgent::showAndEnableDebugger):
  11980. (WebCore::InspectorAgent::enableDebugger):
  11981. (WebCore::InspectorAgent::disableDebugger):
  11982. * inspector/InspectorAgent.h:
  11983. * inspector/InspectorConsoleAgent.cpp: XHR failures will be logged to the console only
  11984. if the front-end was opened during current browser session and XHR logging is turned on
  11985. there.
  11986. (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
  11987. (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
  11988. * inspector/InspectorDebuggerAgent.cpp:
  11989. * inspector/InspectorDebuggerAgent.h:
  11990. * inspector/InspectorInstrumentation.cpp:
  11991. (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
  11992. (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
  11993. * inspector/InspectorProfilerAgent.cpp:
  11994. (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
  11995. (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
  11996. * inspector/InspectorSettings.cpp: Removed.
  11997. * inspector/InspectorSettings.h: Removed.
  11998. * inspector/InspectorState.cpp:
  11999. (WebCore::InspectorState::InspectorState):
  12000. * inspector/InspectorState.h:
  12001. * inspector/front-end/ConsoleView.js:
  12002. (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
  12003. (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
  12004. (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction):
  12005. (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
  12006. * inspector/front-end/ProfilesPanel.js:
  12007. (WebInspector.ProfilesPanel.prototype._toggleProfiling):
  12008. * inspector/front-end/ScriptsPanel.js:
  12009. (WebInspector.ScriptsPanel.prototype._toggleDebugging):
  12010. * inspector/front-end/Settings.js:
  12011. (WebInspector.Settings):
  12012. * inspector/front-end/inspector.js:
  12013. 2011-01-27 Pavel Podivilov <podivilov@chromium.org>
  12014. Reviewed by Pavel Feldman.
  12015. Web Inspector: Closure and Global variable details automatically collapsing on each step through JavaScript code.
  12016. https://bugs.webkit.org/show_bug.cgi?id=53234
  12017. * inspector/front-end/ScopeChainSidebarPane.js:
  12018. (WebInspector.ScopeChainSidebarPane):
  12019. (WebInspector.ScopeChainSidebarPane.prototype.update):
  12020. 2011-01-27 Alexander Pavlov <apavlov@chromium.org>
  12021. Reviewed by Pavel Feldman.
  12022. Web Inspector: [Elements panel] Tooltip for relative links incorrectly identifies current URL
  12023. https://bugs.webkit.org/show_bug.cgi?id=53171
  12024. * inspector/front-end/inspector.js:
  12025. (WebInspector.completeURL): Taught to understand partial href's that start with "?" (contain GET parameters only)
  12026. 2011-01-27 Yury Semikhatsky <yurys@chromium.org>
  12027. Reviewed by Pavel Feldman.
  12028. [V8] Crash in WebCore::addMessageToConsole
  12029. https://bugs.webkit.org/show_bug.cgi?id=53227
  12030. * bindings/v8/V8Proxy.cpp: check that the Frame where the error
  12031. occured still has a page before getting a console object from it.
  12032. (WebCore::V8Proxy::reportUnsafeAccessTo):
  12033. 2011-01-27 Hans Wennborg <hans@chromium.org>
  12034. Reviewed by Jeremy Orlow.
  12035. IndexedDB: Remove IDBCallbacks::onSuccess() used for null values.
  12036. https://bugs.webkit.org/show_bug.cgi?id=53178
  12037. Remove the IDBCallbacks::onSuccess() function that was used for
  12038. null values, and replace such calls with calls to
  12039. IDBCallBacks::onSuccess(SerializedScriptValue::nullValue())
  12040. instead.
  12041. No new functionality, so no new tests.
  12042. * storage/IDBCallbacks.h:
  12043. * storage/IDBCursorBackendImpl.cpp:
  12044. (WebCore::IDBCursorBackendImpl::updateInternal):
  12045. (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
  12046. * storage/IDBIndexBackendImpl.cpp:
  12047. (WebCore::IDBIndexBackendImpl::openCursorInternal):
  12048. * storage/IDBObjectStoreBackendImpl.cpp:
  12049. (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
  12050. (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
  12051. * storage/IDBRequest.cpp:
  12052. * storage/IDBRequest.h:
  12053. 2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com>
  12054. Unreviewed, rolling out r76773.
  12055. http://trac.webkit.org/changeset/76773
  12056. https://bugs.webkit.org/show_bug.cgi?id=53230
  12057. breaks multiple GTK media tests (Requested by philn-tp on
  12058. #webkit).
  12059. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  12060. (WebCore::mimeTypeCache):
  12061. 2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com>
  12062. Unreviewed, rolling out r76770.
  12063. http://trac.webkit.org/changeset/76770
  12064. https://bugs.webkit.org/show_bug.cgi?id=53229
  12065. Some inspector tests fail (Requested by yurys on #webkit).
  12066. * CMakeLists.txt:
  12067. * GNUmakefile.am:
  12068. * WebCore.exp.in:
  12069. * WebCore.gypi:
  12070. * WebCore.pro:
  12071. * WebCore.vcproj/WebCore.vcproj:
  12072. * WebCore.xcodeproj/project.pbxproj:
  12073. * bindings/js/ScriptDebugServer.cpp:
  12074. (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
  12075. * bindings/js/ScriptDebugServer.h:
  12076. * bindings/js/ScriptProfiler.cpp:
  12077. (WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
  12078. * bindings/js/ScriptProfiler.h:
  12079. * bindings/v8/ScriptDebugServer.cpp:
  12080. (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
  12081. * bindings/v8/ScriptDebugServer.h:
  12082. * bindings/v8/ScriptProfiler.cpp:
  12083. (WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
  12084. * bindings/v8/ScriptProfiler.h:
  12085. * inspector/Inspector.idl:
  12086. * inspector/InspectorAgent.cpp:
  12087. (WebCore::InspectorAgent::InspectorAgent):
  12088. (WebCore::InspectorAgent::disconnectFrontend):
  12089. (WebCore::InspectorAgent::restoreDebugger):
  12090. (WebCore::InspectorAgent::restoreProfiler):
  12091. (WebCore::InspectorAgent::ensureSettingsLoaded):
  12092. (WebCore::InspectorAgent::enableProfiler):
  12093. (WebCore::InspectorAgent::disableProfiler):
  12094. (WebCore::InspectorAgent::showAndEnableDebugger):
  12095. (WebCore::InspectorAgent::enableDebugger):
  12096. (WebCore::InspectorAgent::disableDebugger):
  12097. * inspector/InspectorAgent.h:
  12098. (WebCore::InspectorAgent::settings):
  12099. * inspector/InspectorConsoleAgent.cpp:
  12100. (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
  12101. (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
  12102. * inspector/InspectorDebuggerAgent.cpp:
  12103. (WebCore::InspectorDebuggerAgent::isDebuggerAlwaysEnabled):
  12104. * inspector/InspectorDebuggerAgent.h:
  12105. * inspector/InspectorInstrumentation.cpp:
  12106. (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
  12107. (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
  12108. * inspector/InspectorProfilerAgent.cpp:
  12109. (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
  12110. (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
  12111. * inspector/InspectorSettings.cpp: Added.
  12112. (WebCore::InspectorSettings::InspectorSettings):
  12113. (WebCore::InspectorSettings::getBoolean):
  12114. (WebCore::InspectorSettings::setBoolean):
  12115. (WebCore::InspectorSettings::getLong):
  12116. (WebCore::InspectorSettings::setLong):
  12117. (WebCore::InspectorSettings::registerBoolean):
  12118. (WebCore::InspectorSettings::registerLong):
  12119. * inspector/InspectorSettings.h: Copied from Source/WebCore/bindings/v8/ScriptProfiler.h.
  12120. * inspector/InspectorState.cpp:
  12121. (WebCore::InspectorState::InspectorState):
  12122. * inspector/InspectorState.h:
  12123. * inspector/front-end/ConsoleView.js:
  12124. (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.monitoringXHRStateChanged):
  12125. (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
  12126. (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
  12127. * inspector/front-end/ProfilesPanel.js:
  12128. (WebInspector.ProfilesPanel.prototype._toggleProfiling):
  12129. * inspector/front-end/ScriptsPanel.js:
  12130. (WebInspector.ScriptsPanel.prototype._toggleDebugging):
  12131. * inspector/front-end/Settings.js:
  12132. (WebInspector.Settings):
  12133. * inspector/front-end/inspector.js:
  12134. 2011-01-26 Philippe Normand <pnormand@igalia.com>
  12135. Reviewed by Martin Robinson.
  12136. [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
  12137. https://bugs.webkit.org/show_bug.cgi?id=53125
  12138. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  12139. (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
  12140. 2011-01-26 Yury Semikhatsky <yurys@chromium.org>
  12141. Reviewed by Pavel Feldman.
  12142. Web Inspector: store all settings related to the agents on the frontend side
  12143. https://bugs.webkit.org/show_bug.cgi?id=53174
  12144. * CMakeLists.txt:
  12145. * GNUmakefile.am:
  12146. * WebCore.exp.in:
  12147. * WebCore.gypi:
  12148. * WebCore.pro:
  12149. * WebCore.vcproj/WebCore.vcproj:
  12150. * WebCore.xcodeproj/project.pbxproj:
  12151. * inspector/Inspector.idl:
  12152. * inspector/InspectorAgent.cpp: profiler and debugger enablement state is now stored
  12153. on the front-end side and will be pushed to the backend when the frontend is loaded.
  12154. (WebCore::InspectorAgent::InspectorAgent):
  12155. (WebCore::InspectorAgent::disconnectFrontend):
  12156. (WebCore::InspectorAgent::restoreDebugger):
  12157. (WebCore::InspectorAgent::restoreProfiler):
  12158. (WebCore::InspectorAgent::enableProfiler):
  12159. (WebCore::InspectorAgent::disableProfiler):
  12160. (WebCore::InspectorAgent::showAndEnableDebugger):
  12161. (WebCore::InspectorAgent::enableDebugger):
  12162. (WebCore::InspectorAgent::disableDebugger):
  12163. * inspector/InspectorAgent.h:
  12164. * inspector/InspectorConsoleAgent.cpp: XHR failures will be logged to the console only
  12165. if the front-end was opened during current browser session and XHR logging is turned on
  12166. there.
  12167. (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
  12168. (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
  12169. * inspector/InspectorInstrumentation.cpp:
  12170. (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
  12171. (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
  12172. * inspector/InspectorProfilerAgent.cpp:
  12173. (WebCore::InspectorProfilerAgent::enable):
  12174. (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
  12175. * inspector/InspectorProfilerAgent.h:
  12176. * inspector/InspectorSettings.cpp: Removed.
  12177. * inspector/InspectorSettings.h: Removed.
  12178. * inspector/InspectorState.cpp:
  12179. (WebCore::InspectorState::InspectorState):
  12180. * inspector/InspectorState.h:
  12181. * inspector/front-end/ConsoleView.js:
  12182. (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
  12183. (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
  12184. (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction):
  12185. (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
  12186. * inspector/front-end/ProfilesPanel.js:
  12187. (WebInspector.ProfilesPanel.prototype._toggleProfiling):
  12188. * inspector/front-end/ScriptsPanel.js:
  12189. (WebInspector.ScriptsPanel.prototype._toggleDebugging):
  12190. * inspector/front-end/Settings.js:
  12191. (WebInspector.Settings):
  12192. * inspector/front-end/inspector.js:
  12193. 2011-01-27 Dan Bernstein <mitz@apple.com>
  12194. Reviewed by Sam Weinig.
  12195. REGRESSION (r76743): Uneven spacing in right-to-left justified text
  12196. https://bugs.webkit.org/show_bug.cgi?id=53225
  12197. Fixes failure in fast/text/atsui-spacing-features.html
  12198. There was an inconsistency between rendering code and font code in the interpretation of
  12199. 'after expansion' and 'trailing expansion'. Changed all code to interpret these in terms of
  12200. visual order rather than logical.
  12201. * platform/graphics/Font.cpp:
  12202. (WebCore::Font::expansionOpportunityCount): Added a text direction parameter and changed to
  12203. iterate in visual order accordingly.
  12204. * platform/graphics/Font.h:
  12205. * platform/graphics/WidthIterator.cpp:
  12206. (WebCore::WidthIterator::WidthIterator): Pass the run direction to expansionOpportunityCount().
  12207. (WebCore::WidthIterator::advance): For right-to-left runs, evaluate the trailing expansion
  12208. condition with respect to the first character, which is the trailing character in visual order.
  12209. * platform/graphics/mac/ComplexTextController.cpp:
  12210. (WebCore::ComplexTextController::ComplexTextController): Pass the run direction to
  12211. expansionOpportunityCount().
  12212. * rendering/RenderBlockLineLayout.cpp:
  12213. (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto.
  12214. 2011-01-26 Adam Roben <aroben@apple.com>
  12215. Don't create the Direct3D device before it's first needed
  12216. We only need the device once we decide to render. There's no point in creating it before
  12217. then.
  12218. Reviewed by Sam Weinig.
  12219. * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
  12220. (WebCore::CACFLayerTreeHost::setWindow): Removed the call to createRenderer() from here.
  12221. We already have code to create it when we first try to draw.
  12222. (WebCore::CACFLayerTreeHost::createRenderer): Flush the context after we set our layer's
  12223. bounds so that the bounds will take effect the next time we render (which could be just
  12224. after this function returns).
  12225. 2011-01-26 Adam Roben <aroben@apple.com>
  12226. Add assertions that CACFLayerTreeHost gains and loses an HWND only once
  12227. CACFLayerTreeHost doesn't support any other use pattern.
  12228. Reviewed by Sam Weinig.
  12229. * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
  12230. (WebCore::CACFLayerTreeHost::CACFLayerTreeHost): Initialize new member.
  12231. (WebCore::CACFLayerTreeHost::setWindow): Assert that we transition from not having a window,
  12232. to having a window, to not having a window just once over the lifetime of this object.
  12233. * platform/graphics/ca/win/CACFLayerTreeHost.h: Added m_state.
  12234. 2011-01-26 Adam Roben <aroben@apple.com>
  12235. Notify layers that their animations have started when we flush the context, not when we
  12236. render
  12237. r76372 separated context flushing from rendering, but this bit of code got left behind.
  12238. Reviewed by Sam Weinig.
  12239. * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
  12240. (WebCore::CACFLayerTreeHost::render): Moved code to notify the layers from here to
  12241. notifyAnimationsStarted.
  12242. (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Added a call to
  12243. notifyAnimationsStarted after we flush the context.
  12244. (WebCore::CACFLayerTreeHost::notifyAnimationsStarted): Added. Code came from render. Changed
  12245. to call PlatformCALayer::animationStarted rather than calling through to the client
  12246. directly.
  12247. * platform/graphics/ca/win/CACFLayerTreeHost.h: Added notifyAniamtionsStarted.
  12248. 2011-01-26 Adam Roben <aroben@apple.com>
  12249. Small cleanup in MediaPlayerPrivateFullscreenWindow
  12250. Reviewed by Sam Weinig.
  12251. * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
  12252. (WebCore::MediaPlayerPrivateFullscreenWindow::~MediaPlayerPrivateFullscreenWindow): Moved
  12253. code here from close(), since this was the only place that called it after the following
  12254. change to createWindow.
  12255. (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): Replaced code that handled the
  12256. case where we had already created the window with an assertion that we have not already done
  12257. so. Our single caller (FullscreenVideoController) did not require this behavior.
  12258. * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Removed layerView.
  12259. 2011-01-26 Sam Weinig <sam@webkit.org>
  12260. Reviewed by Adam Roben.
  12261. Move ScrollView scroll wheel code to ScrollAnimator.
  12262. * platform/ScrollAnimator.cpp:
  12263. (WebCore::ScrollAnimator::handleWheelEvent):
  12264. * platform/ScrollAnimator.h:
  12265. Moved implementation of handleWheelEvent from ScrollView::wheelEvent.
  12266. * platform/ScrollView.cpp:
  12267. (WebCore::ScrollView::wheelEvent):
  12268. Call down to the ScrollableArea.
  12269. * platform/ScrollableArea.cpp:
  12270. (WebCore::ScrollableArea::handleWheelEvent):
  12271. Call down to the ScrollAnimator.
  12272. * platform/ScrollableArea.h:
  12273. (WebCore::ScrollableArea::scrollPosition):
  12274. (WebCore::ScrollableArea::minimumScrollPosition):
  12275. (WebCore::ScrollableArea::maximumScrollPosition):
  12276. (WebCore::ScrollableArea::visibleContentRect):
  12277. (WebCore::ScrollableArea::visibleHeight):
  12278. (WebCore::ScrollableArea::visibleWidth):
  12279. Add functions needed to implement wheel event in the animator.
  12280. 2011-01-26 David Kilzer <ddkilzer@apple.com>
  12281. <http://webkit.org/b/53192> Add experimental support for HTTP pipelining in CFNetwork
  12282. <rdar://problem/8821760>
  12283. Reviewed by Antti Koivisto.
  12284. This adds support for HTTP pipelining in CFNetwork, but does not
  12285. enable it. To enable it post-SnowLeopard, use this command:
  12286. defaults write BUNDLE.ID WebKitEnableHTTPPipelining -bool YES
  12287. Once enabled, it is possible to force the same load priority
  12288. (high) to be sent to CFNetwork to allow WebCore to handle the
  12289. scheduling:
  12290. defaults write BUNDLE.ID WebKitForceHTTPPipeliningPriorityHigh -bool YES
  12291. * WebCore.exp.in: Export _wkGetHTTPPipeliningPriority and
  12292. _wkSetHTTPPipeliningPriority.
  12293. * loader/DocumentThreadableLoader.cpp:
  12294. (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
  12295. Copy the priority to preflightRequest.
  12296. * loader/ResourceLoadScheduler.cpp:
  12297. (WebCore::ResourceLoadScheduler::scheduleLoad): Refactored code
  12298. at the end of the method to use an early return.
  12299. * loader/cache/CachedResourceRequest.cpp:
  12300. (WebCore::CachedResourceRequest::load): Set the priority on the
  12301. ResourceRequest object based on the priority of the
  12302. CachedResourceRequest before calling
  12303. ResourceLoadScheduler::scheduleSubresourceLoad().
  12304. * loader/icon/IconLoader.cpp:
  12305. (WebCore::IconLoader::startLoading): Create a ResourceRequest
  12306. object and set its priority to ResourceLoadPriorityLow before
  12307. passing it to ResourceLoadScheduler::scheduleSubresourceLoad().
  12308. * platform/mac/WebCoreSystemInterface.h:
  12309. (wkGetHTTPPipeliningPriority): Added.
  12310. (wkSetHTTPPipeliningPriority): Added.
  12311. * platform/mac/WebCoreSystemInterface.mm:
  12312. (wkGetHTTPPipeliningPriority): Added.
  12313. (wkSetHTTPPipeliningPriority): Added.
  12314. * platform/network/ResourceRequestBase.cpp:
  12315. (WebCore::ResourceRequestBase::adopt): Set m_priority when
  12316. adopting a CrossThreadResourceRequestData.
  12317. (WebCore::ResourceRequestBase::copyData): Set m_priority when
  12318. creating a CrossThreadResourceRequestData.
  12319. (WebCore::ResourceRequestBase::priority): Added.
  12320. (WebCore::ResourceRequestBase::setPriority): Added.
  12321. (WebCore::equalIgnoringHeaderFields): Priorities must match when
  12322. comparing two ResourceRequest objects.
  12323. * platform/network/ResourceRequestBase.h:
  12324. (WebCore::ResourceRequestBase::ResourceRequestBase): Set default
  12325. priority of new objects to ResourceLoadPriorityLow.
  12326. (WebCore::ResourceRequestBase::priority): Added declaration.
  12327. (WebCore::ResourceRequestBase::setPriority): Added declaration.
  12328. (WebCore::isHTTPPipeliningEnabled): Added.
  12329. (WebCore::shouldUseHTTPPipeliningPriority): Added.
  12330. * platform/network/cf/ResourceRequestCFNet.cpp: Updated so that
  12331. Mac OS X and Windows share code.
  12332. (WebCore::initializeMaximumHTTPConnectionCountPerHost): Always
  12333. set the HTTP connection count per host, but return an
  12334. 'unlimited' value when using HTTP pipelining. This method used
  12335. to be defined in ResourceRequestMac.mm for Mac OS X.
  12336. (WebCore::readBooleanPreference): Added. Helper method for
  12337. reading boolean user defaults.
  12338. (WebCore::isHTTPPipeliningEnabled): Returns value of user
  12339. default key WebKitEnableHTTPPipelining, or false if not set.
  12340. (WebCore::shouldUseHTTPPipeliningPriority): Returns value of
  12341. user default key WebKitForceHTTPPipeliningPriorityHigh, or false
  12342. if not set.
  12343. * platform/network/cf/ResourceRequestCFNet.h: Updated so that
  12344. Mac OS X and Windows share code. Fixed indentation.
  12345. (WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority): Added.
  12346. (WebCore::mapResourceLoadPriorityToHTTPPipeliningPriority): Added.
  12347. * platform/network/mac/ResourceRequestMac.mm:
  12348. (WebCore::ResourceRequest::doUpdatePlatformRequest): Update
  12349. HTTP pipelining priority on NSMutableFURLRequest object.
  12350. (WebCore::ResourceRequest::doUpdateResourceRequest): Update
  12351. m_priority from the NSURLRequest object.
  12352. (WebCore::initializeMaximumHTTPConnectionCountPerHost): Removed.
  12353. Code is now shared with Windows in ResourceRequestCFNet.cpp.
  12354. 2011-01-26 Beth Dakin <bdakin@apple.com>
  12355. Reviewed by Darin Adler.
  12356. Fix for <rdar://problem/8895140> Adopt WKScrollbar metrics
  12357. when using WKScrollbars.
  12358. New WebKitSystemInterface Functionality.
  12359. * WebCore.exp.in:
  12360. * platform/mac/WebCoreSystemInterface.h:
  12361. * platform/mac/WebCoreSystemInterface.mm:
  12362. Some of the terrible static arrays are now only needed in the
  12363. old non-WK code, so they are if-def'd now.
  12364. * platform/mac/ScrollbarThemeMac.mm:
  12365. Just patching this function in a better way than I did
  12366. before.
  12367. (WebCore::updateArrowPlacement):
  12368. Call into WK for the right values.
  12369. (WebCore::ScrollbarThemeMac::scrollbarThickness):
  12370. (WebCore::ScrollbarThemeMac::hasThumb):
  12371. (WebCore::ScrollbarThemeMac::minimumThumbLength):
  12372. Return false if there are no buttons.
  12373. (WebCore::ScrollbarThemeMac::hasButtons):
  12374. Return an empty IntRect if there are not buttons.
  12375. (WebCore::buttonRepaintRect):
  12376. 2011-01-26 Sam Weinig <sam@webkit.org>
  12377. Reviewed by Maciej Stachowiak.
  12378. Add events to represent the start/end of a gesture scroll
  12379. https://bugs.webkit.org/show_bug.cgi?id=53215
  12380. * WebCore.exp.in:
  12381. Add new file.
  12382. * WebCore.xcodeproj/project.pbxproj:
  12383. Add new file.
  12384. * page/EventHandler.cpp:
  12385. (WebCore::EventHandler::handleGestureEvent):
  12386. * page/EventHandler.h:
  12387. Add entry point for handling gesture events.
  12388. * platform/PlatformGestureEvent.h: Added.
  12389. (WebCore::PlatformGestureEvent::PlatformGestureEvent):
  12390. (WebCore::PlatformGestureEvent::type):
  12391. (WebCore::PlatformGestureEvent::position):
  12392. (WebCore::PlatformGestureEvent::globalPosition):
  12393. (WebCore::PlatformGestureEvent::timestamp):
  12394. Add platform agnostic representation of a gesture event.
  12395. 2011-01-26 Dan Bernstein <mitz@apple.com>
  12396. Reviewed by Dave Hyatt.
  12397. <rdar://problem/8446709> Allow inter-ideograph justification for CJK
  12398. https://bugs.webkit.org/show_bug.cgi?id=53184
  12399. Tests: fast/text/justify-ideograph-complex.html
  12400. fast/text/justify-ideograph-simple.html
  12401. fast/text/justify-ideograph-vertical.html
  12402. * html/canvas/CanvasRenderingContext2D.cpp:
  12403. (WebCore::CanvasRenderingContext2D::drawTextInternal): Corrected the type of the third parameter
  12404. passed to the TextRun constructor and added the trailingExpansionBehavior parameter.
  12405. * platform/graphics/Font.cpp:
  12406. (WebCore::Font::expansionOpportunityCount): Added. Returns the number of expansion opportunities
  12407. for text justification. On entry, isAfterExpansion says whether an expansion opportunity exists
  12408. before the first character. On return, isAfterExpansion says whether an expansion opportunity
  12409. exists after the last character.
  12410. * platform/graphics/Font.h:
  12411. * platform/graphics/GlyphBuffer.h:
  12412. (WebCore::GlyphBuffer::expandLastAdvance): Added.
  12413. * platform/graphics/TextRun.h:
  12414. (WebCore::TextRun::TextRun): Added a TrailingExpansionBehavior parameter to the constructors.
  12415. Renamed padding to expansion.
  12416. (WebCore::TextRun::expansion): Renamed padding() to this.
  12417. (WebCore::TextRun::allowsTrailingExpansion): Added this accessor.
  12418. * platform/graphics/WidthIterator.cpp:
  12419. (WebCore::WidthIterator::WidthIterator): Initialize m_isAfterExpansion. Use Font::expansionOpportunityCount()
  12420. and adjust the count if it includes a trailing expansion opportunity but the run disallows trailing
  12421. expansion.
  12422. (WebCore::WidthIterator::advance): Apply expansion before and after CJK ideographs.
  12423. (WebCore::WidthIterator::advanceOneCharacter): Changed to not clear the GlyphBuffer so that advance()
  12424. can expand the last advance if it is followed by a CJK ideograph.
  12425. * platform/graphics/WidthIterator.h: Renamed m_padding to m_expansion and m_padPerSpace
  12426. to m_expansionPerOpportunity.
  12427. * platform/graphics/chromium/FontChromiumWin.cpp:
  12428. (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
  12429. * platform/graphics/chromium/FontLinux.cpp:
  12430. (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
  12431. * platform/graphics/efl/FontEfl.cpp:
  12432. (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
  12433. * platform/graphics/gtk/FontGtk.cpp:
  12434. (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
  12435. * platform/graphics/haiku/FontHaiku.cpp:
  12436. (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
  12437. * platform/graphics/mac/ComplexTextController.cpp:
  12438. (WebCore::ComplexTextController::ComplexTextController): Initialize m_isAfterExpansion. Use
  12439. Font::expansionOpportunityCount() and adjust the count if it includes a trailing expansion
  12440. opportunity but the run disallows trailing expansion.
  12441. (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Moved the definition and initialization
  12442. of hasExtraSpacing outside the loop. Apply expansion before and after CJK ideographs.
  12443. * platform/graphics/mac/ComplexTextController.h: Renamed m_padding to m_expansion and m_padPerSpace
  12444. to m_expansionPerOpportunity.
  12445. * platform/graphics/mac/FontMac.mm:
  12446. (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
  12447. * platform/graphics/qt/FontQt.cpp:
  12448. (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
  12449. * platform/graphics/win/FontWin.cpp:
  12450. (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
  12451. * platform/graphics/win/UniscribeController.cpp:
  12452. (WebCore::UniscribeController::UniscribeController): Updated for rename.
  12453. * platform/graphics/wince/FontWinCE.cpp:
  12454. (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
  12455. * platform/graphics/wx/FontWx.cpp:
  12456. (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
  12457. * rendering/EllipsisBox.cpp:
  12458. (WebCore::EllipsisBox::paint): Pass a TrailingExpansionBehavior to the TextRun constructor.
  12459. (WebCore::EllipsisBox::selectionRect): Ditto.
  12460. (WebCore::EllipsisBox::paintSelection): Ditto.
  12461. * rendering/InlineBox.h:
  12462. (WebCore::InlineBox::InlineBox): Renamed m_toAdd to m_expansion.
  12463. (WebCore::InlineBox::expansion): Renamed toAdd() to this.
  12464. * rendering/InlineTextBox.cpp:
  12465. (WebCore::InlineTextBox::selectionRect): Pass a TrailingExpansionBehavior to the TextRun constructor.
  12466. (WebCore::InlineTextBox::paint): Ditto.
  12467. (WebCore::InlineTextBox::paintSelection): Ditto.
  12468. (WebCore::InlineTextBox::paintCompositionBackground): Ditto.
  12469. (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto.
  12470. (WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
  12471. (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto.
  12472. (WebCore::InlineTextBox::offsetForPosition): Ditto.
  12473. (WebCore::InlineTextBox::positionForOffset): Ditto.
  12474. * rendering/InlineTextBox.h:
  12475. (WebCore::InlineTextBox::setExpansion): Renamed setSpaceAdd() to this.
  12476. (WebCore::InlineTextBox::trailingExpansionBehavior): Added. Trailing expansion is allowed if this
  12477. is not the last leaf box on the line.
  12478. * rendering/RenderBlockLineLayout.cpp:
  12479. (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Keep expansion opportunity counts
  12480. in a vector instead of computing them twice. Discard the trailing expansion opportunity in the
  12481. last text box.
  12482. * rendering/RenderFileUploadControl.cpp:
  12483. (WebCore::RenderFileUploadControl::paintObject): Pass a TrailingExpansionBehavior to the TextRun constructor.
  12484. (WebCore::RenderFileUploadControl::computePreferredLogicalWidths): Ditto.
  12485. * rendering/RenderListBox.cpp:
  12486. (WebCore::RenderListBox::updateFromElement): Ditto.
  12487. (WebCore::RenderListBox::paintItemForeground): Ditto. Also corrected the type of the second parameter.
  12488. * rendering/RenderTextControl.cpp:
  12489. (WebCore::RenderTextControl::getAvgCharWidth): Ditto.
  12490. (WebCore::RenderTextControl::paintPlaceholder): Ditto.
  12491. * rendering/svg/SVGInlineTextBox.cpp:
  12492. (WebCore::SVGInlineTextBox::constructTextRun): Ditto.
  12493. 2011-01-26 Andy Estes <aestes@apple.com>
  12494. Rubber-stamped by Darin Adler.
  12495. Inline HTMLObjectElement::hasValidClassId().
  12496. * html/HTMLObjectElement.cpp:
  12497. (WebCore::HTMLObjectElement::hasValidClassId):
  12498. 2011-01-26 Evan Martin <evan@chromium.org>
  12499. Reviewed by Tony Chang.
  12500. [chromium] crash on getBoundingClientRect in complex text
  12501. https://bugs.webkit.org/show_bug.cgi?id=53199
  12502. Use the correct array bound; we want the number of characters processed by
  12503. the shaper, not the longest continuous script run length.
  12504. Test: platform/chromium-linux/fast/text/international/complex-text-rectangle.html
  12505. * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
  12506. (WebCore::ComplexTextController::nextScriptRun):
  12507. * platform/graphics/chromium/ComplexTextControllerLinux.h:
  12508. (WebCore::ComplexTextController::numCodePoints):
  12509. 2011-01-26 Emil A Eklund <eae@chromium.org>
  12510. Reviewed by Alexey Proskuryakov.
  12511. Remove cached document reference from CSSStyleSheet and XSLStyleSheet.
  12512. https://bugs.webkit.org/show_bug.cgi?id=52084
  12513. Test: fast/dom/css-delete-doc.html
  12514. * css/CSSMediaRule.cpp:
  12515. (WebCore::CSSMediaRule::insertRule):
  12516. (WebCore::CSSMediaRule::deleteRule):
  12517. * css/CSSStyleSheet.cpp:
  12518. (WebCore::CSSStyleSheet::CSSStyleSheet):
  12519. (WebCore::CSSStyleSheet::document):
  12520. * css/CSSStyleSheet.h:
  12521. * xml/XSLStyleSheet.h:
  12522. (WebCore::XSLStyleSheet::parentStyleSheet):
  12523. * xml/XSLStyleSheetLibxslt.cpp:
  12524. (WebCore::XSLStyleSheet::XSLStyleSheet):
  12525. (WebCore::XSLStyleSheet::cachedResourceLoader):
  12526. (WebCore::XSLStyleSheet::setParentStyleSheet):
  12527. (WebCore::XSLStyleSheet::ownerDocument):
  12528. * xml/XSLStyleSheetQt.cpp:
  12529. (WebCore::XSLStyleSheet::XSLStyleSheet):
  12530. (WebCore::XSLStyleSheet::cachedResourceLoader):
  12531. (WebCore::XSLStyleSheet::ownerDocument):
  12532. 2011-01-25 Dimitri Glazkov <dglazkov@chromium.org>
  12533. Reviewed by Kent Tamura.
  12534. Reduce ref-count churn in shadowPseudoId.
  12535. https://bugs.webkit.org/show_bug.cgi?id=53136
  12536. Refactoring, so no new tests.
  12537. * dom/Element.h:
  12538. (WebCore::Element::shadowPseudoId): Changed signature to use const AtomicString&
  12539. * html/ValidationMessage.cpp:
  12540. (WebCore::ElementWithPseudoId::shadowPseudoId): Ditto.
  12541. * html/shadow/SliderThumbElement.cpp:
  12542. (WebCore::SliderThumbElement::shadowPseudoId): Ditto, plus moved from the header file.
  12543. * html/shadow/SliderThumbElement.h: Ditto.
  12544. * rendering/MediaControlElements.cpp:
  12545. (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Ditto.
  12546. (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Ditto.
  12547. (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Ditto.
  12548. (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Ditto.
  12549. (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Ditto.
  12550. (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Ditto.
  12551. (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Ditto.
  12552. (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Ditto.
  12553. (WebCore::MediaControlTimelineElement::shadowPseudoId): Ditto.
  12554. (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Ditto.
  12555. (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Ditto.
  12556. * rendering/MediaControlElements.h: Ditto.
  12557. 2011-01-26 Dave Hyatt <hyatt@apple.com>
  12558. Reviewed by Dan Bernstein.
  12559. https://bugs.webkit.org/show_bug.cgi?id=46421, make multi-column layout work with vertical text.
  12560. Added new tests in fast/multicol/vertical-lr and fast/multicol/vertical-rl.
  12561. * css/html.css:
  12562. Update p, blockquote and h1-h6 to respect directionality so that column layout tests that use those
  12563. elements work properly.
  12564. * rendering/InlineFlowBox.cpp:
  12565. (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
  12566. Fix a flipping bug with the computation of lineTopIncludingMargins where it could be incorrectly shrunk
  12567. in some cases (causing lines to all stack on top of one another).
  12568. * rendering/InlineTextBox.h:
  12569. (WebCore::InlineTextBox::calculateBoundaries):
  12570. Fix calculateBoundaries to be physical rather than logical.
  12571. * rendering/LayoutState.cpp:
  12572. (WebCore::LayoutState::addForcedColumnBreak):
  12573. * rendering/LayoutState.h:
  12574. Rename childY to childLogicalOffset.
  12575. * rendering/RenderBlock.cpp:
  12576. (WebCore::RenderBlock::layoutBlock):
  12577. (WebCore::RenderBlock::addOverflowFromChildren):
  12578. (WebCore::RenderBlock::addOverflowFromFloats):
  12579. (WebCore::RenderBlock::collapseMargins):
  12580. (WebCore::RenderBlock::estimateLogicalTopPosition):
  12581. (WebCore::RenderBlock::layoutBlockChild):
  12582. (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
  12583. (WebCore::RenderBlock::paintColumnRules):
  12584. (WebCore::RenderBlock::paintColumnContents):
  12585. (WebCore::RenderBlock::paintFloats):
  12586. (WebCore::RenderBlock::selectionGaps):
  12587. (WebCore::RenderBlock::removeFloatingObjectsBelow):
  12588. (WebCore::RenderBlock::addOverhangingFloats):
  12589. (WebCore::RenderBlock::hitTestFloats):
  12590. (WebCore::RenderBlock::hitTestColumns):
  12591. (WebCore::RenderBlock::calcColumnWidth):
  12592. (WebCore::RenderBlock::desiredColumnWidth):
  12593. (WebCore::RenderBlock::columnRectAt):
  12594. (WebCore::RenderBlock::layoutColumns):
  12595. (WebCore::RenderBlock::adjustPointToColumnContents):
  12596. (WebCore::RenderBlock::adjustRectForColumns):
  12597. (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
  12598. (WebCore::RenderBlock::adjustForColumns):
  12599. (WebCore::RenderBlock::adjustForBorderFit):
  12600. (WebCore::RenderBlock::nextPageLogicalTop):
  12601. (WebCore::RenderBlock::applyBeforeBreak):
  12602. (WebCore::RenderBlock::applyAfterBreak):
  12603. (WebCore::RenderBlock::adjustForUnsplittableChild):
  12604. (WebCore::RenderBlock::adjustLinePositionForPagination):
  12605. * rendering/RenderBlock.h:
  12606. (WebCore::RenderBlock::logicalRightOffsetForContent):
  12607. (WebCore::RenderBlock::logicalLeftOffsetForContent):
  12608. (WebCore::RenderBlock::leftForFloatIncludingMargin):
  12609. (WebCore::RenderBlock::topForFloatIncludingMargin):
  12610. * rendering/RenderBlockLineLayout.cpp:
  12611. (WebCore::RenderBlock::layoutInlineChildren):
  12612. (WebCore::RenderBlock::determineStartPosition):
  12613. Reworking of all the RenderBlock column functions to support flipping and vertical modes.
  12614. * rendering/RenderBox.cpp:
  12615. (WebCore::RenderBox::offsetFromContainer):
  12616. (WebCore::RenderBox::flipForWritingModeIncludingColumns):
  12617. Patch offsetFromContainer to be aware of flipped block writing modes when dealing with column layouts.
  12618. * rendering/RenderBox.h:
  12619. (WebCore::RenderBox::clientLogicalBottom):
  12620. Fix a bug in clientLogicalBottom where it didn't add in the right border/padding.
  12621. * rendering/RenderFlexibleBox.cpp:
  12622. (WebCore::RenderFlexibleBox::layoutBlock):
  12623. Better terminology for pagination.
  12624. * rendering/RenderInline.cpp:
  12625. (WebCore::RenderInline::offsetFromContainer):
  12626. (WebCore::RenderInline::mapLocalToContainer):
  12627. * rendering/RenderLayer.cpp:
  12628. (WebCore::RenderLayer::paintChildLayerIntoColumns):
  12629. (WebCore::RenderLayer::hitTestChildLayerColumns):
  12630. (WebCore::RenderLayer::localBoundingBox):
  12631. (WebCore::RenderLayer::boundingBox):
  12632. Patch painting in RenderLayers to be vertical-text-aware.
  12633. * rendering/RenderObject.cpp:
  12634. (WebCore::RenderObject::mapLocalToContainer):
  12635. Add code to be flipped block-aware with columns.
  12636. * rendering/RenderTable.cpp:
  12637. (WebCore::RenderTable::layout):
  12638. * rendering/RenderTableRow.cpp:
  12639. (WebCore::RenderTableRow::layout):
  12640. * rendering/RenderTableSection.cpp:
  12641. (WebCore::RenderTableSection::layoutRows):
  12642. Fix pagination to use better terminology.
  12643. * rendering/RenderText.cpp:
  12644. (WebCore::RenderText::absoluteQuads):
  12645. (WebCore::RenderText::absoluteQuadsForRange):
  12646. Fix a bug where vertical text wasn't taken into account.
  12647. 2011-01-26 Dimitri Glazkov <dglazkov@chromium.org>
  12648. Unreviewed, rolling out r76719.
  12649. http://trac.webkit.org/changeset/76719
  12650. https://bugs.webkit.org/show_bug.cgi?id=53122
  12651. Broke a bunch of media tests in Chromium/Qt/GTK.
  12652. 2011-01-26 Tony Chang <tony@chromium.org>
  12653. Reviewed by Ryosuke Niwa.
  12654. [gtk] strip NUL characters when copying text/html on GTK+
  12655. https://bugs.webkit.org/show_bug.cgi?id=52508
  12656. Putting NUL characters in the text/html clipboard doesn't work in
  12657. WebKit GTK+ (the pasted value is truncated at the NUL). Since we're
  12658. already stripping this character for plain text (for Windows), strip
  12659. it in text/html too.
  12660. * editing/MarkupAccumulator.h: mark function as virtual
  12661. * editing/markup.cpp:
  12662. (WebCore::StyledMarkupAccumulator::appendString):
  12663. (WebCore::StyledMarkupAccumulator::takeResults): strip nulls
  12664. 2011-01-26 Mario Sanchez Prada <msanchez@igalia.com>
  12665. Reviewed by Martin Robinson.
  12666. [GTK] Reliable crash with getTextAtOffset()
  12667. https://bugs.webkit.org/show_bug.cgi?id=53131
  12668. Properly calculate length in bytes for a UTF8 substring.
  12669. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
  12670. (utf8Substr): Use character instead of bytes as units to
  12671. calculate the length in bytes for the UTF8 string.
  12672. 2011-01-25 Dimitri Glazkov <dglazkov@chromium.org>
  12673. Reviewed by Kent Tamura.
  12674. Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId.
  12675. https://bugs.webkit.org/show_bug.cgi?id=53122
  12676. This is the first step in converting HTMLMediaElement to the new shadow DOM.
  12677. Should not regress any existing tests. No observable change in behavior.
  12678. * css/CSSSelector.cpp:
  12679. (WebCore::CSSSelector::pseudoId): Removed now-unnecessary hard-coded pseudo-element selectors.
  12680. (WebCore::nameToPseudoTypeMap): Ditto.
  12681. (WebCore::CSSSelector::extractPseudoType): Ditto.
  12682. * css/CSSSelector.h: Ditto.
  12683. * css/mediaControls.css: Added proper initial values, now that elements use the proper selector pipeline.
  12684. * rendering/MediaControlElements.cpp:
  12685. (WebCore::MediaControlInputElement::MediaControlInputElement): Removed the switch statement,
  12686. which is now replaced with virtual shadowPseudoId on each corresponding class.
  12687. (WebCore::MediaControlInputElement::styleForElement): Changed to use element pipeline.
  12688. (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Changed to set
  12689. display type in constructor.
  12690. (WebCore::MediaControlMuteButtonElement::create): Changed to not take PseudoId as
  12691. constructor argument.
  12692. (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Added.
  12693. (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Added
  12694. to disambiguate from the MediaControlMuteButtonElement.
  12695. (WebCore::MediaControlVolumeSliderMuteButtonElement::create): Added.
  12696. (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Added.
  12697. (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Changed to not take PseudoId as
  12698. constructor argument.
  12699. (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Added.
  12700. (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Changed to not take PseudoId as
  12701. constructor argument.
  12702. (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Added.
  12703. (WebCore::MediaControlSeekForwardButtonElement::create): Added.
  12704. (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Added.
  12705. (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Added.
  12706. (WebCore::MediaControlSeekBackButtonElement::create): Added.
  12707. (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Added.
  12708. (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Added.
  12709. (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Added.
  12710. (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Changed to not take PseudoId as
  12711. constructor argument.
  12712. (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Added.
  12713. (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Changed to not take PseudoId as
  12714. constructor argument.
  12715. (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Added.
  12716. (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Changed to not take PseudoId as
  12717. constructor argument.
  12718. (WebCore::MediaControlTimelineElement::shadowPseudoId): Added.
  12719. (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Changed to not take PseudoId as
  12720. constructor argument.
  12721. (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Added.
  12722. (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Changed to not take PseudoId as
  12723. constructor argument.
  12724. (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Added.
  12725. * rendering/MediaControlElements.h:
  12726. (WebCore::MediaControlSeekForwardButtonElement::isForwardButton): Added.
  12727. (WebCore::MediaControlSeekBackButtonElement::isForwardButton): Added.
  12728. * rendering/RenderMedia.cpp:
  12729. (WebCore::RenderMedia::createMuteButton): Changed to use new constructor.
  12730. (WebCore::RenderMedia::createSeekBackButton): Ditto.
  12731. (WebCore::RenderMedia::createSeekForwardButton): Ditto.
  12732. (WebCore::RenderMedia::createVolumeSliderMuteButton): Ditto.
  12733. * rendering/style/RenderStyleConstants.h: Removed constants that are no longer used.
  12734. 2011-01-26 Kenneth Russell <kbr@google.com>
  12735. Reviewed by James Robinson.
  12736. Fix multisampling support in DrawingBuffer
  12737. https://bugs.webkit.org/show_bug.cgi?id=53154
  12738. In DrawingBuffer's multisampling code path, fixed enum usage and a
  12739. bug where it would incorrectly redefine the depth and stencil
  12740. buffers. Hooked up multisampling code path in Chromium port.
  12741. Tested manually with some accelerated 2D canvas content.
  12742. Multisampling isn't being switched on for the accelerated 2D
  12743. canvas at the current time because it will increase fill rate
  12744. requirements and cause a large number of rebaselines.
  12745. * platform/graphics/Extensions3D.h:
  12746. * platform/graphics/chromium/DrawingBufferChromium.cpp:
  12747. (WebCore::DrawingBuffer::publishToPlatformLayer):
  12748. * platform/graphics/chromium/Extensions3DChromium.h:
  12749. * platform/graphics/gpu/DrawingBuffer.cpp:
  12750. (WebCore::DrawingBuffer::create):
  12751. (WebCore::DrawingBuffer::reset):
  12752. * platform/graphics/opengl/Extensions3DOpenGL.cpp:
  12753. (WebCore::Extensions3DOpenGL::supports):
  12754. 2011-01-26 Tony Chang <tony@chromium.org>
  12755. Unreviewed.
  12756. [chromium] revert r68310 because of race conditions detected by tsans
  12757. https://bugs.webkit.org/show_bug.cgi?id=53185
  12758. Causes stability problems for Chromium, http://crbug.com/70589
  12759. * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
  12760. (WebCore::SQLiteFileSystem::registerSQLiteVFS):
  12761. 2011-01-26 Justin Schuh <jschuh@chromium.org>
  12762. Reviewed by Adam Barth.
  12763. Make fireEventsAndUpdateStyle use stack local vectors.
  12764. https://bugs.webkit.org/show_bug.cgi?id=46760
  12765. Test: animations/animation-add-events-in-handler.html
  12766. * page/animation/AnimationController.cpp:
  12767. (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
  12768. 2011-01-26 Nate Chapin <japhet@chromium.org>
  12769. Reviewed by Adam Barth.
  12770. Remove m_URL from FrameLoader and depend on Document::url()
  12771. instead. FrameLoader::url() will be removed in a followup patch.
  12772. https://bugs.webkit.org/show_bug.cgi?id=41165
  12773. Refactor only, no new tests.
  12774. * WebCore.exp.in:
  12775. * dom/Document.cpp:
  12776. (WebCore::Document::Document):
  12777. (WebCore::Document::updateURLForPushOrReplaceState):
  12778. * loader/DocumentWriter.cpp:
  12779. (WebCore::DocumentWriter::begin):
  12780. * loader/FrameLoader.cpp:
  12781. (WebCore::FrameLoader::iconURL):
  12782. (WebCore::FrameLoader::didOpenURL):
  12783. (WebCore::FrameLoader::didExplicitOpen):
  12784. (WebCore::FrameLoader::receivedFirstData):
  12785. (WebCore::FrameLoader::url):
  12786. (WebCore::FrameLoader::setOutgoingReferrer):
  12787. (WebCore::FrameLoader::startIconLoader):
  12788. (WebCore::FrameLoader::commitIconURLToIconDatabase):
  12789. (WebCore::FrameLoader::finishedParsing):
  12790. (WebCore::FrameLoader::checkIfDisplayInsecureContent):
  12791. (WebCore::FrameLoader::checkIfRunInsecureContent):
  12792. (WebCore::FrameLoader::updateFirstPartyForCookies):
  12793. (WebCore::FrameLoader::loadInSameDocument):
  12794. (WebCore::FrameLoader::commitProvisionalLoad):
  12795. (WebCore::FrameLoader::open):
  12796. (WebCore::FrameLoader::shouldScrollToAnchor):
  12797. * loader/FrameLoader.h: Rename setURL() to setOutgoingReferrer().
  12798. 2011-01-25 Brian Weinstein <bweinstein@apple.com>
  12799. Reviewed by Antti Koivisto.
  12800. Crashes loading pages when cancelling subresource loads through WebKit
  12801. https://bugs.webkit.org/show_bug.cgi?id=53123
  12802. <rdar://problem/8914361>
  12803. Fix a crash that happened when cancelling subresource loads through WebKit.
  12804. When a load is cancelled synchronously (via the WebKit client), CachedResourceLoader::requestResource
  12805. can be called recursively on the same function, either leading to infinite recursion, or deleting
  12806. an object when it is not done being used.
  12807. The fix for this was to call checkForPendingPreloads and servePendingRequests asynchronously when
  12808. CachedResourceLoader::loadDone was called synchronously (due to the load being cancelled synchronously).
  12809. Test: fast/loader/willSendRequest-null-for-preload.html
  12810. * loader/DocumentLoader.cpp:
  12811. (WebCore::DocumentLoader::setRequest): Only dispatch didReceiveServerRedirectForProvisionalLoadForFrame
  12812. if our new URL is non-null.
  12813. * loader/cache/CachedResourceLoader.cpp:
  12814. (WebCore::CachedResourceLoader::CachedResourceLoader): Initialize our timer.
  12815. (WebCore::CachedResourceLoader::loadDone): If the CachedResource we were passed in was 0, that means this
  12816. function was called synchronously
  12817. from CachedResourceRequest::load, and we don't want to call into checkForPendingPreloads synchronously,
  12818. so put it on a 0-delay timer to make the calls to checkForPendingPreloads and servePendingRequests asynchronous.
  12819. (WebCore::CachedResourceLoader::loadDonePendingActionTimerFired): Call checkForPendingPreloads and servePendingRequests.
  12820. (WebCore::CachedResourceLoader::checkForPendingPreloads): m_pendingPreloads is now a Deque instead of a Vector,
  12821. so use Deque methods.
  12822. * loader/cache/CachedResourceLoader.h: Add the timer, the timer callback function, and make m_pendingPreloads a Deque.
  12823. 2011-01-25 Pavel Podivilov <podivilov@chromium.org>
  12824. Reviewed by Pavel Feldman.
  12825. Web Inspector: evaluate in console may not work when window.console is substituted or deleted.
  12826. https://bugs.webkit.org/show_bug.cgi?id=53072
  12827. Test: inspector/console-substituted.html
  12828. * inspector/InjectedScriptSource.js:
  12829. (.):
  12830. 2011-01-26 Carlos Garcia Campos <cgarcia@igalia.com>
  12831. Reviewed by Martin Robinson.
  12832. [cairo] Use CAIRO_OPERATOR_DARKEN when available
  12833. https://bugs.webkit.org/show_bug.cgi?id=53084
  12834. Use CAIRO_OPERATOR_DARKEN for CompositePlusDarker instead of
  12835. CAIRO_OPERATOR_SATURATE when building with cairo version >= 1.10.
  12836. * platform/graphics/cairo/CairoUtilities.cpp:
  12837. (WebCore::toCairoOperator):
  12838. 2011-01-26 Pavel Feldman <pfeldman@chromium.org>
  12839. Reviewed by Yury Semikhatsky.
  12840. Web Inspector: visualize \n in strings as unicode cr
  12841. symbol in stack variables sidebar.
  12842. https://bugs.webkit.org/show_bug.cgi?id=53162
  12843. * inspector/front-end/ObjectPropertiesSection.js:
  12844. (WebInspector.ObjectPropertyTreeElement.prototype.update):
  12845. 2011-01-26 Andrey Kosyakov <caseq@chromium.org>
  12846. Reviewed by Pavel Feldman.
  12847. Web Inspector: size is wrong for cached resources in Network panel
  12848. - Set the size for 304/not modified resources from cached resource.
  12849. - Add response headers size to resource transfer size.
  12850. https://bugs.webkit.org/show_bug.cgi?id=52886
  12851. * inspector/InspectorResourceAgent.cpp:
  12852. (WebCore::InspectorResourceAgent::didReceiveResponse):
  12853. * inspector/front-end/Resource.js:
  12854. (WebInspector.Resource):
  12855. (WebInspector.Resource.prototype.get transferSize):
  12856. (WebInspector.Resource.prototype.set responseHeaders):
  12857. (WebInspector.Resource.prototype._headersSize):
  12858. (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
  12859. 2011-01-26 Carol Szabo <carol.szabo@nokia.com>
  12860. Reviewed by Simon Hausmann.
  12861. Fixed TiledBacking store to take into account new dirty regions caused by
  12862. paint time layouts.
  12863. Flawed rendering design for QtWebKit resulting in artifacts being displayed
  12864. https://bugs.webkit.org/show_bug.cgi?id=49184
  12865. There are no new tests as this patch aims at fixing flicker that
  12866. happen randomly, mostly on slow hardware, thus are hard to reproduce
  12867. consistently in an automated test.
  12868. This patch does not fully address the said bug but it is a step in the
  12869. right direction. A full solution to the bug, as currently perceived,
  12870. requires either a Qt GUI API change, a performance hit for QtWebKit,
  12871. or a hack, until a full solution is provided this patch is progress.
  12872. * platform/graphics/TiledBackingStore.cpp:
  12873. (WebCore::TiledBackingStore::updateTileBuffers):
  12874. Changed to take into account newly dirtied areas created during
  12875. tile update initiated layouts during the same update.
  12876. 2011-01-26 Patrick Gansterer <paroga@webkit.org>
  12877. Reviewed by Andreas Kling.
  12878. [SKIA] Remove "current path" of GraphicsContext
  12879. https://bugs.webkit.org/show_bug.cgi?id=53124
  12880. * platform/graphics/GraphicsContext.h:
  12881. * platform/graphics/skia/GraphicsContextSkia.cpp:
  12882. (WebCore::GraphicsContext::clipPath):
  12883. (WebCore::GraphicsContext::fillPath):
  12884. (WebCore::GraphicsContext::strokePath):
  12885. * platform/graphics/skia/PathSkia.cpp:
  12886. (WebCore::Path::strokeBoundingRect):
  12887. * platform/graphics/skia/PlatformContextSkia.cpp:
  12888. * platform/graphics/skia/PlatformContextSkia.h:
  12889. 2011-01-26 Zalan Bujtas <zbujtas@gmail.com>
  12890. Reviewed by Andreas Kling.
  12891. [Qt] Path::normalAngleAtLength() returns incorrect value on ACID3.
  12892. QPainterPath returns angle values with the origo being at the top left corner,
  12893. we need to account for this in normalAngleAtLength().
  12894. This Regressed with r66979.
  12895. No new tests as this is already covered by ACID3.
  12896. * platform/graphics/qt/PathQt.cpp:
  12897. (WebCore::Path::normalAngleAtLength):
  12898. 2011-01-26 Pavel Feldman <pfeldman@chromium.org>
  12899. Reviewed by Yury Semikhatsky.
  12900. Web Inspector: live edit does not update source snippet.
  12901. https://bugs.webkit.org/show_bug.cgi?id=53097
  12902. * inspector/front-end/ScriptsPanel.js:
  12903. (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
  12904. 2011-01-26 Pavel Feldman <pfeldman@chromium.org>
  12905. Reviewed by Yury Semikhatsky.
  12906. Web Inspector: Incorrect on-hover evaluation of a variable named 'profile'.
  12907. https://bugs.webkit.org/show_bug.cgi?id=53018
  12908. * inspector/InjectedScript.cpp:
  12909. (WebCore::InjectedScript::evaluate):
  12910. (WebCore::InjectedScript::evaluateOnCallFrame):
  12911. (WebCore::InjectedScript::getCompletions):
  12912. (WebCore::InjectedScript::getCompletionsOnCallFrame):
  12913. * inspector/InjectedScript.h:
  12914. * inspector/InjectedScriptSource.js:
  12915. (.):
  12916. * inspector/Inspector.idl:
  12917. * inspector/InspectorDebuggerAgent.cpp:
  12918. (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
  12919. (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
  12920. * inspector/InspectorDebuggerAgent.h:
  12921. * inspector/InspectorRuntimeAgent.cpp:
  12922. (WebCore::InspectorRuntimeAgent::evaluate):
  12923. (WebCore::InspectorRuntimeAgent::getCompletions):
  12924. * inspector/InspectorRuntimeAgent.h:
  12925. * inspector/front-end/ConsoleView.js:
  12926. (WebInspector.ConsoleView.prototype.completions):
  12927. (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
  12928. (WebInspector.ConsoleView.prototype._enterKeyPressed):
  12929. * inspector/front-end/ScriptsPanel.js:
  12930. (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
  12931. (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
  12932. * inspector/front-end/SourceFrame.js:
  12933. (WebInspector.SourceFrame.prototype._showPopup):
  12934. * inspector/front-end/WatchExpressionsSidebarPane.js:
  12935. (WebInspector.WatchExpressionsSection.prototype.update):
  12936. 2011-01-26 Hironori Bono <hbono@chromium.org>
  12937. Reviewed by Kent Tamura.
  12938. A speculative fix for Bug 52422 - [chromium] More crash in
  12939. FontFallbackList::determinePitch(const Font* font)
  12940. https://bugs.webkit.org/show_bug.cgi?id=52422
  12941. My previous change may not work on non-US Windows whose system fonts
  12942. have localized aliases matching to the system locale because of a
  12943. font-name mismatch in createFontIndirectAndGetWinName(). This change
  12944. tries all the fonts installed in a PC and returns the first font that we
  12945. can create without errors.
  12946. * platform/graphics/chromium/FontCacheChromiumWin.cpp:
  12947. (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData):
  12948. Added a struct used for getLastResortFallbackFontProc().
  12949. (WebCore::getLastResortFallbackFontProc): Added a callback for EnumFontFamilies().
  12950. (WebCore::FontCache::getLastResortFallbackFont): Use EnumFontFamilies() to find a last-resort font.
  12951. 2011-01-26 James Robinson <jamesr@chromium.org>
  12952. Reviewed by Nate Chapin.
  12953. Add a DOMTimeStamp parameter to the requestAnimationFrame callback
  12954. https://bugs.webkit.org/show_bug.cgi?id=53142
  12955. This adds a DOMTimeStamp parameter to the requestAnimationFrame callback to more
  12956. closely match mozilla's proposal. This is useful if the page has multiple imperative animations
  12957. and wants to ensure that they all remain synchronized. If each callback used Date.now() to
  12958. update its animation state, they would potentially be out of sync with each other. If they use
  12959. the timestamp then all callbacks for the same "frame" will update to the same state.
  12960. Test: fast/animation/request-animation-frame-timestamps.html
  12961. * bindings/scripts/CodeGeneratorV8.pm:
  12962. * bindings/scripts/test/V8/V8TestCallback.cpp:
  12963. (WebCore::V8TestCallback::callbackWithClass2Param):
  12964. * dom/Document.cpp:
  12965. (WebCore::Document::serviceScriptedAnimations):
  12966. * dom/Document.h:
  12967. * dom/RequestAnimationFrameCallback.h:
  12968. * dom/RequestAnimationFrameCallback.idl:
  12969. * page/FrameView.cpp:
  12970. (WebCore::FrameView::serviceScriptedAnimations):
  12971. * page/FrameView.h:
  12972. 2011-01-25 Yuzo Fujishima <yuzo@google.com>
  12973. Unreviewed attempt to fix compilation error for Chromium Clang.
  12974. * platform/graphics/mac/ComplexTextController.cpp:
  12975. (WebCore::ComplexTextController::advance):
  12976. 2011-01-25 Ned Holbrook <nholbrook@apple.com>
  12977. Reviewed by Dan Bernstein.
  12978. ComplexTextController incorrectly conflates string length and range of indexes
  12979. https://bugs.webkit.org/show_bug.cgi?id=52760
  12980. Test: fast/text/offsetForPosition-complex-fallback.html
  12981. * platform/graphics/mac/ComplexTextController.cpp:
  12982. (WebCore::ComplexTextController::offsetForPosition):
  12983. (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
  12984. (WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic):
  12985. (WebCore::ComplexTextController::advance):
  12986. * platform/graphics/mac/ComplexTextController.h:
  12987. (WebCore::ComplexTextController::ComplexTextRun::create):
  12988. (WebCore::ComplexTextController::ComplexTextRun::indexEnd):
  12989. * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
  12990. (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
  12991. * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
  12992. (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
  12993. (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
  12994. 2011-01-25 Sam Weinig <sam@webkit.org>
  12995. Reviewed by David Hyatt.
  12996. Scrollbars don't work correctly for top-to-bottom text in an overflow: scroll area
  12997. https://bugs.webkit.org/show_bug.cgi?id=53048
  12998. Test: fast/overflow/overflow-rtl-vertical-origin.html
  12999. * rendering/RenderLayer.cpp:
  13000. (WebCore::RenderLayer::scrollPosition):
  13001. (WebCore::RenderLayer::updateScrollInfoAfterLayout):
  13002. Take the scroll origin into account when calculating scrollbars in more places.
  13003. 2011-01-25 Steve Falkenburg <sfalken@apple.com>
  13004. Windows production build fix.
  13005. Use correct configuration-specific path in makefile.
  13006. * WebCore.vcproj/WebCore.make:
  13007. 2011-01-25 Kent Tamura <tkent@chromium.org>
  13008. Reviewed by Dimitri Glazkov.
  13009. Radio button group state is not restored correctly
  13010. https://bugs.webkit.org/show_bug.cgi?id=50442
  13011. Fixes a bug that radio button states are not restored correctly in
  13012. a case that non-first radio button in a group is checked.
  13013. If "checked" attribute is present, the radio button is checked and
  13014. other radio buttons in the group are unchecked. This behavior
  13015. disturbs form state restoring. This patch changes this behavior so
  13016. that the "checked" attribute handling is delayed after form state
  13017. restoring.
  13018. Test: fast/forms/state-restore-radio-group.html
  13019. * html/HTMLFormControlElement.h:
  13020. Make finishParsingChildren() protected so that HTMLInpuElement can call it.
  13021. * html/HTMLInputElement.cpp:
  13022. (WebCore::HTMLInputElement::HTMLInputElement):
  13023. - Add createdByParser parameter.
  13024. - Initialize m_stateRestored and m_parsingInProgress.
  13025. (WebCore::HTMLInputElement::create): Sync with the constructor.
  13026. (WebCore::HTMLInputElement::restoreFormControlState):
  13027. Set m_stateRestored in order to refer it in finishParsingChildren().
  13028. (WebCore::HTMLInputElement::parseMappedAttribute):
  13029. Don't call setChecked() during parsing. Move setNeedsValidityCheck()
  13030. to setChecked().
  13031. (WebCore::HTMLInputElement::finishParsingChildren):
  13032. Call setChecked() if form state is not restored.
  13033. (WebCore::HTMLInputElement::setChecked):
  13034. Move setNeedsValidityCheck() from parseMappedAttribute() because
  13035. finishParsingChildren() also needs to call setNeedsValidityCheck().
  13036. * html/HTMLInputElement.h:
  13037. - Remove the default value of HTMLFormElement* of the HTMLInputElement
  13038. constructor, and add createdByParser parameter.
  13039. - Introduce m_parsingInProgress and m_stateRestored.
  13040. * html/HTMLIsIndexElement.cpp:
  13041. (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
  13042. Sync with the HTMLInputElement constructor change.
  13043. * html/HTMLTagNames.in: Add constructorNeedsCreatedByParser flag.
  13044. * rendering/MediaControlElements.cpp:
  13045. (WebCore::MediaControlInputElement::MediaControlInputElement):
  13046. Sync with the HTMLInputElement constructor change.
  13047. * rendering/ShadowElement.cpp:
  13048. (WebCore::ShadowInputElement::ShadowInputElement): ditto.
  13049. * rendering/ShadowElement.h:
  13050. (WebCore::ShadowElement::ShadowElement): ditto.
  13051. 2011-01-25 Kent Tamura <tkent@chromium.org>
  13052. Reviewed by Dimitri Glazkov.
  13053. HTMLFormElement::checkValidity() returns incorrect result if 'invalid' events are canceled.
  13054. https://bugs.webkit.org/show_bug.cgi?id=52565
  13055. * html/HTMLFormElement.cpp:
  13056. (WebCore::HTMLFormElement::validateInteractively):
  13057. Check checkInvalidControlsAndCollectUnhandled() result instead of
  13058. checking emptiness of unhandled invalid controls list.
  13059. (WebCore::HTMLFormElement::checkValidity): ditto.
  13060. (WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
  13061. Renamed from collectUnhandledInvalidControls().
  13062. Returns true if there is any invalid control regardless of event canceling.
  13063. * html/HTMLFormElement.h: Rename collectUnhandledInvalidControls() to
  13064. checkInvalidControlsAndCollectUnhandled().
  13065. 2011-01-25 Kent Tamura <tkent@chromium.org>
  13066. Reviewed by Dimitri Glazkov.
  13067. Range and number inputs should reject increment and decrement by
  13068. keyboard or mouse wheel if they are disabled or read-only
  13069. https://bugs.webkit.org/show_bug.cgi?id=53151
  13070. * html/RangeInputType.cpp:
  13071. (WebCore::RangeInputType::handleKeydownEvent): Check disabled() and readOnly().
  13072. * html/TextFieldInputType.cpp:
  13073. (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): ditto.
  13074. (WebCore::TextFieldInputType::handleWheelEventForSpinButton): ditto.
  13075. 2011-01-25 Kent Tamura <tkent@chromium.org>
  13076. Reviewed by Dimitri Glazkov.
  13077. API to support localized numbers for <input type=number>
  13078. https://bugs.webkit.org/show_bug.cgi?id=45730
  13079. Introduce platform/text/LocalizedNumber.h, and
  13080. LocalizedNumberNone.cpp, which is an empty implementation of the
  13081. functions in LocalizedNumber.h. We use LocalizedNumberNone.cpp in
  13082. all platforms for now.
  13083. A string in a type=number field is parsed as a localized number
  13084. first. If the parsing fails, it is parsed as the HTML5 number.
  13085. We introduce HTMLInputElement::visibleValue(). It represents a value
  13086. which should be drawn by a renderer. HTMLInputElement::value() always
  13087. returns a number formatted for HTML5, and visibleValue() may return a
  13088. localized number.
  13089. No new tests because this doesn't change any behavior.
  13090. * Android.mk: Add LocalizedNumber.h and/or LocalizedNumberNone.cpp.
  13091. * CMakeLists.txt: ditto.
  13092. * GNUmakefile.am: ditto.
  13093. * WebCore.gypi: ditto.
  13094. * WebCore.pro: ditto.
  13095. * WebCore.vcproj/WebCore.vcproj: ditto.
  13096. * WebCore.xcodeproj/project.pbxproj: ditto.
  13097. * dom/InputElement.h: Add visibleValue().
  13098. * html/HTMLInputElement.cpp:
  13099. (WebCore::HTMLInputElement::visibleValue): Added. Just call InputType::visibleValue().
  13100. * html/HTMLInputElement.h: Declare visibleValue().
  13101. * html/InputType.cpp:
  13102. (WebCore::InputType::visibleValue): Add the default implementation of
  13103. visibleValue(), which returns HTMLInputElement::value().
  13104. * html/InputType.h: Add declarations.
  13105. * html/NumberInputType.cpp:
  13106. (WebCore::isHTMLNumberCharacter): Renamed from isNumberCharacter().
  13107. (WebCore::isNumberCharacter): Calls isLocalizedNumberCharacter() and isHTMLNumberCharacter().
  13108. (WebCore::NumberInputType::visibleValue):
  13109. Returns a localized number string produced by formatLocalizedNumber().
  13110. (WebCore::NumberInputType::isAcceptableValue): Calls parseLocalizedNumber().
  13111. (WebCore::NumberInputType::sanitizeValue): Calls parseLocalizedNumber().
  13112. * html/NumberInputType.h: Add declarations.
  13113. * platform/text/LocalizedNumber.h: Added.
  13114. * platform/text/LocalizedNumberNone.cpp: Added.
  13115. (WebCore::parseLocalizedNumber):
  13116. (WebCore::formatLocalizedNumber):
  13117. (WebCore::isLocalizedNumberCharacter):
  13118. * rendering/RenderTextControlSingleLine.cpp:
  13119. (WebCore::RenderTextControlSingleLine::updateFromElement):
  13120. Calls InputElement::visibleValue() instead of value().
  13121. * wml/WMLInputElement.h:
  13122. (WebCore::WMLInputElement::visibleValue): Added. It just calls value().
  13123. 2011-01-25 Alexey Proskuryakov <ap@apple.com>
  13124. Reviewed by Darin Adler.
  13125. https://bugs.webkit.org/show_bug.cgi?id=53143
  13126. Add IntRectHash
  13127. * WebCore.xcodeproj/project.pbxproj:
  13128. * platform/graphics/IntRectHash.h: Added.
  13129. * platform/graphics/IntSizeHash.h: Don't do "using WebCore::IntSize"!
  13130. 2011-01-25 Ilya Sherman <isherman@chromium.org>
  13131. Reviewed by Ryosuke Niwa.
  13132. Remove trailing whitespace in HTMLInputElement.cpp
  13133. https://bugs.webkit.org/show_bug.cgi?id=53152
  13134. * html/HTMLInputElement.cpp:
  13135. (WebCore::HTMLInputElement::updateCheckedRadioButtons):
  13136. (WebCore::HTMLInputElement::applyStep):
  13137. (WebCore::HTMLInputElement::updateFocusAppearance):
  13138. (WebCore::HTMLInputElement::mapToEntry):
  13139. (WebCore::HTMLInputElement::setAutofilled):
  13140. (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
  13141. (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
  13142. 2011-01-25 Mike Reed <reed@google.com>
  13143. Reviewed by James Robinson.
  13144. DrawingBufer::reset() today checks if the new size is the same as its
  13145. m_size, and if so, returns immediately. This does not match the
  13146. semantics of <canvas>, which wants to clear its contents anytime the
  13147. size is specified.
  13148. https://bugs.webkit.org/show_bug.cgi?id=53149
  13149. Test: Covered by existing <canvas> tests using gpu.
  13150. * platform/graphics/chromium/DrawingBufferChromium.cpp:
  13151. (WebCore::DrawingBuffer::DrawingBuffer):
  13152. * platform/graphics/gpu/DrawingBuffer.cpp:
  13153. (WebCore::DrawingBuffer::reset):
  13154. 2011-01-25 Cris Neckar <cdn@chromium.org>
  13155. Reviewed by Adam Barth.
  13156. Add a hashset of DOMURLs to ScriptExecutionContext to track back references.
  13157. https://bugs.webkit.org/show_bug.cgi?id=53038
  13158. Test: fast/dom/window-domurl-crash.html
  13159. * dom/ScriptExecutionContext.cpp:
  13160. (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
  13161. (WebCore::ScriptExecutionContext::createdDomUrl):
  13162. (WebCore::ScriptExecutionContext::destroyedDomUrl):
  13163. * dom/ScriptExecutionContext.h:
  13164. (WebCore::ScriptExecutionContext::domUrls):
  13165. * html/DOMURL.cpp:
  13166. (WebCore::DOMURL::DOMURL):
  13167. (WebCore::DOMURL::~DOMURL):
  13168. (WebCore::DOMURL::contextDestroyed):
  13169. * html/DOMURL.h:
  13170. (WebCore::DOMURL::scriptExecutionContext):
  13171. 2011-01-23 Antti Koivisto <antti@apple.com>
  13172. Reviewed by Darin Adler.
  13173. https://bugs.webkit.org/show_bug.cgi?id=52983
  13174. Eliminate m_tagHistory pointer from CSSSelector
  13175. Keep the component selectors in the array in CSSSelectorList instead
  13176. of maintaining a linked list between them. This allows eliminating
  13177. m_tagHistory pointer, shrinking CSSSelector by 25% (selection performance
  13178. seems to improve some too due to better locality).
  13179. * WebCore.xcodeproj/project.pbxproj:
  13180. Make CSSSelector.h a private header.
  13181. * css/CSSGrammar.y:
  13182. Use CSSParserSelector during parsing to keep the tag history in
  13183. a linked list. This is flattened to an array after parsing.
  13184. Use accessors for setting selector values.
  13185. Use OwnPtr in selector vector.
  13186. * css/CSSPageRule.cpp:
  13187. (WebCore::CSSPageRule::CSSPageRule):
  13188. * css/CSSPageRule.h:
  13189. (WebCore::CSSPageRule::create):
  13190. Simplify.
  13191. * css/CSSParser.cpp:
  13192. (WebCore::CSSParser::~CSSParser):
  13193. (WebCore::CSSParser::createFloatingSelector):
  13194. (WebCore::CSSParser::sinkFloatingSelector):
  13195. (WebCore::CSSParser::createStyleRule):
  13196. (WebCore::CSSParser::updateSpecifiersWithElementName):
  13197. (WebCore::CSSParser::createPageRule):
  13198. * css/CSSParser.h:
  13199. (WebCore::CSSParser::reusableSelectorVector):
  13200. CSSSelector -> CSSParserSelector.
  13201. Use OwnPtr in selector vector.
  13202. * css/CSSParserValues.cpp:
  13203. (WebCore::CSSParserSelector::CSSParserSelector):
  13204. (WebCore::CSSParserSelector::~CSSParserSelector):
  13205. * css/CSSParserValues.h:
  13206. (WebCore::CSSParserSelector::releaseSelector):
  13207. (WebCore::CSSParserSelector::setTag):
  13208. (WebCore::CSSParserSelector::setValue):
  13209. (WebCore::CSSParserSelector::setAttribute):
  13210. (WebCore::CSSParserSelector::setArgument):
  13211. (WebCore::CSSParserSelector::setSimpleSelector):
  13212. (WebCore::CSSParserSelector::setMatch):
  13213. (WebCore::CSSParserSelector::setRelation):
  13214. (WebCore::CSSParserSelector::setForPage):
  13215. (WebCore::CSSParserSelector::pseudoType):
  13216. (WebCore::CSSParserSelector::isUnknownPseudoElement):
  13217. (WebCore::CSSParserSelector::isSimple):
  13218. (WebCore::CSSParserSelector::tagHistory):
  13219. (WebCore::CSSParserSelector::setTagHistory):
  13220. Linked list used during parsing.
  13221. Avoid recursive destruction.
  13222. * css/CSSSelector.cpp:
  13223. (WebCore::CSSSelector::extractPseudoType):
  13224. (WebCore::CSSSelector::operator==):
  13225. (WebCore::CSSSelector::selectorText):
  13226. (WebCore::CSSSelector::setSimpleSelector):
  13227. * css/CSSSelector.h:
  13228. (WebCore::CSSSelector::CSSSelector):
  13229. (WebCore::CSSSelector::~CSSSelector):
  13230. (WebCore::CSSSelector::tagHistory):
  13231. (WebCore::CSSSelector::tag):
  13232. (WebCore::CSSSelector::value):
  13233. (WebCore::CSSSelector::setTag):
  13234. (WebCore::CSSSelector::isLastInTagHistory):
  13235. (WebCore::CSSSelector::setNotLastInTagHistory):
  13236. (WebCore::CSSSelector::RareData::RareData):
  13237. (WebCore::CSSSelector::RareData::~RareData):
  13238. (WebCore::CSSSelector::createRareData):
  13239. (WebCore::CSSSelector::setValue):
  13240. Remove m_tagHistory.
  13241. Keep m_value in the union with the rare data pointer instead.
  13242. Make m_value and m_tag private, implement accessors.
  13243. Add a new bit to indicate end of the tag history (multipart selector).
  13244. Eliminate complex destruction. Selectors are now deleted as an array or by a CSSParserSelector chain.
  13245. * css/CSSSelectorList.cpp:
  13246. (WebCore::CSSSelectorList::adoptSelectorVector):
  13247. Flatten everything to an array.
  13248. (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
  13249. * css/CSSSelectorList.h:
  13250. (WebCore::CSSSelectorList::hasOneSelector):
  13251. (WebCore::CSSSelectorList::next):
  13252. Skip over the subparts of multipart selectors to find the next selector.
  13253. * css/CSSStyleRule.h:
  13254. (WebCore::CSSStyleRule::adoptSelectorVector):
  13255. CSSSelector -> CSSParserSelector.
  13256. * css/CSSStyleSelector.cpp:
  13257. (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
  13258. (WebCore::CSSRuleSet::addRule):
  13259. (WebCore::collectIdsAndSiblingRulesFromList):
  13260. (WebCore::CSSStyleSelector::matchPageRulesForList):
  13261. * dom/Node.cpp:
  13262. (WebCore::Node::querySelector):
  13263. * dom/SelectorNodeList.cpp:
  13264. (WebCore::createSelectorNodeList):
  13265. Use accessors.
  13266. 2011-01-25 James Simonsen <simonjam@chromium.org>
  13267. Reviewed by Tony Chang.
  13268. [Chromium] Support small caps in complex text on linux
  13269. https://bugs.webkit.org/show_bug.cgi?id=53051
  13270. * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
  13271. (WebCore::ComplexTextController::nextScriptRun): Break runs at small caps boundaries.
  13272. (WebCore::ComplexTextController::setupFontForScriptRun): Setup small caps font data if needed.
  13273. * platform/graphics/chromium/ComplexTextControllerLinux.h: Store small caps text in separate string.
  13274. 2011-01-25 Steve Falkenburg <sfalken@apple.com>
  13275. Rubber-stamped by Adam Roben.
  13276. Windows production build fix.
  13277. Use correct environment variable escaping
  13278. * WebCore.vcproj/WebCore.make:
  13279. 2011-01-25 Adam Barth <abarth@webkit.org>
  13280. Reviewed by Eric Seidel.
  13281. Empty URLs are never display isolated
  13282. https://bugs.webkit.org/show_bug.cgi?id=53053
  13283. This check mirrors the check in the local case. There isn't a good way
  13284. to test this with a LayoutTest, but it is tested in Chromium (where
  13285. this registry is used).
  13286. * platform/SchemeRegistry.cpp:
  13287. (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
  13288. 2011-01-25 Sam Weinig <sam@webkit.org>
  13289. Reviewed by Anders Carlsson.
  13290. Pipe a timestamp down into the PlatformWheelEvent for the Mac.
  13291. https://bugs.webkit.org/show_bug.cgi?id=53111
  13292. * platform/PlatformWheelEvent.h:
  13293. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  13294. (WebCore::PlatformWheelEvent::timestamp):
  13295. Add timestamp member.
  13296. * platform/mac/WheelEventMac.mm:
  13297. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  13298. Initialize the timestamp from the event.
  13299. 2011-01-25 Sheriff Bot <webkit.review.bot@gmail.com>
  13300. Unreviewed, rolling out r76625.
  13301. http://trac.webkit.org/changeset/76625
  13302. https://bugs.webkit.org/show_bug.cgi?id=53119
  13303. "incorrect pixel test results" (Requested by rniwa on
  13304. #webkit).
  13305. * rendering/RenderBox.cpp:
  13306. (WebCore::RenderBox::localCaretRect):
  13307. 2011-01-25 Patrick Gansterer <paroga@webkit.org>
  13308. Unreviewed WinCE build fix for r76614.
  13309. * platform/FileSystem.h:
  13310. 2011-01-21 Levi Weintraub <leviw@chromium.org>
  13311. Reviewed by Darin Adler.
  13312. Adding border and padding to the calculation of the local caret rect for RenderBoxes.
  13313. Undo moves caret to invalid position
  13314. https://bugs.webkit.org/show_bug.cgi?id=49744
  13315. Tests: editing/selection/caret-painting-after-paste-undo-rtl.html
  13316. editing/selection/caret-painting-after-paste-undo.html
  13317. * rendering/RenderBox.cpp:
  13318. (WebCore::RenderBox::localCaretRect):
  13319. 2011-01-25 Sam Weinig <sam@webkit.org>
  13320. Reviewed by Anders Carlsson.
  13321. Add hasPreciseScrollingDeltas bit to PlatformWheelEvent on the Mac.
  13322. https://bugs.webkit.org/show_bug.cgi?id=53107
  13323. * platform/PlatformWheelEvent.h:
  13324. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  13325. (WebCore::PlatformWheelEvent::hasPreciseScrollingDeltas):
  13326. * platform/mac/WheelEventMac.mm:
  13327. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  13328. 2011-01-20 Jer Noble <jer.noble@apple.com>
  13329. Reviewed by Eric Carlson.
  13330. REGRESSION (r72119): Audio never plays on Star Wars intro animation
  13331. https://bugs.webkit.org/show_bug.cgi?id=52467
  13332. QuickTime's eat/m4a movie importer compontent doesn't list audio/m4a as a mime
  13333. type which it supports, though it handles .m4a files just fine. Change the way
  13334. we build the list of supported MIME Types through a new WebKitSystemInterface
  13335. function.
  13336. Caused by r72119, which adds system-specific extension->MIME entries to the cache
  13337. before global entries, and the system-specific entries include QuickTime's registry
  13338. entries which contain the audio/m4a MIME type, while its components do not.
  13339. Test: media/audio-mpeg4-supported.html
  13340. * WebCore.vcproj/QTMovieWinCommon.vsprops:
  13341. * platform/graphics/win/QTMovie.cpp:
  13342. (getMIMETypeCallBack):
  13343. (initializeSupportedTypes):
  13344. (QTMovie::countSupportedTypes): gSupportedTypes is now a CFArrayRef.
  13345. (QTMovie::getSupportedType): Ditto.
  13346. 2011-01-25 Hans Wennborg <hans@chromium.org>
  13347. Reviewed by Jeremy Orlow.
  13348. IndexedDB: Remove PlatformBridge::idbShutdown()
  13349. https://bugs.webkit.org/show_bug.cgi?id=53077
  13350. Since Chromium r72157, this is not used anymore. The previous use was
  13351. to signal to the embedder that IndexedDB was shutting down, but we
  13352. agreed it is better if the embedder keeps track of that itself.
  13353. No new tests: this does not change any functionality.
  13354. * platform/chromium/PlatformBridge.h:
  13355. * storage/IDBFactoryBackendInterface.cpp:
  13356. * storage/IDBFactoryBackendInterface.h:
  13357. (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
  13358. * storage/chromium/IDBFactoryBackendInterface.cpp:
  13359. 2011-01-25 Darin Adler <darin@apple.com>
  13360. Reviewed by Anders Carlsson.
  13361. WebKit is using CSBackupSetItemExcluded incorrectly
  13362. https://bugs.webkit.org/show_bug.cgi?id=53095
  13363. rdar://problem/8790540
  13364. * loader/icon/IconDatabase.cpp:
  13365. (WebCore::IconDatabase::performOpenInitialization): Added code to
  13366. exclude the database from backup one time, and record inside the
  13367. database that this has been done.
  13368. (WebCore::IconDatabase::wasExcludedFromBackup): Added.
  13369. (WebCore::IconDatabase::setWasExcludedFromBackup): Added.
  13370. * loader/icon/IconDatabase.h: Added new functions above.
  13371. * platform/FileSystem.cpp:
  13372. (WebCore::canExcludeFromBackup): Added.
  13373. (WebCore::excludeFromBackup): Added.
  13374. * platform/FileSystem.h: Added canExcludeFromBackup, excludeFromBackup,
  13375. and pathAsURL functions. Cleaned up ifdefs and comments a bit and sorted
  13376. things alphabetically, particularly platform-specific sections.
  13377. * platform/cf/FileSystemCF.cpp:
  13378. (WebCore::pathAsURL): Added.
  13379. * platform/mac/FileSystemMac.mm:
  13380. (WebCore::canExcludeFromBackup): Added.
  13381. (WebCore::excludeFromBackup): Added.
  13382. * platform/network/cf/FormDataStreamCFNet.cpp:
  13383. (WebCore::advanceCurrentStream): Changed to call pathAsURL.
  13384. * platform/network/mac/FormDataStreamMac.mm:
  13385. (WebCore::advanceCurrentStream): Ditto.
  13386. 2011-01-25 Helder Correia <helder@sencha.com>
  13387. Reviewed by Dirk Schulze.
  13388. REGRESSION(75139): SVG gradients are not applied to texts
  13389. https://bugs.webkit.org/show_bug.cgi?id=52531
  13390. CGContextConcatCTM should use the CGLayer context, not the
  13391. GraphicsContext. Also, the CTM needs to be adjusted (translated).
  13392. This fixes SVG text gradient fill.
  13393. Test: svg/css/composite-shadow-text.svg
  13394. * platform/graphics/cg/GraphicsContextCG.cpp:
  13395. (WebCore::GraphicsContext::fillRect):
  13396. 2011-01-25 Benjamin Kalman <kalman@chromium.org>
  13397. Reviewed by Ryosuke Niwa.
  13398. Cannot extend or modify forward by word over a non-contenteditable region
  13399. https://bugs.webkit.org/show_bug.cgi?id=53070
  13400. Test: editing/selection/extend-forward-by-word-over-non-editable.html
  13401. Change all instances of honorEditableBoundaryAtOrAfter to honorEditableBoundaryAtOrBefore and vice versa in the
  13402. functions which determine the end/start of words/lines/sentences in visible_units.cpp.
  13403. This fixes the bug where moving forwards by a word over a non-contenteditable region would place the cursor
  13404. inside that region, and then get moved back to the start of the word due to honorEditableBoundaryAtOrBefore.
  13405. The cursor is now moved to the end of the region (which is effectively a noop in this case).
  13406. * editing/visible_units.cpp: Change all instances of honorEditableBoundaryAtOrAfter to
  13407. honorEditableBoundaryAtOrBefore and vice versa.
  13408. (WebCore::previousWordPosition):
  13409. (WebCore::nextWordPosition):
  13410. (WebCore::startOfLine):
  13411. (WebCore::endOfLine):
  13412. (WebCore::previousSentencePosition):
  13413. (WebCore::nextSentencePosition):
  13414. (WebCore::logicalStartOfLine):
  13415. (WebCore::logicalEndOfLine):
  13416. 2011-01-25 Yael Aharon <yael.aharon@nokia.com>
  13417. Unreviewed build fix.
  13418. After r76466, efsrv.lib is used unconditionally.
  13419. Don't guard it with ENABLE_NETSCAPE_PLUGIN_API.
  13420. * WebCore.pro:
  13421. 2011-01-24 Zhenyao Mo <zmo@google.com>
  13422. Reviewed by Kenneth Russell.
  13423. Style cleanup for WebGLRenderingContext
  13424. https://bugs.webkit.org/show_bug.cgi?id=52352
  13425. * html/canvas/WebGLBuffer.cpp:
  13426. * html/canvas/WebGLBuffer.h:
  13427. * html/canvas/WebGLObject.cpp:
  13428. * html/canvas/WebGLProgram.cpp:
  13429. * html/canvas/WebGLRenderbuffer.cpp:
  13430. * html/canvas/WebGLRenderingContext.cpp:
  13431. (WebCore::WebGLRenderingContext::create):
  13432. (WebCore::WebGLRenderingContext::blendFunc):
  13433. (WebCore::WebGLRenderingContext::createShader):
  13434. (WebCore::WebGLRenderingContext::deleteBuffer):
  13435. (WebCore::WebGLRenderingContext::deleteShader):
  13436. (WebCore::WebGLRenderingContext::deleteTexture):
  13437. (WebCore::WebGLRenderingContext::disableVertexAttribArray):
  13438. (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
  13439. (WebCore::WebGLRenderingContext::validateRenderingState):
  13440. (WebCore::WebGLRenderingContext::enableVertexAttribArray):
  13441. (WebCore::WebGLRenderingContext::getUniform):
  13442. (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
  13443. * html/canvas/WebGLRenderingContext.h:
  13444. * html/canvas/WebGLShader.cpp:
  13445. * html/canvas/WebGLTexture.cpp:
  13446. * html/canvas/WebGLUniformLocation.cpp:
  13447. * html/canvas/WebGLUniformLocation.h:
  13448. 2011-01-24 Chris Marrin <cmarrin@apple.com>
  13449. Reviewed by Eric Seidel.
  13450. Change ENABLE_3D_CANVAS to ENABLE_WEBGL
  13451. https://bugs.webkit.org/show_bug.cgi?id=53041
  13452. * Configurations/FeatureDefines.xcconfig:
  13453. * DerivedSources.cpp:
  13454. * GNUmakefile.am:
  13455. * WebCore.pro:
  13456. * bindings/generic/RuntimeEnabledFeatures.h:
  13457. * bindings/js/JSArrayBufferCustom.cpp:
  13458. * bindings/js/JSCanvasRenderingContextCustom.cpp:
  13459. (WebCore::toJS):
  13460. * bindings/js/JSDOMWindowCustom.cpp:
  13461. * bindings/js/JSDataViewCustom.cpp:
  13462. * bindings/js/JSDocumentCustom.cpp:
  13463. * bindings/js/JSFloat32ArrayCustom.cpp:
  13464. * bindings/js/JSHTMLCanvasElementCustom.cpp:
  13465. (WebCore::JSHTMLCanvasElement::getContext):
  13466. * bindings/js/JSInt16ArrayCustom.cpp:
  13467. * bindings/js/JSInt32ArrayCustom.cpp:
  13468. * bindings/js/JSInt8ArrayCustom.cpp:
  13469. * bindings/js/JSUint16ArrayCustom.cpp:
  13470. * bindings/js/JSUint32ArrayCustom.cpp:
  13471. * bindings/js/JSUint8ArrayCustom.cpp:
  13472. * bindings/js/JSWebGLRenderingContextCustom.cpp:
  13473. * bindings/js/JSXMLHttpRequestCustom.cpp:
  13474. (WebCore::JSXMLHttpRequest::markChildren):
  13475. (WebCore::JSXMLHttpRequest::send):
  13476. (WebCore::JSXMLHttpRequest::response):
  13477. * bindings/v8/custom/V8ArrayBufferCustom.cpp:
  13478. * bindings/v8/custom/V8ArrayBufferViewCustom.h:
  13479. * bindings/v8/custom/V8DataViewCustom.cpp:
  13480. * bindings/v8/custom/V8DocumentCustom.cpp:
  13481. (WebCore::V8Document::getCSSCanvasContextCallback):
  13482. * bindings/v8/custom/V8Float32ArrayCustom.cpp:
  13483. * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
  13484. (WebCore::V8HTMLCanvasElement::getContextCallback):
  13485. * bindings/v8/custom/V8Int16ArrayCustom.cpp:
  13486. * bindings/v8/custom/V8Int32ArrayCustom.cpp:
  13487. * bindings/v8/custom/V8Int8ArrayCustom.cpp:
  13488. * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
  13489. * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
  13490. * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
  13491. * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
  13492. * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
  13493. (WebCore::V8XMLHttpRequest::responseAccessorGetter):
  13494. (WebCore::V8XMLHttpRequest::sendCallback):
  13495. * features.pri:
  13496. * html/HTMLCanvasElement.cpp:
  13497. (WebCore::HTMLCanvasElement::getContext):
  13498. (WebCore::HTMLCanvasElement::reset):
  13499. * html/HTMLCanvasElement.h:
  13500. * html/canvas/ArrayBuffer.cpp:
  13501. * html/canvas/ArrayBuffer.idl:
  13502. * html/canvas/ArrayBufferView.cpp:
  13503. * html/canvas/ArrayBufferView.idl:
  13504. * html/canvas/DataView.cpp:
  13505. * html/canvas/DataView.idl:
  13506. * html/canvas/Float32Array.cpp:
  13507. * html/canvas/Float32Array.idl:
  13508. * html/canvas/Int16Array.cpp:
  13509. * html/canvas/Int16Array.idl:
  13510. * html/canvas/Int32Array.cpp:
  13511. * html/canvas/Int32Array.idl:
  13512. * html/canvas/Int8Array.cpp:
  13513. * html/canvas/Int8Array.idl:
  13514. * html/canvas/OESStandardDerivatives.cpp:
  13515. * html/canvas/OESStandardDerivatives.idl:
  13516. * html/canvas/OESTextureFloat.cpp:
  13517. * html/canvas/OESTextureFloat.idl:
  13518. * html/canvas/Uint16Array.cpp:
  13519. * html/canvas/Uint16Array.idl:
  13520. * html/canvas/Uint32Array.cpp:
  13521. * html/canvas/Uint32Array.idl:
  13522. * html/canvas/Uint8Array.cpp:
  13523. * html/canvas/Uint8Array.idl:
  13524. * html/canvas/WebGLActiveInfo.idl:
  13525. * html/canvas/WebGLBuffer.cpp:
  13526. * html/canvas/WebGLBuffer.idl:
  13527. * html/canvas/WebGLContextAttributes.cpp:
  13528. * html/canvas/WebGLContextAttributes.idl:
  13529. * html/canvas/WebGLContextEvent.idl:
  13530. * html/canvas/WebGLExtension.cpp:
  13531. * html/canvas/WebGLFramebuffer.cpp:
  13532. * html/canvas/WebGLFramebuffer.idl:
  13533. * html/canvas/WebGLGetInfo.cpp:
  13534. * html/canvas/WebGLObject.cpp:
  13535. * html/canvas/WebGLProgram.cpp:
  13536. * html/canvas/WebGLProgram.idl:
  13537. * html/canvas/WebGLRenderbuffer.cpp:
  13538. * html/canvas/WebGLRenderbuffer.idl:
  13539. * html/canvas/WebGLRenderingContext.cpp:
  13540. * html/canvas/WebGLRenderingContext.idl:
  13541. * html/canvas/WebGLShader.cpp:
  13542. * html/canvas/WebGLShader.idl:
  13543. * html/canvas/WebGLTexture.cpp:
  13544. * html/canvas/WebGLTexture.idl:
  13545. * html/canvas/WebGLUniformLocation.cpp:
  13546. * html/canvas/WebGLUniformLocation.idl:
  13547. * html/canvas/WebKitLoseContext.cpp:
  13548. * html/canvas/WebKitLoseContext.idl:
  13549. * page/DOMWindow.idl:
  13550. * platform/graphics/ANGLEWebKitBridge.cpp:
  13551. * platform/graphics/GraphicsContext3D.cpp:
  13552. * platform/graphics/cg/GraphicsContext3DCG.cpp:
  13553. * platform/graphics/gpu/DrawingBuffer.cpp:
  13554. * platform/graphics/gpu/mac/DrawingBufferMac.mm:
  13555. * platform/graphics/mac/GraphicsContext3DMac.mm:
  13556. * platform/graphics/mac/WebGLLayer.mm:
  13557. * platform/graphics/opengl/Extensions3DOpenGL.cpp:
  13558. * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
  13559. * platform/graphics/qt/Extensions3DQt.cpp:
  13560. * platform/graphics/qt/GraphicsContext3DQt.cpp:
  13561. * platform/graphics/qt/GraphicsLayerQt.cpp:
  13562. (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
  13563. (WebCore::GraphicsLayerQtImpl::paint):
  13564. (WebCore::GraphicsLayerQtImpl::flushChanges):
  13565. * platform/graphics/qt/GraphicsLayerQt.h:
  13566. * platform/graphics/skia/GraphicsContext3DSkia.cpp:
  13567. * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
  13568. * rendering/RenderLayerBacking.cpp:
  13569. (WebCore::isAcceleratedCanvas):
  13570. (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
  13571. (WebCore::RenderLayerBacking::containsPaintedContent):
  13572. (WebCore::RenderLayerBacking::contentChanged):
  13573. * webaudio/AudioBuffer.cpp:
  13574. * webaudio/AudioBuffer.idl:
  13575. * webaudio/RealtimeAnalyser.cpp:
  13576. * webaudio/RealtimeAnalyser.h:
  13577. * webaudio/RealtimeAnalyserNode.h:
  13578. * webaudio/RealtimeAnalyserNode.idl:
  13579. * xml/XMLHttpRequest.cpp:
  13580. (WebCore::XMLHttpRequest::setResponseType):
  13581. (WebCore::XMLHttpRequest::clearResponse):
  13582. (WebCore::XMLHttpRequest::didReceiveData):
  13583. * xml/XMLHttpRequest.h:
  13584. 2011-01-25 Mikhail Naganov <mnaganov@chromium.org>
  13585. Reviewed by Pavel Feldman.
  13586. Web Inspector: [Chromium] Prepare for landing of detailed heap snapshots.
  13587. - Introduce Preferences.detailedHeapProfiles flag for controlling
  13588. querying of detailed heap snapshots.
  13589. - Add boilerplate code for the new view.
  13590. - Factor out common code.
  13591. https://bugs.webkit.org/show_bug.cgi?id=52624
  13592. * WebCore.gypi:
  13593. * WebCore.vcproj/WebCore.vcproj:
  13594. * bindings/js/ScriptProfiler.h:
  13595. (WebCore::ScriptProfiler::HeapSnapshotControl::~HeapSnapshotControl):
  13596. (WebCore::ScriptProfiler::takeHeapSnapshot):
  13597. * bindings/v8/ScriptProfiler.cpp:
  13598. (WebCore::ScriptProfiler::takeHeapSnapshot):
  13599. * bindings/v8/ScriptProfiler.h:
  13600. (WebCore::ScriptProfiler::HeapSnapshotControl::~HeapSnapshotControl):
  13601. * inspector/Inspector.idl:
  13602. * inspector/InspectorProfilerAgent.cpp:
  13603. (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
  13604. * inspector/InspectorProfilerAgent.h:
  13605. * inspector/front-end/DetailedHeapshotView.js: Added.
  13606. (WebInspector.DetailedHeapshotView):
  13607. (WebInspector.DetailedHeapshotView.prototype.get statusBarItems):
  13608. (WebInspector.DetailedHeapshotView.prototype.get profile):
  13609. (WebInspector.DetailedHeapshotView.prototype.set profile):
  13610. (WebInspector.DetailedHeapshotView.prototype.show):
  13611. (WebInspector.DetailedHeapshotView.prototype.hide):
  13612. (WebInspector.DetailedHeapshotProfileType):
  13613. (WebInspector.DetailedHeapshotProfileType.prototype.get buttonTooltip):
  13614. (WebInspector.DetailedHeapshotProfileType.prototype.get buttonStyle):
  13615. (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
  13616. (WebInspector.DetailedHeapshotProfileType.prototype.get welcomeMessage):
  13617. (WebInspector.DetailedHeapshotProfileType.prototype.createSidebarTreeElementForProfile):
  13618. (WebInspector.DetailedHeapshotProfileType.prototype.createView):
  13619. * inspector/front-end/HeapSnapshot.js: Added.
  13620. (WebInspector.HeapSnapshotEdgesIterator):
  13621. (WebInspector.HeapSnapshotEdgesIterator.prototype.get done):
  13622. (WebInspector.HeapSnapshotEdgesIterator.prototype.get isElement):
  13623. (WebInspector.HeapSnapshotEdgesIterator.prototype.get isHidden):
  13624. (WebInspector.HeapSnapshotEdgesIterator.prototype.get name):
  13625. (WebInspector.HeapSnapshotEdgesIterator.prototype.next):
  13626. (WebInspector.HeapSnapshotEdgesIterator.prototype.get node):
  13627. (WebInspector.HeapSnapshotEdgesIterator.prototype.get nodeIndex):
  13628. (WebInspector.HeapSnapshotEdgesIterator.prototype._getNameOrIndex):
  13629. (WebInspector.HeapSnapshotEdgesIterator.prototype._getType):
  13630. (WebInspector.HeapSnapshotNodeWrapper):
  13631. (WebInspector.HeapSnapshotNodeWrapper.prototype.get edges):
  13632. (WebInspector.HeapSnapshotNodeWrapper.prototype.get edgesCount):
  13633. (WebInspector.HeapSnapshotNodeWrapper.prototype.get instancesCount):
  13634. (WebInspector.HeapSnapshotNodeWrapper.prototype.get isHidden):
  13635. (WebInspector.HeapSnapshotNodeWrapper.prototype.get name):
  13636. (WebInspector.HeapSnapshotNodeWrapper.prototype.get selfSize):
  13637. (WebInspector.HeapSnapshotNodeWrapper.prototype._getName):
  13638. (WebInspector.HeapSnapshotNodeWrapper.prototype._getEdges):
  13639. (WebInspector.HeapSnapshotNodeWrapper.prototype._getType):
  13640. (WebInspector.HeapSnapshot):
  13641. (WebInspector.HeapSnapshot.prototype._init):
  13642. (WebInspector.HeapSnapshot.prototype.get rootEdges):
  13643. * inspector/front-end/HeapSnapshotView.js:
  13644. (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
  13645. * inspector/front-end/ProfilesPanel.js:
  13646. (WebInspector.ProfilesPanel.prototype._setRecordingProfile):
  13647. (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
  13648. (WebInspector.ProfilerDispatcher.prototype.setRecordingProfile):
  13649. (WebInspector.ProfilerDispatcher.prototype.reportHeapSnapshotProgress):
  13650. * inspector/front-end/Settings.js:
  13651. * inspector/front-end/WebKit.qrc:
  13652. * inspector/front-end/inspector.html:
  13653. * inspector/front-end/inspector.js:
  13654. (WebInspector._createPanels):
  13655. 2011-01-25 Yury Semikhatsky <yurys@chromium.org>
  13656. Reviewed by Pavel Feldman.
  13657. Web Inspector: remove "attached" state related methods from InspectorAgent
  13658. https://bugs.webkit.org/show_bug.cgi?id=53086
  13659. * WebCore.exp.in:
  13660. * inspector/InspectorAgent.cpp:
  13661. * inspector/InspectorAgent.h:
  13662. * inspector/InspectorFrontendClientLocal.cpp:
  13663. (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
  13664. (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
  13665. * inspector/InspectorSettings.cpp:
  13666. (WebCore::InspectorSettings::InspectorSettings):
  13667. * inspector/InspectorSettings.h:
  13668. 2011-01-25 Qi Zhang <qi.2.zhang@nokia.com>
  13669. Reviewed by Laszlo Gombos.
  13670. [Symbian] RVCT fails to compile [U|I]nt[8|16|32]Array.h
  13671. https://bugs.webkit.org/show_bug.cgi?id=51873
  13672. Replace the using declaration, because it doesn't compile on RVCT, and WINSCW has the same issue.
  13673. No new functionality so no new tests.
  13674. * html/canvas/Int32Array.h:
  13675. (WebCore::Int32Array::set):
  13676. * html/canvas/Int8Array.h:
  13677. (WebCore::Int8Array::set):
  13678. * html/canvas/Uint16Array.h:
  13679. (WebCore::Uint16Array::set):
  13680. * html/canvas/Uint32Array.h:
  13681. (WebCore::Uint32Array::set):
  13682. * html/canvas/Uint8Array.h:
  13683. (WebCore::Uint8Array::set):
  13684. 2011-01-25 Zoltan Herczeg <zherczeg@webkit.org>
  13685. Reviewed by Dirk Schulze.
  13686. Repaint SVG elements with filter instead of relayout where possible
  13687. https://bugs.webkit.org/show_bug.cgi?id=52200
  13688. This patch allows repainting of filters, when their
  13689. attribute changes does not require relayout.
  13690. Existing dynamic-update tests cover this feature.
  13691. * platform/graphics/filters/FilterEffect.cpp:
  13692. (WebCore::FilterEffect::clearResult): Clearing the currently stored image
  13693. before repainting.
  13694. * platform/graphics/filters/FilterEffect.h:
  13695. * rendering/RenderObject.h:
  13696. (WebCore::RenderObject::isSVGResourceFilter): Not only the filter primitives,
  13697. but filters should also be detected to allow safe testing and casting.
  13698. * rendering/svg/RenderSVGResourceFilter.cpp:
  13699. (WebCore::RenderSVGResourceFilter::buildPrimitives): Passing the renderer.
  13700. (WebCore::RenderSVGResourceFilter::applyResource):
  13701. determineFilterPrimitiveSubregion does not require the filter anymore.
  13702. (WebCore::RenderSVGResourceFilter::postApplyResource): Repaint
  13703. if lastEffect->hasResult() is false.
  13704. (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
  13705. Searching for all FilterEffects, whose created by the current FilterElement,
  13706. and clearing all resulting images depending on those FilterEffects.
  13707. * rendering/svg/RenderSVGResourceFilter.h:
  13708. (WebCore::RenderSVGResourceFilter::isSVGResourceFilter):
  13709. * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
  13710. (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
  13711. The filter argument is unnecessary anymore. But is is still kept as a static
  13712. member, since the primitive renderer still does not know about the
  13713. FilterEffect objects.
  13714. * rendering/svg/RenderSVGResourceFilterPrimitive.h:
  13715. (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
  13716. (WebCore::RenderSVGResourceFilterPrimitive::primitiveAttributeChanged):
  13717. Calls RenderSVGResourceFilter::primitiveAttributeChanged.
  13718. * svg/SVGFEDiffuseLightingElement.cpp:
  13719. (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
  13720. Setting the new attribute value for each FilterEffect.
  13721. (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
  13722. * svg/SVGFEDiffuseLightingElement.h:
  13723. Calling primitiveAttributeChanged.
  13724. * svg/SVGFilterPrimitiveStandardAttributes.cpp:
  13725. (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
  13726. This function will be removed when all FilterElement implements
  13727. their setFilterEffectAttribute
  13728. * svg/SVGFilterPrimitiveStandardAttributes.h:
  13729. (WebCore::SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged):
  13730. * svg/graphics/filters/SVGFilterBuilder.cpp:
  13731. (WebCore::SVGFilterBuilder::appendEffectToEffectReferences): The
  13732. renderers are assigned to the filter effects.
  13733. (WebCore::SVGFilterBuilder::clearEffects):
  13734. (WebCore::SVGFilterBuilder::clearResultsRecursive): Recursively
  13735. clearing the result images for those filters, whose depend on
  13736. the starting filter.
  13737. * svg/graphics/filters/SVGFilterBuilder.h:
  13738. (WebCore::SVGFilterBuilder::effectReferences): 'get' is unnecessary
  13739. (WebCore::SVGFilterBuilder::effectByRenderer): returns the
  13740. FilterEffect belongs to this RenderObject.
  13741. 2011-01-25 Dirk Schulze <krit@webkit.org>
  13742. Reviewed by Nikolas Zimmermann.
  13743. SVG is missing to-animation support for Path
  13744. https://bugs.webkit.org/show_bug.cgi?id=52982
  13745. SVG was missing 'to' animation support for SVG paths. Even the fallback to discrete
  13746. animation did not work and an assert was thrown, because of the missing m_fromPath.
  13747. This also influences a test of the W3C test suite. Subtest 2 of animate-elem-83-t.svg passes now.
  13748. Test: svg/animations/animate-path-to-animation.html
  13749. * svg/SVGAnimateElement.cpp:
  13750. (WebCore::SVGAnimateElement::calculateAnimatedValue): Take the value of the last SVGAnimateElement for
  13751. m_fromPath, since 'to' animations are accumulative.
  13752. (WebCore::SVGAnimateElement::calculateFromAndToValues): Added support for 'to' animations.
  13753. (WebCore::SVGAnimateElement::resetToBaseValue): Set m_animatedPath on the first animation element to baseVal.
  13754. * svg/SVGPathByteStream.h:
  13755. (WebCore::SVGPathByteStream::copySVGPathByteStream): Return copy of current byte stream.
  13756. 2011-01-25 Pavel Feldman <pfeldman@chromium.org>
  13757. Reviewed by Yury Semikhatsky.
  13758. Web Inspector: bind resources to URLs upon adding them into the tree.
  13759. https://bugs.webkit.org/show_bug.cgi?id=53013
  13760. * inspector/front-end/AuditRules.js:
  13761. (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
  13762. * inspector/front-end/CSSStyleModel.js:
  13763. (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
  13764. (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
  13765. * inspector/front-end/DebuggerModel.js:
  13766. (WebInspector.DebuggerModel.prototype._parsedScriptSource):
  13767. * inspector/front-end/NetworkManager.js:
  13768. (WebInspector.NetworkManager.prototype._processCachedResources):
  13769. (WebInspector.NetworkManager.prototype.inflightResourceForURL):
  13770. (WebInspector.NetworkDispatcher):
  13771. (WebInspector.NetworkDispatcher.prototype.willSendRequest):
  13772. (WebInspector.NetworkDispatcher.prototype.markResourceAsCached):
  13773. (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
  13774. (WebInspector.NetworkDispatcher.prototype.didReceiveContentLength):
  13775. (WebInspector.NetworkDispatcher.prototype.didFinishLoading):
  13776. (WebInspector.NetworkDispatcher.prototype.didFailLoading):
  13777. (WebInspector.NetworkDispatcher.prototype.willSendWebSocketHandshakeRequest):
  13778. (WebInspector.NetworkDispatcher.prototype.didReceiveWebSocketHandshakeResponse):
  13779. (WebInspector.NetworkDispatcher.prototype.didCloseWebSocket):
  13780. (WebInspector.NetworkDispatcher.prototype._appendRedirect):
  13781. (WebInspector.NetworkDispatcher.prototype._startResource):
  13782. (WebInspector.NetworkDispatcher.prototype._finishResource):
  13783. (WebInspector.NetworkDispatcher.prototype._createResource):
  13784. * inspector/front-end/ResourceTreeModel.js:
  13785. (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
  13786. (WebInspector.ResourceTreeModel.prototype._bindResourceURL):
  13787. (WebInspector.ResourceTreeModel.prototype._clearResources):
  13788. (WebInspector.ResourceTreeModel.prototype._unbindResourceURL):
  13789. * inspector/front-end/ResourcesPanel.js:
  13790. (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
  13791. (WebInspector.ResourcesPanel.prototype.showSourceLine):
  13792. * inspector/front-end/ScriptsPanel.js:
  13793. (WebInspector.ScriptsPanel.prototype._parsedScriptSource):
  13794. (WebInspector.ScriptsPanel.prototype._addScript):
  13795. 2011-01-25 Nikolas Zimmermann <nzimmermann@rim.com>
  13796. Reviewed by Dirk Schulze.
  13797. Introduce FontMetrics abstraction
  13798. https://bugs.webkit.org/show_bug.cgi?id=51456
  13799. Use accurate floating-point metrics for SVG Font calculations instead of casting float -> integer.
  13800. This hopefully fixes differences between 32/64 bit bots.
  13801. Needs new layout test results for several platforms, which need to be taken from the bots landing afterwards.
  13802. * platform/graphics/SimpleFontData.cpp:
  13803. (WebCore::SimpleFontData::SimpleFontData):
  13804. (WebCore::SimpleFontData::initCharWidths):
  13805. 2011-01-24 Pavel Podivilov <podivilov@chromium.org>
  13806. Reviewed by Pavel Feldman.
  13807. Web Inspector: debugger and browser debugger agents should manage sticky breakpoints independently.
  13808. https://bugs.webkit.org/show_bug.cgi?id=52999
  13809. * inspector/Inspector.idl:
  13810. * inspector/InspectorAgent.cpp:
  13811. (WebCore::InspectorAgent::didCommitLoad):
  13812. (WebCore::InspectorAgent::enableDebugger):
  13813. (WebCore::InspectorAgent::inspectedURLWithoutFragment):
  13814. * inspector/InspectorAgent.h:
  13815. * inspector/InspectorBrowserDebuggerAgent.cpp:
  13816. (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
  13817. (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
  13818. (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
  13819. * inspector/InspectorBrowserDebuggerAgent.h:
  13820. * inspector/InspectorDebuggerAgent.cpp:
  13821. (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
  13822. (WebCore::InspectorDebuggerAgent::setAllJavaScriptBreakpoints):
  13823. (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
  13824. (WebCore::InspectorDebuggerAgent::restoreBreakpoints):
  13825. * inspector/InspectorDebuggerAgent.h:
  13826. * inspector/InspectorState.cpp:
  13827. (WebCore::InspectorState::InspectorState):
  13828. * inspector/InspectorState.h:
  13829. * inspector/front-end/BreakpointManager.js:
  13830. (WebInspector.BreakpointManager):
  13831. (WebInspector.BreakpointManager.prototype._projectChanged):
  13832. (WebInspector.BreakpointManager.prototype._saveBreakpoints):
  13833. (WebInspector.BreakpointManager.prototype._pushBreakpointsToBackend):
  13834. 2011-01-25 Carlos Garcia Campos <cgarcia@igalia.com>
  13835. Reviewed by Martin Robinson.
  13836. [GTK] Crash in some pages containing flash
  13837. https://bugs.webkit.org/show_bug.cgi?id=53016
  13838. Flash plugin can produce X errors that are handled by the GDK X
  13839. error handler, which exits the process. Since we don't want to
  13840. crash due to flash bugs, we install a custom error handler to show
  13841. a warning when a X error happens without aborting.
  13842. * plugins/gtk/PluginPackageGtk.cpp:
  13843. (WebCore::webkitgtkXError):
  13844. (WebCore::PluginPackage::load):
  13845. 2011-01-25 Carlos Garcia Campos <cgarcia@igalia.com>
  13846. Reviewed by Martin Robinson.
  13847. [GTK] Implement spin buttons in RenderThemeGtk
  13848. https://bugs.webkit.org/show_bug.cgi?id=51454
  13849. Paint inner up/down buttons for spin button elements when building
  13850. with GTK+ 3.x.
  13851. Test results will land with the GTK+ 2.x version of this patch.
  13852. * platform/gtk/RenderThemeGtk.h:
  13853. * platform/gtk/RenderThemeGtk2.cpp:
  13854. (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
  13855. (WebCore::RenderThemeGtk::paintInnerSpinButton):
  13856. * platform/gtk/RenderThemeGtk3.cpp:
  13857. (WebCore::spinButtonArrowSize):
  13858. (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
  13859. (WebCore::paintSpinArrowButton):
  13860. (WebCore::RenderThemeGtk::paintInnerSpinButton):
  13861. 2011-01-24 Mihai Parparita <mihaip@chromium.org>
  13862. Unreviewed. Missed move of one m_deleted use to be outside NDEBUG block
  13863. in r76575.
  13864. * loader/cache/CachedResource.cpp:
  13865. (WebCore::CachedResource::~CachedResource):
  13866. 2011-01-24 Mihai Parparita <mihaip@chromium.org>
  13867. Reviewed by Tony Chang.
  13868. Add runtime checks for invariants in memory cache
  13869. https://bugs.webkit.org/show_bug.cgi?id=53059
  13870. To help track down bug 53045, add some CRASH calls in addition to
  13871. ASSERTs, so that we can track down failures in reliability bots.
  13872. Just some checks, no new tests necessary.
  13873. * css/CSSImageValue.cpp:
  13874. (WebCore::CSSImageValue::cachedImage):
  13875. * loader/cache/CachedResource.h:
  13876. * loader/cache/CachedResource.cpp:
  13877. (WebCore::CachedResource::~CachedResource):
  13878. 2011-01-24 Simon Fraser <simon.fraser@apple.com>
  13879. Reviewed by Dan Bernstein.
  13880. Leaking CSSRuleDataList objects
  13881. https://bugs.webkit.org/show_bug.cgi?id=53062
  13882. Fix leaked CSSRuleDataLists added to the m_pseudoRules hash.
  13883. * css/CSSStyleSelector.cpp:
  13884. (WebCore::CSSRuleSet::~CSSRuleSet):
  13885. 2011-01-24 Simon Fraser <simon.fraser@apple.com>
  13886. Reviewed by Eric Seidel.
  13887. Refcount Images used in rendering code
  13888. https://bugs.webkit.org/show_bug.cgi?id=52701
  13889. Change StyleImage::image(RenderObject*, const IntSize&) and
  13890. CSSImageGeneratorValue::image(RenderObject*, const IntSize&) to
  13891. return PassRefPtr<Image>, and adjust other code accordingly.
  13892. This allows us to return one-time images, for example for CSS gradients
  13893. whose appearance may change depending on factors other than the renderer
  13894. and the destination size.
  13895. * css/CSSCanvasValue.cpp:
  13896. (WebCore::CSSCanvasValue::image):
  13897. * css/CSSCanvasValue.h:
  13898. * css/CSSGradientValue.cpp:
  13899. (WebCore::CSSGradientValue::image):
  13900. * css/CSSGradientValue.h:
  13901. * css/CSSImageGeneratorValue.h:
  13902. * rendering/RenderBoxModelObject.cpp:
  13903. (WebCore::RenderBoxModelObject::paintFillLayerExtended):
  13904. (WebCore::RenderBoxModelObject::paintNinePieceImage):
  13905. * rendering/RenderImage.cpp:
  13906. (WebCore::RenderImage::paintReplaced):
  13907. (WebCore::RenderImage::paintIntoRect):
  13908. * rendering/RenderImageResource.h:
  13909. (WebCore::RenderImageResource::image):
  13910. * rendering/RenderImageResourceStyleImage.h:
  13911. (WebCore::RenderImageResourceStyleImage::image):
  13912. * rendering/RenderListMarker.cpp:
  13913. (WebCore::RenderListMarker::paint):
  13914. * rendering/style/StyleCachedImage.cpp:
  13915. (WebCore::StyleCachedImage::image):
  13916. * rendering/style/StyleCachedImage.h:
  13917. * rendering/style/StyleGeneratedImage.cpp:
  13918. (WebCore::StyleGeneratedImage::image):
  13919. * rendering/style/StyleGeneratedImage.h:
  13920. * rendering/style/StyleImage.h:
  13921. * rendering/style/StylePendingImage.h:
  13922. (WebCore::StylePendingImage::image):
  13923. * rendering/svg/RenderSVGImage.cpp:
  13924. (WebCore::RenderSVGImage::paint):
  13925. 2011-01-24 Tony Chang <tony@chromium.org>
  13926. Unreviewed, round ascent and descent to match old code.
  13927. * platform/graphics/chromium/SimpleFontDataLinux.cpp:
  13928. (WebCore::SimpleFontData::platformInit):
  13929. 2011-01-24 Simon Fraser <simon.fraser@apple.com>
  13930. Reviewed by Chris Marrin.
  13931. perspective() transform function should take lengths
  13932. https://bugs.webkit.org/show_bug.cgi?id=52683
  13933. The argument to the perspective() transform function should
  13934. be a Length, rather than a bare number. Bare numbers are still
  13935. accepted (and treated as px), but this behavior is deprecated.
  13936. Test: animations/3d/transform-perspective.html
  13937. transforms/3d/general/3dtransform-values.html
  13938. * css/CSSParser.cpp:
  13939. (WebCore::CSSParser::parseTransform): Check the units for the perspective()
  13940. function. Allow bare numbers for backwards compatibility.
  13941. * css/CSSStyleSelector.cpp:
  13942. (WebCore::CSSStyleSelector::createTransformOperations): Convert
  13943. value to Length.
  13944. * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
  13945. (WebCore::clampToPostiveInteger): Helper.
  13946. (WebCore::PerspectiveTransformOperation::blend): Blend via Lengths.
  13947. * platform/graphics/transforms/PerspectiveTransformOperation.h:
  13948. (WebCore::PerspectiveTransformOperation::create): double -> Length.
  13949. (WebCore::PerspectiveTransformOperation::perspective): Ditto.
  13950. (WebCore::PerspectiveTransformOperation::isIdentity): Ditto.
  13951. (WebCore::PerspectiveTransformOperation::apply): Ditto.
  13952. (WebCore::PerspectiveTransformOperation::PerspectiveTransformOperation): Assert
  13953. that the Length is a fixed type.
  13954. 2011-01-24 Kent Tamura <tkent@chromium.org>
  13955. Reviewed by Dimitri Glazkov.
  13956. [Windows] Textfield <input>s have different widths.
  13957. https://bugs.webkit.org/show_bug.cgi?id=48405
  13958. - Apply the padding override for type=text to other textfield types too.
  13959. - Reset margin value of outer spin button, which is not used in Windows.
  13960. - Don't add inner spin button width to the preferred text field width.
  13961. Text fields should have the identical widths regardless of the
  13962. existence of spin buttons.
  13963. Test: fast/forms/input-widths.html
  13964. * css/themeWin.css:
  13965. (input[type="week"]):
  13966. (input[type="week"]:disabled):
  13967. (input[type="search"]::-webkit-search-cancel-button):
  13968. (input::-webkit-outer-spin-button):
  13969. * rendering/RenderTextControlSingleLine.cpp:
  13970. (WebCore::RenderTextControlSingleLine::preferredContentWidth):
  13971. Don't add inner spin button width to the preferred width.
  13972. 2011-01-24 Kent Tamura <tkent@chromium.org>
  13973. Reviewed by Dimitri Glazkov.
  13974. Some bugs of search cancel button and spin button about state change in
  13975. an event handler.
  13976. https://bugs.webkit.org/show_bug.cgi?id=46950
  13977. Fix the following problems:
  13978. * Type=search field didn't release event capturing
  13979. * Assertion failure when an input field with spin buttons was changed
  13980. to another type on focus event.
  13981. * A input field with spin button didn't release event capturing when it
  13982. was changed to another type on focus event.
  13983. Tests: fast/forms/input-number-change-type-on-focus.html
  13984. fast/forms/search-hide-cancel-on-cancel.html
  13985. * rendering/TextControlInnerElements.cpp:
  13986. (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
  13987. - Make the variable 'input' RefPtr. It makes the code simpler.
  13988. - Remove visibility check on mouseup event. We should release capturing
  13989. anyway because the cancel button may be invisible if JavaScript code
  13990. called by the focus event removes the input value.
  13991. (WebCore::SpinButtonElement::detach):
  13992. - Release capturing on detach because it is possible that a spin button
  13993. node is detached while it is capturing events.
  13994. (WebCore::SpinButtonElement::defaultEventHandler):
  13995. Take a reference to this and check renderer() after some functions which
  13996. may run JavaScript code.
  13997. (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
  13998. Make the variable 'input' RefPtr to align other functions in this file.
  13999. (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): ditto.
  14000. * rendering/TextControlInnerElements.h: Declare SpinButtonElement::detach().
  14001. 2011-01-24 Ryosuke Niwa <rniwa@webkit.org>
  14002. Reviewed by Ojan Vafai.
  14003. Inserting multiple whitespace using text composition (IME) should insert interleaved nbsp and whitespace.
  14004. https://bugs.webkit.org/show_bug.cgi?id=52781
  14005. The bug was caused by stringWithRebalancedWhitespace's replacing the space at the beginning of a paragraph
  14006. and the end of a paragraph by a non-breaking space after it replaced two consecutive spaces by a space and
  14007. non-breaking space pattern, thereby replacing more spaces by non-breaking spaces than needed.
  14008. Rewrote the function using Vector<UChar> to fix the bug. New function no longer calls String::replace
  14009. multiple times but instead it traverses through the string and replaces a space that immediately follows
  14010. another space or appears at the beginning of a paragraph or at the end of a paragraph by a non-break space.
  14011. * editing/CompositeEditCommand.cpp:
  14012. * editing/htmlediting.cpp:
  14013. (WebCore::stringWithRebalancedWhitespace): Written.
  14014. * editing/htmlediting.h:
  14015. (WebCore::isWhitespace): Removed from CompositeEditCommand.cpp
  14016. 2011-01-24 Kenneth Russell <kbr@google.com>
  14017. Reviewed by James Robinson.
  14018. Web Audio API: port FFTFrame to FFTW
  14019. https://bugs.webkit.org/show_bug.cgi?id=52989
  14020. Ported FFTFrame class to the open-source FFTW library. Tested with
  14021. unit tests from Chris Rogers. Made preliminary changes to GYP
  14022. files for conditional compilation of these files; will need to be
  14023. adjusted once FFTW is integrated as third-party source.
  14024. * WebCore.gyp/WebCore.gyp:
  14025. * WebCore.gypi:
  14026. * platform/audio/FFTFrame.h:
  14027. * platform/audio/fftw: Added.
  14028. * platform/audio/fftw/FFTFrameFFTW.cpp: Added.
  14029. (WebCore::FFTFrame::FFTFrame):
  14030. (WebCore::FFTFrame::~FFTFrame):
  14031. (WebCore::FFTFrame::multiply):
  14032. (WebCore::FFTFrame::doFFT):
  14033. (WebCore::FFTFrame::doInverseFFT):
  14034. (WebCore::FFTFrame::cleanup):
  14035. (WebCore::FFTFrame::realData):
  14036. (WebCore::FFTFrame::imagData):
  14037. (WebCore::FFTFrame::fftwPlanForSize):
  14038. 2011-01-24 Anders Carlsson <andersca@apple.com>
  14039. Reviewed by Dan Bernstein.
  14040. Reset the page scale factor on standard frame loads
  14041. https://bugs.webkit.org/show_bug.cgi?id=53058
  14042. <rdar://problem/8908844>
  14043. Add a symbol needed by WebKit2.
  14044. * WebCore.exp.in:
  14045. 2011-01-24 Ryosuke Niwa <rniwa@webkit.org>
  14046. Reviewed by Eric Seidel.
  14047. Stop instantiating legacy editing positions in InsertTextCommand, MoveSelectionCommand,
  14048. ReplaceSelectionCommand, SelectionController, SpellChecker, TypingCommand, and markup.cpp
  14049. https://bugs.webkit.org/show_bug.cgi?id=52676
  14050. Stop instantiating legacy editing positions in the following files.
  14051. * editing/InsertTextCommand.cpp:
  14052. (WebCore::InsertTextCommand::prepareForTextInsertion):
  14053. (WebCore::InsertTextCommand::performTrivialReplace):
  14054. (WebCore::InsertTextCommand::input):
  14055. (WebCore::InsertTextCommand::insertTab):
  14056. * editing/MoveSelectionCommand.cpp:
  14057. (WebCore::MoveSelectionCommand::doApply):
  14058. * editing/ReplaceSelectionCommand.cpp:
  14059. (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
  14060. (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded):
  14061. (WebCore::ReplaceSelectionCommand::doApply):
  14062. (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR):
  14063. (WebCore::ReplaceSelectionCommand::performTrivialReplace):
  14064. * editing/SelectionController.cpp:
  14065. (WebCore::SelectionController::setSelectionFromNone):
  14066. * editing/SpellChecker.cpp:
  14067. (WebCore::SpellChecker::didCheck):
  14068. * editing/TypingCommand.cpp:
  14069. (WebCore::TypingCommand::makeEditableRootEmpty):
  14070. (WebCore::TypingCommand::deleteKeyPressed):
  14071. (WebCore::TypingCommand::forwardDeleteKeyPressed):
  14072. * editing/markup.cpp:
  14073. (WebCore::StyledMarkupAccumulator::appendText):
  14074. (WebCore::StyledMarkupAccumulator::serializeNodes):
  14075. (WebCore::highestAncestorToWrapMarkup):
  14076. (WebCore::createMarkup):
  14077. 2011-01-24 Peter Kasting <pkasting@google.com>
  14078. Reviewed by Darin Adler.
  14079. Roll back r67261 ("Don't fire onclick on middle clicks") due to
  14080. regressions.
  14081. https://bugs.webkit.org/show_bug.cgi?id=46733
  14082. * html/HTMLAnchorElement.cpp:
  14083. (WebCore::isLinkClick):
  14084. * html/HTMLInputElement.cpp:
  14085. (WebCore::HTMLInputElement::preDispatchEventHandler):
  14086. (WebCore::HTMLInputElement::postDispatchEventHandler):
  14087. (WebCore::HTMLInputElement::defaultEventHandler):
  14088. * page/EventHandler.cpp:
  14089. (WebCore::EventHandler::handleMouseDoubleClickEvent):
  14090. (WebCore::EventHandler::handleMouseReleaseEvent):
  14091. 2011-01-24 Martin Robinson <mrobinson@igalia.com>
  14092. Reviewed by Eric Seidel.
  14093. [GTK] Many DOM XHTML tests time out
  14094. https://bugs.webkit.org/show_bug.cgi?id=52553
  14095. Properly handle the situation where a synchronous load fails before the inner
  14096. event loop has started. In this case, we simply do not run the inner event loop,
  14097. or else it will block indefinitely (since no GIO or libsoup callbacks will fire).
  14098. * platform/network/soup/ResourceHandleSoup.cpp:
  14099. (WebCore::ResourceHandle::loadResourceSynchronously): Bail out of a synchronous
  14100. load if it fails up front.
  14101. 2011-01-24 Zhenyao Mo <zmo@google.com>
  14102. Reviewed by Eric Seidel.
  14103. Cleanup WebGLGetInfo and related get*Parameter helpers in WebGLRenderingContext
  14104. https://bugs.webkit.org/show_bug.cgi?id=52338
  14105. Removed the long/unsigned long types and corresponding get functions
  14106. and use int/unsigned int instead.
  14107. * bindings/js/JSWebGLRenderingContextCustom.cpp:
  14108. (WebCore::toJS):
  14109. * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
  14110. (WebCore::toV8Object):
  14111. * html/canvas/WebGLGetInfo.cpp:
  14112. (WebCore::WebGLGetInfo::WebGLGetInfo):
  14113. (WebCore::WebGLGetInfo::getInt):
  14114. (WebCore::WebGLGetInfo::getUnsignedInt):
  14115. * html/canvas/WebGLGetInfo.h:
  14116. * html/canvas/WebGLRenderingContext.cpp:
  14117. (WebCore::WebGLRenderingContext::getBufferParameter):
  14118. (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
  14119. (WebCore::WebGLRenderingContext::getParameter):
  14120. (WebCore::WebGLRenderingContext::getProgramParameter):
  14121. (WebCore::WebGLRenderingContext::getRenderbufferParameter):
  14122. (WebCore::WebGLRenderingContext::getShaderParameter):
  14123. (WebCore::WebGLRenderingContext::getTexParameter):
  14124. (WebCore::WebGLRenderingContext::getUniform):
  14125. (WebCore::WebGLRenderingContext::getVertexAttrib):
  14126. (WebCore::WebGLRenderingContext::getIntParameter):
  14127. (WebCore::WebGLRenderingContext::getUnsignedIntParameter):
  14128. * html/canvas/WebGLRenderingContext.h:
  14129. 2011-01-24 Zhenyao Mo <zmo@google.com>
  14130. Reviewed by Darin Adler.
  14131. Remove sizeInBytes from GraphicsContext3D's various implementations
  14132. https://bugs.webkit.org/show_bug.cgi?id=52339
  14133. * html/canvas/WebGLRenderingContext.cpp:
  14134. (WebCore::WebGLRenderingContext::sizeInBytes):
  14135. * platform/graphics/GraphicsContext3D.h:
  14136. * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
  14137. * platform/graphics/qt/GraphicsContext3DQt.cpp:
  14138. 2011-01-24 Adam Roben <aroben@apple.com>
  14139. Windows Production build fix
  14140. * WebCore.vcproj/WebCore.make: Update for move of WebCore into Source.
  14141. 2011-01-24 Anton Muhin <antonm@chromium.org>
  14142. Reviewed by Nate Chapin.
  14143. [v8] Refactoring: extract IntrusiveDOMWrapperMap into a seprate class and files.
  14144. https://bugs.webkit.org/show_bug.cgi?id=52911
  14145. Plain refactoring, covered by the existing tests.
  14146. * WebCore.gypi: IntrusiveDOMWrapperMap.h added.
  14147. * bindings/v8/DOMDataStore.cpp: IntrusiveDOMWrapperMap is moved out of DOMDataStore class.
  14148. * bindings/v8/DOMDataStore.h: IntrusiveDOMWrapperMap is moved out of DOMDataStore class.
  14149. * bindings/v8/IntrusiveDOMWrapperMap.h: Added.
  14150. (WebCore::ChunkedTable::ChunkedTable):
  14151. (WebCore::ChunkedTable::add):
  14152. (WebCore::ChunkedTable::remove):
  14153. (WebCore::ChunkedTable::clear):
  14154. (WebCore::ChunkedTable::visit):
  14155. (WebCore::ChunkedTable::Chunk::Chunk):
  14156. (WebCore::ChunkedTable::clearEntries):
  14157. (WebCore::ChunkedTable::visitEntries):
  14158. (WebCore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap):
  14159. (WebCore::IntrusiveDOMWrapperMap::get):
  14160. (WebCore::IntrusiveDOMWrapperMap::set):
  14161. (WebCore::IntrusiveDOMWrapperMap::contains):
  14162. (WebCore::IntrusiveDOMWrapperMap::visit):
  14163. (WebCore::IntrusiveDOMWrapperMap::removeIfPresent):
  14164. (WebCore::IntrusiveDOMWrapperMap::clear):
  14165. (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::move):
  14166. (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::clear):
  14167. (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::visit):
  14168. * bindings/v8/StaticDOMDataStore.h: include added.
  14169. 2011-01-24 Shane Stephens <shanestephens@google.com>
  14170. Reviewed by Chris Marrin.
  14171. TransformationMatrix multiply operations apply operands in wrong order.
  14172. https://bugs.webkit.org/show_bug.cgi?id=52780
  14173. Rename TranformationMatrix::multLeft into multiply (the method does a multRight,
  14174. not a multLeft).
  14175. Remove TransformationMatrix::multiply, which was actually doing a multLeft.
  14176. Fix TransformationMatrix::operator* and operator*= such that the operand is
  14177. applied to the right-hand side of the matrix that the method is called on.
  14178. i.e., previously "a * b" used to compute "b * a", and "a *= b" used to store
  14179. "b * a" in "a". This has now been fixed so "a * b" computes "a * b" and
  14180. "a *= b" stores "a * b" in "a".
  14181. Convert all call sites for these methods to provide operands in the correct order.
  14182. No new tests as patch adds no new functionality.
  14183. * css/WebKitCSSMatrix.cpp:
  14184. (WebCore::WebKitCSSMatrix::multiply):
  14185. * platform/graphics/transforms/Matrix3DTransformOperation.h:
  14186. (WebCore::Matrix3DTransformOperation::apply):
  14187. * platform/graphics/transforms/MatrixTransformOperation.h:
  14188. (WebCore::MatrixTransformOperation::apply):
  14189. * platform/graphics/transforms/TransformationMatrix.cpp:
  14190. (WebCore::TransformationMatrix::scaleNonUniform):
  14191. (WebCore::TransformationMatrix::scale3d):
  14192. (WebCore::TransformationMatrix::rotate3d):
  14193. (WebCore::TransformationMatrix::skew):
  14194. (WebCore::TransformationMatrix::applyPerspective):
  14195. (WebCore::TransformationMatrix::multiply):
  14196. (WebCore::TransformationMatrix::recompose):
  14197. * platform/graphics/transforms/TransformationMatrix.h:
  14198. (WebCore::TransformationMatrix::operator*=):
  14199. (WebCore::TransformationMatrix::operator*):
  14200. * rendering/RenderLayer.cpp:
  14201. (WebCore::transparencyClipBox):
  14202. * rendering/RenderObject.cpp:
  14203. (WebCore::RenderObject::getTransformFromContainer):
  14204. * rendering/TransformState.cpp:
  14205. (WebCore::TransformState::applyTransform):
  14206. (WebCore::HitTestingTransformState::applyTransform):
  14207. 2011-01-24 Andrei Popescu <andreip@google.com>
  14208. Reviewed by Nate Chapin.
  14209. IndexedDatabase methods should not take arguments of type OptionsObject
  14210. https://bugs.webkit.org/show_bug.cgi?id=53012
  14211. This patch reverts all IDB methods, except IDBDatabase::createObjectStore and
  14212. IDBObjectStore::createIndex, to using a plain list of arguments instead of
  14213. grouping the various parameters inside a single OptionsObject argument.
  14214. This decision was made on public-webapps@w3.org mailing list.
  14215. We also add support (v8 only for now) for passing DOMStringList objects as arguments to native
  14216. methods. The code for obtaining a DOMStringList object from a JS array of strings existed already
  14217. in OptionsObject.cpp, I just copied it to V8Bindings.cpp and taught the v8 code generator how to
  14218. use it.
  14219. * bindings/scripts/CodeGeneratorV8.pm:
  14220. * bindings/v8/V8Binding.cpp:
  14221. (WebCore::v8ValueToWebCoreDOMStringList):
  14222. * bindings/v8/V8Binding.h:
  14223. * storage/IDBDatabase.cpp:
  14224. (WebCore::IDBDatabase::transaction):
  14225. * storage/IDBDatabase.h:
  14226. (WebCore::IDBDatabase::transaction):
  14227. * storage/IDBDatabase.idl:
  14228. * storage/IDBIndex.cpp:
  14229. (WebCore::IDBIndex::openCursor):
  14230. (WebCore::IDBIndex::openKeyCursor):
  14231. * storage/IDBIndex.h:
  14232. (WebCore::IDBIndex::openCursor):
  14233. (WebCore::IDBIndex::openKeyCursor):
  14234. * storage/IDBIndex.idl:
  14235. * storage/IDBObjectStore.cpp:
  14236. (WebCore::IDBObjectStore::openCursor):
  14237. * storage/IDBObjectStore.h:
  14238. (WebCore::IDBObjectStore::openCursor):
  14239. * storage/IDBObjectStore.idl:
  14240. 2011-01-24 Pavel Feldman <pfeldman@chromium.org>
  14241. Reviewed by Yury Semikhatsky.
  14242. Web Inspector: extract dispatch API from network manager.
  14243. https://bugs.webkit.org/show_bug.cgi?id=53009
  14244. * WebCore.xcodeproj/project.pbxproj:
  14245. * inspector/front-end/NetworkManager.js:
  14246. (WebInspector.NetworkManager):
  14247. (WebInspector.NetworkManager.prototype.reset):
  14248. (WebInspector.NetworkManager.prototype.requestContent):
  14249. (WebInspector.NetworkManager.prototype._processCachedResources):
  14250. (WebInspector.NetworkDispatcher):
  14251. (WebInspector.NetworkDispatcher.prototype._updateResourceWithRequest):
  14252. (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
  14253. (WebInspector.NetworkDispatcher.prototype._updateResourceWithCachedResource):
  14254. (WebInspector.NetworkDispatcher.prototype.identifierForInitialRequest):
  14255. (WebInspector.NetworkDispatcher.prototype.willSendRequest):
  14256. (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
  14257. (WebInspector.NetworkDispatcher.prototype.didLoadResourceFromMemoryCache):
  14258. (WebInspector.NetworkDispatcher.prototype.didCommitLoadForFrame):
  14259. (WebInspector.NetworkDispatcher.prototype.didCreateWebSocket):
  14260. (WebInspector.NetworkDispatcher.prototype._appendRedirect):
  14261. (WebInspector.NetworkDispatcher.prototype._startResource):
  14262. (WebInspector.NetworkDispatcher.prototype._updateResource):
  14263. (WebInspector.NetworkDispatcher.prototype._finishResource):
  14264. (WebInspector.NetworkDispatcher.prototype._addFramesRecursively):
  14265. (WebInspector.NetworkDispatcher.prototype._dispatchEventToListeners):
  14266. (WebInspector.NetworkDispatcher.prototype._createResource):
  14267. * inspector/front-end/Resource.js:
  14268. (WebInspector.Resource.prototype._innerRequestContent):
  14269. * inspector/front-end/ResourceTreeModel.js:
  14270. (WebInspector.ResourceTreeModel):
  14271. (WebInspector.ResourceTreeModel.prototype.reset):
  14272. (WebInspector.ResourceTreeModel.prototype.unbindResourceURL):
  14273. 2011-01-24 Yury Semikhatsky <yurys@chromium.org>
  14274. Reviewed by Pavel Feldman.
  14275. Web Inspector: [JSC] remove ScriptDebugServer::pageCreated
  14276. https://bugs.webkit.org/show_bug.cgi?id=53007
  14277. It's impossible to create "provisional" inspector for pages which are
  14278. not yet created so there is no need to listen for page creation in ScriptDebugServer.
  14279. * bindings/js/ScriptDebugServer.cpp:
  14280. * bindings/js/ScriptDebugServer.h:
  14281. * page/Page.cpp:
  14282. (WebCore::Page::Page):
  14283. 2011-01-24 Pavel Podivilov <podivilov@chromium.org>
  14284. Reviewed by Pavel Feldman.
  14285. Web Inspector: [REGRESSION] AppCache view on resources panel is broken.
  14286. https://bugs.webkit.org/show_bug.cgi?id=53002
  14287. * inspector/front-end/ApplicationCacheItemsView.js:
  14288. (WebInspector.ApplicationCacheItemsView.prototype._update):
  14289. * inspector/front-end/DOMAgent.js:
  14290. (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
  14291. 2011-01-24 Andreas Kling <kling@webkit.org>
  14292. Reviewed by Kenneth Rohde Christiansen.
  14293. [Qt] Fix warnings about unregistering an invalid timer
  14294. https://bugs.webkit.org/show_bug.cgi?id=53006
  14295. The ShadowBuffer's purge timer ID was initialized with 0 which lead
  14296. to us calling QObject::killTimer(0), causing some qWarnings.
  14297. * platform/graphics/qt/ContextShadowQt.cpp:
  14298. (WebCore::ShadowBuffer::ShadowBuffer):
  14299. (WebCore::ShadowBuffer::schedulePurge):
  14300. 2011-01-21 Mikhail Naganov <mnaganov@chromium.org>
  14301. Reviewed by Pavel Feldman.
  14302. Web Inspector: [Chromium] Fix heap snapshot table sorting.
  14303. Fix table sorting to avoid qsort instability artefacts.
  14304. https://bugs.webkit.org/show_bug.cgi?id=52914
  14305. * inspector/front-end/HeapSnapshotView.js:
  14306. (WebInspector.HeapSnapshotView.prototype._sortData):
  14307. (WebInspector.HeapSnapshotDataGridList.propertyComparator.comparator):
  14308. (WebInspector.HeapSnapshotDataGridList.propertyComparator):
  14309. 2011-01-24 Mikhail Naganov <mnaganov@chromium.org>
  14310. Reviewed by Yury Semikhatsky.
  14311. Web Inspector: Find duplicate strings in localizedStrings.js, update it.
  14312. https://bugs.webkit.org/show_bug.cgi?id=53005
  14313. * English.lproj/localizedStrings.js:
  14314. 2011-01-24 Pavel Podivilov <podivilov@chromium.org>
  14315. Unreviewed, build fix for r76509.
  14316. * inspector/InspectorDebuggerAgent.cpp:
  14317. (WebCore::InspectorDebuggerAgent::setBreakpoint):
  14318. 2011-01-24 Pavel Podivilov <podivilov@chromium.org>
  14319. Unreviewed, build fix for r76509.
  14320. * bindings/js/ScriptDebugServer.h:
  14321. 2011-01-24 Pavel Podivilov <podivilov@chromium.org>
  14322. Reviewed by Yury Semikhatsky.
  14323. Web Inspector: set breakpoints by line:column.
  14324. https://bugs.webkit.org/show_bug.cgi?id=52615
  14325. * CMakeLists.txt:
  14326. * GNUmakefile.am:
  14327. * WebCore.gypi:
  14328. * WebCore.pro:
  14329. * WebCore.vcproj/WebCore.vcproj:
  14330. * WebCore.xcodeproj/project.pbxproj:
  14331. * bindings/js/ScriptDebugServer.cpp:
  14332. (WebCore::ScriptDebugServer::setBreakpoint):
  14333. (WebCore::ScriptDebugServer::removeBreakpoint):
  14334. (WebCore::ScriptDebugServer::hasBreakpoint):
  14335. (WebCore::ScriptDebugServer::clearBreakpoints):
  14336. * bindings/js/ScriptDebugServer.h:
  14337. * bindings/v8/DebuggerScript.js:
  14338. ():
  14339. * bindings/v8/ScriptDebugServer.cpp:
  14340. (WebCore::ScriptDebugServer::setBreakpoint):
  14341. * bindings/v8/ScriptDebugServer.h:
  14342. * inspector/Inspector.idl:
  14343. * inspector/InspectorBrowserDebuggerAgent.cpp:
  14344. (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
  14345. * inspector/InspectorDebuggerAgent.cpp:
  14346. (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
  14347. (WebCore::InspectorDebuggerAgent::setBreakpoint):
  14348. (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
  14349. (WebCore::InspectorDebuggerAgent::didParseSource):
  14350. * inspector/InspectorDebuggerAgent.h:
  14351. * inspector/ScriptBreakpoint.cpp: Removed.
  14352. * inspector/ScriptBreakpoint.h:
  14353. (WebCore::ScriptBreakpoint::ScriptBreakpoint):
  14354. * inspector/front-end/Breakpoint.js:
  14355. (WebInspector.Breakpoint):
  14356. (WebInspector.Breakpoint.prototype.get url):
  14357. * inspector/front-end/BreakpointManager.js:
  14358. (WebInspector.JavaScriptBreakpoint.prototype._serializeToJSON):
  14359. * inspector/front-end/DebuggerModel.js:
  14360. (WebInspector.DebuggerModel.prototype.continueToLine):
  14361. (WebInspector.DebuggerModel.prototype.setBreakpoint):
  14362. (WebInspector.DebuggerModel.prototype._breakpointSetOnBackend):
  14363. (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
  14364. 2011-01-24 Peter Beverloo <peter@chromium.org>
  14365. Reviewed by Pavel Feldman.
  14366. Web Inspector: recognize application/x-font-woff as a valid mime-type.
  14367. https://bugs.webkit.org/show_bug.cgi?id=52977
  14368. No new tests.
  14369. * inspector/front-end/inspector.js:
  14370. 2011-01-24 Pavel Podivilov <podivilov@chromium.org>
  14371. Unreviewed, fix for r76497.
  14372. * inspector/front-end/ResourcesPanel.js:
  14373. (WebInspector.ResourcesPanel.prototype.show):
  14374. 2011-01-24 Andreas Kling <kling@webkit.org>
  14375. Reviewed by Tor Arne Vestbø.
  14376. [Qt] Use rad2deg() from WTF instead of rolling our own.
  14377. https://bugs.webkit.org/show_bug.cgi?id=52993
  14378. * platform/graphics/qt/GraphicsContextQt.cpp:
  14379. (WebCore::GraphicsContext::rotate):
  14380. * platform/graphics/qt/PathQt.cpp:
  14381. (WebCore::Path::addArc):
  14382. 2011-01-24 Sergio Villar Senin <svillar@igalia.com>
  14383. Reviewed by Martin Robinson.
  14384. [Gtk] ResourceHandleSoup: do not wait for streams to close to issue didFinishLoading
  14385. https://bugs.webkit.org/show_bug.cgi?id=52885
  14386. No new tests as it does not change functionality. We will not wait for
  14387. the the input stream to close to issue didFinishLoading to
  14388. WebCore. We expect a subtle performance improvement with this
  14389. patch when loading complex web pages, as we wouldn't have to wait
  14390. for the stream to close (which involves creating a thread among
  14391. other things).
  14392. * platform/network/soup/ResourceHandleSoup.cpp:
  14393. (WebCore::closeCallback):
  14394. (WebCore::readCallback):
  14395. 2011-01-21 Pavel Podivilov <podivilov@chromium.org>
  14396. Reviewed by Pavel Feldman.
  14397. Web Inspector: eliminate SourceView and ScriptView classes.
  14398. https://bugs.webkit.org/show_bug.cgi?id=52896
  14399. SourceView and ScriptView delegate everything to SourceFrame and should be eliminated.
  14400. * WebCore.gypi:
  14401. * WebCore.vcproj/WebCore.vcproj:
  14402. * inspector/front-end/GoToLineDialog.js:
  14403. (WebInspector.GoToLineDialog.prototype._highlightSelectedLine):
  14404. * inspector/front-end/ResourceView.js:
  14405. (WebInspector.ResourceView.createResourceView):
  14406. (WebInspector.ResourceView.resourceViewTypeMatchesResource):
  14407. (WebInspector.SourceFrameContentProviderForResource): Moved from SourceView.
  14408. * inspector/front-end/ResourcesPanel.js:
  14409. (WebInspector.ResourcesPanel.prototype.show):
  14410. (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
  14411. (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
  14412. * inspector/front-end/ScriptView.js: Removed.
  14413. * inspector/front-end/ScriptsPanel.js:
  14414. (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
  14415. (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
  14416. (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
  14417. (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
  14418. (WebInspector.ScriptsPanel.prototype._formatScript):
  14419. (WebInspector.SourceFrameContentProviderForScript): Moved from ScriptView.
  14420. * inspector/front-end/SourceFrame.js:
  14421. (WebInspector.SourceFrame):
  14422. (WebInspector.SourceFrame.prototype.show):
  14423. (WebInspector.SourceFrame.prototype.hide):
  14424. (WebInspector.SourceFrame.prototype.hasContent):
  14425. (WebInspector.SourceFrame.prototype._createTextViewer):
  14426. (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
  14427. (WebInspector.SourceFrame.prototype.performSearch):
  14428. * inspector/front-end/SourceView.js: Removed.
  14429. * inspector/front-end/WebKit.qrc:
  14430. * inspector/front-end/inspector.html:
  14431. 2011-01-24 Andras Becsi <abecsi@webkit.org>
  14432. Reviewed by Csaba Osztrogonác.
  14433. [Qt] Move project files into Source
  14434. https://bugs.webkit.org/show_bug.cgi?id=52891
  14435. No new tests needed.
  14436. * WebCore.pri:
  14437. * WebCore.pro:
  14438. 2011-01-24 Kent Tamura <tkent@chromium.org>
  14439. Unreviewed, trivial fix.
  14440. Fix a Chromium-only assertion failure by r76491.
  14441. https://bugs.webkit.org/show_bug.cgi?id=38982
  14442. Separate icon loading from the FileChooser constructor in order to avoid
  14443. ref() before adoptRef().
  14444. * platform/FileChooser.cpp:
  14445. (WebCore::FileChooser::FileChooser):
  14446. (WebCore::FileChooser::initialize):
  14447. (WebCore::FileChooser::create):
  14448. * platform/FileChooser.h:
  14449. 2011-01-24 MORITA Hajime <morrita@google.com>
  14450. Reviewed by Kent Tamura.
  14451. TextControlInnerElement::m_shadowParent should be removed.
  14452. https://bugs.webkit.org/show_bug.cgi?id=52998
  14453. No new tests. No behavioral change.
  14454. * rendering/TextControlInnerElements.cpp:
  14455. (WebCore::TextControlInnerElement::TextControlInnerElement):
  14456. * rendering/TextControlInnerElements.h:
  14457. 2011-01-24 Yury Semikhatsky <yurys@chromium.org>
  14458. Reviewed by Pavel Feldman.
  14459. REGRESSION (r72895): console.trace crashes
  14460. https://bugs.webkit.org/show_bug.cgi?id=52981
  14461. - Use local RefPtr variable for accessing PassRefPtr arguments to make sure the PassRefPtr has
  14462. non-null value.
  14463. - Use PassRefPtr for objects whos ownership is passed to the inspector.
  14464. * GNUmakefile.am:
  14465. * WebCore.gypi:
  14466. * WebCore.pro:
  14467. * WebCore.vcproj/WebCore.vcproj:
  14468. * WebCore.xcodeproj/project.pbxproj:
  14469. * inspector/InspectorConsoleInstrumentation.h: Added. Extract inline methods called from the console into their
  14470. own header to reduce compilation time of other classes that depend on the inspector instrumentation.
  14471. (WebCore::InspectorInstrumentation::addMessageToConsole):
  14472. (WebCore::InspectorInstrumentation::consoleCount):
  14473. (WebCore::InspectorInstrumentation::startConsoleTiming):
  14474. (WebCore::InspectorInstrumentation::stopConsoleTiming):
  14475. (WebCore::InspectorInstrumentation::consoleMarkTimeline):
  14476. (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
  14477. (WebCore::InspectorInstrumentation::addProfile):
  14478. (WebCore::InspectorInstrumentation::profilerEnabled):
  14479. (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
  14480. * inspector/InspectorDatabaseInstrumentation.h: Added. Extract inline methods called from the datanase code into their
  14481. own header to reduce compilation time of other classes that depend on the inspector instrumentation.
  14482. (WebCore::InspectorInstrumentation::didOpenDatabase):
  14483. * inspector/InspectorInstrumentation.cpp:
  14484. (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
  14485. (WebCore::InspectorInstrumentation::consoleCountImpl):
  14486. (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
  14487. (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl):
  14488. (WebCore::InspectorInstrumentation::addProfileImpl):
  14489. (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
  14490. * inspector/InspectorInstrumentation.h:
  14491. * page/Console.cpp: use RefPtr local variable instead of accessing PassRefPtr argument directly.
  14492. (WebCore::Console::addMessage):
  14493. (WebCore::Console::trace):
  14494. (WebCore::Console::count):
  14495. (WebCore::Console::markTimeline):
  14496. (WebCore::Console::profileEnd):
  14497. (WebCore::Console::timeEnd):
  14498. (WebCore::Console::group):
  14499. (WebCore::Console::groupCollapsed):
  14500. * storage/Database.cpp:
  14501. (WebCore::Database::openDatabase):
  14502. 2010-01-24 Kent Tamura <tkent@chromium.org>
  14503. Reviewed by Darin Fisher.
  14504. [Chromium] Support icon loading for <input type=file>
  14505. https://bugs.webkit.org/show_bug.cgi?id=38982
  14506. An icon data in Chromium port is represented as WebCore::Image. We
  14507. don't need OS-specific code anymore.
  14508. * WebCore.gypi:
  14509. * platform/graphics/Icon.h:
  14510. (WebCore::Icon::create): Add Chromium-specific factory.
  14511. * platform/graphics/chromium/IconChromium.cpp: Added.
  14512. * platform/graphics/chromium/IconChromiumLinux.cpp: Removed.
  14513. * platform/graphics/chromium/IconChromiumMac.cpp: Removed.
  14514. * platform/graphics/chromium/IconChromiumWin.cpp: Removed.
  14515. * platform/graphics/chromium/PlatformIcon.h:
  14516. 2011-01-21 Pavel Podivilov <podivilov@chromium.org>
  14517. Reviewed by Pavel Feldman.
  14518. Web Inspector: move search functions from SourceView to SourceFrame.
  14519. https://bugs.webkit.org/show_bug.cgi?id=52895
  14520. This is the last step before eliminating SourceView and ScriptView since
  14521. this classes just delegate everything to SourceFrame.
  14522. * inspector/front-end/SourceFrame.js:
  14523. (WebInspector.SourceFrame.prototype.set visible):
  14524. (WebInspector.SourceFrame.prototype._clearLineHighlight):
  14525. (WebInspector.SourceFrame.prototype._createTextViewer):
  14526. (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
  14527. (WebInspector.SourceFrame.prototype.performSearch):
  14528. (WebInspector.SourceFrame.prototype.searchCanceled):
  14529. (WebInspector.SourceFrame.prototype.jumpToFirstSearchResult):
  14530. (WebInspector.SourceFrame.prototype.jumpToLastSearchResult):
  14531. (WebInspector.SourceFrame.prototype.jumpToNextSearchResult):
  14532. (WebInspector.SourceFrame.prototype.jumpToPreviousSearchResult):
  14533. (WebInspector.SourceFrame.prototype.showingFirstSearchResult):
  14534. (WebInspector.SourceFrame.prototype.showingLastSearchResult):
  14535. (WebInspector.SourceFrame.prototype._jumpToSearchResult):
  14536. * inspector/front-end/SourceView.js:
  14537. (WebInspector.SourceView.prototype.hide):
  14538. (WebInspector.SourceView.prototype.searchCanceled):
  14539. (WebInspector.SourceView.prototype.performSearch):
  14540. (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
  14541. (WebInspector.SourceView.prototype.jumpToLastSearchResult):
  14542. (WebInspector.SourceView.prototype.jumpToNextSearchResult):
  14543. (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
  14544. (WebInspector.SourceView.prototype.showingFirstSearchResult):
  14545. (WebInspector.SourceView.prototype.showingLastSearchResult):
  14546. (WebInspector.SourceView.prototype.clearMessages):
  14547. 2011-01-24 Sheriff Bot <webkit.review.bot@gmail.com>
  14548. Unreviewed, rolling out r76463.
  14549. http://trac.webkit.org/changeset/76463
  14550. https://bugs.webkit.org/show_bug.cgi?id=52993
  14551. It broke canvas/philip/tests/2d.path.stroke.skew.html
  14552. (Requested by Ossy on #webkit).
  14553. * platform/graphics/qt/GraphicsContextQt.cpp:
  14554. (WebCore::GraphicsContext::rotate):
  14555. * platform/graphics/qt/PathQt.cpp:
  14556. (WebCore::Path::addArc):
  14557. 2011-01-23 Andrey Kosyakov <caseq@chromium.org>
  14558. Reviewed by Pavel Feldman.
  14559. Web Inspector: summary bar is not resized properly with the rest of network panel
  14560. https://bugs.webkit.org/show_bug.cgi?id=52881
  14561. * inspector/front-end/NetworkPanel.js:
  14562. (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
  14563. (WebInspector.NetworkPanel.prototype._positionSummaryBar):
  14564. (WebInspector.NetworkPanel.prototype._toggleGridMode):
  14565. 2011-01-19 MORITA Hajime <morrita@google.com>
  14566. Reviewed by Ryosuke Niwa.
  14567. Space and tab characters "sent" by an input method give totally different results than typing them directly
  14568. https://bugs.webkit.org/show_bug.cgi?id=5241
  14569. * Introduced TextEvent::InputTypeComposition and TypingCommand::TextCompositionType to
  14570. distinguish text input which is originated by composition.
  14571. * Generalized rebalanceWhitespaceAt() to rebalanceWhitespaceOnTextSubstring() to rebalancing
  14572. range of string on text node, instead of surrounding part of that.
  14573. Test: editing/inserting/insert-composition-whitespace.html
  14574. * dom/TextEvent.h:
  14575. (WebCore::TextEvent::isComposition):
  14576. * dom/TextEventInputType.h: Added TextEventInputComposition as a member of TextEvent::InputType
  14577. * editing/CompositeEditCommand.cpp:
  14578. (WebCore::containsOnlyWhitespace):
  14579. (WebCore::CompositeEditCommand::shouldRebalanceLeadingWhitespaceFor):
  14580. (WebCore::CompositeEditCommand::canRebalance):
  14581. (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
  14582. (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Added: A generalized version of rebalanceWhitespaceAt(), which takes a range inside Text string.
  14583. * editing/CompositeEditCommand.h:
  14584. * editing/Editor.cpp:
  14585. (WebCore::Editor::insertTextForConfirmedComposition): Added.
  14586. (WebCore::Editor::insertTextWithoutSendingTextEvent):
  14587. (WebCore::Editor::confirmComposition): Now uses insertTextForConfirmedComposition().
  14588. (WebCore::Editor::setComposition):
  14589. * editing/Editor.h:
  14590. * editing/InsertTextCommand.cpp:
  14591. (WebCore::InsertTextCommand::input):
  14592. * editing/InsertTextCommand.h:
  14593. * editing/TypingCommand.cpp:
  14594. (WebCore::TypingCommand::TypingCommand):
  14595. (WebCore::TypingCommand::insertText):
  14596. (WebCore::TypingCommand::insertTextRunWithoutNewlines):
  14597. * editing/TypingCommand.h: Added TypingCommand::m_compositionType and TypingCommand::TextCompositionType
  14598. (WebCore::TypingCommand::setCompositionType): Added.
  14599. (WebCore::TypingCommand::create):
  14600. 2011-01-23 Mark Rowe <mrowe@apple.com>
  14601. Follow-up to r76477.
  14602. Fix the scripts that detect problematic code such as static initializers
  14603. and destructors, weak vtables, inappropriate files in the framework wrappers,
  14604. and public headers including private headers. These had all been broken
  14605. since the projects were moved in to the Source directory as the paths to the
  14606. scripts were not updated at that time.
  14607. Stop copying an IDL file in to the framework wrapper. Doing that doesn't even make sense.
  14608. * WebCore.xcodeproj/project.pbxproj:
  14609. 2011-01-23 Mark Rowe <mrowe@apple.com>
  14610. Build fix after r76459.
  14611. Static member variables or globals of types that have constructors or destructors are bad as
  14612. they generate static initializers and destructors. This is code that is run either at link time
  14613. when the library is loaded in to memory or at application termination time. Both of these are
  14614. terrible for performance and are thus outlawed in WebKit code.
  14615. The typical solution is to replace the static member or global with a function that allocates
  14616. the necessary variable on the heap. The variable is leaked to prevent it from being destroyed
  14617. at application termination time. The DEFINE_STATIC_LOCAL macro wraps this in to a concise little
  14618. package, but sadly fails to work in this case due to the type containing multiple template
  14619. parameters.
  14620. * inspector/InspectorInstrumentation.cpp:
  14621. (WebCore::InspectorInstrumentation::inspectorAgents):
  14622. * inspector/InspectorInstrumentation.h:
  14623. (WebCore::InspectorInstrumentation::bindInspectorAgent):
  14624. (WebCore::InspectorInstrumentation::unbindInspectorAgent):
  14625. (WebCore::InspectorInstrumentation::inspectorAgentForPage):
  14626. 2011-01-21 Vangelis Kokkevis <vangelis@chromium.org>
  14627. Reviewed by Kenneth Russell.
  14628. [chromium] Add support for -webkit-mask properties to the
  14629. accelerated compositing path.
  14630. https://bugs.webkit.org/show_bug.cgi?id=49780
  14631. Tests: Existing tests in LayoutTests/compositing/masks
  14632. * platform/graphics/chromium/ContentLayerChromium.cpp:
  14633. (WebCore::ContentLayerChromium::draw):
  14634. (WebCore::ContentLayerChromium::unreserveContentsTexture):
  14635. (WebCore::ContentLayerChromium::bindContentsTexture):
  14636. * platform/graphics/chromium/ContentLayerChromium.h:
  14637. * platform/graphics/chromium/GraphicsLayerChromium.cpp:
  14638. (WebCore::GraphicsLayerChromium::setMaskLayer):
  14639. * platform/graphics/chromium/GraphicsLayerChromium.h:
  14640. * platform/graphics/chromium/LayerChromium.cpp:
  14641. (WebCore::LayerChromium::LayerChromium):
  14642. * platform/graphics/chromium/LayerChromium.h:
  14643. (WebCore::LayerChromium::setMaskLayer):
  14644. (WebCore::LayerChromium::maskLayer):
  14645. (WebCore::LayerChromium::unreserveContentsTexture):
  14646. (WebCore::LayerChromium::bindContentsTexture):
  14647. * platform/graphics/chromium/LayerRendererChromium.cpp:
  14648. (WebCore::LayerRendererChromium::updateLayersRecursive):
  14649. * platform/graphics/chromium/LayerTexture.cpp:
  14650. (WebCore::LayerTexture::bindTexture):
  14651. * platform/graphics/chromium/RenderSurfaceChromium.cpp:
  14652. (WebCore::RenderSurfaceChromium::SharedValues::SharedValues):
  14653. (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues):
  14654. (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
  14655. (WebCore::RenderSurfaceChromium::draw):
  14656. * platform/graphics/chromium/RenderSurfaceChromium.h:
  14657. (WebCore::RenderSurfaceChromium::SharedValues::maskShaderProgram):
  14658. (WebCore::RenderSurfaceChromium::SharedValues::maskShaderSamplerLocation):
  14659. (WebCore::RenderSurfaceChromium::SharedValues::maskShaderMaskSamplerLocation):
  14660. (WebCore::RenderSurfaceChromium::SharedValues::maskShaderMatrixLocation):
  14661. (WebCore::RenderSurfaceChromium::SharedValues::maskShaderAlphaLocation):
  14662. 2011-01-23 Patrick Gansterer <paroga@webkit.org>
  14663. Reviewed by Darin Adler.
  14664. Use WTF::StringHasher in WebCore
  14665. https://bugs.webkit.org/show_bug.cgi?id=52934
  14666. * loader/appcache/ApplicationCacheStorage.cpp:
  14667. (WebCore::urlHostHash):
  14668. * platform/LinkHash.cpp:
  14669. (WebCore::visitedLinkHashInline):
  14670. * platform/cf/BinaryPropertyList.cpp:
  14671. (WebCore::IntegerArrayHash::hash):
  14672. * platform/graphics/wx/FontPlatformDataWx.cpp:
  14673. (WebCore::FontPlatformData::computeHash):
  14674. * platform/network/ProtectionSpaceHash.h:
  14675. (WebCore::ProtectionSpaceHash::hash):
  14676. 2011-01-23 Patrick Gansterer <paroga@webkit.org>
  14677. Reviewed by David Kilzer.
  14678. Add an overload to base64Encode with String output
  14679. https://bugs.webkit.org/show_bug.cgi?id=50122
  14680. This change removes duplicated code.
  14681. * inspector/InspectorResourceAgent.cpp:
  14682. (WebCore::InspectorResourceAgent::resourceContentBase64):
  14683. * page/DOMWindow.cpp:
  14684. (WebCore::DOMWindow::btoa):
  14685. * platform/graphics/skia/FontCustomPlatformData.cpp:
  14686. (WebCore::createUniqueFontName):
  14687. * platform/graphics/win/FontCustomPlatformData.cpp:
  14688. (WebCore::createUniqueFontName):
  14689. * platform/graphics/wince/FontCustomPlatformData.cpp:
  14690. (WebCore::createUniqueFontName):
  14691. * platform/network/cf/ResourceHandleCFNet.cpp:
  14692. (WebCore::encodeBasicAuthorization):
  14693. * platform/network/mac/ResourceHandleMac.mm:
  14694. (WebCore::encodeBasicAuthorization):
  14695. * platform/text/Base64.cpp:
  14696. (WebCore::base64Encode):
  14697. * platform/text/Base64.h:
  14698. (WebCore::base64Encode):
  14699. * platform/wince/KeygenWinCE.cpp:
  14700. (WebCore::WebCore::signedPublicKeyAndChallengeString):
  14701. 2011-01-23 Patrick Gansterer <paroga@webkit.org>
  14702. Reviewed by David Kilzer.
  14703. Add String::containsOnlyLatin1()
  14704. https://bugs.webkit.org/show_bug.cgi?id=52979
  14705. Use String::containsOnlyLatin1() instead of isSafeToConvertCharList().
  14706. * page/DOMWindow.cpp:
  14707. (WebCore::DOMWindow::btoa):
  14708. (WebCore::DOMWindow::atob):
  14709. 2011-01-23 Patrick Gansterer <paroga@webkit.org>
  14710. Reviewed by Andreas Kling.
  14711. [CMake] Add missing CodeGenerator dependencies
  14712. https://bugs.webkit.org/show_bug.cgi?id=52976
  14713. * CMakeLists.txt:
  14714. 2011-01-23 Yael Aharon <yael.aharon@nokia.com>
  14715. Reviewed by Kenneth Rohde Christiansen.
  14716. [Qt][Symbian] Fix --minimal build
  14717. https://bugs.webkit.org/show_bug.cgi?id=52839
  14718. Some of the plugins' functionality is reimplemented in
  14719. Symbian specific files.
  14720. Some of this functionality should be compiled in even if
  14721. the guard NETSCAPE_PLUGIN_API is turned off.
  14722. This patch moves that functionality out of the
  14723. NETSCAPE_PLUGIN_API guard.
  14724. Build fix so no new tests.
  14725. * WebCore.pro:
  14726. * plugins/symbian/PluginPackageSymbian.cpp:
  14727. 2011-01-23 Andreas Kling <kling@webkit.org>
  14728. Reviewed by Tor Arne Vestbø.
  14729. [Qt] Use rad2deg() from WTF instead of rolling our own.
  14730. * platform/graphics/qt/GraphicsContextQt.cpp:
  14731. (WebCore::GraphicsContext::rotate):
  14732. * platform/graphics/qt/PathQt.cpp:
  14733. (WebCore::Path::addArc):
  14734. 2011-01-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
  14735. Reviewed by Andreas Kling.
  14736. Viewport meta: Always adjust device dimensions to the device pixel ratio.
  14737. * dom/ViewportArguments.cpp:
  14738. (WebCore::computeViewportAttributes):
  14739. 2011-01-23 Andreas Kling <kling@webkit.org>
  14740. Reviewed by Kenneth Rohde Christiansen.
  14741. Don't scale absolute geometry specified by viewport meta tag.
  14742. * dom/ViewportArguments.cpp:
  14743. (WebCore::computeViewportAttributes):
  14744. 2011-01-23 Ilya Tikhonovsky <loislo@chromium.org>
  14745. Unreviewed build fix.
  14746. Web Inspector: looks like efl doesn't regenerate InspectorBackendDispatcher.
  14747. Touch Inspector.idl.
  14748. * inspector/Inspector.idl:
  14749. 2011-01-22 Ilya Tikhonovsky <loislo@chromium.org>
  14750. Reviewed by Pavel Feldman.
  14751. Web Inspector: next step in splitting InspectorController.
  14752. Splitting InspectorController is a bit tricky process.
  14753. As a first step I'll do the next things:
  14754. 1) rename existing InspectorController to InspectorAgent;
  14755. 2) s/nspectorController/nspectorAgent/g everywhere in WebCore/inspector but InspectorInstrumentation;
  14756. 3) create a fake InspectorController derived from the InspectorAgent for the rest of WebCore and WebKit;
  14757. The second step is a migration of a small set of functions described in bug 52510 from InspectorAgent to InspectorController.
  14758. As far as the second step will have significant changes in the functions' implementation I'll do it as a separate patch.
  14759. https://bugs.webkit.org/show_bug.cgi?id=52955
  14760. * CMakeLists.txt:
  14761. * GNUmakefile.am:
  14762. * WebCore.exp.in:
  14763. * WebCore.gypi:
  14764. * WebCore.pro:
  14765. * WebCore.vcproj/WebCore.vcproj:
  14766. * WebCore.xcodeproj/project.pbxproj:
  14767. * bindings/js/JSInjectedScriptHostCustom.cpp:
  14768. (WebCore::JSInjectedScriptHost::nodeForId):
  14769. (WebCore::JSInjectedScriptHost::selectDOMStorage):
  14770. * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
  14771. (WebCore::V8InjectedScriptHost::nodeForIdCallback):
  14772. * inspector/CodeGeneratorInspector.pm:
  14773. * inspector/InjectedScriptHost.cpp:
  14774. (WebCore::InjectedScriptHost::InjectedScriptHost):
  14775. (WebCore::InjectedScriptHost::clearConsoleMessages):
  14776. (WebCore::InjectedScriptHost::databaseForId):
  14777. (WebCore::InjectedScriptHost::selectDatabase):
  14778. (WebCore::InjectedScriptHost::selectDOMStorage):
  14779. (WebCore::InjectedScriptHost::injectedScriptForMainFrame):
  14780. (WebCore::InjectedScriptHost::inspectorDOMAgent):
  14781. (WebCore::InjectedScriptHost::frontend):
  14782. (WebCore::InjectedScriptHost::didCreateWorker):
  14783. (WebCore::InjectedScriptHost::didDestroyWorker):
  14784. * inspector/InjectedScriptHost.h:
  14785. (WebCore::InjectedScriptHost::create):
  14786. (WebCore::InjectedScriptHost::inspectorAgent):
  14787. (WebCore::InjectedScriptHost::disconnectController):
  14788. * inspector/InspectorAgent.cpp: Copied from Source/WebCore/inspector/InspectorController.cpp.
  14789. (WebCore::InspectorAgent::InspectorAgent):
  14790. (WebCore::InspectorAgent::~InspectorAgent):
  14791. (WebCore::InspectorAgent::inspectedPageDestroyed):
  14792. (WebCore::InspectorAgent::enabled):
  14793. (WebCore::InspectorAgent::inspectorStartsAttached):
  14794. (WebCore::InspectorAgent::setInspectorStartsAttached):
  14795. (WebCore::InspectorAgent::setInspectorAttachedHeight):
  14796. (WebCore::InspectorAgent::inspectorAttachedHeight):
  14797. (WebCore::InspectorAgent::searchingForNodeInPage):
  14798. (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
  14799. (WebCore::InspectorAgent::inspect):
  14800. (WebCore::InspectorAgent::focusNode):
  14801. (WebCore::InspectorAgent::highlight):
  14802. (WebCore::InspectorAgent::highlightDOMNode):
  14803. (WebCore::InspectorAgent::highlightFrame):
  14804. (WebCore::InspectorAgent::hideHighlight):
  14805. (WebCore::InspectorAgent::mouseDidMoveOverElement):
  14806. (WebCore::InspectorAgent::handleMousePress):
  14807. (WebCore::InspectorAgent::setInspectorFrontendClient):
  14808. (WebCore::InspectorAgent::didClearWindowObjectInWorld):
  14809. (WebCore::InspectorAgent::setSearchingForNode):
  14810. (WebCore::InspectorAgent::connectFrontend):
  14811. (WebCore::InspectorAgent::show):
  14812. (WebCore::InspectorAgent::showPanel):
  14813. (WebCore::InspectorAgent::close):
  14814. (WebCore::InspectorAgent::disconnectFrontend):
  14815. (WebCore::InspectorAgent::resourceAgent):
  14816. (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
  14817. (WebCore::InspectorAgent::populateScriptObjects):
  14818. (WebCore::InspectorAgent::pushDataCollectedOffline):
  14819. (WebCore::InspectorAgent::restoreDebugger):
  14820. (WebCore::InspectorAgent::restoreProfiler):
  14821. (WebCore::InspectorAgent::unbindAllResources):
  14822. (WebCore::InspectorAgent::didCommitLoad):
  14823. (WebCore::InspectorAgent::mainResourceFiredDOMContentEvent):
  14824. (WebCore::InspectorAgent::mainResourceFiredLoadEvent):
  14825. (WebCore::InspectorAgent::isMainResourceLoader):
  14826. (WebCore::InspectorAgent::willSendRequest):
  14827. (WebCore::InspectorAgent::ensureSettingsLoaded):
  14828. (WebCore::InspectorAgent::startTimelineProfiler):
  14829. (WebCore::InspectorAgent::stopTimelineProfiler):
  14830. (WebCore::PostWorkerNotificationToFrontendTask::create):
  14831. (WebCore::PostWorkerNotificationToFrontendTask::PostWorkerNotificationToFrontendTask):
  14832. (WebCore::PostWorkerNotificationToFrontendTask::performTask):
  14833. (WebCore::InspectorAgent::postWorkerNotificationToFrontend):
  14834. (WebCore::InspectorAgent::didCreateWorker):
  14835. (WebCore::InspectorAgent::didDestroyWorker):
  14836. (WebCore::InspectorAgent::didOpenDatabase):
  14837. (WebCore::InspectorAgent::getCookies):
  14838. (WebCore::InspectorAgent::buildArrayForCookies):
  14839. (WebCore::InspectorAgent::buildObjectForCookie):
  14840. (WebCore::InspectorAgent::deleteCookie):
  14841. (WebCore::InspectorAgent::didUseDOMStorage):
  14842. (WebCore::InspectorAgent::didCreateWebSocket):
  14843. (WebCore::InspectorAgent::willSendWebSocketHandshakeRequest):
  14844. (WebCore::InspectorAgent::didReceiveWebSocketHandshakeResponse):
  14845. (WebCore::InspectorAgent::didCloseWebSocket):
  14846. (WebCore::InspectorAgent::isRecordingUserInitiatedProfile):
  14847. (WebCore::InspectorAgent::startUserInitiatedProfiling):
  14848. (WebCore::InspectorAgent::stopUserInitiatedProfiling):
  14849. (WebCore::InspectorAgent::profilerEnabled):
  14850. (WebCore::InspectorAgent::enableProfiler):
  14851. (WebCore::InspectorAgent::disableProfiler):
  14852. (WebCore::InspectorAgent::showAndEnableDebugger):
  14853. (WebCore::InspectorAgent::enableDebugger):
  14854. (WebCore::InspectorAgent::disableDebugger):
  14855. (WebCore::InspectorAgent::resume):
  14856. (WebCore::InspectorAgent::setAllBrowserBreakpoints):
  14857. (WebCore::InspectorAgent::evaluateForTestInFrontend):
  14858. (WebCore::InspectorAgent::didEvaluateForTestInFrontend):
  14859. (WebCore::quadToPath):
  14860. (WebCore::drawOutlinedQuad):
  14861. (WebCore::drawOutlinedQuadWithClip):
  14862. (WebCore::drawHighlightForBox):
  14863. (WebCore::drawHighlightForLineBoxesOrSVGRenderer):
  14864. (WebCore::convertFromFrameToMainFrame):
  14865. (WebCore::frameToMainFrameOffset):
  14866. (WebCore::InspectorAgent::drawNodeHighlight):
  14867. (WebCore::InspectorAgent::drawElementTitle):
  14868. (WebCore::InspectorAgent::openInInspectedWindow):
  14869. (WebCore::InspectorAgent::addScriptToEvaluateOnLoad):
  14870. (WebCore::InspectorAgent::removeAllScriptsToEvaluateOnLoad):
  14871. (WebCore::InspectorAgent::setInspectorExtensionAPI):
  14872. (WebCore::InspectorAgent::inspectedURL):
  14873. (WebCore::InspectorAgent::reloadPage):
  14874. (WebCore::InspectorAgent::setExtraHeaders):
  14875. * inspector/InspectorAgent.h: Copied from Source/WebCore/inspector/InspectorController.h.
  14876. (WebCore::InspectorAgent::inspectorBackendDispatcher):
  14877. (WebCore::InspectorAgent::inspectorClient):
  14878. (WebCore::InspectorAgent::injectedScriptHost):
  14879. (WebCore::InspectorAgent::inspectedPage):
  14880. (WebCore::InspectorAgent::hideDOMNodeHighlight):
  14881. (WebCore::InspectorAgent::hideFrameHighlight):
  14882. (WebCore::InspectorAgent::frontend):
  14883. (WebCore::InspectorAgent::inspectorController):
  14884. (WebCore::InspectorAgent::inspectorAgent):
  14885. (WebCore::InspectorAgent::consoleAgent):
  14886. (WebCore::InspectorAgent::cssAgent):
  14887. (WebCore::InspectorAgent::domAgent):
  14888. (WebCore::InspectorAgent::injectedScriptAgent):
  14889. (WebCore::InspectorAgent::runtimeAgent):
  14890. (WebCore::InspectorAgent::timelineAgent):
  14891. (WebCore::InspectorAgent::databaseAgent):
  14892. (WebCore::InspectorAgent::domStorageAgent):
  14893. (WebCore::InspectorAgent::fileSystemAgent):
  14894. (WebCore::InspectorAgent::browserDebuggerAgent):
  14895. (WebCore::InspectorAgent::debuggerAgent):
  14896. (WebCore::InspectorAgent::profilerAgent):
  14897. (WebCore::InspectorAgent::applicationCacheAgent):
  14898. (WebCore::InspectorAgent::hasInspectorFrontendClient):
  14899. (WebCore::InspectorAgent::hasFrontend):
  14900. (WebCore::InspectorAgent::startProfiling):
  14901. (WebCore::InspectorAgent::stopProfiling):
  14902. (WebCore::InspectorAgent::debuggerEnabled):
  14903. (WebCore::InspectorAgent::state):
  14904. (WebCore::InspectorAgent::settings):
  14905. * inspector/InspectorApplicationCacheAgent.cpp:
  14906. (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
  14907. (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
  14908. * inspector/InspectorApplicationCacheAgent.h:
  14909. * inspector/InspectorBrowserDebuggerAgent.cpp:
  14910. (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
  14911. (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
  14912. (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
  14913. (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
  14914. (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
  14915. (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
  14916. (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
  14917. (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
  14918. (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
  14919. (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
  14920. (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
  14921. * inspector/InspectorBrowserDebuggerAgent.h:
  14922. (WebCore::InspectorBrowserDebuggerAgent::create):
  14923. * inspector/InspectorConsoleAgent.cpp:
  14924. (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
  14925. (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
  14926. (WebCore::InspectorConsoleAgent::clearConsoleMessages):
  14927. (WebCore::InspectorConsoleAgent::addMessageToConsole):
  14928. (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
  14929. (WebCore::InspectorConsoleAgent::didReceiveResponse):
  14930. (WebCore::InspectorConsoleAgent::didFailLoading):
  14931. (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
  14932. (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
  14933. (WebCore::InspectorConsoleAgent::addConsoleMessage):
  14934. * inspector/InspectorConsoleAgent.h:
  14935. * inspector/InspectorController.cpp:
  14936. (WebCore::InspectorController::InspectorController):
  14937. * inspector/InspectorController.h:
  14938. * inspector/InspectorDatabaseAgent.cpp:
  14939. * inspector/InspectorDebuggerAgent.cpp:
  14940. (WebCore::InspectorDebuggerAgent::create):
  14941. (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
  14942. (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
  14943. (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
  14944. (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
  14945. (WebCore::InspectorDebuggerAgent::currentCallFrames):
  14946. * inspector/InspectorDebuggerAgent.h:
  14947. * inspector/InspectorFileSystemAgent.cpp:
  14948. (WebCore::InspectorFileSystemAgentCallbacks::didOpenFileSystem):
  14949. (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
  14950. (WebCore::InspectorFileSystemAgent::stop):
  14951. (WebCore::InspectorFileSystemAgent::getFileSystemPathAsync):
  14952. (WebCore::InspectorFileSystemAgent::didGetFileSystemPath):
  14953. (WebCore::InspectorFileSystemAgent::didGetFileSystemError):
  14954. * inspector/InspectorFileSystemAgent.h:
  14955. (WebCore::InspectorFileSystemAgent::create):
  14956. * inspector/InspectorFrontendHost.cpp:
  14957. (WebCore::InspectorFrontendHost::setExtensionAPI):
  14958. * inspector/InspectorProfilerAgent.cpp:
  14959. (WebCore::InspectorProfilerAgent::create):
  14960. (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
  14961. (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
  14962. (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
  14963. (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
  14964. (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
  14965. * inspector/InspectorProfilerAgent.h:
  14966. 2011-01-22 Chris Rogers <crogers@google.com>
  14967. Rubber-stamped by Anders Carlsson.
  14968. Fix FFTFrameStub to compile properly
  14969. https://bugs.webkit.org/show_bug.cgi?id=52969
  14970. No new tests since this is a build fix.
  14971. * platform/audio/FFTFrameStub.cpp:
  14972. (WebCore::FFTFrame::FFTFrame):
  14973. 2011-01-22 Andrei Popescu <andreip@google.com>
  14974. Reviewed by Jeremy Orlow.
  14975. IndexedDB corrupts data on disk
  14976. https://bugs.webkit.org/show_bug.cgi?id=52890
  14977. We need to store the SerializedScriptValues on disk in a BLOB column rather than TEXT.
  14978. Test: storage/indexeddb/data-corruption.html
  14979. * platform/sql/SQLiteStatement.cpp:
  14980. (WebCore::SQLiteStatement::bindBlob):
  14981. (WebCore::SQLiteStatement::getColumnBlobAsString):
  14982. (WebCore::SQLiteStatement::getColumnBlobAsVector):
  14983. * platform/sql/SQLiteStatement.h:
  14984. * storage/IDBCursorBackendImpl.cpp:
  14985. (WebCore::IDBCursorBackendImpl::loadCurrentRow):
  14986. * storage/IDBFactoryBackendImpl.cpp:
  14987. (WebCore::runCommands):
  14988. (WebCore::createTables):
  14989. (WebCore::createMetaDataTable):
  14990. (WebCore::migrateDatabase):
  14991. * storage/IDBObjectStoreBackendImpl.cpp:
  14992. (WebCore::IDBObjectStoreBackendImpl::getInternal):
  14993. (WebCore::putObjectStoreData):
  14994. 2011-01-22 Nikolas Zimmermann <nzimmermann@rim.com>
  14995. Not reviewed. Fix WinCE build.
  14996. * platform/graphics/wince/GraphicsContextWinCE.cpp:
  14997. (WebCore::GraphicsContext::drawText):
  14998. * rendering/RenderThemeWinCE.cpp:
  14999. (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle):
  15000. 2011-01-22 Nikolas Zimmermann <nzimmermann@rim.com>
  15001. Reviewed by Dirk Schulze.
  15002. REGRESSION: Vertical line metrics incorrect
  15003. https://bugs.webkit.org/show_bug.cgi?id=52960
  15004. SimpleFontDataMac.mm contains a hack to modifiy lineGap/descent for the 'Hiragino' font.
  15005. That didn't influence the lineSpacing so far, but does now, causing regressions.
  15006. Restore old line spacing behaviour to fix the regression.
  15007. Covered by existing fast/blockflow, fast/repaint and fast/text/international test cases.
  15008. * platform/graphics/FontMetrics.h:
  15009. (WebCore::FontMetrics::FontMetrics):
  15010. (WebCore::FontMetrics::floatLineSpacing):
  15011. (WebCore::FontMetrics::setLineSpacing):
  15012. (WebCore::FontMetrics::lineSpacing):
  15013. (WebCore::FontMetrics::reset):
  15014. * platform/graphics/SimpleFontData.cpp:
  15015. (WebCore::SimpleFontData::SimpleFontData):
  15016. * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
  15017. (WebCore::SimpleFontData::platformInit):
  15018. * platform/graphics/chromium/SimpleFontDataLinux.cpp:
  15019. (WebCore::SimpleFontData::platformInit):
  15020. * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
  15021. (WebCore::SimpleFontData::platformInit):
  15022. * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
  15023. (WebCore::SimpleFontData::platformInit):
  15024. * platform/graphics/mac/SimpleFontDataMac.mm:
  15025. (WebCore::SimpleFontData::platformInit):
  15026. * platform/graphics/pango/SimpleFontDataPango.cpp:
  15027. (WebCore::SimpleFontData::platformInit):
  15028. * platform/graphics/qt/SimpleFontDataQt.cpp:
  15029. (WebCore::SimpleFontData::platformInit):
  15030. * platform/graphics/win/SimpleFontDataCGWin.cpp:
  15031. (WebCore::SimpleFontData::platformInit):
  15032. * platform/graphics/win/SimpleFontDataCairoWin.cpp:
  15033. (WebCore::SimpleFontData::platformInit):
  15034. * platform/graphics/win/SimpleFontDataWin.cpp:
  15035. (WebCore::SimpleFontData::initGDIFont):
  15036. * platform/graphics/wince/SimpleFontDataWinCE.cpp:
  15037. (WebCore::SimpleFontData::platformInit):
  15038. * platform/graphics/wx/SimpleFontDataWx.cpp:
  15039. (WebCore::SimpleFontData::platformInit):
  15040. 2011-01-22 Andreas Kling <kling@webkit.org>
  15041. Reviewed by Kenneth Rohde Christiansen.
  15042. [Qt] fast/backgrounds/svg-as-mask.html fails
  15043. https://bugs.webkit.org/show_bug.cgi?id=52906
  15044. Transparency layers should start out with in SourceOver mode with
  15045. alpha 1.0 (modeled after CGContextBeginTransparencyLayer.)
  15046. * platform/graphics/qt/TransparencyLayer.h:
  15047. (WebCore::TransparencyLayer::TransparencyLayer):
  15048. 2011-01-22 Nikolas Zimmermann <nzimmermann@rim.com>
  15049. Not reviewed.
  15050. Introduce FontMetrics abstraction
  15051. https://bugs.webkit.org/show_bug.cgi?id=51456
  15052. Fix Chromium/Win build.
  15053. * platform/graphics/chromium/UniscribeHelperTextRun.cpp: s/->/./
  15054. (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun):
  15055. 2011-01-21 Nikolas Zimmermann <nzimmermann@rim.com>
  15056. Reviewed by Dirk Schulze.
  15057. Introduce FontMetrics abstraction
  15058. https://bugs.webkit.org/show_bug.cgi?id=51456
  15059. Encapsulate ascent/descent/lineHeight/lineGap methods in a single FontMetrics class, instead of
  15060. having to define them in both Font & SimpleFontData. Changed to store floating point values
  15061. as default, in order to get accurate information for small sized fonts. All these methods
  15062. now have floating-point and integer versions. Whenever an integer variant of these functions
  15063. is called, lroundf() is used to round the value.
  15064. This makes it possible to support small font-sizes for SVG in a follow-up patch, as well
  15065. as fixing rounding issues when using SVG Fonts.
  15066. Shouldn't affect existing tests.
  15067. * GNUmakefile.am: Add FontMetrics.h to build.
  15068. * WebCore.gypi: Ditto.
  15069. * WebCore.pro: Ditto.
  15070. * WebCore.vcproj/WebCore.vcproj: Ditto.
  15071. * WebCore.xcodeproj/project.pbxproj: Ditto.
  15072. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
  15073. (baselinePositionForAccessibilityRenderObject):
  15074. * css/CSSPrimitiveValue.cpp:
  15075. (WebCore::CSSPrimitiveValue::computeLengthDouble):
  15076. * html/canvas/CanvasRenderingContext2D.cpp: Ditto.
  15077. (WebCore::CanvasRenderingContext2D::drawTextInternal):
  15078. * inspector/InspectorController.cpp: Ditto.
  15079. (WebCore::InspectorController::drawElementTitle):
  15080. * platform/chromium/PopupMenuChromium.cpp: Ditto.
  15081. (WebCore::PopupListBox::paintRow):
  15082. (WebCore::PopupListBox::getRowHeight):
  15083. * platform/graphics/Font.h: Remove ascent/descent/height/lineGap/lineSpacing/xHeight/unitsPerEm accessor...
  15084. (WebCore::Font::fontMetrics): ... and only expose a single FontMetrics object here.
  15085. * platform/graphics/FontFastPath.cpp: Use fontMetrics() to query metrics information.
  15086. (WebCore::Font::emphasisMarkAscent):
  15087. (WebCore::Font::emphasisMarkDescent):
  15088. (WebCore::Font::emphasisMarkHeight):
  15089. (WebCore::Font::floatWidthForSimpleText):
  15090. * platform/graphics/FontMetrics.h: Added.
  15091. (WebCore::FontMetrics::FontMetrics): Creates a FontMetrics object, stored in SimpleFontData.
  15092. (WebCore::FontMetrics::unitsPerEm): Returns an unsigned describing the unitsPerEm.
  15093. (WebCore::FontMetrics::setUnitsPerEm): Sets the unitsPerEm value.
  15094. (WebCore::FontMetrics::floatAscent): Returns the stored m_ascent float.
  15095. (WebCore::FontMetrics::setAscent): Sets the stored m_ascent float.
  15096. (WebCore::FontMetrics::floatDescent): Returns the stored m_descent float.
  15097. (WebCore::FontMetrics::setDescent): Sets the stored m_descent float.
  15098. (WebCore::FontMetrics::floatHeight): Returns floatAscent() + floatDescent().
  15099. (WebCore::FontMetrics::floatLineGap): Returns the stored m_lineGap float.
  15100. (WebCore::FontMetrics::setLineGap): Sets the stored m_lineGap float.
  15101. (WebCore::FontMetrics::floatLineSpacing): Returns the stored m_lineSpacing float.
  15102. (WebCore::FontMetrics::setLineSpacing): Sets the stored m_lineSpacing float.
  15103. (WebCore::FontMetrics::xHeight): Returns the stored m_xHeight float (no integer version available, hence no 'float' prefix).
  15104. (WebCore::FontMetrics::setXHeight): Sets the stored m_xHeight float.
  15105. (WebCore::FontMetrics::ascent): Returns a rounded version of ascent().
  15106. (WebCore::FontMetrics::descent): Ditto (for descent).
  15107. (WebCore::FontMetrics::height): Returns ascent() + descent().
  15108. (WebCore::FontMetrics::lineGap): Returns a rounded version of lineGap().
  15109. (WebCore::FontMetrics::lineSpacing): Ditto (for lineSpacing).
  15110. (WebCore::FontMetrics::reset): Nulls all members, used only by the platform variants of SimpleFontData.
  15111. * platform/graphics/SimpleFontData.cpp: Adapt SVG Fonts code, to initialize the FontMetrics object, as the m_ascent/etc.. members are gone.
  15112. (WebCore::SimpleFontData::SimpleFontData):
  15113. (WebCore::SimpleFontData::initCharWidths):
  15114. * platform/graphics/SimpleFontData.h: Remove ascent/descent/height/lineSpacing/lineGap/xHeight/unitsPerEm accessors, and members, just store a FontMetrics object and expose it.
  15115. (WebCore::SimpleFontData::fontMetrics):
  15116. (WebCore::SimpleFontData::avgCharWidth):
  15117. * platform/graphics/chromium/FontChromiumWin.cpp: Use fontMetrics() to query font metrics.
  15118. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::estimateTextBounds):
  15119. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
  15120. (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds):
  15121. (WebCore::Font::drawComplexText):
  15122. * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Adapt platform code, to initialize the FontMetrics object.
  15123. (WebCore::SimpleFontData::platformInit):
  15124. * platform/graphics/chromium/SimpleFontDataLinux.cpp: Ditto.
  15125. (WebCore::SimpleFontData::platformInit):
  15126. * platform/graphics/chromium/UniscribeHelperTextRun.cpp: Use fontMetrics() to query font metrics.
  15127. (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun):
  15128. (WebCore::UniscribeHelperTextRun::nextWinFontData):
  15129. * platform/graphics/freetype/SimpleFontDataFreeType.cpp: Adapt platform code, to initialize the FontMetrics object.
  15130. (WebCore::SimpleFontData::platformInit):
  15131. * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Ditto.
  15132. (WebCore::SimpleFontData::platformInit):
  15133. * platform/graphics/mac/FontComplexTextMac.cpp: Use fontMetrics() to query font metrics.
  15134. (WebCore::Font::floatWidthForComplexText):
  15135. * platform/graphics/mac/FontMac.mm: Ditto.
  15136. (WebCore::showGlyphsWithAdvances):
  15137. * platform/graphics/mac/SimpleFontDataMac.mm: Adapt platform code, to initialize the FontMetrics object.
  15138. (WebCore::SimpleFontData::platformInit):
  15139. (WebCore::SimpleFontData::platformCharWidthInit):
  15140. * platform/graphics/pango/SimpleFontDataPango.cpp: Ditto.
  15141. (WebCore::SimpleFontData::platformInit):
  15142. * platform/graphics/qt/SimpleFontDataQt.cpp: Ditto. (+ Switch to QFontMetricsF to get floating-point accurancy.)
  15143. (WebCore::SimpleFontData::platformInit):
  15144. * platform/graphics/win/FontCGWin.cpp: Use fontMetrics() to query font metrics.
  15145. (WebCore::drawGDIGlyphs):
  15146. * platform/graphics/win/FontWin.cpp: Ditto.
  15147. (WebCore::Font::floatWidthForComplexText):
  15148. * platform/graphics/win/SimpleFontDataCGWin.cpp: Adapt platform code, to initialize the FontMetrics object.
  15149. (WebCore::SimpleFontData::platformInit):
  15150. (WebCore::SimpleFontData::platformBoundsForGlyph):
  15151. * platform/graphics/win/SimpleFontDataCairoWin.cpp: Ditto.
  15152. (WebCore::SimpleFontData::platformInit):
  15153. * platform/graphics/win/SimpleFontDataWin.cpp: Ditto.
  15154. (WebCore::SimpleFontData::initGDIFont):
  15155. * platform/graphics/wince/GraphicsContextWinCE.cpp: Use fontMetrics() to query font metrics.
  15156. (WebCore::GraphicsContext::drawText):
  15157. * platform/graphics/wince/SimpleFontDataWinCE.cpp: Adapt platform code, to initialize the FontMetrics object.
  15158. (WebCore::SimpleFontData::platformInit):
  15159. * platform/graphics/wx/SimpleFontDataWx.cpp: Ditto.
  15160. (WebCore::SimpleFontData::platformInit):
  15161. * platform/win/PopupMenuWin.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
  15162. (WebCore::PopupMenuWin::calculatePositionAndSize):
  15163. (WebCore::PopupMenuWin::paint):
  15164. * rendering/EllipsisBox.cpp: Ditto.
  15165. (WebCore::EllipsisBox::paint):
  15166. (WebCore::EllipsisBox::nodeAtPoint):
  15167. * rendering/InlineBox.cpp: Ditto.
  15168. (WebCore::InlineBox::logicalHeight):
  15169. * rendering/InlineFlowBox.cpp: Ditto.
  15170. (WebCore::verticalPositionForBox):
  15171. (WebCore::InlineFlowBox::computeLogicalBoxHeights):
  15172. (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
  15173. * rendering/InlineTextBox.cpp: Ditto.
  15174. (WebCore::InlineTextBox::paint):
  15175. (WebCore::InlineTextBox::paintDecoration):
  15176. (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
  15177. (WebCore::InlineTextBox::paintCompositionUnderline):
  15178. * rendering/RenderBlock.cpp: Ditto.
  15179. (WebCore::RenderBlock::baselinePosition):
  15180. (WebCore::RenderBlock::firstLineBoxBaseline):
  15181. (WebCore::RenderBlock::lastLineBoxBaseline):
  15182. * rendering/RenderBox.cpp: Ditto.
  15183. (WebCore::RenderBox::localCaretRect):
  15184. * rendering/RenderEmbeddedObject.cpp: Ditto.
  15185. (WebCore::RenderEmbeddedObject::paintReplaced):
  15186. * rendering/RenderImage.cpp: Ditto.
  15187. (WebCore::RenderImage::setImageSizeForAltText):
  15188. (WebCore::RenderImage::paintReplaced):
  15189. * rendering/RenderInline.cpp: Ditto.
  15190. (WebCore::RenderInline::baselinePosition):
  15191. * rendering/RenderListBox.cpp: Ditto.
  15192. (WebCore::RenderListBox::paintItemForeground):
  15193. (WebCore::RenderListBox::itemHeight):
  15194. * rendering/RenderListMarker.cpp: Ditto.
  15195. (WebCore::RenderListMarker::paint):
  15196. (WebCore::RenderListMarker::layout):
  15197. (WebCore::RenderListMarker::computePreferredLogicalWidths):
  15198. (WebCore::RenderListMarker::updateMargins):
  15199. (WebCore::RenderListMarker::getRelativeMarkerRect):
  15200. * rendering/RenderTextControl.cpp: Ditto.
  15201. (WebCore::RenderTextControl::paintPlaceholder):
  15202. * rendering/RenderTextControlSingleLine.cpp: Ditto.
  15203. (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
  15204. * rendering/RenderThemeWin.cpp: Ditto.
  15205. (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
  15206. * rendering/mathml/RenderMathMLFraction.cpp: Ditto.
  15207. (WebCore::RenderMathMLFraction::baselinePosition):
  15208. * rendering/style/RenderStyle.h: Add "const FontMetrics& fontMetrics() const" accessor.
  15209. (WebCore::InheritedFlags::fontMetrics):
  15210. (WebCore::InheritedFlags::computedLineHeight):
  15211. * rendering/svg/RenderSVGInlineText.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
  15212. (WebCore::RenderSVGInlineText::positionForPoint):
  15213. * rendering/svg/SVGInlineTextBox.cpp: Ditto.
  15214. (WebCore::SVGInlineTextBox::selectionRectForTextFragment):
  15215. (WebCore::positionOffsetForDecoration):
  15216. (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
  15217. (WebCore::SVGInlineTextBox::paintTextWithShadows):
  15218. (WebCore::SVGInlineTextBox::calculateBoundaries):
  15219. * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Ditto.
  15220. (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift):
  15221. (WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift):
  15222. (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphAdvanceAndOrientation):
  15223. * rendering/svg/SVGTextLayoutEngineSpacing.cpp: Ditto.
  15224. (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):
  15225. * rendering/svg/SVGTextMetrics.cpp: Ditto.
  15226. (WebCore::SVGTextMetrics::SVGTextMetrics):
  15227. * rendering/svg/SVGTextQuery.cpp: Ditto.
  15228. (WebCore::calculateGlyphBoundaries):
  15229. * svg/SVGFontFaceElement.cpp:
  15230. (WebCore::SVGFontFaceElement::unitsPerEm): Rename defaultUnitsPerEm global to gDefaultUnitsPerEm.
  15231. * svg/SVGLength.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
  15232. (WebCore::SVGLength::convertValueFromUserUnitsToEXS):
  15233. (WebCore::SVGLength::convertValueFromEXSToUserUnits):
  15234. 2011-01-22 Ryosuke Niwa <rniwa@webkit.org>
  15235. Reviewed by Eric Seidel.
  15236. Stop instantiating legacy editing positions in VisibleSelection, visible_units.cpp, Frame, and RenderBlock
  15237. https://bugs.webkit.org/show_bug.cgi?id=52759
  15238. Stopped instantiating legacy editing positions in the following files.
  15239. * editing/VisibleSelection.cpp:
  15240. (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
  15241. * editing/visible_units.cpp:
  15242. (WebCore::previousBoundary):
  15243. (WebCore::previousLinePosition):
  15244. (WebCore::nextLinePosition):
  15245. (WebCore::startOfBlock):
  15246. * page/Frame.cpp:
  15247. (WebCore::Frame::visiblePositionForPoint):
  15248. * rendering/RenderBlock.cpp: Removed RenderBlock::positionForRenderer because it was not called anywhere.
  15249. * rendering/RenderBlock.h: Ditto.
  15250. 2011-01-22 Adrienne Walker <enne@google.com>
  15251. Reviewed by James Robinson.
  15252. [chromium] Fix compositor repaints for offscreen fixed elements
  15253. https://bugs.webkit.org/show_bug.cgi?id=52681
  15254. The fast path scrolling was clipping offscreen invalidations.
  15255. Additionally, the compositor was ignoring all invalidations that were
  15256. entirely out of the content rect.
  15257. Test: compositing/ to verify this caused no regressions.
  15258. Tested fix manually in browser as I could not generate a LayoutTest that reproduced the bug in run-webkit-tests.
  15259. * page/FrameView.cpp:
  15260. (WebCore::FrameView::scrollContentsFastPath):
  15261. * platform/graphics/chromium/LayerRendererChromium.cpp:
  15262. (WebCore::LayerRendererChromium::invalidateRootLayerRect):
  15263. 2011-01-22 Alexey Proskuryakov <ap@apple.com>
  15264. Reviewed by Dan Bernstein.
  15265. https://bugs.webkit.org/show_bug.cgi?id=52951
  15266. WebKit2 generates a bad PDF for cross process messaging
  15267. * page/PrintContext.cpp: (WebCore::PrintContext::spoolRect): Use a correct offset to actually
  15268. draw inside the requested rectangle.
  15269. 2011-01-21 Yury Semikhatsky <yurys@chromium.org>
  15270. Reviewed by Adam Barth.
  15271. Regression: new window.onerror() implementation leaks cross-origin Javascript errors
  15272. https://bugs.webkit.org/show_bug.cgi?id=52903
  15273. In case of an exception in a script from different domain only generic message
  15274. will be passed to window.onerror hander.
  15275. Tests: http/tests/security/cross-origin-script-window-onerror-redirected.html
  15276. http/tests/security/cross-origin-script-window-onerror.html
  15277. * bindings/js/CachedScriptSourceProvider.h: use URL from the resource response to make sure we do all
  15278. cross origin checks agains real script URL, not the original URL which may have resulted in a sequence
  15279. of redirects to different domains.
  15280. (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
  15281. * bindings/v8/ScriptSourceCode.h: same for v8.
  15282. (WebCore::ScriptSourceCode::url):
  15283. * dom/ScriptExecutionContext.cpp:
  15284. (WebCore::ScriptExecutionContext::dispatchErrorEvent): in case the error occurred in a script we cannot
  15285. access provide concise "Script error." message without any information about the error source. This is
  15286. what Firefox does in this case.
  15287. 2011-01-21 Andreas Kling <kling@webkit.org>
  15288. Reviewed by Kenneth Rohde Christiansen.
  15289. [Qt] Always set composition mode through GraphicsContext
  15290. https://bugs.webkit.org/show_bug.cgi?id=52940
  15291. GraphicsContext tracks the current composition mode so we should
  15292. never call through to the QPainter directly.
  15293. * platform/graphics/GraphicsContext.h:
  15294. * platform/graphics/qt/GraphicsContextQt.cpp:
  15295. (WebCore::toQtCompositionMode): Changed this method to a static inline
  15296. since it's only used by GraphicsContextQt.cpp now.
  15297. * platform/graphics/qt/ImageQt.cpp:
  15298. (WebCore::Image::drawPattern):
  15299. (WebCore::BitmapImage::draw):
  15300. 2011-01-21 Dan Bernstein <mitz@apple.com>
  15301. Reviewed by Adele Peterson.
  15302. Inconsistent handling of no-break space in justification logic
  15303. https://bugs.webkit.org/show_bug.cgi?id=52938
  15304. Test: fast/text/justify-nbsp.html
  15305. * rendering/RenderBlockLineLayout.cpp:
  15306. (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Count no-break space as a
  15307. space when computing the distribution of space between text boxes on the line.
  15308. 2011-01-21 Charlie Reis <creis@chromium.org>
  15309. Reviewed by Darin Fisher.
  15310. Crash in WebCore::HistoryController::itemsAreClones
  15311. https://bugs.webkit.org/show_bug.cgi?id=52819
  15312. Adds sanity checks to help diagnose the crash.
  15313. * loader/HistoryController.cpp:
  15314. 2011-01-21 Andreas Kling <kling@webkit.org>
  15315. Reviewed by Ariya Hidayat.
  15316. [Qt] Let QPainter decide whether a composition mode is supported or not
  15317. Lacking Porter-Duff support in the paint engine shouldn't exclude the
  15318. Source and Source-Over modes (and has nothing to do with the blend
  15319. and raster-op modes.)
  15320. Delegate this decision to QPainter instead (this will cause warnings
  15321. if an unsupported mode is used, but that's a good thing.)
  15322. * platform/graphics/qt/GraphicsContextQt.cpp:
  15323. (WebCore::GraphicsContext::clearRect):
  15324. (WebCore::GraphicsContext::setPlatformCompositeOperation):
  15325. * platform/graphics/qt/TransparencyLayer.h:
  15326. (WebCore::TransparencyLayer::TransparencyLayer):
  15327. 2011-01-21 Chris Rogers <crogers@google.com>
  15328. Reviewed by Kenneth Russell.
  15329. fix audio build: header file should be "Noncopyable.h" and not "NonCopyable.h"
  15330. https://bugs.webkit.org/show_bug.cgi?id=52933
  15331. No new tests since this just fixes the build
  15332. * webaudio/RealtimeAnalyser.h:
  15333. 2011-01-21 Chris Rogers <crogers@google.com>
  15334. Reviewed by Kenneth Russell.
  15335. Fix audio build: change ChromiumBridge to PlatformBridge
  15336. https://bugs.webkit.org/show_bug.cgi?id=52928
  15337. No new tests since audio API is not yet implemented.
  15338. * platform/audio/chromium/AudioBusChromium.cpp:
  15339. (WebCore::AudioBus::loadPlatformResource):
  15340. 2011-01-21 Chris Rogers <crogers@google.com>
  15341. Reviewed by Kenneth Russell.
  15342. Add FFTFrameStub to avoid link errors during bringup on platforms without an FFT implementation
  15343. https://bugs.webkit.org/show_bug.cgi?id=52922
  15344. No new tests since audio API is not yet implemented.
  15345. * WebCore.gypi:
  15346. * platform/audio/FFTFrameStub.cpp: Added.
  15347. (WebCore::FFTFrame::FFTFrame):
  15348. (WebCore::FFTFrame::~FFTFrame):
  15349. (WebCore::FFTFrame::multiply):
  15350. (WebCore::FFTFrame::doFFT):
  15351. (WebCore::FFTFrame::doInverseFFT):
  15352. (WebCore::FFTFrame::cleanup):
  15353. (WebCore::FFTFrame::realData):
  15354. (WebCore::FFTFrame::imagData):
  15355. 2011-01-21 Tony Chang <tony@chromium.org>
  15356. Reviewed by Sam Weinig.
  15357. reduce number of FrameLoaderClient::didChangeScrollOffset calls
  15358. https://bugs.webkit.org/show_bug.cgi?id=52915
  15359. Only notify of changes in scroll offset when there actually is a change.
  15360. This regressed in r76291.
  15361. Covered by Chromium browser_tests.
  15362. * platform/ScrollAnimator.cpp:
  15363. (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
  15364. 2011-01-21 Pavel Feldman <pfeldman@chromium.org>
  15365. Reviewed by Yury Semikhatsky.
  15366. Web Inspector: ~InspectorResourceAgent crashes on closing inspected page.
  15367. https://bugs.webkit.org/show_bug.cgi?id=52900
  15368. * inspector/InspectorController.cpp:
  15369. (WebCore::InspectorController::~InspectorController):
  15370. (WebCore::InspectorController::inspectedPageDestroyed):
  15371. 2011-01-21 Chris Rogers <crogers@google.com>
  15372. Reviewed by Darin Fisher.
  15373. Add run-time enable support for the web audio API
  15374. https://bugs.webkit.org/show_bug.cgi?id=52741
  15375. No new tests since audio API is not yet implemented.
  15376. * WebCore.exp.in:
  15377. * bindings/generic/RuntimeEnabledFeatures.cpp:
  15378. * bindings/generic/RuntimeEnabledFeatures.h:
  15379. (WebCore::RuntimeEnabledFeatures::setWebkitAudioContextEnabled):
  15380. (WebCore::RuntimeEnabledFeatures::webkitAudioContextEnabled):
  15381. * page/DOMWindow.idl:
  15382. * page/Settings.cpp:
  15383. (WebCore::Settings::Settings):
  15384. (WebCore::Settings::setWebAudioEnabled):
  15385. * page/Settings.h:
  15386. (WebCore::Settings::webAudioEnabled):
  15387. 2011-01-21 Martin Robinson <mrobinson@igalia.com>
  15388. Reviewed by Xan Lopez.
  15389. [GTK] Menulist text often collides with separator
  15390. https://bugs.webkit.org/show_bug.cgi?id=51155
  15391. Move menulist rendering to RenderThemeGtk and correct padding code
  15392. for separators in menulists.
  15393. * platform/gtk/RenderThemeGtk.cpp:
  15394. (WebCore::RenderThemeGtk::RenderThemeGtk): Initialize new widget members.
  15395. (WebCore::RenderThemeGtk::getComboBoxSeparatorWidth): Added.
  15396. (WebCore::RenderThemeGtk::comboBoxArrowSize): Added.
  15397. (WebCore::getButtonInnerBorder): Added.
  15398. (WebCore::RenderThemeGtk::getComboBoxPadding): Do this manually instead of using
  15399. Mozilla code.
  15400. (WebCore::RenderThemeGtk::paintMenuList): Ditto.
  15401. (WebCore::setupWidget): Abstracted this part of the setupWidgetAndAddToContainer
  15402. out to handle child widgets of comboboxes.
  15403. (WebCore::RenderThemeGtk::setupWidgetAndAddToContainer): Abstracted out setupWidget.
  15404. (WebCore::RenderThemeGtk::gtkContainer): Added.
  15405. (WebCore::getGtkComboBoxButton): Added.
  15406. (WebCore::getGtkComboBoxPieces): Added.
  15407. (WebCore::RenderThemeGtk::gtkComboBox): Call setupWidget here.
  15408. (WebCore::RenderThemeGtk::refreshComboBoxChildren): Added.
  15409. (WebCore::RenderThemeGtk::gtkComboBoxButton): Added.
  15410. (WebCore::RenderThemeGtk::gtkComboBoxArrow): Added.
  15411. (WebCore::RenderThemeGtk::gtkComboBoxSeparator): Added.
  15412. * platform/gtk/RenderThemeGtk.h: Added new members and methods.
  15413. * platform/gtk/WidgetRenderingContext.h: Added new members and methods.
  15414. * platform/gtk/WidgetRenderingContextGtk2.cpp:
  15415. (WebCore::WidgetRenderingContext::gtkPaintArrow):
  15416. (WebCore::WidgetRenderingContext::gtkPaintVLine):
  15417. * platform/gtk/WidgetRenderingContextGtk3.cpp:
  15418. (WebCore::WidgetRenderingContext::gtkPaintArrow):
  15419. (WebCore::WidgetRenderingContext::gtkPaintVLine):
  15420. * platform/gtk/gtk2drawing.c: Removed code for drawing menulists and buttons.
  15421. (moz_gtk_init):
  15422. (moz_gtk_get_widget_border):
  15423. (moz_gtk_widget_paint):
  15424. * platform/gtk/gtk3drawing.c:
  15425. (moz_gtk_init):
  15426. (moz_gtk_get_widget_border):
  15427. (moz_gtk_widget_paint):
  15428. * platform/gtk/gtkdrawing.h:
  15429. 2011-01-21 Sam Weinig <sam@webkit.org>
  15430. Fix chromium mac build.
  15431. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  15432. (WebCore::scrollbarStateToThemeState):
  15433. (WebCore::ScrollbarThemeChromiumMac::paint):
  15434. 2011-01-21 Sam Weinig <sam@webkit.org>
  15435. Fix the windows build.
  15436. * platform/ScrollbarThemeComposite.cpp:
  15437. (WebCore::ScrollbarThemeComposite::paint):
  15438. 2011-01-21 Chris Rogers <crogers@google.com>
  15439. Reviewed by Kenneth Russell.
  15440. Add chromium bundled audio spatialization resources to WebAudio.grd
  15441. https://bugs.webkit.org/show_bug.cgi?id=52651
  15442. No new tests since audio API is not yet implemented.
  15443. * WebCore.gyp/WebCore.gyp:
  15444. * platform/audio/chromium/AudioBusChromium.cpp:
  15445. (WebCore::AudioBus::loadPlatformResource):
  15446. 2011-01-21 Xiyuan Xia <xiyuan@chromium.org>
  15447. Reviewed by Tony Chang.
  15448. Use WebThemeEngine for relevant RenderTheme parts for chromium/linux.
  15449. https://bugs.webkit.org/show_bug.cgi?id=52826
  15450. * platform/chromium/ChromiumBridge.h:
  15451. * rendering/RenderThemeChromiumLinux.cpp:
  15452. (WebCore::getWebThemeState):
  15453. (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
  15454. (WebCore::RenderThemeChromiumLinux::paintCheckbox):
  15455. (WebCore::RenderThemeChromiumLinux::setCheckboxSize):
  15456. (WebCore::RenderThemeChromiumLinux::paintRadio):
  15457. (WebCore::RenderThemeChromiumLinux::setRadioSize):
  15458. (WebCore::RenderThemeChromiumLinux::paintButton):
  15459. (WebCore::RenderThemeChromiumLinux::paintTextField):
  15460. (WebCore::RenderThemeChromiumLinux::paintMenuList):
  15461. (WebCore::RenderThemeChromiumLinux::paintSliderTrack):
  15462. (WebCore::RenderThemeChromiumLinux::paintSliderThumb):
  15463. (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle):
  15464. (WebCore::RenderThemeChromiumLinux::paintInnerSpinButton):
  15465. (WebCore::RenderThemeChromiumLinux::paintProgressBar):
  15466. * rendering/RenderThemeChromiumLinux.h:
  15467. * rendering/RenderThemeChromiumSkia.cpp:
  15468. (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
  15469. (WebCore::RenderThemeChromiumSkia::setSizeIfAuto):
  15470. (WebCore::RenderThemeChromiumSkia::indeterminateProgressValueRectFor):
  15471. * rendering/RenderThemeChromiumSkia.h:
  15472. 2011-01-21 Sam Weinig <sam@webkit.org>
  15473. Reviewed by Anders Carlsson.
  15474. Part 2 of "Cleanup Scrollbar/ScrollbarClient relationship"
  15475. https://bugs.webkit.org/show_bug.cgi?id=52779
  15476. Rename ScrollbarClient -> ScrollableArea.
  15477. - Also replaces Scrollbar::setClient with Scrollbar::disconnectFromScrollableArea
  15478. since that was its only use case.
  15479. * CMakeLists.txt:
  15480. * GNUmakefile.am:
  15481. * WebCore.gypi:
  15482. * WebCore.pro:
  15483. * WebCore.vcproj/WebCore.vcproj:
  15484. * WebCore.xcodeproj/project.pbxproj:
  15485. * accessibility/AccessibilityScrollbar.cpp:
  15486. (WebCore::AccessibilityScrollbar::setValue):
  15487. * css/CSSStyleSelector.cpp:
  15488. (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
  15489. * page/FrameView.h:
  15490. * platform/PopupMenuClient.h:
  15491. * platform/ScrollAnimator.cpp:
  15492. (WebCore::ScrollAnimator::create):
  15493. (WebCore::ScrollAnimator::ScrollAnimator):
  15494. (WebCore::ScrollAnimator::scroll):
  15495. (WebCore::ScrollAnimator::notityPositionChanged):
  15496. * platform/ScrollAnimator.h:
  15497. * platform/ScrollAnimatorWin.cpp:
  15498. (WebCore::ScrollAnimator::create):
  15499. (WebCore::ScrollAnimatorWin::ScrollAnimatorWin):
  15500. (WebCore::ScrollAnimatorWin::scroll):
  15501. * platform/ScrollAnimatorWin.h:
  15502. * platform/ScrollView.cpp:
  15503. (WebCore::ScrollView::scroll):
  15504. (WebCore::ScrollView::updateScrollbars):
  15505. (WebCore::ScrollView::wheelEvent):
  15506. * platform/ScrollView.h:
  15507. * platform/ScrollableArea.cpp: Copied from WebCore/platform/ScrollbarClient.cpp.
  15508. (WebCore::ScrollableArea::ScrollableArea):
  15509. (WebCore::ScrollableArea::~ScrollableArea):
  15510. (WebCore::ScrollableArea::scroll):
  15511. (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
  15512. (WebCore::ScrollableArea::scrollToXOffsetWithoutAnimation):
  15513. (WebCore::ScrollableArea::scrollToYOffsetWithoutAnimation):
  15514. (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
  15515. * platform/ScrollableArea.h: Copied from WebCore/platform/ScrollbarClient.h.
  15516. * platform/Scrollbar.cpp:
  15517. (WebCore::Scrollbar::createNativeScrollbar):
  15518. (WebCore::Scrollbar::Scrollbar):
  15519. (WebCore::Scrollbar::offsetDidChange):
  15520. (WebCore::Scrollbar::autoscrollPressedPart):
  15521. (WebCore::Scrollbar::moveThumb):
  15522. (WebCore::Scrollbar::mouseMoved):
  15523. (WebCore::Scrollbar::isWindowActive):
  15524. (WebCore::Scrollbar::invalidateRect):
  15525. (WebCore::Scrollbar::convertToContainingView):
  15526. (WebCore::Scrollbar::convertFromContainingView):
  15527. * platform/Scrollbar.h:
  15528. (WebCore::Scrollbar::disconnectFromScrollableArea):
  15529. (WebCore::Scrollbar::scrollableArea):
  15530. * platform/ScrollbarClient.cpp: Removed.
  15531. * platform/ScrollbarClient.h: Removed.
  15532. * platform/ScrollbarThemeComposite.cpp:
  15533. * platform/chromium/FramelessScrollView.h:
  15534. * platform/chromium/ScrollbarThemeChromium.cpp:
  15535. (WebCore::ScrollbarThemeChromium::paintTickmarks):
  15536. * platform/efl/ScrollbarEfl.cpp:
  15537. (Scrollbar::createNativeScrollbar):
  15538. (ScrollbarEfl::ScrollbarEfl):
  15539. (scrollbarEflEdjeMessage):
  15540. * platform/efl/ScrollbarEfl.h:
  15541. * platform/gtk/MainFrameScrollbarGtk.cpp:
  15542. (MainFrameScrollbarGtk::create):
  15543. (MainFrameScrollbarGtk::MainFrameScrollbarGtk):
  15544. (MainFrameScrollbarGtk::gtkValueChanged):
  15545. * platform/gtk/MainFrameScrollbarGtk.h:
  15546. * platform/mac/ScrollAnimatorMac.h:
  15547. * platform/mac/ScrollAnimatorMac.mm:
  15548. (WebCore::ScrollAnimator::create):
  15549. (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
  15550. (WebCore::ScrollAnimatorMac::scroll):
  15551. * platform/mac/ScrollbarThemeMac.mm:
  15552. (WebCore::ScrollbarThemeMac::paint):
  15553. * platform/qt/ScrollbarQt.cpp:
  15554. (WebCore::Scrollbar::contextMenu):
  15555. * platform/win/PopupMenuWin.cpp:
  15556. (WebCore::PopupMenuWin::scrollToRevealSelection):
  15557. (WebCore::PopupMenuWin::wndProc):
  15558. * platform/win/PopupMenuWin.h:
  15559. * platform/win/ScrollbarThemeSafari.cpp:
  15560. (WebCore::ScrollbarThemeSafari::paintTrackBackground):
  15561. (WebCore::ScrollbarThemeSafari::paintButton):
  15562. (WebCore::ScrollbarThemeSafari::paintThumb):
  15563. * platform/wx/ScrollbarThemeWx.cpp:
  15564. (WebCore::ScrollbarThemeWx::paint):
  15565. * rendering/RenderDataGrid.h:
  15566. * rendering/RenderLayer.cpp:
  15567. (WebCore::RenderLayer::scrollToOffset):
  15568. (WebCore::RenderLayer::destroyScrollbar):
  15569. (WebCore::RenderLayer::scroll):
  15570. * rendering/RenderLayer.h:
  15571. * rendering/RenderListBox.cpp:
  15572. (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
  15573. (WebCore::RenderListBox::scroll):
  15574. (WebCore::RenderListBox::logicalScroll):
  15575. (WebCore::RenderListBox::setScrollTop):
  15576. (WebCore::RenderListBox::destroyScrollbar):
  15577. * rendering/RenderListBox.h:
  15578. * rendering/RenderMenuList.cpp:
  15579. (WebCore::RenderMenuList::createScrollbar):
  15580. * rendering/RenderMenuList.h:
  15581. * rendering/RenderScrollbar.cpp:
  15582. (WebCore::RenderScrollbar::createCustomScrollbar):
  15583. (WebCore::RenderScrollbar::RenderScrollbar):
  15584. * rendering/RenderScrollbar.h:
  15585. * rendering/RenderTextControlSingleLine.cpp:
  15586. (WebCore::RenderTextControlSingleLine::createScrollbar):
  15587. * rendering/RenderTextControlSingleLine.h:
  15588. 2011-01-21 Darin Adler <darin@apple.com>
  15589. Fix Leopard build.
  15590. * rendering/mathml/RenderMathMLFraction.cpp:
  15591. (WebCore::RenderMathMLFraction::layout): Use ceilf instead of ceil.
  15592. 2011-01-21 Anton Muhin <antonm@chromium.org>
  15593. Reviewed by Nate Chapin.
  15594. [v8] Properly deal with the case when conversion to string throws an exception for HTMLCollection accessors
  15595. https://bugs.webkit.org/show_bug.cgi?id=52901
  15596. Test: fast/dom/htmlcollection-conversion-throws-exception.html
  15597. * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
  15598. (WebCore::getItem):
  15599. 2011-01-21 Adam Roben <aroben@apple.com>
  15600. Separate flushing layer changes from rendering in CACFLayerTreeHost
  15601. Old model:
  15602. 1) A change is made to a GraphicsLayer.
  15603. 2) CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon is called, which schedules the
  15604. render timer.
  15605. 3) The timer fires, which calls through to CACFLayerTreeHost::render, which performs the
  15606. flush and then renders.
  15607. New model:
  15608. 1) A change is made to a GraphicsLayer.
  15609. 2) CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon is called, which tells the new
  15610. LayerChangesFlusher singleton that this host has changes that need to be flushed.
  15611. 3) LayerChangesFlusher sets up a Windows hook that will get called on the next iteration
  15612. of the message loop.
  15613. 4) LayerChangesFlusher's hook is called, which calls through to
  15614. CACFLayerTreeHost::flushPendingLayerChangesNow.
  15615. 5) CACFLayerTreeHost::flushPendingLayerChangesNow schedules the render timer so the changes
  15616. that were just flushed to the context will be rendered.
  15617. When a change is made to a PlatformCALayer that doesn't have a corresponding GraphicsLayer
  15618. (e.g., for rendering <video>), CACFLayerTreeHost::layerTreeDidChange takes care of
  15619. scheduling the flush.
  15620. This change has three advantages:
  15621. 1) Whenever we flush layer changes, we first update layout. This can cause the page to
  15622. leave compositing mode, which in turn can cause all references to the CACFLayerTreeHost
  15623. to be dropped. By separating flushing (and thus updating layout) from rendering, we no
  15624. longer have to worry about this happen during rendering.
  15625. 2) The new model is much more similar to how things work on the Mac, so will hopefully
  15626. reduce the number of platform-specific bugs.
  15627. 3) CACFLayerTreeHost::shouldRender, which was used to make sure we didn't render while a
  15628. layout was pending, is no longer needed. It actually hasn't been needed since at least
  15629. r75987, but removing it before now would have resulted in a crash whenever a page came
  15630. out of compositing mode due to (1).
  15631. Fixes <http://webkit.org/b/52852> Flushing layer changes and rendering are intertwined in
  15632. CACFLayerTreeHost, but shouldn't be
  15633. Reviewed by Simon Fraser.
  15634. * WebCore.vcproj/WebCore.vcproj: Added LayerChangesFlusher.
  15635. * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Added new #include, sorted existing
  15636. #includes.
  15637. (WebCore::CACFLayerTreeHost::CACFLayerTreeHost): Initialize new member.
  15638. (WebCore::CACFLayerTreeHost::layerTreeDidChange): If we aren't already flushing changes,
  15639. schedule a flush. Removed the call to renderSoon(), which now happens when the flush is
  15640. finished.
  15641. (WebCore::CACFLayerTreeHost::destroyRenderer): Cancel any pending flush we had scheduled. Also
  15642. fixed a bug where we'd fail to clear the context's layer.
  15643. (WebCore::CACFLayerTreeHost::render): Removed code to ask the client if we should render, which
  15644. is no longer needed. Moved code to flush layer changes from here to
  15645. flushPendingLayerChangesNow, which is called via the above-described mechanism.
  15646. (WebCore::CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon): Schedule a flush. Removed
  15647. code to schedule a render, which now happens after we've flushed.
  15648. (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Added. Some of this code came from
  15649. render(). First we flush GraphicsLayer changes from GraphicsLayers to their underlying
  15650. PlatformCALayers, then we flush changes from PlatformCALayers to the context, then we
  15651. schedule a render so that the changes will be rendered to the screen.
  15652. * platform/graphics/ca/win/CACFLayerTreeHost.h: Removed
  15653. CACFLayerTreeHostClient::shouldRender. Added flushPendingLayerChangesNow and
  15654. m_isFlushingLayerChanges.
  15655. * platform/graphics/ca/win/LayerChangesFlusher.cpp: Added.
  15656. (WebCore::LayerChangesFlusher::shared):
  15657. (WebCore::LayerChangesFlusher::LayerChangesFlusher):
  15658. (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon):
  15659. (WebCore::LayerChangesFlusher::cancelPendingFlush):
  15660. (WebCore::LayerChangesFlusher::hookCallback):
  15661. (WebCore::LayerChangesFlusher::hookFired):
  15662. (WebCore::LayerChangesFlusher::setHook):
  15663. (WebCore::LayerChangesFlusher::removeHook):
  15664. * platform/graphics/ca/win/LayerChangesFlusher.cpp: Added.
  15665. (WebCore::LayerChangesFlusher::shared): Returns the singleton.
  15666. (WebCore::LayerChangesFlusher::LayerChangesFlusher): Initialize our members.
  15667. (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon): Add the host to the set of
  15668. hosts with changes that need to be flushed, and set up our hook if we haven't already.
  15669. (WebCore::LayerChangesFlusher::cancelPendingFlush): Remove the host from the set of hosts
  15670. with changes that need to be flushed. If we have no more such hosts, remove our hook, unless
  15671. we're currently in the process of calling out to our hosts, in which case we'll take care of
  15672. the hook once we're done calling out.
  15673. (WebCore::LayerChangesFlusher::hookCallback): This is the function that Windows calls when
  15674. our hook fires. Just calls through to hookFired on the singleton.
  15675. (WebCore::LayerChangesFlusher::hookFired): Tell all the hosts with changes that needed to be
  15676. flushed that it's time to flush. If no hosts re-added themselves to our set during this
  15677. process, remove our hook.
  15678. (WebCore::LayerChangesFlusher::setHook): Calls through to ::SetWindowsHookExW.
  15679. (WebCore::LayerChangesFlusher::removeHook): Calls through to ::UnhookWindowsHookEx.
  15680. * platform/graphics/ca/win/LayerChangesFlusher.h: Added.
  15681. 2011-01-21 Simon Fraser <simon.fraser@apple.com>
  15682. Reviewed by Sam Weinig.
  15683. GraphicsLayer should be non-copyable
  15684. https://bugs.webkit.org/show_bug.cgi?id=52909
  15685. Use WTF_MAKE_NONCOPYABLE on GraphicsLayer, and WTF_MAKE_FAST_ALLOCATED
  15686. on that and KeyframeValueList.
  15687. * platform/graphics/GraphicsLayer.h:
  15688. 2011-01-21 Simon Fraser <simon.fraser@apple.com>
  15689. Reviewed by Sam Weinig.
  15690. Report the sized used by canvases and types arrays
  15691. https://bugs.webkit.org/show_bug.cgi?id=52856
  15692. Report the memory cost associated with canvas elements,
  15693. and typed arrays to JavaScript as extraCost, so that it
  15694. can figure this into its GC behavior.
  15695. * bindings/js/JSArrayBufferViewHelper.h:
  15696. (WebCore::toJSArrayBufferView): New templatized function, similar
  15697. to getDOMObjectWrapper() but calls reportExtraMemoryCost() with
  15698. the byteLength of the array.
  15699. * bindings/js/JSFloat32ArrayCustom.cpp:
  15700. (WebCore::toJS): Use toJSArrayBufferView.
  15701. * bindings/js/JSInt16ArrayCustom.cpp:
  15702. (WebCore::toJS): Use toJSArrayBufferView.
  15703. * bindings/js/JSInt32ArrayCustom.cpp:
  15704. (WebCore::toJS): Use toJSArrayBufferView.
  15705. * bindings/js/JSInt8ArrayCustom.cpp:
  15706. (WebCore::toJS): Use toJSArrayBufferView.
  15707. * bindings/js/JSUint16ArrayCustom.cpp:
  15708. (WebCore::toJS): Use toJSArrayBufferView.
  15709. * bindings/js/JSUint32ArrayCustom.cpp:
  15710. (WebCore::toJS): Use toJSArrayBufferView.
  15711. * bindings/js/JSUint8ArrayCustom.cpp:
  15712. (WebCore::toJS): Use toJSArrayBufferView.
  15713. * html/HTMLCanvasElement.cpp:
  15714. (WebCore::HTMLCanvasElement::createImageBuffer): Call heap.reportExtraMemoryCost()
  15715. with the size of the canvas backing store.
  15716. * html/canvas/TypedArrayBase.h:
  15717. (WebCore::TypedArrayBase::byteLength): byteLength needs to
  15718. be public.
  15719. * platform/graphics/ImageBuffer.h: Add dataSize() method.
  15720. * platform/graphics/cairo/ImageBufferCairo.cpp:
  15721. (WebCore::ImageBuffer::dataSize): Implement dataSize().
  15722. * platform/graphics/cg/ImageBufferCG.cpp:
  15723. (WebCore::ImageBuffer::dataSize): Implement dataSize().
  15724. * platform/graphics/haiku/ImageBufferHaiku.cpp:
  15725. (WebCore::ImageBuffer::dataSize): Implement dataSize().
  15726. * platform/graphics/qt/ImageBufferQt.cpp:
  15727. (WebCore::ImageBuffer::dataSize): Implement dataSize().
  15728. * platform/graphics/skia/ImageBufferSkia.cpp:
  15729. (WebCore::ImageBuffer::dataSize): Implement dataSize().
  15730. * platform/graphics/wince/ImageBufferWinCE.cpp:
  15731. (WebCore::ImageBuffer::dataSize): Implement dataSize().
  15732. * platform/graphics/wx/ImageBufferWx.cpp:
  15733. (WebCore::ImageBuffer::dataSize): Implement dataSize().
  15734. 2011-01-21 Adam Roben <aroben@apple.com>
  15735. Rename WKCACFLayerRenderer[Client] to CACFLayerTreeHost[Client]
  15736. Also renamed a few functions and data members to match.
  15737. Fixes <http://webkit.org/b/52898> WKCACFLayerRenderer sounds like a render object, but isn't
  15738. Reviewed by Simon Fraser.
  15739. * WebCore.vcproj/WebCore.vcproj: Updated files' names and paths.
  15740. * WebCore.vcproj/WebCoreQuartzCore.vsprops: Added platform/graphics/ca/win to the include
  15741. path.
  15742. * WebCore.vcproj/copyForwardingHeaders.cmd: Copy headers from platform/graphics/ca/win, too.
  15743. * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Renamed from Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.cpp.
  15744. * platform/graphics/ca/win/CACFLayerTreeHost.h: Renamed from Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.h.
  15745. * platform/graphics/ca/win/PlatformCALayerWin.cpp:
  15746. * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
  15747. * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
  15748. Updated for renames.
  15749. 2011-01-21 Patrick Gansterer <paroga@paroga.com>
  15750. Original patch from François Sausset <sausset@gmail.com>
  15751. Reviewed by Darin Adler.
  15752. Code cleaning in rendering/mathml/RenderMathMLFraction.cpp
  15753. https://bugs.webkit.org/show_bug.cgi?id=52201
  15754. Replace unneeded doubles by floats and remove unneeded casts.
  15755. * rendering/mathml/RenderMathMLFraction.cpp:
  15756. (WebCore::RenderMathMLFraction::paint):
  15757. * rendering/mathml/RenderMathMLFraction.h:
  15758. 2011-01-21 Dimitri Glazkov <dglazkov@chromium.org>
  15759. Reviewed by Darin Adler.
  15760. REGRESSION(r73618): Clicking on a search input causes a crash.
  15761. https://bugs.webkit.org/show_bug.cgi?id=52905
  15762. The problem is caused by TextControlInnerElement being used both as
  15763. shadow root and an element in a shadow subtree. The code assumed it is
  15764. only used as a shadow root.
  15765. Since this code is all just workaround for in-progress conversion to
  15766. new shadow DOM, I am just adding a check. This code will disappear
  15767. completely once bug 52788 is fixed.
  15768. Test: fast/dom/search-shadow-host-crash.html
  15769. * dom/Node.cpp:
  15770. (WebCore::Node::setShadowHost): Added an ASSERT for early detection
  15771. of attempting to stomp on the parentNode.
  15772. * rendering/TextControlInnerElements.cpp:
  15773. (WebCore::TextControlInnerElement::detach): Added a check to only
  15774. clear shadow host if we have one.
  15775. 2011-01-21 Adam Roben <aroben@apple.com>
  15776. Replace some "sync compositing state" terminology with "flush pending GraphicsLayer changes"
  15777. This seems to be the direction in which our code is moving. I chose "GraphicsLayer" as
  15778. opposed to just "layer" because there are cases where we flush changes to CACFLayers that
  15779. don't have a corresponding GraphicsLayer.
  15780. Fixes <http://webkit.org/b/52894> "Sync compositing state" terminology in
  15781. WKCACFLayerRenderer and friends is confusing
  15782. Reviewed by Simon Fraser.
  15783. * platform/graphics/win/WKCACFLayerRenderer.cpp:
  15784. (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
  15785. (WebCore::WKCACFLayerRenderer::render):
  15786. Updated for renames.
  15787. (WebCore::WKCACFLayerRenderer::flushPendingGraphicsLayerChangesSoon): Renamed from
  15788. syncCompositingStateSoon, and updated for other renames.
  15789. * platform/graphics/win/WKCACFLayerRenderer.h: Renamed m_syncLayerChanges to
  15790. * m_shouldFlushPendingGraphicsLayerChanges.
  15791. (WebCore::WKCACFLayerRendererClient::flushPendingGraphicsLayerChanges): Renamed from
  15792. syncCompositingState.
  15793. 2011-01-21 Adam Roben <aroben@apple.com>
  15794. Clean up PlatformCAAnimationWin
  15795. Fixes <http://webkit.org/b/52904> PlatformCAAnimationWin is leaky and inefficient
  15796. Reviewed by Simon Fraser.
  15797. * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
  15798. (toCACFFillModeType):
  15799. (fromCACFFillModeType):
  15800. (toCACFValueFunctionType):
  15801. (fromCACFValueFunctionType):
  15802. Changed to take and return CFStringRefs. There's no need to convert to WebCore::String just
  15803. so we can later convert back to CFStringRef.
  15804. (toCACFTimingFunction): Fixed leaks by changing this to return a RetainPtr and adopting the
  15805. results of CACFTimingFunctionCreate.
  15806. (PlatformCAAnimation::PlatformCAAnimation): Changed not to needlessly roundtrip through
  15807. WebCore::String. Also changed an ASSERT(0) to ASSERT_NOT_REACHED().
  15808. (PlatformCAAnimation::setFillMode):
  15809. (PlatformCAAnimation::setTimingFunction):
  15810. (PlatformCAAnimation::setValueFunction):
  15811. (PlatformCAAnimation::setTimingFunctions):
  15812. Updated for changes to the above conversion functions.
  15813. 2011-01-21 Charlie Reis <creis@chromium.org>
  15814. Reviewed by Darin Fisher.
  15815. FrameLoader::checkLoadCompleteForThisFrame uses wrong history item
  15816. https://bugs.webkit.org/show_bug.cgi?id=48812
  15817. Most calls to stopAllLoaders now clear the history's provisional item(s).
  15818. We can now avoid resetting the back/forward state if a new navigation
  15819. is in progress.
  15820. Test: http/tests/navigation/back-twice-without-commit.html
  15821. Test: http/tests/navigation/forward-and-cancel.html
  15822. * loader/FrameLoader.cpp:
  15823. * loader/FrameLoader.h:
  15824. * loader/FrameLoaderTypes.h:
  15825. * WebCore.exp.in: Update stopAllLoaders signature.
  15826. 2011-01-21 Carlos Garcia Campos <cgarcia@igalia.com>
  15827. Reviewed by Martin Robinson.
  15828. [GTK] Show caps lock indicator in password fields
  15829. https://bugs.webkit.org/show_bug.cgi?id=52878
  15830. Test: manual-tests/password-caps-lock.html
  15831. * platform/gtk/KeyEventGtk.cpp:
  15832. (WebCore::PlatformKeyboardEvent::currentCapsLockState): Implement
  15833. currentCapsLockState() using GDK API.
  15834. * platform/gtk/RenderThemeGtk.cpp:
  15835. (WebCore::RenderThemeGtk::paintCapsLockIndicator): Paint an icon
  15836. in the password field when the caps lock modifier is locked.
  15837. * platform/gtk/RenderThemeGtk.h:
  15838. 2011-01-21 Pavel Podivilov <podivilov@chromium.org>
  15839. Reviewed by Pavel Feldman.
  15840. Web Inspector: move sticky breakpoints management from InspectorController to InspectorBrowserDebuggerAgent.
  15841. https://bugs.webkit.org/show_bug.cgi?id=52874
  15842. This is the first step of debugger api refactoring (see bug 52879).
  15843. JavaScript breakpoints are still in the same list as native breakpoints and are restored by InspectorBrowserDebuggerAgent.
  15844. The second step will be to move sticky JavaScript breakpoints to InspectorDebuggerAgent.
  15845. * inspector/Inspector.idl:
  15846. * inspector/InspectorBrowserDebuggerAgent.cpp:
  15847. (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
  15848. (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
  15849. (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
  15850. (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
  15851. (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
  15852. (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
  15853. (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
  15854. (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
  15855. (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
  15856. (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
  15857. (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
  15858. * inspector/InspectorBrowserDebuggerAgent.h:
  15859. * inspector/InspectorController.cpp:
  15860. (WebCore::InspectorController::restoreInspectorStateFromCookie):
  15861. (WebCore::InspectorController::connectFrontend):
  15862. (WebCore::InspectorController::didCommitLoad):
  15863. (WebCore::InspectorController::enableDebugger):
  15864. (WebCore::InspectorController::resume):
  15865. (WebCore::InspectorController::inspectedURL):
  15866. * inspector/InspectorController.h:
  15867. * inspector/InspectorState.cpp:
  15868. (WebCore::InspectorState::InspectorState):
  15869. * inspector/InspectorState.h:
  15870. * inspector/front-end/BreakpointManager.js:
  15871. (WebInspector.BreakpointManager):
  15872. (WebInspector.BreakpointManager.prototype._saveBreakpoints):
  15873. 2011-01-21 John Knottenbelt <jknotten@chromium.org>
  15874. Reviewed by Jeremy Orlow.
  15875. Turn off uninitialized errors for ARM linux build.
  15876. https://bugs.webkit.org/show_bug.cgi?id=52893
  15877. Fix ARM compiler breakage.
  15878. * WebCore.gyp/WebCore.gyp:
  15879. 2011-01-21 Mikhail Naganov <mnaganov@chromium.org>
  15880. Reviewed by Yury Semikhatsky.
  15881. Web Inspector: [Chromium] REGRESSION: Using the "Back" button
  15882. while profiling causes renderer crash.
  15883. https://bugs.webkit.org/show_bug.cgi?id=52808
  15884. * inspector/InspectorProfilerAgent.cpp:
  15885. (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
  15886. (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
  15887. 2011-01-20 Ilya Tikhonovsky <loislo@chromium.org>
  15888. Reviewed by Pavel Feldman.
  15889. Web Inspector: switch page/Console implementation from InspectorController to InspectorInstrumentation.
  15890. There are some places in WebCore where we still using direct InspectorController calls.
  15891. The idea is to pass all the Inspector related calls via InspectorInstrumentaion which is the
  15892. Inspector facade for WebCore.
  15893. https://bugs.webkit.org/show_bug.cgi?id=52869
  15894. * inspector/InspectorController.cpp:
  15895. * inspector/InspectorController.h:
  15896. * inspector/InspectorInstrumentation.cpp:
  15897. (WebCore::InspectorInstrumentation::addProfileImpl):
  15898. (WebCore::InspectorInstrumentation::profilerEnabledImpl):
  15899. (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl):
  15900. * inspector/InspectorInstrumentation.h:
  15901. (WebCore::InspectorInstrumentation::addProfile):
  15902. (WebCore::InspectorInstrumentation::profilerEnabled):
  15903. (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
  15904. * page/Console.cpp:
  15905. (WebCore::Console::profile):
  15906. (WebCore::Console::profileEnd):
  15907. 2011-01-12 Pavel Podivilov <podivilov@chromium.org>
  15908. Reviewed by Pavel Feldman.
  15909. Web Inspector: breakpoints are restored incorrectly when reverting live edit.
  15910. https://bugs.webkit.org/show_bug.cgi?id=52300
  15911. Fix breakpoints restoring when reverting to old revision by using text diff.
  15912. Move live edit logic from ScriptsPanel to DebuggerModel.
  15913. Eliminate unnecessary editLine delegate in TextViewer.
  15914. * inspector/front-end/DebuggerModel.js:
  15915. (WebInspector.DebuggerModel):
  15916. (WebInspector.DebuggerModel.prototype.reset):
  15917. (WebInspector.DebuggerModel.prototype.editScriptSource):
  15918. (WebInspector.DebuggerModel.prototype._updateScriptSource):
  15919. (WebInspector.DebuggerModel.prototype.get callFrames):
  15920. (WebInspector.DebuggerModel.prototype.pausedScript):
  15921. (WebInspector.DebuggerModel.prototype.resumedScript):
  15922. * inspector/front-end/Script.js:
  15923. (WebInspector.Script.prototype.get source):
  15924. * inspector/front-end/ScriptView.js:
  15925. (WebInspector.ScriptView):
  15926. * inspector/front-end/ScriptsPanel.js:
  15927. (WebInspector.ScriptsPanel):
  15928. (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
  15929. * inspector/front-end/SourceFrame.js:
  15930. (WebInspector.SourceFrame):
  15931. (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
  15932. (WebInspector.SourceFrame.prototype._doubleClick.didEditLine):
  15933. (WebInspector.SourceFrame.prototype._doubleClick):
  15934. * inspector/front-end/SourceView.js:
  15935. (WebInspector.SourceView):
  15936. * inspector/front-end/TextViewer.js:
  15937. (WebInspector.TextViewer):
  15938. (WebInspector.TextViewer.prototype._handleKeyDown):
  15939. (WebInspector.TextViewer.prototype.editLine.finishEditing):
  15940. (WebInspector.TextViewer.prototype.editLine):
  15941. (WebInspector.TextChunk.prototype._createRow):
  15942. 2011-01-21 Adam Klein <adamk@chromium.org>
  15943. Reviewed by Eric Seidel.
  15944. [chromium] Rename ChromiumBridge to PlatformBridge
  15945. https://bugs.webkit.org/show_bug.cgi?id=52471
  15946. No tests added as this is a rename; no change in behavior.
  15947. * WebCore.gypi:
  15948. * bindings/v8/V8DOMWindowShell.cpp:
  15949. (WebCore::reportFatalErrorInV8):
  15950. * page/PageGroup.cpp:
  15951. (WebCore::PageGroup::isLinkVisited):
  15952. * platform/android/PlatformBridge.h:
  15953. * platform/audio/chromium/AudioBusChromium.cpp:
  15954. (WebCore::createBusFromInMemoryAudioFile):
  15955. * platform/chromium/ChromiumBridge.h: Removed.
  15956. * platform/chromium/ChromiumDataObjectLegacy.cpp:
  15957. (WebCore::ChromiumDataObjectLegacy::getData):
  15958. * platform/chromium/DragDataChromium.cpp:
  15959. (WebCore::DragData::asURL):
  15960. * platform/chromium/FileSystemChromium.cpp:
  15961. (WebCore::deleteFile):
  15962. (WebCore::deleteEmptyDirectory):
  15963. (WebCore::getFileSize):
  15964. (WebCore::getFileModificationTime):
  15965. (WebCore::revealFolderInOS):
  15966. (WebCore::directoryName):
  15967. (WebCore::pathByAppendingComponent):
  15968. (WebCore::makeAllDirectories):
  15969. (WebCore::fileExists):
  15970. (WebCore::openFile):
  15971. (WebCore::closeFile):
  15972. (WebCore::seekFile):
  15973. (WebCore::truncateFile):
  15974. (WebCore::readFromFile):
  15975. (WebCore::writeToFile):
  15976. * platform/chromium/LanguageChromium.cpp:
  15977. (WebCore::platformDefaultLanguage):
  15978. * platform/chromium/LinkHashChromium.cpp:
  15979. (WebCore::visitedLinkHash):
  15980. * platform/chromium/MIMETypeRegistryChromium.cpp:
  15981. (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
  15982. (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
  15983. (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
  15984. (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
  15985. (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
  15986. * platform/chromium/PasteboardChromium.cpp:
  15987. (WebCore::Pasteboard::writeSelection):
  15988. (WebCore::Pasteboard::writePlainText):
  15989. (WebCore::Pasteboard::writeURL):
  15990. (WebCore::Pasteboard::writeImage):
  15991. (WebCore::Pasteboard::canSmartReplace):
  15992. (WebCore::Pasteboard::plainText):
  15993. (WebCore::Pasteboard::documentFragment):
  15994. * platform/chromium/PlatformBridge.h:
  15995. * platform/chromium/PlatformScreenChromium.cpp:
  15996. (WebCore::screenDepth):
  15997. (WebCore::screenDepthPerComponent):
  15998. (WebCore::screenIsMonochrome):
  15999. (WebCore::screenRect):
  16000. (WebCore::screenAvailableRect):
  16001. * platform/chromium/ReadableDataObject.cpp:
  16002. (WebCore::ReadableDataObject::getData):
  16003. (WebCore::ReadableDataObject::urlTitle):
  16004. (WebCore::ReadableDataObject::htmlBaseUrl):
  16005. (WebCore::ReadableDataObject::filenames):
  16006. (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
  16007. * platform/chromium/SSLKeyGeneratorChromium.cpp:
  16008. (WebCore::signedPublicKeyAndChallengeString):
  16009. * platform/chromium/ScrollbarThemeChromium.cpp:
  16010. * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
  16011. (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
  16012. (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
  16013. (WebCore::ScrollbarThemeChromiumLinux::paintButton):
  16014. (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
  16015. (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
  16016. (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
  16017. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  16018. (WebCore::scrollbarStateToThemeState):
  16019. (WebCore::ScrollbarThemeChromiumMac::paint):
  16020. * platform/chromium/ScrollbarThemeChromiumWin.cpp:
  16021. (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
  16022. (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
  16023. (WebCore::ScrollbarThemeChromiumWin::paintButton):
  16024. (WebCore::ScrollbarThemeChromiumWin::paintThumb):
  16025. (WebCore::ScrollbarThemeChromiumWin::buttonSize):
  16026. * platform/chromium/SharedTimerChromium.cpp:
  16027. (WebCore::setSharedTimerFiredFunction):
  16028. (WebCore::setSharedTimerFireTime):
  16029. (WebCore::stopSharedTimer):
  16030. * platform/chromium/SuddenTerminationChromium.cpp:
  16031. (WebCore::disableSuddenTermination):
  16032. (WebCore::enableSuddenTermination):
  16033. * platform/chromium/SystemTimeChromium.cpp:
  16034. (WebCore::currentTime):
  16035. * platform/chromium/WritableDataObject.cpp:
  16036. (WebCore::WritableDataObject::setData):
  16037. * platform/graphics/chromium/CrossProcessFontLoading.mm:
  16038. * platform/graphics/chromium/FontCacheChromiumWin.cpp:
  16039. (WebCore::fontContainsCharacter):
  16040. (WebCore::FillLogFont):
  16041. * platform/graphics/chromium/FontCacheLinux.cpp:
  16042. (WebCore::FontCache::getFontDataForCharacters):
  16043. * platform/graphics/chromium/FontChromiumWin.cpp:
  16044. (WebCore::Font::drawGlyphs):
  16045. * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
  16046. (WebCore::FontPlatformData::scriptFontProperties):
  16047. * platform/graphics/chromium/FontPlatformDataLinux.cpp:
  16048. (WebCore::FontPlatformData::querySystemForRenderStyle):
  16049. * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
  16050. (WebCore::fillBMPGlyphs):
  16051. * platform/graphics/chromium/ImageChromium.cpp:
  16052. (WebCore::Image::loadPlatformResource):
  16053. * platform/graphics/chromium/ImageChromiumMac.mm:
  16054. (WebCore::Image::loadPlatformResource):
  16055. * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
  16056. (WebCore::SimpleFontData::platformInit):
  16057. (WebCore::SimpleFontData::determinePitch):
  16058. (WebCore::SimpleFontData::platformWidthForGlyph):
  16059. * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
  16060. (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
  16061. * platform/graphics/skia/FontCustomPlatformData.cpp:
  16062. (WebCore::FontCustomPlatformData::fontPlatformData):
  16063. * platform/network/chromium/CookieJarChromium.cpp:
  16064. (WebCore::setCookies):
  16065. (WebCore::cookies):
  16066. (WebCore::cookieRequestHeaderFieldValue):
  16067. (WebCore::cookiesEnabled):
  16068. (WebCore::getRawCookies):
  16069. (WebCore::deleteCookie):
  16070. * platform/network/chromium/DNSChromium.cpp:
  16071. (WebCore::prefetchDNS):
  16072. * platform/qt/PlatformBridge.h:
  16073. * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
  16074. (WebCore::SQLiteFileSystem::deleteDatabaseFile):
  16075. (WebCore::SQLiteFileSystem::getDatabaseFileSize):
  16076. * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
  16077. (chromiumOpen):
  16078. (chromiumDelete):
  16079. (chromiumAccess):
  16080. * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
  16081. * plugins/chromium/PluginDataChromium.cpp:
  16082. (WebCore::PluginCache::plugins):
  16083. * rendering/RenderThemeChromiumMac.mm:
  16084. (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
  16085. * rendering/RenderThemeChromiumSkia.cpp:
  16086. (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
  16087. * rendering/RenderThemeChromiumWin.cpp:
  16088. (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
  16089. (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
  16090. (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
  16091. (WebCore::RenderThemeChromiumWin::systemColor):
  16092. (WebCore::RenderThemeChromiumWin::paintButton):
  16093. (WebCore::RenderThemeChromiumWin::paintSliderTrack):
  16094. (WebCore::menuListButtonWidth):
  16095. (WebCore::RenderThemeChromiumWin::paintMenuList):
  16096. (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
  16097. (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
  16098. (WebCore::RenderThemeChromiumWin::paintProgressBar):
  16099. * storage/chromium/IDBFactoryBackendInterface.cpp:
  16100. (WebCore::IDBFactoryBackendInterface::create):
  16101. (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
  16102. * storage/chromium/IDBKeyPathBackendImpl.cpp:
  16103. (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
  16104. 2011-01-21 Sheriff Bot <webkit.review.bot@gmail.com>
  16105. Unreviewed, rolling out r76335.
  16106. http://trac.webkit.org/changeset/76335
  16107. https://bugs.webkit.org/show_bug.cgi?id=52875
  16108. profiler tests were broken (Requested by loislo on #webkit).
  16109. * inspector/InspectorController.cpp:
  16110. (WebCore::InspectorController::addProfile):
  16111. (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
  16112. * inspector/InspectorController.h:
  16113. * inspector/InspectorInstrumentation.cpp:
  16114. (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
  16115. * inspector/InspectorInstrumentation.h:
  16116. (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
  16117. (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForPage):
  16118. * page/Console.cpp:
  16119. (WebCore::Console::profile):
  16120. (WebCore::Console::profileEnd):
  16121. 2011-01-21 Ilya Tikhonovsky <loislo@chromium.org>
  16122. Reviewed by Yury Semikhatsky.
  16123. Web Inspector: switch page/Console implementation from InspectorController to InspectorInstrumentation.
  16124. There are some places in WebCore where we still using direct InspectorController calls.
  16125. The idea is to pass all the Inspector related calls via InspectorInstrumentaion which is the
  16126. Inspector facade for WebCore.
  16127. https://bugs.webkit.org/show_bug.cgi?id=52869
  16128. * inspector/InspectorController.cpp:
  16129. * inspector/InspectorController.h:
  16130. * inspector/InspectorInstrumentation.cpp:
  16131. (WebCore::InspectorInstrumentation::addProfileImpl):
  16132. (WebCore::InspectorInstrumentation::profilerEnabledImpl):
  16133. (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl):
  16134. * inspector/InspectorInstrumentation.h:
  16135. (WebCore::InspectorInstrumentation::addProfile):
  16136. (WebCore::InspectorInstrumentation::profilerEnabled):
  16137. (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
  16138. * page/Console.cpp:
  16139. (WebCore::Console::profile):
  16140. (WebCore::Console::profileEnd):
  16141. 2011-01-20 Sam Weinig <sam@webkit.org>
  16142. Reviewed by Gavin Barraclough.
  16143. Fix failing tests from r76291.
  16144. * platform/ScrollView.cpp:
  16145. (WebCore::ScrollView::scrollPosition):
  16146. (WebCore::ScrollView::updateScrollbars):
  16147. Take the scroll origin into account in more places.
  16148. 2011-01-20 Kent Tamura <tkent@chromium.org>
  16149. Unreviewed, sorting an Xcode project file.
  16150. * WebCore.xcodeproj/project.pbxproj:
  16151. 2011-01-20 Ben Vanik <ben.vanik@gmail.com>
  16152. Reviewed by Kenneth Russell.
  16153. Implementation of the OES_standard_derivatives WebGL extension.
  16154. https://bugs.webkit.org/show_bug.cgi?id=51678
  16155. Changes are modeled off of the existing OESTextureFloat extension. New files,
  16156. extension retrieval, etc all match the existing code.
  16157. Changed ANGLEWebKitBridge to allow for multiple sets of the ANGLE shader compiler
  16158. options. This supports the enabling of the standard derivatives flag when the
  16159. extension is enabled. Refactored the cleanup code to make the destruction of the
  16160. compilers (if they had been created) cleaner.
  16161. Tested with the WebGL conformance test:
  16162. https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/oes-standard-derivatives.html
  16163. Passes on WebKit/OSX, Chromium/OSX, and Chromium/Windows.
  16164. * CMakeLists.txt:
  16165. * DerivedSources.make:
  16166. * GNUmakefile.am:
  16167. * WebCore.gypi:
  16168. * WebCore.pri:
  16169. * WebCore.pro:
  16170. * WebCore.xcodeproj/project.pbxproj:
  16171. * bindings/js/JSWebGLRenderingContextCustom.cpp:
  16172. (WebCore::toJS):
  16173. * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
  16174. (WebCore::toV8Object):
  16175. * html/canvas/OESStandardDerivatives.cpp: Added.
  16176. (WebCore::OESStandardDerivatives::OESStandardDerivatives):
  16177. (WebCore::OESStandardDerivatives::~OESStandardDerivatives):
  16178. (WebCore::OESStandardDerivatives::getName):
  16179. (WebCore::OESStandardDerivatives::create):
  16180. * html/canvas/OESStandardDerivatives.h: Added.
  16181. * html/canvas/OESStandardDerivatives.idl: Added.
  16182. * html/canvas/WebGLExtension.h:
  16183. * html/canvas/WebGLRenderingContext.cpp:
  16184. (WebCore::WebGLRenderingContext::getExtension): Enable and return the new extension.
  16185. (WebCore::WebGLRenderingContext::getParameter): Support extension enum when enabled.
  16186. (WebCore::WebGLRenderingContext::getSupportedExtensions):
  16187. (WebCore::WebGLRenderingContext::hint): Validate extension enum when enabled.
  16188. (WebCore::WebGLRenderingContext::getNumberOfExtensions):
  16189. (WebCore::WebGLRenderingContext::getExtensionNumber):
  16190. * html/canvas/WebGLRenderingContext.h:
  16191. * platform/graphics/ANGLEWebKitBridge.cpp:
  16192. (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge): Cleaned up compiler cleanup.
  16193. (WebCore::ANGLEWebKitBridge::cleanupCompilers): Destruct compilers.
  16194. (WebCore::ANGLEWebKitBridge::setResources): Cleanup existing compilers when changing
  16195. ANGLE settings.
  16196. (WebCore::ANGLEWebKitBridge::validateShaderSource): Cleaned up compiler cleanup on error.
  16197. * platform/graphics/ANGLEWebKitBridge.h:
  16198. (WebCore::ANGLEWebKitBridge::getResources):
  16199. * platform/graphics/Extensions3D.h: Added enumeration for the extension.
  16200. * platform/graphics/GraphicsContext3D.h: lumbing for GraphicsContext3D.
  16201. * platform/graphics/opengl/Extensions3DOpenGL.cpp:
  16202. (WebCore::Extensions3DOpenGL::Extensions3DOpenGL): Plumbed through a pointer to the
  16203. GraphicsContext3D to handle resetting the shader compilers.
  16204. (WebCore::Extensions3DOpenGL::supports): Desktop GL always supports this extension,
  16205. so always return true.
  16206. (WebCore::Extensions3DOpenGL::ensureEnabled): Reset shader compilers as required.
  16207. * platform/graphics/opengl/Extensions3DOpenGL.h: Plumbing for GraphicsContext3D.
  16208. * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
  16209. (WebCore::GraphicsContext3D::getExtensions): Plumbing for GraphicsContext3D to
  16210. Extensions3DOpenGL.
  16211. 2011-01-20 Xiaomei Ji <xji@chromium.org>
  16212. Reviewed by Dan Bernstein.
  16213. Fix regression(r71566): PDF in RTL block might messes up text directionality.
  16214. https://bugs.webkit.org/show_bug.cgi?id=52776
  16215. Test: fast/dom/52776.html
  16216. * platform/text/BidiResolver.h:
  16217. (WebCore::::checkDirectionInLowerRaiseEmbeddingLevel):
  16218. (WebCore::::lowerExplicitEmbeddingLevel):
  16219. (WebCore::::raiseExplicitEmbeddingLevel):
  16220. (WebCore::::createBidiRunsForLine):
  16221. 2011-01-20 Beth Dakin <bdakin@apple.com>
  16222. Reviewed by Anders Carlsson.
  16223. Follow-on for <rdar://problem/8890255>
  16224. This fixes a painting error with ScrollbarPainter scrollers
  16225. and the new drawing area code path.
  16226. * platform/mac/ScrollbarThemeMac.mm:
  16227. (WebCore::updateArrowPlacement):
  16228. 2011-01-20 Levi Weintraub <leviw@chromium.org>
  16229. Unreviewed.
  16230. Fixing build breakage.
  16231. * editing/SelectionController.cpp:
  16232. (WebCore::SelectionController::willBeModified):
  16233. 2011-01-20 Levi Weintraub <leviw@chromium.org>
  16234. Reviewed by Ryosuke Niwa.
  16235. RTL: Caret goes to the opposite direction when pressing an arrow key after selection is made
  16236. https://bugs.webkit.org/show_bug.cgi?id=49511
  16237. Test: editing/selection/rtl-move-selection-right-left.html
  16238. * editing/SelectionController.cpp:
  16239. (WebCore::SelectionController::willBeModified):
  16240. Respecting the direction of the containing block when switching selection base and extent in
  16241. RTL content.
  16242. (WebCore::SelectionController::modifyMovingRight):
  16243. (WebCore::SelectionController::modifyMovingLeft):
  16244. Using directionOfEnclosingBlock when deciding to use the selection start or end to do the
  16245. correct thing for RTL.
  16246. 2011-01-20 Nate Chapin <japhet@chromium.org>
  16247. Reviewed by Adam Barth.
  16248. Null-check m_frame in DOMWindow::setLocation(), since it's
  16249. possible to reach this point without it having been checked
  16250. already.
  16251. https://bugs.webkit.org/show_bug.cgi?id=52769
  16252. Test: fast/dom/Window/Location/set-location-after-close.html
  16253. * page/DOMWindow.cpp:
  16254. (WebCore::DOMWindow::setLocation):
  16255. 2011-01-20 Chang Shu <chang.shu@nokia.com>
  16256. Reviewed by Darin Adler.
  16257. setContentEditable with invalid string should throw exception.
  16258. https://bugs.webkit.org/show_bug.cgi?id=52057
  16259. Implemented exception throwing for setContentEditable according to the following spec:
  16260. http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#attr-contenteditable
  16261. Related quotas: "On setting, if the new value is an ASCII case-insensitive match for the
  16262. string 'inherit' then the content attribute must be removed, if the new value is an ASCII
  16263. case-insensitive match for the string 'true' then the content attribute must be set to the
  16264. string 'true', if the new value is an ASCII case-insensitive match for the string 'false'
  16265. then the content attribute must be set to the string 'false', and otherwise the attribute
  16266. setter must raise a SYNTAX_ERR exception."
  16267. * html/HTMLElement.cpp:
  16268. (WebCore::HTMLElement::setContentEditable): Throw exception on invalid input strings; Make setting values case-insensitive and also convert them to lower cases according to the spec.
  16269. * html/HTMLElement.h: Add additional parameter ExceptionCode& for function setContentEditable.
  16270. * html/HTMLElement.idl: Add exception throwing support for contentEditable setter.
  16271. 2011-01-19 Adrienne Walker <enne@google.com>
  16272. Reviewed by James Robinson.
  16273. [chromium] Composited render surfaces should allow writes to alpha channel.
  16274. https://bugs.webkit.org/show_bug.cgi?id=52766
  16275. Test: LayoutTests/platform/chromium/compositing
  16276. * platform/graphics/chromium/LayerRendererChromium.cpp:
  16277. (WebCore::LayerRendererChromium::drawLayers):
  16278. 2011-01-14 Jer Noble <jer.noble@apple.com>
  16279. Reviewed by Eric Carlson.
  16280. REGRESSION (r71842): Compass video is not playing in Safari welcome page
  16281. https://bugs.webkit.org/show_bug.cgi?id=52506
  16282. New test: LayoutTests/media/video-currentTime-delay.html
  16283. Call invalidateCachedTime() every time one of the cached property dependencies changes,
  16284. i.e. m_paused and m_playbackRate.
  16285. * html/HTMLMediaElement.cpp:
  16286. (WebCore::HTMLMediaElement::prepareForLoad):
  16287. (WebCore::HTMLMediaElement::setReadyState):
  16288. (WebCore::HTMLMediaElement::setPlaybackRate):
  16289. (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
  16290. 2011-01-20 Beth Dakin <bdakin@apple.com>
  16291. Reviewed by Geoffrey Garen.
  16292. Fix for <rdar://problem/8890255>
  16293. Allow WebKitSystemInterface to draw scrollbars
  16294. when appropriate.
  16295. * WebCore.exp.in:
  16296. * platform/mac/ScrollbarThemeMac.mm:
  16297. (WebCore::scrollbarMap):
  16298. (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
  16299. (WebCore::ScrollbarThemeMac::registerScrollbar):
  16300. (WebCore::ScrollbarThemeMac::unregisterScrollbar):
  16301. (WebCore::ScrollbarThemeMac::paint):
  16302. * platform/mac/WebCoreSystemInterface.h:
  16303. * platform/mac/WebCoreSystemInterface.mm:
  16304. 2011-01-20 Sam Weinig <sam@webkit.org>
  16305. Reviewed by Dave Hyatt.
  16306. Cleanup Scrollbar/ScrollbarClient relationship
  16307. https://bugs.webkit.org/show_bug.cgi?id=52779
  16308. Pipe all scrolling through the ScrollbarClient/ScrollAnimator
  16309. rather than through the Scrollbar. The Scrollbar now is just
  16310. a "view" on the scroll position of the scrollable area it is
  16311. attached to.
  16312. There are now two ways to scroll a scrollable area:
  16313. - ScrollbarClient::scroll()
  16314. - ScrollbarClient::scrollToOffsetWithoutAnimation()
  16315. Both of these go through the ScrollAnimator (updating its state
  16316. or starting an animation). The ScrollAnimator, in turn, now calls
  16317. ScrollbarClient::setScrollOffsetFromAnimation, which tells the
  16318. Scrollbars to pull a new offset (via Scrollbar::offsetDidChange)
  16319. and tells the class that derives from ScrollbarClient to scroll
  16320. its contents (via ScrollbarClient::setScrollOffset).
  16321. * WebCore.xcodeproj/project.pbxproj:
  16322. Move Scrollbar.cpp to the right place.
  16323. * accessibility/AccessibilityScrollbar.cpp:
  16324. (WebCore::AccessibilityScrollbar::setValue):
  16325. Initiate the scroll through the scrollbar client, rather than the
  16326. scrollbar itself.
  16327. * page/FrameView.cpp:
  16328. (WebCore::FrameView::scrollTo):
  16329. * page/FrameView.h:
  16330. Condense the two valueChanged overrides to a single override of the
  16331. scrollTo function.
  16332. * platform/ScrollAnimator.cpp:
  16333. (WebCore::ScrollAnimator::scroll):
  16334. (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
  16335. (WebCore::ScrollAnimator::currentPosition):
  16336. (WebCore::ScrollAnimator::notityPositionChanged):
  16337. * platform/ScrollAnimator.h:
  16338. * platform/ScrollAnimatorWin.cpp:
  16339. (WebCore::ScrollAnimatorWin::scrollToOffsetWithoutAnimation):
  16340. (WebCore::ScrollAnimatorWin::animateScroll):
  16341. * platform/ScrollAnimatorWin.h:
  16342. * platform/mac/ScrollAnimatorMac.h:
  16343. * platform/mac/ScrollAnimatorMac.mm:
  16344. (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
  16345. (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
  16346. Change setScrollPositionAndStopAnimation to scrollToOffsetWithoutAnimation
  16347. and bottleneck all client notification of changed position through a new
  16348. notityPositionChanged() function.
  16349. * platform/ScrollView.cpp:
  16350. (WebCore::ScrollView::setScrollOffset):
  16351. (WebCore::ScrollView::scrollTo):
  16352. (WebCore::ScrollView::scrollPosition):
  16353. (WebCore::ScrollView::scroll):
  16354. (WebCore::ScrollView::updateScrollbars):
  16355. (WebCore::ScrollView::wheelEvent):
  16356. * platform/ScrollView.h:
  16357. (WebCore::ScrollView::horizontalScrollbar):
  16358. (WebCore::ScrollView::verticalScrollbar):
  16359. Update to scroll via the ScrollbarClient rather than the Scrollbar.
  16360. * platform/Scrollbar.cpp:
  16361. (WebCore::Scrollbar::offsetDidChange):
  16362. (WebCore::Scrollbar::autoscrollPressedPart):
  16363. (WebCore::Scrollbar::moveThumb):
  16364. (WebCore::Scrollbar::mouseMoved):
  16365. * platform/Scrollbar.h:
  16366. (WebCore::Scrollbar::setPressedPos):
  16367. Change the scrollbar to only updates its offset in response to
  16368. an offsetDidChange call.
  16369. * platform/ScrollbarClient.cpp:
  16370. (WebCore::ScrollbarClient::scroll):
  16371. (WebCore::ScrollbarClient::scrollToOffsetWithoutAnimation):
  16372. (WebCore::ScrollbarClient::scrollToXOffsetWithoutAnimation):
  16373. (WebCore::ScrollbarClient::scrollToYOffsetWithoutAnimation):
  16374. (WebCore::ScrollbarClient::setScrollOffsetFromAnimation):
  16375. * platform/ScrollbarClient.h:
  16376. (WebCore::ScrollbarClient::horizontalScrollbar):
  16377. (WebCore::ScrollbarClient::verticalScrollbar):
  16378. Make the increasingly misnamed ScrollbarClient responsible for
  16379. scrolling.
  16380. * platform/efl/ScrollbarEfl.cpp:
  16381. (scrollbarEflEdjeMessage):
  16382. * platform/gtk/MainFrameScrollbarGtk.cpp:
  16383. (MainFrameScrollbarGtk::gtkValueChanged):
  16384. * platform/qt/ScrollbarQt.cpp:
  16385. (WebCore::Scrollbar::contextMenu):
  16386. Update to move scrolling through the client.
  16387. * platform/win/PopupMenuWin.cpp:
  16388. (WebCore::PopupMenuWin::scrollToRevealSelection):
  16389. (WebCore::PopupMenuWin::scrollPosition):
  16390. (WebCore::PopupMenuWin::setScrollOffset):
  16391. (WebCore::PopupMenuWin::scrollTo):
  16392. (WebCore::PopupMenuWin::wndProc):
  16393. * platform/win/PopupMenuWin.h:
  16394. (WebCore::PopupMenuWin::verticalScrollbar):
  16395. * rendering/RenderLayer.cpp:
  16396. (WebCore::RenderLayer::scrollToOffset):
  16397. (WebCore::RenderLayer::scrollTo):
  16398. (WebCore::RenderLayer::setScrollOffset):
  16399. (WebCore::RenderLayer::scrollPosition):
  16400. (WebCore::RenderLayer::updateScrollInfoAfterLayout):
  16401. (WebCore::RenderLayer::scroll):
  16402. * rendering/RenderLayer.h:
  16403. * rendering/RenderListBox.cpp:
  16404. (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
  16405. (WebCore::RenderListBox::scroll):
  16406. (WebCore::RenderListBox::logicalScroll):
  16407. (WebCore::RenderListBox::scrollPosition):
  16408. (WebCore::RenderListBox::setScrollOffset):
  16409. (WebCore::RenderListBox::scrollTo):
  16410. (WebCore::RenderListBox::setScrollTop):
  16411. * rendering/RenderListBox.h:
  16412. (WebCore::RenderListBox::verticalScrollbar):
  16413. Update to scroll via the ScrollbarClient rather than the Scrollbar.
  16414. * rendering/RenderMarquee.cpp:
  16415. (WebCore::RenderMarquee::start):
  16416. Simplify initial paint to just do an immediate scroll to the position.
  16417. 2011-01-20 Patrick Gansterer <paroga@webkit.org>
  16418. Unreviewed WinCE build fix for r76170.
  16419. * platform/graphics/wince/FontWinCE.cpp: Added a missing include.
  16420. * platform/graphics/wince/ImageBufferData.h: Added a missing include and fixed style.
  16421. 2011-01-20 James Robinson <jamesr@chromium.org>
  16422. Reviewed by Darin Fisher.
  16423. Implement mozilla's requestAnimationFrame API
  16424. https://bugs.webkit.org/show_bug.cgi?id=51218
  16425. This implements mozilla's proposed requestAnimationFrame API. The idea with this API is that
  16426. an author driving an animation from script could use window.requestAnimationFrame(callback)
  16427. instead of window.setTimeout(callback, 0) to schedule their update logic and let the browser
  16428. decide when to update the animations. This avoids doing unnecessary work when the page content
  16429. is offscreen or is being displayed at a different framerate than what the page author expects.
  16430. Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame
  16431. This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the
  16432. following changes:
  16433. *) Only the callback syntax is supported, there is no before paint event
  16434. *) webkitRequestAnimationFrame supports a second parameter Element to let the author indicate
  16435. what content they intend to animate. That way if the page is being displayed but the element
  16436. in question is offscreen, we can avoid invoking the callback.
  16437. *) No timestamp is provided to the caller and there is no window.animationStartTime property
  16438. (see https://bugs.webkit.org/show_bug.cgi?id=51952 for discussion of this property)
  16439. *) window.webkitRequestAnimationFrame returns a numerical id that can be used to cancel the callback
  16440. using window.cancelWebkitRequestAnimationFrame, to parallel window.setTimeout()/window.clearTime().
  16441. The implementation depends on the embedder scheduling the callbacks since the callback invocation
  16442. depends on the page's visibility and the embedder's paint scheduling, neither of which are exposed
  16443. to WebCore. The expectation for the embedder is that at some point Chrome::scheduleAnimation() is
  16444. called FrameView::serviceScriptedAnimations() should be called for the associated Page's main frame.
  16445. Ideally serviceScriptedAnimations() would be called prior to rendering - although in practice the
  16446. embedder has to rate limit callbacks and may not be able to tie the callback directly to the
  16447. rendering loop.
  16448. Tests: fast/animation/request-animation-frame-cancel.html
  16449. fast/animation/request-animation-frame-cancel2.html
  16450. fast/animation/request-animation-frame-display.html
  16451. fast/animation/request-animation-frame-within-callback.html
  16452. fast/animation/request-animation-frame.html
  16453. * WebCore.gypi:
  16454. * dom/Document.cpp:
  16455. (WebCore::Document::Document):
  16456. (WebCore::Document::webkitRequestAnimationFrame):
  16457. (WebCore::Document::webkitCancelRequestAnimationFrame):
  16458. (WebCore::Document::serviceScriptedAnimations):
  16459. * dom/Document.h:
  16460. * dom/RequestAnimationFrameCallback.h: Added.
  16461. (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback):
  16462. * dom/RequestAnimationFrameCallback.idl: Added.
  16463. * loader/EmptyClients.h:
  16464. (WebCore::EmptyChromeClient::scheduleAnimation):
  16465. * page/Chrome.cpp:
  16466. (WebCore::Chrome::scheduleAnimation):
  16467. * page/Chrome.h:
  16468. * page/ChromeClient.h:
  16469. * page/DOMWindow.cpp:
  16470. (WebCore::DOMWindow::webkitRequestAnimationFrame):
  16471. (WebCore::DOMWindow::webkitCancelRequestAnimationFrame):
  16472. * page/DOMWindow.h:
  16473. * page/DOMWindow.idl:
  16474. * page/FrameView.cpp:
  16475. (WebCore::FrameView::scheduleAnimation):
  16476. (WebCore::FrameView::serviceScriptedAnimations):
  16477. * page/FrameView.h:
  16478. * platform/HostWindow.h:
  16479. 2011-01-20 James Robinson <jamesr@chromium.org>
  16480. Reviewed by Nate Chapin.
  16481. [v8] CodeGeneratorV8 generates incorrect code for callbacks with no parameters
  16482. https://bugs.webkit.org/show_bug.cgi?id=52837
  16483. When generating code to invoke a callback with no parameters CodeGeneratorV8.pm was generating the following:
  16484. v8::Handle<v8::Value> argv[] = {}; which does not compile in visual studio. Instead, if the argument count
  16485. is 0, we can just pass a NULL pointer for the argv parameter.
  16486. Test added to bindings/scripts/test/TestCallback.idl and covered by run-bindings-tests. This
  16487. patch also includes some spurious changes to the bindings tests golden files (mostly GObject)
  16488. because the old golden files were out of date.
  16489. * bindings/scripts/CodeGeneratorV8.pm:
  16490. * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
  16491. (WebDOMTestCallback::callbackWithNoParam):
  16492. * bindings/scripts/test/CPP/WebDOMTestCallback.h:
  16493. * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
  16494. (webkit_dom_test_callback_callback_with_no_param):
  16495. * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
  16496. * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
  16497. * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
  16498. * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
  16499. * bindings/scripts/test/JS/JSTestCallback.cpp:
  16500. (WebCore::JSTestCallback::callbackWithNoParam):
  16501. * bindings/scripts/test/JS/JSTestCallback.h:
  16502. * bindings/scripts/test/JS/JSTestInterface.cpp:
  16503. * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  16504. * bindings/scripts/test/JS/JSTestObj.cpp:
  16505. * bindings/scripts/test/ObjC/DOMTestCallback.h:
  16506. * bindings/scripts/test/ObjC/DOMTestCallback.mm:
  16507. (-[DOMTestCallback callbackWithNoParam]):
  16508. * bindings/scripts/test/TestCallback.idl:
  16509. * bindings/scripts/test/V8/V8TestCallback.cpp:
  16510. (WebCore::V8TestCallback::callbackWithNoParam):
  16511. * bindings/scripts/test/V8/V8TestCallback.h:
  16512. * bindings/scripts/test/V8/V8TestObj.cpp:
  16513. (WebCore::TestObjInternal::reflectedUnsignedIntegralAttrAttrGetter):
  16514. 2011-01-20 James Robinson <jamesr@chromium.org>
  16515. Reviewed by Eric "Baller" Seidel.
  16516. RenderTableSection's setNeedsCellRecalc needs to null check table()
  16517. https://bugs.webkit.org/show_bug.cgi?id=52770
  16518. Null checks table() before deferencing it in RenderTableSection::setNeedsCellRecalc.
  16519. This can be null during detach(). Test constructed by Eric Seidel.
  16520. Test: fast/css-generated-content/table-with-scrollbar-corner.html
  16521. * rendering/RenderTableSection.cpp:
  16522. (WebCore::RenderTableSection::setNeedsCellRecalc):
  16523. * rendering/RenderTableSection.h:
  16524. 2011-01-20 Dirk Schulze <krit@webkit.org>
  16525. Reviewed by Rob Buis.
  16526. SVG Pattern doesn't take preserveAspectRatio of references Pattern
  16527. https://bugs.webkit.org/show_bug.cgi?id=52802
  16528. SVGPattern didn't take preserveAspectRatio of a referenced SVGPattern into account. Store preserveAspectRatio
  16529. in PatternAttributes as well, if the attribute was set on the referenced SVGPattern element.
  16530. Test: svg/custom/pattern-referencing-preserve-aspect-ratio.svg
  16531. * rendering/svg/RenderSVGResourcePattern.cpp:
  16532. (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
  16533. * svg/PatternAttributes.h:
  16534. (WebCore::PatternAttributes::PatternAttributes):
  16535. (WebCore::PatternAttributes::preserveAspectRatio):
  16536. (WebCore::PatternAttributes::setPreserveAspectRatio):
  16537. (WebCore::PatternAttributes::hasPreserveAspectRatio):
  16538. * svg/SVGPatternElement.cpp:
  16539. (WebCore::SVGPatternElement::collectPatternAttributes):
  16540. 2011-01-20 Dan Bernstein <mitz@apple.com>
  16541. Reviewed by Adele Peterson.
  16542. <rdar://problem/8765498> REGRESSION (r72141): Cannot order prints with Aperture 3.1
  16543. <rdar://problem/8884648> REGRESSION (r72141): Safari hangs when visiting a page on www.bfmtv.com
  16544. https://bugs.webkit.org/show_bug.cgi?id=52765
  16545. <rdar://problem/8890909> REGRESSION (r72141): Very Slow Rendering With Certain Markup
  16546. https://bugs.webkit.org/show_bug.cgi?id=52265
  16547. Test: fast/block/line-layout/negative-max-height.html
  16548. Integer overflow detection led to a block having a huge height. This manifested as broken layout
  16549. in the first bug and as extreme slowness in the latter bugs because of
  16550. https://bugs.webkit.org/show_bug.cgi?id=52832
  16551. * rendering/RootInlineBox.cpp:
  16552. (WebCore::RootInlineBox::alignBoxesInBlockDirection): Clamp maxHeight to 0 so the next line
  16553. cannot start above this line. The negative maxHeight also caused the integer overflow detection
  16554. logic to give the block a huge height.
  16555. 2011-01-20 Yi Shen <yi.4.shen@nokia.com>
  16556. Reviewed by Eric Carlson.
  16557. Clean up the Media Controls CSS for Qt
  16558. https://bugs.webkit.org/show_bug.cgi?id=52822
  16559. Split the audio::-webkit-media-xxx and video::-webkit-media-xxx rules
  16560. in mediaControlsQt.css, and remove the duplicate audio::-webkit-media-xxx
  16561. rules from mediaControlsQtFullscreen.css.
  16562. * css/mediaControlsQt.css:
  16563. (audio::-webkit-media-controls-panel):
  16564. (video::-webkit-media-controls-panel):
  16565. (audio::-webkit-media-controls-mute-button):
  16566. (video::-webkit-media-controls-mute-button):
  16567. (audio::-webkit-media-controls-play-button):
  16568. (video::-webkit-media-controls-play-button):
  16569. (audio::-webkit-media-controls-timeline-container):
  16570. (video::-webkit-media-controls-timeline-container):
  16571. (audio::-webkit-media-controls-current-time-display):
  16572. (video::-webkit-media-controls-current-time-display):
  16573. (audio::-webkit-media-controls-time-remaining-display):
  16574. (video::-webkit-media-controls-time-remaining-display):
  16575. (audio::-webkit-media-controls-timeline):
  16576. (video::-webkit-media-controls-timeline):
  16577. (audio::-webkit-media-controls-volume-slider-container):
  16578. (video::-webkit-media-controls-volume-slider-container):
  16579. (audio::-webkit-media-controls-volume-slider):
  16580. (video::-webkit-media-controls-volume-slider):
  16581. (audio::-webkit-media-controls-seek-back-button):
  16582. (video::-webkit-media-controls-seek-back-button):
  16583. (audio::-webkit-media-controls-seek-forward-button):
  16584. (video::-webkit-media-controls-seek-forward-button):
  16585. (audio::-webkit-media-controls-fullscreen-button):
  16586. (video::-webkit-media-controls-fullscreen-button):
  16587. (audio::-webkit-media-controls-rewind-button):
  16588. (video::-webkit-media-controls-rewind-button):
  16589. (audio::-webkit-media-controls-return-to-realtime-button):
  16590. (video::-webkit-media-controls-return-to-realtime-button):
  16591. (audio::-webkit-media-controls-toggle-closed-captions-button):
  16592. (video::-webkit-media-controls-toggle-closed-captions-button):
  16593. * css/mediaControlsQtFullscreen.css:
  16594. (video::-webkit-media-controls-time-remaining-display):
  16595. (video::-webkit-media-controls-seek-back-button):
  16596. (video::-webkit-media-controls-seek-forward-button):
  16597. (video::-webkit-media-controls-rewind-button):
  16598. (video::-webkit-media-controls-return-to-realtime-button):
  16599. (video::-webkit-media-controls-toggle-closed-captions-button):
  16600. 2011-01-20 Alexander Pavlov <apavlov@chromium.org>
  16601. Reviewed by Pavel Feldman.
  16602. Web Inspector: [REGRESSION] Canceling of CSS numeric values increment/decrement is broken
  16603. https://bugs.webkit.org/show_bug.cgi?id=52816
  16604. * inspector/front-end/StylesSidebarPane.js:
  16605. (WebInspector.StylePropertyTreeElement.prototype):
  16606. 2011-01-20 Dawit Alemayehu <adawit@kde.org>
  16607. Reviewed by Andreas Kling.
  16608. [Qt] Fix Layering violation in MediaPlayerPrivateQt.
  16609. https://bugs.webkit.org/show_bug.cgi?id=52733
  16610. No new tests. no behavioral change.
  16611. * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
  16612. (WebCore::MediaPlayerPrivateQt::commitLoad):
  16613. 2011-01-20 Nate Chapin <japhet@chromium.org>
  16614. Reviewed by Darin Fisher.
  16615. [V8] Call malloc and memcpy directly instead of
  16616. of strdup in convertV8ObjectToNPVariant() when
  16617. converting strings. If there is a null character
  16618. in the string, our use of strdup causes us to allocate
  16619. too little memory, leading to out of bounds reads.
  16620. https://bugs.webkit.org/show_bug.cgi?id=52631
  16621. * bindings/v8/V8NPUtils.cpp:
  16622. (WebCore::convertV8ObjectToNPVariant):
  16623. 2011-01-20 Andreas Kling <kling@webkit.org>
  16624. Reviewed by Ariya Hidayat.
  16625. [Qt] Fill shadow scratch buffer with proper transparent pixels
  16626. QImage::fill() has no Qt::GlobalColor overload in Qt 4.7 (coming in 4.8)
  16627. so doing QImage::fill(Qt::transparent) will actually fill all pixels with
  16628. the RGBA value 0x00000013.
  16629. * platform/graphics/qt/ContextShadowQt.cpp:
  16630. (WebCore::ShadowBuffer::scratchImage):
  16631. 2011-01-19 Adam Roben <aroben@apple.com>
  16632. Remove WKCACFContextFlusher
  16633. It wasn't doing anything.
  16634. Fixes <http://webkit.org/b/52752> WKCACFContextFlusher is unused
  16635. Reviewed by Simon Fraser.
  16636. * WebCore.vcproj/WebCore.vcproj: Removed WKCACFContextFlusher. Also let VS have its way with
  16637. the file.
  16638. * platform/graphics/win/WKCACFContextFlusher.cpp: Removed.
  16639. * platform/graphics/win/WKCACFContextFlusher.h: Removed.
  16640. * platform/graphics/win/WKCACFLayerRenderer.cpp:
  16641. (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer):
  16642. (WebCore::WKCACFLayerRenderer::layerTreeDidChange):
  16643. Stop telling WKCACFContextFlusher about our context, since it never did anything with it.
  16644. 2011-01-19 Adam Roben <aroben@apple.com>
  16645. Only flush our own context when we get resized
  16646. Fixes <http://webkit.org/b/52751> All WKCACFContexts with uncommitted
  16647. changes get flushed whenever any composited page is resized
  16648. Reviewed by Simon Fraser.
  16649. * platform/graphics/win/WKCACFLayerRenderer.cpp:
  16650. (WebCore::WKCACFLayerRenderer::resize): Just flush our own context, not all contexts
  16651. WKCACFContextFlusher knows about. After all, ours is the only one that just got resized!
  16652. 2011-01-19 Adam Roben <aroben@apple.com>
  16653. Make WKCACFLayerRenderer ref-counted
  16654. This will be needed to handle cases where the client might release its reference to us while
  16655. we're calling out to it.
  16656. WKCACFLayerRenderer now has a setClient function, which is used rather than passing the
  16657. client to create(). This allows clients to null out the client pointer when they're done
  16658. with the renderer.
  16659. Fixes <http://webkit.org/b/52749> WKCACFLayerRenderer should be
  16660. ref-counted
  16661. Reviewed by Simon Fraser.
  16662. * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
  16663. (WebCore::MediaPlayerPrivateFullscreenWindow::MediaPlayerPrivateFullscreenWindow):
  16664. * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
  16665. Updated for WKCACFLayerRenderer changes.
  16666. * platform/graphics/win/WKCACFLayerRenderer.cpp:
  16667. (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable): Updated for changes to
  16668. create().
  16669. (WebCore::WKCACFLayerRenderer::create): No longer takes a WKCACFLayerRendererClient. Now
  16670. returns a PassOwnPtr.
  16671. (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): No longer takes a
  16672. WKCACFLayerRendererClient.
  16673. * platform/graphics/win/WKCACFLayerRenderer.h: Made WKCACFLayerRenderer inherit from
  16674. RefCounted.
  16675. (WebCore::WKCACFLayerRenderer::setClient): Added this simple setter.
  16676. 2011-01-20 Csaba Osztrogonác <ossy@webkit.org>
  16677. [Qt][V8] Unreviewed buildfix after r76248.
  16678. * bindings/v8/ScriptCachedFrameData.h: Add missing include.
  16679. 2011-01-20 Pavel Feldman <pfeldman@chromium.org>
  16680. Reviewed by Yury Semikhatsky.
  16681. Web Inspector: enable resource agent upon request.
  16682. https://bugs.webkit.org/show_bug.cgi?id=52815
  16683. We should not send network-related notifications unless front-end
  16684. is interested.
  16685. * inspector/Inspector.idl:
  16686. * inspector/InspectorController.cpp:
  16687. (WebCore::InspectorController::restoreInspectorStateFromCookie):
  16688. (WebCore::InspectorController::connectFrontend):
  16689. (WebCore::InspectorController::resourceAgent):
  16690. * inspector/InspectorController.h:
  16691. (WebCore::InspectorController::consoleAgent):
  16692. (WebCore::InspectorController::cssAgent):
  16693. (WebCore::InspectorController::domAgent):
  16694. (WebCore::InspectorController::injectedScriptAgent):
  16695. (WebCore::InspectorController::runtimeAgent):
  16696. (WebCore::InspectorController::databaseAgent):
  16697. (WebCore::InspectorController::domStorageAgent):
  16698. (WebCore::InspectorController::fileSystemAgent):
  16699. * inspector/InspectorInstrumentation.cpp:
  16700. (WebCore::InspectorInstrumentation::retrieveResourceAgent):
  16701. * inspector/InspectorResourceAgent.cpp:
  16702. (WebCore::InspectorResourceAgent::restore):
  16703. (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
  16704. (WebCore::InspectorResourceAgent::InspectorResourceAgent):
  16705. * inspector/InspectorResourceAgent.h:
  16706. (WebCore::InspectorResourceAgent::create):
  16707. * inspector/InspectorState.cpp:
  16708. (WebCore::InspectorState::InspectorState):
  16709. * inspector/InspectorState.h:
  16710. 2011-01-20 Zoltan Horvath <zoltan@webkit.org>
  16711. Reviewed by Csaba Osztrogonác.
  16712. Refactoring of the custom allocation framework
  16713. https://bugs.webkit.org/show_bug.cgi?id=49897
  16714. Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
  16715. The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
  16716. equivalent macro implementation at the necessary places.
  16717. 2011-01-20 Mikhail Naganov <mnaganov@chromium.org>
  16718. Reviewed by Pavel Feldman.
  16719. Web Inspector: [Chromium] CPU Profiles are cleared when navigating back and forth.
  16720. Profiles are now not cleared unless renderer instance was changed.
  16721. https://bugs.webkit.org/show_bug.cgi?id=52807
  16722. * inspector/InspectorController.cpp:
  16723. (WebCore::InspectorController::restoreProfiler):
  16724. * inspector/InspectorProfilerAgent.cpp:
  16725. (WebCore::InspectorProfilerAgent::resetState):
  16726. (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
  16727. * inspector/InspectorProfilerAgent.h:
  16728. 2011-01-20 Alexander Pavlov <apavlov@chromium.org>
  16729. Unreviewed, add new JS file refs missing from r76116.
  16730. * WebCore.gypi:
  16731. * WebCore.vcproj/WebCore.vcproj:
  16732. * inspector/front-end/WebKit.qrc:
  16733. 2011-01-20 Alexander Pavlov <apavlov@chromium.org>
  16734. Reviewed by Pavel Feldman.
  16735. Web Inspector: Crash when adding a rule for an ImageDocument
  16736. https://bugs.webkit.org/show_bug.cgi?id=52811
  16737. * inspector/InspectorCSSAgent.cpp:
  16738. (WebCore::InspectorCSSAgent::addRule2):
  16739. (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
  16740. 2011-01-20 Ilya Tikhonovsky <loislo@chromium.org>
  16741. Reviewed by Pavel Feldman.
  16742. Web Inspector: cleanup InspectorController's friends list.
  16743. We have a plan to extract InspectorAgent from InspectorController.
  16744. InspectorAgent will be accessible only from InspectorController.
  16745. As result we can simply made some methods public and remove long
  16746. friends list.
  16747. https://bugs.webkit.org/show_bug.cgi?id=52806
  16748. * inspector/InjectedScriptHost.cpp:
  16749. (WebCore::InjectedScriptHost::databaseForId):
  16750. (WebCore::InjectedScriptHost::selectDatabase):
  16751. (WebCore::InjectedScriptHost::selectDOMStorage):
  16752. (WebCore::InjectedScriptHost::inspectorDOMAgent):
  16753. (WebCore::InjectedScriptHost::frontend):
  16754. * inspector/InspectorBrowserDebuggerAgent.cpp:
  16755. (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
  16756. (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
  16757. (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
  16758. (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
  16759. (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
  16760. (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
  16761. (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
  16762. (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
  16763. * inspector/InspectorController.h:
  16764. (WebCore::InspectorController::frontend):
  16765. * inspector/InspectorInstrumentation.cpp:
  16766. (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
  16767. (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
  16768. (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
  16769. (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
  16770. (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
  16771. (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
  16772. (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
  16773. (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
  16774. (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
  16775. (WebCore::InspectorInstrumentation::didFailLoadingImpl):
  16776. (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
  16777. (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
  16778. (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
  16779. (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
  16780. (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
  16781. (WebCore::InspectorInstrumentation::retrieveResourceAgent):
  16782. 2011-01-19 Pavel Podivilov <podivilov@chromium.org>
  16783. Reviewed by Yury Semikhatsky.
  16784. Web Inspector: implement JavaScriptBreakpointsSidebarPane based on events from debugger model.
  16785. https://bugs.webkit.org/show_bug.cgi?id=52723
  16786. Extract all breakpoints-related presentation code from debugger model to JavaScriptBreakpointSidebarPane.
  16787. * inspector/front-end/Breakpoint.js:
  16788. (WebInspector.Breakpoint):
  16789. (WebInspector.Breakpoint.prototype.get data):
  16790. (WebInspector.Breakpoint.prototype.remove):
  16791. * inspector/front-end/BreakpointsSidebarPane.js:
  16792. (WebInspector.JavaScriptBreakpointsSidebarPane):
  16793. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointAdded):
  16794. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointRemoved):
  16795. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointEnableChanged):
  16796. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointItemCheckboxClicked):
  16797. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenuEventFired):
  16798. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerPaused):
  16799. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerResumed):
  16800. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._addListElement):
  16801. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._removeListElement):
  16802. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._projectChanged):
  16803. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compare):
  16804. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compareBreakpoints):
  16805. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement.didGetSourceLine):
  16806. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
  16807. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointIdForDebuggerPausedEvent):
  16808. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setBreakpointEnabled):
  16809. (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._removeBreakpoint):
  16810. (WebInspector.NativeBreakpointsSidebarPane):
  16811. (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem):
  16812. * inspector/front-end/DebuggerModel.js:
  16813. (WebInspector.DebuggerModel.prototype.removeBreakpoint):
  16814. (WebInspector.DebuggerModel.prototype.breakpointForId):
  16815. (WebInspector.DebuggerModel.prototype._pausedScript):
  16816. (WebInspector.DebuggerModel.prototype._resumedScript):
  16817. * inspector/front-end/ScriptsPanel.js:
  16818. (WebInspector.ScriptsPanel):
  16819. * inspector/front-end/inspector.js:
  16820. 2011-01-20 Dirk Schulze <krit@webkit.org>
  16821. Reviewed by Andreas Kling.
  16822. SVG Pattern doesn't take the viewBox of a referenced Pattern
  16823. https://bugs.webkit.org/show_bug.cgi?id=52804
  16824. SVGPattern element didn't use the viewBox of another SVGPattern element, referenced
  16825. by xlink:href. Modified PatternAttributes, to take the value of the viewBox of the
  16826. SVGPattern element as well, if the attribute was set.
  16827. This gets checked by a W3C SVG test case.
  16828. Test: svg/W3C-SVG-1.1-SE/pservers-pattern-04-f.svg
  16829. * rendering/svg/RenderSVGResourcePattern.cpp:
  16830. (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
  16831. * svg/PatternAttributes.h:
  16832. (WebCore::PatternAttributes::PatternAttributes):
  16833. (WebCore::PatternAttributes::viewBox):
  16834. (WebCore::PatternAttributes::setViewBox):
  16835. (WebCore::PatternAttributes::hasViewBox):
  16836. * svg/SVGPatternElement.cpp:
  16837. (WebCore::SVGPatternElement::collectPatternAttributes):
  16838. 2011-01-19 Stephen White <senorblanco@chromium.org>
  16839. [Re-land of r76159 with a compile fix for the Chromium linux shlib
  16840. build.]
  16841. Reviewed by James Robinson.
  16842. Implement accelerated path drawing and clipping for the Canvas2D GPU
  16843. path.
  16844. https://bugs.webkit.org/show_bug.cgi?id=52627
  16845. This is done with a simple curve interpolator and the GLU tesselator,
  16846. which is good enough for a 3-5X speedup on
  16847. http://ie.microsoft.com/testdrive/Performance/Galactic/Default.html.
  16848. Covered by canvas/philip/2d.path.clip.basic.html, and many, many more.
  16849. All tests canvas/philip and fast/canvas paths pass with no
  16850. regressions, although two have minor pixel differences which require
  16851. rebaselining.
  16852. * WebCore.gyp/WebCore.gyp:
  16853. Add internal_glu include path to chromium build.
  16854. * WebCore.gypi:
  16855. Add internal_glu files to chromium build.
  16856. * html/canvas/CanvasRenderingContext2D.cpp:
  16857. (WebCore::CanvasRenderingContext2D::reset):
  16858. (WebCore::CanvasRenderingContext2D::platformLayer):
  16859. Make CanvasRenderingContext2D more robust against failure to create
  16860. a DrawingBuffer.
  16861. * platform/graphics/chromium/DrawingBufferChromium.cpp:
  16862. (WebCore::DrawingBuffer::DrawingBuffer):
  16863. As in DrawingBufferMac.cpp, call reset() from the constructor.
  16864. Also initialize size to (-1, -1), so reset() doesn't early-out.
  16865. Add initializers for depthBuffer and stencilBuffer, and remove
  16866. multisampleDepthStencilBuffer.
  16867. * platform/graphics/chromium/GLES2Canvas.cpp:
  16868. Remove some unused #includes.
  16869. (WebCore::GLES2Canvas::State::State):
  16870. Add clipping state, and implement save/restore via the copy constructor.
  16871. (WebCore::operator*):
  16872. (WebCore::Quadratic::Quadratic):
  16873. (WebCore::Quadratic::fromBezier):
  16874. (WebCore::Quadratic::evaluate):
  16875. Quadratic Bezier curve class.
  16876. (WebCore::Cubic::Cubic):
  16877. (WebCore::Cubic::fromBezier):
  16878. (WebCore::Cubic::evaluate):
  16879. Cubic Bezier curve class.
  16880. (WebCore::GLES2Canvas::clearRect):
  16881. Add clipping support to clearRect().
  16882. (WebCore::GLES2Canvas::fillPath):
  16883. Implement fillPath().
  16884. (WebCore::GLES2Canvas::fillRect):
  16885. Add clipping support to fillRect().
  16886. (WebCore::GLES2Canvas::clipPath):
  16887. Implement clipPath().
  16888. (WebCore::GLES2Canvas::clipOut):
  16889. Stub out clipOut() (not called by Canvas 2D).
  16890. (WebCore::GLES2Canvas::restore):
  16891. When restoring, draw any remaining clipping paths to the stencil buffer.
  16892. (WebCore::GLES2Canvas::drawTexturedRect):
  16893. Add clipping support.
  16894. (WebCore::interpolateQuadratic):
  16895. (WebCore::interpolateCubic):
  16896. Simple curve interpolation, using the Cubic and Quadratic classes.
  16897. (WebCore::PolygonData::PolygonData):
  16898. A struct to hold the tesselation data for callbacks.
  16899. (WebCore::beginData):
  16900. (WebCore::edgeFlagData):
  16901. (WebCore::vertexData):
  16902. (WebCore::endData):
  16903. (WebCore::combineData):
  16904. internal_glu tesselation callbacks.
  16905. (WebCore::GLES2Canvas::createVertexBufferFromPath):
  16906. Build an interpolated, tesselated vertex buffer and element array buffer from a given path, suitable for filling.
  16907. (WebCore::GLES2Canvas::beginStencilDraw):
  16908. Enable stencilling, and disable draws to the color buffer.
  16909. (WebCore::GLES2Canvas::applyClipping):
  16910. If clipping is enabled, set the appropriate GL state.
  16911. * platform/graphics/chromium/GLES2Canvas.h:
  16912. Document the flavours of drawTexturedRect() a bit, so I don't get confused.
  16913. * platform/graphics/gpu/DrawingBuffer.cpp:
  16914. (WebCore::DrawingBuffer::clear):
  16915. (WebCore::DrawingBuffer::createSecondaryBuffers):
  16916. (WebCore::DrawingBuffer::resizeDepthStencil):
  16917. (WebCore::DrawingBuffer::reset):
  16918. * platform/graphics/gpu/DrawingBuffer.h:
  16919. Unify m_multisampleDepthStencilBuffer with m_depthStencilBuffer.
  16920. Implement separate depth and stencil buffers for when
  16921. OES_packed_depth_stencil is not available. Refactor creation of
  16922. multisampled and non-multisampled depth and stencil buffers into
  16923. resizeDepthStencil().
  16924. * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
  16925. (WebCore::SharedGraphicsContext3D::create):
  16926. Turn on stencil, turn off depth, turn off antialiasing (for now).
  16927. (WebCore::SharedGraphicsContext3D::enableStencil):
  16928. * platform/graphics/gpu/SharedGraphicsContext3D.h:
  16929. Implement stencil enable/disable.
  16930. * platform/graphics/gpu/mac/DrawingBufferMac.mm:
  16931. (WebCore::DrawingBuffer::DrawingBuffer):
  16932. Remove m_multisampleDepthStencilBuffer. Set the size to (-1, -1)
  16933. on creation, so reset() doesn't early-out. Initialize m_depthBuffer
  16934. and m_stencilBuffer.
  16935. * platform/graphics/skia/GraphicsContextSkia.cpp:
  16936. (WebCore::GraphicsContext::canvasClip):
  16937. (WebCore::GraphicsContext::clipOut):
  16938. (WebCore::GraphicsContext::clipPath):
  16939. (WebCore::GraphicsContext::fillPath):
  16940. Put in GPU hooks for path clipping, and path drawing.
  16941. * platform/graphics/skia/PlatformContextSkia.cpp:
  16942. (WebCore::PlatformContextSkia::canAccelerate):
  16943. Don't check for clipping paths in canAccelerate() (since we can
  16944. now accelerate them).
  16945. (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
  16946. Don't do clipping when uploading software draws to hardware.
  16947. * thirdparty/glu/README.webkit:
  16948. * thirdparty/glu/gluos.h:
  16949. #undef MIN and MAX, to fix warnings-as-errors in Chrome/Mac build.
  16950. * thirdparty/glu/libtess/geom.c:
  16951. * thirdparty/glu/libtess/priorityq.c:
  16952. * thirdparty/glu/libtess/render.c:
  16953. Use do{}while(0) instead of if(1)else construct in macro.
  16954. * thirdparty/glu/libtess/sweep.c:
  16955. (IsWindingInside):
  16956. (DoneEdgeDict):
  16957. Fix some warnings treated as errors for the Linux Release build.
  16958. 2011-01-20 Pavel Feldman <pfeldman@chromium.org>
  16959. Web Inspector: move releaseObjectGroup to the new Runtime agent.
  16960. https://bugs.webkit.org/show_bug.cgi?id=52803
  16961. (accedentally landed as r76231)
  16962. * inspector/InspectorContorller.h:
  16963. * inspector/InspectorContorller.cpp:
  16964. * inspector/InspectorRuntimeAgent.h:
  16965. * inspector/InspectorRuntimeAgent.cpp:
  16966. 2011-01-20 Pavel Feldman <pfeldman@chromium.org>
  16967. Not reviewed: build fix.
  16968. * inspector/InspectorState.h:
  16969. (WebCore::InspectorState::setBoolean):
  16970. (WebCore::InspectorState::setString):
  16971. (WebCore::InspectorState::setLong):
  16972. 2011-01-20 Pavel Feldman <pfeldman@chromium.org>
  16973. Reviewed by Yury Semikhatsky.
  16974. Web Inspector: further simplify InspectorState.
  16975. https://bugs.webkit.org/show_bug.cgi?id=52731
  16976. This change moves XHR logging flag into console agent,
  16977. removes InspectorState pushing to the front-end.
  16978. * inspector/Inspector.idl:
  16979. * inspector/InspectorConsoleAgent.cpp:
  16980. (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
  16981. (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
  16982. (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
  16983. (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
  16984. (WebCore::InspectorConsoleAgent::addConsoleMessage):
  16985. * inspector/InspectorConsoleAgent.h:
  16986. * inspector/InspectorController.cpp:
  16987. (WebCore::InspectorController::InspectorController):
  16988. * inspector/InspectorController.h:
  16989. (WebCore::InspectorController::state):
  16990. (WebCore::InspectorController::settings):
  16991. * inspector/InspectorState.cpp:
  16992. (WebCore::InspectorState::InspectorState):
  16993. (WebCore::InspectorState::registerBoolean):
  16994. (WebCore::InspectorState::registerString):
  16995. (WebCore::InspectorState::registerLong):
  16996. (WebCore::InspectorState::registerObject):
  16997. (WebCore::InspectorState::Property::create):
  16998. * inspector/InspectorState.h:
  16999. * inspector/front-end/ConsoleView.js:
  17000. (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
  17001. (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.monitoringXHRStateChanged):
  17002. (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
  17003. (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
  17004. * inspector/front-end/inspector.js:
  17005. 2011-01-20 Csaba Osztrogonác <ossy@webkit.org>
  17006. Unreviewed buildfix.
  17007. [Qt][V8] Remove unnecessary files after r76224.
  17008. * WebCore.pro:
  17009. 2011-01-20 Ilya Tikhonovsky <loislo@chromium.org>
  17010. Reviewed by Yury Semikhatsky.
  17011. Web Inspector: prepare for extracting InspectorAgent from InspectorController.
  17012. https://bugs.webkit.org/show_bug.cgi?id=52797
  17013. * inspector/CodeGeneratorInspector.pm:
  17014. * inspector/InspectorController.h:
  17015. (WebCore::InspectorController::inspectorAgent):
  17016. (WebCore::InspectorController::cssAgent):
  17017. (WebCore::InspectorController::injectedScriptAgent):
  17018. (WebCore::InspectorController::resourceAgent):
  17019. (WebCore::InspectorController::runtimeAgent):
  17020. (WebCore::InspectorController::timelineAgent):
  17021. (WebCore::InspectorController::databaseAgent):
  17022. (WebCore::InspectorController::domStorageAgent):
  17023. (WebCore::InspectorController::fileSystemAgent):
  17024. (WebCore::InspectorController::browserDebuggerAgent):
  17025. (WebCore::InspectorController::debuggerAgent):
  17026. (WebCore::InspectorController::profilerAgent):
  17027. (WebCore::InspectorController::applicationCacheAgent):
  17028. 2011-01-20 Sheriff Bot <webkit.review.bot@gmail.com>
  17029. Unreviewed, rolling out r76215.
  17030. http://trac.webkit.org/changeset/76215
  17031. https://bugs.webkit.org/show_bug.cgi?id=52799
  17032. Caused regressions in Chromium; morrita is going to look at it
  17033. tomrorow (Requested by jorlow on #webkit).
  17034. * dom/TextEvent.h:
  17035. * dom/TextEventInputType.h:
  17036. * editing/CompositeEditCommand.cpp:
  17037. (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
  17038. * editing/CompositeEditCommand.h:
  17039. * editing/Editor.cpp:
  17040. (WebCore::Editor::insertTextWithoutSendingTextEvent):
  17041. (WebCore::Editor::confirmComposition):
  17042. (WebCore::Editor::setComposition):
  17043. * editing/Editor.h:
  17044. * editing/InsertTextCommand.cpp:
  17045. (WebCore::InsertTextCommand::input):
  17046. * editing/InsertTextCommand.h:
  17047. * editing/TypingCommand.cpp:
  17048. (WebCore::TypingCommand::TypingCommand):
  17049. (WebCore::TypingCommand::insertText):
  17050. (WebCore::TypingCommand::insertTextRunWithoutNewlines):
  17051. * editing/TypingCommand.h:
  17052. (WebCore::TypingCommand::create):
  17053. 2010-12-14 Yury Semikhatsky <yurys@chromium.org>
  17054. Reviewed by Adam Barth.
  17055. [V8] Get rid of delayed exception reporting in V8ConsoleMessage.cpp
  17056. https://bugs.webkit.org/show_bug.cgi?id=51044
  17057. * WebCore.gypi:
  17058. * bindings/v8/V8ConsoleMessage.cpp: Removed.
  17059. * bindings/v8/V8ConsoleMessage.h: Removed.
  17060. * bindings/v8/V8DOMWindowShell.cpp:
  17061. (WebCore::v8UncaughtExceptionHandler):
  17062. (WebCore::reportUnsafeJavaScriptAccess):
  17063. (WebCore::V8DOMWindowShell::initContextIfNeeded):
  17064. * bindings/v8/V8Proxy.cpp:
  17065. (WebCore::addMessageToConsole):
  17066. (WebCore::logInfo):
  17067. (WebCore::V8Proxy::reportUnsafeAccessTo):
  17068. (WebCore::V8Proxy::runScript):
  17069. (WebCore::V8Proxy::callFunction):
  17070. (WebCore::V8Proxy::newInstance):
  17071. * bindings/v8/V8Proxy.h:
  17072. * bindings/v8/WorkerContextExecutionProxy.cpp:
  17073. * bindings/v8/specialization/V8BindingState.cpp:
  17074. (WebCore::::immediatelyReportUnsafeAccessTo):
  17075. 2011-01-19 MORITA Hajime <morrita@google.com>
  17076. Reviewed by Eric Seidel.
  17077. ShadowElement::m_shadowParent should be removed
  17078. https://bugs.webkit.org/show_bug.cgi?id=52558
  17079. No new tests. No behavioral change.
  17080. * rendering/ShadowElement.h:
  17081. (WebCore::ShadowElement::ShadowElement):
  17082. 2011-01-20 Hans Wennborg <hans@chromium.org>
  17083. Reviewed by Jeremy Orlow.
  17084. IndexedDB: IDBObjectStore.get should fire onsuccess rather than onerror
  17085. https://bugs.webkit.org/show_bug.cgi?id=52725
  17086. Let IDBObjectStore.get() fire the onsuccess handler with the value
  17087. 'undefined' for when an object does not exist in the store.
  17088. Update SerializedScriptValue to provide such an undefined value.
  17089. * bindings/v8/SerializedScriptValue.cpp:
  17090. (WebCore::SerializedScriptValue::nullValue):
  17091. (WebCore::SerializedScriptValue::undefinedValue):
  17092. * bindings/v8/SerializedScriptValue.h:
  17093. * storage/IDBObjectStoreBackendImpl.cpp:
  17094. (WebCore::IDBObjectStoreBackendImpl::getInternal):
  17095. 2010-12-27 Yury Semikhatsky <yurys@chromium.org>
  17096. Reviewed by Pavel Feldman.
  17097. WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown
  17098. https://bugs.webkit.org/show_bug.cgi?id=8519
  17099. Uncaught exceptions are propagated to window.onerror hander if one is present.
  17100. The handler is expected to be a function accepting three arguments: error message,
  17101. resource url and line number where the exception occured.
  17102. It was decided to dispatch ErrorEvent to all listeners/handlers no matter if they
  17103. were created in the same isolated world where the exception occured or not.
  17104. Tests: fast/events/window-onerror1.html
  17105. fast/events/window-onerror10.html
  17106. fast/events/window-onerror11.html
  17107. fast/events/window-onerror12.html
  17108. fast/events/window-onerror2.html
  17109. fast/events/window-onerror3.html
  17110. fast/events/window-onerror4.html
  17111. fast/events/window-onerror5.html
  17112. fast/events/window-onerror6.html
  17113. fast/events/window-onerror7.html
  17114. fast/events/window-onerror8.html
  17115. fast/events/window-onerror9.html
  17116. http/tests/security/window-onerror-exception-in-iframe.html
  17117. userscripts/window-onerror-for-isolated-world-1.html
  17118. userscripts/window-onerror-for-isolated-world-2.html
  17119. * Android.jscbindings.mk:
  17120. * CMakeLists.txt:
  17121. * GNUmakefile.am:
  17122. * WebCore.gypi:
  17123. * WebCore.order:
  17124. * WebCore.pro:
  17125. * WebCore.vcproj/WebCore.vcproj:
  17126. * WebCore.xcodeproj/project.pbxproj:
  17127. * bindings/js/JSBindingsAllInOne.cpp:
  17128. * bindings/js/JSDOMBinding.cpp:
  17129. (WebCore::reportException):
  17130. * bindings/js/JSErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.cpp.
  17131. (WebCore::JSErrorHandler::JSErrorHandler):
  17132. (WebCore::JSErrorHandler::~JSErrorHandler):
  17133. (WebCore::JSErrorHandler::handleEvent):
  17134. * bindings/js/JSErrorHandler.h: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
  17135. (WebCore::JSErrorHandler::create):
  17136. (WebCore::createJSErrorHandler):
  17137. * bindings/js/JSEventListener.h:
  17138. * bindings/scripts/CodeGeneratorJS.pm:
  17139. * bindings/scripts/CodeGeneratorV8.pm:
  17140. * bindings/v8/V8ConsoleMessage.cpp:
  17141. (WebCore::V8ConsoleMessage::dispatchNow):
  17142. (WebCore::V8ConsoleMessage::handler): the method was changed to use generic WebCore exception
  17143. reporting mechanism which is also used by JSC bindings.
  17144. * bindings/v8/V8ConsoleMessage.h:
  17145. * bindings/v8/V8EventListener.h:
  17146. * bindings/v8/V8WindowErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
  17147. (WebCore::V8WindowErrorHandler::V8WindowErrorHandler):
  17148. (WebCore::V8WindowErrorHandler::callListenerFunction):
  17149. * bindings/v8/V8WindowErrorHandler.h: Copied from WebCore/dom/ErrorEvent.cpp.
  17150. (WebCore::V8WindowErrorHandler::create):
  17151. * bindings/v8/WorkerContextExecutionProxy.cpp:
  17152. (WebCore::v8MessageHandler):
  17153. * bindings/v8/WorkerScriptController.cpp:
  17154. (WebCore::WorkerScriptController::evaluate):
  17155. * dom/Document.cpp:
  17156. (WebCore::Document::errorEventTarget):
  17157. (WebCore::Document::logExceptionToConsole):
  17158. (WebCore::Document::addMessage):
  17159. * dom/Document.h:
  17160. * dom/ErrorEvent.cpp:
  17161. * dom/ErrorEvent.h:
  17162. * dom/Event.cpp:
  17163. (WebCore::Event::isErrorEvent):
  17164. * dom/Event.h:
  17165. * dom/ScriptExecutionContext.cpp:
  17166. (WebCore::ScriptExecutionContext::PendingException::PendingException):
  17167. (WebCore::ScriptExecutionContext::ScriptExecutionContext):
  17168. (WebCore::ScriptExecutionContext::reportException): this method is not virtual anymore to
  17169. ensure that error event dispatching algorithm is the same in WorkerContext and in Document.
  17170. (WebCore::ScriptExecutionContext::dispatchErrorEvent):
  17171. * dom/ScriptExecutionContext.h:
  17172. * websockets/WebSocket.cpp:
  17173. (WebCore::WebSocket::connect):
  17174. * websockets/WebSocketChannel.cpp:
  17175. (WebCore::WebSocketChannel::didOpen):
  17176. (WebCore::WebSocketChannel::didFail):
  17177. (WebCore::WebSocketChannel::appendToBuffer):
  17178. * websockets/WebSocketHandshake.cpp:
  17179. (WebCore::WebSocketHandshake::readServerHandshake):
  17180. (WebCore::WebSocketHandshake::readStatusLine):
  17181. (WebCore::WebSocketHandshake::readHTTPHeaders):
  17182. (WebCore::WebSocketHandshake::checkResponseHeaders):
  17183. * workers/DefaultSharedWorkerRepository.cpp:
  17184. (WebCore::postExceptionTask):
  17185. (WebCore::postConsoleMessageTask):
  17186. * workers/WorkerContext.cpp:
  17187. (WebCore::WorkerContext::WorkerContext):
  17188. (WebCore::WorkerContext::errorEventTarget):
  17189. (WebCore::WorkerContext::logExceptionToConsole):
  17190. (WebCore::WorkerContext::addMessage):
  17191. * workers/WorkerContext.h:
  17192. * workers/WorkerMessagingProxy.cpp:
  17193. (WebCore::WorkerExceptionTask::performTask):
  17194. (WebCore::postConsoleMessageTask):
  17195. * xml/XMLHttpRequest.cpp:
  17196. (WebCore::reportUnsafeUsage):
  17197. 2011-01-19 MORITA Hajime <morrita@google.com>
  17198. Reviewed by Ryosuke Niwa.
  17199. Space and tab characters "sent" by an input method give totally different results than typing them directly
  17200. https://bugs.webkit.org/show_bug.cgi?id=5241
  17201. * Introduced TextEvent::InputTypeComposition and TypingCommand::TextCompositionType to
  17202. distinguish text input which is originated by composition.
  17203. * Generalized rebalanceWhitespaceAt() to rebalanceWhitespaceOnTextSubstring() to rebalancing
  17204. range of string on text node, instead of surrounding part of that.
  17205. Test: editing/inserting/insert-composition-whitespace.html
  17206. * dom/TextEvent.h:
  17207. (WebCore::TextEvent::isComposition):
  17208. * dom/TextEventInputType.h: Added TextEventInputComposition as a member of TextEvent::InputType
  17209. * editing/CompositeEditCommand.cpp:
  17210. (WebCore::containsOnlyWhitespace):
  17211. (WebCore::CompositeEditCommand::shouldRebalanceLeadingWhitespaceFor):
  17212. (WebCore::CompositeEditCommand::canRebalance):
  17213. (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
  17214. (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Added: A generalized version of rebalanceWhitespaceAt(), which takes a range inside Text string.
  17215. * editing/CompositeEditCommand.h:
  17216. * editing/Editor.cpp:
  17217. (WebCore::Editor::insertTextForConfirmedComposition): Added.
  17218. (WebCore::Editor::insertTextWithoutSendingTextEvent):
  17219. (WebCore::Editor::confirmComposition): Now uses insertTextForConfirmedComposition().
  17220. (WebCore::Editor::setComposition):
  17221. * editing/Editor.h:
  17222. * editing/InsertTextCommand.cpp:
  17223. (WebCore::InsertTextCommand::input):
  17224. * editing/InsertTextCommand.h:
  17225. * editing/TypingCommand.cpp:
  17226. (WebCore::TypingCommand::TypingCommand):
  17227. (WebCore::TypingCommand::insertText):
  17228. (WebCore::TypingCommand::insertTextRunWithoutNewlines):
  17229. * editing/TypingCommand.h: Added TypingCommand::m_compositionType and TypingCommand::TextCompositionType
  17230. (WebCore::TypingCommand::setCompositionType): Added.
  17231. (WebCore::TypingCommand::create):
  17232. 2011-01-19 Dominic Cooney <dominicc@google.com>
  17233. Reviewed by Kent Tamura.
  17234. Make <keygen> no longer appear to be a <select> element to script.
  17235. https://bugs.webkit.org/show_bug.cgi?id=52557
  17236. The intent is to put <keygen> options into shadow DOM. This change
  17237. takes the first step by hiding the <select> element from
  17238. JavaScript.
  17239. Test: fast/dom/HTMLKeygenElement/keygen.html
  17240. * CMakeLists.txt: Adds new IDL-derived wrapper.
  17241. * DerivedSources.cpp:
  17242. * DerivedSources.make:
  17243. * GNUmakefile.am:
  17244. * WebCore.gypi:
  17245. * WebCore.pri:
  17246. * WebCore.vcproj/WebCore.vcproj:
  17247. * WebCore.xcodeproj/project.pbxproj:
  17248. * bindings/gobject/GNUmakefile.am:
  17249. * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
  17250. (WebKit::createKeygenWrapper):
  17251. (WebKit::createHTMLElementWrapper):
  17252. * bindings/objc/DOM.mm:
  17253. (WebCore::createElementClassMap): Keygen no longer DOMHTMLSelectElement
  17254. * html/HTMLKeygenElement.h:
  17255. (WebCore::HTMLKeygenElement::willValidate): Now public.
  17256. * html/HTMLKeygenElement.idl: Added.
  17257. * html/HTMLTagNames.in: Keygen's wrapper is HTMLKeygenElement.
  17258. * page/DOMWindow.idl: Add HTMLKeygenElement constructor.
  17259. 2011-01-19 Sheriff Bot <webkit.review.bot@gmail.com>
  17260. Unreviewed, rolling out r76203.
  17261. http://trac.webkit.org/changeset/76203
  17262. https://bugs.webkit.org/show_bug.cgi?id=52784
  17263. Broke Win compile on Chromium bots (Requested by dimich on
  17264. #webkit).
  17265. * WebCore.gypi:
  17266. * bindings/v8/V8DOMWindowShell.cpp:
  17267. (WebCore::reportFatalErrorInV8):
  17268. * page/PageGroup.cpp:
  17269. (WebCore::PageGroup::isLinkVisited):
  17270. * platform/android/PlatformBridge.h:
  17271. * platform/audio/chromium/AudioBusChromium.cpp:
  17272. (WebCore::createBusFromInMemoryAudioFile):
  17273. * platform/chromium/ChromiumBridge.h: Added.
  17274. * platform/chromium/ChromiumDataObjectLegacy.cpp:
  17275. (WebCore::ChromiumDataObjectLegacy::getData):
  17276. * platform/chromium/DragDataChromium.cpp:
  17277. (WebCore::DragData::asURL):
  17278. * platform/chromium/FileSystemChromium.cpp:
  17279. (WebCore::deleteFile):
  17280. (WebCore::deleteEmptyDirectory):
  17281. (WebCore::getFileSize):
  17282. (WebCore::getFileModificationTime):
  17283. (WebCore::revealFolderInOS):
  17284. (WebCore::directoryName):
  17285. (WebCore::pathByAppendingComponent):
  17286. (WebCore::makeAllDirectories):
  17287. (WebCore::fileExists):
  17288. (WebCore::openFile):
  17289. (WebCore::closeFile):
  17290. (WebCore::seekFile):
  17291. (WebCore::truncateFile):
  17292. (WebCore::readFromFile):
  17293. (WebCore::writeToFile):
  17294. * platform/chromium/LanguageChromium.cpp:
  17295. (WebCore::platformDefaultLanguage):
  17296. * platform/chromium/LinkHashChromium.cpp:
  17297. (WebCore::visitedLinkHash):
  17298. * platform/chromium/MIMETypeRegistryChromium.cpp:
  17299. (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
  17300. (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
  17301. (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
  17302. (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
  17303. (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
  17304. * platform/chromium/PasteboardChromium.cpp:
  17305. (WebCore::Pasteboard::writeSelection):
  17306. (WebCore::Pasteboard::writePlainText):
  17307. (WebCore::Pasteboard::writeURL):
  17308. (WebCore::Pasteboard::writeImage):
  17309. (WebCore::Pasteboard::canSmartReplace):
  17310. (WebCore::Pasteboard::plainText):
  17311. (WebCore::Pasteboard::documentFragment):
  17312. * platform/chromium/PlatformBridge.h:
  17313. * platform/chromium/PlatformScreenChromium.cpp:
  17314. (WebCore::screenDepth):
  17315. (WebCore::screenDepthPerComponent):
  17316. (WebCore::screenIsMonochrome):
  17317. (WebCore::screenRect):
  17318. (WebCore::screenAvailableRect):
  17319. * platform/chromium/ReadableDataObject.cpp:
  17320. (WebCore::ReadableDataObject::getData):
  17321. (WebCore::ReadableDataObject::urlTitle):
  17322. (WebCore::ReadableDataObject::htmlBaseUrl):
  17323. (WebCore::ReadableDataObject::filenames):
  17324. (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
  17325. * platform/chromium/SSLKeyGeneratorChromium.cpp:
  17326. (WebCore::signedPublicKeyAndChallengeString):
  17327. * platform/chromium/ScrollbarThemeChromium.cpp:
  17328. * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
  17329. (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
  17330. (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
  17331. (WebCore::ScrollbarThemeChromiumLinux::paintButton):
  17332. (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
  17333. (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
  17334. (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
  17335. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  17336. (WebCore::scrollbarStateToThemeState):
  17337. (WebCore::ScrollbarThemeChromiumMac::paint):
  17338. * platform/chromium/ScrollbarThemeChromiumWin.cpp:
  17339. (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
  17340. (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
  17341. (WebCore::ScrollbarThemeChromiumWin::paintButton):
  17342. (WebCore::ScrollbarThemeChromiumWin::paintThumb):
  17343. (WebCore::ScrollbarThemeChromiumWin::buttonSize):
  17344. * platform/chromium/SharedTimerChromium.cpp:
  17345. (WebCore::setSharedTimerFiredFunction):
  17346. (WebCore::setSharedTimerFireTime):
  17347. (WebCore::stopSharedTimer):
  17348. * platform/chromium/SuddenTerminationChromium.cpp:
  17349. (WebCore::disableSuddenTermination):
  17350. (WebCore::enableSuddenTermination):
  17351. * platform/chromium/SystemTimeChromium.cpp:
  17352. (WebCore::currentTime):
  17353. * platform/chromium/WritableDataObject.cpp:
  17354. (WebCore::WritableDataObject::setData):
  17355. * platform/graphics/chromium/CrossProcessFontLoading.mm:
  17356. * platform/graphics/chromium/FontCacheChromiumWin.cpp:
  17357. (WebCore::fontContainsCharacter):
  17358. (WebCore::FillLogFont):
  17359. * platform/graphics/chromium/FontCacheLinux.cpp:
  17360. (WebCore::FontCache::getFontDataForCharacters):
  17361. * platform/graphics/chromium/FontChromiumWin.cpp:
  17362. (WebCore::Font::drawGlyphs):
  17363. * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
  17364. (WebCore::FontPlatformData::scriptFontProperties):
  17365. * platform/graphics/chromium/FontPlatformDataLinux.cpp:
  17366. (WebCore::FontPlatformData::querySystemForRenderStyle):
  17367. * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
  17368. (WebCore::fillBMPGlyphs):
  17369. * platform/graphics/chromium/ImageChromium.cpp:
  17370. (WebCore::Image::loadPlatformResource):
  17371. * platform/graphics/chromium/ImageChromiumMac.mm:
  17372. (WebCore::Image::loadPlatformResource):
  17373. * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
  17374. (WebCore::SimpleFontData::platformInit):
  17375. (WebCore::SimpleFontData::determinePitch):
  17376. (WebCore::SimpleFontData::platformWidthForGlyph):
  17377. * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
  17378. (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
  17379. * platform/graphics/skia/FontCustomPlatformData.cpp:
  17380. (WebCore::FontCustomPlatformData::fontPlatformData):
  17381. * platform/network/chromium/CookieJarChromium.cpp:
  17382. (WebCore::setCookies):
  17383. (WebCore::cookies):
  17384. (WebCore::cookieRequestHeaderFieldValue):
  17385. (WebCore::cookiesEnabled):
  17386. (WebCore::getRawCookies):
  17387. (WebCore::deleteCookie):
  17388. * platform/network/chromium/DNSChromium.cpp:
  17389. (WebCore::prefetchDNS):
  17390. * platform/qt/PlatformBridge.h:
  17391. * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
  17392. (WebCore::SQLiteFileSystem::deleteDatabaseFile):
  17393. (WebCore::SQLiteFileSystem::getDatabaseFileSize):
  17394. * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
  17395. (chromiumOpen):
  17396. (chromiumDelete):
  17397. (chromiumAccess):
  17398. * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
  17399. * plugins/chromium/PluginDataChromium.cpp:
  17400. (WebCore::PluginCache::plugins):
  17401. * rendering/RenderThemeChromiumMac.mm:
  17402. (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
  17403. * rendering/RenderThemeChromiumSkia.cpp:
  17404. (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
  17405. * rendering/RenderThemeChromiumWin.cpp:
  17406. (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
  17407. (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
  17408. (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
  17409. (WebCore::RenderThemeChromiumWin::systemColor):
  17410. (WebCore::RenderThemeChromiumWin::paintButton):
  17411. (WebCore::RenderThemeChromiumWin::paintSliderTrack):
  17412. (WebCore::menuListButtonWidth):
  17413. (WebCore::RenderThemeChromiumWin::paintMenuList):
  17414. (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
  17415. (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
  17416. (WebCore::RenderThemeChromiumWin::paintProgressBar):
  17417. * storage/chromium/IDBFactoryBackendInterface.cpp:
  17418. (WebCore::IDBFactoryBackendInterface::create):
  17419. (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
  17420. * storage/chromium/IDBKeyPathBackendImpl.cpp:
  17421. (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
  17422. 2011-01-19 Helder Correia <helder@sencha.com>
  17423. Reviewed by Andreas Kling.
  17424. [Qt] GraphicsContext::strokePath() paints solid shadows with incorrect alpha
  17425. https://bugs.webkit.org/show_bug.cgi?id=52705
  17426. This is related to bug 52611. The shadow color alpha must be multiplied
  17427. by the context pen alpha. Fixing this results in correct behavior for
  17428. Canvas path stroke() and strokeRect() [which relies on stroke()].
  17429. Tests: fast/canvas/canvas-strokePath-alpha-shadow.html
  17430. fast/canvas/canvas-strokeRect-alpha-shadow.html
  17431. * platform/graphics/qt/GraphicsContextQt.cpp:
  17432. (WebCore::GraphicsContext::strokePath):
  17433. 2011-01-19 Darin Fisher <darin@chromium.org>
  17434. Reviewed by Mihai Parparita.
  17435. Re-initialize the HistoryItem fully when navigating to a HistoryItem,
  17436. or replacing a HistoryItem, results in a different URL.
  17437. https://bugs.webkit.org/show_bug.cgi?id=49654
  17438. This patch also forces all HistoryItems to record the post-redirect
  17439. URL. Previously, frames would remember the pre-redirect URL. This is
  17440. problematic since other members of the HistoryItem correspond to the
  17441. post-redirect URL.
  17442. Tests: fast/history/history-replace-updates-current-item.html
  17443. http/tests/navigation/redirect-on-back-updates-history-item.html
  17444. http/tests/navigation/redirect-on-reload-updates-history-item.html
  17445. * history/HistoryItem.cpp:
  17446. (WebCore::HistoryItem::HistoryItem):
  17447. (WebCore::HistoryItem::reset):
  17448. * history/HistoryItem.h:
  17449. * loader/HistoryController.cpp:
  17450. (WebCore::HistoryController::updateForBackForwardNavigation):
  17451. (WebCore::HistoryController::updateForReload):
  17452. (WebCore::HistoryController::updateForStandardLoad):
  17453. (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
  17454. (WebCore::HistoryController::initializeItem):
  17455. (WebCore::HistoryController::createItem):
  17456. (WebCore::HistoryController::createItemTree):
  17457. (WebCore::HistoryController::updateCurrentItem):
  17458. * loader/HistoryController.h:
  17459. 2011-01-19 Adam Klein <adamk@chromium.org>
  17460. Reviewed by Darin Fisher.
  17461. [chromium] Rename ChromiumBridge to PlatformBridge
  17462. https://bugs.webkit.org/show_bug.cgi?id=52471
  17463. No tests added as this is a rename; no change in behavior.
  17464. * WebCore.gypi:
  17465. * bindings/v8/V8DOMWindowShell.cpp:
  17466. (WebCore::reportFatalErrorInV8):
  17467. * page/PageGroup.cpp:
  17468. (WebCore::PageGroup::isLinkVisited):
  17469. * platform/android/PlatformBridge.h:
  17470. * platform/audio/chromium/AudioBusChromium.cpp:
  17471. (WebCore::createBusFromInMemoryAudioFile):
  17472. * platform/chromium/ChromiumBridge.h: Removed.
  17473. * platform/chromium/ChromiumDataObjectLegacy.cpp:
  17474. (WebCore::ChromiumDataObjectLegacy::getData):
  17475. * platform/chromium/DragDataChromium.cpp:
  17476. (WebCore::DragData::asURL):
  17477. * platform/chromium/FileSystemChromium.cpp:
  17478. (WebCore::deleteFile):
  17479. (WebCore::deleteEmptyDirectory):
  17480. (WebCore::getFileSize):
  17481. (WebCore::getFileModificationTime):
  17482. (WebCore::revealFolderInOS):
  17483. (WebCore::directoryName):
  17484. (WebCore::pathByAppendingComponent):
  17485. (WebCore::makeAllDirectories):
  17486. (WebCore::fileExists):
  17487. (WebCore::openFile):
  17488. (WebCore::closeFile):
  17489. (WebCore::seekFile):
  17490. (WebCore::truncateFile):
  17491. (WebCore::readFromFile):
  17492. (WebCore::writeToFile):
  17493. * platform/chromium/LanguageChromium.cpp:
  17494. (WebCore::platformDefaultLanguage):
  17495. * platform/chromium/LinkHashChromium.cpp:
  17496. (WebCore::visitedLinkHash):
  17497. * platform/chromium/MIMETypeRegistryChromium.cpp:
  17498. (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
  17499. (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
  17500. (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
  17501. (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
  17502. (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
  17503. * platform/chromium/PasteboardChromium.cpp:
  17504. (WebCore::Pasteboard::writeSelection):
  17505. (WebCore::Pasteboard::writePlainText):
  17506. (WebCore::Pasteboard::writeURL):
  17507. (WebCore::Pasteboard::writeImage):
  17508. (WebCore::Pasteboard::canSmartReplace):
  17509. (WebCore::Pasteboard::plainText):
  17510. (WebCore::Pasteboard::documentFragment):
  17511. * platform/chromium/PlatformBridge.h:
  17512. * platform/chromium/PlatformScreenChromium.cpp:
  17513. (WebCore::screenDepth):
  17514. (WebCore::screenDepthPerComponent):
  17515. (WebCore::screenIsMonochrome):
  17516. (WebCore::screenRect):
  17517. (WebCore::screenAvailableRect):
  17518. * platform/chromium/ReadableDataObject.cpp:
  17519. (WebCore::ReadableDataObject::getData):
  17520. (WebCore::ReadableDataObject::urlTitle):
  17521. (WebCore::ReadableDataObject::htmlBaseUrl):
  17522. (WebCore::ReadableDataObject::filenames):
  17523. (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
  17524. * platform/chromium/SSLKeyGeneratorChromium.cpp:
  17525. (WebCore::signedPublicKeyAndChallengeString):
  17526. * platform/chromium/ScrollbarThemeChromium.cpp:
  17527. * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
  17528. (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
  17529. (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
  17530. (WebCore::ScrollbarThemeChromiumLinux::paintButton):
  17531. (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
  17532. (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
  17533. (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
  17534. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  17535. (WebCore::scrollbarStateToThemeState):
  17536. (WebCore::ScrollbarThemeChromiumMac::paint):
  17537. * platform/chromium/ScrollbarThemeChromiumWin.cpp:
  17538. (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
  17539. (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
  17540. (WebCore::ScrollbarThemeChromiumWin::paintButton):
  17541. (WebCore::ScrollbarThemeChromiumWin::paintThumb):
  17542. (WebCore::ScrollbarThemeChromiumWin::buttonSize):
  17543. * platform/chromium/SharedTimerChromium.cpp:
  17544. (WebCore::setSharedTimerFiredFunction):
  17545. (WebCore::setSharedTimerFireTime):
  17546. (WebCore::stopSharedTimer):
  17547. * platform/chromium/SuddenTerminationChromium.cpp:
  17548. (WebCore::disableSuddenTermination):
  17549. (WebCore::enableSuddenTermination):
  17550. * platform/chromium/SystemTimeChromium.cpp:
  17551. (WebCore::currentTime):
  17552. * platform/chromium/WritableDataObject.cpp:
  17553. (WebCore::WritableDataObject::setData):
  17554. * platform/graphics/chromium/CrossProcessFontLoading.mm:
  17555. * platform/graphics/chromium/FontCacheChromiumWin.cpp:
  17556. (WebCore::fontContainsCharacter):
  17557. (WebCore::FillLogFont):
  17558. * platform/graphics/chromium/FontCacheLinux.cpp:
  17559. (WebCore::FontCache::getFontDataForCharacters):
  17560. * platform/graphics/chromium/FontChromiumWin.cpp:
  17561. (WebCore::Font::drawGlyphs):
  17562. * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
  17563. (WebCore::FontPlatformData::scriptFontProperties):
  17564. * platform/graphics/chromium/FontPlatformDataLinux.cpp:
  17565. (WebCore::FontPlatformData::querySystemForRenderStyle):
  17566. * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
  17567. (WebCore::fillBMPGlyphs):
  17568. * platform/graphics/chromium/ImageChromium.cpp:
  17569. (WebCore::Image::loadPlatformResource):
  17570. * platform/graphics/chromium/ImageChromiumMac.mm:
  17571. (WebCore::Image::loadPlatformResource):
  17572. * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
  17573. (WebCore::SimpleFontData::platformInit):
  17574. (WebCore::SimpleFontData::determinePitch):
  17575. (WebCore::SimpleFontData::platformWidthForGlyph):
  17576. * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
  17577. (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
  17578. * platform/graphics/skia/FontCustomPlatformData.cpp:
  17579. (WebCore::FontCustomPlatformData::fontPlatformData):
  17580. * platform/network/chromium/CookieJarChromium.cpp:
  17581. (WebCore::setCookies):
  17582. (WebCore::cookies):
  17583. (WebCore::cookieRequestHeaderFieldValue):
  17584. (WebCore::cookiesEnabled):
  17585. (WebCore::getRawCookies):
  17586. (WebCore::deleteCookie):
  17587. * platform/network/chromium/DNSChromium.cpp:
  17588. (WebCore::prefetchDNS):
  17589. * platform/qt/PlatformBridge.h:
  17590. * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
  17591. (WebCore::SQLiteFileSystem::deleteDatabaseFile):
  17592. (WebCore::SQLiteFileSystem::getDatabaseFileSize):
  17593. * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
  17594. (chromiumOpen):
  17595. (chromiumDelete):
  17596. (chromiumAccess):
  17597. * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
  17598. * plugins/chromium/PluginDataChromium.cpp:
  17599. (WebCore::PluginCache::plugins):
  17600. * rendering/RenderThemeChromiumMac.mm:
  17601. (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
  17602. * rendering/RenderThemeChromiumSkia.cpp:
  17603. (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
  17604. * rendering/RenderThemeChromiumWin.cpp:
  17605. (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
  17606. (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
  17607. (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
  17608. (WebCore::RenderThemeChromiumWin::systemColor):
  17609. (WebCore::RenderThemeChromiumWin::paintButton):
  17610. (WebCore::RenderThemeChromiumWin::paintSliderTrack):
  17611. (WebCore::menuListButtonWidth):
  17612. (WebCore::RenderThemeChromiumWin::paintMenuList):
  17613. (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
  17614. (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
  17615. (WebCore::RenderThemeChromiumWin::paintProgressBar):
  17616. * storage/chromium/IDBFactoryBackendInterface.cpp:
  17617. (WebCore::IDBFactoryBackendInterface::create):
  17618. (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
  17619. * storage/chromium/IDBKeyPathBackendImpl.cpp:
  17620. (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
  17621. 2011-01-19 Sheriff Bot <webkit.review.bot@gmail.com>
  17622. Unreviewed, rolling out r76187.
  17623. http://trac.webkit.org/changeset/76187
  17624. https://bugs.webkit.org/show_bug.cgi?id=52778
  17625. Broke caret-showing tests on SnowLeopard and Chromium
  17626. (Requested by dimich on #webkit).
  17627. * rendering/RenderText.cpp:
  17628. (WebCore::RenderText::localCaretRect):
  17629. 2011-01-19 Yuzo Fujishima <yuzo@google.com>
  17630. Reviewed by Kent Tamura.
  17631. Fix for Bug 52279 - WebCore::RenderBlock::updateFirstLetter crashes for anonymous blocks
  17632. https://bugs.webkit.org/show_bug.cgi?id=52279
  17633. In constructing text fragments to handle first-letter rule, first add
  17634. the text for the non-first letters and then remove the original text,
  17635. rather than the other way around. Otherwise, the text can be added to
  17636. an anoymous block that is different from the original one. This breaks
  17637. the assumption that a first letter render object has a non-null sibling
  17638. for the non-first letters and causes a crash.
  17639. Test: fast/css/first-letter-anonymous-block-crash.html
  17640. * rendering/RenderBlock.cpp:
  17641. (WebCore::RenderBlock::updateFirstLetter):
  17642. 2011-01-19 James Robinson <jamesr@chromium.org>
  17643. Unreviewed, rolling out r76194.
  17644. http://trac.webkit.org/changeset/76194
  17645. https://bugs.webkit.org/show_bug.cgi?id=51218
  17646. Caused mysterious compile failure on the chromium win
  17647. build.webkit.org bots
  17648. * WebCore.gypi:
  17649. * dom/Document.cpp:
  17650. (WebCore::Document::Document):
  17651. * dom/Document.h:
  17652. * dom/RequestAnimationFrameCallback.h: Removed.
  17653. * dom/RequestAnimationFrameCallback.idl: Removed.
  17654. * loader/EmptyClients.h:
  17655. * page/Chrome.cpp:
  17656. * page/Chrome.h:
  17657. * page/ChromeClient.h:
  17658. * page/DOMWindow.cpp:
  17659. * page/DOMWindow.h:
  17660. * page/DOMWindow.idl:
  17661. * page/FrameView.cpp:
  17662. * page/FrameView.h:
  17663. * platform/HostWindow.h:
  17664. 2011-01-19 Simon Fraser <simon.fraser@apple.com>
  17665. Reviewed by Sam Weinig.
  17666. GraphicsLayers in subframes can get sync'd multiple times
  17667. https://bugs.webkit.org/show_bug.cgi?id=52489
  17668. Some cleanup that will work towards fixing this bug.
  17669. Tested by existing iframe compositing tests.
  17670. * WebCore.exp.in: syncCompositingStateRecursive()
  17671. was renamed to syncCompositingStateIncludingSubframes().
  17672. * page/FrameView.h:
  17673. * page/FrameView.cpp:
  17674. (WebCore::FrameView::syncCompositingStateForThisFrame): Some
  17675. code cleanup: do all the word we need to do for this frame,
  17676. including the needsLayout() check.
  17677. (WebCore::FrameView::syncCompositingStateIncludingSubframes):
  17678. This is no longer recursive; instead, it iterates over descendant
  17679. frames via the frame tree, calling syncCompositingStateForThisFrame()
  17680. on each Frame's view.
  17681. * rendering/RenderLayerCompositor.h:
  17682. (WebCore::RenderLayerCompositor::isFlushingLayers): Getter for the flag.
  17683. * rendering/RenderLayerCompositor.cpp:
  17684. (WebCore::RenderLayerCompositor::RenderLayerCompositor):
  17685. (WebCore::RenderLayerCompositor::flushPendingLayerChanges): Maintain
  17686. a flag to say if we're flushing, which allows us to assert on re-entrant flushes.
  17687. (WebCore::RenderLayerCompositor::enclosingCompositorFlushingLayers):
  17688. Add the ability to get the rootmost compositor that is in the middle
  17689. of a flush.
  17690. 2011-01-19 James Robinson <jamesr@chromium.org>
  17691. Reviewed by Darin Fisher.
  17692. Implement mozilla's requestAnimationFrame API
  17693. https://bugs.webkit.org/show_bug.cgi?id=51218
  17694. This implements mozilla's proposed requestAnimationFrame API. The idea with this API is that
  17695. an author driving an animation from script could use window.requestAnimationFrame(callback)
  17696. instead of window.setTimeout(callback, 0) to schedule their update logic and let the browser
  17697. decide when to update the animations. This avoids doing unnecessary work when the page content
  17698. is offscreen or is being displayed at a different framerate than what the page author expects.
  17699. Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame
  17700. This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the
  17701. following changes:
  17702. *) Only the callback syntax is supported, there is no before paint event
  17703. *) webkitRequestAnimationFrame supports a second parameter Element to let the author indicate
  17704. what content they intend to animate. That way if the page is being displayed but the element
  17705. in question is offscreen, we can avoid invoking the callback.
  17706. *) No timestamp is provided to the caller and there is no window.animationStartTime property
  17707. (see https://bugs.webkit.org/show_bug.cgi?id=51952 for discussion of this property)
  17708. *) window.webkitRequestAnimationFrame returns a numerical id that can be used to cancel the callback
  17709. using window.cancelWebkitRequestAnimationFrame, to parallel window.setTimeout()/window.clearTime().
  17710. The implementation depends on the embedder scheduling the callbacks since the callback invocation
  17711. depends on the page's visibility and the embedder's paint scheduling, neither of which are exposed
  17712. to WebCore. The expectation for the embedder is that at some point Chrome::scheduleAnimation() is
  17713. called FrameView::serviceScriptedAnimations() should be called for the associated Page's main frame.
  17714. Ideally serviceScriptedAnimations() would be called prior to rendering - although in practice the
  17715. embedder has to rate limit callbacks and may not be able to tie the callback directly to the
  17716. rendering loop.
  17717. Tests: fast/animation/request-animation-frame-cancel.html
  17718. fast/animation/request-animation-frame-cancel2.html
  17719. fast/animation/request-animation-frame-display.html
  17720. fast/animation/request-animation-frame-within-callback.html
  17721. fast/animation/request-animation-frame.html
  17722. * WebCore.gypi:
  17723. * dom/Document.cpp:
  17724. (WebCore::Document::Document):
  17725. (WebCore::Document::webkitRequestAnimationFrame):
  17726. (WebCore::Document::webkitCancelRequestAnimationFrame):
  17727. (WebCore::Document::serviceScriptedAnimations):
  17728. * dom/Document.h:
  17729. * dom/RequestAnimationFrameCallback.h: Added.
  17730. (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback):
  17731. * dom/RequestAnimationFrameCallback.idl: Added.
  17732. * loader/EmptyClients.h:
  17733. (WebCore::EmptyChromeClient::scheduleAnimation):
  17734. * page/Chrome.cpp:
  17735. (WebCore::Chrome::scheduleAnimation):
  17736. * page/Chrome.h:
  17737. * page/ChromeClient.h:
  17738. * page/DOMWindow.cpp:
  17739. (WebCore::DOMWindow::webkitRequestAnimationFrame):
  17740. (WebCore::DOMWindow::webkitCancelRequestAnimationFrame):
  17741. * page/DOMWindow.h:
  17742. * page/DOMWindow.idl:
  17743. * page/FrameView.cpp:
  17744. (WebCore::FrameView::scheduleAnimation):
  17745. (WebCore::FrameView::serviceScriptedAnimations):
  17746. * page/FrameView.h:
  17747. * platform/HostWindow.h:
  17748. 2011-01-13 Martin Robinson <mrobinson@igalia.com>
  17749. Reviewed by Daniel Bates.
  17750. [GTK] Move progress bar painting out of gtk2drawing.c
  17751. https://bugs.webkit.org/show_bug.cgi?id=52385
  17752. Move progress bar painting to RenderThemeGtk2 and share some animation
  17753. logic between the GTK+ 2.x and GTK+ 3.x port.
  17754. No new tests. This should not change functionality.
  17755. * platform/gtk/RenderThemeGtk.cpp:
  17756. (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar): Moved from RenderThemeGtk3.
  17757. (WebCore::RenderThemeGtk::animationDurationForProgressBar): Ditto.
  17758. (WebCore::RenderThemeGtk::calculateProgressRect): Calculate the proper rectangle for the
  17759. progress indicator given the rect for the maximum size of the indicator.
  17760. * platform/gtk/RenderThemeGtk.h: Added calculateProgressRect declaration and
  17761. a new widget member for GTK+ 2.x
  17762. * platform/gtk/RenderThemeGtk2.cpp:
  17763. (WebCore::RenderThemeGtk::platformInit): Added initialization for the new widget member.
  17764. (WebCore::RenderThemeGtk::paintProgressBar): Paint the progress bar manually instead of
  17765. calling the old Mozilla code.
  17766. (WebCore::RenderThemeGtk::gtkProgressBar): Added.
  17767. * platform/gtk/RenderThemeGtk3.cpp:
  17768. (WebCore::RenderThemeGtk::paintProgressBar): Call calculateProgressRect now to get
  17769. the area of the progress indicator.
  17770. * platform/gtk/gtk2drawing.c: Remove unused code.
  17771. (moz_gtk_get_widget_border):
  17772. (moz_gtk_widget_paint):
  17773. * platform/gtk/gtkdrawing.h: Ditto.
  17774. 2011-01-19 Dmitry Titov <dimich@chromium.org>
  17775. [Chromium] Not reviewed, reverts the following changes:
  17776. http://trac.webkit.org/changeset/76164 (build fix)
  17777. http://trac.webkit.org/changeset/76159 (main change)
  17778. The change broke Chromium Linux-shlib build.
  17779. Original issue:
  17780. Accelerated canvas2D has bad clipping performance.
  17781. https://bugs.webkit.org/show_bug.cgi?id=52627
  17782. * WebCore.gyp/WebCore.gyp:
  17783. * WebCore.gypi:
  17784. * html/canvas/CanvasRenderingContext2D.cpp:
  17785. (WebCore::CanvasRenderingContext2D::reset):
  17786. (WebCore::CanvasRenderingContext2D::platformLayer):
  17787. * platform/graphics/chromium/DrawingBufferChromium.cpp:
  17788. (WebCore::DrawingBuffer::DrawingBuffer):
  17789. * platform/graphics/chromium/GLES2Canvas.cpp:
  17790. (WebCore::GLES2Canvas::State::State):
  17791. (WebCore::GLES2Canvas::clearRect):
  17792. (WebCore::GLES2Canvas::fillRect):
  17793. (WebCore::GLES2Canvas::restore):
  17794. (WebCore::GLES2Canvas::drawTexturedRect):
  17795. * platform/graphics/chromium/GLES2Canvas.h:
  17796. * platform/graphics/gpu/DrawingBuffer.cpp:
  17797. (WebCore::DrawingBuffer::clear):
  17798. (WebCore::DrawingBuffer::createSecondaryBuffers):
  17799. (WebCore::DrawingBuffer::reset):
  17800. * platform/graphics/gpu/DrawingBuffer.h:
  17801. * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
  17802. (WebCore::SharedGraphicsContext3D::create):
  17803. * platform/graphics/gpu/SharedGraphicsContext3D.h:
  17804. * platform/graphics/gpu/mac/DrawingBufferMac.mm:
  17805. (WebCore::DrawingBuffer::DrawingBuffer):
  17806. * platform/graphics/skia/GraphicsContextSkia.cpp:
  17807. (WebCore::GraphicsContext::canvasClip):
  17808. (WebCore::GraphicsContext::clipOut):
  17809. (WebCore::GraphicsContext::clipPath):
  17810. (WebCore::GraphicsContext::fillPath):
  17811. * platform/graphics/skia/PlatformContextSkia.cpp:
  17812. (WebCore::PlatformContextSkia::canAccelerate):
  17813. (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
  17814. * thirdparty/glu/README.webkit:
  17815. * thirdparty/glu/gluos.h:
  17816. * thirdparty/glu/libtess/geom.c:
  17817. * thirdparty/glu/libtess/priorityq.c:
  17818. * thirdparty/glu/libtess/render.c:
  17819. * thirdparty/glu/libtess/sweep.c:
  17820. (IsWindingInside):
  17821. (DoneEdgeDict):
  17822. 2011-01-19 Levi Weintraub <leviw@google.com>
  17823. Reviewed by Darin Adler.
  17824. Re-committing this with the proper expected results.
  17825. Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and
  17826. logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this
  17827. resulted in the caret being placed incorrectly in overflowing editable IFrame content.
  17828. Long lines in non-white-space-pre editable documents show cursor in wrong place
  17829. https://bugs.webkit.org/show_bug.cgi?id=48132
  17830. Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html
  17831. * rendering/RenderText.cpp:
  17832. (WebCore::RenderText::localCaretRect):
  17833. 2011-01-18 MORITA Hajime <morrita@google.com>
  17834. Reviewed by David Levin.
  17835. ElementRareData::m_shadowRoot should not be RefPtr.
  17836. https://bugs.webkit.org/show_bug.cgi?id=51914
  17837. Makes ElementRareData::m_shadowRoot a raw pointer because
  17838. ElementRareData::m_shadowRoot should be like a
  17839. ContaineNode::m_firstChild, which is also a raw pointer.
  17840. pointer. Which also means that both the shadow root and the shadow
  17841. host reference each other as a parent-and-child relationship, via
  17842. a raw pointer.
  17843. Note that it is safe not to manipulate the ref-count of
  17844. m_shadowRoot because Node::m_parent of the shadow root points its
  17845. shadow host, and the object isn't deleted even if the refcount is
  17846. zero, as long as the node has non-null m_parent. (See TreeShared.)
  17847. The shadow root node is finally destroyed inside
  17848. removeShadowRoot(), where we store the root node into a local
  17849. RefPtr, then make the node's m_parent null, which results the
  17850. destroy the node, at the end of the function, by RefPtr::~RefPtr.
  17851. No new tests. No behavioral change.
  17852. * dom/Element.cpp:
  17853. (WebCore::Element::~Element):
  17854. (WebCore::Element::shadowRoot):
  17855. (WebCore::Element::setShadowRoot):
  17856. (WebCore::Element::removeShadowRoot):
  17857. * dom/ElementRareData.h:
  17858. (WebCore::ElementRareData::ElementRareData):
  17859. (WebCore::ElementRareData::~ElementRareData):
  17860. 2011-01-12 Martin Robinson <mrobinson@igalia.com>
  17861. Reviewed by Gustavo Noronha Silva.
  17862. [GTK] Move text field painting out of gtk2drawing.c
  17863. https://bugs.webkit.org/show_bug.cgi?id=52327
  17864. No new tests. This should not change behavior.
  17865. * platform/gtk/RenderThemeGtk2.cpp:
  17866. (WebCore::RenderThemeGtk::paintButton): Use the setWidgetHasFocus helper.
  17867. (WebCore::RenderThemeGtk::paintTextField): Do this manually now instead
  17868. of calling into the Mozilla code.
  17869. * platform/gtk/WidgetRenderingContext.cpp: Added a couple more wrappers
  17870. for GTK+ theme functions.
  17871. (WebCore::WidgetRenderingContext::gtkPaintFlatBox):
  17872. (WebCore::WidgetRenderingContext::gtkPaintShadow):
  17873. * platform/gtk/WidgetRenderingContext.h: Added new method declarations.
  17874. * platform/gtk/gtk2drawing.c: Remove unused code.
  17875. (moz_gtk_get_widget_border):
  17876. (moz_gtk_widget_paint):
  17877. * platform/gtk/gtkdrawing.h:
  17878. 2011-01-19 Antti Koivisto <antti@apple.com>
  17879. Reviewed by Oliver Hunt.
  17880. Cache function offsets to speed up javascript parsing
  17881. https://bugs.webkit.org/show_bug.cgi?id=52622
  17882. Use cache to save function offsets and some other info.
  17883. This avoids quite a bit of work when reparsing the source.
  17884. * bindings/js/CachedScriptSourceProvider.h:
  17885. (WebCore::CachedScriptSourceProvider::cache):
  17886. (WebCore::CachedScriptSourceProvider::cacheSizeChanged):
  17887. (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
  17888. * bindings/js/ScriptSourceProvider.h:
  17889. (WebCore::ScriptSourceProvider::ScriptSourceProvider):
  17890. * loader/cache/CachedScript.cpp:
  17891. (WebCore::CachedScript::destroyDecodedData):
  17892. (WebCore::CachedScript::sourceProviderCache):
  17893. (WebCore::CachedScript::sourceProviderCacheSizeChanged):
  17894. * loader/cache/CachedScript.h:
  17895. 2011-01-11 Martin Robinson <mrobinson@igalia.com>
  17896. Reviewed by Gustavo Noronha Silva.
  17897. [GTK] Move toggle button rendering out of gtk2drawing.c
  17898. https://bugs.webkit.org/show_bug.cgi?id=52258
  17899. * platform/gtk/RenderThemeGtk.h:
  17900. * platform/gtk/RenderThemeGtk2.cpp:
  17901. (WebCore::RenderThemeGtk::platformInit): Initialize new button members.
  17902. (WebCore::adjustRectForFocus): Added this function which inflates a rect based
  17903. on a widget's exterior focus.
  17904. (WebCore::RenderThemeGtk::adjustRepaintRect): Account for exterior focus.
  17905. (WebCore::setToggleSize): Only listen to indicator-size to properly size
  17906. checkboxes and radio buttons.
  17907. (WebCore::RenderThemeGtk::setCheckboxSize): Call new setToggleSize properly.
  17908. (WebCore::paintToggle): Added.
  17909. (WebCore::RenderThemeGtk::paintCheckbox): Call paintToggle.
  17910. (WebCore::RenderThemeGtk::setRadioSize): Call new setToggleSize properly.
  17911. (WebCore::RenderThemeGtk::paintRadio): Call paintToggle.
  17912. (WebCore::RenderThemeGtk::gtkRadioButton): Added.
  17913. (WebCore::RenderThemeGtk::gtkCheckButton): Added.
  17914. * platform/gtk/WidgetRenderingContext.cpp:
  17915. (WebCore::WidgetRenderingContext::WidgetRenderingContext): Use a static extra space
  17916. variable. This is good enough for all themes that I've tested and prevents having to
  17917. pass information from RenderThemeGtk about every single type of widget.
  17918. (WebCore::WidgetRenderingContext::gtkPaintFocus): Use the paintRect
  17919. to draw instead of m_paintRect. This is important when we're painting
  17920. something that isn't the size of the total rect.
  17921. (WebCore::WidgetRenderingContext::gtkPaintCheck): Added.
  17922. (WebCore::WidgetRenderingContext::gtkPaintOption): Added.
  17923. * platform/gtk/WidgetRenderingContext.h: Updated to reflect new methods.
  17924. * platform/gtk/gtkdrawing.h: Remove newly unused code.
  17925. * platform/gtk/gtk2drawing.c: Ditto.
  17926. 2011-01-19 Tony Gentilcore <tonyg@chromium.org>
  17927. Unreviewed build fix.
  17928. Build fix for r76170
  17929. https://bugs.webkit.org/show_bug.cgi?id=52758
  17930. * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
  17931. 2011-01-19 David D. Kilzer <ddkilzer@apple.com>
  17932. <http://webkit.org/b/52687> Clean up FrameLoader methods for PLUGIN_PROXY_FOR_VIDEO
  17933. Reviewed by Eric Carlson.
  17934. * loader/FrameLoader.cpp: Declare the methods here.
  17935. (WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
  17936. (WebCore::FrameLoader::showMediaPlayerProxyPlugin):
  17937. * loader/FrameLoader.cpp: Moved methods to here...
  17938. (WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
  17939. (WebCore::FrameLoader::showMediaPlayerProxyPlugin):
  17940. * loader/SubframeLoader.cpp: ...from here.
  17941. (WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
  17942. (WebCore::FrameLoader::showMediaPlayerProxyPlugin):
  17943. 2011-01-19 Tony Gentilcore <tonyg@chromium.org>
  17944. Reviewed by Mihai Parparita.
  17945. Perform some forward declaration
  17946. https://bugs.webkit.org/show_bug.cgi?id=52522
  17947. No new tests because no new functionality.
  17948. * accessibility/AccessibilityObject.h:
  17949. * css/WebKitCSSMatrix.cpp:
  17950. * html/HTMLAreaElement.cpp:
  17951. * html/canvas/CanvasRenderingContext2D.cpp:
  17952. * inspector/InspectorController.cpp:
  17953. * platform/graphics/FloatPoint.cpp:
  17954. * platform/graphics/Font.cpp:
  17955. * platform/graphics/Font.h:
  17956. * platform/graphics/FontFastPath.cpp:
  17957. * platform/graphics/GraphicsContext.cpp:
  17958. * platform/graphics/ImageBuffer.h:
  17959. * platform/graphics/StringTruncator.cpp:
  17960. * platform/graphics/WidthIterator.cpp:
  17961. * platform/graphics/mac/ComplexTextController.cpp:
  17962. * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
  17963. * platform/graphics/mac/FontComplexTextMac.cpp:
  17964. * platform/graphics/transforms/TransformationMatrix.cpp:
  17965. * platform/graphics/transforms/TransformationMatrix.h:
  17966. * rendering/EllipsisBox.cpp:
  17967. * rendering/InlineTextBox.cpp:
  17968. * rendering/RenderBlock.cpp:
  17969. * rendering/RenderBlockLineLayout.cpp:
  17970. * rendering/RenderEmbeddedObject.cpp:
  17971. * rendering/RenderFileUploadControl.cpp:
  17972. * rendering/RenderFlexibleBox.cpp:
  17973. * rendering/RenderImage.cpp:
  17974. * rendering/RenderListBox.cpp:
  17975. * rendering/RenderListMarker.cpp:
  17976. * rendering/RenderMenuList.cpp:
  17977. * rendering/RenderObject.h:
  17978. * rendering/RenderText.cpp:
  17979. * rendering/RenderTextControl.cpp:
  17980. * rendering/svg/SVGInlineTextBox.cpp:
  17981. * rendering/svg/SVGMarkerLayoutInfo.h:
  17982. * rendering/svg/SVGTextMetrics.cpp:
  17983. * svg/SVGFont.cpp:
  17984. 2011-01-19 Adrienne Walker <enne@google.com>
  17985. Reviewed by Kenneth Russell.
  17986. [chromium] Tiled compositor should use texture manager
  17987. https://bugs.webkit.org/show_bug.cgi?id=52418
  17988. Test: compositing/
  17989. * platform/graphics/chromium/LayerRendererChromium.cpp:
  17990. (WebCore::LayerRendererChromium::~LayerRendererChromium):
  17991. (WebCore::LayerRendererChromium::cleanupSharedObjects):
  17992. * platform/graphics/chromium/LayerTilerChromium.cpp:
  17993. (WebCore::LayerTilerChromium::LayerTilerChromium):
  17994. (WebCore::LayerTilerChromium::reset):
  17995. (WebCore::LayerTilerChromium::createTile):
  17996. (WebCore::LayerTilerChromium::update):
  17997. (WebCore::LayerTilerChromium::draw):
  17998. * platform/graphics/chromium/LayerTilerChromium.h:
  17999. (WebCore::LayerTilerChromium::Tile::Tile):
  18000. (WebCore::LayerTilerChromium::Tile::texture):
  18001. 2011-01-19 Stephen White <senorblanco@chromium.org>
  18002. Unreviewed; build fix for chromium.
  18003. * platform/graphics/chromium/GLES2Canvas.cpp:
  18004. (WebCore::GLES2Canvas::fillPath):
  18005. 2011-01-18 Stephen White <senorblanco@chromium.org>
  18006. Reviewed by James Robinson.
  18007. Implement accelerated path drawing and clipping for the Canvas2D GPU
  18008. path.
  18009. https://bugs.webkit.org/show_bug.cgi?id=52627
  18010. This is done with a simple curve interpolator and the GLU tesselator,
  18011. which is good enough for a 3-5X speedup on
  18012. http://ie.microsoft.com/testdrive/Performance/Galactic/Default.html.
  18013. Covered by canvas/philip/2d.path.clip.basic.html, and many, many more.
  18014. All tests canvas/philip and fast/canvas paths pass with no
  18015. regressions, although two have minor pixel differences which require
  18016. rebaselining.
  18017. * WebCore.gyp/WebCore.gyp:
  18018. Add internal_glu include path to chromium build.
  18019. * WebCore.gypi:
  18020. Add internal_glu files to chromium build.
  18021. * html/canvas/CanvasRenderingContext2D.cpp:
  18022. (WebCore::CanvasRenderingContext2D::reset):
  18023. (WebCore::CanvasRenderingContext2D::platformLayer):
  18024. Make CanvasRenderingContext2D more robust against failure to create
  18025. a DrawingBuffer.
  18026. * platform/graphics/chromium/DrawingBufferChromium.cpp:
  18027. (WebCore::DrawingBuffer::DrawingBuffer):
  18028. As in DrawingBufferMac.cpp, call reset() from the constructor.
  18029. Also initialize size to (-1, -1), so reset() doesn't early-out.
  18030. Add initializers for depthBuffer and stencilBuffer, and remove
  18031. multisampleDepthStencilBuffer.
  18032. * platform/graphics/chromium/GLES2Canvas.cpp:
  18033. Remove some unused #includes.
  18034. (WebCore::GLES2Canvas::State::State):
  18035. Add clipping state, and implement save/restore via the copy constructor.
  18036. (WebCore::operator*):
  18037. (WebCore::Quadratic::Quadratic):
  18038. (WebCore::Quadratic::fromBezier):
  18039. (WebCore::Quadratic::evaluate):
  18040. Quadratic Bezier curve class.
  18041. (WebCore::Cubic::Cubic):
  18042. (WebCore::Cubic::fromBezier):
  18043. (WebCore::Cubic::evaluate):
  18044. Cubic Bezier curve class.
  18045. (WebCore::GLES2Canvas::clearRect):
  18046. Add clipping support to clearRect().
  18047. (WebCore::GLES2Canvas::fillPath):
  18048. Implement fillPath().
  18049. (WebCore::GLES2Canvas::fillRect):
  18050. Add clipping support to fillRect().
  18051. (WebCore::GLES2Canvas::clipPath):
  18052. Implement clipPath().
  18053. (WebCore::GLES2Canvas::clipOut):
  18054. Stub out clipOut() (not called by Canvas 2D).
  18055. (WebCore::GLES2Canvas::restore):
  18056. When restoring, draw any remaining clipping paths to the stencil buffer.
  18057. (WebCore::GLES2Canvas::drawTexturedRect):
  18058. Add clipping support.
  18059. (WebCore::interpolateQuadratic):
  18060. (WebCore::interpolateCubic):
  18061. Simple curve interpolation, using the Cubic and Quadratic classes.
  18062. (WebCore::PolygonData::PolygonData):
  18063. A struct to hold the tesselation data for callbacks.
  18064. (WebCore::beginData):
  18065. (WebCore::edgeFlagData):
  18066. (WebCore::vertexData):
  18067. (WebCore::endData):
  18068. (WebCore::combineData):
  18069. internal_glu tesselation callbacks.
  18070. (WebCore::GLES2Canvas::createVertexBufferFromPath):
  18071. Build an interpolated, tesselated vertex buffer and element array buffer from a given path, suitable for filling.
  18072. (WebCore::GLES2Canvas::beginStencilDraw):
  18073. Enable stencilling, and disable draws to the color buffer.
  18074. (WebCore::GLES2Canvas::applyClipping):
  18075. If clipping is enabled, set the appropriate GL state.
  18076. * platform/graphics/chromium/GLES2Canvas.h:
  18077. Document the flavours of drawTexturedRect() a bit, so I don't get confused.
  18078. * platform/graphics/gpu/DrawingBuffer.cpp:
  18079. (WebCore::DrawingBuffer::clear):
  18080. (WebCore::DrawingBuffer::createSecondaryBuffers):
  18081. (WebCore::DrawingBuffer::resizeDepthStencil):
  18082. (WebCore::DrawingBuffer::reset):
  18083. * platform/graphics/gpu/DrawingBuffer.h:
  18084. Unify m_multisampleDepthStencilBuffer with m_depthStencilBuffer.
  18085. Implement separate depth and stencil buffers for when
  18086. OES_packed_depth_stencil is not available. Refactor creation of
  18087. multisampled and non-multisampled depth and stencil buffers into
  18088. resizeDepthStencil().
  18089. * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
  18090. (WebCore::SharedGraphicsContext3D::create):
  18091. Turn on stencil, turn off depth, turn off antialiasing (for now).
  18092. (WebCore::SharedGraphicsContext3D::enableStencil):
  18093. * platform/graphics/gpu/SharedGraphicsContext3D.h:
  18094. Implement stencil enable/disable.
  18095. * platform/graphics/gpu/mac/DrawingBufferMac.mm:
  18096. (WebCore::DrawingBuffer::DrawingBuffer):
  18097. Remove m_multisampleDepthStencilBuffer. Set the size to (-1, -1)
  18098. on creation, so reset() doesn't early-out. Initialize m_depthBuffer
  18099. and m_stencilBuffer.
  18100. * platform/graphics/skia/GraphicsContextSkia.cpp:
  18101. (WebCore::GraphicsContext::canvasClip):
  18102. (WebCore::GraphicsContext::clipOut):
  18103. (WebCore::GraphicsContext::clipPath):
  18104. (WebCore::GraphicsContext::fillPath):
  18105. Put in GPU hooks for path clipping, and path drawing.
  18106. * platform/graphics/skia/PlatformContextSkia.cpp:
  18107. (WebCore::PlatformContextSkia::canAccelerate):
  18108. Don't check for clipping paths in canAccelerate() (since we can
  18109. now accelerate them).
  18110. (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
  18111. Don't do clipping when uploading software draws to hardware.
  18112. * thirdparty/glu/README.webkit:
  18113. * thirdparty/glu/gluos.h:
  18114. #undef MIN and MAX, to fix warnings-as-errors in Chrome/Mac build.
  18115. * thirdparty/glu/libtess/geom.c:
  18116. * thirdparty/glu/libtess/priorityq.c:
  18117. * thirdparty/glu/libtess/render.c:
  18118. Use do{}while(0) instead of if(1)else construct in macro.
  18119. * thirdparty/glu/libtess/sweep.c:
  18120. (IsWindingInside):
  18121. (DoneEdgeDict):
  18122. Fix some warnings treated as errors for the Linux Release build.
  18123. 2011-01-19 Sheriff Bot <webkit.review.bot@gmail.com>
  18124. Unreviewed, rolling out r76144.
  18125. http://trac.webkit.org/changeset/76144
  18126. https://bugs.webkit.org/show_bug.cgi?id=52737
  18127. Broke tests on multiple bots, mostly Chromium Canaries
  18128. (Requested by dimich on #webkit).
  18129. * rendering/RenderText.cpp:
  18130. (WebCore::RenderText::localCaretRect):
  18131. 2011-01-19 Simon Fraser <simon.fraser@apple.com>
  18132. Reviewed by Adam Roben.
  18133. [CSS Gradients] Crash due to out-of-memory with repeating-linear-gradient and latter stop positioned before former
  18134. https://bugs.webkit.org/show_bug.cgi?id=52732
  18135. When repeating gradient stops, make sure that the first and last stops are not at the same
  18136. place, otherwise we'll add stops indefinitely and run out of memory.
  18137. Test: fast/gradients/zero-range-repeating-gradient-hang.html
  18138. * css/CSSGradientValue.cpp:
  18139. (WebCore::CSSGradientValue::addStops):
  18140. 2011-01-14 Dimitri Glazkov <dglazkov@chromium.org>
  18141. Reviewed by Darin Adler.
  18142. Remove event forwarding logic from input[type=range], simplify event flow and thumb positioning logic.
  18143. https://bugs.webkit.org/show_bug.cgi?id=52464
  18144. This change has two parts:
  18145. 1) Utilize shadow DOM event retargeting to get rid of forwarding events
  18146. via render tree;
  18147. 2) Move thumb positioning logic from RenderSlider to SliderThumbElement.
  18148. These two are highly co-dependent. It looked ugly when I tried to
  18149. separate them.
  18150. No change in behavior, covered by existing tests.
  18151. * html/HTMLInputElement.cpp:
  18152. (WebCore::HTMLInputElement::defaultEventHandler): Added invocation of
  18153. InputType::handleMouseDownEvent.
  18154. * html/InputType.cpp:
  18155. (WebCore::InputType::handleMouseDownEvent): Added empty decl.
  18156. * html/InputType.h: Added def.
  18157. * html/RangeInputType.cpp:
  18158. (WebCore::RangeInputType::handleMouseDownEvent): Added to handle the case
  18159. when the user clicks on the track of the slider. Also removed the
  18160. forwardEvent method.
  18161. * html/RangeInputType.h: Added/removed defs.
  18162. * html/shadow/SliderThumbElement.cpp:
  18163. (WebCore::SliderThumbElement::dragFrom): Added a helper method to start
  18164. dragging from any position.
  18165. (WebCore::SliderThumbElement::dragTo): Added a helper method to drag to
  18166. specified position.
  18167. (WebCore::SliderThumbElement::setPosition): Collapsed most of the positioning
  18168. logic in RenderSlider into this method, which is now a simple calculation
  18169. and adjusting of thumb position based on supplied coordinates.
  18170. (WebCore::SliderThumbElement::startDragging): Added.
  18171. (WebCore::SliderThumbElement::stopDragging): Added.
  18172. (WebCore::SliderThumbElement::defaultEventHandler): Removed most of the
  18173. old position-sniffing logic and replaced with simple calls to start,
  18174. stop, and drag the thumb.
  18175. * html/shadow/SliderThumbElement.h: Added defs.
  18176. * rendering/RenderSlider.cpp: Removed a bunch of code that is no longer
  18177. necessary.
  18178. * rendering/RenderSlider.h: Removed defs, removed now-unnecessary friendliness.
  18179. 2011-01-19 Shane Stephens <shanestephens@google.com>
  18180. Reviewed by Chris Marrin.
  18181. Make AffineTransform and TransformationMatrix do matrix multiplication in the correct order (Column Major)
  18182. https://bugs.webkit.org/show_bug.cgi?id=48031
  18183. Fixed reversal, renamed matrix methods to be clearer, found all examples of operator* and
  18184. operator*= usage and switched operand order.
  18185. No new tests as this refactor doesn't add functionality.
  18186. * html/HTMLCanvasElement.cpp:
  18187. (WebCore::HTMLCanvasElement::baseTransform):
  18188. * html/canvas/CanvasRenderingContext2D.cpp:
  18189. (WebCore::CanvasRenderingContext2D::transform):
  18190. (WebCore::CanvasRenderingContext2D::setTransform):
  18191. * platform/graphics/cg/PatternCG.cpp:
  18192. (WebCore::Pattern::createPlatformPattern):
  18193. * platform/graphics/chromium/GLES2Canvas.cpp:
  18194. (WebCore::GLES2Canvas::fillRect):
  18195. (WebCore::GLES2Canvas::concatCTM):
  18196. (WebCore::GLES2Canvas::drawQuad):
  18197. * platform/graphics/chromium/TransparencyWin.cpp:
  18198. (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
  18199. (WebCore::TransparencyWin::setupTransformForKeepTransform):
  18200. * platform/graphics/transforms/AffineTransform.cpp:
  18201. (WebCore::AffineTransform::multiply):
  18202. (WebCore::AffineTransform::rotate):
  18203. * platform/graphics/transforms/AffineTransform.h:
  18204. (WebCore::AffineTransform::operator*=):
  18205. (WebCore::AffineTransform::operator*):
  18206. * platform/graphics/wince/GraphicsContextWinCE.cpp:
  18207. (WebCore::GraphicsContextPlatformPrivate::concatCTM):
  18208. * platform/graphics/wince/SharedBitmap.cpp:
  18209. (WebCore::SharedBitmap::drawPattern):
  18210. * rendering/svg/RenderSVGResourceContainer.cpp:
  18211. (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
  18212. * rendering/svg/RenderSVGResourceGradient.cpp:
  18213. (WebCore::clipToTextMask):
  18214. (WebCore::RenderSVGResourceGradient::applyResource):
  18215. * rendering/svg/RenderSVGResourcePattern.cpp:
  18216. (WebCore::RenderSVGResourcePattern::applyResource):
  18217. * rendering/svg/RenderSVGRoot.cpp:
  18218. (WebCore::RenderSVGRoot::localToBorderBoxTransform):
  18219. * rendering/svg/SVGImageBufferTools.cpp:
  18220. (WebCore::SVGImageBufferTools::calculateTransformationToOutermostSVGCoordinateSystem):
  18221. (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
  18222. * rendering/svg/SVGTextLayoutEngine.cpp:
  18223. (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
  18224. * svg/SVGLocatable.cpp:
  18225. (WebCore::SVGLocatable::computeCTM):
  18226. (WebCore::SVGLocatable::getTransformToElement):
  18227. * svg/SVGMatrix.h:
  18228. (WebCore::SVGMatrix::multiply):
  18229. * svg/SVGSVGElement.cpp:
  18230. (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
  18231. (WebCore::SVGSVGElement::viewBoxToViewTransform):
  18232. * svg/SVGStyledTransformableElement.cpp:
  18233. (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
  18234. * svg/SVGTextElement.cpp:
  18235. (WebCore::SVGTextElement::animatedLocalTransform):
  18236. * svg/SVGTransformList.cpp:
  18237. (WebCore::SVGTransformList::concatenate):
  18238. 2011-01-19 Chang Shu <chang.shu@nokia.com>
  18239. Reviewed by Darin Adler.
  18240. The return value of contentEditable() function should depend on the DOM attribute
  18241. instead of render style userModify. The code change fixed test cases in the bug
  18242. and partially fixed test cases in other contentEditable bugs;
  18243. https://bugs.webkit.org/show_bug.cgi?id=52056
  18244. * html/HTMLElement.cpp:
  18245. (WebCore::HTMLElement::contentEditable):
  18246. 2011-01-19 Levi Weintraub <leviw@chromium.org>
  18247. Reviewed by Darin Adler.
  18248. Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and
  18249. logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this
  18250. resulted in the caret being placed incorrectly in overflowing editable IFrame content.
  18251. Long lines in non-white-space-pre editable documents show cursor in wrong place
  18252. https://bugs.webkit.org/show_bug.cgi?id=48132
  18253. Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html
  18254. * rendering/RenderText.cpp:
  18255. (WebCore::RenderText::localCaretRect):
  18256. 2011-01-19 Chris Marrin <cmarrin@apple.com>
  18257. Reviewed by Simon Fraser.
  18258. WK2 - Multiple crashes in PlatformCALayer::replaceSublayer
  18259. https://bugs.webkit.org/show_bug.cgi?id=52695
  18260. Added ASSERTs to the places we assume a non-null superlayer.
  18261. * platform/graphics/ca/GraphicsLayerCA.cpp:
  18262. (WebCore::GraphicsLayerCA::ensureStructuralLayer):
  18263. (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
  18264. 2011-01-18 Beth Dakin <bdakin@apple.com>
  18265. Reviewed by Maciej Stachowiak.
  18266. Fix for <rdar://problem/8882916> Overlay scrollers require
  18267. content to layout underneath the scrollbar area
  18268. The render tree should not include scrollbar size for
  18269. overlay scrollers. This patch will allow scrollers on
  18270. the WebView to behave like overflow:overlay.
  18271. Treat overlay scrollers the same way as the !includeScrollbars
  18272. case.
  18273. * platform/ScrollView.cpp:
  18274. (WebCore::ScrollView::visibleContentRect):
  18275. No corner rect for overlay scrollers.
  18276. (WebCore::ScrollView::scrollCornerRect):
  18277. usesOverlayScrollbars() currently always returns no.
  18278. * platform/ScrollbarTheme.h:
  18279. (WebCore::ScrollbarTheme::usesOverlayScrollbars):
  18280. * platform/mac/ScrollbarThemeMac.h:
  18281. * platform/mac/ScrollbarThemeMac.mm:
  18282. (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
  18283. includeVerticalScrollbarSize() and includeHorizontalScrollbarSize()
  18284. should return false for overlay scrollers. They already return
  18285. false for overflow:overlay.
  18286. * rendering/RenderBox.cpp:
  18287. (WebCore::RenderBox::includeVerticalScrollbarSize):
  18288. (WebCore::RenderBox::includeHorizontalScrollbarSize):
  18289. * rendering/RenderBox.h:
  18290. In the render tree, always treat overlay scrollers like
  18291. they have a width and height of 0.
  18292. * rendering/RenderLayer.cpp:
  18293. (WebCore::RenderLayer::verticalScrollbarWidth):
  18294. (WebCore::RenderLayer::horizontalScrollbarHeight):
  18295. * rendering/RenderListBox.cpp:
  18296. (WebCore::RenderListBox::verticalScrollbarWidth):
  18297. 2011-01-18 Evan Martin <evan@chromium.org>
  18298. Reviewed by Tony Chang.
  18299. [chromium] simplify complex text code, fixing a handful of layout tests
  18300. https://bugs.webkit.org/show_bug.cgi?id=52661
  18301. Change ComplexTextControllerLinux to lay out RTL text to the left from
  18302. the starting point. (Previously it always went to the right.) This allows
  18303. us to map pixel offsets more directly into offsets within the text runs,
  18304. simplifying a few of the text-fiddling functions (they no longer need to
  18305. track the current position, as ComplexTextController now does it).
  18306. * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
  18307. (WebCore::ComplexTextController::ComplexTextController):
  18308. (WebCore::ComplexTextController::reset):
  18309. (WebCore::ComplexTextController::setGlyphXPositions):
  18310. * platform/graphics/chromium/ComplexTextControllerLinux.h:
  18311. (WebCore::ComplexTextController::offsetX):
  18312. * platform/graphics/chromium/FontLinux.cpp:
  18313. (WebCore::Font::drawComplexText):
  18314. (WebCore::Font::floatWidthForComplexText):
  18315. (WebCore::glyphIndexForXPositionInScriptRun):
  18316. (WebCore::Font::offsetForPositionForComplexText):
  18317. (WebCore::Font::selectionRectForComplexText):
  18318. 2011-01-19 Pavel Feldman <pfeldman@chromium.org>
  18319. Reviewed by Yury Semikhatsky.
  18320. Web Inspector: move methods from InjectedScript domain into DOM,
  18321. Runtime and Debugger domains. Introduce InspectorRuntimeAgent.
  18322. https://bugs.webkit.org/show_bug.cgi?id=52717
  18323. * CMakeLists.txt:
  18324. * GNUmakefile.am:
  18325. * WebCore.gypi:
  18326. * WebCore.pro:
  18327. * WebCore.vcproj/WebCore.vcproj:
  18328. * WebCore.xcodeproj/project.pbxproj:
  18329. * inspector/CodeGeneratorInspector.pm:
  18330. * inspector/InjectedScript.cpp:
  18331. (WebCore::InjectedScript::evaluateOnCallFrame):
  18332. (WebCore::InjectedScript::getCompletions):
  18333. (WebCore::InjectedScript::getCompletionsOnCallFrame):
  18334. * inspector/InjectedScript.h:
  18335. * inspector/InjectedScriptHost.cpp:
  18336. (WebCore::InjectedScriptHost::injectedScriptForMainWorld):
  18337. * inspector/InjectedScriptHost.h:
  18338. * inspector/InjectedScriptSource.js:
  18339. (.):
  18340. ():
  18341. * inspector/Inspector.idl:
  18342. * inspector/InspectorController.cpp:
  18343. (WebCore::InspectorController::connectFrontend):
  18344. (WebCore::InspectorController::releaseFrontendLifetimeAgents):
  18345. * inspector/InspectorController.h:
  18346. * inspector/InspectorDOMAgent.cpp:
  18347. (WebCore::InspectorDOMAgent::InspectorDOMAgent):
  18348. (WebCore::InspectorDOMAgent::resolveNode):
  18349. (WebCore::InspectorDOMAgent::getNodeProperties):
  18350. (WebCore::InspectorDOMAgent::getNodePrototypes):
  18351. (WebCore::InspectorDOMAgent::injectedScriptForNodeId):
  18352. * inspector/InspectorDOMAgent.h:
  18353. (WebCore::EventListenerInfo::EventListenerInfo):
  18354. (WebCore::InspectorDOMAgent::DOMListener::~DOMListener):
  18355. (WebCore::InspectorDOMAgent::create):
  18356. (WebCore::InspectorDOMAgent::cast):
  18357. (WebCore::InspectorDOMAgent::documents):
  18358. * inspector/InspectorDebuggerAgent.cpp:
  18359. (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
  18360. (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
  18361. (WebCore::InspectorDebuggerAgent::injectedScriptForCallFrameId):
  18362. * inspector/InspectorDebuggerAgent.h:
  18363. * inspector/InspectorRuntimeAgent.cpp: Added.
  18364. (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
  18365. (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
  18366. (WebCore::InspectorRuntimeAgent::evaluate):
  18367. (WebCore::InspectorRuntimeAgent::getCompletions):
  18368. (WebCore::InspectorRuntimeAgent::getProperties):
  18369. (WebCore::InspectorRuntimeAgent::setPropertyValue):
  18370. (WebCore::InspectorRuntimeAgent::pushNodeToFrontend):
  18371. (WebCore::InspectorRuntimeAgent::injectedScriptForObjectId):
  18372. * inspector/InspectorRuntimeAgent.h: Copied from Source/WebCore/inspector/InjectedScript.h.
  18373. (WebCore::InspectorRuntimeAgent::create):
  18374. * inspector/front-end/ConsoleView.js:
  18375. (WebInspector.ConsoleView.prototype.completions):
  18376. * inspector/front-end/ScriptsPanel.js:
  18377. (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
  18378. 2011-01-18 Pavel Podivilov <podivilov@chromium.org>
  18379. Reviewed by Yury Semikhatsky.
  18380. Web Inspector: add UglifyJS parser and formatter files
  18381. https://bugs.webkit.org/show_bug.cgi?id=51702
  18382. * WebCore.gypi:
  18383. * WebCore.vcproj/WebCore.vcproj:
  18384. * inspector/front-end/ScriptFormatter.js:
  18385. (WebInspector.ScriptFormatter.positionToLocation):
  18386. (WebInspector.ScriptFormatter.prototype.format.messageHandler):
  18387. (WebInspector.ScriptFormatter.prototype.format):
  18388. (WebInspector.ScriptFormatter.prototype._buildMapping):
  18389. (WebInspector.ScriptFormatter.prototype._convertPosition):
  18390. * inspector/front-end/SourceFrame.js:
  18391. (WebInspector.SourceFrame.prototype.formatSource.didFormat):
  18392. (WebInspector.SourceFrame.prototype.formatSource):
  18393. * inspector/front-end/WebKit.qrc:
  18394. * inspector/front-end/parse-js.js: Added. UglifyJS parser.
  18395. * inspector/front-end/process.js: Added. UglifyJS formatter.
  18396. * inspector/front-end/scriptFormatterWorker.js: Added. Worker script that wraps UglifyJS code.
  18397. (onmessage):
  18398. (beautify):
  18399. (loadModule):
  18400. (require):
  18401. * inspector/front-end/utilities.js:
  18402. ():
  18403. 2011-01-19 Pavel Podivilov <podivilov@chromium.org>
  18404. Reviewed by Yury Semikhatsky.
  18405. Web Inspector: [JSC] scripts have incorrect starting line (always 1).
  18406. https://bugs.webkit.org/show_bug.cgi?id=52721
  18407. Test: inspector/debugger-scripts.html
  18408. * bindings/js/ScriptDebugServer.cpp:
  18409. (WebCore::ScriptDebugServer::dispatchDidParseSource):
  18410. (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
  18411. (WebCore::ScriptDebugServer::sourceParsed):
  18412. * bindings/js/ScriptDebugServer.h:
  18413. * bindings/js/ScriptSourceCode.h:
  18414. (WebCore::ScriptSourceCode::ScriptSourceCode):
  18415. * bindings/js/StringSourceProvider.h:
  18416. (WebCore::StringSourceProvider::create):
  18417. (WebCore::StringSourceProvider::startPosition):
  18418. (WebCore::StringSourceProvider::StringSourceProvider):
  18419. 2011-01-19 Satish Sampath <satish@chromium.org>
  18420. Reviewed by Jeremy Orlow.
  18421. Send origin/url as part of speech input requests to the embedder.
  18422. https://bugs.webkit.org/show_bug.cgi?id=52718
  18423. * page/SpeechInput.cpp:
  18424. (WebCore::SpeechInput::startRecognition): Pass up additional origin parameter.
  18425. * page/SpeechInput.h:
  18426. * page/SpeechInputClient.h:
  18427. * platform/mock/SpeechInputClientMock.cpp:
  18428. (WebCore::SpeechInputClientMock::startRecognition): Updated prototype.
  18429. * platform/mock/SpeechInputClientMock.h:
  18430. * rendering/TextControlInnerElements.cpp:
  18431. (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): Pass the frame origin to speech input request.
  18432. 2011-01-19 Hans Wennborg <hans@chromium.org>
  18433. Reviewed by Jeremy Orlow.
  18434. IndexedDB: Support auto-increment keys
  18435. https://bugs.webkit.org/show_bug.cgi?id=52576
  18436. Add support for auto-increment keys.
  18437. Test: storage/indexeddb/objectstore-autoincrement.html
  18438. * storage/IDBDatabase.cpp:
  18439. (WebCore::IDBDatabase::createObjectStore):
  18440. * storage/IDBObjectStoreBackendImpl.cpp:
  18441. (WebCore::genAutoIncrementKey):
  18442. (WebCore::IDBObjectStoreBackendImpl::putInternal):
  18443. 2011-01-19 Csaba Osztrogonác <ossy@webkit.org>
  18444. Reviewed by Laszlo Gombos and Tor Arne Vestbø.
  18445. [Qt] Remove unnecessary "../Source" from paths
  18446. after moving source files into Source is finished.
  18447. * WebCore.pri:
  18448. * WebCore.pro:
  18449. 2011-01-19 Alexander Pavlov <apavlov@chromium.org>
  18450. Reviewed by Pavel Feldman.
  18451. Web Inspector: Employ TextPrompt for CSS property name/value autocompletion
  18452. https://bugs.webkit.org/show_bug.cgi?id=52212
  18453. WebInspector.CSSKeywordCompletions contains a hand-written list of accepted CSS property value keywords
  18454. for each property. WebInspector.TextPrompt is used to suggest both the name and value keywords while
  18455. editing styles, in place of the old custom suggestion code.
  18456. * inspector/front-end/CSSCompletions.js:
  18457. (WebInspector.CSSCompletions.prototype.startsWith): Fix array-out-of-bounds error.
  18458. * inspector/front-end/CSSKeywordCompletions.js: Added.
  18459. (WebInspector.CSSKeywordCompletions.forProperty):
  18460. * inspector/front-end/StylesSidebarPane.js:
  18461. (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
  18462. (WebInspector.StylePropertyTreeElement.prototype):
  18463. ():
  18464. * inspector/front-end/TextPrompt.js:
  18465. (WebInspector.TextPrompt):
  18466. (WebInspector.TextPrompt.prototype.removeFromElement):
  18467. (WebInspector.TextPrompt.prototype._onKeyDown):
  18468. (WebInspector.TextPrompt.prototype.tabKeyPressed):
  18469. (WebInspector.TextPrompt.prototype.upKeyPressed):
  18470. (WebInspector.TextPrompt.prototype.downKeyPressed):
  18471. (WebInspector.TextPrompt.prototype._moveBackInHistory):
  18472. (WebInspector.TextPrompt.prototype._moveForwardInHistory):
  18473. * inspector/front-end/inspector.css:
  18474. (.auto-complete-text, .editing .auto-complete-text):
  18475. * inspector/front-end/inspector.html:
  18476. 2011-01-19 Dai Mikurube <dmikurube@google.com>
  18477. Reviewed by Kent Tamura.
  18478. Implement onformchange and onforminput event handlers
  18479. https://bugs.webkit.org/show_bug.cgi?id=26141
  18480. Tests: fast/forms/formchange-event.html
  18481. fast/forms/forminput-event.html
  18482. * bindings/scripts/CodeGeneratorGObject.pm: Added event names.
  18483. * dom/Document.h: Added event definitions.
  18484. * dom/Document.idl: Added event definitions.
  18485. * dom/Element.h: Added event definitions.
  18486. * dom/Element.idl: Added event definitions.
  18487. * dom/Event.cpp:
  18488. (WebCore::Event::fromUserGesture): Added a condition for a formchange event in handling user gestures.
  18489. * dom/EventNames.h: Added event definitions.
  18490. * dom/InputElement.cpp:
  18491. (WebCore::InputElement::setValueFromRenderer): Replaced a direct dispatchEvent() call into dispatchInputEvents(), a virtual function which broadcasts forminput events for HTML elements.
  18492. * dom/Node.cpp:
  18493. (WebCore::Node::dispatchInputEvents): Defined basic dispatchInputEvents() described above.
  18494. (WebCore::Node::dispatchChangeEvents): Defined basic dispatchChangeEvents() described above.
  18495. (WebCore::Node::defaultEventHandler): Replaced a direct dispatchEvent() call into dispatchInputEvents().
  18496. * dom/Node.h:
  18497. * html/FormAssociatedElement.h: Added isResettable() to check the element is resettable or not.
  18498. * html/HTMLAttributeNames.in: Added event names.
  18499. * html/HTMLElement.cpp:
  18500. (WebCore::HTMLElement::parseMappedAttribute): Added event handling.
  18501. (WebCore::HTMLElement::shadowAncestorOwnerForm): Added to get an ancestor <form> element from a shadow element.
  18502. (WebCore::HTMLElement::dispatchChangeEvents): Defined dispatchChangeEvents() for HTML elements described above.
  18503. (WebCore::HTMLElement::dispatchInputEvents): Defined dispatchInputEvents() for HTML elements described above.
  18504. * html/HTMLElement.h:
  18505. * html/HTMLFormControlElement.cpp:
  18506. (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent): Added calling dispatchFormChange() to broadcast formchange events.
  18507. (WebCore::HTMLFormControlElement::dispatchFormControlInputEvent): Defined newly to dispatch an input event with broadcasting forminput events.
  18508. * html/HTMLFormControlElement.h: Added isResettable().
  18509. * html/HTMLFormElement.cpp:
  18510. (WebCore::HTMLFormElement::broadcastFormEvent): Added to broadcast forminput or formchange events.
  18511. (WebCore::HTMLFormElement::dispatchFormInput): Defined newly to broadcast forminput events.
  18512. (WebCore::HTMLFormElement::dispatchFormChange): Defined newly to broadcast formchange events.
  18513. * html/HTMLFormElement.h:
  18514. * html/HTMLFormElement.idl: Added dispatchFormInput() and dispatchFormChange() DOM API definitions.
  18515. * html/HTMLInputElement.cpp:
  18516. (WebCore::HTMLInputElement::stepUpFromRenderer): Replaced a direct dispatchEvent() call into dispatchInputEvents().
  18517. * html/HTMLInputElement.h: Added isResettable().
  18518. * html/HTMLKeygenElement.h: Added isResettable().
  18519. * html/HTMLObjectElement.h: Added isResettable().
  18520. * html/HTMLOutputElement.h: Added isResettable().
  18521. * html/HTMLSelectElement.h: Added isResettable().
  18522. * html/HTMLTextAreaElement.h: Added isResettable().
  18523. * page/DOMWindow.h: Added event definitions.
  18524. * page/DOMWindow.idl: Added event definitions.
  18525. * rendering/TextControlInnerElements.cpp:
  18526. (WebCore::SearchFieldCancelButtonElement::defaultEventHandler): Replaced a direct dispatchEvent() call into dispatchInputEvents().
  18527. 2011-01-19 Andrey Kosyakov <caseq@chromium.org>
  18528. Reviewed by Pavel Feldman.
  18529. Web Inspector: [Extensions API] delete pending callback from callback map before invoking it
  18530. https://bugs.webkit.org/show_bug.cgi?id=52707
  18531. * inspector/front-end/ExtensionAPI.js:
  18532. (WebInspector.injectedExtensionAPI.ExtensionServerClient.prototype._onCallback):
  18533. 2011-01-19 Levi Weintraub <leviw@google.com>
  18534. Reviewed by Ryosuke Niwa.
  18535. Replaced rangeCompliantEquivalent with Position::parentAnchoredEquivalent
  18536. and simplified the logic a bit. Unfortunately, Tables and some legacy
  18537. editing positions still need to be handled specifically.
  18538. remove rangeCompliantEquivalent and replace it with Position methods
  18539. https://bugs.webkit.org/show_bug.cgi?id=25057
  18540. No new tests as this is a refactor that doesn't change behavior.
  18541. * WebCore.exp.in:
  18542. * dom/Document.cpp:
  18543. (WebCore::Document::caretRangeFromPoint):
  18544. * dom/Position.cpp:
  18545. (WebCore::Position::parentAnchoredEquivalent):
  18546. * dom/Position.h:
  18547. * editing/ApplyStyleCommand.cpp:
  18548. (WebCore::ApplyStyleCommand::applyBlockStyle):
  18549. * editing/CompositeEditCommand.cpp:
  18550. (WebCore::CompositeEditCommand::insertNodeAt):
  18551. (WebCore::CompositeEditCommand::moveParagraphs):
  18552. * editing/DeleteSelectionCommand.cpp:
  18553. (WebCore::DeleteSelectionCommand::initializePositionData):
  18554. (WebCore::DeleteSelectionCommand::mergeParagraphs):
  18555. * editing/Editor.cpp:
  18556. (WebCore::Editor::textDirectionForSelection):
  18557. (WebCore::Editor::advanceToNextMisspelling):
  18558. * editing/InsertLineBreakCommand.cpp:
  18559. (WebCore::InsertLineBreakCommand::shouldUseBreakElement):
  18560. * editing/InsertParagraphSeparatorCommand.cpp:
  18561. (WebCore::InsertParagraphSeparatorCommand::doApply):
  18562. * editing/ReplaceSelectionCommand.cpp:
  18563. (WebCore::handleStyleSpansBeforeInsertion):
  18564. * editing/VisiblePosition.cpp:
  18565. (WebCore::makeRange):
  18566. (WebCore::setStart):
  18567. (WebCore::setEnd):
  18568. * editing/VisibleSelection.cpp:
  18569. (WebCore::VisibleSelection::firstRange):
  18570. (WebCore::VisibleSelection::toNormalizedRange):
  18571. (WebCore::makeSearchRange):
  18572. * editing/htmlediting.cpp:
  18573. (WebCore::indexForVisiblePosition):
  18574. * editing/htmlediting.h:
  18575. * editing/visible_units.cpp:
  18576. (WebCore::previousBoundary):
  18577. (WebCore::nextBoundary):
  18578. * page/DOMSelection.cpp:
  18579. (WebCore::anchorPosition):
  18580. (WebCore::focusPosition):
  18581. (WebCore::basePosition):
  18582. (WebCore::extentPosition):
  18583. 2011-01-19 Peter Rybin <peter.rybin@gmail.com>
  18584. Reviewed by Yury Semikhatsky.
  18585. Web Inspector: script column offset is incorrect
  18586. https://bugs.webkit.org/show_bug.cgi?id=52580
  18587. Column is updated in 3 places, 2 less probable places contained error.
  18588. Fixed now.
  18589. * platform/text/SegmentedString.cpp:
  18590. (WebCore::SegmentedString::advanceSlowCase):
  18591. * platform/text/SegmentedString.h:
  18592. (WebCore::SegmentedString::advancePastNewline):
  18593. 2011-01-18 Pavel Feldman <pfeldman@chromium.org>
  18594. Reviewed by Yury Semikhatsky.
  18595. Web Inspector: make InjectedScriptAccess API a part of Web Inspector protocol.
  18596. https://bugs.webkit.org/show_bug.cgi?id=52652
  18597. Calls served by the InjectedScript should be first class protocol
  18598. citizens, not dispatched via single protocol message.
  18599. * WebCore.gypi:
  18600. * WebCore.vcproj/WebCore.vcproj:
  18601. * inspector/CodeGeneratorInspector.pm:
  18602. * inspector/InjectedScript.cpp:
  18603. (WebCore::InjectedScript::evaluate):
  18604. (WebCore::InjectedScript::evaluateInCallFrame):
  18605. (WebCore::InjectedScript::evaluateOnSelf):
  18606. (WebCore::InjectedScript::getCompletions):
  18607. (WebCore::InjectedScript::getProperties):
  18608. (WebCore::InjectedScript::pushNodeToFrontend):
  18609. (WebCore::InjectedScript::resolveNode):
  18610. (WebCore::InjectedScript::getNodeProperties):
  18611. (WebCore::InjectedScript::getNodePrototypes):
  18612. (WebCore::InjectedScript::setPropertyValue):
  18613. (WebCore::InjectedScript::makeCall):
  18614. * inspector/InjectedScript.h:
  18615. * inspector/InjectedScriptHost.cpp:
  18616. (WebCore::InjectedScriptHost::evaluate):
  18617. (WebCore::InjectedScriptHost::evaluateInCallFrame):
  18618. (WebCore::InjectedScriptHost::evaluateOnSelf):
  18619. (WebCore::InjectedScriptHost::getCompletions):
  18620. (WebCore::InjectedScriptHost::getProperties):
  18621. (WebCore::InjectedScriptHost::pushNodeToFrontend):
  18622. (WebCore::InjectedScriptHost::resolveNode):
  18623. (WebCore::InjectedScriptHost::getNodeProperties):
  18624. (WebCore::InjectedScriptHost::getNodePrototypes):
  18625. (WebCore::InjectedScriptHost::setPropertyValue):
  18626. (WebCore::InjectedScriptHost::injectedScriptForObjectId):
  18627. (WebCore::InjectedScriptHost::injectedScriptForNodeId):
  18628. (WebCore::InjectedScriptHost::injectedScriptForMainWorld):
  18629. * inspector/InjectedScriptHost.h:
  18630. * inspector/InjectedScriptSource.js:
  18631. (.):
  18632. * inspector/Inspector.idl:
  18633. * inspector/InspectorController.cpp:
  18634. * inspector/InspectorController.h:
  18635. * inspector/InspectorValues.cpp:
  18636. (WebCore::InspectorObject::getNumber):
  18637. * inspector/InspectorValues.h:
  18638. * inspector/front-end/AuditRules.js:
  18639. (WebInspector.AuditRules.evaluateInTargetWindow):
  18640. * inspector/front-end/ConsoleView.js:
  18641. (WebInspector.ConsoleView.prototype.completions):
  18642. (WebInspector.ConsoleView.prototype.doEvalInWindow):
  18643. * inspector/front-end/ElementsTreeOutline.js:
  18644. (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
  18645. * inspector/front-end/ExtensionPanel.js:
  18646. (WebInspector.ExtensionWatchSidebarPane.prototype.setExpression):
  18647. * inspector/front-end/ExtensionServer.js:
  18648. (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
  18649. * inspector/front-end/InjectedScriptAccess.js: Removed.
  18650. * inspector/front-end/PropertiesSidebarPane.js:
  18651. (WebInspector.PropertiesSidebarPane.prototype.update.callback):
  18652. (WebInspector.PropertiesSidebarPane.prototype.update):
  18653. * inspector/front-end/RemoteObject.js:
  18654. (WebInspector.RemoteObject.resolveNode):
  18655. (WebInspector.RemoteObject.prototype.getProperties):
  18656. (WebInspector.RemoteObject.prototype.setPropertyValue):
  18657. (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
  18658. * inspector/front-end/ScriptsPanel.js:
  18659. (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
  18660. * inspector/front-end/WebKit.qrc:
  18661. * inspector/front-end/inspector.html:
  18662. 2011-01-18 Anton Muhin <antonm@chromium.org>
  18663. Reviewed by Adam Barth.
  18664. [v8] Minor cleanup: make 2nd argument of removeIfPresnt accept only a value type stored in the DOM map
  18665. https://bugs.webkit.org/show_bug.cgi?id=51683
  18666. Covered by the existing tests.
  18667. * bindings/v8/DOMDataStore.cpp:
  18668. (WebCore::DOMDataStore::weakNodeCallback):
  18669. (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::removeIfPresent):
  18670. * bindings/v8/DOMDataStore.h:
  18671. * bindings/v8/V8DOMMap.h:
  18672. (WebCore::WeakReferenceMap::removeIfPresent):
  18673. 2011-01-18 MORITA Hajime <morrita@google.com>
  18674. Reviewed by Ryosuke Niwa.
  18675. Refactoring: EventHandler::handleTextInputEvent should accept an enum instead of bools.
  18676. https://bugs.webkit.org/show_bug.cgi?id=52608
  18677. No new tests. no behavioral change.
  18678. * GNUmakefile.am:
  18679. * WebCore.gypi:
  18680. * WebCore.pro:
  18681. * WebCore.vcproj/WebCore.vcproj:
  18682. * WebCore.xcodeproj/project.pbxproj:
  18683. * dom/TextEvent.cpp:
  18684. (WebCore::TextEvent::create):
  18685. (WebCore::TextEvent::createForDrop):
  18686. (WebCore::TextEvent::TextEvent):
  18687. * dom/TextEvent.h:
  18688. (WebCore::TextEvent::isLineBreak):
  18689. (WebCore::TextEvent::isBackTab):
  18690. (WebCore::TextEvent::isPaste):
  18691. (WebCore::TextEvent::isDrop):
  18692. * dom/TextEventInputType.h: Added. Extracted from TextEvent::TextInputType.
  18693. * editing/EditorCommand.cpp:
  18694. (WebCore::executeInsertBacktab):
  18695. (WebCore::executeInsertLineBreak):
  18696. (WebCore::executeInsertNewline):
  18697. (WebCore::executeInsertTab):
  18698. * page/EventHandler.cpp:
  18699. (WebCore::EventHandler::handleTextInputEvent):
  18700. * page/EventHandler.h:
  18701. 2011-01-18 Ben Vanik <ben.vanik@gmail.com>
  18702. Reviewed by Kenneth Russell.
  18703. Updating ANGLE in WebKit to r533.
  18704. https://bugs.webkit.org/show_bug.cgi?id=47194
  18705. * platform/graphics/ANGLEWebKitBridge.cpp:
  18706. (WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge):
  18707. (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge):
  18708. (WebCore::ANGLEWebKitBridge::validateShaderSource):
  18709. Update to new ANGLE API for shader validation.
  18710. * platform/graphics/ANGLEWebKitBridge.h:
  18711. (WebCore::ANGLEWebKitBridge::setResources):
  18712. Renaming types to new names.
  18713. * platform/graphics/mac/GraphicsContext3DMac.mm:
  18714. (WebCore::GraphicsContext3D::GraphicsContext3D):
  18715. Initialize ANGLEResources with ANGLE init call to prevent uninitialized variables.
  18716. 2011-01-18 MORITA Hajime <morrita@google.com>
  18717. Reviewed by Simon Fraser.
  18718. Refactoring: Extract RoundedIntRect class
  18719. https://bugs.webkit.org/show_bug.cgi?id=51664
  18720. RoundedIntRect is a pair of rect and four IntSize objects which represent
  18721. corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii.
  18722. Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths()
  18723. return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect()
  18724. and other functions accept RoundedIntRect as an argument.
  18725. * Android.mk:
  18726. * CMakeLists.txt:
  18727. * GNUmakefile.am:
  18728. * WebCore.gypi:
  18729. * WebCore.pro:
  18730. * WebCore.vcproj/WebCore.vcproj:
  18731. * WebCore.xcodeproj/project.pbxproj:
  18732. * platform/graphics/GraphicsContext.cpp:
  18733. (WebCore::GraphicsContext::addRoundedRectClip):
  18734. (WebCore::GraphicsContext::clipOutRoundedRect):
  18735. (WebCore::GraphicsContext::fillRoundedRect):
  18736. * platform/graphics/GraphicsContext.h:
  18737. * platform/graphics/RoundedIntRect.cpp: Added.
  18738. (WebCore::RoundedIntRect::Radii::isZero):
  18739. (WebCore::RoundedIntRect::Radii::scale):
  18740. (WebCore::RoundedIntRect::Radii::expand):
  18741. (WebCore::RoundedIntRect::Radii::includeLogicalEdges):
  18742. (WebCore::RoundedIntRect::Radii::excludeLogicalEdges):
  18743. (WebCore::RoundedIntRect::RoundedIntRect):
  18744. (WebCore::RoundedIntRect::includeLogicalEdges):
  18745. (WebCore::RoundedIntRect::excludeLogicalEdges):
  18746. * platform/graphics/RoundedIntRect.h: Added.
  18747. (WebCore::RoundedIntRect::Radii::Radii):
  18748. (WebCore::RoundedIntRect::Radii::setTopLeft):
  18749. (WebCore::RoundedIntRect::Radii::setTopRight):
  18750. (WebCore::RoundedIntRect::Radii::setBottomLeft):
  18751. (WebCore::RoundedIntRect::Radii::setBottomRight):
  18752. (WebCore::RoundedIntRect::Radii::topLeft):
  18753. (WebCore::RoundedIntRect::Radii::topRight):
  18754. (WebCore::RoundedIntRect::Radii::bottomLeft):
  18755. (WebCore::RoundedIntRect::Radii::bottomRight):
  18756. (WebCore::RoundedIntRect::Radii::expand):
  18757. (WebCore::RoundedIntRect::Radii::shrink):
  18758. (WebCore::RoundedIntRect::rect):
  18759. (WebCore::RoundedIntRect::radii):
  18760. (WebCore::RoundedIntRect::isRounded):
  18761. (WebCore::RoundedIntRect::isEmpty):
  18762. (WebCore::RoundedIntRect::setRect):
  18763. (WebCore::RoundedIntRect::setRadii):
  18764. (WebCore::RoundedIntRect::move):
  18765. (WebCore::RoundedIntRect::inflate):
  18766. (WebCore::RoundedIntRect::inflateWithRadii):
  18767. (WebCore::RoundedIntRect::expandRadii):
  18768. (WebCore::RoundedIntRect::shrinkRadii):
  18769. * rendering/RenderBox.cpp:
  18770. (WebCore::RenderBox::pushContentsClip):
  18771. * rendering/RenderBoxModelObject.cpp:
  18772. (WebCore::RenderBoxModelObject::paintFillLayerExtended):
  18773. (WebCore::RenderBoxModelObject::paintBorder):
  18774. (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
  18775. (WebCore::RenderBoxModelObject::paintBoxShadow):
  18776. * rendering/RenderBoxModelObject.h:
  18777. * rendering/RenderObject.cpp:
  18778. (WebCore::RenderObject::drawBoxSideFromPath):
  18779. * rendering/RenderReplaced.cpp:
  18780. (WebCore::RenderReplaced::paint):
  18781. * rendering/RenderThemeChromiumWin.cpp:
  18782. (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
  18783. * rendering/RenderThemeMac.mm:
  18784. (WebCore::RenderThemeMac::paintMenuListButtonGradients):
  18785. (WebCore::RenderThemeMac::paintSliderTrack):
  18786. * rendering/RenderThemeSafari.cpp:
  18787. (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
  18788. (WebCore::RenderThemeSafari::paintSliderTrack):
  18789. * rendering/RenderThemeWinCE.cpp:
  18790. (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
  18791. * rendering/RenderWidget.cpp:
  18792. (WebCore::RenderWidget::paint):
  18793. * rendering/style/BorderData.h:
  18794. * rendering/style/RenderStyle.cpp:
  18795. (WebCore::calcRadiiFor):
  18796. (WebCore::calcConstraintScaleFor):
  18797. (WebCore::RenderStyle::getRoundedBorderFor):
  18798. (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
  18799. * rendering/style/RenderStyle.h:
  18800. (WebCore::InheritedFlags::setBorderRadius):
  18801. 2011-01-18 MORITA Hajime <morrita@google.com>
  18802. Reviewed by Simon Fraser.
  18803. Refactoring: Extract RoundedIntRect class
  18804. https://bugs.webkit.org/show_bug.cgi?id=51664
  18805. RoundedIntRect is a pair of rect and four IntSize objects which represent
  18806. corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii.
  18807. Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths()
  18808. return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect()
  18809. and other functions accept RoundedIntRect as an argument.
  18810. No new tests. No behavioral change.
  18811. * Android.mk:
  18812. * CMakeLists.txt:
  18813. * WebCore.gypi:
  18814. * WebCore.pro:
  18815. * WebCore.xcodeproj/project.pbxproj:
  18816. * platform/graphics/GraphicsContext.cpp:
  18817. (WebCore::GraphicsContext::addRoundedRectClip):
  18818. (WebCore::GraphicsContext::clipOutRoundedRect):
  18819. (WebCore::GraphicsContext::fillRoundedRect):
  18820. * platform/graphics/GraphicsContext.h:
  18821. * platform/graphics/RoundedIntRect.cpp: Added.
  18822. (WebCore::RoundedIntRect::Radii::isZero):
  18823. (WebCore::RoundedIntRect::Radii::scale):
  18824. (WebCore::RoundedIntRect::Radii::expand):
  18825. (WebCore::RoundedIntRect::Radii::includeLogicalEdges):
  18826. (WebCore::RoundedIntRect::Radii::excludeLogicalEdges):
  18827. (WebCore::RoundedIntRect::RoundedIntRect):
  18828. (WebCore::RoundedIntRect::includeLogicalEdges):
  18829. (WebCore::RoundedIntRect::excludeLogicalEdges):
  18830. * platform/graphics/RoundedIntRect.h: Added.
  18831. (WebCore::RoundedIntRect::Radii::Radii):
  18832. (WebCore::RoundedIntRect::Radii::setTopLeft):
  18833. (WebCore::RoundedIntRect::Radii::setTopRight):
  18834. (WebCore::RoundedIntRect::Radii::setBottomLeft):
  18835. (WebCore::RoundedIntRect::Radii::setBottomRight):
  18836. (WebCore::RoundedIntRect::Radii::topLeft):
  18837. (WebCore::RoundedIntRect::Radii::topRight):
  18838. (WebCore::RoundedIntRect::Radii::bottomLeft):
  18839. (WebCore::RoundedIntRect::Radii::bottomRight):
  18840. (WebCore::RoundedIntRect::Radii::expand):
  18841. (WebCore::RoundedIntRect::Radii::shrink):
  18842. (WebCore::RoundedIntRect::rect):
  18843. (WebCore::RoundedIntRect::radii):
  18844. (WebCore::RoundedIntRect::isRounded):
  18845. (WebCore::RoundedIntRect::isEmpty):
  18846. (WebCore::RoundedIntRect::setRect):
  18847. (WebCore::RoundedIntRect::setRadii):
  18848. (WebCore::RoundedIntRect::move):
  18849. (WebCore::RoundedIntRect::inflate):
  18850. (WebCore::RoundedIntRect::inflateWithRadii):
  18851. (WebCore::RoundedIntRect::expandRadii):
  18852. (WebCore::RoundedIntRect::shrinkRadii):
  18853. * rendering/RenderBox.cpp:
  18854. (WebCore::RenderBox::pushContentsClip):
  18855. * rendering/RenderBoxModelObject.cpp:
  18856. (WebCore::RenderBoxModelObject::paintFillLayerExtended):
  18857. (WebCore::RenderBoxModelObject::paintBorder):
  18858. (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
  18859. (WebCore::RenderBoxModelObject::paintBoxShadow):
  18860. * rendering/RenderBoxModelObject.h:
  18861. * rendering/RenderObject.cpp:
  18862. (WebCore::RenderObject::drawBoxSideFromPath):
  18863. * rendering/RenderReplaced.cpp:
  18864. (WebCore::RenderReplaced::paint):
  18865. * rendering/RenderThemeChromiumWin.cpp:
  18866. (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
  18867. * rendering/RenderThemeMac.mm:
  18868. (WebCore::RenderThemeMac::paintMenuListButtonGradients):
  18869. (WebCore::RenderThemeMac::paintSliderTrack):
  18870. * rendering/RenderThemeSafari.cpp:
  18871. (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
  18872. (WebCore::RenderThemeSafari::paintSliderTrack):
  18873. * rendering/RenderThemeWinCE.cpp:
  18874. (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
  18875. * rendering/RenderWidget.cpp:
  18876. (WebCore::RenderWidget::paint):
  18877. * rendering/style/BorderData.h:
  18878. * rendering/style/RenderStyle.cpp:
  18879. (WebCore::calcRadiiFor):
  18880. (WebCore::calcConstraintScaleFor):
  18881. (WebCore::RenderStyle::getRoundedBorderFor):
  18882. (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
  18883. * rendering/style/RenderStyle.h:
  18884. (WebCore::InheritedFlags::setBorderRadius):
  18885. 2011-01-18 Victoria Kirst <vrk@chromium.org>
  18886. Reviewed by Kenneth Russell.
  18887. [chromium] Adding support for YV16 video frame formats.
  18888. https://bugs.webkit.org/show_bug.cgi?id=52345
  18889. * platform/graphics/chromium/VideoLayerChromium.cpp:
  18890. (WebCore::VideoLayerChromium::determineTextureFormat):
  18891. (WebCore::VideoLayerChromium::draw):
  18892. 2011-01-18 David Hyatt <hyatt@apple.com>
  18893. Reviewed by Dan Bernstein.
  18894. <rdar://problem/8479998> REGRESSION (r67660): broken button layout at devforums.apple.com
  18895. Exclude floating objects from shrinking to avoid floats. They should never do this. Timing-related bugs could
  18896. occur as a result of this mistake, and the change to rewrite pagination to defer layout of floats until they
  18897. got encountered on the correct line exposed this issue.
  18898. Added /fast/block/float/float-overflow-hidden-containing-block-width.html.
  18899. * rendering/RenderBox.cpp:
  18900. (WebCore::RenderBox::shrinkToAvoidFloats):
  18901. 2011-01-18 Zhenyao Mo <zmo@google.com>
  18902. Reviewed by Kenneth Russell.
  18903. Make CheckedInt<long> and CheckedInt<unsigned long> work
  18904. https://bugs.webkit.org/show_bug.cgi?id=52401
  18905. * html/canvas/CheckedInt.h:
  18906. (WebCore::CheckedInt::CheckedInt): Merge with the patch provided by Benoit Jacob.
  18907. * html/canvas/WebGLBuffer.cpp:
  18908. (WebCore::WebGLBuffer::associateBufferDataImpl): Use CheckedInt<long> instead of CheckedInt<int>.
  18909. (WebCore::WebGLBuffer::associateBufferSubDataImpl): Ditto.
  18910. 2011-01-18 Kenneth Russell <kbr@google.com>
  18911. Reviewed by David Levin.
  18912. Must strip comments from WebGL shaders before enforcing character set
  18913. https://bugs.webkit.org/show_bug.cgi?id=52390
  18914. Strip comments from incoming shaders, preserving line numbers,
  18915. before validating that they conform to the ESSL character set.
  18916. Revert changes from http://trac.webkit.org/changeset/75735 which
  18917. allowed invalid characters to be passed to certain APIs.
  18918. Tested with WebGL layout tests, conformance test suite and several
  18919. WebGL demos in both Safari and Chromium.
  18920. * html/canvas/WebGLRenderingContext.cpp:
  18921. (WebCore::StripComments::StripComments::process):
  18922. (WebCore::WebGLRenderingContext::shaderSource):
  18923. 2011-01-18 Ryosuke Niwa <rniwa@webkit.org>
  18924. Reviewed by Eric Seidel.
  18925. Stop instantiating legacy editing positions in DeleteSelectionCommand, IndentOudentCommand,
  18926. InsertLineBreakCommand, InsertListCOmmand.cpp, InsertParagraphSeparatorCommand, and htmlediting.cpp
  18927. https://bugs.webkit.org/show_bug.cgi?id=52644
  18928. This is a cleanup to stop instantiating legacy editing positions in the following tests.
  18929. firstDeepEditingPositionForNode and lastDeepEditingPositionForNode in htmlediting.h are not updated
  18930. because doing so requires significant code changes. They are tracked on the bug 52642.
  18931. * editing/DeleteSelectionCommand.cpp:
  18932. (WebCore::DeleteSelectionCommand::initializeStartEnd):
  18933. (WebCore::updatePositionForNodeRemoval):
  18934. (WebCore::DeleteSelectionCommand::removeNode):
  18935. (WebCore::updatePositionForTextRemoval):
  18936. (WebCore::DeleteSelectionCommand::handleGeneralDelete):
  18937. * editing/IndentOutdentCommand.cpp:
  18938. (WebCore::IndentOutdentCommand::outdentParagraph):
  18939. * editing/InsertLineBreakCommand.cpp:
  18940. (WebCore::InsertLineBreakCommand::doApply):
  18941. * editing/InsertListCommand.cpp:
  18942. (WebCore::InsertListCommand::doApplyForSingleParagraph):
  18943. (WebCore::InsertListCommand::unlistifyParagraph):
  18944. (WebCore::InsertListCommand::listifyParagraph):
  18945. * editing/InsertParagraphSeparatorCommand.cpp:
  18946. (WebCore::InsertParagraphSeparatorCommand::doApply):
  18947. * editing/htmlediting.cpp:
  18948. (WebCore::enclosingBlock):
  18949. (WebCore::enclosingList):
  18950. (WebCore::enclosingListChild):
  18951. (WebCore::indexForVisiblePosition):
  18952. (WebCore::isNodeVisiblyContainedWithin):
  18953. (WebCore::avoidIntersectionWithNode):
  18954. 2011-01-18 Benjamin Kalman <kalman@chromium.org>
  18955. Reviewed by Ryosuke Niwa.
  18956. Tweak style in visible_units.cpp and TextIterator.cpp in preparation for another patch
  18957. https://bugs.webkit.org/show_bug.cgi?id=52610
  18958. This is a purely aesthetic change.
  18959. * editing/TextIterator.cpp:
  18960. (WebCore::SimplifiedBackwardsTextIterator::advance):
  18961. * editing/visible_units.cpp:
  18962. (WebCore::previousBoundary):
  18963. 2011-01-18 Adam Klein <adamk@chromium.org>
  18964. Reviewed by Darin Fisher.
  18965. [Chromium] Replace ChromiumBridge::widgetSetCursor with ChromeClient::setCursor
  18966. https://bugs.webkit.org/show_bug.cgi?id=42236
  18967. * platform/chromium/ChromiumBridge.h:
  18968. * platform/chromium/WidgetChromium.cpp:
  18969. (WebCore::Widget::setCursor):
  18970. 2011-01-18 Chris Fleizach <cfleizach@apple.com>
  18971. Reviewed by Darin Adler.
  18972. REGRESSION: A problem with Voiceover and finding links
  18973. https://bugs.webkit.org/show_bug.cgi?id=52324
  18974. Fallout from recent change to make WebCore return its own scroll view.
  18975. 1) There were two scroll views in the hierarchy, one which no needed to be ignored.
  18976. 2) Hit tests for sub frames needed to be offset.
  18977. 3) The check for whether an attachment is ignored must happen earlier than using
  18978. the helpText to determine if an element should be ignored.
  18979. Test: platform/mac/accessibility/iframe-with-title-correct-hierarchy.html
  18980. * accessibility/AccessibilityObject.cpp:
  18981. (WebCore::AccessibilityObject::elementAccessibilityHitTest):
  18982. * accessibility/AccessibilityRenderObject.cpp:
  18983. (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
  18984. * accessibility/mac/AccessibilityObjectWrapper.mm:
  18985. (-[AccessibilityObjectWrapper scrollViewParent]):
  18986. 2011-01-18 Adam Roben <aroben@apple.com>
  18987. Call alternate CFHTTPCookie functions if available
  18988. Fixes <http://webkit.org/b/52637> <rdar://problem/8878984>.
  18989. Reviewed by Darin Adler.
  18990. * platform/network/cf/CookieJarCFNet.cpp: Added soft-linking macros to
  18991. pull in the alternate CFHTTPCookie functions.
  18992. (WebCore::cookieDomain):
  18993. (WebCore::cookieExpirationTime):
  18994. (WebCore::cookieName):
  18995. (WebCore::cookiePath):
  18996. (WebCore::cookieValue):
  18997. Added these wrappers around the CFHTTPCookie functions. We call the
  18998. alternate functions if they exist, otherwise fall back to the current
  18999. functions.
  19000. (WebCore::filterCookies):
  19001. (WebCore::getRawCookies):
  19002. (WebCore::deleteCookie):
  19003. Changed to use the wrapper functions.
  19004. 2011-01-18 Martin Robinson <mrobinson@igalia.com>
  19005. Reviewed by Eric Seidel.
  19006. [GTK] Filenames are converted to URLs during edit drags
  19007. https://bugs.webkit.org/show_bug.cgi?id=52096
  19008. * platform/gtk/DragDataGtk.cpp: Only advertise and deliver filenames as URLs if the
  19009. conversion policy allows it.
  19010. (WebCore::DragData::containsURL): Ditto.
  19011. (WebCore::DragData::asURL): Ditto.
  19012. 2011-01-18 Helder Correia <helder@sencha.com>
  19013. Reviewed by Kenneth Rohde Christiansen.
  19014. [Qt] Incorrect shadow alpha with semi-transparent solid fillStyle
  19015. https://bugs.webkit.org/show_bug.cgi?id=52611
  19016. This is related to bug 52559. The shadow color alpha must be multiplied
  19017. by the context brush alpha.
  19018. Test: fast/canvas/canvas-fillPath-alpha-shadow.html
  19019. * platform/graphics/qt/GraphicsContextQt.cpp:
  19020. (WebCore::GraphicsContext::fillPath):
  19021. 2011-01-18 Andrey Kosyakov <caseq@chromium.org>
  19022. Reviewed by Yury Semikhatsky.
  19023. Web Inspector: fail resource.requestContent() immediately for WebSocket resources
  19024. https://bugs.webkit.org/show_bug.cgi?id=52628
  19025. * English.lproj/localizedStrings.js: Rename WebSocket -> WebSockets in resource catetegories (rest are in plural, too)
  19026. * inspector/front-end/ExtensionServer.js: Do not expose webInspector.resources.Types in extensions API (obsolete)
  19027. (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
  19028. * inspector/front-end/Resource.js:
  19029. (WebInspector.Resource.Type.toUIString): Remove ResourceType.Media as it's not used.
  19030. (WebInspector.Resource.Type.toString): ditto.
  19031. (WebInspector.Resource.prototype.requestContent): Fail immediately for WebSocket resources.
  19032. * inspector/front-end/inspector.js: Rename WebSocket -> WebSockets in resource catetegories (rest are in plural, too)
  19033. 2011-01-18 Helder Correia <helder@sencha.com>
  19034. Reviewed by Dirk Schulze.
  19035. REGRESSION(75139): SVG gradients are not applied to texts
  19036. https://bugs.webkit.org/show_bug.cgi?id=52531
  19037. r75139 caused a problem with filling and stroking text with a gradient
  19038. fill in SVG. The order of CGContextConcatCTM and CGContextClipToRect
  19039. was mixed up.
  19040. Test: svg/css/text-gradient-shadow.svg
  19041. * platform/graphics/cg/GraphicsContextCG.cpp:
  19042. (WebCore::GraphicsContext::fillRect):
  19043. 2011-01-18 Leo Yang <leo.yang@torchmobile.com.cn>
  19044. Reviewed by Nikolas Zimmermann.
  19045. Unable to indirectly animate visibility of SVGUseElement
  19046. https://bugs.webkit.org/show_bug.cgi?id=50240
  19047. SVGUseElement::recalcStyle should take care of its shadow
  19048. tree's style recalculation when it is called with change >= Inherit
  19049. or when childNeedsStyleRecalc() is true because in these two
  19050. cases needStyleRecalc() may not be true.
  19051. Test: svg/custom/use-inherit-style.svg
  19052. * svg/SVGUseElement.cpp:
  19053. (WebCore::SVGUseElement::recalcStyle):
  19054. 2011-01-18 Pavel Podivilov <podivilov@chromium.org>
  19055. Reviewed by Yury Semikhatsky.
  19056. Web Inspector: provide script length to frontend.
  19057. https://bugs.webkit.org/show_bug.cgi?id=52620
  19058. * inspector/Inspector.idl:
  19059. * inspector/InspectorDebuggerAgent.cpp:
  19060. (WebCore::InspectorDebuggerAgent::didParseSource):
  19061. * inspector/front-end/DebuggerModel.js:
  19062. (WebInspector.DebuggerModel.prototype._parsedScriptSource):
  19063. (WebInspector.DebuggerDispatcher.prototype.parsedScriptSource):
  19064. * inspector/front-end/Script.js:
  19065. (WebInspector.Script):
  19066. 2011-01-18 Zoltan Herczeg <zherczeg@webkit.org>
  19067. Rubber-stamped by Csaba Osztrogonác
  19068. Fixing ChangeLog
  19069. Removing a line introduced by
  19070. http://trac.webkit.org/changeset/75743/trunk/Source/WebCore/ChangeLog
  19071. Removing an unnecessary space before a time stamp.
  19072. 2011-01-17 Andrey Kosyakov <caseq@chromium.org>
  19073. Reviewed by Yury Semikhatsky.
  19074. Web Inspector: [refactoring] use events to notify NetworkManager clients
  19075. https://bugs.webkit.org/show_bug.cgi?id=52588
  19076. * inspector/front-end/AuditLauncherView.js:
  19077. (WebInspector.AuditLauncherView): Do not expose public interface to resource count. Do not reset resource count upon reset().
  19078. (WebInspector.AuditLauncherView.prototype._resetResourceCount):
  19079. (WebInspector.AuditLauncherView.prototype._onResourceStarted):
  19080. (WebInspector.AuditLauncherView.prototype._onResourceFinished):
  19081. * inspector/front-end/AuditsPanel.js: Do not expose public interface to resource start/finish events.
  19082. * inspector/front-end/ExtensionServer.js:
  19083. (WebInspector.ExtensionServer):
  19084. (WebInspector.ExtensionServer.prototype._notifyResourceFinished):
  19085. (WebInspector.ExtensionServer.prototype.initExtensions):
  19086. * inspector/front-end/NetworkManager.js: Dispatch events rather than directly call clients.
  19087. (WebInspector.NetworkManager):
  19088. (WebInspector.NetworkManager.prototype.willSendRequest):
  19089. (WebInspector.NetworkManager.prototype.markResourceAsCached):
  19090. (WebInspector.NetworkManager.prototype.didReceiveResponse):
  19091. (WebInspector.NetworkManager.prototype.didReceiveContentLength):
  19092. (WebInspector.NetworkManager.prototype.setInitialContent):
  19093. (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
  19094. (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest):
  19095. (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse):
  19096. (WebInspector.NetworkManager.prototype._startResource):
  19097. (WebInspector.NetworkManager.prototype._finishResource):
  19098. * inspector/front-end/NetworkPanel.js:
  19099. (WebInspector.NetworkPanel):
  19100. (WebInspector.NetworkPanel.prototype._onResourceStarted):
  19101. (WebInspector.NetworkPanel.prototype._appendResource):
  19102. (WebInspector.NetworkPanel.prototype._onResourceUpdated):
  19103. (WebInspector.NetworkPanel.prototype._refreshResource):
  19104. (WebInspector.NetworkPanel.prototype._onMainResourceChanged):
  19105. * inspector/front-end/ResourcesPanel.js:
  19106. (WebInspector.ResourcesPanel):
  19107. (WebInspector.ResourcesPanel.prototype._refreshResource):
  19108. 2011-01-18 Pavel Feldman <pfeldman@chromium.org>
  19109. Reviewed by Yury Semikhatsky.
  19110. Web Inspector: preserve pause on exception state in settings.
  19111. https://bugs.webkit.org/show_bug.cgi?id=52619
  19112. * inspector/InspectorController.cpp:
  19113. (WebCore::InspectorController::getInspectorState):
  19114. * inspector/InspectorDebuggerAgent.cpp:
  19115. (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
  19116. * inspector/InspectorDebuggerAgent.h:
  19117. * inspector/front-end/ScriptsPanel.js:
  19118. (WebInspector.ScriptsPanel):
  19119. (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
  19120. (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsState):
  19121. (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
  19122. (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
  19123. * inspector/front-end/Settings.js:
  19124. (WebInspector.Settings):
  19125. * inspector/front-end/inspector.js:
  19126. (WebInspector.doLoadedDone.populateInspectorState):
  19127. 2011-01-18 Pavel Podivilov <podivilov@chromium.org>
  19128. Reviewed by Yury Semikhatsky.
  19129. Web Inspector: [REGRESSION] JavaScript exceptions aren't shown in source frame.
  19130. https://bugs.webkit.org/show_bug.cgi?id=52623
  19131. * inspector/front-end/ConsoleView.js:
  19132. (WebInspector.ConsoleMessage):
  19133. (WebInspector.ConsoleMessage.prototype._formatMessage):
  19134. 2011-01-18 Pavel Feldman <pfeldman@chromium.org>
  19135. Revert r76017. No need to guard InspectorInstrumentation:: in WebCore.
  19136. * page/Page.cpp:
  19137. (WebCore::networkStateChanged):
  19138. 2011-01-18 Konstantin Tokarev <annulen@yandex.ru>
  19139. Reviewed by Kent Tamura.
  19140. Fixed compilation when Inspector is disabled
  19141. https://bugs.webkit.org/show_bug.cgi?id=52564
  19142. * page/Page.cpp:
  19143. (WebCore::networkStateChanged): Added ENABLE(INSPECTOR) guard
  19144. 2011-01-18 MORITA Hajime <morrita@google.com>
  19145. Unreviewed, rolling out r76004, r76005, r76007, and r76011.
  19146. http://trac.webkit.org/changeset/76004
  19147. http://trac.webkit.org/changeset/76005
  19148. http://trac.webkit.org/changeset/76007
  19149. http://trac.webkit.org/changeset/76011
  19150. https://bugs.webkit.org/show_bug.cgi?id=51664
  19151. The r76004 broke pixel tests.
  19152. (The failure was missed due to the tolerance.)
  19153. * Android.mk:
  19154. * CMakeLists.txt:
  19155. * GNUmakefile.am:
  19156. * WebCore.gypi:
  19157. * WebCore.pro:
  19158. * WebCore.vcproj/WebCore.vcproj:
  19159. * WebCore.xcodeproj/project.pbxproj:
  19160. * platform/graphics/GraphicsContext.cpp:
  19161. (WebCore::GraphicsContext::addRoundedRectClip):
  19162. (WebCore::GraphicsContext::clipOutRoundedRect):
  19163. * platform/graphics/GraphicsContext.h:
  19164. * platform/graphics/RoundedIntRect.cpp: Removed.
  19165. * platform/graphics/RoundedIntRect.h: Removed.
  19166. * rendering/RenderBox.cpp:
  19167. (WebCore::RenderBox::pushContentsClip):
  19168. * rendering/RenderBoxModelObject.cpp:
  19169. (WebCore::RenderBoxModelObject::paintFillLayerExtended):
  19170. (WebCore::RenderBoxModelObject::paintBorder):
  19171. (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
  19172. (WebCore::uniformlyExpandBorderRadii):
  19173. (WebCore::RenderBoxModelObject::paintBoxShadow):
  19174. * rendering/RenderBoxModelObject.h:
  19175. * rendering/RenderObject.cpp:
  19176. (WebCore::RenderObject::drawBoxSideFromPath):
  19177. * rendering/RenderReplaced.cpp:
  19178. (WebCore::RenderReplaced::paint):
  19179. * rendering/RenderThemeChromiumWin.cpp:
  19180. (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
  19181. * rendering/RenderThemeMac.mm:
  19182. (WebCore::RenderThemeMac::paintMenuListButtonGradients):
  19183. (WebCore::RenderThemeMac::paintSliderTrack):
  19184. * rendering/RenderThemeSafari.cpp:
  19185. (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
  19186. (WebCore::RenderThemeSafari::paintSliderTrack):
  19187. * rendering/RenderThemeWinCE.cpp:
  19188. (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
  19189. * rendering/RenderWidget.cpp:
  19190. (WebCore::RenderWidget::paint):
  19191. * rendering/style/BorderData.h:
  19192. * rendering/style/RenderStyle.cpp:
  19193. (WebCore::constrainCornerRadiiForRect):
  19194. (WebCore::RenderStyle::getBorderRadiiForRect):
  19195. (WebCore::RenderStyle::getInnerBorderRadiiForRectWithBorderWidths):
  19196. * rendering/style/RenderStyle.h:
  19197. 2011-01-17 Pavel Podivilov <podivilov@chromium.org>
  19198. Reviewed by Yury Semikhatsky.
  19199. Web Inspector: add source column field to debugger call frames.
  19200. https://bugs.webkit.org/show_bug.cgi?id=52443
  19201. * bindings/js/JavaScriptCallFrame.cpp:
  19202. (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
  19203. * bindings/js/JavaScriptCallFrame.h:
  19204. (WebCore::JavaScriptCallFrame::create):
  19205. (WebCore::JavaScriptCallFrame::line):
  19206. (WebCore::JavaScriptCallFrame::column):
  19207. (WebCore::JavaScriptCallFrame::update):
  19208. * bindings/js/ScriptDebugServer.cpp:
  19209. (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
  19210. (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
  19211. (WebCore::ScriptDebugServer::callEvent):
  19212. (WebCore::ScriptDebugServer::atStatement):
  19213. (WebCore::ScriptDebugServer::returnEvent):
  19214. (WebCore::ScriptDebugServer::exception):
  19215. (WebCore::ScriptDebugServer::willExecuteProgram):
  19216. (WebCore::ScriptDebugServer::didExecuteProgram):
  19217. (WebCore::ScriptDebugServer::didReachBreakpoint):
  19218. * bindings/js/ScriptDebugServer.h:
  19219. * bindings/v8/DebuggerScript.js:
  19220. ():
  19221. * bindings/v8/JavaScriptCallFrame.cpp:
  19222. (WebCore::JavaScriptCallFrame::column):
  19223. * bindings/v8/JavaScriptCallFrame.h:
  19224. * inspector/InjectedScriptSource.js:
  19225. ():
  19226. * inspector/JavaScriptCallFrame.idl:
  19227. 2011-01-18 Antti Koivisto <antti@apple.com>
  19228. Reviewed by Dave Hyatt.
  19229. https://bugs.webkit.org/show_bug.cgi?id=52370
  19230. <rdar://problem/8856808>
  19231. Style sharing optimization no longer works on major web sites
  19232. The code in CSSStyleSelector::locateSharedStyle() that tries to share style information between element has been defeated
  19233. by widespread use of certain CSS selectors (:first-child pseudo class and similar). The current implementation disables
  19234. the sharing optimization for the whole page if one of these constructs is seen in any style sheet used by the page.
  19235. This patch gets the style sharing back to 25-40% range on most web sites.
  19236. * css/CSSMutableStyleDeclaration.h:
  19237. (WebCore::CSSMutableStyleDeclaration::propertiesEqual):
  19238. Needed to improve equality checking in NamedNodeMap::mappedMapsEquivalent.
  19239. * css/CSSSelector.h:
  19240. (WebCore::CSSSelector::isSiblingSelector):
  19241. Test for selectors that are affected by the sibling elements.
  19242. * css/CSSStyleSelector.cpp:
  19243. (WebCore::elementCanUseSimpleDefaultStyle):
  19244. (WebCore::collectSiblingRulesInDefaultStyle):
  19245. (WebCore::assertNoSiblingRulesInDefaultStyle):
  19246. Extract sibling rules from the MathML default stylesheet.
  19247. Assert that no other default stylesheet has them.
  19248. (WebCore::CSSStyleSelector::CSSStyleSelector):
  19249. (WebCore::CSSStyleSelector::locateCousinList):
  19250. (WebCore::CSSStyleSelector::matchesSiblingRules):
  19251. (WebCore::CSSStyleSelector::canShareStyleWithElement):
  19252. (WebCore::CSSStyleSelector::locateSharedStyle):
  19253. (WebCore::CSSStyleSelector::styleForElement):
  19254. (WebCore::collectIdsAndSiblingRulesFromList):
  19255. (WebCore::CSSRuleSet::collectIdsAndSiblingRules):
  19256. Track sibling rules and ids used in the stylesheets to allow much more fine-grained rejection of cases
  19257. where style sharing can't be used.
  19258. * css/CSSStyleSelector.h:
  19259. * dom/NamedNodeMap.cpp:
  19260. (WebCore::NamedNodeMap::mappedMapsEquivalent):
  19261. Check also for CSSValue mutation from DOM.
  19262. * mathml/MathMLMathElement.cpp:
  19263. (WebCore::MathMLMathElement::insertedIntoDocument):
  19264. * mathml/MathMLMathElement.h:
  19265. MathML default style sheet has sibling rules which don't get noticed by the normal document
  19266. stylesheet parsing.
  19267. * rendering/style/RenderStyle.h:
  19268. (WebCore::InheritedFlags::setFirstChildState):
  19269. (WebCore::InheritedFlags::setLastChildState):
  19270. (WebCore::InheritedFlags::setChildIndex):
  19271. These all make style non-shareable (unique).
  19272. 2011-01-18 MORITA Hajime <morrita@google.com>
  19273. Unreviewed crash fix on release builds.
  19274. * rendering/RenderBoxModelObject.cpp:
  19275. (WebCore::RenderBoxModelObject::paintFillLayerExtended):
  19276. 2011-01-18 Pavel Podivilov <podivilov@chromium.org>
  19277. Unreviewed, update localizedStrings.js.
  19278. * English.lproj/localizedStrings.js:
  19279. 2011-01-11 Pavel Podivilov <podivilov@chromium.org>
  19280. Reviewed by Pavel Feldman.
  19281. Web Inspector: implement script beautifier prototype.
  19282. https://bugs.webkit.org/show_bug.cgi?id=51588
  19283. * WebCore.gypi:
  19284. * WebCore.vcproj/WebCore.vcproj:
  19285. * inspector/front-end/ScriptFormatter.js: Added.
  19286. (WebInspector.ScriptFormatter): Implements JavaScript source beautification and conversion between original and
  19287. formatted line numbers
  19288. (WebInspector.ScriptFormatter.findLineEndings):
  19289. (WebInspector.ScriptFormatter.locationToPosition):
  19290. (WebInspector.ScriptFormatter.positionToLocation):
  19291. (WebInspector.ScriptFormatter.upperBound):
  19292. (WebInspector.ScriptFormatter.prototype.format):
  19293. (WebInspector.ScriptFormatter.prototype.originalLineNumberToFormattedLineNumber):
  19294. (WebInspector.ScriptFormatter.prototype.formattedLineNumberToOriginalLineNumber):
  19295. (WebInspector.ScriptFormatter.prototype.originalPositionToFormattedLineNumber):
  19296. (WebInspector.ScriptFormatter.prototype.formattedLineNumberToOriginalPosition):
  19297. (WebInspector.ScriptFormatter.prototype._convertPosition):
  19298. * inspector/front-end/ScriptsPanel.js:
  19299. (WebInspector.ScriptsPanel):
  19300. (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine):
  19301. (WebInspector.ScriptsPanel.prototype._callFrameSelected):
  19302. (WebInspector.ScriptsPanel.prototype._formatScript):
  19303. * inspector/front-end/SourceFrame.js: Convert original line numbers to UI line numbers and vice versa
  19304. * inspector/front-end/WebKit.qrc:
  19305. * inspector/front-end/inspector.html:
  19306. 2011-01-18 Philippe Normand <pnormand@igalia.com>
  19307. Unreviewed, GTK build fix as follow-up of r76004.
  19308. * GNUmakefile.am: Include RoundedIntRect files in the build
  19309. 2011-01-18 Philippe Normand <pnormand@igalia.com>
  19310. Unreviewed, rolling out r76002.
  19311. http://trac.webkit.org/changeset/76002
  19312. https://bugs.webkit.org/show_bug.cgi?id=49790
  19313. breaks a bunch of fast/forms tests on mac and GTK
  19314. * html/HTMLOptionElement.cpp:
  19315. (WebCore::HTMLOptionElement::setRenderStyle):
  19316. 2011-01-18 MORITA Hajime <morrita@google.com>
  19317. Unreviewed windows build fix.
  19318. * WebCore.vcproj/WebCore.vcproj:
  19319. 2011-01-17 MORITA Hajime <morrita@google.com>
  19320. Reviewed by Simon Fraser.
  19321. Refactoring: Extract RoundedIntRect class
  19322. https://bugs.webkit.org/show_bug.cgi?id=51664
  19323. RoundedIntRect is a pair of rect and four IntSize objects which represent
  19324. corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii.
  19325. Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths()
  19326. return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect()
  19327. and other functions accept RoundedIntRect as an argument.
  19328. No new tests. No behavioral change.
  19329. * Android.mk:
  19330. * CMakeLists.txt:
  19331. * WebCore.gypi:
  19332. * WebCore.pro:
  19333. * WebCore.xcodeproj/project.pbxproj:
  19334. * platform/graphics/GraphicsContext.cpp:
  19335. (WebCore::GraphicsContext::addRoundedRectClip):
  19336. (WebCore::GraphicsContext::clipOutRoundedRect):
  19337. (WebCore::GraphicsContext::fillRoundedRect):
  19338. * platform/graphics/GraphicsContext.h:
  19339. * platform/graphics/RoundedIntRect.cpp: Added.
  19340. (WebCore::RoundedIntRect::Radii::isZero):
  19341. (WebCore::RoundedIntRect::Radii::scale):
  19342. (WebCore::RoundedIntRect::Radii::expand):
  19343. (WebCore::RoundedIntRect::Radii::includeLogicalEdges):
  19344. (WebCore::RoundedIntRect::Radii::excludeLogicalEdges):
  19345. (WebCore::RoundedIntRect::RoundedIntRect):
  19346. (WebCore::RoundedIntRect::includeLogicalEdges):
  19347. (WebCore::RoundedIntRect::excludeLogicalEdges):
  19348. * platform/graphics/RoundedIntRect.h: Added.
  19349. (WebCore::RoundedIntRect::Radii::Radii):
  19350. (WebCore::RoundedIntRect::Radii::setTopLeft):
  19351. (WebCore::RoundedIntRect::Radii::setTopRight):
  19352. (WebCore::RoundedIntRect::Radii::setBottomLeft):
  19353. (WebCore::RoundedIntRect::Radii::setBottomRight):
  19354. (WebCore::RoundedIntRect::Radii::topLeft):
  19355. (WebCore::RoundedIntRect::Radii::topRight):
  19356. (WebCore::RoundedIntRect::Radii::bottomLeft):
  19357. (WebCore::RoundedIntRect::Radii::bottomRight):
  19358. (WebCore::RoundedIntRect::Radii::expand):
  19359. (WebCore::RoundedIntRect::Radii::shrink):
  19360. (WebCore::RoundedIntRect::location):
  19361. (WebCore::RoundedIntRect::size):
  19362. (WebCore::RoundedIntRect::x):
  19363. (WebCore::RoundedIntRect::y):
  19364. (WebCore::RoundedIntRect::width):
  19365. (WebCore::RoundedIntRect::height):
  19366. (WebCore::RoundedIntRect::right):
  19367. (WebCore::RoundedIntRect::bottom):
  19368. (WebCore::RoundedIntRect::rect):
  19369. (WebCore::RoundedIntRect::radii):
  19370. (WebCore::RoundedIntRect::isRounded):
  19371. (WebCore::RoundedIntRect::isEmpty):
  19372. (WebCore::RoundedIntRect::setRect):
  19373. (WebCore::RoundedIntRect::setRadii):
  19374. (WebCore::RoundedIntRect::move):
  19375. (WebCore::RoundedIntRect::inflate):
  19376. (WebCore::RoundedIntRect::inflateWithRadii):
  19377. (WebCore::RoundedIntRect::expandRadii):
  19378. (WebCore::RoundedIntRect::shrinkRadii):
  19379. * rendering/RenderBox.cpp:
  19380. (WebCore::RenderBox::pushContentsClip):
  19381. * rendering/RenderBoxModelObject.cpp:
  19382. (WebCore::RenderBoxModelObject::paintFillLayerExtended):
  19383. (WebCore::RenderBoxModelObject::paintBorder):
  19384. (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
  19385. (WebCore::RenderBoxModelObject::paintBoxShadow):
  19386. * rendering/RenderBoxModelObject.h:
  19387. * rendering/RenderObject.cpp:
  19388. (WebCore::RenderObject::drawBoxSideFromPath):
  19389. * rendering/RenderReplaced.cpp:
  19390. (WebCore::RenderReplaced::paint):
  19391. * rendering/RenderThemeChromiumWin.cpp:
  19392. (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
  19393. * rendering/RenderThemeMac.mm:
  19394. (WebCore::RenderThemeMac::paintMenuListButtonGradients):
  19395. (WebCore::RenderThemeMac::paintSliderTrack):
  19396. * rendering/RenderThemeSafari.cpp:
  19397. (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
  19398. (WebCore::RenderThemeSafari::paintSliderTrack):
  19399. * rendering/RenderThemeWinCE.cpp:
  19400. (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
  19401. * rendering/RenderWidget.cpp:
  19402. (WebCore::RenderWidget::paint):
  19403. * rendering/style/BorderData.h:
  19404. * rendering/style/RenderStyle.cpp:
  19405. (WebCore::calcRadiiFor):
  19406. (WebCore::calcConstraintScaleFor):
  19407. (WebCore::RenderStyle::getRoundedBorderFor):
  19408. (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
  19409. * rendering/style/RenderStyle.h:
  19410. (WebCore::InheritedFlags::setBorderRadius):
  19411. 2011-01-17 Rob Buis <rwlbuis@gmail.com>
  19412. Reviewed by Kent Tamura.
  19413. Color changes to option elements in a select multiple aren't drawn immediately
  19414. https://bugs.webkit.org/show_bug.cgi?id=49790
  19415. Redirect style changes on <option> element to the owner <select> element.
  19416. Tests: fast/forms/select-option-background-color-change.html
  19417. fast/forms/select-option-color-change.html
  19418. fast/forms/select-option-visibility-change.html
  19419. * html/HTMLOptionElement.cpp:
  19420. (WebCore::HTMLOptionElement::setRenderStyle):
  19421. 2011-01-17 MORITA Hajime <morrita@google.com>
  19422. Unreviewed, rolling out r75995.
  19423. http://trac.webkit.org/changeset/75995
  19424. https://bugs.webkit.org/show_bug.cgi?id=51914
  19425. Causes assertion failures.
  19426. * dom/Element.cpp:
  19427. (WebCore::Element::shadowRoot):
  19428. (WebCore::Element::setShadowRoot):
  19429. (WebCore::Element::removeShadowRoot):
  19430. * dom/ElementRareData.h:
  19431. (WebCore::ElementRareData::ElementRareData):
  19432. 2011-01-17 MORITA Hajime <morrita@google.com>
  19433. Unreviewed, rolling out r75999.
  19434. http://trac.webkit.org/changeset/75999
  19435. * dom/Element.cpp:
  19436. (WebCore::Element::removeShadowRoot):
  19437. 2011-01-17 MORITA Hajime <morrita@google.com>
  19438. Unreviewed crash fix, which introduced at r75995
  19439. * dom/Element.cpp:
  19440. (WebCore::Element::removeShadowRoot):
  19441. 2011-01-17 MORITA Hajime <morrita@google.com>
  19442. Reviewed by Dimitri Glazkov.
  19443. ElementRareData::m_shadowRoot should not be RefPtr.
  19444. https://bugs.webkit.org/show_bug.cgi?id=51914
  19445. This change makes m_shadowRoot a raw pointer, as Node::m_parent is.
  19446. This change is safe because shadow host pointer is stored as TreeShared::m_parent
  19447. which prevents deletion unless set to null.
  19448. No test, no behavioral change.
  19449. * dom/Element.cpp:
  19450. (WebCore::Element::shadowRoot):
  19451. (WebCore::Element::setShadowRoot):
  19452. (WebCore::Element::removeShadowRoot):
  19453. * dom/ElementRareData.h:
  19454. (WebCore::ElementRareData::ElementRareData):
  19455. 2011-01-17 Maciej Stachowiak <mjs@apple.com>
  19456. Reviewed by Dan Bernstein.
  19457. Some WebKit2 layout tests crash due to focus being on a frame in the page cache
  19458. https://bugs.webkit.org/show_bug.cgi?id=52607
  19459. No new tests. Existing tests crash in WebKit2 without this fix.
  19460. I suspect there are other consequences besides the WebKit2 crash, but I
  19461. was unable to identify any for certain.
  19462. * history/CachedFrame.cpp:
  19463. (WebCore::CachedFrame::CachedFrame): If a frame still has focus when its page
  19464. goes in the page cache, reset focus to the main frame.
  19465. 2011-01-17 Adam Roben <aroben@apple.com>
  19466. Simplify WKCACFLayerRenderer's API
  19467. createRenderer/destroyRenderer are now hidden behind setHostWindow.
  19468. WKCACFLayerRendererClient::animationsStarted has been removed, as it
  19469. was never called. (The work it was supposed to do was already being
  19470. accomplished by WKCACFLayerRenderer::render telling each layer that
  19471. animations are starting.)
  19472. Fixes <http://webkit.org/b/52587> WKCACFLayerRenderer is hard to use
  19473. Reviewed by Chris Marrin.
  19474. * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
  19475. (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): Moved the
  19476. call to setHostWindow here from the WM_CREATE handler. The WM_CREATE
  19477. handler was causing the Direct3D device to be created, but MSDN says
  19478. you shouldn't create a device while handling WM_CREATE. Removed
  19479. no-longer-needed call to createRenderer (setHostWindow does this now)
  19480. and the never-needed call to setNeedsDisplay (we never draw into the
  19481. root layer; this was just creating an unnecessary backing store the
  19482. size of the screen!).
  19483. (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): Moved WM_CREATE
  19484. code, as described above. Removed call to destroyRenderer when handling
  19485. WM_DESTROY; setHostWindow does this now. Fixed up our WM_PAINT handler
  19486. to do a synchronous paint and to clear our dirty region, while I was in
  19487. here.
  19488. * platform/graphics/win/WKCACFLayerRenderer.cpp:
  19489. (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): Changed to call
  19490. setHostWindow instead of destroyRenderer; the former calls the latter
  19491. if needed.
  19492. (WebCore::WKCACFLayerRenderer::setHostWindow): Moved here from the
  19493. header file. Destroys our old renderer (i.e., IDirect3DDevice9) if
  19494. we're losing our window, or creates a renderer if we're gaining a
  19495. window.
  19496. (WebCore::WKCACFLayerRenderer::createRenderer): Updated for WKSI function rename.
  19497. (WebCore::WKCACFLayerRenderer::destroyRenderer): Changed to clear the
  19498. D3D device from our context before releasing the device.
  19499. * platform/graphics/win/WKCACFLayerRenderer.h: Removed
  19500. WKCACFLayerRendererClient::animationsStarted. Removed setNeedsDisplay.
  19501. Make createRenderer, destroyRenderer, and renderSoon private.
  19502. 2011-01-17 Adam Roben <aroben@apple.com>
  19503. Remove special-cased support for providing content for the root layer
  19504. Clients will just have to provide content through the normal
  19505. GraphicsLayer channels now!
  19506. Support for <http://webkit.org/b/52582> WebView should paint directly
  19507. into a GraphicsLayer when in accelerated compositing mode
  19508. Reviewed by Simon Fraser and Chris Marrin.
  19509. * platform/graphics/win/WKCACFLayerRenderer.cpp:
  19510. (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Removed
  19511. initialization of m_backingStoreDirty, which has itself been removed.
  19512. (WebCore::WKCACFLayerRenderer::setNeedsDisplay): Moved code to schedule
  19513. a sync from here to syncCompositingStateSoon. We only need to call
  19514. renderSoon if we don't call syncCompositingStateSoon; the latter
  19515. function calls the former.
  19516. (WebCore::WKCACFLayerRenderer::paint): Removed code to handle
  19517. m_backingStoreDirty. We don't want to know anything about clients'
  19518. backing stores.
  19519. (WebCore::WKCACFLayerRenderer::syncCompositingStateSoon): Added. Code
  19520. came from setNeedsDisplay.
  19521. * platform/graphics/win/WKCACFLayerRenderer.h:
  19522. Removed setRootContents[AndDisplay], setBackingStoreDirty, and
  19523. m_backingStoreDirty. Made paint() public so that clients can force a
  19524. synchronous render (e.g., when handling WM_PAINT).
  19525. 2011-01-17 Adam Roben <aroben@apple.com>
  19526. Remove contexts from WKCACFContextFlusher before destroying them
  19527. We aren't really using WKCACFContextFlusher for anything useful at the
  19528. moment, but that will probably change in the near future.
  19529. I couldn't come up with a way to test this because it isn't possible to
  19530. resize a window in DumpRenderTree.
  19531. Fixes <http://webkit.org/b/52573> REGRESSION (r75262): Crash beneath
  19532. WKCACFContextFlusher::flushAllContexts when resizing window on page
  19533. that uses accelerated compositing
  19534. Reviewed by Simon Fraser.
  19535. * platform/graphics/win/WKCACFLayerRenderer.cpp:
  19536. (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): Remove our
  19537. context from WKCACFContextFlusher. (This code was erroneously removed
  19538. from WKCACFLayerRenderer::destroyRenderer in r75262. This is a more
  19539. sensible place for it.)
  19540. 2011-01-17 Adam Roben <aroben@apple.com>
  19541. Don't access the CACFLayerRef's sublayers directly from PlatformCALayer
  19542. There might be a secret extra sublayer (the tile parent layer) that
  19543. PlatformCALayer doesn't know about. When PlatformCALayer would
  19544. encounter this, it would try to use the tile parent layer's
  19545. PlatformCALayer wrapper, which was null, and then would crash. We now
  19546. ask PlatformCALayerWinInternal for the sublayer list, since that class
  19547. knows about the tile parent layer and can exclude it from the sublayer
  19548. list.
  19549. Covered by compositing/tiling/huge-layer-resize.html.
  19550. Fixes <http://webkit.org/b/52597> Crash beneath
  19551. PlatformCALayer::adoptSublayers when switching out of tiling mode
  19552. (null-dereference of a PlatformCALayer)
  19553. Reviewed by Darin Adler and Chris Marrin.
  19554. * platform/graphics/ca/win/PlatformCALayerWin.cpp:
  19555. (PlatformCALayer::adoptSublayers):
  19556. (printLayer):
  19557. Changed to use PlatformCALayerWinInternal::getSublayers.
  19558. * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
  19559. (PlatformCALayerWinInternal::getSublayers): Added. Retrieves the list
  19560. of PlatformCALayers that represent our sublayers. Significantly, this
  19561. code knows about the tile parent layer and can thus exclude it.
  19562. * platform/graphics/ca/win/PlatformCALayerWinInternal.h: Added
  19563. getSublayers.
  19564. 2011-01-17 Naoki Takano <takano.naoki@gmail.com>
  19565. Reviewed by Kent Tamura.
  19566. [Chromium] Fix popup menu re-positioning when the menu is opened upward, above the corresponding form field.
  19567. https://bugs.webkit.org/show_bug.cgi?id=51382
  19568. http://crbug.com/60427
  19569. Calculate correct location of popup window whenever the items in the window change.
  19570. No new tests, because this fix is for Chromium project and hard to test only in WebKit project
  19571. * platform/chromium/PopupMenuChromium.cpp:
  19572. (WebCore::PopupContainer::layoutAndCalculateWidgetRect): New Function to layout and calculate popup widget rect.
  19573. (WebCore::PopupContainer::showPopup): Move widgetRect calculation logic to calculateWidgetRect().
  19574. (WebCore::PopupContainer::refresh): Add parameter focusRect to take the location and the size of focus text input field to calculate correct popup window location.
  19575. * platform/chromium/PopupMenuChromium.h: Append new input parameter for refresh().
  19576. 2011-01-17 Mark Rowe <mrowe@apple.com>
  19577. Fix the 32-bit build.
  19578. * WebCore.exp.in:
  19579. 2011-01-17 Dan Bernstein <mitz@apple.com>
  19580. Reviewed by Darin Adler.
  19581. Use of invalid hash map key in CSSFontFaceSource::getFontData() with 0-sized remote font
  19582. https://bugs.webkit.org/show_bug.cgi?id=52598
  19583. Test: fast/css/font-face-zero-hash-key.html
  19584. * css/CSSFontFaceSource.cpp:
  19585. (WebCore::CSSFontFaceSource::getFontData): Add 1 to the font size to avoid a 0 hash key.
  19586. * css/CSSSegmentedFontFace.cpp:
  19587. (WebCore::CSSSegmentedFontFace::getFontData): Ditto.
  19588. 2011-01-17 David Kilzer <ddkilzer@apple.com>
  19589. <http://webkit.org/b/52596> Add missing DOMDocument/DOMDocumentFragment headers to Xcode project
  19590. Reviewed by Dan Bernstein.
  19591. This fixes two issues:
  19592. Add missing DOMDocumentFragmentPrivate.h and
  19593. DOMDocumentPrivate.h files to the project. These files were
  19594. never added to the the project although their *Internal.h
  19595. counterparts were added in r16548 and r17390.
  19596. Add missing DOMDocumentFragmentInternal.h to the Headers
  19597. section. It was moved from Headers to "Copy Generated Headers"
  19598. in r31045, but it should have an entry in both sections.
  19599. * WebCore.xcodeproj/project.pbxproj:
  19600. 2011-01-17 Helder Correia <helder@sencha.com>
  19601. Reviewed by Andreas Kling.
  19602. [Qt] Incorrect shadow alpha with pattern fillStyle
  19603. https://bugs.webkit.org/show_bug.cgi?id=52559
  19604. The shadow color opacity needs to be set on the shadow painter.
  19605. This is related to bug 52556.
  19606. Test: fast/canvas/canvas-fillPath-pattern-shadow.html
  19607. * platform/graphics/qt/GraphicsContextQt.cpp:
  19608. (WebCore::GraphicsContext::fillPath):
  19609. 2011-01-17 Martin Robinson <mrobinson@igalia.com>
  19610. Reviewed by Andreas Kling.
  19611. [GTK] Port a crash fix from libsoup upstream to the libsoup cache code
  19612. https://bugs.webkit.org/show_bug.cgi?id=52586
  19613. No new tests. This is just a merge from upstream.
  19614. * platform/network/soup/cache/soup-http-input-stream.c:
  19615. (webkit_soup_http_input_stream_got_chunk): Properly handle unsigned numbers.
  19616. 2011-01-17 Tony Gentilcore <tonyg@chromium.org>
  19617. Reviewed by Alexey Proskuryakov.
  19618. Fix some headers with missing or misspelled #ifndef guards
  19619. https://bugs.webkit.org/show_bug.cgi?id=52545
  19620. No new tests because no new functionality.
  19621. * ForwardingHeaders/runtime/InitializeThreading.h:
  19622. * editing/SmartReplace.h:
  19623. * loader/CrossOriginAccessControl.h:
  19624. * loader/NetscapePlugInStreamLoader.h:
  19625. * platform/chromium/ClipboardUtilitiesChromium.h:
  19626. * platform/graphics/cairo/DrawErrorUnderline.h:
  19627. * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
  19628. * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
  19629. * platform/graphics/cg/PDFDocumentImage.h:
  19630. * platform/win/WebCoreTextRenderer.h:
  19631. 2011-01-17 Pavel Feldman <pfeldman@chromium.org>
  19632. Not reviewed: follow-up fix for r52574: do not reuse clear() for navigation.
  19633. * inspector/front-end/NetworkPanel.js:
  19634. (WebInspector.NetworkPanel.prototype.clear):
  19635. (WebInspector.NetworkPanel.prototype.mainResourceChanged):
  19636. 2011-01-17 Sergio Villar Senin <svillar@igalia.com>
  19637. Reviewed by Martin Robinson.
  19638. [Gtk] No need to content sniff 304 Not Modified responses
  19639. https://bugs.webkit.org/show_bug.cgi?id=52570
  19640. Makes no sense to wait for the outcome of content sniffing when WebCore
  19641. is validating resources. If we get a 304 Not Modified it means that we can
  19642. safely use the cached version of the resource we're asking for.
  19643. No new tests because it does not change functionality, it just
  19644. calls didReceiveResponse sooner for 304 Not Modified responses.
  19645. * platform/network/soup/ResourceHandleSoup.cpp:
  19646. (WebCore::gotHeadersCallback):
  19647. 2011-01-17 Jessie Berlin <jberlin@apple.com>
  19648. Reviewed by Anders Carlsson.
  19649. REGRESSION: Assertion failure in FrameLoader::continueLoadAfterWillSubmitForm() when
  19650. navigating back to an unreachable URL
  19651. https://bugs.webkit.org/show_bug.cgi?id=52388
  19652. Test: http/tests/navigation/go-back-to-error-page.html
  19653. * history/PageCache.cpp:
  19654. (WebCore::PageCache::canCachePageContainingThisFrame):
  19655. Do not cache any error pages (which we can recognize as having substitute data and/or an
  19656. unreachableURL).
  19657. 2011-01-17 Pavel Feldman <pfeldman@chromium.org>
  19658. Not reviewed: fixing typo in r75952.
  19659. * inspector/front-end/NetworkPanel.js:
  19660. (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
  19661. 2011-01-17 Enrica Casucci <enrica@apple.com>
  19662. Reviewed by Alexey Proskuryakov.
  19663. Drag and drop support: refactoring of image from link and image from selection
  19664. https://bugs.webkit.org/show_bug.cgi?id=52496
  19665. This work cleans up the Mac code and makes it more similar to the Windows implementation,
  19666. avoiding the use of an NSView when the FrameView can be used.
  19667. The refactoring is a necessary step towards the complete support of drag and drop
  19668. in WebKit2.
  19669. * page/mac/FrameMac.mm:
  19670. (WebCore::Frame::imageFromRect): Modified to use FrameView instead of NSView
  19671. to generate the image for drag.
  19672. 2011-01-17 Dan Bernstein <mitz@apple.com>
  19673. Rubber-stamped by Mark Rowe.
  19674. Update xcodeproj svn:ignore to include xcuserdata.
  19675. * WebCore.xcodeproj: Modified property svn:ignore.
  19676. * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Modified property svn:ignore.
  19677. 2011-01-17 Alexey Proskuryakov <ap@apple.com>
  19678. Leopard build fix.
  19679. * page/PrintContext.cpp: GCC complained about shortening a double value to float.
  19680. 2011-01-17 Alexey Proskuryakov <ap@apple.com>
  19681. Reviewed by Dan Bernstein.
  19682. https://bugs.webkit.org/show_bug.cgi?id=52495
  19683. No change in behavior, so no tests.
  19684. * WebCore.exp.in: Export additional methods, as I'm going to use more code from PrintContext.
  19685. * page/PrintContext.cpp:
  19686. (WebCore::PrintContext::~PrintContext): No need to clear m_pageRects, the object is being
  19687. destroyed already.
  19688. (WebCore::PrintContext::pageCount): Changed page count from int to size_t.
  19689. (WebCore::PrintContext::pageRect): Ditto.
  19690. (WebCore::PrintContext::computePageRects): Pass allowHorizontalTiling as an argument.
  19691. PrintContext already has code to calculate scale factor, so it makes sense to make methods
  19692. that contain it universal (allowHorizontalTiling is always true for Safari).
  19693. Round page height to an integer, because Mac code does that, and because page height is
  19694. treated as integer almost everywhere else in code.
  19695. (WebCore::PrintContext::begin): Allow calling this function multiple times. There is no need
  19696. to return to screen mode if e.g. "print backgounds" option changes.
  19697. (WebCore::PrintContext::computeAutomaticScaleFactor): Expose scale factor computation, so
  19698. that clients don't have to copy it.
  19699. (WebCore::PrintContext::spoolRect): Add a way to spool a precomputed rect - handy if a request
  19700. comes from code that doesn't have page number.
  19701. (WebCore::PrintContext::pageNumberForElement): Page number int -> size_t.
  19702. * page/PrintContext.h: Added comments and FIXMEs. PrintContext needs cleanup, but that
  19703. depends on deciding how it really needs to work (e.g. whether computePageRects() should
  19704. cause relayout).
  19705. 2011-01-17 Pavel Feldman <pfeldman@chromium.org>
  19706. Reviewed by Yury Semikhatsky.
  19707. Web Inspector: unify image data source assignment, add image url
  19708. to the image view properties list.
  19709. https://bugs.webkit.org/show_bug.cgi?id=52584
  19710. * English.lproj/localizedStrings.js:
  19711. * inspector/front-end/ImageView.js:
  19712. (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad):
  19713. (WebInspector.ImageView.prototype._createContentIfNeeded):
  19714. * inspector/front-end/NetworkPanel.js:
  19715. (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
  19716. * inspector/front-end/Resource.js:
  19717. (WebInspector.Resource.prototype.populateImageSource):
  19718. (WebInspector.Resource.prototype._contentURL):
  19719. * inspector/front-end/ResourcesPanel.js:
  19720. (WebInspector.FrameResourceTreeElement.prototype.onattach):
  19721. 2011-01-17 Andrey Kosyakov <caseq@chromium.org>
  19722. Reviewed by Pavel Feldman.
  19723. Web Inspector: [Extensions API] webInspector.resources.onFinished is not fired for redirected resources
  19724. Make resource start/finish hanlding more consistent.
  19725. https://bugs.webkit.org/show_bug.cgi?id=52452
  19726. * inspector/front-end/AuditLauncherView.js: Ignore WebSocket resources when displaying progress indicator
  19727. (WebInspector.AuditLauncherView.prototype._resetResourceCount):
  19728. (WebInspector.AuditLauncherView.prototype.resourceStarted):
  19729. (WebInspector.AuditLauncherView.prototype.resourceFinished):
  19730. * inspector/front-end/NetworkManager.js:
  19731. (WebInspector.NetworkManager): Factor out resource start/finish logic to _startResource()/_finishResource()
  19732. (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
  19733. (WebInspector.NetworkManager.prototype.willSendRequest):
  19734. (WebInspector.NetworkManager.prototype.markResourceAsCached):
  19735. (WebInspector.NetworkManager.prototype.didReceiveResponse):
  19736. (WebInspector.NetworkManager.prototype.didReceiveContentLength):
  19737. (WebInspector.NetworkManager.prototype.didFinishLoading):
  19738. (WebInspector.NetworkManager.prototype.didFailLoading):
  19739. (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache):
  19740. (WebInspector.NetworkManager.prototype.didCreateWebSocket):
  19741. (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest):
  19742. (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse):
  19743. (WebInspector.NetworkManager.prototype.didCloseWebSocket):
  19744. (WebInspector.NetworkManager.prototype._appendRedirect):
  19745. (WebInspector.NetworkManager.prototype._startResource):
  19746. (WebInspector.NetworkManager.prototype._finishResource):
  19747. 2011-01-17 Pavel Feldman <pfeldman@chromium.org>
  19748. Reviewed by Yury Semikhatsky.
  19749. Web Inspector: restore dom and network state upon frontend reuse.
  19750. https://bugs.webkit.org/show_bug.cgi?id=52574
  19751. * inspector/Inspector.idl:
  19752. * inspector/InspectorController.cpp:
  19753. (WebCore::InspectorController::restoreInspectorStateFromCookie):
  19754. (WebCore::InspectorController::populateScriptObjects):
  19755. (WebCore::InspectorController::pushDataCollectedOffline):
  19756. (WebCore::InspectorController::didCommitLoad):
  19757. * inspector/InspectorController.h:
  19758. * inspector/front-end/NetworkManager.js:
  19759. (WebInspector.NetworkManager.prototype.reset):
  19760. * inspector/front-end/NetworkPanel.js:
  19761. (WebInspector.NetworkPanel.prototype.clear):
  19762. (WebInspector.NetworkPanel.prototype.mainResourceChanged):
  19763. * inspector/front-end/ResourceTreeModel.js:
  19764. (WebInspector.ResourceTreeModel):
  19765. (WebInspector.ResourceTreeModel.prototype.reloadCachedResources):
  19766. * inspector/front-end/ResourcesPanel.js:
  19767. (WebInspector.ResourcesPanel.prototype.clear):
  19768. * inspector/front-end/inspector.js:
  19769. (WebInspector.frontendReused):
  19770. 2011-01-17 Csaba Osztrogonác <ossy@webkit.org>
  19771. Unreviewed buildfix after r75944.
  19772. * WebCore.pro:
  19773. 2011-01-17 Yi Shen <yi.4.shen@nokia.com>
  19774. Reviewed by Andreas Kling.
  19775. [Qt] Extend the Platform Plugin to support full screen video handler
  19776. https://bugs.webkit.org/show_bug.cgi?id=51249
  19777. Make MediaPlayerPrivateQt support a fullscreen player.
  19778. No new tests because LayoutTests/media/media-fullscreen-inline.html already exists.
  19779. However, this test failed for Qt (QtMediaPlayer) due to durationchange event getting fired twice.
  19780. So, still skip it for Qt.
  19781. * WebCore.pro:
  19782. * features.pri:
  19783. * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
  19784. (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
  19785. (WebCore::MediaPlayerPrivateQt::removeVideoItem):
  19786. (WebCore::MediaPlayerPrivateQt::restoreVideoItem):
  19787. * platform/graphics/qt/MediaPlayerPrivateQt.h:
  19788. (WebCore::MediaPlayerPrivateQt::supportsFullscreen):
  19789. (WebCore::MediaPlayerPrivateQt::mediaPlayer):
  19790. 2011-01-17 Anthony Ricaud <rik@webkit.org>
  19791. Reviewed by Kent Tamura.
  19792. [HTML5] Revert display:none on datalist
  19793. https://bugs.webkit.org/show_bug.cgi?id=52214
  19794. * css/html.css:
  19795. 2011-01-17 Pavel Feldman <pfeldman@chromium.org>
  19796. Reviewed by Yury Semikhatsky.
  19797. Web Inspector: simplify debugger enabling routine.
  19798. https://bugs.webkit.org/show_bug.cgi?id=52472
  19799. * inspector/Inspector.idl:
  19800. * inspector/InspectorController.cpp:
  19801. (WebCore::InspectorController::restoreDebugger):
  19802. (WebCore::InspectorController::showAndEnableDebugger):
  19803. (WebCore::InspectorController::enableDebugger):
  19804. * inspector/InspectorController.h:
  19805. * inspector/front-end/DebuggerModel.js:
  19806. * inspector/front-end/ScriptsPanel.js:
  19807. (WebInspector.ScriptsPanel.prototype.show):
  19808. (WebInspector.ScriptsPanel.prototype._toggleDebugging):
  19809. 2011-01-17 Pavel Podivilov <podivilov@chromium.org>
  19810. Reviewed by Pavel Feldman.
  19811. Web Inspector: refactoring: encapsulate lazy initialization of SourceFrame.
  19812. https://bugs.webkit.org/show_bug.cgi?id=51738
  19813. Extract content loading logic from SourceView and ScriptView to ContentProvider implementations.
  19814. Pass ContentProvider in SourceFrame constructor to allow SourceFrame manage it's lazy initialization.
  19815. * inspector/front-end/ScriptView.js:
  19816. (WebInspector.ScriptView):
  19817. (WebInspector.SourceFrameContentProviderForScript):
  19818. (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent.didRequestSource):
  19819. (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent):
  19820. (WebInspector.SourceFrameContentProviderForScript.prototype.scripts):
  19821. * inspector/front-end/ScriptsPanel.js:
  19822. (WebInspector.ScriptsPanel.prototype._addScript):
  19823. (WebInspector.ScriptsPanel.prototype.sourceFrameForScript):
  19824. (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
  19825. * inspector/front-end/SourceFrame.js:
  19826. (WebInspector.SourceFrame):
  19827. (WebInspector.SourceFrame.prototype.set visible):
  19828. (WebInspector.SourceFrame.prototype._createTextViewer):
  19829. (WebInspector.SourceFrame.prototype._breakpointAdded):
  19830. (WebInspector.SourceFrame.prototype._breakpoints):
  19831. (WebInspector.SourceFrame.prototype._sourceIDForLine):
  19832. (WebInspector.SourceFrame.prototype._sourceIDSet):
  19833. (WebInspector.SourceFrameContentProvider):
  19834. (WebInspector.SourceFrameContentProvider.prototype.requestContent):
  19835. (WebInspector.SourceFrameContentProvider.prototype.scripts):
  19836. * inspector/front-end/SourceView.js:
  19837. (WebInspector.SourceView):
  19838. (WebInspector.SourceView.prototype.show):
  19839. (WebInspector.SourceView.prototype.resize):
  19840. (WebInspector.SourceView.prototype.performSearch.didFindSearchMatches):
  19841. (WebInspector.SourceView.prototype.performSearch):
  19842. (WebInspector.SourceView.prototype.revealLine):
  19843. (WebInspector.SourceView.prototype.highlightLine):
  19844. (WebInspector.SourceView.prototype._jumpToSearchResult):
  19845. (WebInspector.SourceFrameContentProviderForResource):
  19846. (WebInspector.SourceFrameContentProviderForResource.prototype.requestContent):
  19847. (WebInspector.SourceFrameContentProviderForResource.prototype.scripts):
  19848. 2011-01-17 John Knottenbelt <jknotten@chromium.org>
  19849. Reviewed by Jeremy Orlow.
  19850. GeolocationController should call stopUpdating on destruction
  19851. https://bugs.webkit.org/show_bug.cgi?id=52216
  19852. Test: fast/dom/Geolocation/window-close-crash.html
  19853. * page/GeolocationController.cpp:
  19854. (WebCore::GeolocationController::~GeolocationController):
  19855. 2011-01-17 Pavel Feldman <pfeldman@chromium.org>
  19856. Not reviewed: Qt build fix.
  19857. * inspector/InspectorInstrumentation.h:
  19858. 2011-01-16 Pavel Feldman <pfeldman@chromium.org>
  19859. Reviewed by Yury Semikhatsky.
  19860. Web Inspector: make WebCore use InspectorInstrumentation
  19861. for instrumentation calls.
  19862. https://bugs.webkit.org/show_bug.cgi?id=52532
  19863. This change makes WebCore classes issue instrumentation signals
  19864. by means of InspectorInstrumentation interface. It covered migration
  19865. for Document, FrameLoader, Database, DOMStorage, etc. It fixed
  19866. instrumentation handling for Console as well. This all is a part
  19867. of story described in the bug 52510.
  19868. * dom/Document.cpp:
  19869. (WebCore::Document::finishedParsing):
  19870. * dom/Document.h:
  19871. * dom/ScriptExecutionContext.h:
  19872. * inspector/InspectorBrowserDebuggerAgent.cpp:
  19873. (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
  19874. (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
  19875. (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
  19876. (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
  19877. (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
  19878. (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
  19879. (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
  19880. (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
  19881. (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
  19882. * inspector/InspectorBrowserDebuggerAgent.h:
  19883. (WebCore::InspectorBrowserDebuggerAgent::create):
  19884. * inspector/InspectorConsoleAgent.cpp:
  19885. (WebCore::InspectorConsoleAgent::stopTiming):
  19886. (WebCore::InspectorConsoleAgent::count):
  19887. * inspector/InspectorConsoleAgent.h:
  19888. * inspector/InspectorController.cpp:
  19889. (WebCore::InspectorController::InspectorController):
  19890. (WebCore::InspectorController::~InspectorController):
  19891. (WebCore::InspectorController::handleMousePress):
  19892. (WebCore::InspectorController::didClearWindowObjectInWorld):
  19893. (WebCore::PostWorkerNotificationToFrontendTask::performTask):
  19894. * inspector/InspectorController.h:
  19895. * inspector/InspectorDOMAgent.h:
  19896. * inspector/InspectorDOMStorageAgent.h:
  19897. * inspector/InspectorDatabaseAgent.cpp:
  19898. * inspector/InspectorDatabaseAgent.h:
  19899. * inspector/InspectorFrontendHost.cpp:
  19900. * inspector/InspectorFrontendHost.h:
  19901. * inspector/InspectorInstrumentation.cpp:
  19902. (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
  19903. (WebCore::InspectorInstrumentation::inspectedPageDestroyedImpl):
  19904. (WebCore::InspectorInstrumentation::mouseDidMoveOverElementImpl):
  19905. (WebCore::InspectorInstrumentation::handleMousePressImpl):
  19906. (WebCore::InspectorInstrumentation::mainResourceFiredLoadEventImpl):
  19907. (WebCore::InspectorInstrumentation::mainResourceFiredDOMContentEventImpl):
  19908. (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
  19909. (WebCore::InspectorInstrumentation::didCommitLoadImpl):
  19910. (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
  19911. (WebCore::InspectorInstrumentation::consoleCountImpl):
  19912. (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
  19913. (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
  19914. (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl):
  19915. (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
  19916. (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
  19917. (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
  19918. (WebCore::InspectorInstrumentation::didCreateWorkerImpl):
  19919. (WebCore::InspectorInstrumentation::didDestroyWorkerImpl):
  19920. (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
  19921. (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
  19922. (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
  19923. (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
  19924. (WebCore::InspectorInstrumentation::networkStateChangedImpl):
  19925. (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
  19926. * inspector/InspectorInstrumentation.h:
  19927. (WebCore::InspectorInstrumentation::inspectorControllerCreated):
  19928. (WebCore::InspectorInstrumentation::inspectorControllerDeleted):
  19929. (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
  19930. (WebCore::InspectorInstrumentation::inspectedPageDestroyed):
  19931. (WebCore::InspectorInstrumentation::willInsertDOMNode):
  19932. (WebCore::InspectorInstrumentation::didInsertDOMNode):
  19933. (WebCore::InspectorInstrumentation::willRemoveDOMNode):
  19934. (WebCore::InspectorInstrumentation::willModifyDOMAttr):
  19935. (WebCore::InspectorInstrumentation::didModifyDOMAttr):
  19936. (WebCore::InspectorInstrumentation::mouseDidMoveOverElement):
  19937. (WebCore::InspectorInstrumentation::handleMousePress):
  19938. (WebCore::InspectorInstrumentation::characterDataModified):
  19939. (WebCore::InspectorInstrumentation::willSendXMLHttpRequest):
  19940. (WebCore::InspectorInstrumentation::didScheduleResourceRequest):
  19941. (WebCore::InspectorInstrumentation::didInstallTimer):
  19942. (WebCore::InspectorInstrumentation::didRemoveTimer):
  19943. (WebCore::InspectorInstrumentation::willCallFunction):
  19944. (WebCore::InspectorInstrumentation::willChangeXHRReadyState):
  19945. (WebCore::InspectorInstrumentation::willDispatchEvent):
  19946. (WebCore::InspectorInstrumentation::willDispatchEventOnWindow):
  19947. (WebCore::InspectorInstrumentation::willEvaluateScript):
  19948. (WebCore::InspectorInstrumentation::willFireTimer):
  19949. (WebCore::InspectorInstrumentation::willLayout):
  19950. (WebCore::InspectorInstrumentation::willLoadXHR):
  19951. (WebCore::InspectorInstrumentation::willPaint):
  19952. (WebCore::InspectorInstrumentation::willRecalculateStyle):
  19953. (WebCore::InspectorInstrumentation::identifierForInitialRequest):
  19954. (WebCore::InspectorInstrumentation::willSendRequest):
  19955. (WebCore::InspectorInstrumentation::markResourceAsCached):
  19956. (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
  19957. (WebCore::InspectorInstrumentation::willReceiveResourceData):
  19958. (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
  19959. (WebCore::InspectorInstrumentation::didReceiveContentLength):
  19960. (WebCore::InspectorInstrumentation::didFinishLoading):
  19961. (WebCore::InspectorInstrumentation::didFailLoading):
  19962. (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequest):
  19963. (WebCore::InspectorInstrumentation::scriptImported):
  19964. (WebCore::InspectorInstrumentation::mainResourceFiredLoadEvent):
  19965. (WebCore::InspectorInstrumentation::mainResourceFiredDOMContentEvent):
  19966. (WebCore::InspectorInstrumentation::frameDetachedFromParent):
  19967. (WebCore::InspectorInstrumentation::didCommitLoad):
  19968. (WebCore::InspectorInstrumentation::willWriteHTML):
  19969. (WebCore::InspectorInstrumentation::didOpenDatabase):
  19970. (WebCore::InspectorInstrumentation::didUseDOMStorage):
  19971. (WebCore::InspectorInstrumentation::didCreateWorker):
  19972. (WebCore::InspectorInstrumentation::didDestroyWorker):
  19973. (WebCore::InspectorInstrumentation::didCreateWebSocket):
  19974. (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
  19975. (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
  19976. (WebCore::InspectorInstrumentation::didCloseWebSocket):
  19977. (WebCore::InspectorInstrumentation::networkStateChanged):
  19978. (WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
  19979. (WebCore::InspectorInstrumentation::addMessageToConsole):
  19980. (WebCore::InspectorInstrumentation::consoleCount):
  19981. (WebCore::InspectorInstrumentation::startConsoleTiming):
  19982. (WebCore::InspectorInstrumentation::stopConsoleTiming):
  19983. (WebCore::InspectorInstrumentation::consoleMarkTimeline):
  19984. (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
  19985. (WebCore::InspectorInstrumentation::inspectorControllerForContext):
  19986. (WebCore::InspectorInstrumentation::inspectorControllerForFrame):
  19987. (WebCore::InspectorInstrumentation::inspectorControllerForPage):
  19988. (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForContext):
  19989. (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForDocument):
  19990. (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForFrame):
  19991. (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForPage):
  19992. * inspector/InspectorState.cpp:
  19993. * loader/FrameLoader.cpp:
  19994. (WebCore::FrameLoader::detachFromParent):
  19995. (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
  19996. (WebCore::FrameLoader::dispatchDidCommitLoad):
  19997. * page/Chrome.cpp:
  19998. (WebCore::Chrome::mouseDidMoveOverElement):
  19999. * page/Console.cpp:
  20000. (WebCore::Console::addMessage):
  20001. (WebCore::Console::count):
  20002. (WebCore::Console::markTimeline):
  20003. (WebCore::Console::profile):
  20004. (WebCore::Console::time):
  20005. (WebCore::Console::timeEnd):
  20006. (WebCore::Console::group):
  20007. (WebCore::Console::groupCollapsed):
  20008. (WebCore::Console::groupEnd):
  20009. * page/DOMWindow.cpp:
  20010. (WebCore::DOMWindow::sessionStorage):
  20011. (WebCore::DOMWindow::localStorage):
  20012. (WebCore::DOMWindow::dispatchLoadEvent):
  20013. * page/EventHandler.cpp:
  20014. (WebCore::EventHandler::handleMousePressEvent):
  20015. * page/Page.cpp:
  20016. (WebCore::Page::~Page):
  20017. * storage/Database.cpp:
  20018. (WebCore::Database::openDatabase):
  20019. * workers/AbstractWorker.cpp:
  20020. (WebCore::AbstractWorker::onDestroyWorker):
  20021. * workers/SharedWorker.cpp:
  20022. (WebCore::SharedWorker::create):
  20023. * workers/Worker.cpp:
  20024. (WebCore::Worker::create):
  20025. * workers/WorkerMessagingProxy.cpp:
  20026. 2011-01-17 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  20027. Unreviewed, rolling out r75923.
  20028. GTK guy rolls out the r75914.
  20029. * platform/efl/ScrollViewEfl.cpp:
  20030. (WebCore::ScrollView::platformInit):
  20031. 2011-01-17 Helder Correia <helder@sencha.com>
  20032. Reviewed by Kenneth Rohde Christiansen.
  20033. [Qt] fast/canvas/canvas-fillPath-gradient-shadow.html does not pass
  20034. https://bugs.webkit.org/show_bug.cgi?id=52556
  20035. The shadow color opacity needs to be set on the shadow painter.
  20036. Additionally, the gradient brush should be transformed.
  20037. * platform/graphics/qt/GraphicsContextQt.cpp:
  20038. (WebCore::GraphicsContext::fillPath):
  20039. 2011-01-17 No'am Rosenthal <noam.rosenthal@nokia.com>
  20040. Reviewed by Kenneth Rohde Christiansen.
  20041. [Qt] Background image rendering is slow
  20042. https://bugs.webkit.org/show_bug.cgi?id=50527
  20043. When tiling a scaled pixmap in Image::drawPattern, scale the tile
  20044. first and only then draw it to the target. Do so only when drawing
  20045. more than one tile.
  20046. Tests in fast/backgrounds/size cover this.
  20047. * platform/graphics/qt/ImageQt.cpp:
  20048. (WebCore::Image::drawPattern):
  20049. 2011-01-17 Laszlo Gombos <laszlo.1.gombos@nokia.com>
  20050. Reviewed by Simon Hausmann.
  20051. [Qt] [Symbian] Fix building NPAPI support
  20052. https://bugs.webkit.org/show_bug.cgi?id=51981
  20053. Make sure that npapi.h is always included outside of the extern "C"
  20054. linkage declaration block.
  20055. No new tests as there is no new functionality.
  20056. * bridge/npruntime.h:
  20057. 2011-01-17 Philippe Normand <pnormand@igalia.com>
  20058. Unreviewed, rolling out r75914.
  20059. http://trac.webkit.org/changeset/75914
  20060. https://bugs.webkit.org/show_bug.cgi?id=49177
  20061. multiple crashes on GTK
  20062. * platform/ScrollView.cpp:
  20063. (WebCore::ScrollView::removeChild):
  20064. (WebCore::ScrollView::wheelEvent):
  20065. * platform/gtk/MainFrameScrollbarGtk.cpp:
  20066. (MainFrameScrollbarGtk::attachAdjustment):
  20067. (MainFrameScrollbarGtk::gtkValueChanged):
  20068. * platform/gtk/ScrollViewGtk.cpp:
  20069. (WebCore::ScrollView::platformInit):
  20070. (WebCore::ScrollView::platformAddChild):
  20071. (WebCore::ScrollView::platformRemoveChild):
  20072. 2011-01-17 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  20073. Unreviewed build fix.
  20074. Bug 49177's patch enabled platformInit() in super class(ScrollView).
  20075. But, it didn't removed the function in ScrollViewEfl.cpp.
  20076. * platform/efl/ScrollViewEfl.cpp:
  20077. 2011-01-16 Dan Bernstein <mitz@apple.com>
  20078. Reviewed by Sam Weinig.
  20079. <rdar://problem/8871903> REGRESSION (r75897): Crash with 0-by-0 iframe in scaled WebView
  20080. Avoid use of FloatRect::enclosingBoundingBox(), which can stretch an empty
  20081. quad to a non-empty rect.
  20082. * rendering/RenderWidget.cpp:
  20083. (WebCore::RenderWidget::setWidget):
  20084. (WebCore::RenderWidget::updateWidgetPosition):
  20085. 2011-01-16 Martin Robinson <mrobinson@igalia.com>
  20086. Reviewed by Xan Lopez.
  20087. [GTK] fast/events/scroll-after-click-on-tab-index has been failing on the bots
  20088. https://bugs.webkit.org/show_bug.cgi?id=49177
  20089. * platform/ScrollView.cpp: Move the platform guards around a little. GTK+
  20090. now shares the implementation of platformAddChild and platformRemoveChild,
  20091. but has its own implementation of removeChild, which knows how to inform
  20092. main frame scrollbars that they no longer control the WebCore scrollbar.
  20093. * platform/gtk/MainFrameScrollbarGtk.cpp:
  20094. (MainFrameScrollbarGtk::attachAdjustment): If we are attaching the same adjustment
  20095. that we already have, bail out early. Apply the value changed signal handler
  20096. after configuring the adjustment. We don't want our reset of the adjustment to
  20097. stomp on WebCore values.
  20098. (MainFrameScrollbarGtk::gtkValueChanged): Do not adjust the value if the WebCore
  20099. state already matches ours. This prevents some unnecessary recursion
  20100. * platform/gtk/ScrollViewGtk.cpp:
  20101. (WebCore::ScrollView::removeChild): Added, special cases main frame scrollbars
  20102. which need their adjustments detached.
  20103. 2011-01-13 Yuzo Fujishima <yuzo@google.com>
  20104. Reviewed by Antti Koivisto.
  20105. Fix for Bug 52427 - Inconsistent use of m_cache in CachedResourceLoader
  20106. https://bugs.webkit.org/show_bug.cgi?id=52427
  20107. In constructor/destructor of CachedResourceLoader, m_cache has been
  20108. used to call MemoryCache::addCachedResourceLoader/removeCachedResourceLoader
  20109. while cache() is used everywhere else.
  20110. Actually addCachedResourceLoader/removeCachedResourceLoader need not be called at all.
  20111. Remove the call sites and make MemoryCache non-friend of CachedResourceLoader.
  20112. No new tests because the behavior remains the same.
  20113. * loader/cache/CachedResourceLoader.cpp:
  20114. (WebCore::CachedResourceLoader::CachedResourceLoader):
  20115. (WebCore::CachedResourceLoader::~CachedResourceLoader):
  20116. * loader/cache/CachedResourceLoader.h:
  20117. * loader/cache/MemoryCache.cpp:
  20118. * loader/cache/MemoryCache.h:
  20119. 2011-01-16 Adam Barth <abarth@webkit.org>
  20120. Rubber-stamped by Eric Seidel.
  20121. Move WebKit into Source
  20122. https://bugs.webkit.org/show_bug.cgi?id=52530
  20123. * WebCore.gyp/WebCore.gyp:
  20124. * WebCore.pri:
  20125. * WebCore.pro:
  20126. 2011-01-16 Simon Fraser <simon.fraser@apple.com>
  20127. Reviewed by Dan Bernstein.
  20128. frame-removed-during-resize.html test crashes (shows up as image-map-2.html crash)
  20129. https://bugs.webkit.org/show_bug.cgi?id=52549
  20130. Fix regression from r75900; m_widget->setFrameRect() can run script that
  20131. clears m_widget, so null-check it before calling setBoundsSize().
  20132. Tested by fast/replaced/frame-removed-during-resize.html
  20133. * rendering/RenderWidget.cpp:
  20134. (WebCore::RenderWidget::setWidgetGeometry):
  20135. 2011-01-16 Simon Fraser <simon.fraser@apple.com>
  20136. Keep Leopard build happy.
  20137. * platform/mac/WidgetMac.mm:
  20138. (WebCore::Widget::setBoundsSize):
  20139. 2011-01-16 Robert Hogan <robert@webkit.org>
  20140. Reviewed by Andreas Kling.
  20141. [Qt] plugins/keyboard-events.html fails after r72717
  20142. https://bugs.webkit.org/show_bug.cgi?id=50050
  20143. * plugins/qt/PluginViewQt.cpp:
  20144. (WebCore::setXKeyEventSpecificFields): map event text to keycode
  20145. 2011-01-16 Simon Fraser <simon.fraser@apple.com>
  20146. Reviewed by Dan Bernstein.
  20147. Issues with iframes and plugins when the WebView is scaled.
  20148. <rdar://problem/6213380>
  20149. When _scaleWebView has been called on a WebView, iframes
  20150. in WebKit1 render and hit-test incorrectly, and plug-ins don't scale up.
  20151. This is caused by AppKit NSViews not playing nicely with the scale
  20152. applied through style.
  20153. Work around most of these issues by adjusting the bounds size
  20154. of widgets to allow iframe contents to paint with the correct scale,
  20155. and fix various places in the code where we relied on coordinate
  20156. transforms via NSViews (which ignore CSS transforms).
  20157. * WebCore.exp.in:
  20158. * platform/Widget.cpp:
  20159. (WebCore::Widget::setBoundsSize):
  20160. * platform/Widget.h:
  20161. * platform/mac/WidgetMac.mm:
  20162. (WebCore::Widget::setBoundsSize):
  20163. (WebCore::Widget::paint):
  20164. * rendering/RenderLayerCompositor.cpp:
  20165. (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame):
  20166. * rendering/RenderWidget.cpp:
  20167. (WebCore::RenderWidget::setWidgetGeometry):
  20168. (WebCore::RenderWidget::setWidget):
  20169. (WebCore::RenderWidget::updateWidgetPosition):
  20170. * rendering/RenderWidget.h:
  20171. 2011-01-16 Simon Fraser <simon.fraser@apple.com>
  20172. Reviewed by Dan Bernstein.
  20173. RenderView needs to take transforms on its layer into account
  20174. https://bugs.webkit.org/show_bug.cgi?id=52536
  20175. The RenderView's coordinate mapping methods failed to
  20176. take into account a transform on the RenderView's layer.
  20177. No tests because it's not possible to get a transform
  20178. on the RenderView's layer through content.
  20179. * rendering/RenderView.cpp:
  20180. (WebCore::RenderView::mapLocalToContainer):
  20181. (WebCore::RenderView::mapAbsoluteToLocalPoint):
  20182. 2011-01-15 Sheriff Bot <webkit.review.bot@gmail.com>
  20183. Unreviewed, rolling out r75708.
  20184. http://trac.webkit.org/changeset/75708
  20185. https://bugs.webkit.org/show_bug.cgi?id=52521
  20186. Breaks Qt build if mobility is not installed. (Requested by
  20187. benjaminp on #webkit).
  20188. * WebCore.pro:
  20189. * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
  20190. (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
  20191. * platform/graphics/qt/MediaPlayerPrivateQt.h:
  20192. (WebCore::MediaPlayerPrivateQt::supportsFullscreen):
  20193. 2011-01-15 David Kilzer <ddkilzer@apple.com>
  20194. <http://webkit.org/b/52512> REGRESSION(r73818): range.cloneContents() ignores end offset
  20195. Reviewed by Adele Peterson.
  20196. The fix for Bug 50710 in r73799 introduced an off-by-one error
  20197. when copying nodes to a local NodeVector for processing. A fix
  20198. was attempted for Bug 50854 in r73818, but instead of stopping
  20199. at the end offset, it iterates through all the sibling nodes
  20200. because the loop variable (i) is never incremented. To clean
  20201. this up, revert back to the code in r73799 and fix the
  20202. off-by-one error.
  20203. Test: fast/dom/Range/range-clone-contents.html
  20204. * dom/Range.cpp:
  20205. (WebCore::Range::processContents): Fix the loop that copies
  20206. nodes to a local NodeVector by restoring the code from r73799
  20207. and fixing the off-by-one error.
  20208. 2011-01-15 Adam Barth <abarth@webkit.org>
  20209. Rubber-stamped by Eric Seidel.
  20210. Move WebKit2 into Source
  20211. https://bugs.webkit.org/show_bug.cgi?id=52438
  20212. * WebCore.pro:
  20213. 2011-01-15 Joone Hur <joone.hur@collabora.co.uk>
  20214. Reviewed by Martin Robinson.
  20215. [GTK] Linux build with FileSystem API enabled fails
  20216. https://bugs.webkit.org/show_bug.cgi?id=43878
  20217. This patch allows WebKitGtk+ to build with FileSystem API option.
  20218. No new tests because no new functionality.
  20219. * GNUmakefile.am: Included AsyncFileSystem.h,cpp and Excluded duplicated JSFileException.h,cpp.
  20220. * bindings/js/JSDirectoryEntryCustom.cpp: Included ExceptionCode.h.
  20221. 2011-01-14 Sam Magnuson <smagnuso@gmail.com>
  20222. Reviewed by Kenneth Rohde Christiansen.
  20223. [Qt] Compile with QT_NO_GRAPHICSVIEW
  20224. https://bugs.webkit.org/show_bug.cgi?id=49750
  20225. * platform/graphics/qt/GraphicsLayerQt.cpp:
  20226. * platform/graphics/qt/GraphicsLayerQt.h:
  20227. * platform/qt/PlatformMouseEventQt.cpp:
  20228. 2011-01-14 Tony Chang <tony@chromium.org>
  20229. Reviewed by Alexey Proskuryakov.
  20230. Strip NUL character when copying text on Windows
  20231. https://bugs.webkit.org/show_bug.cgi?id=52236
  20232. Test: editing/pasteboard/copy-null-characters.html
  20233. * editing/Editor.cpp:
  20234. (WebCore::Editor::selectedText):
  20235. * platform/mac/PasteboardMac.mm:
  20236. (WebCore::Pasteboard::writeSelection): Use editor()->selectedText() which matches the other platforms.
  20237. 2011-01-14 Yuzo Fujishima <yuzo@google.com>
  20238. Reviewed by Antti Koivisto.
  20239. Rename cache() to memoryCache()
  20240. https://bugs.webkit.org/show_bug.cgi?id=52433
  20241. No new tests because the behavior remains the same.
  20242. * WebCore.exp.in:
  20243. * WebCore.order:
  20244. * history/PageCache.cpp:
  20245. (WebCore::PageCache::releaseAutoreleasedPagesNow):
  20246. * inspector/InspectorResourceAgent.cpp:
  20247. (WebCore::InspectorResourceAgent::cachedResource):
  20248. * loader/FrameLoader.cpp:
  20249. (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads):
  20250. * loader/archive/cf/LegacyWebArchive.cpp:
  20251. (WebCore::LegacyWebArchive::create):
  20252. * loader/cache/CachedImage.cpp:
  20253. (WebCore::CachedImage::allClientsRemoved):
  20254. (WebCore::CachedImage::data):
  20255. * loader/cache/CachedResource.cpp:
  20256. (WebCore::CachedResource::~CachedResource):
  20257. (WebCore::CachedResource::addClientToSet):
  20258. (WebCore::CachedResource::removeClient):
  20259. (WebCore::CachedResource::setDecodedSize):
  20260. (WebCore::CachedResource::setEncodedSize):
  20261. (WebCore::CachedResource::didAccessDecodedData):
  20262. * loader/cache/CachedResourceLoader.cpp:
  20263. (WebCore::CachedResourceLoader::CachedResourceLoader):
  20264. (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
  20265. (WebCore::CachedResourceLoader::requestResource):
  20266. (WebCore::CachedResourceLoader::revalidateResource):
  20267. (WebCore::CachedResourceLoader::loadResource):
  20268. (WebCore::CachedResourceLoader::clearPreloads):
  20269. (WebCore::CachedResourceLoader::printPreloadStats):
  20270. * loader/cache/CachedResourceRequest.cpp:
  20271. (WebCore::CachedResourceRequest::load):
  20272. (WebCore::CachedResourceRequest::didFail):
  20273. (WebCore::CachedResourceRequest::didReceiveResponse):
  20274. * loader/cache/MemoryCache.cpp:
  20275. (WebCore::memoryCache):
  20276. * loader/cache/MemoryCache.h:
  20277. 2011-01-14 Dan Bernstein <mitz@apple.com>
  20278. Reviewed by Simon Fraser.
  20279. WebCore part of <rdar://problem/8441312> Crash in -[NSView _invalidateGStatesForTree]
  20280. * WebCore.exp.in: Export RenderWidget::suspendWidgetHierarchyUpdates() and
  20281. RenderWidget::resumeWidgetHierarchyUpdates().
  20282. * manual-tests/plug-in-mutates-NSView-hierarchy-during-resize.html: Added.
  20283. * rendering/RenderWidget.cpp:
  20284. (WebCore::RenderWidget::setWidgetGeometry): Removed the assertion that widget hierarchy updates
  20285. are disabled. When this assertion was added, this condition was a subset of the “calling out to
  20286. plug-in code is forbidden” condition, hence the assertion was valid. The WebKit part of this
  20287. change now suspends widget hierarchy updates even at times where plug-in code is expected to be
  20288. called, which invalidates the assertion.
  20289. 2011-01-14 Tony Gentilcore <tonyg@chromium.org>
  20290. Unreviewed build fix.
  20291. Fix Qt build after r75837
  20292. https://bugs.webkit.org/show_bug.cgi?id=52494
  20293. * rendering/style/StyleRareInheritedData.cpp:
  20294. * rendering/style/StyleRareNonInheritedData.cpp:
  20295. 2011-01-14 Tony Gentilcore <tonyg@chromium.org>
  20296. Unreviewed build fix.
  20297. Fix Qt build after r75837
  20298. https://bugs.webkit.org/show_bug.cgi?id=52494
  20299. * rendering/style/RenderStyle.cpp:
  20300. 2011-01-14 Tony Gentilcore <tonyg@chromium.org>
  20301. Unreviewed build fix.
  20302. Fix Qt build after r75837
  20303. https://bugs.webkit.org/show_bug.cgi?id=52494
  20304. * editing/EditorCommand.cpp:
  20305. 2011-01-14 Tony Gentilcore <tonyg@chromium.org>
  20306. Unreviewed build fix.
  20307. Fix Qt build after r75837
  20308. https://bugs.webkit.org/show_bug.cgi?id=52494
  20309. * editing/ApplyStyleCommand.cpp:
  20310. 2011-01-14 Tony Gentilcore <tonyg@chromium.org>
  20311. Unreviewed build fix.
  20312. Fix Qt build after r75837
  20313. https://bugs.webkit.org/show_bug.cgi?id=52494
  20314. * css/CSSStyleSelector.cpp:
  20315. 2011-01-14 Tony Gentilcore <tonyg@chromium.org>
  20316. Unreviewed build fix.
  20317. Fix Qt build after r75837
  20318. https://bugs.webkit.org/show_bug.cgi?id=52494
  20319. * rendering/InlineFlowBox.h:
  20320. * rendering/RenderBoxModelObject.h:
  20321. 2011-01-14 Tony Gentilcore <tonyg@chromium.org>
  20322. Reviewed by David Levin.
  20323. Do some forward declaration in RenderStyle.h
  20324. https://bugs.webkit.org/show_bug.cgi?id=52453
  20325. No new tests because no new functionality.
  20326. * css/CSSComputedStyleDeclaration.cpp:
  20327. * css/CSSStyleSelector.cpp:
  20328. * editing/Editor.cpp:
  20329. * page/EventHandler.cpp:
  20330. * rendering/EllipsisBox.cpp:
  20331. * rendering/InlineBox.cpp:
  20332. * rendering/InlineTextBox.cpp:
  20333. * rendering/RenderBlock.cpp:
  20334. * rendering/RenderBlock.h:
  20335. * rendering/RenderBox.cpp:
  20336. * rendering/RenderBox.h:
  20337. * rendering/RenderEmbeddedObject.cpp:
  20338. * rendering/RenderFieldset.cpp:
  20339. * rendering/RenderFileUploadControl.cpp:
  20340. * rendering/RenderFrameSet.cpp:
  20341. * rendering/RenderHTMLCanvas.cpp:
  20342. * rendering/RenderImageResource.cpp:
  20343. * rendering/RenderInputSpeech.cpp:
  20344. * rendering/RenderLayer.h:
  20345. * rendering/RenderLineBoxList.cpp:
  20346. * rendering/RenderListBox.cpp:
  20347. * rendering/RenderMediaControlsChromium.cpp:
  20348. * rendering/RenderObject.cpp:
  20349. * rendering/RenderObject.h:
  20350. * rendering/RenderObjectChildList.cpp:
  20351. * rendering/RenderProgress.cpp:
  20352. * rendering/RenderScrollbarPart.cpp:
  20353. * rendering/RenderTable.cpp:
  20354. * rendering/RenderTable.h:
  20355. * rendering/RenderTableCell.cpp:
  20356. * rendering/RenderTableRow.cpp:
  20357. * rendering/RenderTableSection.cpp:
  20358. * rendering/RenderTheme.cpp:
  20359. * rendering/RenderThemeChromiumSkia.cpp:
  20360. * rendering/RenderThemeChromiumWin.cpp:
  20361. * rendering/RootInlineBox.cpp:
  20362. * rendering/style/RenderStyle.cpp:
  20363. * rendering/style/RenderStyle.h:
  20364. * rendering/style/StyleRareInheritedData.cpp:
  20365. 2011-01-14 Ryosuke Niwa <rniwa@webkit.org>
  20366. Reviewed by Eric Seidel.
  20367. Stop instantiating legacy editing positions in AccessibilityRenderObject.cpp, Element.cpp,
  20368. BreakBlockquoteCommand.cpp, CompositeEditCommand.cpp, and DeleteButtonController.cpp
  20369. https://bugs.webkit.org/show_bug.cgi?id=52481
  20370. Removed instantiation of legacy editing positions.
  20371. Calls to Position::Position are replaced by calls to Position's convenience functions.
  20372. Also fixed firstPositionInOrBeforeNode and lastPositionInOrAfterNode so that
  20373. they instantiate right positions for text nodes.
  20374. * accessibility/AccessibilityRenderObject.cpp:
  20375. (WebCore::AccessibilityRenderObject::setSelectedTextRange):
  20376. * dom/Element.cpp:
  20377. (WebCore::Element::updateFocusAppearance):
  20378. * editing/BreakBlockquoteCommand.cpp:
  20379. (WebCore::BreakBlockquoteCommand::doApply):
  20380. * editing/CompositeEditCommand.cpp:
  20381. (WebCore::CompositeEditCommand::inputText):
  20382. (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
  20383. (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
  20384. (WebCore::CompositeEditCommand::moveParagraphs):
  20385. (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
  20386. (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
  20387. (WebCore::CompositeEditCommand::splitTreeToNode):
  20388. * editing/DeleteButtonController.cpp:
  20389. (WebCore::enclosingDeletableElement):
  20390. * editing/htmlediting.h:
  20391. (WebCore::firstPositionInOrBeforeNode): Instantiates firstPositionInNode instead of
  20392. positionBeforeNode for a text node.
  20393. (WebCore::lastPositionInOrAfterNode): Ditto.
  20394. 2011-01-14 Helder Correia <helder@sencha.com>
  20395. Reviewed by Simon Fraser.
  20396. Shadow is not drawn when filling a path with a gradient
  20397. https://bugs.webkit.org/show_bug.cgi?id=51982
  20398. This happens in CG and is related to bug 51869, this time to be fixed
  20399. in GraphicsContext::fillPath(const Path& path). We need to draw the
  20400. gradient clipped to the path on a CGLayer first, and then draw the
  20401. layer on the GraphicsContext.
  20402. Test: fast/canvas/canvas-fillPath-gradient-shadow.html
  20403. * platform/graphics/cg/GraphicsContextCG.cpp:
  20404. (WebCore::GraphicsContext::fillPath):
  20405. 2011-01-14 Simon Fraser <simon.fraser@apple.com>
  20406. Reviewed by Adam Roben.
  20407. Layer syncing should go through the compositor
  20408. https://bugs.webkit.org/show_bug.cgi?id=52486
  20409. Rather than have FrameView go directly to GraphicsLayer to
  20410. sync pending changes, route the call through RenderLayerCompositor.
  20411. Add a FIXME about an existing issue with flushing and subframes.
  20412. No behavior change, so no tests.
  20413. * page/FrameView.cpp:
  20414. (WebCore::FrameView::syncCompositingStateForThisFrame):
  20415. * rendering/RenderLayerBacking.cpp:
  20416. (WebCore::RenderLayerBacking::notifySyncRequired):
  20417. * rendering/RenderLayerCompositor.cpp:
  20418. (WebCore::RenderLayerCompositor::scheduleLayerFlush):
  20419. (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
  20420. * rendering/RenderLayerCompositor.h:
  20421. (WebCore::RenderLayerCompositor::notifySyncRequired):
  20422. 2011-01-14 Abhishek Arya <inferno@chromium.org>
  20423. Reviewed by David Hyatt.
  20424. Fix parent block calculation when trying to find top most node
  20425. containing "this" float.
  20426. https://bugs.webkit.org/show_bug.cgi?id=51711
  20427. Replace use of containingBlock and traverse the parents directly
  20428. to check for float existence. containingBlock can skip parents and
  20429. jump to the RenderView directly which will cause floats to not get
  20430. cleared from intermediate parents.
  20431. Test: fast/block/float/floats-not-cleared-crash.html
  20432. * rendering/RenderBox.cpp:
  20433. (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
  20434. 2011-01-14 Adam Klein <adamk@chromium.org>
  20435. Reviewed by Darin Fisher.
  20436. [Chromium] Replace BackForwardListClient with BackForwardControllerClient/BackForwardList
  20437. https://bugs.webkit.org/show_bug.cgi?id=42237
  20438. Remove Chromium-specific implementation from WebCore.
  20439. No tests added; this refactor should be covered by existing history-exercising tests.
  20440. * WebCore.gyp/WebCore.gyp:
  20441. * WebCore.gypi:
  20442. * history/BackForwardListChromium.cpp: Removed.
  20443. * history/BackForwardListImpl.h:
  20444. 2011-01-12 Satish Sampath <satish@chromium.org>
  20445. Reviewed by Dimitri Glazkov.
  20446. Fix a crash when accessing speech input from script.
  20447. https://bugs.webkit.org/show_bug.cgi?id=52325
  20448. Test: fast/speech/speech-input-scripting.html
  20449. * html/HTMLInputElement.cpp:
  20450. (WebCore::HTMLInputElement::parseMappedAttribute): Recreate renderer when speech input is enabled/disabled.
  20451. * rendering/RenderTextControlSingleLine.cpp: Remove unused code.
  20452. * rendering/RenderTextControlSingleLine.h:
  20453. * rendering/TextControlInnerElements.cpp: Take self references before firing events and check for renderer validity after.
  20454. (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
  20455. (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
  20456. (WebCore::InputFieldSpeechButtonElement::detach):
  20457. 2011-01-14 Abhishek Arya <inferno@chromium.org>
  20458. Reviewed by David Hyatt.
  20459. Prevent merging of anonymous blocks if one of them is already getting
  20460. destroyed.
  20461. https://bugs.webkit.org/show_bug.cgi?id=52402
  20462. Test: fast/block/merge-anonymous-block-remove-child-crash2.html
  20463. * rendering/RenderBlock.cpp:
  20464. (WebCore::RenderBlock::RenderBlock): initialize m_beingDestroyed to false.
  20465. (WebCore::RenderBlock::destroy): set m_beingDestroyed to true.
  20466. (WebCore::canMergeContiguousAnonymousBlocks): do not merge if any or prev or next is being destroyed.
  20467. (WebCore::RenderBlock::removeChild): remove the hack previously done for preventing oldChild merging with nextBlock's next sibling.
  20468. * rendering/RenderBlock.h:
  20469. (WebCore::RenderBlock::beingDestroyed): public function for m_beingDestroyed.
  20470. 2011-01-14 Pavel Feldman <pfeldman@chromium.org>
  20471. Not reviewed. Follow up to r75791: fix missing dispatch.
  20472. https://bugs.webkit.org/show_bug.cgi?id=52442
  20473. * inspector/front-end/DebuggerModel.js:
  20474. (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
  20475. 2011-01-14 Simon Fraser <simon.fraser@apple.com>
  20476. Reviewed by Adam Roben.
  20477. Issues with contentsScale in GraphicsLayerCA
  20478. https://bugs.webkit.org/show_bug.cgi?id=52463
  20479. Fix various issues with the recent contentsScale changes:
  20480. * platform/graphics/ca/GraphicsLayerCA.cpp:
  20481. (WebCore::GraphicsLayerCA::GraphicsLayerCA): Initialize m_contentsScale to 1.
  20482. (WebCore::GraphicsLayerCA::updateContentsScale): Only do a setNeedsDisplay()
  20483. if the layer draws content, otherwise we'll create backing store for empty layers.
  20484. (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Be sure to set contentsScale
  20485. on the new (tiled or untiled) layer.
  20486. (WebCore::GraphicsLayerCA::cloneLayer): Clones need contentsScale too.
  20487. 2011-01-14 Simon Fraser <simon.fraser@apple.com>
  20488. Let Xcode have it's way with the project file.
  20489. * WebCore.xcodeproj/project.pbxproj:
  20490. 2011-01-14 Simon Fraser <simon.fraser@apple.com>
  20491. Reviewed by Anders Carlsson.
  20492. Refactor some FrameView::syncCompositingState code
  20493. https://bugs.webkit.org/show_bug.cgi?id=52459
  20494. Refactor some code in FrameView related to synchronizing
  20495. compositing layer state.
  20496. * page/FrameView.cpp:
  20497. (WebCore::FrameView::syncCompositingStateForThisFrame):
  20498. (WebCore::FrameView::syncCompositingStateRecursive):
  20499. (WebCore::FrameView::paintContents):
  20500. * page/FrameView.h:
  20501. 2011-01-14 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
  20502. Reviewed by Eric Seidel.
  20503. [Qt] Fix build problem introduced by http://trac.webkit.org/changeset/75713
  20504. https://bugs.webkit.org/show_bug.cgi?id=30179
  20505. * plugins/symbian/PluginViewSymbian.cpp:
  20506. 2011-01-14 Carlos Garcia Campos <cgarcia@igalia.com>
  20507. Reviewed by Martin Robinson.
  20508. [GTK] Add volume slider to media player
  20509. https://bugs.webkit.org/show_bug.cgi?id=51532
  20510. * css/mediaControlsGtk.css:
  20511. (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
  20512. (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
  20513. (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
  20514. * platform/gtk/RenderThemeGtk.cpp:
  20515. (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize):
  20516. (WebCore::RenderThemeGtk::paintMediaVolumeSliderContainer):
  20517. (WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack):
  20518. (WebCore::RenderThemeGtk::paintMediaVolumeSliderThumb):
  20519. * platform/gtk/RenderThemeGtk.h:
  20520. * platform/gtk/RenderThemeGtk2.cpp:
  20521. (WebCore::RenderThemeGtk::paintSliderTrack):
  20522. (WebCore::RenderThemeGtk::paintSliderThumb):
  20523. (WebCore::RenderThemeGtk::adjustSliderThumbSize):
  20524. * platform/gtk/RenderThemeGtk3.cpp:
  20525. (WebCore::RenderThemeGtk::paintSliderTrack):
  20526. (WebCore::RenderThemeGtk::paintSliderThumb):
  20527. (WebCore::RenderThemeGtk::adjustSliderThumbSize):
  20528. 2011-01-14 Joone Hur <joone.hur@collabora.co.uk>
  20529. Reviewed by David Levin.
  20530. [GTK] Convert use of raw pointers to GOwnPtr in FileSystemGtk.cpp
  20531. https://bugs.webkit.org/show_bug.cgi?id=52434
  20532. No new tests. This code will be tested when an implementation
  20533. of beginDragWithFiles is complete.
  20534. * platform/gtk/FileSystemGtk.cpp:
  20535. (WebCore::filenameToString): Use GOwnPtr instead of gchar pointer.
  20536. (WebCore::fileSystemRepresentation): Ditto.
  20537. (WebCore::filenameForDisplay): Ditto.
  20538. (WebCore::pathGetFileName): Ditto.
  20539. 2011-01-14 Pavel Podivilov <podivilov@chromium.org>
  20540. Reviewed by Yury Semikhatsky.
  20541. Web Inspector: breakpoint text snippet in breakpoints sidebar pane disappears after reload.
  20542. https://bugs.webkit.org/show_bug.cgi?id=52215
  20543. * inspector/front-end/Breakpoint.js:
  20544. (WebInspector.Breakpoint):
  20545. (WebInspector.Breakpoint.prototype.populateLabelElement):
  20546. * inspector/front-end/Script.js:
  20547. (WebInspector.Script.prototype.get linesCount):
  20548. (WebInspector.Script.prototype.sourceLine):
  20549. (WebInspector.Script.prototype.sourceLine.didRequestSource):
  20550. (WebInspector.Script.prototype.set source):
  20551. (WebInspector.Script.prototype.requestSource.didGetScriptSource):
  20552. (WebInspector.Script.prototype.requestSource):
  20553. * inspector/front-end/ScriptView.js:
  20554. (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded.didRequestSource):
  20555. (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
  20556. * inspector/front-end/SourceFrame.js:
  20557. (WebInspector.SourceFrame.prototype._addBreakpoint):
  20558. * inspector/front-end/utilities.js:
  20559. (String.prototype.findAll):
  20560. 2011-01-14 Pavel Podivilov <podivilov@chromium.org>
  20561. Reviewed by Yury Semikhatsky.
  20562. Web Inspector: provide script column offset to frontend.
  20563. https://bugs.webkit.org/show_bug.cgi?id=52377
  20564. * bindings/js/ScriptDebugServer.cpp:
  20565. (WebCore::ScriptDebugServer::dispatchDidParseSource):
  20566. * bindings/js/ScriptSourceCode.h:
  20567. (WebCore::ScriptSourceCode::ScriptSourceCode):
  20568. * bindings/v8/DebuggerScript.js:
  20569. ():
  20570. * bindings/v8/ScriptDebugServer.cpp:
  20571. (WebCore::ScriptDebugServer::dispatchDidParseSource):
  20572. * inspector/Inspector.idl:
  20573. * inspector/InspectorDebuggerAgent.cpp:
  20574. (WebCore::InspectorDebuggerAgent::didParseSource):
  20575. * inspector/InspectorDebuggerAgent.h:
  20576. * inspector/ScriptDebugListener.h:
  20577. * inspector/front-end/DebuggerModel.js:
  20578. (WebInspector.DebuggerModel.prototype.parsedScriptSource):
  20579. * inspector/front-end/Script.js:
  20580. (WebInspector.Script):
  20581. 2011-01-14 Ilya Tikhonovsky <loislo@chromium.org>
  20582. Unreviewed one line fix for console-xhr-logging test.
  20583. The problem was introduced at r75788.
  20584. * inspector/InspectorBrowserDebuggerAgent.cpp:
  20585. (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
  20586. 2011-01-13 Yury Semikhatsky <yurys@chromium.org>
  20587. Reviewed by Pavel Feldman.
  20588. Web Inspector: extract console related functionality into InspectorConsoleAgent
  20589. https://bugs.webkit.org/show_bug.cgi?id=52282
  20590. * CMakeLists.txt:
  20591. * GNUmakefile.am:
  20592. * WebCore.gypi:
  20593. * WebCore.pro:
  20594. * inspector/CodeGeneratorInspector.pm:
  20595. * inspector/ConsoleMessage.cpp:
  20596. (WebCore::ConsoleMessage::~ConsoleMessage):
  20597. * inspector/ConsoleMessage.h:
  20598. * inspector/Inspector.idl:
  20599. * inspector/InspectorConsoleAgent.cpp: Added.
  20600. (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
  20601. (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
  20602. (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
  20603. (WebCore::InspectorConsoleAgent::clearConsoleMessages):
  20604. (WebCore::InspectorConsoleAgent::reset):
  20605. (WebCore::InspectorConsoleAgent::setFrontend):
  20606. (WebCore::InspectorConsoleAgent::addMessageToConsole):
  20607. (WebCore::InspectorConsoleAgent::startTiming):
  20608. (WebCore::InspectorConsoleAgent::stopTiming):
  20609. (WebCore::InspectorConsoleAgent::count):
  20610. (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
  20611. (WebCore::InspectorConsoleAgent::didReceiveResponse):
  20612. (WebCore::InspectorConsoleAgent::didFailLoading):
  20613. (WebCore::InspectorConsoleAgent::addConsoleMessage):
  20614. * inspector/InspectorConsoleAgent.h: Added.
  20615. * inspector/InspectorController.cpp:
  20616. (WebCore::InspectorController::InspectorController):
  20617. (WebCore::InspectorController::clearConsoleMessages):
  20618. (WebCore::InspectorController::connectFrontend):
  20619. (WebCore::InspectorController::disconnectFrontend):
  20620. (WebCore::InspectorController::didCommitLoad):
  20621. * inspector/InspectorController.h:
  20622. (WebCore::InspectorController::consoleAgent):
  20623. * inspector/InspectorInstrumentation.cpp:
  20624. (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
  20625. (WebCore::InspectorInstrumentation::didFailLoadingImpl):
  20626. (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
  20627. (WebCore::InspectorInstrumentation::addMessageToConsole):
  20628. (WebCore::InspectorInstrumentation::count):
  20629. (WebCore::InspectorInstrumentation::startTiming):
  20630. (WebCore::InspectorInstrumentation::stopTiming):
  20631. (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
  20632. * inspector/InspectorInstrumentation.h:
  20633. * inspector/InspectorProfilerAgent.cpp:
  20634. (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
  20635. (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
  20636. * inspector/front-end/ConsoleView.js:
  20637. (WebInspector.ConsoleView):
  20638. (WebInspector.ConsoleView.prototype.addConsoleMessage):
  20639. (WebInspector.ConsoleView.prototype.updateConsoleMessageExpiredCount):
  20640. (WebInspector.ConsoleView.prototype.consoleMessagesCleared):
  20641. * inspector/front-end/inspector.js:
  20642. * page/Console.cpp:
  20643. (WebCore::Console::addMessage):
  20644. (WebCore::Console::count):
  20645. (WebCore::Console::profile):
  20646. (WebCore::Console::time):
  20647. (WebCore::Console::timeEnd):
  20648. (WebCore::Console::group):
  20649. (WebCore::Console::groupCollapsed):
  20650. (WebCore::Console::groupEnd):
  20651. * page/Console.h:
  20652. * page/Console.idl:
  20653. 2011-01-14 Pavel Feldman <pfeldman@chromium.org>
  20654. Reviewed by Yury Semikhatsky.
  20655. Web Inspector: do not use this as protocol message
  20656. dispatcher in models / agents.
  20657. https://bugs.webkit.org/show_bug.cgi?id=52442
  20658. Models should never for InspectorBackend.registerDomainDispatcher("foo", this).
  20659. There should be a clear way to tell whether method is being called
  20660. from within front-end or by the backend.
  20661. * inspector/front-end/DOMAgent.js:
  20662. (WebInspector.DOMAgent):
  20663. (WebInspector.DOMAgent.prototype.nodeForId):
  20664. (WebInspector.DOMAgent.prototype._bindNodes):
  20665. (WebInspector.DOMAgent.prototype._removeBreakpoints):
  20666. (WebInspector.DOMDispatcher):
  20667. (WebInspector.DOMDispatcher.prototype.setDocument):
  20668. (WebInspector.DOMDispatcher.prototype.attributesUpdated):
  20669. (WebInspector.DOMDispatcher.prototype.characterDataModified):
  20670. (WebInspector.DOMDispatcher.prototype.setChildNodes):
  20671. (WebInspector.DOMDispatcher.prototype.setDetachedRoot):
  20672. (WebInspector.DOMDispatcher.prototype.childNodeCountUpdated):
  20673. (WebInspector.DOMDispatcher.prototype.childNodeInserted):
  20674. (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
  20675. (WebInspector.DOMDispatcher.prototype.didCommitLoad):
  20676. (WebInspector.ApplicationCacheDispatcher):
  20677. (WebInspector.ApplicationCacheDispatcher.prototype.getApplicationCachesAsync):
  20678. (WebInspector.ApplicationCacheDispatcher.prototype.updateApplicationCacheStatus):
  20679. (WebInspector.ApplicationCacheDispatcher.prototype.updateNetworkState):
  20680. * inspector/front-end/DOMStorage.js:
  20681. (WebInspector.DOMStorageDispatcher):
  20682. (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
  20683. (WebInspector.DOMStorageDispatcher.prototype.selectDOMStorage):
  20684. (WebInspector.DOMStorageDispatcher.prototype.updateDOMStorage):
  20685. * inspector/front-end/Database.js:
  20686. (WebInspector.Database.prototype.executeSql):
  20687. (WebInspector.DatabaseDispatcher):
  20688. (WebInspector.DatabaseDispatcher.prototype.addDatabase):
  20689. (WebInspector.DatabaseDispatcher.prototype.selectDatabase):
  20690. (WebInspector.DatabaseDispatcher.prototype.sqlTransactionSucceeded):
  20691. (WebInspector.DatabaseDispatcher.prototype.sqlTransactionFailed):
  20692. * inspector/front-end/DebuggerModel.js:
  20693. (WebInspector.DebuggerModel):
  20694. (WebInspector.DebuggerModel.prototype._pausedScript):
  20695. (WebInspector.DebuggerModel.prototype._resumedScript):
  20696. (WebInspector.DebuggerModel.prototype._parsedScriptSource):
  20697. (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
  20698. (WebInspector.DebuggerDispatcher):
  20699. (WebInspector.DebuggerDispatcher.prototype.pausedScript):
  20700. (WebInspector.DebuggerDispatcher.prototype.resumedScript):
  20701. (WebInspector.DebuggerDispatcher.prototype.parsedScriptSource):
  20702. (WebInspector.DebuggerDispatcher.prototype.failedToParseScriptSource):
  20703. * inspector/front-end/FileSystemView.js:
  20704. (WebInspector.FileSystemDispatcher):
  20705. (WebInspector.FileSystemDispatcher.prototype.getFileSystemPathsAsync):
  20706. (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemPath):
  20707. (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemError):
  20708. (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemDisabled):
  20709. * inspector/front-end/ProfilesPanel.js:
  20710. (WebInspector.ProfilesPanel):
  20711. (WebInspector.ProfilesPanel.prototype._addProfileHeader):
  20712. (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
  20713. (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
  20714. (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
  20715. (WebInspector.ProfilesPanel.prototype._setRecordingProfile):
  20716. (WebInspector.ProfilerDispatcher):
  20717. (WebInspector.ProfilerDispatcher.prototype.profilerWasEnabled):
  20718. (WebInspector.ProfilerDispatcher.prototype.profilerWasDisabled):
  20719. (WebInspector.ProfilerDispatcher.prototype.resetProfiles):
  20720. (WebInspector.ProfilerDispatcher.prototype.addProfileHeader):
  20721. (WebInspector.ProfilerDispatcher.prototype.addHeapSnapshotChunk):
  20722. (WebInspector.ProfilerDispatcher.prototype.finishHeapSnapshot):
  20723. (WebInspector.ProfilerDispatcher.prototype.setRecordingProfile):
  20724. (WebInspector.ProfileSidebarTreeElement.prototype.ondelete):
  20725. * inspector/front-end/ResourceTreeModel.js:
  20726. (WebInspector.ResourceTreeModel):
  20727. * inspector/front-end/TimelinePanel.js:
  20728. (WebInspector.TimelinePanel):
  20729. (WebInspector.TimelinePanel.prototype._timelineProfilerWasStarted):
  20730. (WebInspector.TimelinePanel.prototype._timelineProfilerWasStopped):
  20731. (WebInspector.TimelinePanel.prototype._addRecordToTimeline):
  20732. (WebInspector.TimelineDispatcher):
  20733. (WebInspector.TimelineDispatcher.prototype.timelineProfilerWasStarted):
  20734. (WebInspector.TimelineDispatcher.prototype.timelineProfilerWasStopped):
  20735. (WebInspector.TimelineDispatcher.prototype.addRecordToTimeline):
  20736. 2011-01-14 Csaba Osztrogonác <ossy@webkit.org>
  20737. [Qt][V8] Unreviewed buildfix after r75788.
  20738. * inspector/InspectorBrowserDebuggerAgent.cpp:
  20739. 2011-01-12 Ilya Tikhonovsky <loislo@chromium.org>
  20740. Reviewed by Yury Semikhatsky.
  20741. Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent.
  20742. We have some methods of Debugger which are related to DOM.
  20743. Lets extract these methods to BrowserDebugger agent.
  20744. http://bugs.webkit.org/show_bug.cgi?id=52294
  20745. * CMakeLists.txt:
  20746. * WebCore.gypi:
  20747. * WebCore.pro:
  20748. * WebCore.vcproj/WebCore.vcproj:
  20749. * WebCore.xcodeproj/project.pbxproj:
  20750. * inspector/CodeGeneratorInspector.pm:
  20751. * inspector/Inspector.idl:
  20752. * inspector/InspectorBrowserDebuggerAgent.cpp: Added.
  20753. (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
  20754. (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
  20755. (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
  20756. (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
  20757. (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
  20758. (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
  20759. (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
  20760. (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
  20761. (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
  20762. (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
  20763. (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
  20764. (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
  20765. (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
  20766. (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
  20767. (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
  20768. (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
  20769. (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
  20770. (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
  20771. (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
  20772. (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation):
  20773. * inspector/InspectorBrowserDebuggerAgent.h: Added.
  20774. (WebCore::InspectorBrowserDebuggerAgent::create):
  20775. * inspector/InspectorController.cpp:
  20776. (WebCore::InspectorController::InspectorController):
  20777. (WebCore::InspectorController::inspectedPageDestroyed):
  20778. (WebCore::InspectorController::didCommitLoad):
  20779. (WebCore::InspectorController::enableDebuggerFromFrontend):
  20780. (WebCore::InspectorController::disableDebugger):
  20781. (WebCore::InspectorController::restoreStickyBreakpoints):
  20782. (WebCore::InspectorController::restoreStickyBreakpoint):
  20783. * inspector/InspectorController.h:
  20784. * inspector/InspectorDOMAgent.cpp:
  20785. (WebCore::InspectorDOMAgent::discardBindings):
  20786. (WebCore::InspectorDOMAgent::didInsertDOMNode):
  20787. (WebCore::InspectorDOMAgent::didRemoveDOMNode):
  20788. * inspector/InspectorDOMAgent.h:
  20789. * inspector/InspectorInstrumentation.cpp:
  20790. (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
  20791. (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
  20792. (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
  20793. (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
  20794. (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
  20795. (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
  20796. (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
  20797. 2011-01-14 Andrey Kosyakov <caseq@chromium.org>
  20798. Reviewed by Pavel Feldman.
  20799. Web Inspector: redirected resources not handled properly in Network panel
  20800. https://bugs.webkit.org/show_bug.cgi?id=52292
  20801. * inspector/Inspector.idl: Do not pass isMainResource to identifierForInitialRequest() (it's useless, as we may hit provisional load)
  20802. * inspector/InspectorInstrumentation.cpp: Ditto.
  20803. (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
  20804. * inspector/InspectorResourceAgent.cpp: Ditto.
  20805. (WebCore::InspectorResourceAgent::identifierForInitialRequest):
  20806. * inspector/InspectorResourceAgent.h: Ditto.
  20807. * inspector/InspectorInstrumentation.cpp: Ditto.
  20808. (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl): Fix main resource detection.
  20809. * inspector/front-end/AuditsPanel.js: WebInspector.networkResources now returns array, not map.
  20810. * inspector/front-end/ConsoleView.js: User WebInspector.resourceById() to get resource
  20811. (WebInspector.ConsoleMessage.prototype._formatMessage):
  20812. * inspector/front-end/ExtensionServer.js: Ditto.
  20813. (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
  20814. (WebInspector.ExtensionServer.prototype._onGetResourceContent):
  20815. * inspector/front-end/HAREntry.js: WebInspector.networkResources now returns array, not map
  20816. (WebInspector.HARLog.prototype.build):
  20817. (WebInspector.HARLog.prototype._convertResource):
  20818. * inspector/front-end/NetworkManager.js:
  20819. (WebInspector.NetworkManager): Use appendResource, not refreshResource, when adding a new resource.
  20820. (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
  20821. (WebInspector.NetworkManager.prototype.willSendRequest):
  20822. (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache):
  20823. (WebInspector.NetworkManager.prototype.setInitialContent):
  20824. (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
  20825. (WebInspector.NetworkManager.prototype.didCreateWebSocket):
  20826. (WebInspector.NetworkManager.prototype._createResource): always register resource URL with ResourceTreeModel
  20827. (WebInspector.NetworkManager.prototype._appendRedirect):
  20828. * inspector/front-end/NetworkPanel.js:
  20829. (WebInspector.NetworkPanel):
  20830. (WebInspector.NetworkPanel.prototype.get resources):
  20831. (WebInspector.NetworkPanel.prototype.resourceById):
  20832. (WebInspector.NetworkPanel.prototype.appendResource): Add resource as new iff appendResource was added.
  20833. (WebInspector.NetworkPanel.prototype.refreshResource): ditto.
  20834. (WebInspector.NetworkPanel.prototype.mainResourceChanged): Clear console upon arrival of new main resource.
  20835. * inspector/front-end/ResourceTreeModel.js: Expose unbindResourceURL, bind resources automatically upon creation.
  20836. (WebInspector.ResourceTreeModel.prototype._clearResources):
  20837. (WebInspector.ResourceTreeModel.prototype.unbindResourceURL):
  20838. (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
  20839. (WebInspector.ResourceTreeModel.prototype.createResource):
  20840. * inspector/front-end/inspector.js:
  20841. (WebInspector.resourceById):
  20842. 2011-01-14 Sheriff Bot <webkit.review.bot@gmail.com>
  20843. Unreviewed, rolling out r75783.
  20844. http://trac.webkit.org/changeset/75783
  20845. https://bugs.webkit.org/show_bug.cgi?id=52439
  20846. a bit strange but the same patch have broken mac builds at
  20847. linking stage. (Requested by loislo2 on #webkit).
  20848. * CMakeLists.txt:
  20849. * GNUmakefile.am:
  20850. * WebCore.gypi:
  20851. * WebCore.pro:
  20852. * WebCore.vcproj/WebCore.vcproj:
  20853. * WebCore.xcodeproj/project.pbxproj:
  20854. * inspector/CodeGeneratorInspector.pm:
  20855. * inspector/Inspector.idl:
  20856. * inspector/InspectorBrowserDebuggerAgent.cpp: Removed.
  20857. * inspector/InspectorBrowserDebuggerAgent.h: Removed.
  20858. * inspector/InspectorController.cpp:
  20859. (WebCore::InspectorController::InspectorController):
  20860. (WebCore::InspectorController::inspectedPageDestroyed):
  20861. (WebCore::InspectorController::didCommitLoad):
  20862. (WebCore::InspectorController::enableDebuggerFromFrontend):
  20863. (WebCore::InspectorController::disableDebugger):
  20864. (WebCore::InspectorController::restoreStickyBreakpoints):
  20865. (WebCore::InspectorController::restoreStickyBreakpoint):
  20866. (WebCore::InspectorController::setEventListenerBreakpoint):
  20867. (WebCore::InspectorController::removeEventListenerBreakpoint):
  20868. (WebCore::InspectorController::hasEventListenerBreakpoint):
  20869. (WebCore::InspectorController::setXHRBreakpoint):
  20870. (WebCore::InspectorController::removeXHRBreakpoint):
  20871. (WebCore::InspectorController::hasXHRBreakpoint):
  20872. * inspector/InspectorController.h:
  20873. * inspector/InspectorDOMAgent.cpp:
  20874. (WebCore::InspectorDOMAgent::discardBindings):
  20875. (WebCore::InspectorDOMAgent::setDOMBreakpoint):
  20876. (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
  20877. (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
  20878. (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
  20879. (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
  20880. (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
  20881. (WebCore::InspectorDOMAgent::didInsertDOMNode):
  20882. (WebCore::InspectorDOMAgent::didRemoveDOMNode):
  20883. (WebCore::InspectorDOMAgent::hasBreakpoint):
  20884. (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints):
  20885. * inspector/InspectorDOMAgent.h:
  20886. * inspector/InspectorInstrumentation.cpp:
  20887. (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
  20888. (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
  20889. (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
  20890. (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
  20891. (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
  20892. (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
  20893. (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
  20894. 2011-01-12 Ilya Tikhonovsky <loislo@chromium.org>
  20895. Reviewed by Yury Semikhatsky.
  20896. Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent.
  20897. We have some methods of Debugger which are related to DOM.
  20898. Lets extract these methods to BrowserDebugger agent.
  20899. http://bugs.webkit.org/show_bug.cgi?id=52294
  20900. * CMakeLists.txt:
  20901. * WebCore.gypi:
  20902. * WebCore.pro:
  20903. * WebCore.vcproj/WebCore.vcproj:
  20904. * WebCore.xcodeproj/project.pbxproj:
  20905. * inspector/CodeGeneratorInspector.pm:
  20906. * inspector/Inspector.idl:
  20907. * inspector/InspectorBrowserDebuggerAgent.cpp: Added.
  20908. (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
  20909. (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
  20910. (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
  20911. (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
  20912. (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
  20913. (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
  20914. (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
  20915. (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
  20916. (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
  20917. (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
  20918. (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
  20919. (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
  20920. (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
  20921. (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
  20922. (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
  20923. (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
  20924. (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
  20925. (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
  20926. (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
  20927. (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation):
  20928. * inspector/InspectorBrowserDebuggerAgent.h: Added.
  20929. (WebCore::InspectorBrowserDebuggerAgent::create):
  20930. * inspector/InspectorController.cpp:
  20931. (WebCore::InspectorController::InspectorController):
  20932. (WebCore::InspectorController::inspectedPageDestroyed):
  20933. (WebCore::InspectorController::didCommitLoad):
  20934. (WebCore::InspectorController::enableDebuggerFromFrontend):
  20935. (WebCore::InspectorController::disableDebugger):
  20936. (WebCore::InspectorController::restoreStickyBreakpoints):
  20937. (WebCore::InspectorController::restoreStickyBreakpoint):
  20938. * inspector/InspectorController.h:
  20939. * inspector/InspectorDOMAgent.cpp:
  20940. (WebCore::InspectorDOMAgent::discardBindings):
  20941. (WebCore::InspectorDOMAgent::didInsertDOMNode):
  20942. (WebCore::InspectorDOMAgent::didRemoveDOMNode):
  20943. * inspector/InspectorDOMAgent.h:
  20944. * inspector/InspectorInstrumentation.cpp:
  20945. (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
  20946. (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
  20947. (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
  20948. (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
  20949. (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
  20950. (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
  20951. (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
  20952. 2011-01-14 Pavel Feldman <pfeldman@chromium.org>
  20953. Not reviewed: build fix.
  20954. * WebCore.vcproj/WebCore.vcproj:
  20955. 2011-01-14 Pavel Feldman <pfeldman@chromium.org>
  20956. Reviewed by Yury Semikhatsky.
  20957. Web Inspector: extract InspectorSettings from InspectorState,
  20958. simplify it.
  20959. https://bugs.webkit.org/show_bug.cgi?id=52429
  20960. * CMakeLists.txt:
  20961. * GNUmakefile.am:
  20962. * WebCore.gypi:
  20963. * WebCore.pro:
  20964. * WebCore.xcodeproj/project.pbxproj:
  20965. * inspector/InspectorClient.h:
  20966. * inspector/InspectorController.cpp:
  20967. (WebCore::InspectorController::InspectorController):
  20968. (WebCore::InspectorController::inspectorStartsAttached):
  20969. (WebCore::InspectorController::setInspectorStartsAttached):
  20970. (WebCore::InspectorController::setInspectorAttachedHeight):
  20971. (WebCore::InspectorController::inspectorAttachedHeight):
  20972. (WebCore::InspectorController::setMonitoringXHREnabled):
  20973. (WebCore::InspectorController::restoreDebugger):
  20974. (WebCore::InspectorController::restoreProfiler):
  20975. (WebCore::InspectorController::ensureSettingsLoaded):
  20976. (WebCore::InspectorController::enableProfiler):
  20977. (WebCore::InspectorController::disableProfiler):
  20978. (WebCore::InspectorController::enableDebuggerFromFrontend):
  20979. (WebCore::InspectorController::disableDebugger):
  20980. * inspector/InspectorController.h:
  20981. * inspector/InspectorSettings.cpp: Added.
  20982. (WebCore::InspectorSettings::InspectorSettings):
  20983. (WebCore::InspectorSettings::getBoolean):
  20984. (WebCore::InspectorSettings::setBoolean):
  20985. (WebCore::InspectorSettings::getLong):
  20986. (WebCore::InspectorSettings::setLong):
  20987. (WebCore::InspectorSettings::registerBoolean):
  20988. (WebCore::InspectorSettings::registerLong):
  20989. * inspector/InspectorSettings.h: Added.
  20990. * inspector/InspectorState.cpp:
  20991. (WebCore::InspectorState::InspectorState):
  20992. (WebCore::InspectorState::setValue):
  20993. (WebCore::InspectorState::setObject):
  20994. (WebCore::InspectorState::registerBoolean):
  20995. (WebCore::InspectorState::registerString):
  20996. (WebCore::InspectorState::registerLong):
  20997. (WebCore::InspectorState::registerObject):
  20998. (WebCore::InspectorState::Property::create):
  20999. * inspector/InspectorState.h:
  21000. (WebCore::InspectorState::setBoolean):
  21001. (WebCore::InspectorState::setString):
  21002. (WebCore::InspectorState::setLong):
  21003. 2011-01-14 Sheriff Bot <webkit.review.bot@gmail.com>
  21004. Unreviewed, rolling out r75774.
  21005. http://trac.webkit.org/changeset/75774
  21006. https://bugs.webkit.org/show_bug.cgi?id=52431
  21007. gtk builds were broken (Requested by loislo2 on #webkit).
  21008. * CMakeLists.txt:
  21009. * WebCore.gypi:
  21010. * WebCore.pro:
  21011. * WebCore.vcproj/WebCore.vcproj:
  21012. * WebCore.xcodeproj/project.pbxproj:
  21013. * inspector/CodeGeneratorInspector.pm:
  21014. * inspector/Inspector.idl:
  21015. * inspector/InspectorBrowserDebuggerAgent.cpp: Removed.
  21016. * inspector/InspectorBrowserDebuggerAgent.h: Removed.
  21017. * inspector/InspectorController.cpp:
  21018. (WebCore::InspectorController::InspectorController):
  21019. (WebCore::InspectorController::inspectedPageDestroyed):
  21020. (WebCore::InspectorController::didCommitLoad):
  21021. (WebCore::InspectorController::enableDebuggerFromFrontend):
  21022. (WebCore::InspectorController::disableDebugger):
  21023. (WebCore::InspectorController::restoreStickyBreakpoints):
  21024. (WebCore::InspectorController::restoreStickyBreakpoint):
  21025. (WebCore::InspectorController::setEventListenerBreakpoint):
  21026. (WebCore::InspectorController::removeEventListenerBreakpoint):
  21027. (WebCore::InspectorController::hasEventListenerBreakpoint):
  21028. (WebCore::InspectorController::setXHRBreakpoint):
  21029. (WebCore::InspectorController::removeXHRBreakpoint):
  21030. (WebCore::InspectorController::hasXHRBreakpoint):
  21031. * inspector/InspectorController.h:
  21032. * inspector/InspectorDOMAgent.cpp:
  21033. (WebCore::InspectorDOMAgent::discardBindings):
  21034. (WebCore::InspectorDOMAgent::setDOMBreakpoint):
  21035. (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
  21036. (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
  21037. (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
  21038. (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
  21039. (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
  21040. (WebCore::InspectorDOMAgent::didInsertDOMNode):
  21041. (WebCore::InspectorDOMAgent::didRemoveDOMNode):
  21042. (WebCore::InspectorDOMAgent::hasBreakpoint):
  21043. (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints):
  21044. * inspector/InspectorDOMAgent.h:
  21045. * inspector/InspectorInstrumentation.cpp:
  21046. (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
  21047. (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
  21048. (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
  21049. (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
  21050. (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
  21051. (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
  21052. (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
  21053. 2011-01-12 Ilya Tikhonovsky <loislo@chromium.org>
  21054. Reviewed by Yury Semikhatsky.
  21055. Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent.
  21056. We have some methods of Debugger which are related to DOM.
  21057. Lets extract these methods to BrowserDebugger agent.
  21058. http://bugs.webkit.org/show_bug.cgi?id=52294
  21059. * CMakeLists.txt:
  21060. * WebCore.gypi:
  21061. * WebCore.pro:
  21062. * WebCore.vcproj/WebCore.vcproj:
  21063. * WebCore.xcodeproj/project.pbxproj:
  21064. * inspector/CodeGeneratorInspector.pm:
  21065. * inspector/Inspector.idl:
  21066. * inspector/InspectorBrowserDebuggerAgent.cpp: Added.
  21067. (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
  21068. (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
  21069. (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
  21070. (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
  21071. (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
  21072. (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
  21073. (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
  21074. (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
  21075. (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
  21076. (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
  21077. (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
  21078. (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
  21079. (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
  21080. (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
  21081. (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
  21082. (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
  21083. (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
  21084. (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
  21085. (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
  21086. (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation):
  21087. * inspector/InspectorBrowserDebuggerAgent.h: Added.
  21088. (WebCore::InspectorBrowserDebuggerAgent::create):
  21089. * inspector/InspectorController.cpp:
  21090. (WebCore::InspectorController::InspectorController):
  21091. (WebCore::InspectorController::inspectedPageDestroyed):
  21092. (WebCore::InspectorController::didCommitLoad):
  21093. (WebCore::InspectorController::enableDebuggerFromFrontend):
  21094. (WebCore::InspectorController::disableDebugger):
  21095. (WebCore::InspectorController::restoreStickyBreakpoints):
  21096. (WebCore::InspectorController::restoreStickyBreakpoint):
  21097. * inspector/InspectorController.h:
  21098. * inspector/InspectorDOMAgent.cpp:
  21099. (WebCore::InspectorDOMAgent::discardBindings):
  21100. (WebCore::InspectorDOMAgent::didInsertDOMNode):
  21101. (WebCore::InspectorDOMAgent::didRemoveDOMNode):
  21102. * inspector/InspectorDOMAgent.h:
  21103. * inspector/InspectorInstrumentation.cpp:
  21104. (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
  21105. (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
  21106. (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
  21107. (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
  21108. (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
  21109. (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
  21110. (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
  21111. 2011-01-13 Kent Tamura <tkent@chromium.org>
  21112. Reviewed by Dimitri Glazkov.
  21113. Implement form validation message UI
  21114. https://bugs.webkit.org/show_bug.cgi?id=48980
  21115. * Add four internal pseudo selectors:
  21116. - -webkit-validation-bubble
  21117. - -webkit-validation-bubble-message
  21118. - -webkit-validation-bubble-top-outer-arrow
  21119. - -webkit-validation-bubble-top-inner-arrow
  21120. * Implement ValidationMessage functions
  21121. Show the message for <the number of characters> / 20.0 seconds.
  21122. No new tests because the feature is disabled by default for now and the
  21123. new behavior is strongly timing-dependent.
  21124. * css/CSSStyleSelector.cpp:
  21125. (WebCore::CSSStyleSelector::canShareStyleWithElement):
  21126. Do not share a style with elements with different shadowPseudoId().
  21127. * css/html.css: Define appearance for the internal selectors.
  21128. (::-webkit-validation-bubble):
  21129. (::-webkit-validation-bubble-message):
  21130. (::-webkit-validation-bubble-top-outer-arrow):
  21131. (::-webkit-validation-bubble-top-inner-arrow):
  21132. * dom/Node.cpp:
  21133. (WebCore::Node::createRendererIfNeeded):
  21134. Allow to add shadow renderers even if canHaveChildren() returns false.
  21135. * html/HTMLFormControlElement.cpp:
  21136. (WebCore::HTMLFormControlElement::detach):
  21137. Remove m_validationMessage immediately because we can't use
  21138. hideVisibleValidationMessage(), which calls a ValidationMessage function later.
  21139. (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
  21140. - Don't create ValidationMessage if the message is empty.
  21141. - Remove the check for message equality.
  21142. (WebCore::HTMLFormControlElement::hideVisibleValidationMessage):
  21143. Don't remove m_validationMessage immediately. We shouldn't make the
  21144. element needsLayout() state in this context.
  21145. * html/ValidationMessage.cpp:
  21146. (WebCore::ValidationMessage::~ValidationMessage):
  21147. hideMessage() -> deleteBubbleTree() renaming.
  21148. (WebCore::ValidationMessage::setMessage): Implemented.
  21149. (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
  21150. Added. This updates the validation message and starts the timer to hide it.
  21151. (WebCore::ElementWithPseudoId):
  21152. Added to help implementations of styled shadow nodes.
  21153. (WebCore::ValidationMessage::buildBubbleTree): Added.
  21154. (WebCore::ValidationMessage::requestToHideMessage): Added.
  21155. (WebCore::ValidationMessage::deleteBubbleTree):
  21156. Renamed from hideMessage(), and implemented.
  21157. * html/ValidationMessage.h: Add declarations.
  21158. 2011-01-13 Dan Bernstein <mitz@apple.com>
  21159. Reviewed by Alexey Proskuryakov.
  21160. <rdar://problem/8827065> REGRESSION (r71884): Cross-origin XHR fails if willSendRequest changes the URL
  21161. https://bugs.webkit.org/show_bug.cgi?id=52419
  21162. Test: http/tests/loading/cross-origin-XHR-willLoadRequest.html
  21163. * loader/ResourceLoader.cpp:
  21164. (WebCore::ResourceLoader::init): Complete r74453 by ensuring that m_request is only set after
  21165. willSendRequest(). Otherwise, willSendRequest() ends up calling into
  21166. ThreadableDocumentRequest::willSendRequest(), which cancels the request.
  21167. 2011-01-13 Dan Bernstein <mitz@apple.com>
  21168. Reviewed by Mark Rowe.
  21169. Don’t try to compile InjectedScriptSource.js into WebCore.
  21170. * WebCore.xcodeproj/project.pbxproj:
  21171. 2011-01-13 Mike Thole <mthole@apple.com>
  21172. Reviewed by Darin Adler and Brady Eidson.
  21173. The pageScaleFactor() should be saved/restored along with the scroll position
  21174. https://bugs.webkit.org/show_bug.cgi?id=52406
  21175. <rdar://problem/8714412>
  21176. * history/HistoryItem.cpp:
  21177. (WebCore::HistoryItem::HistoryItem): Initialize m_pageScaleFactor.
  21178. (WebCore::HistoryItem::pageScaleFactor): Added getter.
  21179. (WebCore::HistoryItem::setPageScaleFactor): Added setter.
  21180. (WebCore::HistoryItem::encodeBackForwardTreeNode): Encode m_pageScaleFactor.
  21181. (WebCore::HistoryItem::decodeBackForwardTree): Decode m_pageScaleFactor.
  21182. * history/HistoryItem.h:
  21183. * loader/HistoryController.cpp:
  21184. (WebCore::HistoryController::saveScrollPositionAndViewStateToItem): Save the page scale factor...
  21185. (WebCore::HistoryController::restoreScrollPositionAndViewState): ...and restore it here.
  21186. 2011-01-13 Evan Martin <evan@chromium.org>
  21187. Reviewed by Tony Chang.
  21188. [chromium] drop backwards iteration in Linux complex text code
  21189. https://bugs.webkit.org/show_bug.cgi?id=52403
  21190. ComplexTextController previously supported iterating through the text in
  21191. both directions, but this resulted in duplicate code for each path.
  21192. Instead, by being more careful about flipping signs where appropriate,
  21193. we can refactor the code into one code path.
  21194. No tests, just a refactoring; should be covered by existing tests.
  21195. * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
  21196. (WebCore::ComplexTextController::ComplexTextController):
  21197. (WebCore::ComplexTextController::reset):
  21198. (WebCore::ComplexTextController::nextScriptRun):
  21199. * platform/graphics/chromium/ComplexTextControllerLinux.h:
  21200. * platform/graphics/chromium/FontLinux.cpp:
  21201. (WebCore::glyphIndexForXPositionInScriptRun):
  21202. (WebCore::Font::selectionRectForComplexText):
  21203. 2011-01-13 Dimitri Glazkov <dglazkov@chromium.org>
  21204. Reviewed by Darin Adler.
  21205. Flip input[type=range] to use the new shadow DOM model.
  21206. https://bugs.webkit.org/show_bug.cgi?id=52317
  21207. This is a straight-up flip, minimal change to the logic, which will be
  21208. refactored in a follow-up patch.
  21209. Covered by existing tests.
  21210. * css/CSSStyleSelector.cpp:
  21211. (WebCore::CSSStyleSelector::initForStyleResolve): Changed to use either
  21212. host or parent node to find parent.
  21213. * html/HTMLInputElement.cpp:
  21214. (WebCore::HTMLInputElement::updateType): Added logic for destroying/creating
  21215. shadow DOM subtree.
  21216. * html/InputType.cpp:
  21217. (WebCore::InputType::createShadowSubtree): Added empty decl.
  21218. (WebCore::InputType::destroyShadowSubtree): Added a method to destroy
  21219. shadow subtree.
  21220. * html/InputType.h: Added defs.
  21221. * html/RangeInputType.cpp:
  21222. (WebCore::RangeInputType::createShadowSubtree): Added a virtual method to create
  21223. slider thumb.
  21224. * html/RangeInputType.h: Adde def.
  21225. * html/shadow/SliderThumbElement.cpp: Added temporary RenderSliderThumb class
  21226. to handle cascading appearance.
  21227. (WebCore::RenderSliderThumb::RenderSliderThumb): Added.
  21228. (WebCore::RenderSliderThumb::layout): Moved here the logic from
  21229. RenderSlider::createThumbStyle.
  21230. (WebCore::SliderThumbElement::createRenderer): Added virtual method to
  21231. create RenderSliderThumb instance.
  21232. (WebCore::SliderThumbElement::defaultEventHandler): Changed to use HTMLDivElement
  21233. as base class.
  21234. (WebCore::SliderThumbElement::detach): Ditto.
  21235. * html/shadow/SliderThumbElement.h:
  21236. (WebCore::SliderThumbElement::SliderThumbElement): Ditto.
  21237. (WebCore::SliderThumbElement::create): Ditto.
  21238. (WebCore::toSliderThumbElement): Added a casting helper.
  21239. * rendering/MediaControlElements.cpp:
  21240. (WebCore::MediaControlInputElement::attach): Added handling of shadow DOM,
  21241. since the whole method is hand-rolled.
  21242. (WebCore::MediaControlInputElement::updateStyle): Ditto.
  21243. * rendering/RenderSlider.cpp:
  21244. (WebCore::RenderSlider::~RenderSlider): Removed unneeded code.
  21245. (WebCore::RenderSlider::thumbRect): Changed to use sliderThumbElement helper.
  21246. (WebCore::RenderSlider::layout): Ditto.
  21247. (WebCore::RenderSlider::sliderThumbElement): Added a temporary helper to access
  21248. SliderThumbElement.
  21249. (WebCore::RenderSlider::mouseEventIsInThumb): Changed to use sliderThumbElement helper.
  21250. (WebCore::RenderSlider::mouseEventOffsetToThumb): Ditto.
  21251. (WebCore::RenderSlider::setValueForPosition): Ditto.
  21252. (WebCore::RenderSlider::positionForOffset): Ditto.
  21253. (WebCore::RenderSlider::currentPosition): Ditto.
  21254. (WebCore::RenderSlider::trackSize): Ditto.
  21255. (WebCore::RenderSlider::forwardEvent): Ditto.
  21256. (WebCore::RenderSlider::inDragMode): Ditto.
  21257. * rendering/RenderSlider.h: Added def.
  21258. 2011-01-13 Adam Barth <abarth@webkit.org>
  21259. Reviewed by Eric Seidel.
  21260. Rename RGBA32Buffer to ImageFrame
  21261. https://bugs.webkit.org/show_bug.cgi?id=52363
  21262. RGBA32Buffer is a terrible misnomer. ImageFrame is vastly
  21263. more accurate. More cleanup to come.
  21264. * WebCore.pro:
  21265. * platform/graphics/ImageSource.cpp:
  21266. (WebCore::ImageSource::createFrameAtIndex):
  21267. (WebCore::ImageSource::frameDurationAtIndex):
  21268. (WebCore::ImageSource::frameIsCompleteAtIndex):
  21269. * platform/graphics/qt/ImageDecoderQt.cpp:
  21270. (WebCore::ImageDecoderQt::frameBufferAtIndex):
  21271. (WebCore::ImageDecoderQt::internalReadImage):
  21272. (WebCore::ImageDecoderQt::internalHandleCurrentImage):
  21273. * platform/graphics/qt/ImageDecoderQt.h:
  21274. * platform/graphics/wince/ImageWinCE.cpp:
  21275. (WebCore::ImageFrame::asNewNativeImage):
  21276. * platform/image-decoders/ImageDecoder.cpp:
  21277. (WebCore::ImageFrame::ImageFrame):
  21278. (WebCore::ImageFrame::operator=):
  21279. (WebCore::ImageFrame::clear):
  21280. (WebCore::ImageFrame::zeroFill):
  21281. (WebCore::ImageFrame::copyReferenceToBitmapData):
  21282. (WebCore::ImageFrame::copyBitmapData):
  21283. (WebCore::ImageFrame::setSize):
  21284. (WebCore::ImageFrame::hasAlpha):
  21285. (WebCore::ImageFrame::setHasAlpha):
  21286. (WebCore::ImageFrame::setColorProfile):
  21287. (WebCore::ImageFrame::setStatus):
  21288. (WebCore::ImageFrame::width):
  21289. (WebCore::ImageFrame::height):
  21290. * platform/image-decoders/ImageDecoder.h:
  21291. (WebCore::ImageFrame::ImageFrame):
  21292. * platform/image-decoders/bmp/BMPImageDecoder.cpp:
  21293. (WebCore::BMPImageDecoder::frameBufferAtIndex):
  21294. (WebCore::BMPImageDecoder::decode):
  21295. * platform/image-decoders/bmp/BMPImageDecoder.h:
  21296. * platform/image-decoders/bmp/BMPImageReader.cpp:
  21297. (WebCore::BMPImageReader::decodeBMP):
  21298. * platform/image-decoders/bmp/BMPImageReader.h:
  21299. (WebCore::BMPImageReader::setBuffer):
  21300. * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
  21301. (WebCore::ImageFrame::asNewNativeImage):
  21302. * platform/image-decoders/cg/ImageDecoderCG.cpp:
  21303. (WebCore::getPtrAsPixelData):
  21304. (WebCore::ImageFrame::copyReferenceToBitmapData):
  21305. (WebCore::ImageFrame::copyBitmapData):
  21306. (WebCore::ImageFrame::setSize):
  21307. (WebCore::ImageFrame::asNewNativeImage):
  21308. * platform/image-decoders/gif/GIFImageDecoder.cpp:
  21309. (WebCore::GIFImageDecoder::frameBufferAtIndex):
  21310. (WebCore::GIFImageDecoder::clearFrameBufferCache):
  21311. (WebCore::GIFImageDecoder::haveDecodedRow):
  21312. (WebCore::GIFImageDecoder::frameComplete):
  21313. (WebCore::GIFImageDecoder::initFrameBuffer):
  21314. * platform/image-decoders/gif/GIFImageDecoder.h:
  21315. * platform/image-decoders/gif/GIFImageReader.cpp:
  21316. (GIFImageReader::read):
  21317. * platform/image-decoders/gif/GIFImageReader.h:
  21318. (GIFFrameReader::GIFFrameReader):
  21319. * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
  21320. (WebCore::ImageFrame::asNewNativeImage):
  21321. * platform/image-decoders/ico/ICOImageDecoder.cpp:
  21322. (WebCore::ICOImageDecoder::frameBufferAtIndex):
  21323. (WebCore::ICOImageDecoder::decode):
  21324. * platform/image-decoders/ico/ICOImageDecoder.h:
  21325. * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
  21326. (WebCore::JPEGImageDecoder::frameBufferAtIndex):
  21327. (WebCore::JPEGImageDecoder::outputScanlines):
  21328. (WebCore::JPEGImageDecoder::jpegComplete):
  21329. (WebCore::JPEGImageDecoder::decode):
  21330. * platform/image-decoders/jpeg/JPEGImageDecoder.h:
  21331. * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp:
  21332. (WebCore::ImageFrame::asNewNativeImage):
  21333. * platform/image-decoders/png/PNGImageDecoder.cpp:
  21334. (WebCore::PNGImageDecoder::frameBufferAtIndex):
  21335. (WebCore::PNGImageDecoder::rowAvailable):
  21336. (WebCore::PNGImageDecoder::pngComplete):
  21337. * platform/image-decoders/png/PNGImageDecoder.h:
  21338. (WebCore::PNGImageDecoder::isComplete):
  21339. * platform/image-decoders/qt/ImageFrameQt.cpp: Copied from Source/WebCore/platform/image-decoders/qt/RGBA32BufferQt.cpp.
  21340. (WebCore::ImageFrame::ImageFrame):
  21341. (WebCore::ImageFrame::operator=):
  21342. (WebCore::ImageFrame::clear):
  21343. (WebCore::ImageFrame::zeroFill):
  21344. (WebCore::ImageFrame::copyBitmapData):
  21345. (WebCore::ImageFrame::setSize):
  21346. (WebCore::ImageFrame::asNewNativeImage):
  21347. (WebCore::ImageFrame::hasAlpha):
  21348. (WebCore::ImageFrame::setHasAlpha):
  21349. (WebCore::ImageFrame::setColorProfile):
  21350. (WebCore::ImageFrame::setStatus):
  21351. (WebCore::ImageFrame::setPixmap):
  21352. (WebCore::ImageFrame::width):
  21353. (WebCore::ImageFrame::height):
  21354. * platform/image-decoders/qt/RGBA32BufferQt.cpp: Removed.
  21355. * platform/image-decoders/skia/ImageDecoderSkia.cpp:
  21356. (WebCore::ImageFrame::ImageFrame):
  21357. (WebCore::ImageFrame::operator=):
  21358. (WebCore::ImageFrame::clear):
  21359. (WebCore::ImageFrame::zeroFill):
  21360. (WebCore::ImageFrame::copyBitmapData):
  21361. (WebCore::ImageFrame::setSize):
  21362. (WebCore::ImageFrame::asNewNativeImage):
  21363. (WebCore::ImageFrame::hasAlpha):
  21364. (WebCore::ImageFrame::setHasAlpha):
  21365. (WebCore::ImageFrame::setColorProfile):
  21366. (WebCore::ImageFrame::setStatus):
  21367. (WebCore::ImageFrame::width):
  21368. (WebCore::ImageFrame::height):
  21369. * platform/image-decoders/webp/WEBPImageDecoder.cpp:
  21370. (WebCore::WEBPImageDecoder::frameBufferAtIndex):
  21371. (WebCore::WEBPImageDecoder::decode):
  21372. * platform/image-decoders/webp/WEBPImageDecoder.h:
  21373. * platform/image-decoders/wx/ImageDecoderWx.cpp:
  21374. (WebCore::ImageFrame::asNewNativeImage):
  21375. 2011-01-13 Dimitri Glazkov <dglazkov@chromium.org>
  21376. Reviewed by Darin Adler.
  21377. Transferring nodes between documents should be aware of the shadow DOM.
  21378. https://bugs.webkit.org/show_bug.cgi?id=52399
  21379. No visible change in behavior at the moment.
  21380. Once https://bugs.webkit.org/show_bug.cgi?id=52317 lands, the following
  21381. tests should no longer crash:
  21382. * fast/css/pseudo-in-range-invalid-value.html
  21383. * fast/css/pseudo-in-range.html
  21384. * fast/forms/form-collection-elements.html
  21385. * fast/forms/range-keyoperation.html
  21386. * dom/Document.cpp:
  21387. (WebCore::Document::adoptNode): Changed to use Node::setDocumentRecursively.
  21388. * dom/Node.cpp:
  21389. (WebCore::Node::setDocumentRecursively): Added new method, taking existing
  21390. logic and adding shadow DOM traversal.
  21391. (WebCore::Node::traverseNextNode): Style fix.
  21392. (WebCore::Node::traverseNextSibling): Ditto.
  21393. (WebCore::Node::traversePreviousNode): Ditto.
  21394. (WebCore::Node::traversePreviousNodePostOrder): Ditto.
  21395. (WebCore::Node::checkReplaceChild): Changed to use setDocumentRecursively.
  21396. (WebCore::Node::checkAddChild): Ditto.
  21397. * dom/Node.h: Added def.
  21398. 2011-01-12 Enrica Casucci <enrica@apple.com>
  21399. Reviewed by Darin Adler.
  21400. WebKit2: Add support for drag and drop
  21401. https://bugs.webkit.org/show_bug.cgi?id=52343
  21402. <rdar://problem/7660558>
  21403. This patch contains the changes required to support dropping content
  21404. in WebKit on the Mac. The DragData class has been extended to provide
  21405. additional context from the application (keyboard state, modal windows, etc.)
  21406. as well as information of the drag pasteboard being used.
  21407. The support for WebKit as drag source will be added with a separate patch.
  21408. * WebCore.exp.in:
  21409. * page/DragController.cpp:
  21410. (WebCore::DragController::dragIsMove): Added DragData parameter.
  21411. (WebCore::DragController::tryDocumentDrag): Modified call to dragIsMove.
  21412. (WebCore::DragController::concludeEditDrag): Same as above.
  21413. * page/DragController.h: Added parameter to isCopyKeyDown.
  21414. * page/mac/DragControllerMac.mm:
  21415. The following methods have been modified to use the information stored
  21416. in the DragData class.
  21417. (WebCore::DragController::isCopyKeyDown):
  21418. (WebCore::DragController::dragOperation):
  21419. * platform/DragData.h:
  21420. (WebCore::DragData::flags):
  21421. * platform/DragData.cpp: Added default flags parameter to the constructor.
  21422. * platform/mac/DragDataMac.mm:
  21423. (WebCore::DragData::DragData): Added constructor that receives the name of the pasteboard to use.
  21424. (WebCore::DragData::canSmartReplace):
  21425. (WebCore::DragData::containsColor):
  21426. (WebCore::DragData::containsFiles):
  21427. (WebCore::DragData::asFilenames):
  21428. (WebCore::DragData::containsPlainText):
  21429. (WebCore::DragData::asPlainText):
  21430. (WebCore::DragData::containsCompatibleContent):
  21431. (WebCore::DragData::asURL):
  21432. (WebCore::DragData::asFragment):
  21433. All the following files have been modified to add the DragData
  21434. parameter to isCopyKeyDown. I plan to improve this in the future
  21435. and make isCopyKeyDown not platform specific.
  21436. * page/android/DragControllerAndroid.cpp:
  21437. (WebCore::DragController::isCopyKeyDown):
  21438. * page/brew/DragControllerBrew.cpp:
  21439. (WebCore::DragController::isCopyKeyDown):
  21440. * page/chromium/DragControllerChromium.cpp:
  21441. (WebCore::DragController::isCopyKeyDown):
  21442. * page/efl/DragControllerEfl.cpp:
  21443. (WebCore::DragController::isCopyKeyDown):
  21444. * page/gtk/DragControllerGtk.cpp:
  21445. (WebCore::DragController::isCopyKeyDown):
  21446. * page/haiku/DragControllerHaiku.cpp:
  21447. (WebCore::DragController::isCopyKeyDown):
  21448. * page/mac/DragControllerMac.mm:
  21449. (WebCore::DragController::isCopyKeyDown):
  21450. (WebCore::DragController::dragOperation):
  21451. * page/qt/DragControllerQt.cpp:
  21452. (WebCore::DragController::isCopyKeyDown):
  21453. * page/win/DragControllerWin.cpp:
  21454. (WebCore::DragController::isCopyKeyDown):
  21455. * page/wx/DragControllerWx.cpp:
  21456. (WebCore::DragController::isCopyKeyDown):
  21457. 2011-01-13 David Kilzer <ddkilzer@apple.com>
  21458. Add missing MathMLElementFactory.h and MathMLNames.h to Xcode project
  21459. Not reviewed.
  21460. * WebCore.xcodeproj/project.pbxproj: Add missing headers. Note
  21461. that the corresponding source files were originally added to the
  21462. project in r48559.
  21463. 2011-01-12 Zhenyao Mo <zmo@google.com>
  21464. Reviewed by Kenneth Russell.
  21465. Use GC3D types in WebGLRenderingContext and related WebGL classes
  21466. https://bugs.webkit.org/show_bug.cgi?id=51908
  21467. * html/canvas/WebGLActiveInfo.h:
  21468. (WebCore::WebGLActiveInfo::create):
  21469. (WebCore::WebGLActiveInfo::type):
  21470. (WebCore::WebGLActiveInfo::size):
  21471. (WebCore::WebGLActiveInfo::WebGLActiveInfo):
  21472. * html/canvas/WebGLBuffer.cpp:
  21473. (WebCore::WebGLBuffer::associateBufferDataImpl):
  21474. (WebCore::WebGLBuffer::associateBufferData):
  21475. (WebCore::WebGLBuffer::associateBufferSubDataImpl):
  21476. (WebCore::WebGLBuffer::associateBufferSubData):
  21477. (WebCore::WebGLBuffer::byteLength):
  21478. (WebCore::WebGLBuffer::getCachedMaxIndex):
  21479. (WebCore::WebGLBuffer::setCachedMaxIndex):
  21480. (WebCore::WebGLBuffer::setTarget):
  21481. * html/canvas/WebGLBuffer.h:
  21482. (WebCore::WebGLBuffer::getTarget):
  21483. * html/canvas/WebGLFramebuffer.cpp:
  21484. (WebCore::WebGLFramebuffer::setAttachment):
  21485. (WebCore::WebGLFramebuffer::getAttachment):
  21486. (WebCore::WebGLFramebuffer::getWidth):
  21487. (WebCore::WebGLFramebuffer::getHeight):
  21488. (WebCore::WebGLFramebuffer::getColorBufferFormat):
  21489. (WebCore::WebGLFramebuffer::initializeRenderbuffers):
  21490. * html/canvas/WebGLFramebuffer.h:
  21491. * html/canvas/WebGLProgram.cpp:
  21492. (WebCore::WebGLProgram::cacheActiveAttribLocations):
  21493. (WebCore::WebGLProgram::numActiveAttribLocations):
  21494. (WebCore::WebGLProgram::getActiveAttribLocation):
  21495. (WebCore::WebGLProgram::isUsingVertexAttrib0):
  21496. * html/canvas/WebGLProgram.h:
  21497. (WebCore::WebGLProgram::getLinkCount):
  21498. * html/canvas/WebGLRenderbuffer.h:
  21499. (WebCore::WebGLRenderbuffer::setInternalFormat):
  21500. (WebCore::WebGLRenderbuffer::getInternalFormat):
  21501. (WebCore::WebGLRenderbuffer::setSize):
  21502. (WebCore::WebGLRenderbuffer::getWidth):
  21503. (WebCore::WebGLRenderbuffer::getHeight):
  21504. * html/canvas/WebGLRenderingContext.cpp:
  21505. (WebCore::WebGLRenderingContext::initializeNewContext):
  21506. (WebCore::WebGLRenderingContext::sizeInBytes):
  21507. (WebCore::WebGLRenderingContext::activeTexture):
  21508. (WebCore::WebGLRenderingContext::bindAttribLocation):
  21509. (WebCore::WebGLRenderingContext::bindBuffer):
  21510. (WebCore::WebGLRenderingContext::bindFramebuffer):
  21511. (WebCore::WebGLRenderingContext::bindRenderbuffer):
  21512. (WebCore::WebGLRenderingContext::bindTexture):
  21513. (WebCore::WebGLRenderingContext::blendColor):
  21514. (WebCore::WebGLRenderingContext::blendEquation):
  21515. (WebCore::WebGLRenderingContext::blendEquationSeparate):
  21516. (WebCore::WebGLRenderingContext::blendFunc):
  21517. (WebCore::WebGLRenderingContext::blendFuncSeparate):
  21518. (WebCore::WebGLRenderingContext::bufferData):
  21519. (WebCore::WebGLRenderingContext::bufferSubData):
  21520. (WebCore::WebGLRenderingContext::checkFramebufferStatus):
  21521. (WebCore::WebGLRenderingContext::clear):
  21522. (WebCore::WebGLRenderingContext::clearColor):
  21523. (WebCore::WebGLRenderingContext::clearDepth):
  21524. (WebCore::WebGLRenderingContext::clearStencil):
  21525. (WebCore::WebGLRenderingContext::colorMask):
  21526. (WebCore::WebGLRenderingContext::copyTexImage2D):
  21527. (WebCore::WebGLRenderingContext::copyTexSubImage2D):
  21528. (WebCore::WebGLRenderingContext::createShader):
  21529. (WebCore::WebGLRenderingContext::cullFace):
  21530. (WebCore::WebGLRenderingContext::deleteBuffer):
  21531. (WebCore::WebGLRenderingContext::depthFunc):
  21532. (WebCore::WebGLRenderingContext::depthMask):
  21533. (WebCore::WebGLRenderingContext::depthRange):
  21534. (WebCore::WebGLRenderingContext::disable):
  21535. (WebCore::WebGLRenderingContext::disableVertexAttribArray):
  21536. (WebCore::WebGLRenderingContext::validateElementArraySize):
  21537. (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
  21538. (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
  21539. (WebCore::WebGLRenderingContext::validateRenderingState):
  21540. (WebCore::WebGLRenderingContext::drawArrays):
  21541. (WebCore::WebGLRenderingContext::drawElements):
  21542. (WebCore::WebGLRenderingContext::enable):
  21543. (WebCore::WebGLRenderingContext::enableVertexAttribArray):
  21544. (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
  21545. (WebCore::WebGLRenderingContext::framebufferTexture2D):
  21546. (WebCore::WebGLRenderingContext::frontFace):
  21547. (WebCore::WebGLRenderingContext::generateMipmap):
  21548. (WebCore::WebGLRenderingContext::getActiveAttrib):
  21549. (WebCore::WebGLRenderingContext::getActiveUniform):
  21550. (WebCore::WebGLRenderingContext::getAttachedShaders):
  21551. (WebCore::WebGLRenderingContext::getAttribLocation):
  21552. (WebCore::WebGLRenderingContext::getBufferParameter):
  21553. (WebCore::WebGLRenderingContext::getError):
  21554. (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
  21555. (WebCore::WebGLRenderingContext::getParameter):
  21556. (WebCore::WebGLRenderingContext::getProgramParameter):
  21557. (WebCore::WebGLRenderingContext::getRenderbufferParameter):
  21558. (WebCore::WebGLRenderingContext::getShaderParameter):
  21559. (WebCore::WebGLRenderingContext::getTexParameter):
  21560. (WebCore::WebGLRenderingContext::getUniform):
  21561. (WebCore::WebGLRenderingContext::getUniformLocation):
  21562. (WebCore::WebGLRenderingContext::getVertexAttrib):
  21563. (WebCore::WebGLRenderingContext::getVertexAttribOffset):
  21564. (WebCore::WebGLRenderingContext::hint):
  21565. (WebCore::WebGLRenderingContext::isBuffer):
  21566. (WebCore::WebGLRenderingContext::isEnabled):
  21567. (WebCore::WebGLRenderingContext::isFramebuffer):
  21568. (WebCore::WebGLRenderingContext::isProgram):
  21569. (WebCore::WebGLRenderingContext::isRenderbuffer):
  21570. (WebCore::WebGLRenderingContext::isShader):
  21571. (WebCore::WebGLRenderingContext::isTexture):
  21572. (WebCore::WebGLRenderingContext::lineWidth):
  21573. (WebCore::WebGLRenderingContext::linkProgram):
  21574. (WebCore::WebGLRenderingContext::pixelStorei):
  21575. (WebCore::WebGLRenderingContext::polygonOffset):
  21576. (WebCore::WebGLRenderingContext::readPixels):
  21577. (WebCore::WebGLRenderingContext::renderbufferStorage):
  21578. (WebCore::WebGLRenderingContext::sampleCoverage):
  21579. (WebCore::WebGLRenderingContext::scissor):
  21580. (WebCore::WebGLRenderingContext::stencilFunc):
  21581. (WebCore::WebGLRenderingContext::stencilFuncSeparate):
  21582. (WebCore::WebGLRenderingContext::stencilMask):
  21583. (WebCore::WebGLRenderingContext::stencilMaskSeparate):
  21584. (WebCore::WebGLRenderingContext::stencilOp):
  21585. (WebCore::WebGLRenderingContext::stencilOpSeparate):
  21586. (WebCore::WebGLRenderingContext::texImage2DBase):
  21587. (WebCore::WebGLRenderingContext::texImage2DImpl):
  21588. (WebCore::WebGLRenderingContext::texImage2D):
  21589. (WebCore::WebGLRenderingContext::texParameter):
  21590. (WebCore::WebGLRenderingContext::texParameterf):
  21591. (WebCore::WebGLRenderingContext::texParameteri):
  21592. (WebCore::WebGLRenderingContext::texSubImage2DBase):
  21593. (WebCore::WebGLRenderingContext::texSubImage2DImpl):
  21594. (WebCore::WebGLRenderingContext::texSubImage2D):
  21595. (WebCore::WebGLRenderingContext::uniform1f):
  21596. (WebCore::WebGLRenderingContext::uniform1fv):
  21597. (WebCore::WebGLRenderingContext::uniform1i):
  21598. (WebCore::WebGLRenderingContext::uniform1iv):
  21599. (WebCore::WebGLRenderingContext::uniform2f):
  21600. (WebCore::WebGLRenderingContext::uniform2fv):
  21601. (WebCore::WebGLRenderingContext::uniform2i):
  21602. (WebCore::WebGLRenderingContext::uniform2iv):
  21603. (WebCore::WebGLRenderingContext::uniform3f):
  21604. (WebCore::WebGLRenderingContext::uniform3fv):
  21605. (WebCore::WebGLRenderingContext::uniform3i):
  21606. (WebCore::WebGLRenderingContext::uniform3iv):
  21607. (WebCore::WebGLRenderingContext::uniform4f):
  21608. (WebCore::WebGLRenderingContext::uniform4fv):
  21609. (WebCore::WebGLRenderingContext::uniform4i):
  21610. (WebCore::WebGLRenderingContext::uniform4iv):
  21611. (WebCore::WebGLRenderingContext::uniformMatrix2fv):
  21612. (WebCore::WebGLRenderingContext::uniformMatrix3fv):
  21613. (WebCore::WebGLRenderingContext::uniformMatrix4fv):
  21614. (WebCore::WebGLRenderingContext::vertexAttrib1f):
  21615. (WebCore::WebGLRenderingContext::vertexAttrib1fv):
  21616. (WebCore::WebGLRenderingContext::vertexAttrib2f):
  21617. (WebCore::WebGLRenderingContext::vertexAttrib2fv):
  21618. (WebCore::WebGLRenderingContext::vertexAttrib3f):
  21619. (WebCore::WebGLRenderingContext::vertexAttrib3fv):
  21620. (WebCore::WebGLRenderingContext::vertexAttrib4f):
  21621. (WebCore::WebGLRenderingContext::vertexAttrib4fv):
  21622. (WebCore::WebGLRenderingContext::vertexAttribPointer):
  21623. (WebCore::WebGLRenderingContext::viewport):
  21624. (WebCore::WebGLRenderingContext::getBooleanParameter):
  21625. (WebCore::WebGLRenderingContext::getBooleanArrayParameter):
  21626. (WebCore::WebGLRenderingContext::getFloatParameter):
  21627. (WebCore::WebGLRenderingContext::getIntParameter):
  21628. (WebCore::WebGLRenderingContext::getLongParameter):
  21629. (WebCore::WebGLRenderingContext::getUnsignedLongParameter):
  21630. (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
  21631. (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter):
  21632. (WebCore::WebGLRenderingContext::isTexInternalFormatColorBufferCombinationValid):
  21633. (WebCore::WebGLRenderingContext::getBoundFramebufferColorFormat):
  21634. (WebCore::WebGLRenderingContext::validateTextureBinding):
  21635. (WebCore::WebGLRenderingContext::validateSize):
  21636. (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
  21637. (WebCore::WebGLRenderingContext::validateTexFuncLevel):
  21638. (WebCore::WebGLRenderingContext::validateTexFuncParameters):
  21639. (WebCore::WebGLRenderingContext::validateTexFuncData):
  21640. (WebCore::WebGLRenderingContext::validateDrawMode):
  21641. (WebCore::WebGLRenderingContext::validateStencilFunc):
  21642. (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
  21643. (WebCore::WebGLRenderingContext::validateBlendEquation):
  21644. (WebCore::WebGLRenderingContext::validateBlendFuncFactors):
  21645. (WebCore::WebGLRenderingContext::validateCapability):
  21646. (WebCore::WebGLRenderingContext::validateUniformParameters):
  21647. (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
  21648. (WebCore::WebGLRenderingContext::validateBufferDataParameters):
  21649. (WebCore::WebGLRenderingContext::vertexAttribfImpl):
  21650. (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
  21651. (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
  21652. * html/canvas/WebGLRenderingContext.h:
  21653. (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
  21654. * html/canvas/WebGLShader.cpp:
  21655. (WebCore::WebGLShader::create):
  21656. (WebCore::WebGLShader::WebGLShader):
  21657. * html/canvas/WebGLShader.h:
  21658. (WebCore::WebGLShader::getType):
  21659. * html/canvas/WebGLTexture.cpp:
  21660. (WebCore::WebGLTexture::setTarget):
  21661. (WebCore::WebGLTexture::setParameteri):
  21662. (WebCore::WebGLTexture::setParameterf):
  21663. (WebCore::WebGLTexture::setLevelInfo):
  21664. (WebCore::WebGLTexture::generateMipmapLevelInfo):
  21665. (WebCore::WebGLTexture::getInternalFormat):
  21666. (WebCore::WebGLTexture::getType):
  21667. (WebCore::WebGLTexture::getWidth):
  21668. (WebCore::WebGLTexture::getHeight):
  21669. (WebCore::WebGLTexture::isNPOT):
  21670. (WebCore::WebGLTexture::mapTargetToIndex):
  21671. (WebCore::WebGLTexture::computeLevelCount):
  21672. (WebCore::WebGLTexture::update):
  21673. (WebCore::WebGLTexture::getLevelInfo):
  21674. * html/canvas/WebGLTexture.h:
  21675. (WebCore::WebGLTexture::LevelInfo::setInfo):
  21676. * html/canvas/WebGLUniformLocation.cpp:
  21677. (WebCore::WebGLUniformLocation::create):
  21678. (WebCore::WebGLUniformLocation::WebGLUniformLocation):
  21679. (WebCore::WebGLUniformLocation::location):
  21680. * html/canvas/WebGLUniformLocation.h:
  21681. * platform/graphics/GraphicsContext3D.h: Map GC3Dboolean to bool instead of unsigned char.
  21682. 2011-01-13 Jian Li <jianli@chromium.org>
  21683. Reviewed by Darin Fisher.
  21684. Change createObjectURL and revokeObjectURL to put under webkitURL.
  21685. https://bugs.webkit.org/show_bug.cgi?id=52257
  21686. Note that we add "webkit" vendor prefix to URL that is introduced in
  21687. the latest File API spec.
  21688. For the time being, we implement webkitURL as a readonly attribute
  21689. instead of a constructor so that we will not expose prototype property,
  21690. as required by the spec.
  21691. * Android.derived.jscbindings.mk:
  21692. * Android.derived.v8bindings.mk:
  21693. * Android.mk:
  21694. * CMakeLists.txt:
  21695. * DerivedSources.cpp:
  21696. * DerivedSources.make:
  21697. * GNUmakefile.am:
  21698. * WebCore.gypi:
  21699. * WebCore.pri:
  21700. * WebCore.pro:
  21701. * WebCore.vcproj/WebCore.vcproj:
  21702. * WebCore.xcodeproj/project.pbxproj:
  21703. * html/DOMURL.cpp: Added.
  21704. * html/DOMURL.h: Added.
  21705. * html/DOMURL.idl: Added.
  21706. * inspector/front-end/NetworkPanel.js:
  21707. * inspector/front-end/utilities.js:
  21708. * page/DOMWindow.cpp:
  21709. (WebCore::DOMWindow::webkitURL):
  21710. * page/DOMWindow.h:
  21711. * page/DOMWindow.idl:
  21712. * workers/WorkerContext.cpp:
  21713. (WebCore::WorkerContext::webkitURL):
  21714. * workers/WorkerContext.h:
  21715. * workers/WorkerContext.idl:
  21716. 2011-01-13 Emil Eklund <eae@chromium.org>
  21717. Reviewed by Dimitri Glazkov.
  21718. Setting outerText should convert CR/LF to <br>
  21719. https://bugs.webkit.org/show_bug.cgi?id=52268
  21720. Make set outerText support line breaks (sharing the text to fragment code
  21721. with setInnerText) and handle empty text nodes the same way IE does.
  21722. Test: fast/dom/set-outer-text.html
  21723. * html/HTMLElement.cpp:
  21724. (WebCore::HTMLElement::textToFragment): Shared between setInnerText and setOuterText
  21725. (WebCore::HTMLElement::setInnerText): Split out text parsing code.
  21726. (WebCore::mergeWithNextTextNode): Split out text node merging code.
  21727. (WebCore::HTMLElement::setOuterText): Added support for line breaks.
  21728. * html/HTMLElement.h:
  21729. 2011-01-13 Zhenyao Mo <zmo@google.com>
  21730. Reviewed by Kenneth Russell.
  21731. Relax the ESSL valid charset a little bit to include " ' `
  21732. https://bugs.webkit.org/show_bug.cgi?id=52396
  21733. * html/canvas/WebGLRenderingContext.cpp:
  21734. 2011-01-13 Adrienne Walker <enne@google.com>
  21735. Reviewed by Kenneth Russell.
  21736. [chromium] Attempt to fix crash in tiled compositor memcpy
  21737. https://bugs.webkit.org/show_bug.cgi?id=52379
  21738. * platform/graphics/chromium/LayerTilerChromium.cpp:
  21739. (WebCore::LayerTilerChromium::update):
  21740. 2011-01-13 Dimitri Glazkov <dglazkov@chromium.org>
  21741. Unreviewed, rolling out r75725.
  21742. http://trac.webkit.org/changeset/75725
  21743. https://bugs.webkit.org/show_bug.cgi?id=52317
  21744. Caused crashes in layout tests.
  21745. * css/CSSStyleSelector.cpp:
  21746. (WebCore::CSSStyleSelector::initForStyleResolve):
  21747. * html/HTMLInputElement.cpp:
  21748. (WebCore::HTMLInputElement::updateType):
  21749. * html/InputType.cpp:
  21750. * html/InputType.h:
  21751. * html/RangeInputType.cpp:
  21752. * html/RangeInputType.h:
  21753. * html/shadow/SliderThumbElement.cpp:
  21754. (WebCore::SliderThumbElement::defaultEventHandler):
  21755. (WebCore::SliderThumbElement::detach):
  21756. * html/shadow/SliderThumbElement.h:
  21757. (WebCore::SliderThumbElement::SliderThumbElement):
  21758. (WebCore::SliderThumbElement::create):
  21759. * rendering/MediaControlElements.cpp:
  21760. (WebCore::MediaControlInputElement::attach):
  21761. (WebCore::MediaControlInputElement::updateStyle):
  21762. * rendering/RenderSlider.cpp:
  21763. (WebCore::RenderSlider::~RenderSlider):
  21764. (WebCore::RenderSlider::styleDidChange):
  21765. (WebCore::RenderSlider::createThumbStyle):
  21766. (WebCore::RenderSlider::thumbRect):
  21767. (WebCore::RenderSlider::layout):
  21768. (WebCore::RenderSlider::updateFromElement):
  21769. (WebCore::RenderSlider::mouseEventIsInThumb):
  21770. (WebCore::RenderSlider::mouseEventOffsetToThumb):
  21771. (WebCore::RenderSlider::setValueForPosition):
  21772. (WebCore::RenderSlider::positionForOffset):
  21773. (WebCore::RenderSlider::currentPosition):
  21774. (WebCore::RenderSlider::trackSize):
  21775. (WebCore::RenderSlider::forwardEvent):
  21776. (WebCore::RenderSlider::inDragMode):
  21777. * rendering/RenderSlider.h:
  21778. 2011-01-12 Dimitri Glazkov <dglazkov@chromium.org>
  21779. Reviewed by Darin Adler.
  21780. Flip input[type=range] to use the new shadow DOM model.
  21781. https://bugs.webkit.org/show_bug.cgi?id=52317
  21782. This is a straight-up flip, minimal change to the logic, which will be
  21783. refactored in a follow-up patch.
  21784. Covered by existing tests.
  21785. * css/CSSStyleSelector.cpp:
  21786. (WebCore::CSSStyleSelector::initForStyleResolve): Changed to use either
  21787. host or parent node to find parent.
  21788. * html/HTMLInputElement.cpp:
  21789. (WebCore::HTMLInputElement::updateType): Added logic for destroying/creating
  21790. shadow DOM subtree.
  21791. * html/InputType.cpp:
  21792. (WebCore::InputType::createShadowSubtree): Added empty decl.
  21793. (WebCore::InputType::destroyShadowSubtree): Added a method to destroy
  21794. shadow subtree.
  21795. * html/InputType.h: Added defs.
  21796. * html/RangeInputType.cpp:
  21797. (WebCore::RangeInputType::createShadowSubtree): Added a virtual method to create
  21798. slider thumb.
  21799. * html/RangeInputType.h: Adde def.
  21800. * html/shadow/SliderThumbElement.cpp: Added temporary RenderSliderThumb class
  21801. to handle cascading appearance.
  21802. (WebCore::RenderSliderThumb::RenderSliderThumb): Added.
  21803. (WebCore::RenderSliderThumb::layout): Moved here the logic from
  21804. RenderSlider::createThumbStyle.
  21805. (WebCore::SliderThumbElement::createRenderer): Added virtual method to
  21806. create RenderSliderThumb instance.
  21807. (WebCore::SliderThumbElement::defaultEventHandler): Changed to use HTMLDivElement
  21808. as base class.
  21809. (WebCore::SliderThumbElement::detach): Ditto.
  21810. * html/shadow/SliderThumbElement.h:
  21811. (WebCore::SliderThumbElement::SliderThumbElement): Ditto.
  21812. (WebCore::SliderThumbElement::create): Ditto.
  21813. (WebCore::toSliderThumbElement): Added a casting helper.
  21814. * rendering/MediaControlElements.cpp:
  21815. (WebCore::MediaControlInputElement::attach): Added handling of shadow DOM,
  21816. since the whole method is hand-rolled.
  21817. (WebCore::MediaControlInputElement::updateStyle): Ditto.
  21818. * rendering/RenderSlider.cpp:
  21819. (WebCore::RenderSlider::~RenderSlider): Removed unneeded code.
  21820. (WebCore::RenderSlider::thumbRect): Changed to use sliderThumbElement helper.
  21821. (WebCore::RenderSlider::layout): Ditto.
  21822. (WebCore::RenderSlider::sliderThumbElement): Added a temporary helper to access
  21823. SliderThumbElement.
  21824. (WebCore::RenderSlider::mouseEventIsInThumb): Changed to use sliderThumbElement helper.
  21825. (WebCore::RenderSlider::mouseEventOffsetToThumb): Ditto.
  21826. (WebCore::RenderSlider::setValueForPosition): Ditto.
  21827. (WebCore::RenderSlider::positionForOffset): Ditto.
  21828. (WebCore::RenderSlider::currentPosition): Ditto.
  21829. (WebCore::RenderSlider::trackSize): Ditto.
  21830. (WebCore::RenderSlider::forwardEvent): Ditto.
  21831. (WebCore::RenderSlider::inDragMode): Ditto.
  21832. * rendering/RenderSlider.h: Added def.
  21833. 2011-01-13 Dan Bernstein <mitz@apple.com>
  21834. Reviewed by Simon Fraser.
  21835. <rdar://problem/8098442> Crash in Widget::setFrameRect()
  21836. https://bugs.webkit.org/show_bug.cgi?id=52375
  21837. Test: plugins/destroy-on-setwindow.html
  21838. * platform/mac/WidgetMac.mm:
  21839. (WebCore::Widget::setFrameRect): Protect the Widget from being deleted as a result of calling
  21840. out to the view.
  21841. (WebCore::Widget::getOuterView): Coding style fix.
  21842. (WebCore::Widget::paint): Protect the Widget from being deleted as a result of calling out to
  21843. the views. This is precautionary, since this function does not applear to access member variables
  21844. after such calls.
  21845. * platform/wx/WidgetWx.cpp:
  21846. (WebCore::Widget::setFrameRect): Protect the Widget from being deleted as a result of calling
  21847. out to the platform widget.
  21848. 2011-01-13 Csaba Osztrogonác <ossy@webkit.org>
  21849. Unreviewed buildfix after r75715.
  21850. * WebCore.pri:
  21851. * WebCore.pro:
  21852. 2011-01-13 Pavel Feldman <pfeldman@chromium.org>
  21853. Not reviewed: Qt build fix.
  21854. * WebCore.pri:
  21855. 2011-01-12 Pavel Feldman <pfeldman@chromium.org>
  21856. Reviewed by Yury Semikhatsky.
  21857. Web Inspector: embed injected script into the backend.
  21858. https://bugs.webkit.org/show_bug.cgi?id=52312
  21859. InjectedScript belongs to the backend of the system and
  21860. should be exposed by means of protocol, not InjectedScriptAccess.
  21861. This patch makes injected script a part of the backend.
  21862. It introduces single manual generation step (xxd -i) that should be
  21863. automated by the build scripts for all the platforms.
  21864. * CMakeLists.txt:
  21865. * DerivedSources.make:
  21866. * GNUmakefile.am:
  21867. * WebCore.gyp/WebCore.gyp:
  21868. * WebCore.gypi:
  21869. * WebCore.pro:
  21870. * WebCore.vcproj/WebCore.vcproj:
  21871. * WebCore.xcodeproj/project.pbxproj:
  21872. * bindings/js/JSInjectedScriptHostCustom.cpp:
  21873. (WebCore::InjectedScriptHost::injectedScriptFor):
  21874. * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
  21875. (WebCore::InjectedScriptHost::injectedScriptFor):
  21876. * inspector/InjectedScriptHost.cpp:
  21877. (WebCore::InjectedScriptHost::injectedScriptSource):
  21878. * inspector/InjectedScriptHost.h:
  21879. * inspector/Inspector.idl:
  21880. * inspector/InspectorController.cpp:
  21881. (WebCore::InspectorController::restoreInspectorStateFromCookie):
  21882. * inspector/InspectorState.cpp:
  21883. (WebCore::InspectorState::InspectorState):
  21884. * inspector/InspectorState.h:
  21885. * inspector/front-end/InjectedScript.js: Removed.
  21886. * inspector/front-end/WebKit.qrc:
  21887. * inspector/front-end/inspector.html:
  21888. * inspector/front-end/inspector.js:
  21889. (WebInspector.doLoadedDone.propertyNamesCallback):
  21890. (WebInspector.doLoadedDone):
  21891. * inspector/xxd.pl: Added.
  21892. 2011-01-13 Mikhail Naganov <mnaganov@chromium.org>
  21893. Reviewed by Timothy Hatcher.
  21894. Web Inspector: Cleanup after r75613 -- make all UI-facing strings
  21895. to be passed directly to WebInspector.UIString
  21896. https://bugs.webkit.org/show_bug.cgi?id=52365
  21897. * English.lproj/localizedStrings.js:
  21898. * inspector/front-end/ApplicationCacheItemsView.js:
  21899. (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
  21900. (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
  21901. * inspector/front-end/AuditRules.js:
  21902. (WebInspector.AuditRules.GzipRule.prototype.doRun):
  21903. (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
  21904. (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
  21905. * inspector/front-end/BreakpointsSidebarPane.js:
  21906. (WebInspector.EventListenerBreakpointsSidebarPane):
  21907. (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
  21908. * inspector/front-end/CookieItemsView.js:
  21909. (WebInspector.CookieItemsView.prototype._updateWithCookies):
  21910. * inspector/front-end/ImageView.js:
  21911. (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad):
  21912. (WebInspector.ImageView.prototype._createContentIfNeeded):
  21913. * inspector/front-end/NetworkPanel.js:
  21914. (WebInspector.NetworkTimeCalculator.prototype.formatValue):
  21915. (WebInspector.NetworkTransferTimeCalculator.prototype.formatValue):
  21916. (WebInspector.NetworkTransferDurationCalculator.prototype.formatValue):
  21917. * inspector/front-end/ProfileDataGridTree.js:
  21918. (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
  21919. (WebInspector.ProfileDataGridNode.prototype.get data):
  21920. * inspector/front-end/Resource.js:
  21921. (WebInspector.Resource.Type.toUIString):
  21922. (WebInspector.Resource.Type.toString):
  21923. * inspector/front-end/TimelineOverviewPane.js:
  21924. (WebInspector.TimelineOverviewCalculator.prototype.formatValue):
  21925. * inspector/front-end/TimelinePanel.js:
  21926. (WebInspector.TimelinePanel):
  21927. (WebInspector.TimelineCalculator.prototype.formatValue):
  21928. (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
  21929. (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
  21930. (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
  21931. * inspector/front-end/utilities.js:
  21932. ():
  21933. 2011-01-13 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
  21934. Reviewed by Simon Hausmann.
  21935. [Qt] Need a way to inform the application when a Netscape plugin is created.
  21936. https://bugs.webkit.org/show_bug.cgi?id=30179
  21937. Added "c" style static method for the application to hook up for
  21938. receiving notifications when a plugin is created.
  21939. * plugins/symbian/PluginViewSymbian.cpp:
  21940. (qtwebkit_setPluginCreatedCallback):
  21941. (WebCore::PluginView::platformStart):
  21942. 2011-01-13 Yi Shen <yi.4.shen@nokia.com>
  21943. Reviewed by Eric Seidel.
  21944. [Qt] Use a black background color for the video element on Qt Mobile
  21945. https://bugs.webkit.org/show_bug.cgi?id=52252
  21946. Use black as the background color for the video element on Qt Mobile.
  21947. * css/themeQtMobile.css:
  21948. (video):
  21949. 2011-01-13 Yi Shen <yi.4.shen@nokia.com>
  21950. Reviewed by Eric Seidel.
  21951. [Qt] Use a big central media play control button for video element
  21952. https://bugs.webkit.org/show_bug.cgi?id=52315
  21953. When ChromeClient::requiresFullscreenForVideoPlayback() returns true,
  21954. all other control buttons for the video element are hidden, except
  21955. a big centralized play button.
  21956. No new tests because no client implements requiresFullscreenForVideoPlayback yet.
  21957. * WebCore.pri:
  21958. * css/mediaControlsQtFullscreen.css: Added.
  21959. (audio):
  21960. (audio::-webkit-media-controls-panel):
  21961. (video::-webkit-media-controls-panel):
  21962. (video:-webkit-full-page-media::-webkit-media-controls-panel):
  21963. (audio::-webkit-media-controls-mute-button):
  21964. (video::-webkit-media-controls-mute-button):
  21965. (audio::-webkit-media-controls-play-button):
  21966. (video::-webkit-media-controls-play-button):
  21967. (audio::-webkit-media-controls-timeline-container):
  21968. (video::-webkit-media-controls-timeline-container):
  21969. (audio::-webkit-media-controls-current-time-display):
  21970. (video::-webkit-media-controls-current-time-display):
  21971. (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
  21972. (audio::-webkit-media-controls-timeline):
  21973. (video::-webkit-media-controls-timeline):
  21974. (audio::-webkit-media-controls-volume-slider-container):
  21975. (video::-webkit-media-controls-volume-slider-container):
  21976. (audio::-webkit-media-controls-volume-slider):
  21977. (video::-webkit-media-controls-volume-slider):
  21978. (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
  21979. (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
  21980. (audio::-webkit-media-controls-fullscreen-button):
  21981. (video::-webkit-media-controls-fullscreen-button):
  21982. (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
  21983. (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
  21984. (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
  21985. * platform/qt/RenderThemeQt.cpp:
  21986. (WebCore::RenderThemeQt::extraMediaControlsStyleSheet):
  21987. 2011-01-13 Carlos Garcia Campos <cgarcia@igalia.com>
  21988. Reviewed by Xan Lopez.
  21989. [GTK] Paint toggle buttons inconsistent when the object state is indeterminate
  21990. https://bugs.webkit.org/show_bug.cgi?id=52361
  21991. Check whether the object state is indeterminate to set the flag
  21992. GTK_STATE_FLAG_INCONSISTENT before rendering check and radio
  21993. buttons.
  21994. * platform/gtk/RenderThemeGtk3.cpp:
  21995. (WebCore::paintToggle):
  21996. 2011-01-13 Yi Shen <yi.4.shen@nokia.com>
  21997. Reviewed by Simon Hausmann.
  21998. [Qt] Extend the Platform Plugin to support full screen video handler
  21999. https://bugs.webkit.org/show_bug.cgi?id=51249
  22000. Make MediaPlayerPrivateQt support a fullscreen player.
  22001. No new tests because LayoutTests/media/media-fullscreen-inline.html already exists.
  22002. However, this test failed for Qt (QtMediaPlayer) due to durationchange event getting fired twice.
  22003. So, still skip it for Qt.
  22004. * WebCore.pro:
  22005. * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
  22006. (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
  22007. (WebCore::MediaPlayerPrivateQt::removeVideoItem):
  22008. (WebCore::MediaPlayerPrivateQt::restoreVideoItem):
  22009. * platform/graphics/qt/MediaPlayerPrivateQt.h:
  22010. (WebCore::MediaPlayerPrivateQt::supportsFullscreen):
  22011. (WebCore::MediaPlayerPrivateQt::mediaPlayer):
  22012. 2011-01-13 Dan Bernstein <mitz@apple.com>
  22013. Reviewed by Dave Hyatt.
  22014. <rdar://problem/8858548> Disable inheritance of text emphasis marks to ruby text
  22015. https://bugs.webkit.org/show_bug.cgi?id=52359
  22016. Test: fast/ruby/text-emphasis.html
  22017. * css/html.css:
  22018. (rt):
  22019. 2011-01-13 Csaba Osztrogonác <ossy@webkit.org>
  22020. Rubber-stamped by David Levin.
  22021. Trivial fix after r75682.
  22022. * loader/FrameLoader.cpp: Remove accidentally committed debug code.
  22023. (WebCore::FrameLoader::shouldClose):
  22024. 2011-01-12 Ryosuke Niwa <rniwa@webkit.org>
  22025. Reviewed by Eric Seidel.
  22026. REGRESSION(r69831): focus() in onkeypress discards input (affects chaseonline.chase.com)
  22027. https://bugs.webkit.org/show_bug.cgi?id=52241
  22028. The bug was caused by RenderTextControl::selection's creating a Range with m_insertText
  22029. which is a shadow DOM div as both start and end containers. Fixed the bug by traversing
  22030. through the descendents of m_innerText and using the right start and end containers to
  22031. create a Range.
  22032. Test: fast/forms/focus-change-on-keypress.html
  22033. * rendering/RenderTextControl.cpp:
  22034. (WebCore::setContainerAndOffsetForRange): Added; a helper function.
  22035. (WebCore::RenderTextControl::selection): See above.
  22036. 2011-01-12 Kenichi Ishibashi <bashi@google.com>
  22037. Reviewed by Kent Tamura.
  22038. M_formElementsWithFormAttribute not cleared when FormAssociatedElement is inserted with a null m_form and then removed.
  22039. https://bugs.webkit.org/show_bug.cgi?id=51905
  22040. Calls unregisterFormElementWithFormAttribute() when 'form' attribute
  22041. is removed.
  22042. Tests: fast/forms/form-associated-element-crash.html
  22043. fast/forms/form-associated-element-crash2.html
  22044. * html/FormAssociatedElement.cpp:
  22045. (WebCore::FormAssociatedElement::formAttributeChanged):
  22046. 2011-01-12 Kenichi Ishibashi <bashi@google.com>
  22047. Reviewed by Kent Tamura.
  22048. M_formElementsWithFormAttribute not cleared when Node is moved to another document.
  22049. https://bugs.webkit.org/show_bug.cgi?id=51418
  22050. Calls unregisterFormElementWithFormAttribute() when form associated elements
  22051. are moved to another document.
  22052. Test: fast/forms/change-form-element-document-crash.html
  22053. * html/FormAssociatedElement.cpp:
  22054. (WebCore::FormAssociatedElement::willMoveToNewOwnerDocument): Added.
  22055. * html/FormAssociatedElement.h: Added willMoveToNewOwnerDocument().
  22056. * html/HTMLFormControlElement.cpp:
  22057. (WebCore::HTMLFormControlElement::willMoveToNewOwnerDocument): Added.
  22058. * html/HTMLFormControlElement.h: Added willMoveToNewOwnerDocument().
  22059. * html/HTMLObjectElement.cpp:
  22060. (WebCore::HTMLObjectElement::willMoveToNewOwnerDocument): Added.
  22061. * html/HTMLObjectElement.h: Added willMoveToNewOwnerDocument().
  22062. * html/HTMLPlugInImageElement.h: Moves willMoveToNewOwnerDocument() to protected.
  22063. 2011-01-12 Ryosuke Niwa <rniwa@webkit.org>
  22064. Reviewed by Eric Seidel.
  22065. Stop instantiating legacy editing positions in ApplyBlockElementCommand and ApplyStyleCommand
  22066. https://bugs.webkit.org/show_bug.cgi?id=52250
  22067. Removed instantiation of legacy editing positions.
  22068. Calls to Position::Position are replaced by calls to Position's convenience functions.
  22069. Also added firstPositionInOrBeforeNode and lastPositionInOrAfterNode,
  22070. which are functions that return firstPositionInNode and lastPositionInNode respectively
  22071. when the specified node can have children for editing purpose and return positionBeforeNode
  22072. and positionAfterNode respectively otherwise. They can be used to guarantee that we never
  22073. create a bogus position like [img, 0] or [br, 0].
  22074. No tests are added since this is a cleanup.
  22075. * editing/ApplyBlockElementCommand.cpp:
  22076. (WebCore::ApplyBlockElementCommand::formatSelection):
  22077. * editing/ApplyStyleCommand.cpp:
  22078. (WebCore::ApplyStyleCommand::applyBlockStyle):
  22079. (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle):
  22080. (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle):
  22081. (WebCore::ApplyStyleCommand::removeInlineStyle):
  22082. (WebCore::ApplyStyleCommand::nodeFullySelected):
  22083. (WebCore::ApplyStyleCommand::nodeFullyUnselected):
  22084. (WebCore::ApplyStyleCommand::splitTextAtStart):
  22085. (WebCore::ApplyStyleCommand::splitTextAtEnd):
  22086. (WebCore::ApplyStyleCommand::splitTextElementAtStart):
  22087. (WebCore::ApplyStyleCommand::splitTextElementAtEnd):
  22088. (WebCore::ApplyStyleCommand::isValidCaretPositionInTextNode):
  22089. (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
  22090. (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
  22091. (WebCore::ApplyStyleCommand::computedFontSize):
  22092. (WebCore::ApplyStyleCommand::joinChildTextNodes):
  22093. * editing/ApplyStyleCommand.h:
  22094. * editing/htmlediting.h:
  22095. (WebCore::firstPositionInOrBeforeNode): Added.
  22096. (WebCore::lastPositionInOrAfterNode): Added.
  22097. 2011-01-12 Sam Weinig <sam@webkit.org>
  22098. Another build fix.
  22099. * platform/mac/WheelEventMac.mm:
  22100. (WebCore::phaseForEvent):
  22101. 2011-01-12 Sam Weinig <sam@webkit.org>
  22102. Fix build.
  22103. * platform/mac/WheelEventMac.mm:
  22104. (WebCore::phaseForEvent):
  22105. 2011-01-12 Adam Barth <abarth@webkit.org>
  22106. Reviewed by Darin Adler.
  22107. Remove premature optimization from SchemeRegistry
  22108. https://bugs.webkit.org/show_bug.cgi?id=52283
  22109. As far as I can tell, this optimization isn't necessary. I'm slightly
  22110. unsure which benchmarks to run to demonstrate this numerically, but
  22111. none of the benchmarks Chromium tracks were affected by adding a
  22112. similar check for "display-isolated" schemes.
  22113. * platform/SchemeRegistry.cpp:
  22114. (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
  22115. 2011-01-12 Beth Dakin <bdakin@apple.com>
  22116. Reviewed by Anders Carlsson.
  22117. Add-on for https://bugs.webkit.org/show_bug.cgi?id=52309
  22118. Expose fixed layout through WebKit SPI
  22119. -and corresponding-
  22120. <rdar://problem/8844464>
  22121. And now with getters!
  22122. * WebCore.exp.in:
  22123. 2011-01-12 Sam Weinig <sam@webkit.org>
  22124. Reviewed by Anders Carlsson.
  22125. https://bugs.webkit.org/show_bug.cgi?id=52337
  22126. PlatformWheelEvent should know about the scroll phase on the Mac
  22127. Add a phase parameter on Mac PlatformWheelEvents.
  22128. * platform/PlatformWheelEvent.h:
  22129. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  22130. (WebCore::PlatformWheelEvent::phase):
  22131. * platform/mac/WheelEventMac.mm:
  22132. (WebCore::phaseForEvent):
  22133. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  22134. 2011-01-12 Chris Marrin <cmarrin@apple.com>
  22135. Unreviewed.
  22136. A couple of lines of the patch for https://bugs.webkit.org/show_bug.cgi?id=52321
  22137. were omitted.
  22138. * platform/graphics/ca/GraphicsLayerCA.cpp:
  22139. (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
  22140. 2011-01-12 Chris Marrin <cmarrin@apple.com>
  22141. Unreviewed.
  22142. Getting rid of an assert that was causing build failures that turns out not to be needed.
  22143. * rendering/RenderLayer.cpp:
  22144. (WebCore::RenderLayer::paintsWithTransform):
  22145. 2011-01-12 Chris Marrin <cmarrin@apple.com>
  22146. Unreviewed.
  22147. Another fix for Gtk
  22148. * rendering/RenderLayer.cpp:
  22149. (WebCore::RenderLayer::paintsWithTransform):
  22150. 2011-01-12 Chris Marrin <cmarrin@apple.com>
  22151. Unreviewed.
  22152. Fix for Gtk and Windows builds
  22153. * page/Frame.cpp:
  22154. (WebCore::Frame::scalePage):
  22155. * page/Frame.h:
  22156. * platform/graphics/ca/win/PlatformCALayerWin.cpp:
  22157. (PlatformCALayer::contentsScale):
  22158. (PlatformCALayer::setContentsScale):
  22159. 2011-01-12 Chris Marrin <cmarrin@apple.com>
  22160. UNreviewed.
  22161. Fix for the Windows build
  22162. * platform/graphics/ca/win/PlatformCALayerWin.cpp:
  22163. (contentsScale):
  22164. (setContentsScale):
  22165. 2011-01-12 Chris Marrin <cmarrin@apple.com>
  22166. Unreviewed.
  22167. Another build fix
  22168. * platform/graphics/ca/GraphicsLayerCA.cpp:
  22169. (WebCore::GraphicsLayerCA::clampedContentsScaleForScale):
  22170. * platform/graphics/ca/mac/PlatformCALayerMac.mm:
  22171. (PlatformCALayer::setContentsScale):
  22172. 2011-01-11 Matthew Delaney <mdelaney@apple.com>
  22173. Reviewed by Simon Fraser.
  22174. Max area bound needed in creation of IOSurface in ImageBufferCG.cpp
  22175. https://bugs.webkit.org/show_bug.cgi?id=52172
  22176. Tests: fast/canvas/canvas-large-dimensions.html
  22177. * platform/graphics/cg/ImageBufferCG.cpp:
  22178. (WebCore::ImageBuffer::ImageBuffer):
  22179. 2011-01-12 Daniel Bates <dbates@rim.com>
  22180. And Benjamin C Meyer <bmeyer@rim.com>
  22181. Build fix when building with Inspector disabled
  22182. https://bugs.webkit.org/show_bug.cgi?id=52313
  22183. After changeset 75604 <http://trac.webkit.org/changeset/75604> it's not
  22184. possible to build when the Inspector is disabled.
  22185. * inspector/InspectorInstrumentation.h:
  22186. (WebCore::InspectorInstrumentation::updateApplicationCacheStatus): Fix build breakage when building
  22187. with Inspector disabled and Offline Web Applications enabled by moving macro guard condition
  22188. ENABLE(INSPECTOR) && ENABLE(OFFLINE_WEB_APPLICATIONS) into function body. This makes us also
  22189. consistent with the form we use for InspectorInstrumentation::networkStateChanged() and other
  22190. InspectorInstrumentation functions.
  22191. * loader/appcache/ApplicationCacheGroup.cpp:
  22192. (WebCore::ApplicationCacheGroup::didReceiveData): Fix build breakage when building with Inspector
  22193. disabled by adding ENABLE(INSPECTOR) guard around code that references the instance variable
  22194. ApplicationCacheGroup::m_currentResourceIdentifier as this variable only exists when building
  22195. with the Inspector.
  22196. (WebCore::ApplicationCacheGroup::didFinishLoading): Ditto.
  22197. (WebCore::ApplicationCacheGroup::didFail): Ditto.
  22198. 2011-01-12 Chris Marrin <cmarrin@apple.com>
  22199. Unreviewed.
  22200. Fix a build issue from http://trac.webkit.org/changeset/75639.
  22201. * platform/graphics/GraphicsLayer.h:
  22202. (WebCore::GraphicsLayer::contentsScale):
  22203. (WebCore::GraphicsLayer::setContentsScale):
  22204. 2011-01-12 Chris Marrin <cmarrin@apple.com>
  22205. Reviewed by Kevin Decker.
  22206. Pages with accelerated layers lose subpixel-AA and become blurry when a scale factor is applied
  22207. rdar://problem/8824974
  22208. This prevents the rootLayer (with the WebKit rendered content) from going becoming
  22209. a tiled layer when zoomed, and when there is other layered content on the page.
  22210. This speeds up zooming a lot and avoids some buggy behavior in CA with a very large
  22211. number of layers.
  22212. * rendering/RenderLayer.cpp:
  22213. (WebCore::RenderLayer::paintsWithTransform):
  22214. * rendering/RenderLayer.h:
  22215. * rendering/RenderLayerBacking.cpp:
  22216. (WebCore::RenderLayerBacking::paintingGoesToWindow):
  22217. 2011-01-12 Chris Marrin <cmarrin@apple.com>
  22218. Reviewed by Simon Fraser.
  22219. Pages with accelerated layers lose subpixel-AA and become blurry when a scale factor is applied
  22220. rdar://problem/8824974
  22221. When scaled, WebKit renders the page content at the scaled up size, so there are no
  22222. scaling artifacts. But content drawn into a layer's backing store does not scale up.
  22223. This is made worse by the fact that the root page contents become layered when there
  22224. are other accelerated compositing layers present (video, plugins, etc.).
  22225. Plumb scaling factor from Frame::scalePage() down into all layers with content. It
  22226. eventually calls CALayer::setContentsScale which renders to a backing store whose dimensions
  22227. are scaled, causing them to render larger and appear pixel perfect at the scaled
  22228. page size.
  22229. * page/Frame.cpp:
  22230. (WebCore::Frame::updateContentsScale):
  22231. (WebCore::Frame::scalePage):
  22232. * page/Frame.h:
  22233. * platform/graphics/GraphicsLayer.h:
  22234. * platform/graphics/ca/GraphicsLayerCA.cpp:
  22235. (WebCore::GraphicsLayerCA::setContentsScale):
  22236. (WebCore::GraphicsLayerCA::clampedContentsScaleForScale):
  22237. * platform/graphics/ca/GraphicsLayerCA.h:
  22238. (WebCore::GraphicsLayerCA::contentsScale):
  22239. * platform/graphics/ca/PlatformCALayer.h:
  22240. * platform/graphics/ca/mac/PlatformCALayerMac.mm:
  22241. (PlatformCALayer::contentsScale):
  22242. (PlatformCALayer::setContentsScale):
  22243. * rendering/RenderLayer.cpp:
  22244. (WebCore::RenderLayer::updateContentsScale):
  22245. * rendering/RenderLayer.h:
  22246. * rendering/RenderLayerBacking.cpp:
  22247. (WebCore::RenderLayerBacking::createGraphicsLayer):
  22248. (WebCore::RenderLayerBacking::updateForegroundLayer):
  22249. (WebCore::RenderLayerBacking::updateMaskLayer):
  22250. (WebCore::RenderLayerBacking::updateContentsScale):
  22251. * rendering/RenderLayerBacking.h:
  22252. * rendering/RenderLayerCompositor.cpp:
  22253. (WebCore::RenderLayerCompositor::updateContentsScale):
  22254. * rendering/RenderLayerCompositor.h:
  22255. 2011-01-12 Stephen White <senorblanco@chromium.org>
  22256. Reviewed by James Robinson.
  22257. Fix DrawingBuffer issues for depth/stencil, extensions, etc.
  22258. https://bugs.webkit.org/show_bug.cgi?id=52310
  22259. 1) GL_TEXTURE is not a valid argument to glFramebufferTexture2D()
  22260. (should be GL_TEXTURE_2D).
  22261. 2) Support for the multisampling extension was being checked after
  22262. the DrawingBuffer constructor was called, which calls multisample()
  22263. to check for the extension.
  22264. 3) If depth or stencil is set, the corresponding framebuffers must
  22265. be created in the DrawingBuffer constructor.
  22266. 4) GL_DEPTH_STENCIL is not a valid framebuffer internal type in
  22267. GLES2. Must use GL_OES_DEPTH24_STENCIL8, and check for the
  22268. OES_packed_depth_stencil extension.
  22269. * platform/graphics/chromium/DrawingBufferChromium.cpp:
  22270. (WebCore::DrawingBuffer::DrawingBuffer):
  22271. Record the extension support in the constructor. Create all the
  22272. secondary drawing buffers (for multisampling, depth/stencil).
  22273. * platform/graphics/gpu/DrawingBuffer.cpp:
  22274. (WebCore::DrawingBuffer::create):
  22275. Check for the extensions before calling the DrawingBuffer constructor.
  22276. (WebCore::DrawingBuffer::createSecondaryBuffers):
  22277. Refactor creation of the secondary buffers from DrawingBufferMac.mm to
  22278. here.
  22279. (WebCore::DrawingBuffer::reset):
  22280. Use DEPTH24_STENCIL8 format, not DEPTH_STENCIL. Use
  22281. DEPTH_COMPONENT16, not DEPTH_COMPONENT.
  22282. Use GL_TEXTURE_2D, not GL_TEXTURE (for glFramebufferTexture2D).
  22283. * platform/graphics/gpu/DrawingBuffer.h:
  22284. Refactor createSecondaryBuffers(). Add extension support arguments to
  22285. constructor. Add support for packed_depth_stencil extension.
  22286. * platform/graphics/gpu/mac/DrawingBufferMac.mm:
  22287. (WebCore::DrawingBuffer::DrawingBuffer):
  22288. Record extension support in constructor. Refactor out creation of
  22289. secondary buffers.
  22290. 2011-01-12 Beth Dakin <bdakin@apple.com>
  22291. Reviewed by Anders Carlsson.
  22292. Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose
  22293. fixed layout through WebKit SPI
  22294. -and corresponding-
  22295. <rdar://problem/8844464>
  22296. Export symbols for ScrollView::setUseFixedLayout() and
  22297. ScrollView::setFixedLayoutSize()
  22298. * WebCore.exp.in:
  22299. 2011-01-12 Robert Hogan <robert@webkit.org>
  22300. Reviewed by Kenneth Rohde Christiansen.
  22301. [Qt] Search input field doesn't have cancel button
  22302. Add a cancel button to the search field and make it customizable
  22303. by the client. For now, use the close dialog button associated
  22304. with the application's style as the default.
  22305. Unskip a bunch of search field related tests that pass now:
  22306. fast/forms/search-cancel-button-mouseup.html
  22307. fast/forms/search-rtl.html
  22308. fast/forms/search-abs-pos-cancel-button.html
  22309. fast/forms/search-styled.html
  22310. fast/forms/search-transformed.html
  22311. fast/forms/search-zoomed.html
  22312. fast/forms/search-cancel-button-style-sharing.html
  22313. fast/forms/search-display-none-cancel-button.html
  22314. fast/forms/search-placeholder-value-changed.html
  22315. fast/repaint/search-field-cancel.html
  22316. fast/forms/search-cancel-button-events.html
  22317. https://bugs.webkit.org/show_bug.cgi?id=42887
  22318. * platform/graphics/qt/ImageQt.cpp:
  22319. (loadResourcePixmap):
  22320. * platform/qt/RenderThemeQt.cpp:
  22321. (WebCore::RenderThemeQt::isControlStyled):
  22322. (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
  22323. (WebCore::RenderThemeQt::paintSearchField):
  22324. (WebCore::RenderThemeQt::adjustSearchFieldStyle):
  22325. (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
  22326. (WebCore::RenderThemeQt::convertToPaintingRect):
  22327. (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
  22328. * platform/qt/RenderThemeQt.h:
  22329. 2011-01-12 Andrey Kosyakov <caseq@chromium.org>
  22330. Reviewed by Pavel Feldman.
  22331. Web Inspector: cookie table is multiplied after repeated switching to cookies tab in network item view
  22332. Only create cookiesTable is it hasn't been done yet.
  22333. https://bugs.webkit.org/show_bug.cgi?id=52303
  22334. * inspector/front-end/ResourceCookiesView.js:
  22335. (WebInspector.ResourceCookiesView.prototype.show):
  22336. 2011-01-12 Koan-Sin Tan <koansin.tan@gmail.com>
  22337. Reviewed by Martin Robinson.
  22338. [Gtk] WebKitGtk+ doesn't build on Mac OS X 10.6
  22339. https://bugs.webkit.org/show_bug.cgi?id=50867
  22340. * config.h: Don't disallow ctype for (OS(DARWIN) && PLATFORM(GTK))
  22341. Many GTK+ related files include <libintl.h> or <glib/gi18n-lib.h>.
  22342. On Mac, <libintl.h> includes <xlocale.h>. <xclocale.h> includes
  22343. <xlocale/_ctype.h>, which uses isacii().
  22344. * platform/UUID.cpp:
  22345. (WebCore::createCanonicalUUIDString): For OS(DARWIN) && !PLATFORM(CF)
  22346. use the Chromium Linux UUID generation.
  22347. 2011-01-12 Simon Fraser <simon.fraser@apple.com>
  22348. Reviewed by Eric Seidel.
  22349. [CSS Gradients] One color stop should not paint anything for linear-gradient
  22350. https://bugs.webkit.org/show_bug.cgi?id=52259
  22351. Share color stop parsing code between linear and radial gradients.
  22352. Consider the gradient invalid if it has less than two color stops.
  22353. * css/CSSParser.cpp:
  22354. (WebCore::CSSParser::parseLinearGradient):
  22355. (WebCore::CSSParser::parseRadialGradient):
  22356. (WebCore::CSSParser::parseGradientColorStops):
  22357. * css/CSSParser.h:
  22358. 2011-01-12 Mikhail Naganov <mnaganov@chromium.org>
  22359. Reviewed by Pavel Feldman.
  22360. Fix inconsistencies in Inspector strings found by the new check-inspector-strings script.
  22361. https://bugs.webkit.org/show_bug.cgi?id=52295
  22362. * English.lproj/localizedStrings.js:
  22363. * inspector/front-end/BreakpointsSidebarPane.js:
  22364. (WebInspector.EventListenerBreakpointsSidebarPane):
  22365. * inspector/front-end/ProfilesPanel.js:
  22366. (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
  22367. * inspector/front-end/Resource.js:
  22368. (WebInspector.Resource.Type.toString):
  22369. * inspector/front-end/ResourcesPanel.js:
  22370. (WebInspector.ResourceRevisionTreeElement):
  22371. * inspector/front-end/utilities.js:
  22372. ():
  22373. 2011-01-12 Yury Semikhatsky <yurys@chromium.org>
  22374. Unreviewed. Fix WML compilation on Mac.
  22375. * wml/WMLInputElement.cpp:
  22376. (WebCore::WMLInputElement::setValue):
  22377. (WebCore::WMLInputElement::setValueForUser):
  22378. (WebCore::WMLInputElement::initialize):
  22379. (WebCore::WMLInputElement::validateInputMask):
  22380. * wml/WMLSelectElement.cpp:
  22381. (WebCore::WMLSelectElement::listBoxSelectItem):
  22382. 2011-01-12 Justin Schuh <jschuh@chromium.org>
  22383. Unreviewed build fix for debug strict compiles.
  22384. Use fprintf for debug statements instead of fwrite, which caused compile failures
  22385. in debug strict mode because of failure to check the fwrite return value.
  22386. No behavior changed.
  22387. * rendering/CounterNode.cpp:
  22388. (WebCore::showTreeAndMark):
  22389. 2010-12-29 Yury Semikhatsky <yurys@chromium.org>
  22390. Reviewed by Pavel Feldman.
  22391. inspector/timeline-network-resource.html fails when run twice
  22392. https://bugs.webkit.org/show_bug.cgi?id=37394
  22393. Send didReceiveResponse notification to the timeline agent from ResourceLoadNotifier
  22394. instead of ResourceLoader::didReceiveResponse to cover the cases when resources
  22395. are loaded from memory cache.
  22396. Network notifications are now sent to InspectorInstrumentation which dispatches
  22397. them to interested agents and InspectorController.
  22398. * inspector/Inspector.idl:
  22399. * inspector/InspectorApplicationCacheAgent.cpp:
  22400. (WebCore::InspectorApplicationCacheAgent::didReceiveManifestResponse):
  22401. * inspector/InspectorController.cpp:
  22402. (WebCore::InspectorController::InspectorController):
  22403. (WebCore::InspectorController::didCommitLoad):
  22404. (WebCore::InspectorController::willSendRequest):
  22405. (WebCore::InspectorController::didReceiveResponse):
  22406. (WebCore::InspectorController::didFailLoading):
  22407. (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
  22408. * inspector/InspectorController.h:
  22409. * inspector/InspectorInstrumentation.cpp:
  22410. (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
  22411. (WebCore::InspectorInstrumentation::willSendRequestImpl):
  22412. (WebCore::InspectorInstrumentation::markResourceAsCachedImpl):
  22413. (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
  22414. (WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl):
  22415. (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
  22416. (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
  22417. (WebCore::InspectorInstrumentation::didFailLoadingImpl):
  22418. (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
  22419. (WebCore::InspectorInstrumentation::scriptImportedImpl):
  22420. (WebCore::InspectorInstrumentation::retrieveResourceAgent):
  22421. * inspector/InspectorInstrumentation.h:
  22422. (WebCore::InspectorInstrumentation::identifierForInitialRequest):
  22423. (WebCore::InspectorInstrumentation::willSendRequest):
  22424. (WebCore::InspectorInstrumentation::markResourceAsCached):
  22425. (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
  22426. (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
  22427. (WebCore::InspectorInstrumentation::didReceiveContentLength):
  22428. (WebCore::InspectorInstrumentation::didFinishLoading):
  22429. (WebCore::InspectorInstrumentation::didFailLoading):
  22430. (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequest):
  22431. (WebCore::InspectorInstrumentation::scriptImported):
  22432. * inspector/InspectorResourceAgent.cpp:
  22433. (WebCore::InspectorResourceAgent::identifierForInitialRequest):
  22434. * inspector/InspectorResourceAgent.h:
  22435. * inspector/InspectorTimelineAgent.cpp:
  22436. (WebCore::InspectorTimelineAgent::willSendResourceRequest):
  22437. * inspector/InspectorTimelineAgent.h:
  22438. * inspector/TimelineRecordFactory.cpp:
  22439. (WebCore::TimelineRecordFactory::createResourceSendRequestData):
  22440. * inspector/TimelineRecordFactory.h:
  22441. * inspector/front-end/NetworkManager.js:
  22442. (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
  22443. * inspector/front-end/TimelinePanel.js:
  22444. (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
  22445. * loader/FrameLoader.cpp:
  22446. (WebCore::FrameLoader::loadedResourceFromMemoryCache):
  22447. * loader/ResourceLoadNotifier.cpp:
  22448. (WebCore::ResourceLoadNotifier::didReceiveResponse):
  22449. (WebCore::ResourceLoadNotifier::didFailToLoad):
  22450. (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
  22451. (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
  22452. (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
  22453. (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
  22454. (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
  22455. (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
  22456. * loader/ResourceLoader.cpp:
  22457. (WebCore::ResourceLoader::didReceiveResponse):
  22458. * loader/appcache/ApplicationCacheGroup.cpp:
  22459. (WebCore::ApplicationCacheGroup::createResourceHandle):
  22460. (WebCore::ApplicationCacheGroup::didReceiveResponse):
  22461. (WebCore::ApplicationCacheGroup::didReceiveData):
  22462. (WebCore::ApplicationCacheGroup::didFinishLoading):
  22463. (WebCore::ApplicationCacheGroup::didFail):
  22464. * loader/appcache/ApplicationCacheGroup.h:
  22465. * workers/DefaultSharedWorkerRepository.cpp:
  22466. (WebCore::SharedWorkerScriptLoader::notifyFinished):
  22467. * workers/Worker.cpp:
  22468. (WebCore::Worker::notifyFinished):
  22469. * workers/WorkerContext.cpp:
  22470. (WebCore::WorkerContext::importScripts):
  22471. * xml/XMLHttpRequest.cpp:
  22472. (WebCore::XMLHttpRequest::didFinishLoading):
  22473. 2011-01-12 Pavel Podivilov <podivilov@chromium.org>
  22474. Reviewed by Pavel Feldman.
  22475. Web Inspector: do not replace all tabs with spaces when editing script source
  22476. https://bugs.webkit.org/show_bug.cgi?id=52291
  22477. * inspector/front-end/SourceFrame.js:
  22478. (WebInspector.SourceFrame.prototype.setContent):
  22479. (WebInspector.SourceFrame.prototype._editLine):
  22480. 2011-01-11 Jeremy Orlow <jorlow@chromium.org>
  22481. Reviewed by Nate Chapin.
  22482. Enforce READ_ONLY transactions in IndexedDB
  22483. https://bugs.webkit.org/show_bug.cgi?id=52229
  22484. Add READ_ONLY_ERR and return it whenever delete or put
  22485. are called. Note that IDBCursor's delete and update
  22486. are simply aliases for delete/put, which is why no
  22487. extra code is required to handle those cases.
  22488. Test: storage/indexeddb/transaction-read-only.html
  22489. * dom/ExceptionCode.cpp:
  22490. * storage/IDBCursorBackendImpl.cpp:
  22491. (WebCore::IDBCursorBackendImpl::deleteFunction):
  22492. * storage/IDBDatabase.idl:
  22493. * storage/IDBDatabaseException.h:
  22494. * storage/IDBDatabaseException.idl:
  22495. * storage/IDBObjectStoreBackendImpl.cpp:
  22496. (WebCore::IDBObjectStoreBackendImpl::put):
  22497. (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
  22498. (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
  22499. 2011-01-11 Philippe Normand <pnormand@igalia.com>
  22500. Reviewed by Eric Seidel.
  22501. [GTK] minimal build breaks in RenderThemeGtk3
  22502. https://bugs.webkit.org/show_bug.cgi?id=52202
  22503. * platform/gtk/RenderThemeGtk3.cpp: Added VIDEO guards around
  22504. initMediaColors().
  22505. 2011-01-11 Philippe Normand <pnormand@igalia.com>
  22506. Reviewed by Eric Carlson.
  22507. [GStreamer] PlatformVideoWindowMac implementation
  22508. https://bugs.webkit.org/show_bug.cgi?id=50770
  22509. This new implementation will be used on Mac OS to display the
  22510. fullscreen video window with the GStreamer-based media player.
  22511. * platform/graphics/gstreamer/GStreamerGWorld.cpp:
  22512. (WebCore::gstGWorldSyncMessageCallback):
  22513. * platform/graphics/gstreamer/PlatformVideoWindow.h:
  22514. (WebCore::PlatformVideoWindow::window):
  22515. * platform/graphics/gstreamer/PlatformVideoWindowMac.mm:
  22516. (PlatformVideoWindow::PlatformVideoWindow):
  22517. (PlatformVideoWindow::~PlatformVideoWindow):
  22518. (PlatformVideoWindow::prepareForOverlay):
  22519. 2011-01-11 Simon Fraser <simon.fraser@apple.com>
  22520. Reviewed by Dan Bernstein.
  22521. Webkit crashes when a gradient is applied using the first-line pseudo element
  22522. https://bugs.webkit.org/show_bug.cgi?id=52225
  22523. When a pseudostyle references images, we fail to register/unregister
  22524. the relevant RenderObjects as clients of the image in the style.
  22525. For gradients, this caused a crash.
  22526. This patch fixes the crash by returning a null gradient image in this
  22527. situation.
  22528. Test: fast/gradients/gradient-on-pseudoelement-crash.html
  22529. * css/CSSGradientValue.cpp:
  22530. (WebCore::CSSGradientValue::image):
  22531. 2011-01-11 Andy Estes <aestes@apple.com>
  22532. Reviewed by Darin Adler.
  22533. REGRESSION (r71562): servePendingRequests() no longer called when
  22534. resources are done loading.
  22535. https://bugs.webkit.org/show_bug.cgi?id=52264
  22536. <rdar://problem/8767429>
  22537. In r71562, servePendingRequests() is no longer called in Loader's
  22538. didFinishLoading(), didFail() and didReceiveResponse() methods. Since
  22539. r71562 was intended only as a refactoring, these calls should be
  22540. restored. At least one WebKit-based Mac OS X application relies on this
  22541. for correct behavior.
  22542. * loader/cache/CachedResourceLoader.cpp:
  22543. (WebCore::CachedResourceLoader::loadDone): Call
  22544. resourceLoadScheduler()->servePendingRequests().
  22545. 2011-01-11 Patrick Gansterer <paroga@webkit.org>
  22546. Reviewed by Eric Seidel.
  22547. Add Document::setContent()
  22548. https://bugs.webkit.org/show_bug.cgi?id=52085
  22549. Add a method to Document to set the whole content at once.
  22550. This removes the hack of the insert method in the xml parser
  22551. and is a predecessor to feed the xml parser with raw data.
  22552. * dom/Document.cpp:
  22553. (WebCore::Document::setContent):
  22554. * dom/Document.h:
  22555. * dom/XMLDocumentParser.cpp:
  22556. (WebCore::XMLDocumentParser::insert): Added ASSERT_NOT_REACHED().
  22557. * loader/cache/CachedFont.cpp:
  22558. (WebCore::CachedFont::ensureSVGFontData): Use setContent.
  22559. * xml/DOMParser.cpp:
  22560. (WebCore::DOMParser::parseFromString): Ditto.
  22561. * xml/XMLHttpRequest.cpp:
  22562. (WebCore::XMLHttpRequest::responseXML): Ditto.
  22563. * xml/XSLTProcessor.cpp:
  22564. (WebCore::XSLTProcessor::createDocumentFromSource): Ditto.
  22565. 2011-01-11 Brent Fulgham <bfulgham@webkit.org>
  22566. Unreviewed build fix.
  22567. * platform/graphics/cairo/PathCairo.cpp:
  22568. (WebCore::Path::addArc): Switch to MathExtra's piFloat define,
  22569. rather than M_PI which is not always available.
  22570. 2011-01-11 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
  22571. Reviewed by Adam Barth.
  22572. Use plug-in DB for extensions to MIME type convertion
  22573. Plugins extension to MIME type conversion was not used in the
  22574. frameLoader. This was causing some fallback to be use which as the side
  22575. effect of loosing all the <OBJECT> parameters or <EMBED> attributes.
  22576. This patch ensure that we try to convert the extension to MIME type
  22577. using the plugin database beofre using this fallback.
  22578. Attribute lost with Flash plugin without mime type set
  22579. https://bugs.webkit.org/show_bug.cgi?id=50657
  22580. Test: plugins/no-mime-with-valid-extension.html
  22581. * loader/FrameLoader.cpp:
  22582. (WebCore::FrameLoader::defaultObjectContentType): Use PluginDatabase for MIME
  22583. 2011-01-11 James Simonsen <simonjam@chromium.org>
  22584. Reviewed by Eric Seidel.
  22585. [Web Timing] Rename sslHandshakeStart to secureConnectionStart
  22586. https://bugs.webkit.org/show_bug.cgi?id=52239
  22587. * page/PerformanceTiming.cpp:
  22588. (WebCore::PerformanceTiming::secureConnectionStart):
  22589. * page/PerformanceTiming.h:
  22590. * page/PerformanceTiming.idl:
  22591. 2011-01-11 Adam Barth <abarth@webkit.org>
  22592. Reviewed by Eric Seidel.
  22593. Introduce the notion of a "display-isolated" URL scheme for use by
  22594. Chrome-internal URLs
  22595. https://bugs.webkit.org/show_bug.cgi?id=50182
  22596. This patch actually makes the display-isolated schemes display
  22597. isolated. The behavior should be the same as the previous iteration of
  22598. this patch, but re-organized a bit because reading the access white
  22599. list is expensive.
  22600. * page/SecurityOrigin.cpp:
  22601. (WebCore::SecurityOrigin::isAccessToURLWhiteListed):
  22602. (WebCore::SecurityOrigin::canDisplay):
  22603. * page/SecurityOrigin.h:
  22604. * platform/SchemeRegistry.cpp:
  22605. * platform/SchemeRegistry.h:
  22606. 2011-01-11 Mihai Parparita <mihaip@chromium.org>
  22607. Reviewed by Darin Fisher.
  22608. Scroll event should be fired asynchronously
  22609. https://bugs.webkit.org/show_bug.cgi?id=45631
  22610. Tests: fast/events/fire-scroll-event.html
  22611. fast/events/fire-scroll-event-element.html
  22612. fast/events/scroll-event-phase.html
  22613. Makes scroll events fire asynchronously to be in compliance with the
  22614. CSSOM View Module and consistent with Gecko, Opera and (to some degree)
  22615. IE.
  22616. Implemented via the EventQueue class added by r74062 (EventQueue now
  22617. has a convenience enqueueScrollEvent method).
  22618. * dom/EventQueue.cpp:
  22619. (WebCore::EventQueue::enqueueScrollEvent):
  22620. (WebCore::EventQueue::pendingEventTimerFired):
  22621. * dom/EventQueue.h:
  22622. * page/EventHandler.cpp:
  22623. (WebCore::EventHandler::sendScrollEvent):
  22624. * rendering/RenderLayer.cpp:
  22625. (WebCore::RenderLayer::scrollToOffset):
  22626. * rendering/RenderListBox.cpp:
  22627. (WebCore::RenderListBox::valueChanged):
  22628. 2011-01-11 Patrick Gansterer <paroga@webkit.org>
  22629. Unreviewed WinCE build fix for r75523.
  22630. * platform/wince/DragDataWinCE.cpp: Added missing include.
  22631. 2011-01-11 Abhishek Arya <inferno@chromium.org>
  22632. Reviewed by Dimitri Glazkov.
  22633. RefPtr the FrameView to prevent scrollbar from getting deleted inside
  22634. its scroll event.
  22635. https://bugs.webkit.org/show_bug.cgi?id=52238
  22636. Test: scrollbars/scrollable-iframe-remove-crash.html
  22637. * page/DOMWindow.cpp:
  22638. (WebCore::DOMWindow::scrollTo):
  22639. 2011-01-08 Dimitri Glazkov <dglazkov@chromium.org>
  22640. Reviewed by David Hyatt.
  22641. Make pseudo-style resolution less hard-coded when used to select a shadow node
  22642. https://bugs.webkit.org/show_bug.cgi?id=46595
  22643. Essentially implements the plumbing for the XBL2 pseudo attribute:
  22644. http://dev.w3.org/2006/xbl2/#the-pseudo-attribute
  22645. Test: fast/css/unknown-pseudo-element-matching.html
  22646. * css/CSSGrammar.y: Changed to handle specifier_list structure with the
  22647. CSSParser::updateSpecifierWithElementName helper, added logic to
  22648. keep unknown pseudo-element selectors at the top of the selector chain,
  22649. so that we can easily check for them and grab them, and also because
  22650. they would either not match anything or act as a descendant selector
  22651. (descendant into a shadow DOM subtree that is), not a specifier.
  22652. * css/CSSParser.cpp:
  22653. (WebCore::CSSParser::updateSpecifiersWithElementName): Generalized/combined
  22654. the logic adding element name to selectors and added the special case
  22655. to handle unknown pseudo-element selectors.
  22656. * css/CSSParser.h: Added def.
  22657. * css/CSSSelector.cpp:
  22658. (WebCore::CSSSelector::pseudoId): Removed any mention of PseudoSliderThumb/SLIDER_THUMB.
  22659. (WebCore::nameToPseudoTypeMap): Ditto.
  22660. (WebCore::CSSSelector::extractPseudoType): Ditto.
  22661. * css/CSSSelector.h: Added a new ShadowDescendant relation type,
  22662. removed PseudoSliderThumb def.
  22663. (WebCore::CSSSelector::isUnknownPseudoElement): Added a helper method.
  22664. * css/CSSSelectorList.cpp:
  22665. (WebCore::SelectorHasUnknownPseudoElementFunctor::operator()): Added a functor
  22666. to check for an unknown pseudo-element in the list.
  22667. (WebCore::CSSSelectorList::hasUnknownPseudoElements): Added.
  22668. * css/CSSSelectorList.h: Added a def.
  22669. * css/CSSStyleSelector.cpp:
  22670. (WebCore::CSSRuleSet::getPseudoRules): Added accessor to pseudo-element hash.
  22671. (WebCore::CSSStyleSelector::matchRules): Added matching pseudo elements.
  22672. (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): Added handling
  22673. of ShadowDescendant relation.
  22674. (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Enabled handling
  22675. of unknown pseudo-element selectors.
  22676. (WebCore::CSSRuleSet::addRule): Added populating unknown pseudo-element hash.
  22677. * css/html.css:
  22678. (input[type="range"]::-webkit-slider-thumb): Added previously-hard-coded
  22679. display:block.
  22680. * dom/Element.h:
  22681. (WebCore::Element::shadowPseudoId): Added new virtual method to allow
  22682. elements to provide the value of pseudo-element selector they would match.
  22683. * dom/Node.cpp:
  22684. (WebCore::Node::querySelector): Added checking for unknown pseudo-element selectors,
  22685. so that we can throw a SYNTAX_ERR if found.
  22686. (WebCore::Node::querySelectorAll): Ditto.
  22687. * html/shadow/SliderThumbElement.h:
  22688. (WebCore::SliderThumbElement::shadowPseudoId): Added to return "-webkit-slider-thumb";
  22689. * rendering/RenderSlider.cpp:
  22690. (WebCore::RenderSlider::createThumbStyle): Changed to use the new styleForElement logic.
  22691. * rendering/style/RenderStyleConstants.h: Removed SLIDER_THUMB.
  22692. 2011-01-11 Dean Jackson <dino@apple.com>
  22693. Reviewed by Simon Fraser.
  22694. https://bugs.webkit.org/show_bug.cgi?id=52233
  22695. WebKitCSSMatrix constructor should accept 'none'
  22696. as a valid string parameter.
  22697. * css/WebKitCSSMatrix.cpp:
  22698. (WebCore::WebKitCSSMatrix::setMatrixValue):
  22699. 2011-01-11 James Robinson <jamesr@chromium.org>
  22700. Reviewed by Dimitri Glazkov.
  22701. Set all RenderBlocks as replaced when an inline display type is specified
  22702. https://bugs.webkit.org/show_bug.cgi?id=50858
  22703. When a RenderBlock is created for an element with a specified display:inline style,
  22704. it should always be treated as inline-block. This situations often comes up for form
  22705. controls. Previously, RenderBlock::styleWillChange set the replaced flag for display
  22706. values of inline-block, inline-table, and inline-table and a number of subclasses of
  22707. RenderBlock set the replaced flag in styleDidChange for a display:inline. However
  22708. sometimes new subclasses would miss this step leading to bugs (such as with RenderDetails).
  22709. This patch sets the replaced flag for all inline display types in RenderBlock::styleWillChange.
  22710. Code cleanup only, no change in behavior so no new tests.
  22711. * rendering/RenderBlock.cpp:
  22712. (WebCore::RenderBlock::styleWillChange):
  22713. * rendering/RenderButton.cpp:
  22714. (WebCore::RenderButton::styleDidChange):
  22715. * rendering/RenderFieldset.cpp:
  22716. * rendering/RenderFieldset.h:
  22717. * rendering/RenderFileUploadControl.cpp:
  22718. (WebCore::RenderFileUploadControl::styleDidChange):
  22719. * rendering/RenderListBox.cpp:
  22720. * rendering/RenderListBox.h:
  22721. * rendering/RenderMenuList.cpp:
  22722. (WebCore::RenderMenuList::styleDidChange):
  22723. * rendering/RenderSlider.cpp:
  22724. (WebCore::RenderSlider::styleDidChange):
  22725. * rendering/RenderTextControl.cpp:
  22726. (WebCore::RenderTextControl::styleDidChange):
  22727. 2011-01-11 Dimitri Glazkov <dglazkov@chromium.org>
  22728. Reviewed by Eric Seidel.
  22729. REGRESSION(r71934) Can't type in search edit field on skin-one.com
  22730. https://bugs.webkit.org/show_bug.cgi?id=52195
  22731. Restored the original behavior, where the selectstart event is not
  22732. dispatched when selection changes inside of the shadow DOM.
  22733. * dom/Node.cpp:
  22734. (WebCore::determineDispatchBehavior): Moved EventDispatchBehavior-determining
  22735. logic into a helper function, also added a check to keep selectstart
  22736. events inside of the shadow DOM.
  22737. (WebCore::Node::dispatchGenericEvent): Changed to use the helper function.
  22738. 2011-01-11 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
  22739. Reviewed by Eric Seidel.
  22740. [Qt] Provide plugin coordinates to windowless plugins on Symbian.
  22741. https://bugs.webkit.org/show_bug.cgi?id=52213
  22742. * plugins/symbian/PluginViewSymbian.cpp:
  22743. (WebCore::PluginView::setNPWindowIfNeeded):
  22744. 2011-01-10 Zhenyao Mo <zmo@google.com>
  22745. Reviewed by Kenneth Russell.
  22746. Need to consider UNPACK_ALIGNMENT in GraphicsContext3D::texImage2DResourceSafe
  22747. https://bugs.webkit.org/show_bug.cgi?id=52068
  22748. * html/canvas/WebGLRenderingContext.cpp:
  22749. (WebCore::WebGLRenderingContext::copyTexImage2D): Use computeImageSizeInBytes.
  22750. (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
  22751. (WebCore::WebGLRenderingContext::readPixels): Ditto, and fix a bug on generating the wrong error.
  22752. (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
  22753. (WebCore::WebGLRenderingContext::validateTexFuncData): Use computeImageSizeInBytes.
  22754. * platform/graphics/GraphicsContext3D.cpp:
  22755. (WebCore::GraphicsContext3D::texImage2DResourceSafe): Add a new parameter alignment.
  22756. (WebCore::GraphicsContext3D::computeFormatAndTypeParameters): Add more supported format/type.
  22757. (WebCore::GraphicsContext3D::computeImageSizeInBytes): Added.
  22758. * platform/graphics/GraphicsContext3D.h:
  22759. 2011-01-10 Enrica Casucci <enrica@apple.com>
  22760. Reviewed by Alexey Proskuryakov.
  22761. Paste and drag and drop use different code paths to interact with the pasteboard.
  22762. https://bugs.webkit.org/show_bug.cgi?id=52093
  22763. The change consists in a refactoring of the code to have only one class that
  22764. deals with the pasteboard on Mac.
  22765. No new tests. A test is already available for this
  22766. (editing/pasteboard/drag-image-to-contenteditable-in-iframe.html) but had incorrect results.
  22767. * WebCore.exp.in:
  22768. * loader/EmptyClients.h: Added two Mac only methods to call into WebKit to use functionality
  22769. that is in NSURLExtras.
  22770. (WebCore::EmptyEditorClient::canonicalizeURL):
  22771. (WebCore::EmptyEditorClient::canonicalizeURLString):
  22772. * page/DragController.cpp:
  22773. The following methods have been changed to pass a pointer to the Frame object
  22774. to the DragData class.
  22775. (WebCore::documentFragmentFromDragData):
  22776. (WebCore::DragController::performDrag):
  22777. (WebCore::DragController::dispatchTextInputEventFor):
  22778. (WebCore::DragController::concludeEditDrag):
  22779. * page/EditorClient.h: Added two Mac only methods to call into WebKit to use functionality
  22780. that is in NSURLExtras.
  22781. The following files have been modified to pass the Frame object to the DragData method calls.
  22782. * page/chromium/DragControllerChromium.cpp:
  22783. (WebCore::DragController::dragOperation):
  22784. * page/gtk/DragControllerGtk.cpp:
  22785. (WebCore::DragController::dragOperation):
  22786. * page/mac/DragControllerMac.mm:
  22787. (WebCore::DragController::dragOperation):
  22788. * page/qt/DragControllerQt.cpp:
  22789. (WebCore::DragController::dragOperation):
  22790. * page/win/DragControllerWin.cpp:
  22791. (WebCore::DragController::dragOperation):
  22792. * platform/DragData.h: Removed Mac specific constructor and reference to PasteboardHelper class.
  22793. * platform/Pasteboard.h: Added public constructor to create a Pasteboard object from an NSPasteboard.
  22794. The following files were all modified to match the new parameters of the methods listed.
  22795. * platform/android/DragDataAndroid.cpp:
  22796. (WebCore::DragData::asPlainText):
  22797. (WebCore::DragData::containsURL):
  22798. (WebCore::DragData::asURL):
  22799. (WebCore::DragData::asFragment):
  22800. * platform/chromium/DragDataChromium.cpp:
  22801. (WebCore::DragData::containsURL):
  22802. (WebCore::DragData::asURL):
  22803. (WebCore::DragData::asPlainText):
  22804. (WebCore::DragData::containsCompatibleContent):
  22805. (WebCore::DragData::asFragment):
  22806. * platform/gtk/DragDataGtk.cpp:
  22807. (WebCore::DragData::asPlainText):
  22808. (WebCore::DragData::containsCompatibleContent):
  22809. (WebCore::DragData::containsURL):
  22810. (WebCore::DragData::asURL):
  22811. (WebCore::DragData::asFragment):
  22812. * platform/haiku/DragDataHaiku.cpp:
  22813. (WebCore::DragData::asPlainText):
  22814. (WebCore::DragData::containsURL):
  22815. (WebCore::DragData::asURL):
  22816. (WebCore::DragData::asFragment):
  22817. * platform/mac/DragDataMac.mm:
  22818. (WebCore::DragData::DragData):
  22819. (WebCore::DragData::asPlainText):
  22820. (WebCore::insertablePasteboardTypes):
  22821. (WebCore::DragData::containsCompatibleContent):
  22822. (WebCore::DragData::containsURL):
  22823. (WebCore::DragData::asURL):
  22824. (WebCore::DragData::asFragment):
  22825. * platform/mac/PasteboardMac.mm:
  22826. (WebCore::Pasteboard::getBestURL):
  22827. (WebCore::Pasteboard::asURL):
  22828. * platform/qt/DragDataQt.cpp:
  22829. (WebCore::DragData::asPlainText):
  22830. (WebCore::DragData::containsCompatibleContent):
  22831. (WebCore::DragData::containsURL):
  22832. (WebCore::DragData::asURL):
  22833. (WebCore::DragData::asFragment):
  22834. * platform/win/DragDataWin.cpp:
  22835. (WebCore::DragData::containsURL):
  22836. (WebCore::DragData::asURL):
  22837. (WebCore::DragData::asPlainText):
  22838. (WebCore::DragData::containsCompatibleContent):
  22839. (WebCore::DragData::asFragment):
  22840. * platform/wince/DragDataWinCE.cpp:
  22841. (WebCore::DragData::containsURL):
  22842. (WebCore::DragData::asURL):
  22843. (WebCore::DragData::asPlainText):
  22844. (WebCore::DragData::asFragment):
  22845. * platform/wx/DragDataWx.cpp:
  22846. (WebCore::DragData::asPlainText):
  22847. (WebCore::DragData::containsURL):
  22848. (WebCore::DragData::asURL):
  22849. (WebCore::DragData::asFragment):
  22850. 2011-01-11 Abhishek Arya <inferno@chromium.org>
  22851. Reviewed by Dimitri Glazkov.
  22852. RefPtr text node in setOuterText since calling appendData
  22853. on a text node can fire away dom event listener which might
  22854. remove the text node from underneath.
  22855. https://bugs.webkit.org/show_bug.cgi?id=52163
  22856. Test: fast/dom/text-node-append-data-remove-crash.html
  22857. * html/HTMLElement.cpp:
  22858. (WebCore::HTMLElement::setOuterText):
  22859. 2011-01-11 Carlos Garcia Campos <cgarcia@igalia.com>
  22860. Reviewed by Martin Robinson.
  22861. [GTK] Add support for <meter> element
  22862. https://bugs.webkit.org/show_bug.cgi?id=48713
  22863. * GNUmakefile.am: Enable meter element.
  22864. 2011-01-11 Csaba Osztrogonác <ossy@webkit.org>
  22865. Unreviewed buildfix.
  22866. [Qt][V8] Add missing include for debug build.
  22867. * loader/cache/CachedResourceLoader.cpp:
  22868. 2011-01-11 Pavel Feldman <pfeldman@chromium.org>
  22869. Reviewed by Yury Semikhatsky.
  22870. Web Inspector: redirects are lost from the network panel upon navigation.
  22871. https://bugs.webkit.org/show_bug.cgi?id=52210
  22872. * inspector/front-end/NetworkManager.js:
  22873. (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
  22874. 2011-01-11 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
  22875. Reviewed by Kenneth Rohde Christiansen.
  22876. [Qt] Remove uses of QFuture since it isn't supported on all platforms.
  22877. https://bugs.webkit.org/show_bug.cgi?id=51204
  22878. * platform/network/qt/QtNAMThreadSafeProxy.cpp:
  22879. (WebCore::QtNAMThreadSafeProxy::QtNAMThreadSafeProxy):
  22880. (WebCore::QtNAMThreadSafeProxy::localCookiesForUrl):
  22881. (WebCore::QtNAMThreadSafeProxy::localWillLoadFromCache):
  22882. * platform/network/qt/QtNAMThreadSafeProxy.h:
  22883. (WebCore::QtNAMThreadSafeProxy::cookiesForUrl):
  22884. (WebCore::QtNAMThreadSafeProxy::willLoadFromCache):
  22885. 2011-01-11 Pavel Podivilov <podivilov@chromium.org>
  22886. Reviewed by Pavel Feldman.
  22887. Web Inspector: recreate script view after live edit.
  22888. https://bugs.webkit.org/show_bug.cgi?id=51751
  22889. * inspector/front-end/Script.js:
  22890. (WebInspector.Script.prototype.set source):
  22891. * inspector/front-end/ScriptView.js:
  22892. (WebInspector.ScriptView):
  22893. * inspector/front-end/ScriptsPanel.js:
  22894. (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
  22895. (WebInspector.ScriptsPanel.prototype.editScriptSource):
  22896. (WebInspector.ScriptsPanel.prototype.viewRecreated):
  22897. * inspector/front-end/SourceFrame.js:
  22898. (WebInspector.SourceFrame.prototype._doEditLine):
  22899. 2011-01-11 Pavel Podivilov <podivilov@chromium.org>
  22900. Reviewed by Pavel Feldman.
  22901. Web Inspector: frameDetachedFromParent notification handler is missing in NetworkManager.
  22902. https://bugs.webkit.org/show_bug.cgi?id=52205
  22903. * inspector/front-end/NetworkManager.js:
  22904. (WebInspector.NetworkManager.prototype.frameDetachedFromParent):
  22905. 2011-01-11 Alexander Pavlov <apavlov@chromium.org>
  22906. Reviewed by Pavel Feldman.
  22907. Web Inspector: "Audit present state" always disabled
  22908. https://bugs.webkit.org/show_bug.cgi?id=52199
  22909. Removed all traces of resource tracking checks, as we have it no more.
  22910. * English.lproj/localizedStrings.js:
  22911. * inspector/front-end/AuditLauncherView.js:
  22912. (WebInspector.AuditLauncherView.prototype._createLauncherUI):
  22913. * inspector/front-end/AuditsPanel.js:
  22914. 2011-01-11 Pavel Podivilov <podivilov@chromium.org>
  22915. Reviewed by Pavel Feldman.
  22916. Web Inspector: move delayed search implementation to SourceFrame.
  22917. https://bugs.webkit.org/show_bug.cgi?id=51753
  22918. * inspector/front-end/SourceFrame.js:
  22919. (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
  22920. (WebInspector.SourceFrame.prototype.findSearchMatches):
  22921. (WebInspector.SourceFrame.prototype.cancelFindSearchMatches):
  22922. * inspector/front-end/SourceView.js:
  22923. (WebInspector.SourceView.prototype.hide):
  22924. (WebInspector.SourceView.prototype.searchCanceled):
  22925. (WebInspector.SourceView.prototype.performSearch.didFindSearchMatches):
  22926. (WebInspector.SourceView.prototype.performSearch):
  22927. 2011-01-11 Ilya Tikhonovsky <loislo@chromium.org>
  22928. Reviewed by Pavel Feldman.
  22929. Web Inspector: innerFirstChild has a side effect which should be called explicitly.
  22930. If a node is a frame's owner then innerFirstChild method
  22931. subscribes DOMAgent instance to the frame's doc's events.
  22932. I think this should be done explicitly when we meet with
  22933. the node for the first time. As I understand it happens
  22934. in buildArrayForContainerChildren method.
  22935. https://bugs.webkit.org/show_bug.cgi?id=52204
  22936. * inspector/InspectorDOMAgent.cpp:
  22937. (WebCore::InspectorDOMAgent::startListeningFrameDoc):
  22938. (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
  22939. (WebCore::InspectorDOMAgent::innerFirstChild):
  22940. * inspector/InspectorDOMAgent.h:
  22941. 2011-01-11 Adam Roben <aroben@apple.com>
  22942. Delete WKCACFLayer.{cpp,h}
  22943. These have been unused since r75262
  22944. * platform/graphics/win/WKCACFLayer.cpp: Removed.
  22945. * platform/graphics/win/WKCACFLayer.h: Removed.
  22946. 2011-01-11 Pavel Feldman <pfeldman@chromium.org>
  22947. Reviewed by Yury Semikhatsky.
  22948. Web Inspector: [regression] Cookies view does not allow columns resize.
  22949. https://bugs.webkit.org/show_bug.cgi?id=51877
  22950. * inspector/front-end/CookieItemsView.js:
  22951. (WebInspector.CookieItemsView.prototype._updateWithCookies):
  22952. 2011-01-11 Noel Gordon <noel.gordon@gmail.com>
  22953. Reviewed by James Robinson.
  22954. [chromium] canvas.toDataURL("image/jpeg") should composite onto black.
  22955. https://bugs.webkit.org/show_bug.cgi?id=51237
  22956. The Canvas specification requires that the canvas image is composited using
  22957. the Porter-Duff operator source-over onto a black background; the resultant
  22958. image should be JPEG encoded and returned as a dataURL. To composite image
  22959. A and background B, for any Porter-Duff operator, produce pixels I with
  22960. I = c(A)F(A) + c(B)F(B)
  22961. where, F(X) is the fraction [0.0-1.0] contributed to the composite by image
  22962. X, and c(X) are the premultiplied RGB color components of image X. Note by
  22963. definition, c(B) = 0 since the background is black, so I = c(A)F(A). Since
  22964. F(A) = 1 in Porter-Duff operator source-over, the composited pixels satisfy
  22965. I = c(A). Hence, to conform to the Canvas spec, pass the premultiplied RGB
  22966. color components of the canvas image to the JPEG encoder.
  22967. Covered by canvas/philip/tests/toDataURL.jpeg.alpha.html
  22968. * platform/image-encoders/skia/JPEGImageEncoder.cpp:
  22969. (WebCore::preMultipliedBGRAtoRGB): Use Porter-Duff source-over black.
  22970. 2011-01-11 Pavel Feldman <pfeldman@chromium.org>
  22971. Reviewed by Yury Semikhatsky.
  22972. Chromium DevTools: get rid of APU-related code in WebKit/chromium.
  22973. https://bugs.webkit.org/show_bug.cgi?id=52152
  22974. * inspector/InspectorController.cpp:
  22975. (WebCore::InspectorController::restoreInspectorStateFromCookie):
  22976. (WebCore::InspectorController::setInjectedScriptSource):
  22977. * inspector/InspectorState.cpp:
  22978. (WebCore::InspectorState::InspectorState):
  22979. * inspector/InspectorState.h:
  22980. * inspector/front-end/inspector.js:
  22981. 2011-01-11 Pavel Feldman <pfeldman@chromium.org>
  22982. Reviewed by Yury Semikhatsky.
  22983. Web Inspector: [REGRESSION] Load timing is requested
  22984. for all resources (not only for the main one).
  22985. https://bugs.webkit.org/show_bug.cgi?id=51749
  22986. * inspector/InspectorController.cpp:
  22987. (WebCore::InspectorController::willSendRequest):
  22988. * loader/ResourceLoadNotifier.cpp:
  22989. (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
  22990. 2011-01-11 Carlos Garcia Campos <cgarcia@igalia.com>
  22991. Reviewed by Martin Robinson.
  22992. [GTK] GRefPtr should not be used with Gtk widgets
  22993. https://bugs.webkit.org/show_bug.cgi?id=51241
  22994. GRefPtr breaks the widget life-cycle, the main problem is
  22995. that GRefPtr calls g_object_unref() when it's destroyed,
  22996. which is undesirable for widgets. In gtk+ widgets are created with
  22997. a floating reference and when added to a container, the container
  22998. takes the ownership of the widget consuming the floating
  22999. reference. So you don't usually need to call g_object_ref/unref on
  23000. widgets (only for some operations like reparent a widget) and
  23001. toplevel widgets are destroyed with gtk_widget_destroy().
  23002. * platform/ContextMenuItem.h:
  23003. * platform/gtk/ContextMenuGtk.cpp:
  23004. (WebCore::ContextMenu::ContextMenu):
  23005. (WebCore::ContextMenu::~ContextMenu):
  23006. (WebCore::ContextMenu::setPlatformDescription):
  23007. * platform/gtk/ContextMenuItemGtk.cpp:
  23008. (WebCore::ContextMenuItem::ContextMenuItem):
  23009. (WebCore::ContextMenuItem::releasePlatformDescription):
  23010. (WebCore::ContextMenuItem::type):
  23011. (WebCore::ContextMenuItem::action):
  23012. (WebCore::ContextMenuItem::setAction):
  23013. (WebCore::ContextMenuItem::title):
  23014. (WebCore::ContextMenuItem::setTitle):
  23015. (WebCore::ContextMenuItem::platformSubMenu):
  23016. (WebCore::ContextMenuItem::setSubMenu):
  23017. (WebCore::ContextMenuItem::setChecked):
  23018. (WebCore::ContextMenuItem::setEnabled):
  23019. 2010-10-10 David Hyatt <hyatt@apple.com>
  23020. Reviewed by Simon Fraser.
  23021. https://bugs.webkit.org/show_bug.cgi?id=51119, transformed
  23022. elements not responding properly to :hover after r73385.
  23023. Just use the entire document area as the hit test area,
  23024. since there appears to be a rounding bug/issues with relying
  23025. on float math when mapping the hit test area into
  23026. transformed coordinates.
  23027. * rendering/RenderLayer.cpp:
  23028. (WebCore::RenderLayer::hitTest):
  23029. 2011-01-10 Stephen White <senorblanco@chromium.org>
  23030. Reviewed by James Robinson.
  23031. Fix canvas->canvas draws on the GPU path.
  23032. https://bugs.webkit.org/show_bug.cgi?id=52141
  23033. Two problems: according to the canvas spec, both source and
  23034. destination rects can have negative width or height, but this shouldn't
  23035. cause the image to be flipped. So we need to normalize the rects (in
  23036. the software path, this is done by BitmapImage*::draw). Secondly, in
  23037. the FBO->FBO path, the image needs to be flipped vertically, since it
  23038. is drawn upside down. We were doing this by flipping the destination
  23039. rect, but this doesn't work if the source rect is not the entire image,
  23040. since we extract the wrong part of the image. Fixed by flipping the
  23041. source rect instead (and flipping it within the image buffer's height,
  23042. not the source rect's height).
  23043. Covered by fast/canvas/drawImage-with-negative-source-destination.html.
  23044. * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
  23045. Put normalizeRect() in global scope.
  23046. * platform/graphics/skia/ImageBufferSkia.cpp:
  23047. (WebCore::ImageBuffer::draw):
  23048. Fix as above: normalize both source and dest rects, and flip the
  23049. source rect instead of the dest rect.
  23050. * platform/graphics/skia/ImageSkia.cpp:
  23051. (WebCore::normalizeRect):
  23052. Put normalizeRect() in global scope.
  23053. 2011-01-10 Laszlo Gombos <laszlo.1.gombos@nokia.com>
  23054. Reviewed by Csaba Osztrogonác.
  23055. [Qt] Baseline qt_minimal configuration
  23056. https://bugs.webkit.org/show_bug.cgi?id=51313
  23057. No new tests as there is no new functionality.
  23058. * platform/graphics/qt/GraphicsLayerQt.cpp: Fix the location of the
  23059. QT_NO_ANIMATION guard.
  23060. * platform/qt/WheelEventQt.cpp:
  23061. (WebCore::PlatformWheelEvent::applyDelta): Fix the location of the
  23062. QT_NO_WHEELEVENT guard.
  23063. 2011-01-10 Joe Mason <jmason@rim.com>
  23064. Reviewed by Alexey Proskuryakov.
  23065. WebSockets: unbounded buffer growth when server sends bad data
  23066. https://bugs.webkit.org/show_bug.cgi?id=51253
  23067. Fail a websocket handshake after 1024 bytes without a newline, or if it
  23068. contains a null byte before the first newline.
  23069. Tests: http/tests/websocket/tests/handshake-fail-by-maxlength.html
  23070. http/tests/websocket/tests/handshake-fail-by-prepended-null.html
  23071. * websockets/WebSocketHandshake.cpp:
  23072. (WebCore::WebSocketHandshake::readStatusLine):
  23073. 2011-01-10 Adam Barth <abarth@webkit.org>
  23074. Reviewed by Darin Adler.
  23075. Introduce the notion of a "display-isolated" URL scheme for use by
  23076. Chrome-internal URLs
  23077. https://bugs.webkit.org/show_bug.cgi?id=50182
  23078. This patch adds the basic plumbing for display-isolated URL schemes.
  23079. Originally, this patch also had the functional change, but I've split
  23080. that off into a separate patch because the original patch caused a
  23081. performance regression.
  23082. * page/SecurityOrigin.cpp:
  23083. (WebCore::SecurityOrigin::canDisplay):
  23084. * platform/SchemeRegistry.cpp:
  23085. (WebCore::displayIsolatedURLSchemes):
  23086. (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
  23087. (WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
  23088. (WebCore::SchemeRegistry::localSchemes):
  23089. (WebCore::SchemeRegistry::deprecatedShouldTreatURLAsLocal):
  23090. (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
  23091. (WebCore::SchemeRegistry::registerURLSchemeAsDisplayIsolated):
  23092. (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
  23093. * platform/SchemeRegistry.h:
  23094. 2011-01-10 Jer Noble <jer.noble@apple.com>
  23095. Reviewed by Simon Fraser.
  23096. https://bugs.webkit.org/show_bug.cgi?id=52095
  23097. REGRESSION (r75277): 2 test cases (<1%) had incorrect layout
  23098. Fixes tests:
  23099. fullscreen/full-screen-remove-ancestor.html
  23100. fullscreen/full-screen-remove.html
  23101. Previously, the above tests were failing because DRT dumped the contents of their
  23102. <script> tags, though all the explicit tests were passing. This was caused by
  23103. the document's render tree being left in an inconsistent state when a full screen
  23104. element's ancestor was removed from the DOM.
  23105. In nodeWillBeRemoved(), match the code in webkitDidExitFullScreen().
  23106. Don't detach the documentElement, but rather simply call recalcStyle(Force).
  23107. * dom/Document.cpp:
  23108. (WebCore::Document::nodeWillBeRemoved):
  23109. * rendering/RenderFullScreen.cpp:
  23110. (RenderFullScreen::setAnimating): #if ENABLED -> # if USE
  23111. * rendering/RenderFullScreen.h:
  23112. (WebCore::RenderFullScreen::RenderFullScreen): RenderFullScreen should be an anonymous renderer.
  23113. 2011-01-10 Martin Robinson <mrobinson@igalia.com>
  23114. Reviewed by Xan Lopez.
  23115. [GTK] Remove use of deprecated GTK+ methods before the 1.3.10 release
  23116. https://bugs.webkit.org/show_bug.cgi?id=52173
  23117. No new tests. This is only a build fix.
  23118. * platform/gtk/GRefPtrGtk.cpp: Guard the GdkCursor specialization against GTK+ 3.x.
  23119. In GTK+ 3.x, GdkCursor is just a GObject.
  23120. * platform/gtk/GRefPtrGtk.h: Ditto.
  23121. 2011-01-10 Geoffrey Garen <ggaren@apple.com>
  23122. Reviewed by Oliver Hunt.
  23123. Moved Collector.* => Heap.*, since the file contains a class named "Heap".
  23124. * ForwardingHeaders/runtime/Collector.h: Removed.
  23125. * ForwardingHeaders/runtime/Heap.h: Copied from WebCore/ForwardingHeaders/runtime/Collector.h.
  23126. * WebCore.vcproj/WebCore.vcproj:
  23127. * bindings/js/GCController.cpp:
  23128. * bindings/js/ScriptGCEvent.cpp:
  23129. 2011-01-10 Leonid Ebril <leonid.ebril@nokia.com>
  23130. Reviewed by Kenneth Rohde Christiansen.
  23131. https://bugs.webkit.org/show_bug.cgi?id=51879
  23132. Set the PluginQuirkDontSetNullWindowHandleOnDestroy for Adobe Lite
  23133. plugin if Flash 10 or newer (for Symbian platform), setting a nulled
  23134. window handler on destroy crashes WebKit.
  23135. * plugins/symbian/PluginPackageSymbian.cpp:
  23136. (WebCore::PluginPackage::fetchInfo):
  23137. (WebCore::PluginPackage::determineQuirks):
  23138. 2011-01-10 Martin Robinson <mrobinson@igalia.com>
  23139. Reviewed by Xan Lopez.
  23140. [GTK] Remove unecessary RenderThemeGtk and WidgetRenderingContext code
  23141. https://bugs.webkit.org/show_bug.cgi?id=52170
  23142. Remove unnecessary code from RenderThemeGtk3 and RenderThemeGtk now that the
  23143. GtkStyleContext port is complete. Also remove WidgetRenderingContextGtk3 and
  23144. move WidgetRenderingRenderingContextGtk2 to WidgetRenderingContext and make it
  23145. GTK+ 2.x only. Some methods have been moved to RenderThemeGtk2 since they are
  23146. GTK+ 2.x only now.
  23147. No new tests. This should not change functionality.
  23148. * GNUmakefile.am: Remove WidgetRenderingContextGtk3 and gtk3drawing.c
  23149. * platform/gtk/RenderThemeGtk.cpp:
  23150. (WebCore::RenderThemeGtk::RenderThemeGtk):
  23151. (WebCore::gtkIconState): Made this method static. It isn't used outside RenderThemeGtk.
  23152. (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): Updated to refelct gtkIconState change.
  23153. (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): Ditto.
  23154. (WebCore::RenderThemeGtk::paintMediaButton): Ditto
  23155. * platform/gtk/RenderThemeGtk.h: Move a few methods which are now GTK+ 2.x only.
  23156. * platform/gtk/RenderThemeGtk2.cpp:
  23157. (WebCore::RenderThemeGtk::platformInit): Added this platform initialization method
  23158. that is only used for GTK+ 2.x at the moment.
  23159. (WebCore::RenderThemeGtk::~RenderThemeGtk): Added.
  23160. (WebCore::getGtkStateType): Made this method static.
  23161. (WebCore::RenderThemeGtk::getIndicatorMetrics): Moved this here from RenderThemeGtk.
  23162. (WebCore::setToggleSize): Updated to reflect changes to getGtkStateType.
  23163. (WebCore::RenderThemeGtk::paintButton): Ditto.
  23164. (WebCore::RenderThemeGtk::paintSliderTrack): Ditto.
  23165. (WebCore::RenderThemeGtk::paintSliderThumb): Ditto.
  23166. * platform/gtk/RenderThemeGtk3.cpp:
  23167. (WebCore::RenderThemeGtk::gtkScrollbarStyle): Moved to the top of the file.
  23168. (WebCore::RenderThemeGtk::platformInit): Added.
  23169. (WebCore::RenderThemeGtk::~RenderThemeGtk): Added.
  23170. (WebCore::RenderThemeGtk::initMediaColors): Changed to use the GtkStyleContext API to
  23171. fetch these colors. This was the last dependency on the old API.
  23172. * platform/gtk/WidgetRenderingContext.cpp: Renamed from Source/WebCore/platform/gtk/WidgetRenderingContextGtk2.cpp.
  23173. * platform/gtk/WidgetRenderingContext.h: Made GTK+ 2.x only.
  23174. * platform/gtk/WidgetRenderingContextGtk3.cpp: Removed.
  23175. * platform/gtk/gtk3drawing.c: Removed.
  23176. * platform/gtk/gtkdrawing.h: Made GTK+ 2.x only.
  23177. 2011-01-10 Benjamin Poulain <benjamin.poulain@nokia.com>
  23178. Reviewed by Kenneth Rohde Christiansen.
  23179. [Qt] Navigator.cookiesEnabled return true for Qt even if there is no cookie jar
  23180. https://bugs.webkit.org/show_bug.cgi?id=52081
  23181. Test for the availability of cookie jar to return if cookies are enabled or not.
  23182. * platform/qt/CookieJarQt.cpp:
  23183. (WebCore::cookiesEnabled):
  23184. 2011-01-10 W. James MacLean <wjmaclean@chromium.org>
  23185. Reviewed by Kenneth Russell.
  23186. [chromium] Enable reuse of RenderSurface for drawing.
  23187. https://bugs.webkit.org/show_bug.cgi?id=51928
  23188. Modifies RenderSurfaceChromium::prepareContentsTexture to avoid trying to 'reserve' a texture
  23189. that is already reserved, should an attempt be made to re-select a previously drawn render surface
  23190. in order to continue drawing to it. This use case appears when compositing into an offscreen texture.
  23191. Covered by existing test (compositing/geometry/fixed-position.html) when offscreen compositing enabled.
  23192. * platform/graphics/chromium/LayerTexture.h:
  23193. (WebCore::LayerTexture::isReserved):
  23194. * platform/graphics/chromium/RenderSurfaceChromium.cpp:
  23195. (WebCore::RenderSurfaceChromium::prepareContentsTexture):
  23196. * platform/graphics/chromium/TextureManager.cpp:
  23197. (WebCore::TextureManager::isProtected):
  23198. * platform/graphics/chromium/TextureManager.h:
  23199. 2011-01-10 Carlos Garcia Campos <cgarcia@igalia.com>
  23200. Reviewed by Xan Lopez.
  23201. [GTK] Port combo box painting to GtkStyleContext
  23202. https://bugs.webkit.org/show_bug.cgi?id=51828
  23203. Use GtkStyleContext API to paint combo boxes when building with
  23204. GTK+ 3.x. Method paintButton() has been factored out and the new
  23205. static method renderButton() is used by both paintButton() and
  23206. paintMenuList().
  23207. No new tests. This should not change functionality.
  23208. * platform/gtk/RenderThemeGtk3.cpp:
  23209. (WebCore::RenderThemeGtk::adjustRepaintRect):
  23210. (WebCore::renderButton):
  23211. (WebCore::RenderThemeGtk::paintButton):
  23212. (WebCore::getComboBoxMetrics):
  23213. (WebCore::RenderThemeGtk::popupInternalPaddingLeft):
  23214. (WebCore::RenderThemeGtk::popupInternalPaddingRight):
  23215. (WebCore::RenderThemeGtk::popupInternalPaddingTop):
  23216. (WebCore::RenderThemeGtk::popupInternalPaddingBottom):
  23217. (WebCore::RenderThemeGtk::paintMenuList):
  23218. 2011-01-10 Evan Martin <evan@chromium.org>
  23219. Reviewed by Tony Chang.
  23220. [chromium] simplify complex glyph positioning code
  23221. https://bugs.webkit.org/show_bug.cgi?id=52159
  23222. Before, we had roughly same code duplicated for RTL and LTR.
  23223. Now, use the same code for both directions by being careful about
  23224. flipping signs where appropriate.
  23225. * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
  23226. (WebCore::ComplexTextController::shapeGlyphs):
  23227. (WebCore::ComplexTextController::setGlyphXPositions):
  23228. 2011-01-10 Alejandro G. Castro <alex@igalia.com>
  23229. Reviewed by Xan Lopez.
  23230. [GTK] Fix gtk2 compilation for master
  23231. https://bugs.webkit.org/show_bug.cgi?id=51885
  23232. * platform/gtk/GtkVersioning.h: Replaced the 2.24.0 check with
  23233. 2.23.0 to avoid using the old symbols in the 2.23 releases. Added
  23234. support for gdk_pixmap_get_size before the 2.23.4.
  23235. * platform/gtk/WidgetRenderingContextGtk2.cpp:
  23236. (WebCore::WidgetRenderingContext::WidgetRenderingContext):
  23237. Replaced the old gdk_drawable_get_size with gdk_pixmap_get_size.
  23238. 2011-01-10 Ryosuke Niwa <rniwa@webkit.org>
  23239. Unreviewed; build fix for r75385.
  23240. * rendering/mathml/RenderMathMLFraction.cpp:
  23241. (WebCore::RenderMathMLFraction::paint):
  23242. 2011-01-10 Sheriff Bot <webkit.review.bot@gmail.com>
  23243. Unreviewed, rolling out r75341.
  23244. http://trac.webkit.org/changeset/75341
  23245. https://bugs.webkit.org/show_bug.cgi?id=52157
  23246. Regressions on several pixel tests (Requested by jorlow on
  23247. #webkit).
  23248. * platform/graphics/cg/GraphicsContextCG.cpp:
  23249. (WebCore::GraphicsContext::fillPath):
  23250. 2011-01-10 Carlos Garcia Campos <cgarcia@igalia.com>
  23251. Reviewed by Martin Robinson.
  23252. [GTK] Port check and radio button painting to GtkStyleContext
  23253. https://bugs.webkit.org/show_bug.cgi?id=51815
  23254. Use GtkStyleContext API to paint check and radio buttons when
  23255. building with GTK+ 3.x.
  23256. No new tests. This should not change functionality.
  23257. * platform/gtk/RenderThemeGtk3.cpp:
  23258. (WebCore::RenderThemeGtk::adjustRepaintRect):
  23259. (WebCore::setToggleSize):
  23260. (WebCore::paintToggle):
  23261. (WebCore::RenderThemeGtk::setCheckboxSize):
  23262. (WebCore::RenderThemeGtk::paintCheckbox):
  23263. (WebCore::RenderThemeGtk::setRadioSize):
  23264. (WebCore::RenderThemeGtk::paintRadio):
  23265. 2011-01-10 François Sausset <sausset@gmail.com>
  23266. Reviewed by Kenneth Rohde Christiansen.
  23267. MathML: vertical alignment & bar thickness adjustments of fractions.
  23268. https://bugs.webkit.org/show_bug.cgi?id=50018
  23269. The fraction bar thickness default value should follow the w3c MathML 3 recommendation:
  23270. http://www.w3.org/TR/MathML3/chapter3.html#presm.mfrac
  23271. The vertical alignment of the fraction bar should be more accurate, specially with operators (+,=,...).
  23272. Test: mathml/presentation/fractions.xhtml
  23273. * rendering/mathml/RenderMathMLFraction.cpp:
  23274. (WebCore::RenderMathMLFraction::RenderMathMLFraction):
  23275. (WebCore::RenderMathMLFraction::updateFromElement):
  23276. (WebCore::RenderMathMLFraction::layout):
  23277. (WebCore::RenderMathMLFraction::paint):
  23278. (WebCore::RenderMathMLFraction::baselinePosition):
  23279. * rendering/mathml/RenderMathMLFraction.h:
  23280. 2011-01-10 Antti Koivisto <antti@apple.com>
  23281. Reviewed by Alexey Proskuryakov.
  23282. https://bugs.webkit.org/show_bug.cgi?id=52044
  23283. REGRESSION(r74807): No-store is ignored within a document
  23284. Don't use cached resources with Cache-control: no-store (unless cache policy is CachePolicyHistoryBuffer).
  23285. This matches a behavior that got lost in r74807.
  23286. Test: http/tests/misc/script-no-store.html
  23287. (by Alexey Proskuryakov)
  23288. * loader/cache/CachedResourceLoader.cpp:
  23289. (WebCore::CachedResourceLoader::determineRevalidationPolicy):
  23290. 2011-01-10 Patrick Gansterer <paroga@webkit.org>
  23291. Reviewed by Laszlo Gombos.
  23292. [WIN] Add ProxyServerWin.cpp
  23293. https://bugs.webkit.org/show_bug.cgi?id=52031
  23294. Add stub implementation to fix ENABLE_NETSCAPE_PLUGIN_API on WinCE.
  23295. * CMakeLists.txt:
  23296. * CMakeListsWinCE.txt:
  23297. * platform/network/win/ProxyServerWin.cpp: Added.
  23298. (WebCore::proxyServersForURL):
  23299. 2011-01-10 Alejandro G. Castro <alex@igalia.com>
  23300. Reviewed by Martin Robinson.
  23301. [cairo] Rendering a lot of arcs on top of each other causes time
  23302. outs in some tests
  23303. https://bugs.webkit.org/show_bug.cgi?id=50869
  23304. We avoid the situation where we have to render the same arc
  23305. multiple times over itself. Now it renders just one oval and
  23306. moves to the end angle.
  23307. * platform/graphics/cairo/PathCairo.cpp:
  23308. (WebCore::Path::addArc):
  23309. 2011-01-10 Carlos Garcia Campos <cgarcia@igalia.com>
  23310. Reviewed by Martin Robinson.
  23311. [GTK] Port text input control painting to GtkStyleContext
  23312. https://bugs.webkit.org/show_bug.cgi?id=51870
  23313. Use GtkStyleContext API to paint text input controls when building
  23314. with GTK+ 3.x.
  23315. No new tests. This should not change functionality.
  23316. * platform/gtk/RenderThemeGtk3.cpp:
  23317. (WebCore::RenderThemeGtk::adjustRepaintRect):
  23318. (WebCore::RenderThemeGtk::paintTextField):
  23319. 2011-01-09 Tony Gentilcore <tonyg@chromium.org>
  23320. Reviewed by Alexey Proskuryakov.
  23321. Forward declare some headers where possible
  23322. https://bugs.webkit.org/show_bug.cgi?id=52133
  23323. No new tests because no new functionality.
  23324. * css/CSSValue.h:
  23325. * dom/BeforeLoadEvent.h:
  23326. * dom/Event.cpp:
  23327. * dom/Event.h:
  23328. * dom/StyledElement.cpp:
  23329. * dom/StyledElement.h:
  23330. * loader/DocumentLoader.h:
  23331. * loader/FrameLoader.h:
  23332. * page/Frame.h:
  23333. * platform/graphics/GraphicsContext.cpp:
  23334. * platform/graphics/GraphicsContext.h:
  23335. * platform/graphics/filters/FEBlend.cpp:
  23336. * platform/graphics/filters/FEColorMatrix.cpp:
  23337. * platform/graphics/filters/FEComponentTransfer.cpp:
  23338. * platform/graphics/filters/FEComposite.cpp:
  23339. * platform/graphics/filters/FEConvolveMatrix.cpp:
  23340. * platform/graphics/filters/FEDiffuseLighting.cpp:
  23341. * platform/graphics/filters/FEDisplacementMap.cpp:
  23342. * platform/graphics/filters/FEFlood.cpp:
  23343. * platform/graphics/filters/FEGaussianBlur.cpp:
  23344. * platform/graphics/filters/FEMerge.cpp:
  23345. * platform/graphics/filters/FEMorphology.cpp:
  23346. * platform/graphics/filters/FEOffset.cpp:
  23347. * platform/graphics/filters/FESpecularLighting.cpp:
  23348. * platform/graphics/filters/FETile.cpp:
  23349. * platform/graphics/filters/FETurbulence.cpp:
  23350. * platform/graphics/filters/FilterEffect.cpp:
  23351. * platform/graphics/filters/FilterEffect.h:
  23352. * platform/graphics/filters/SourceAlpha.cpp:
  23353. * platform/graphics/filters/SourceGraphic.cpp:
  23354. * svg/SVGElement.cpp:
  23355. * svg/SVGElement.h:
  23356. * svg/SVGFEBlendElement.cpp:
  23357. * svg/SVGFEColorMatrixElement.cpp:
  23358. * svg/SVGFEComponentTransferElement.cpp:
  23359. * svg/SVGFECompositeElement.cpp:
  23360. * svg/SVGFEConvolveMatrixElement.cpp:
  23361. * svg/SVGFEConvolveMatrixElement.h:
  23362. * svg/SVGFEDiffuseLightingElement.cpp:
  23363. * svg/SVGFEDisplacementMapElement.cpp:
  23364. * svg/SVGFEGaussianBlurElement.cpp:
  23365. * svg/SVGFEImageElement.h:
  23366. * svg/SVGFEMergeElement.cpp:
  23367. * svg/SVGFEMorphologyElement.cpp:
  23368. * svg/SVGFEOffsetElement.cpp:
  23369. * svg/SVGFESpecularLightingElement.cpp:
  23370. * svg/SVGFETileElement.cpp:
  23371. * svg/SVGFETurbulenceElement.h:
  23372. * svg/SVGFilterPrimitiveStandardAttributes.cpp:
  23373. * svg/SVGFilterPrimitiveStandardAttributes.h:
  23374. * svg/SVGTextContentElement.cpp:
  23375. * svg/graphics/filters/SVGFEImage.cpp:
  23376. * svg/graphics/filters/SVGFEImage.h:
  23377. 2011-01-10 Adam Roben <aroben@apple.com>
  23378. Windows build fix after r75313
  23379. * WebCore.vcproj/build-generated-files.sh: Updated for the change in
  23380. this script's path.
  23381. 2011-01-10 Pavel Podivilov <podivilov@chromium.org>
  23382. Reviewed by Pavel Feldman.
  23383. Web Inspector: make properties on Array's prototype non-enumerable.
  23384. https://bugs.webkit.org/show_bug.cgi?id=51776
  23385. * inspector/front-end/utilities.js:
  23386. ():
  23387. 2011-01-10 Yael Aharon <yael.aharon@nokia.com>
  23388. Reviewed by Simon Fraser.
  23389. Specificity of negated selectors apparently miscalculated
  23390. https://bugs.webkit.org/show_bug.cgi?id=41206
  23391. Give negated selectors the specificity of the selector they are negating.
  23392. This is the same as the behavior of other browsers.
  23393. Test: fast/css/pseudo-not.html
  23394. * css/CSSSelector.cpp:
  23395. (WebCore::CSSSelector::specificityForOneSelector):
  23396. 2011-01-10 Adam Roben <aroben@apple.com>
  23397. Windows build fix after r75353
  23398. * WebCore.vcproj/WebCoreCommon.vsprops: Added rendering/mathml to the
  23399. include path.
  23400. 2011-01-10 John Knottenbelt <jknotten@chromium.org>
  23401. Reviewed by Jeremy Orlow.
  23402. [Chromium] Remove non-client-based Geolocation code
  23403. https://bugs.webkit.org/show_bug.cgi?id=50921
  23404. Code clean up, covered by existing tests.
  23405. * WebCore.gyp/WebCore.gyp:
  23406. * WebCore.gypi:
  23407. * platform/chromium/ChromiumBridge.h:
  23408. * platform/chromium/GeolocationServiceChromium.cpp: Removed.
  23409. * platform/chromium/GeolocationServiceChromium.h: Removed.
  23410. 2011-01-10 Ilya Tikhonovsky <loislo@chromium.org>
  23411. Reviewed by Pavel Feldman.
  23412. Web Inspector: protocol related change. Rename stepIntoStatement, stepOutOfFunction, stepOverStatement.
  23413. stepIntoStatement => stepInto
  23414. stepOutOfFunction => stepOut
  23415. stepOverStatement => stepOver
  23416. https://bugs.webkit.org/show_bug.cgi?id=52142
  23417. * inspector/Inspector.idl:
  23418. * inspector/InspectorDebuggerAgent.cpp:
  23419. (WebCore::InspectorDebuggerAgent::stepOver):
  23420. (WebCore::InspectorDebuggerAgent::stepInto):
  23421. (WebCore::InspectorDebuggerAgent::stepOut):
  23422. * inspector/InspectorDebuggerAgent.h:
  23423. * inspector/front-end/ScriptsPanel.js:
  23424. (WebInspector.ScriptsPanel.prototype._stepOverClicked):
  23425. (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
  23426. (WebInspector.ScriptsPanel.prototype._stepOutClicked):
  23427. 2011-01-10 Carlos Garcia Campos <cgarcia@igalia.com>
  23428. Reviewed by Martin Robinson.
  23429. [GTK] Port progressbar painting to GtkStyleContext
  23430. https://bugs.webkit.org/show_bug.cgi?id=52054
  23431. Use GtkStyleContext API to paint progressbars when building with
  23432. GTK+ 3.x. Also add support for indeterminate progressbars.
  23433. No new tests. This should not change functionality.
  23434. * platform/gtk/RenderThemeGtk.cpp:
  23435. * platform/gtk/RenderThemeGtk2.cpp:
  23436. (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar):
  23437. (WebCore::RenderThemeGtk::animationDurationForProgressBar):
  23438. * platform/gtk/RenderThemeGtk3.cpp:
  23439. (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar):
  23440. (WebCore::RenderThemeGtk::animationDurationForProgressBar):
  23441. (WebCore::RenderThemeGtk::paintProgressBar):
  23442. 2011-01-10 Andreas Kling <kling@webkit.org>
  23443. Reviewed by Darin Adler.
  23444. Remove unused class "Pen" in WebCore/platform/graphics
  23445. https://bugs.webkit.org/show_bug.cgi?id=49955
  23446. * Android.mk:
  23447. * CMakeLists.txt:
  23448. * GNUmakefile.am:
  23449. * WebCore.gypi:
  23450. * WebCore.pro:
  23451. * WebCore.vcproj/WebCore.vcproj:
  23452. * WebCore.xcodeproj/project.pbxproj:
  23453. * platform/graphics/Pen.cpp: Removed.
  23454. * platform/graphics/Pen.h: Removed.
  23455. * platform/graphics/haiku/GraphicsContextHaiku.cpp:
  23456. * platform/graphics/wx/GraphicsContextWx.cpp:
  23457. * platform/graphics/wx/PenWx.cpp: Removed.
  23458. 2011-01-10 Xan Lopez <xlopez@igalia.com>
  23459. Reviewed by Martin Robinson.
  23460. [GTK] Create intermediate libWebCore library
  23461. https://bugs.webkit.org/show_bug.cgi?id=52116
  23462. Create intermediate libWebCore.la to avoid overflowing the linker
  23463. in the final link stage.
  23464. * GNUmakefile.am: define the new library.
  23465. 2011-01-09 Sheriff Bot <webkit.review.bot@gmail.com>
  23466. Unreviewed, rolling out r75337.
  23467. http://trac.webkit.org/changeset/75337
  23468. https://bugs.webkit.org/show_bug.cgi?id=52137
  23469. It made fast/dom/navigator-detached-no-crash.html crash
  23470. (Requested by Ossy on #webkit).
  23471. * platform/qt/CookieJarQt.cpp:
  23472. (WebCore::cookiesEnabled):
  23473. 2011-01-09 Mark Rowe <mrowe@apple.com>
  23474. Fix the build.
  23475. * WebCore.xcodeproj/project.pbxproj: Copy SVGResourcesCache.h in to PrivateHeaders
  23476. once more.
  23477. 2011-01-09 Dan Bernstein <mitz@apple.com>
  23478. Reviewed by Sam Weinig.
  23479. <rdar://problem/8765555> WebKit2: Search field focus ring is missing
  23480. Provide a focus ring visible rect to AppKit.
  23481. * platform/mac/ThemeMac.mm:
  23482. (-[WebCoreFlippedView _focusRingVisibleRect]):
  23483. (-[WebCoreFlippedView _focusRingClipAncestor]):
  23484. 2011-01-09 Dirk Schulze <krit@webkit.org>
  23485. Reviewed by Rob Buis.
  23486. Move MathML renderer to rendering/mathml
  23487. https://bugs.webkit.org/show_bug.cgi?id=52131
  23488. Move all renderer of MathML to WebCore/rendering/mathml
  23489. No change of functionality, no new tests added.
  23490. * CMakeLists.txt:
  23491. * GNUmakefile.am:
  23492. * WebCore.gypi:
  23493. * WebCore.pro:
  23494. * WebCore.vcproj/WebCore.vcproj:
  23495. * WebCore.xcodeproj/project.pbxproj:
  23496. * mathml/RenderMathMLBlock.cpp: Removed.
  23497. * mathml/RenderMathMLBlock.h: Removed.
  23498. * mathml/RenderMathMLFenced.cpp: Removed.
  23499. * mathml/RenderMathMLFenced.h: Removed.
  23500. * mathml/RenderMathMLFraction.cpp: Removed.
  23501. * mathml/RenderMathMLFraction.h: Removed.
  23502. * mathml/RenderMathMLMath.cpp: Removed.
  23503. * mathml/RenderMathMLMath.h: Removed.
  23504. * mathml/RenderMathMLOperator.cpp: Removed.
  23505. * mathml/RenderMathMLOperator.h: Removed.
  23506. * mathml/RenderMathMLRoot.cpp: Removed.
  23507. * mathml/RenderMathMLRoot.h: Removed.
  23508. * mathml/RenderMathMLRow.cpp: Removed.
  23509. * mathml/RenderMathMLRow.h: Removed.
  23510. * mathml/RenderMathMLSquareRoot.cpp: Removed.
  23511. * mathml/RenderMathMLSquareRoot.h: Removed.
  23512. * mathml/RenderMathMLSubSup.cpp: Removed.
  23513. * mathml/RenderMathMLSubSup.h: Removed.
  23514. * mathml/RenderMathMLUnderOver.cpp: Removed.
  23515. * mathml/RenderMathMLUnderOver.h: Removed.
  23516. * rendering/mathml: Added.
  23517. * rendering/mathml/RenderMathMLBlock.cpp: Copied from Source/WebCore/mathml/RenderMathMLBlock.cpp.
  23518. * rendering/mathml/RenderMathMLBlock.h: Copied from Source/WebCore/mathml/RenderMathMLBlock.h.
  23519. * rendering/mathml/RenderMathMLFenced.cpp: Copied from Source/WebCore/mathml/RenderMathMLFenced.cpp.
  23520. * rendering/mathml/RenderMathMLFenced.h: Copied from Source/WebCore/mathml/RenderMathMLFenced.h.
  23521. * rendering/mathml/RenderMathMLFraction.cpp: Copied from Source/WebCore/mathml/RenderMathMLFraction.cpp.
  23522. * rendering/mathml/RenderMathMLFraction.h: Copied from Source/WebCore/mathml/RenderMathMLFraction.h.
  23523. * rendering/mathml/RenderMathMLMath.cpp: Copied from Source/WebCore/mathml/RenderMathMLMath.cpp.
  23524. * rendering/mathml/RenderMathMLMath.h: Copied from Source/WebCore/mathml/RenderMathMLMath.h.
  23525. * rendering/mathml/RenderMathMLOperator.cpp: Copied from Source/WebCore/mathml/RenderMathMLOperator.cpp.
  23526. * rendering/mathml/RenderMathMLOperator.h: Copied from Source/WebCore/mathml/RenderMathMLOperator.h.
  23527. * rendering/mathml/RenderMathMLRoot.cpp: Copied from Source/WebCore/mathml/RenderMathMLRoot.cpp.
  23528. * rendering/mathml/RenderMathMLRoot.h: Copied from Source/WebCore/mathml/RenderMathMLRoot.h.
  23529. * rendering/mathml/RenderMathMLRow.cpp: Copied from Source/WebCore/mathml/RenderMathMLRow.cpp.
  23530. * rendering/mathml/RenderMathMLRow.h: Copied from Source/WebCore/mathml/RenderMathMLRow.h.
  23531. * rendering/mathml/RenderMathMLSquareRoot.cpp: Copied from Source/WebCore/mathml/RenderMathMLSquareRoot.cpp.
  23532. * rendering/mathml/RenderMathMLSquareRoot.h: Copied from Source/WebCore/mathml/RenderMathMLSquareRoot.h.
  23533. * rendering/mathml/RenderMathMLSubSup.cpp: Copied from Source/WebCore/mathml/RenderMathMLSubSup.cpp.
  23534. * rendering/mathml/RenderMathMLSubSup.h: Copied from Source/WebCore/mathml/RenderMathMLSubSup.h.
  23535. * rendering/mathml/RenderMathMLUnderOver.cpp: Copied from Source/WebCore/mathml/RenderMathMLUnderOver.cpp.
  23536. * rendering/mathml/RenderMathMLUnderOver.h: Copied from Source/WebCore/mathml/RenderMathMLUnderOver.h.
  23537. 2011-01-08 Simon Fraser <simon.fraser@apple.com>
  23538. Reviewed by Alexey Proskuryakov.
  23539. HTMLStyleElement.disabled doesn't work (affects jQuery)
  23540. https://bugs.webkit.org/show_bug.cgi?id=25287
  23541. Fix the disabled property of a HTMLStyleElement to reflect,
  23542. and set the disabled state of its style sheet, as required
  23543. by DOM1 etc.
  23544. Based on initial patch by Tarun Nainani.
  23545. Test: fast/html/disable-style-element.html
  23546. * dom/StyleElement.h:
  23547. (WebCore::StyleElement::sheet): Make const.
  23548. * html/HTMLStyleElement.h:
  23549. * html/HTMLStyleElement.idl:
  23550. * html/HTMLStyleElement.cpp:
  23551. (WebCore::HTMLStyleElement::disabled):
  23552. (WebCore::HTMLStyleElement::setDisabled): Getter and setter for disabled
  23553. call through to the sheet (if any).
  23554. 2011-01-09 Dirk Schulze <krit@webkit.org>
  23555. Reviewed by Nikolas Zimmermann.
  23556. Rename RenderForeignObject to RenderSVGForeignObject
  23557. https://bugs.webkit.org/show_bug.cgi?id=52129
  23558. Rename RenderForeignObject to RenderSVGForeignObject to match the naming schema in render/svg.
  23559. No change of functionality, no new tests.
  23560. * Android.mk:
  23561. * CMakeLists.txt:
  23562. * GNUmakefile.am:
  23563. * WebCore.gypi:
  23564. * WebCore.pro:
  23565. * WebCore.xcodeproj/project.pbxproj:
  23566. * rendering/RenderingAllInOne.cpp:
  23567. * rendering/svg/RenderForeignObject.cpp: Removed.
  23568. * rendering/svg/RenderForeignObject.h: Removed.
  23569. * rendering/svg/RenderSVGAllInOne.cpp:
  23570. * rendering/svg/RenderSVGBlock.cpp:
  23571. (WebCore::RenderSVGBlock::updateBoxModelInfoFromStyle):
  23572. * rendering/svg/RenderSVGForeignObject.cpp: Copied from Source/WebCore/rendering/svg/RenderForeignObject.cpp.
  23573. (WebCore::RenderSVGForeignObject::RenderSVGForeignObject):
  23574. (WebCore::RenderSVGForeignObject::~RenderSVGForeignObject):
  23575. (WebCore::RenderSVGForeignObject::paint):
  23576. (WebCore::RenderSVGForeignObject::clippedOverflowRectForRepaint):
  23577. (WebCore::RenderSVGForeignObject::computeRectForRepaint):
  23578. (WebCore::RenderSVGForeignObject::localToParentTransform):
  23579. (WebCore::RenderSVGForeignObject::computeLogicalWidth):
  23580. (WebCore::RenderSVGForeignObject::computeLogicalHeight):
  23581. (WebCore::RenderSVGForeignObject::layout):
  23582. (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
  23583. (WebCore::RenderSVGForeignObject::nodeAtPoint):
  23584. (WebCore::RenderSVGForeignObject::mapLocalToContainer):
  23585. * rendering/svg/RenderSVGForeignObject.h: Copied from Source/WebCore/rendering/svg/RenderForeignObject.h.
  23586. (WebCore::RenderSVGForeignObject::renderName):
  23587. * svg/SVGForeignObjectElement.cpp:
  23588. (WebCore::SVGForeignObjectElement::createRenderer):
  23589. 2011-01-09 Dirk Schulze <krit@webkit.org>
  23590. Reviewed by Nikolas Zimmermann.
  23591. Move all SVG renderer to WebCore/rendering/svg
  23592. https://bugs.webkit.org/show_bug.cgi?id=52087
  23593. No change of functionality. Just moved all SVG renderer to WebCore/rendering/svg.
  23594. * Android.mk:
  23595. * CMakeLists.txt:
  23596. * GNUmakefile.am:
  23597. * WebCore.gypi:
  23598. * WebCore.pro:
  23599. * WebCore.vjproj/project.vjproj:
  23600. * WebCore.xcodeproj/project.pbxproj:
  23601. * rendering/RenderForeignObject.cpp: Removed.
  23602. * rendering/RenderForeignObject.h: Removed.
  23603. * rendering/RenderSVGAllInOne.cpp: Removed.
  23604. * rendering/RenderSVGBlock.cpp: Removed.
  23605. * rendering/RenderSVGBlock.h: Removed.
  23606. * rendering/RenderSVGContainer.cpp: Removed.
  23607. * rendering/RenderSVGContainer.h: Removed.
  23608. * rendering/RenderSVGGradientStop.cpp: Removed.
  23609. * rendering/RenderSVGGradientStop.h: Removed.
  23610. * rendering/RenderSVGHiddenContainer.cpp: Removed.
  23611. * rendering/RenderSVGHiddenContainer.h: Removed.
  23612. * rendering/RenderSVGImage.cpp: Removed.
  23613. * rendering/RenderSVGImage.h: Removed.
  23614. * rendering/RenderSVGModelObject.cpp: Removed.
  23615. * rendering/RenderSVGModelObject.h: Removed.
  23616. * rendering/RenderSVGResource.cpp: Removed.
  23617. * rendering/RenderSVGResource.h: Removed.
  23618. * rendering/RenderSVGResourceClipper.cpp: Removed.
  23619. * rendering/RenderSVGResourceClipper.h: Removed.
  23620. * rendering/RenderSVGResourceContainer.cpp: Removed.
  23621. * rendering/RenderSVGResourceContainer.h: Removed.
  23622. * rendering/RenderSVGResourceFilter.cpp: Removed.
  23623. * rendering/RenderSVGResourceFilter.h: Removed.
  23624. * rendering/RenderSVGResourceFilterPrimitive.cpp: Removed.
  23625. * rendering/RenderSVGResourceFilterPrimitive.h: Removed.
  23626. * rendering/RenderSVGResourceGradient.cpp: Removed.
  23627. * rendering/RenderSVGResourceGradient.h: Removed.
  23628. * rendering/RenderSVGResourceLinearGradient.cpp: Removed.
  23629. * rendering/RenderSVGResourceLinearGradient.h: Removed.
  23630. * rendering/RenderSVGResourceMarker.cpp: Removed.
  23631. * rendering/RenderSVGResourceMarker.h: Removed.
  23632. * rendering/RenderSVGResourceMasker.cpp: Removed.
  23633. * rendering/RenderSVGResourceMasker.h: Removed.
  23634. * rendering/RenderSVGResourcePattern.cpp: Removed.
  23635. * rendering/RenderSVGResourcePattern.h: Removed.
  23636. * rendering/RenderSVGResourceRadialGradient.cpp: Removed.
  23637. * rendering/RenderSVGResourceRadialGradient.h: Removed.
  23638. * rendering/RenderSVGResourceSolidColor.cpp: Removed.
  23639. * rendering/RenderSVGResourceSolidColor.h: Removed.
  23640. * rendering/RenderSVGRoot.cpp: Removed.
  23641. * rendering/RenderSVGRoot.h: Removed.
  23642. * rendering/RenderSVGShadowTreeRootContainer.cpp: Removed.
  23643. * rendering/RenderSVGShadowTreeRootContainer.h: Removed.
  23644. * rendering/RenderSVGTransformableContainer.cpp: Removed.
  23645. * rendering/RenderSVGTransformableContainer.h: Removed.
  23646. * rendering/RenderSVGViewportContainer.cpp: Removed.
  23647. * rendering/RenderSVGViewportContainer.h: Removed.
  23648. * rendering/SVGImageBufferTools.cpp: Removed.
  23649. * rendering/SVGImageBufferTools.h: Removed.
  23650. * rendering/SVGMarkerData.h: Removed.
  23651. * rendering/SVGMarkerLayoutInfo.cpp: Removed.
  23652. * rendering/SVGMarkerLayoutInfo.h: Removed.
  23653. * rendering/SVGRenderSupport.cpp: Removed.
  23654. * rendering/SVGRenderSupport.h: Removed.
  23655. * rendering/SVGRenderTreeAsText.cpp: Removed.
  23656. * rendering/SVGRenderTreeAsText.h: Removed.
  23657. * rendering/SVGResources.cpp: Removed.
  23658. * rendering/SVGResources.h: Removed.
  23659. * rendering/SVGResourcesCache.cpp: Removed.
  23660. * rendering/SVGResourcesCache.h: Removed.
  23661. * rendering/SVGResourcesCycleSolver.cpp: Removed.
  23662. * rendering/SVGResourcesCycleSolver.h: Removed.
  23663. * rendering/SVGShadowTreeElements.cpp: Removed.
  23664. * rendering/SVGShadowTreeElements.h: Removed.
  23665. * rendering/svg/RenderForeignObject.cpp: Copied from Source/WebCore/rendering/RenderForeignObject.cpp.
  23666. * rendering/svg/RenderForeignObject.h: Copied from Source/WebCore/rendering/RenderForeignObject.h.
  23667. * rendering/svg/RenderSVGAllInOne.cpp: Copied from Source/WebCore/rendering/RenderSVGAllInOne.cpp.
  23668. * rendering/svg/RenderSVGBlock.cpp: Copied from Source/WebCore/rendering/RenderSVGBlock.cpp.
  23669. * rendering/svg/RenderSVGBlock.h: Copied from Source/WebCore/rendering/RenderSVGBlock.h.
  23670. * rendering/svg/RenderSVGContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGContainer.cpp.
  23671. * rendering/svg/RenderSVGContainer.h: Copied from Source/WebCore/rendering/RenderSVGContainer.h.
  23672. * rendering/svg/RenderSVGGradientStop.cpp: Copied from Source/WebCore/rendering/RenderSVGGradientStop.cpp.
  23673. * rendering/svg/RenderSVGGradientStop.h: Copied from Source/WebCore/rendering/RenderSVGGradientStop.h.
  23674. * rendering/svg/RenderSVGHiddenContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGHiddenContainer.cpp.
  23675. * rendering/svg/RenderSVGHiddenContainer.h: Copied from Source/WebCore/rendering/RenderSVGHiddenContainer.h.
  23676. * rendering/svg/RenderSVGImage.cpp: Copied from Source/WebCore/rendering/RenderSVGImage.cpp.
  23677. * rendering/svg/RenderSVGImage.h: Copied from Source/WebCore/rendering/RenderSVGImage.h.
  23678. * rendering/svg/RenderSVGModelObject.cpp: Copied from Source/WebCore/rendering/RenderSVGModelObject.cpp.
  23679. * rendering/svg/RenderSVGModelObject.h: Copied from Source/WebCore/rendering/RenderSVGModelObject.h.
  23680. * rendering/svg/RenderSVGResource.cpp: Copied from Source/WebCore/rendering/RenderSVGResource.cpp.
  23681. * rendering/svg/RenderSVGResource.h: Copied from Source/WebCore/rendering/RenderSVGResource.h.
  23682. * rendering/svg/RenderSVGResourceClipper.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceClipper.cpp.
  23683. * rendering/svg/RenderSVGResourceClipper.h: Copied from Source/WebCore/rendering/RenderSVGResourceClipper.h.
  23684. * rendering/svg/RenderSVGResourceContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceContainer.cpp.
  23685. * rendering/svg/RenderSVGResourceContainer.h: Copied from Source/WebCore/rendering/RenderSVGResourceContainer.h.
  23686. * rendering/svg/RenderSVGResourceFilter.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceFilter.cpp.
  23687. * rendering/svg/RenderSVGResourceFilter.h: Copied from Source/WebCore/rendering/RenderSVGResourceFilter.h.
  23688. * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceFilterPrimitive.cpp.
  23689. * rendering/svg/RenderSVGResourceFilterPrimitive.h: Copied from Source/WebCore/rendering/RenderSVGResourceFilterPrimitive.h.
  23690. * rendering/svg/RenderSVGResourceGradient.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceGradient.cpp.
  23691. * rendering/svg/RenderSVGResourceGradient.h: Copied from Source/WebCore/rendering/RenderSVGResourceGradient.h.
  23692. * rendering/svg/RenderSVGResourceLinearGradient.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceLinearGradient.cpp.
  23693. * rendering/svg/RenderSVGResourceLinearGradient.h: Copied from Source/WebCore/rendering/RenderSVGResourceLinearGradient.h.
  23694. * rendering/svg/RenderSVGResourceMarker.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceMarker.cpp.
  23695. * rendering/svg/RenderSVGResourceMarker.h: Copied from Source/WebCore/rendering/RenderSVGResourceMarker.h.
  23696. * rendering/svg/RenderSVGResourceMasker.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceMasker.cpp.
  23697. * rendering/svg/RenderSVGResourceMasker.h: Copied from Source/WebCore/rendering/RenderSVGResourceMasker.h.
  23698. * rendering/svg/RenderSVGResourcePattern.cpp: Copied from Source/WebCore/rendering/RenderSVGResourcePattern.cpp.
  23699. * rendering/svg/RenderSVGResourcePattern.h: Copied from Source/WebCore/rendering/RenderSVGResourcePattern.h.
  23700. * rendering/svg/RenderSVGResourceRadialGradient.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceRadialGradient.cpp.
  23701. * rendering/svg/RenderSVGResourceRadialGradient.h: Copied from Source/WebCore/rendering/RenderSVGResourceRadialGradient.h.
  23702. * rendering/svg/RenderSVGResourceSolidColor.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceSolidColor.cpp.
  23703. * rendering/svg/RenderSVGResourceSolidColor.h: Copied from Source/WebCore/rendering/RenderSVGResourceSolidColor.h.
  23704. * rendering/svg/RenderSVGRoot.cpp: Copied from Source/WebCore/rendering/RenderSVGRoot.cpp.
  23705. * rendering/svg/RenderSVGRoot.h: Copied from Source/WebCore/rendering/RenderSVGRoot.h.
  23706. * rendering/svg/RenderSVGShadowTreeRootContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGShadowTreeRootContainer.cpp.
  23707. * rendering/svg/RenderSVGShadowTreeRootContainer.h: Copied from Source/WebCore/rendering/RenderSVGShadowTreeRootContainer.h.
  23708. * rendering/svg/RenderSVGTransformableContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGTransformableContainer.cpp.
  23709. * rendering/svg/RenderSVGTransformableContainer.h: Copied from Source/WebCore/rendering/RenderSVGTransformableContainer.h.
  23710. * rendering/svg/RenderSVGViewportContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGViewportContainer.cpp.
  23711. * rendering/svg/RenderSVGViewportContainer.h: Copied from Source/WebCore/rendering/RenderSVGViewportContainer.h.
  23712. * rendering/svg/SVGImageBufferTools.cpp: Copied from Source/WebCore/rendering/SVGImageBufferTools.cpp.
  23713. * rendering/svg/SVGImageBufferTools.h: Copied from Source/WebCore/rendering/SVGImageBufferTools.h.
  23714. * rendering/svg/SVGMarkerData.h: Copied from Source/WebCore/rendering/SVGMarkerData.h.
  23715. * rendering/svg/SVGMarkerLayoutInfo.cpp: Copied from Source/WebCore/rendering/SVGMarkerLayoutInfo.cpp.
  23716. * rendering/svg/SVGMarkerLayoutInfo.h: Copied from Source/WebCore/rendering/SVGMarkerLayoutInfo.h.
  23717. * rendering/svg/SVGRenderSupport.cpp: Copied from Source/WebCore/rendering/SVGRenderSupport.cpp.
  23718. * rendering/svg/SVGRenderSupport.h: Copied from Source/WebCore/rendering/SVGRenderSupport.h.
  23719. * rendering/svg/SVGRenderTreeAsText.cpp: Copied from Source/WebCore/rendering/SVGRenderTreeAsText.cpp.
  23720. * rendering/svg/SVGRenderTreeAsText.h: Copied from Source/WebCore/rendering/SVGRenderTreeAsText.h.
  23721. * rendering/svg/SVGResources.cpp: Copied from Source/WebCore/rendering/SVGResources.cpp.
  23722. * rendering/svg/SVGResources.h: Copied from Source/WebCore/rendering/SVGResources.h.
  23723. * rendering/svg/SVGResourcesCache.cpp: Copied from Source/WebCore/rendering/SVGResourcesCache.cpp.
  23724. * rendering/svg/SVGResourcesCache.h: Copied from Source/WebCore/rendering/SVGResourcesCache.h.
  23725. * rendering/svg/SVGResourcesCycleSolver.cpp: Copied from Source/WebCore/rendering/SVGResourcesCycleSolver.cpp.
  23726. * rendering/svg/SVGResourcesCycleSolver.h: Copied from Source/WebCore/rendering/SVGResourcesCycleSolver.h.
  23727. * rendering/svg/SVGShadowTreeElements.cpp: Copied from Source/WebCore/rendering/SVGShadowTreeElements.cpp.
  23728. * rendering/svg/SVGShadowTreeElements.h: Copied from Source/WebCore/rendering/SVGShadowTreeElements.h.
  23729. 2011-01-09 Xianzhu Wang <phnixwxz@gmail.com>
  23730. Reviewed by Darin Fisher.
  23731. https://bugs.webkit.org/show_bug.cgi?id=41441
  23732. createWindow method should only do window-creating without URL navigation.
  23733. Let client APIs know which URL a new window will start with
  23734. * loader/FrameLoader.cpp:
  23735. (WebCore::createWindow):
  23736. * page/ContextMenuController.cpp:
  23737. (WebCore::openNewWindow):
  23738. * page/DOMWindow.cpp:
  23739. (WebCore::DOMWindow::createWindow):
  23740. 2011-01-09 Dirk Schulze <krit@webkit.org>
  23741. Unreviewed sort of Xcode project file.
  23742. * WebCore.xcodeproj/project.pbxproj:
  23743. 2011-01-09 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
  23744. Reviewed by Martin Robinson.
  23745. Changes to add Process Launcher and Thread Launcher implementation to the WebKit2 GTK port.
  23746. https://bugs.webkit.org/show_bug.cgi?id=48511
  23747. * platform/FileSystem.h:
  23748. * platform/gtk/FileSystemGtk.cpp: Implement function to get a binary's path
  23749. (WebCore::applicationDirectoryPath):
  23750. 2011-01-08 Martin Robinson <mrobinson@igalia.com>
  23751. GTK+ Build fix. Add missing headers to the source list, fixing make dist.
  23752. No new tests. This is only a build change.
  23753. * GNUmakefile.am: Add missing headers to the source list.
  23754. 2011-01-08 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
  23755. Reviewed by Martin Robinson.
  23756. [GTK] WebKit2 GNUmakefile is out of date from trunk
  23757. https://bugs.webkit.org/show_bug.cgi?id=51883
  23758. Added stubs for WebKit2 compilation.
  23759. * platform/gtk/ContextMenuGtk.cpp:
  23760. (WebCore::contextMenuItemVector):
  23761. * platform/gtk/ContextMenuItemGtk.cpp:
  23762. (WebCore::ContextMenuItem::ContextMenuItem):
  23763. (WebCore::ContextMenuItem::checked):
  23764. (WebCore::ContextMenuItem::enabled):
  23765. * platform/network/soup/AuthenticationChallenge.h:
  23766. (WebCore::AuthenticationChallenge::authenticationClient):
  23767. 2011-01-08 Helder Correia <helder@sencha.com>
  23768. Reviewed by Simon Fraser.
  23769. Shadow is not drawn when filling a path with a gradient
  23770. https://bugs.webkit.org/show_bug.cgi?id=51982
  23771. This happens in CG and is related to bug 51869, this time to be fixed
  23772. in GraphicsContext::fillPath(const Path& path). We need to draw the
  23773. gradient clipped to the path on a CGLayer first, and then draw the
  23774. layer on the GraphicsContext.
  23775. Test: fast/canvas/canvas-fillPath-gradient-shadow.html
  23776. * platform/graphics/cg/GraphicsContextCG.cpp:
  23777. (WebCore::GraphicsContext::fillPath):
  23778. 2011-01-08 Benjamin Poulain <benjamin.poulain@nokia.com>
  23779. Reviewed by Kenneth Rohde Christiansen.
  23780. [Qt] PasteboardQt.cpp has coding-style errors
  23781. https://bugs.webkit.org/show_bug.cgi?id=39771
  23782. Update the code to follow the coding style.
  23783. * platform/qt/PasteboardQt.cpp:
  23784. (WebCore::Pasteboard::writeSelection):
  23785. (WebCore::Pasteboard::plainText):
  23786. (WebCore::Pasteboard::writePlainText):
  23787. (WebCore::Pasteboard::writeURL):
  23788. 2011-01-08 Tony Gentilcore <tonyg@chromium.org>
  23789. Reviewed by Eric Seidel.
  23790. HTML5 Conformance Test failure: approved/xhtml5/html_style_in_comment.xhtml
  23791. https://bugs.webkit.org/show_bug.cgi?id=48593
  23792. XHTML <style> blocks, unlike HTML <style> blocks, should respect HTML
  23793. comments.
  23794. Test: fast/parser/xhtml-html-comment-in-style-block.xhtml
  23795. * dom/StyleElement.cpp:
  23796. (WebCore::isValidStyleChild): Remove the COMMENT_NODE check as the HTML parser doesn't add COMMENT_NODEs as children of style blocks.
  23797. (WebCore::StyleElement::process): Factored out a condition that must remain in sync.
  23798. 2011-01-08 Benjamin Poulain <benjamin.poulain@nokia.com>
  23799. Reviewed by Kenneth Rohde Christiansen.
  23800. [Qt] Navigator.cookiesEnabled return true for Qt even if there is no cookie jar
  23801. https://bugs.webkit.org/show_bug.cgi?id=52081
  23802. Test for the availability of cookie jar to return if cookies are enabled or not. The network access
  23803. manager always exist, not the cookie jar.
  23804. * platform/qt/CookieJarQt.cpp:
  23805. (WebCore::cookiesEnabled):
  23806. 2011-01-08 Charlie Reis <creis@chromium.org>
  23807. Reviewed by Mihai Parparita.
  23808. Canceled frame loads can corrupt back forward list
  23809. https://bugs.webkit.org/show_bug.cgi?id=50254
  23810. Avoids changing m_currentItem until the navigation commits.
  23811. Also resets top-level history items if a subframe navigation is canceled.
  23812. * WebCore/loader/FrameLoader.cpp:
  23813. (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
  23814. * WebCore/loader/HistoryController.cpp:
  23815. * WebCore/loader/HistoryController.h:
  23816. 2011-01-08 Chang Shu <chang.shu@nokia.com>
  23817. Reviewed by Kenneth Rohde Christiansen.
  23818. Support createTouchList with Touch list for test automation.
  23819. Implemented JS/V8 custom functions for createTouchList.
  23820. https://bugs.webkit.org/show_bug.cgi?id=51196
  23821. * bindings/js/JSDocumentCustom.cpp:
  23822. (WebCore::JSDocument::createTouchList):
  23823. * bindings/v8/custom/V8DocumentCustom.cpp:
  23824. (WebCore::V8Document::createTouchListCallback):
  23825. * dom/Document.idl:
  23826. * dom/TouchEvent.cpp:
  23827. (WebCore::TouchEvent::initTouchEvent):
  23828. 2011-01-08 Benjamin Poulain <benjamin.poulain@nokia.com>
  23829. Reviewed by Kenneth Rohde Christiansen.
  23830. [Qt] CookieJarQt.cpp has coding-style errors
  23831. https://bugs.webkit.org/show_bug.cgi?id=39778
  23832. Improve the coding style of CookieJarQt.cpp.
  23833. * platform/qt/CookieJarQt.cpp:
  23834. (WebCore::networkAccessManager):
  23835. (WebCore::cookiesEnabled):
  23836. 2011-01-08 Jeff Miller <jeffm@apple.com>
  23837. Rubber-stamped by Dan Bernstein.
  23838. Fix QTMovieWin.vcproj to account for moving WebCore to Source\WebCore
  23839. https://bugs.webkit.org/show_bug.cgi?id=52114
  23840. * WebCore.vcproj/QTMovieWin.vcproj:
  23841. Add an extra .. to some InheritedPropertySheets entries since WebCore is now one level deeper.
  23842. 2011-01-08 Dirk Schulze <krit@webkit.org>
  23843. Reviewed by Mihai Parparita.
  23844. SVG rendering clean up according to the webkit style rules 2
  23845. https://bugs.webkit.org/show_bug.cgi?id=52112
  23846. Modified the style of the license of all files in WebCore/rendering/svg to match the style
  23847. in WebCore/svg. Cleaned up the code according to the webkit style rules.
  23848. No change of functionality. No test added.
  23849. * rendering/svg/RenderSVGInline.cpp:
  23850. * rendering/svg/RenderSVGInline.h:
  23851. * rendering/svg/RenderSVGInlineText.cpp:
  23852. * rendering/svg/RenderSVGInlineText.h:
  23853. * rendering/svg/RenderSVGPath.cpp:
  23854. * rendering/svg/RenderSVGPath.h:
  23855. * rendering/svg/RenderSVGTSpan.cpp:
  23856. * rendering/svg/RenderSVGTSpan.h:
  23857. * rendering/svg/RenderSVGText.cpp:
  23858. * rendering/svg/RenderSVGText.h:
  23859. * rendering/svg/RenderSVGTextPath.cpp:
  23860. * rendering/svg/RenderSVGTextPath.h:
  23861. * rendering/svg/SVGInlineFlowBox.cpp:
  23862. * rendering/svg/SVGInlineFlowBox.h:
  23863. * rendering/svg/SVGInlineTextBox.cpp:
  23864. * rendering/svg/SVGInlineTextBox.h:
  23865. * rendering/svg/SVGRootInlineBox.cpp:
  23866. * rendering/svg/SVGRootInlineBox.h:
  23867. * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Brace was misplaced accoring to check-webkit-style.
  23868. (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle):
  23869. * rendering/svg/SVGTextQuery.cpp:
  23870. * rendering/svg/SVGTextQuery.h:
  23871. 2011-01-08 Dirk Schulze <krit@webkit.org>
  23872. Reviewed by Mihai Parparita.
  23873. SVG rendering clean up according to the webkit style rules
  23874. https://bugs.webkit.org/show_bug.cgi?id=52107
  23875. Cleanup of the SVG rendering code according to the webbkit style rules.
  23876. Changed style of licensing texts to match the style in WebCore/svg, no change
  23877. of the licensing text itself.
  23878. * rendering/RenderForeignObject.cpp:
  23879. * rendering/RenderForeignObject.h:
  23880. * rendering/RenderSVGBlock.cpp:
  23881. * rendering/RenderSVGBlock.h:
  23882. * rendering/RenderSVGContainer.cpp:
  23883. * rendering/RenderSVGContainer.h:
  23884. * rendering/RenderSVGGradientStop.cpp:
  23885. * rendering/RenderSVGGradientStop.h:
  23886. * rendering/RenderSVGHiddenContainer.cpp:
  23887. * rendering/RenderSVGHiddenContainer.h:
  23888. (WebCore::RenderSVGHiddenContainer::renderName):
  23889. (WebCore::RenderSVGHiddenContainer::isSVGHiddenContainer):
  23890. (WebCore::RenderSVGHiddenContainer::requiresLayer):
  23891. (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
  23892. * rendering/RenderSVGImage.cpp:
  23893. * rendering/RenderSVGImage.h:
  23894. * rendering/RenderSVGModelObject.h:
  23895. * rendering/RenderSVGResource.cpp:
  23896. * rendering/RenderSVGResource.h:
  23897. * rendering/RenderSVGResourceClipper.cpp:
  23898. * rendering/RenderSVGResourceClipper.h:
  23899. * rendering/RenderSVGResourceContainer.cpp:
  23900. * rendering/RenderSVGResourceContainer.h:
  23901. * rendering/RenderSVGResourceFilter.cpp:
  23902. * rendering/RenderSVGResourceFilter.h:
  23903. * rendering/RenderSVGResourceFilterPrimitive.cpp:
  23904. * rendering/RenderSVGResourceFilterPrimitive.h:
  23905. * rendering/RenderSVGResourceGradient.cpp:
  23906. * rendering/RenderSVGResourceGradient.h:
  23907. * rendering/RenderSVGResourceLinearGradient.cpp:
  23908. * rendering/RenderSVGResourceLinearGradient.h:
  23909. * rendering/RenderSVGResourceMarker.cpp:
  23910. * rendering/RenderSVGResourceMarker.h:
  23911. * rendering/RenderSVGResourceMasker.cpp:
  23912. * rendering/RenderSVGResourceMasker.h:
  23913. * rendering/RenderSVGResourcePattern.cpp:
  23914. * rendering/RenderSVGResourcePattern.h:
  23915. * rendering/RenderSVGResourceRadialGradient.cpp:
  23916. * rendering/RenderSVGResourceRadialGradient.h:
  23917. * rendering/RenderSVGResourceSolidColor.cpp:
  23918. * rendering/RenderSVGResourceSolidColor.h:
  23919. * rendering/RenderSVGRoot.cpp:
  23920. (WebCore::RenderSVGRoot::nodeAtPoint):
  23921. * rendering/RenderSVGRoot.h:
  23922. * rendering/RenderSVGShadowTreeRootContainer.cpp:
  23923. * rendering/RenderSVGShadowTreeRootContainer.h:
  23924. * rendering/RenderSVGTransformableContainer.cpp:
  23925. (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
  23926. * rendering/RenderSVGTransformableContainer.h:
  23927. (WebCore::RenderSVGTransformableContainer::localToParentTransform):
  23928. (WebCore::RenderSVGTransformableContainer::setNeedsTransformUpdate):
  23929. (WebCore::RenderSVGTransformableContainer::localTransform):
  23930. * rendering/RenderSVGViewportContainer.cpp:
  23931. * rendering/RenderSVGViewportContainer.h:
  23932. * rendering/SVGImageBufferTools.cpp:
  23933. * rendering/SVGImageBufferTools.h:
  23934. * rendering/SVGMarkerData.h:
  23935. * rendering/SVGMarkerLayoutInfo.cpp:
  23936. * rendering/SVGMarkerLayoutInfo.h:
  23937. * rendering/SVGRenderSupport.cpp:
  23938. * rendering/SVGRenderSupport.h:
  23939. * rendering/SVGRenderTreeAsText.cpp:
  23940. (WebCore::operator<<):
  23941. * rendering/SVGRenderTreeAsText.h:
  23942. * rendering/SVGResources.cpp:
  23943. * rendering/SVGResources.h:
  23944. * rendering/SVGResourcesCache.cpp:
  23945. * rendering/SVGResourcesCache.h:
  23946. * rendering/SVGResourcesCycleSolver.cpp:
  23947. * rendering/SVGResourcesCycleSolver.h:
  23948. * rendering/SVGShadowTreeElements.cpp:
  23949. * rendering/SVGShadowTreeElements.h:
  23950. 2011-01-07 Adam Barth <abarth@webkit.org>
  23951. Rubber-stamped by Eric Seidel.
  23952. Move WebCore to Source
  23953. https://bugs.webkit.org/show_bug.cgi?id=52050
  23954. Update project files to understand WebCore's new location. I suspect
  23955. there will be some follow-up patches after we land this patch.
  23956. * Android.derived.jscbindings.mk:
  23957. * Android.jscbindings.mk:
  23958. * Android.v8bindings.mk:
  23959. * GNUmakefile.am:
  23960. * WebCore.gyp/WebCore.gyp:
  23961. * WebCore.pri:
  23962. * WebCore.pro:
  23963. * WebCore.vcproj/WebCore.vcproj:
  23964. * WebCore.vcproj/WebCoreGeneratedCairo.vsprops:
  23965. * WebCore.vcproj/WebCoreGeneratedCommon.vsprops:
  23966. 2011-01-07 Justin Garcia <justin.garcia@apple.com>
  23967. Reviewed by Dan Bernstein.
  23968. https://bugs.webkit.org/show_bug.cgi?id=51851
  23969. Implement RenderSVGInlineText::localCaretRect()
  23970. * rendering/svg/RenderSVGInlineText.cpp:
  23971. (WebCore::RenderSVGInlineText::localCaretRect): Implemented.
  23972. 2011-01-07 Ryosuke Niwa <rniwa@webkit.org>
  23973. Unreviewed; Added the missing null pointer check for r75293.
  23974. * dom/Document.cpp:
  23975. (WebCore::Document::adoptNode):
  23976. 2011-01-07 Stephanie Lewis <slewis@apple.com>
  23977. Reviewed by Geoff Garen.
  23978. <rdar://problem/8649617> Migrate memory tracking from Safari to WebKit
  23979. https://bugs.webkit.org/show_bug.cgi?id=50799 Add Memory Sampler to WebKit
  23980. Add a sampler for printing off process memory statistics.
  23981. Export file mode.
  23982. * WebCore.exp.in:
  23983. 2011-01-06 Ryosuke Niwa <rniwa@webkit.org>
  23984. Reviewed by Adam Barth.
  23985. onbeforeunload is broken for framesets
  23986. https://bugs.webkit.org/show_bug.cgi?id=19418
  23987. Added beforeunload event support for sub frames. WebKit's implementation tries to match
  23988. that of Internet Explorer as much as possible. beforeunload event is fired for each and
  23989. every descendent of a frame that is about to navigate.
  23990. When a value other than null is returned by a beforeunload handler, a confirmation dialog
  23991. is shown for each handler (calls chrome's runBeforeUnloadConfirmPanel) just like it is done
  23992. for main frames.
  23993. In addition, navigation is forbidden while beforeunload handlers are being called.
  23994. Setting values to location.href, location.reload, and other means of navigations are thus
  23995. ignored while beforeunload event handler is being ran, matching Internet Explorer's behavior.
  23996. Because navigation needs to prevented globally, NavigationDisablerForBeforeUnload is added to
  23997. NavigationScheduler.h, which is instantiated as a RAII object in FrameLoader::shouldClose.
  23998. Tests: fast/events/before-unload-adopt-subframe-to-outside.html
  23999. fast/events/before-unload-adopt-within-subframes.html
  24000. fast/events/before-unload-forbidden-navigation.html
  24001. fast/events/before-unload-in-multiple-subframes.html
  24002. fast/events/before-unload-in-subframe.html
  24003. fast/events/before-unload-javascript-navigation.html
  24004. fast/events/before-unload-remove-and-add-subframe.html
  24005. fact/events/before-unload-remove-itself.html
  24006. fast/events/before-unload-with-subframes.html
  24007. * loader/FrameLoader.cpp:
  24008. (WebCore::FrameLoader::shouldClose): Calls fireBeforeUnloadEvent on m_frame and m_frame's
  24009. descendents. Returns true only if every call to fireBeforeUnloadEvent returned true.
  24010. (WebCore::FrameLoader::fireBeforeUnloadEvent): Fires a beforeunload event and calls
  24011. chrome's runBeforeUnloadConfirmPanel as needed.
  24012. (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Calls shouldClose for all frames.
  24013. * loader/FrameLoader.h:
  24014. * loader/NavigationScheduler.cpp:
  24015. (WebCore::NavigationScheduler::shouldScheduleNavigation): Checks the nullity of Page and calls
  24016. NavigationDisablerForBeforeUnload::isNavigationAllowed when url is not javascript scheme.
  24017. (WebCore::NavigationScheduler::scheduleRedirect): Calls shouldScheduleNavigation.
  24018. (WebCore::NavigationScheduler::scheduleLocationChange): Ditto.
  24019. (WebCore::NavigationScheduler::scheduleRefresh): Ditto.
  24020. (WebCore::NavigationScheduler::scheduleHistoryNavigation): Ditto.
  24021. * loader/NavigationScheduler.h:
  24022. (WebCore::NavigationDisablerForBeforeUnload::NavigationDisablerForBeforeUnload): Disables navigation.
  24023. (WebCore::NavigationDisablerForBeforeUnload::~NavigationDisablerForBeforeUnload): Enables navigation
  24024. when called on the last instance of NavigationDisablerForBeforeUnload.
  24025. (WebCore::NavigationDisablerForBeforeUnload::isNavigationAllowed): Returns true if there are no instance
  24026. of NavigationDisablerForBeforeUnload left on the stack.
  24027. 2011-01-07 Martin Robinson <mrobinson@igalia.com>
  24028. Build fix for GTK+.
  24029. * GNUmakefile.am: Add RenderFullScreen.cpp to the sources list.
  24030. * rendering/RenderFullScreen.cpp:
  24031. (RenderFullScreen::setAnimating): Guard the call to contentChanged
  24032. with ENABLED(ACCELERATED_COMPOSITING).
  24033. 2011-01-07 Ryosuke Niwa <rniwa@webkit.org>
  24034. Unreviewed; speculative fix for Windows debug build.
  24035. * bindings/js/JSBindingsAllInOne.cpp:
  24036. 2011-01-07 Ryosuke Niwa <rniwa@webkit.org>
  24037. Reviewed by Ojan Vafai.
  24038. Adopting an iframe to a child frame results in stack overflow
  24039. https://bugs.webkit.org/show_bug.cgi?id=52018
  24040. Throws an exception when a document adopts an iframe that is an ancestor
  24041. of the document in the frame hierarchy. New behavior matches that of Firefox.
  24042. Test: fast/html/adopt-parent-frame.html
  24043. * dom/Document.cpp:
  24044. (WebCore::Document::adoptNode):
  24045. 2011-01-07 Mihai Parparita <mihaip@chromium.org>
  24046. Reviewed by Darin Fisher.
  24047. [Chromium] Scrollbar code cleanup
  24048. https://bugs.webkit.org/show_bug.cgi?id=52073
  24049. Scrollbar code cleanup:
  24050. - Remove ScrollbarThemeMac.{mm|h} from the mac sources list, we use
  24051. ScrollbarThemeChromiumMac.{mm|h}
  24052. - Remove USE_WEB_THEME_ENGINE_TO_PAINT_THUMB #define now that switch to
  24053. WebThemeEngine is permanent
  24054. - Fix typo in Linux scrollbar enum name
  24055. No new tests (compiles).
  24056. * WebCore.gypi:
  24057. * platform/chromium/ChromiumBridge.h:
  24058. * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
  24059. (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
  24060. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  24061. (WebCore::scrollbarStateToThemeState):
  24062. (WebCore::ScrollbarThemeChromiumMac::paint):
  24063. 2011-01-07 Jer Noble <jer.noble@apple.com>
  24064. GTK Linux build fix: isDocumentRunningFullScreenAnimation should
  24065. be protected both by ENABLE(FULLSCREEN_API) && USE(ACCELERATED_COMPOSITING)
  24066. * page/FrameView.cpp:
  24067. 2011-01-07 Rafael Weinstein <rafaelw@chromium.org>
  24068. Reviewed by Eric Seidel.
  24069. Cleanup: Fold shadowParentNode into shadowHost
  24070. https://bugs.webkit.org/show_bug.cgi?id=51059
  24071. Replaces all uses of shadowParentNode.
  24072. No new tests because no behavior has changed.
  24073. * css/CSSStyleSelector.cpp:
  24074. (WebCore::CSSStyleSelector::initForStyleResolve):
  24075. * dom/Node.cpp:
  24076. (WebCore::Node::shadowHost):
  24077. (WebCore::Node::shadowAncestorNode):
  24078. (WebCore::eventTargetRespectingSVGTargetRules):
  24079. (WebCore::Node::getEventAncestors):
  24080. * dom/Node.h:
  24081. * editing/Editor.cpp:
  24082. (WebCore::Editor::findString):
  24083. * page/DragController.cpp:
  24084. (WebCore::asFileInput):
  24085. * page/EventHandler.cpp:
  24086. (WebCore::EventHandler::handleMousePressEvent):
  24087. (WebCore::instanceAssociatedWithShadowTreeElement):
  24088. (WebCore::EventHandler::dispatchMouseEvent):
  24089. * rendering/RenderBlock.cpp:
  24090. (WebCore::RenderBlock::hasLineIfEmpty):
  24091. * rendering/RenderSVGShadowTreeRootContainer.cpp:
  24092. (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement):
  24093. * svg/SVGStyledElement.cpp:
  24094. (WebCore::SVGStyledElement::title):
  24095. 2011-01-07 Chris Marrin <cmarrin@apple.com>
  24096. Unreviewed.
  24097. I mistakenly included a Windows only file in a
  24098. cross platform file.
  24099. * platform/graphics/ca/GraphicsLayerCA.cpp:
  24100. 2011-01-07 Chris Marrin <cmarrin@apple.com>
  24101. Unreviewed.
  24102. Get rid of include of <QuartzCore/QuartzCore.h>
  24103. * platform/graphics/ca/GraphicsLayerCA.cpp:
  24104. 2011-01-07 Jer Noble <jer.noble@apple.com>
  24105. Further build fixes. Add a ENABLE(FULLSCREEN_API) guard around
  24106. the implementation of requiresCompositingfForFullScreen.
  24107. * rendering/RenderLayerCompositor.cpp:
  24108. (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen):
  24109. 2011-01-07 Jer Noble <jer.noble@apple.com>
  24110. No review, build fix only. Removed parameter who was causing
  24111. a warning in Release builds.
  24112. * dom/Document.cpp:
  24113. (WebCore::Document::webkitDidExitFullScreenForElement):
  24114. 2011-01-07 Chris Marrin <cmarrin@apple.com>
  24115. Unreviewed.
  24116. Use new wkCACFLayerGetContextUserData function
  24117. * platform/graphics/ca/win/PlatformCALayerWin.cpp:
  24118. 2011-01-07 James Robinson <jamesr@chromium.org>
  24119. Fix compile bustage due to bad merge in 75276.
  24120. * page/animation/AnimationController.cpp:
  24121. (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
  24122. 2010-12-17 Jer Noble <jer@kokode.apple.com>
  24123. Reviewed by Simon Fraser.
  24124. Implement WebKit Full Screen support.
  24125. https://bugs.webkit.org/show_bug.cgi?id=49481
  24126. rdar://problem/8247444
  24127. Mark for export all those WebCore functions needed by WebFullscreenController.
  24128. * WebCore.exp.in:
  24129. 2010-12-17 Jer Noble <jer@kokode.apple.com>
  24130. Reviewed by Simon Fraser.
  24131. Implement WebKit Full Screen support.
  24132. https://bugs.webkit.org/show_bug.cgi?id=49481
  24133. rdar://problem/8247444
  24134. screenRect is useful for more than just HTMLMediaElements. Promote it into
  24135. Element.
  24136. * dom/Element.cpp: Moved into Element from HTMLMediaElement.
  24137. * dom/Element.h: Ditto.
  24138. * dom/Node.cpp:
  24139. * html/HTMLMediaElement.cpp: Moved screenRect into Element.
  24140. * html/HTMLMediaElement.h: Ditto.
  24141. * WebCore.exp.in: Modify the exports list to reflect the new symbol name.
  24142. 2010-12-17 Jer Noble <jer@kokode.apple.com>
  24143. Reviewed by Simon Fraser.
  24144. Implement WebKit Full Screen support.
  24145. https://bugs.webkit.org/show_bug.cgi?id=49481
  24146. rdar://problem/8247444
  24147. The RenderFullScreen is intended to be used by clients of that API to allow a DOM subtree to
  24148. be rendered outside its original Frame. Because of this, there are a few areas of the
  24149. rendering code which need to be special cased: RenderFullScreen layers should not be clipped
  24150. to the viewport, as they will almost always be rendering outside the viewport area;
  24151. RenderFullScreen graphics layers should not be reparented by the RenderLayerCompositor, as
  24152. the client will likely want to reparent the platformLayer into their own fullscreen platform
  24153. window; the FrameView must update the RenderFullScreen graphics layer tree separately from
  24154. the root layer, as the two trees are disconnected.
  24155. * page/FrameView.cpp:
  24156. (WebCore::FrameView::updateCompositingLayers): Special treatment for fullscreen renderer.
  24157. (WebCore::FrameView::syncCompositingStateRecursive): Ditto.
  24158. (WebCore::FrameView::paintContents): Ditto.
  24159. * rendering/RenderLayer.h: Add a new ContentChangeType enum entry for FullScreen.
  24160. * rendering/RenderLayer.cpp:
  24161. (WebCore::RenderLayer::contentChanged): Add support for above.
  24162. * rendering/RenderLayerBacking.cpp:
  24163. (WebCore::layerOrAncestorIsFullScreen): New function.
  24164. (WebCore::RenderLayerBacking::updateCompositedBounds): Do not clip if the layerOrAncestorIsFullScreen.
  24165. * rendering/RenderLayerCompositor.cpp:
  24166. (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Special treatment for fullscreen renderer.
  24167. (WebCore::RenderLayerCompositor::requiresCompositingLayer): Ditto.
  24168. (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen): Ditto.
  24169. * rendering/RenderLayerCompositor.h:
  24170. 2010-12-17 Jer Noble <jer@kokode.apple.com>
  24171. Reviewed by Simon Fraser.
  24172. Implemented non-accelerated fullscreen support. The Document will now vend a RenderFullScreen object for clients to
  24173. use to relocate the fullscreen element subtree.
  24174. https://bugs.webkit.org/show_bug.cgi?id=49481
  24175. rdar://problem/8247444
  24176. * css/CSSStyleSelector.cpp:
  24177. (WebCore::loadFullScreenRulesIfNeeded): Change webkitFullScreen -> webkitIsFullScreen.
  24178. (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
  24179. * dom/Document.cpp:
  24180. (WebCore::Document::Document): Initialize m_fullScreenRenderer.
  24181. (WebCore::Document::detach): Call setFullScreenRenderer(0).
  24182. (WebCore::Document::nodeWillBeRemoved): Replicate the logic in webkitWillEnterFullScreenForElement.
  24183. (WebCore::Document::webkitWillEnterFullScreenForElement): Detach the fullscreen element to cause
  24184. a new RenderFullScreen renderer to be created with the new fullscreen element.
  24185. (WebCore::Document::webkitDidEnterFullScreenForElement): Notify clients of a fullscreen change
  24186. here, rather in "willEnter", to avoid reentrancy problems when clients remove nodes in response
  24187. to webkitfullscreenchange events.
  24188. (WebCore::Document::webkitWillExitFullScreenForElement): Recalculate the fullscreen element's style.
  24189. (WebCore::Document::webkitDidExitFullScreenForElement): Ditto.
  24190. (WebCore::Document::setFullScreenRenderer): Accessor for m_fullScreenRenderer.
  24191. (WebCore::Document::setFullScreenRendererSize): Set the style on the m_fullScreenRenderer with a new
  24192. size; this keeps clients from having to access the renderer's style directly.
  24193. (WebCore::Document::setFullScreenRendererBackgroundColor): Ditto.
  24194. * dom/Document.h:
  24195. (WebCore::Document::webkitIsFullScreen): Change webkitFullScreen -> webkitIsFullScreen.
  24196. (WebCore::Document::fullScreenRenderer): Accessor.
  24197. * dom/Document.idl:
  24198. * dom/Node.cpp:
  24199. (WebCore::Node::createRendererIfNeeded): If the document is in fullscreen mode, create a RenderFullScreen
  24200. object to insert between the fullscreen element and its parent.
  24201. * page/ChromeClient.h:
  24202. (WebCore::ChromeClient::fullScreenRendererChanged): Added.
  24203. * rendering/MediaControlElements.cpp:
  24204. (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): Change webkitFullScreen -> webkitIsFullScreen.
  24205. 2010-12-17 Jer Noble <jer@kokode.apple.com>
  24206. Reviewed by Simon Fraser.
  24207. Implement WebKit Full Screen support.
  24208. https://bugs.webkit.org/show_bug.cgi?id=49481
  24209. rdar://problem/8247444
  24210. This patch introduces a new RenderObject type: RenderFullScreen. The RenderFullScreen renderer
  24211. will be used to implement new FullScreen APIs. Because the RenderFullScreen object will be the
  24212. parent of the current fullscreen element, the style rules for fullscreen objects must change to
  24213. match.
  24214. * WebCore.xcodeproj/project.pbxproj:
  24215. * rendering/RenderFullScreen.cpp: Added.
  24216. (RenderFullScreen::setAnimating): Sets the m_isAnimating flag.
  24217. (RenderFullScreen::createFullScreenStyle): Returns a new RenderStyle containing the default stye
  24218. for RenderFullScreen objects.
  24219. * rendering/RenderFullScreen.h: Added.
  24220. (WebCore::RenderFullScreen::isRenderFullScreen): Added. Overrides the RenderObject version.
  24221. * rendering/RenderObject.h:
  24222. (WebCore::RenderObject::isRenderFullScreen): Added. Used for type-checking RenderFullScreen objects.
  24223. * css/fullscreen.css: Modified the contained fullscreen styles.
  24224. 2011-01-07 James Robinson <jamesr@chromium.org>
  24225. Revert "Implement mozilla's animationTime property"
  24226. https://bugs.webkit.org/show_bug.cgi?id=51952
  24227. This approach isn't quite right.
  24228. * Android.mk:
  24229. * CMakeLists.txt:
  24230. * GNUmakefile.am:
  24231. * WebCore.exp.in:
  24232. * WebCore.gypi:
  24233. * WebCore.pro:
  24234. * WebCore.vcproj/WebCore.vcproj:
  24235. * WebCore.xcodeproj/project.pbxproj:
  24236. * page/DOMWindow.cpp:
  24237. * page/DOMWindow.h:
  24238. * page/DOMWindow.idl:
  24239. * page/Frame.cpp:
  24240. * page/Frame.h:
  24241. * page/Page.cpp:
  24242. (WebCore::Page::Page):
  24243. * page/Page.h:
  24244. * page/animation/AnimationController.cpp:
  24245. (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
  24246. * page/animation/AnimationTimeController.cpp: Removed.
  24247. * page/animation/AnimationTimeController.h: Removed.
  24248. 2011-01-07 Jan Erik Hanssen <jhanssen@sencha.com>
  24249. Reviewed by Andreas Kling.
  24250. [Qt] Black text on black buttons using a dark theme
  24251. https://bugs.webkit.org/show_bug.cgi?id=35024
  24252. Implement RenderThemeQt::systemColor to apply the correct colors from the current Qt style.
  24253. * platform/qt/RenderThemeQt.cpp:
  24254. (WebCore::RenderThemeQt::systemColor):
  24255. * platform/qt/RenderThemeQt.h:
  24256. 2011-01-05 Adrienne Walker <enne@google.com>
  24257. Reviewed by Kenneth Russell.
  24258. Add WEBKIT_lose_context WebGL extension.
  24259. https://bugs.webkit.org/show_bug.cgi?id=51492
  24260. Tests: fast/canvas/webgl/context-lost-restored.html
  24261. fast/canvas/webgl/context-lost.html
  24262. * CMakeLists.txt:
  24263. * DerivedSources.make:
  24264. * GNUmakefile.am:
  24265. * WebCore.gypi:
  24266. * WebCore.pri:
  24267. * WebCore.pro:
  24268. * WebCore.xcodeproj/project.pbxproj:
  24269. * bindings/js/JSWebGLRenderingContextCustom.cpp:
  24270. (WebCore::toJS):
  24271. (WebCore::JSWebGLRenderingContext::getSupportedExtensions):
  24272. * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
  24273. (WebCore::toV8Object):
  24274. (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
  24275. * html/canvas/WebGLExtension.h:
  24276. * html/canvas/WebGLRenderingContext.cpp:
  24277. (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired):
  24278. (WebCore::WebGLRenderingContext::getExtension):
  24279. (WebCore::WebGLRenderingContext::getSupportedExtensions):
  24280. (WebCore::WebGLRenderingContext::forceLostContext):
  24281. (WebCore::WebGLRenderingContext::onLostContext):
  24282. (WebCore::WebGLRenderingContext::getNumberOfExtensions):
  24283. (WebCore::WebGLRenderingContext::getExtensionNumber):
  24284. * html/canvas/WebGLRenderingContext.h:
  24285. * html/canvas/WebKitLoseContext.cpp: Copied from WebCore/html/canvas/WebGLExtension.h.
  24286. (WebCore::WebKitLoseContext::WebKitLoseContext):
  24287. (WebCore::WebKitLoseContext::~WebKitLoseContext):
  24288. (WebCore::WebKitLoseContext::getName):
  24289. (WebCore::WebKitLoseContext::create):
  24290. (WebCore::WebKitLoseContext::loseContext):
  24291. * html/canvas/WebKitLoseContext.h: Copied from WebCore/html/canvas/WebGLExtension.h.
  24292. * html/canvas/WebKitLoseContext.idl: Copied from WebCore/html/canvas/WebGLExtension.h.
  24293. 2011-01-07 Chris Marrin <cmarrin@apple.com>
  24294. Unreviewed.
  24295. Build fix for Chromium. Missing include.
  24296. * page/animation/AnimationBase.cpp:
  24297. 2011-01-07 Chris Marrin <cmarrin@apple.com>
  24298. Unreviewed.
  24299. Build fix.
  24300. * platform/graphics/ca/win/PlatformCALayerWin.cpp:
  24301. 2011-01-06 Gavin Barraclough <barraclough@apple.com>
  24302. Reviewed by Geoff Garen.
  24303. Bug 52035 - Unregistering DOMWrapperWorlds is unsafe
  24304. The method DOMWrapperWorld::unregisterWorld() effectively calls the DOMWrapperWorld's
  24305. destructor early, in order to release wrappers once we know we no longer intend to use them.
  24306. Whilst it is okay to have a method to throw away wrappers (assuming we know we're willing to
  24307. lose any state stored on them) it is not okay to deregister the world from the JSGlobalData.
  24308. A sequence of events that triggers the bug would look like this:
  24309. (1) Create a DOMWrapperWorld.
  24310. (2) Register a timer in the world.
  24311. (3) Call unregisterWorld() on the world.
  24312. (4) Timer goes off, code is executed in the world, creates a Node not attached to a Document.
  24313. (5) We attempt to lookup a wrapper map for the world on the JSGlobalData, but because we've
  24314. called forgetWorld() none exists.
  24315. (6) Attempt to add a wrapper to a NULL map.
  24316. Fix the problem by not removing the JSGlobalData's wrapper map until the world really goes away.
  24317. * WebCore.exp.in:
  24318. * bindings/js/DOMWrapperWorld.cpp:
  24319. (WebCore::DOMWrapperWorld::DOMWrapperWorld):
  24320. (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
  24321. (WebCore::DOMWrapperWorld::clearWrappers):
  24322. * bindings/js/DOMWrapperWorld.h:
  24323. 2011-01-07 Chris Marrin <cmarrin@apple.com>
  24324. Rubber-stamped by Simon Fraser.
  24325. Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
  24326. https://bugs.webkit.org/show_bug.cgi?id=49388
  24327. Final step in unifying GraphicsLayer logic across Win and Mac. This
  24328. implements the Windows side classes for PlatformCALayer and supporting
  24329. classes. Also changed MediaPlayer to use new PlatformCALayerClient
  24330. so it can use PlatformCALayer directly rather than a dummy GraphicsLayer.
  24331. WKCACFLayerRenderer now does the task of notifying animations of their
  24332. start time. Also commented out an assert in AnimationBase because
  24333. AnimationController's frame time is not in sync with the new
  24334. AnimationTimeController. I've opened a new bug for that issue:
  24335. https://bugs.webkit.org/show_bug.cgi?id=52037
  24336. This also includes the Mac side changes backed out in
  24337. http://trac.webkit.org/changeset/75227.
  24338. * WebCore.vcproj/WebCore.vcproj:
  24339. * WebCore.vcproj/WebCoreCommon.vsprops:
  24340. * WebCore.vcproj/copyForwardingHeaders.cmd:
  24341. * WebCore.xcodeproj/project.pbxproj:
  24342. * config.h:
  24343. * page/animation/AnimationBase.cpp:
  24344. (WebCore::AnimationBase::freezeAtTime):
  24345. (WebCore::AnimationBase::getElapsedTime):
  24346. * page/animation/AnimationController.cpp:
  24347. (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
  24348. * page/animation/KeyframeAnimation.cpp:
  24349. (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
  24350. * platform/graphics/GraphicsLayer.h:
  24351. (WebCore::GraphicsLayer::layerDidDisplay):
  24352. (WebCore::GraphicsLayer::showDebugBorders):
  24353. (WebCore::GraphicsLayer::showRepaintCounter):
  24354. * platform/graphics/ca/GraphicsLayerCA.cpp:
  24355. (WebCore::GraphicsLayerCA::platformCALayerAnimationStarted):
  24356. (WebCore::GraphicsLayerCA::setContentsToImage):
  24357. (WebCore::GraphicsLayerCA::setContentsToMedia):
  24358. (WebCore::GraphicsLayerCA::layerDidDisplay):
  24359. (WebCore::GraphicsLayerCA::updateSublayerList):
  24360. * platform/graphics/ca/GraphicsLayerCA.h:
  24361. (WebCore::GraphicsLayerCA::platformCALayer):
  24362. (WebCore::GraphicsLayerCA::platformCALayerLayoutSublayersOfLayer):
  24363. (WebCore::GraphicsLayerCA::platformCALayerRespondsToLayoutChanges):
  24364. (WebCore::GraphicsLayerCA::platformCALayerContentsOrientation):
  24365. (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
  24366. (WebCore::GraphicsLayerCA::platformCALayerShowDebugBorders):
  24367. (WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter):
  24368. (WebCore::GraphicsLayerCA::platformCALayerIncrementRepaintCount):
  24369. (WebCore::GraphicsLayerCA::platformCALayerContentsOpaque):
  24370. (WebCore::GraphicsLayerCA::platformCALayerDrawsContent):
  24371. (WebCore::GraphicsLayerCA::platformCALayerLayerDidDisplay):
  24372. * platform/graphics/ca/PlatformCAAnimation.h:
  24373. * platform/graphics/ca/PlatformCALayer.h:
  24374. (WebCore::PlatformCALayer::owner):
  24375. (WebCore::PlatformCALayer::animationStarted):
  24376. * platform/graphics/ca/PlatformCALayerClient.h: Copied from WebCore/platform/graphics/ca/PlatformCALayerClient.h.
  24377. * platform/graphics/ca/mac/PlatformCALayerMac.mm:
  24378. (PlatformCALayer::setOwner):
  24379. (PlatformCALayer::create):
  24380. (PlatformCALayer::PlatformCALayer):
  24381. (PlatformCALayer::contents):
  24382. (PlatformCALayer::setContents):
  24383. * platform/graphics/ca/win: Added.
  24384. * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: Added.
  24385. * platform/graphics/ca/win/PlatformCALayerWin.cpp: Added.
  24386. * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: Added.
  24387. * platform/graphics/ca/win/PlatformCALayerWinInternal.h: Added.
  24388. (WebCore::PlatformCALayerWinInternal::owner):
  24389. * platform/graphics/mac/WebGLLayer.mm:
  24390. (-[WebGLLayer display]):
  24391. * platform/graphics/mac/WebLayer.h:
  24392. * platform/graphics/mac/WebLayer.mm:
  24393. (drawLayerContents):
  24394. (setLayerNeedsDisplayInRect):
  24395. (-[WebLayer setNeedsDisplay]):
  24396. (-[WebLayer display]):
  24397. * platform/graphics/mac/WebTiledLayer.mm:
  24398. (-[WebTiledLayer setNeedsDisplay]):
  24399. (-[WebTiledLayer display]):
  24400. * platform/graphics/win/GraphicsContextCGWin.cpp:
  24401. (WebCore::CGContextWithHDC):
  24402. * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
  24403. (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer):
  24404. (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):
  24405. * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
  24406. (WebCore::MediaPlayerPrivateFullscreenWindow::rootChildLayer):
  24407. * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
  24408. (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::~LayerClient):
  24409. (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerRespondsToLayoutChanges):
  24410. (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerAnimationStarted):
  24411. (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerContentsOrientation):
  24412. (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerPaintContents):
  24413. (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerShowDebugBorders):
  24414. (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerShowRepaintCounter):
  24415. (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerIncrementRepaintCount):
  24416. (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerContentsOpaque):
  24417. (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDrawsContent):
  24418. (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerLayerDidDisplay):
  24419. (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerLayoutSublayersOfLayer):
  24420. (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
  24421. (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformMedia):
  24422. (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
  24423. (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
  24424. * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
  24425. * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
  24426. (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
  24427. (WebCore::MediaPlayerPrivate::createLayerForMovie):
  24428. * platform/graphics/win/WKCACFLayerRenderer.cpp:
  24429. (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
  24430. (WebCore::WKCACFLayerRenderer::rootLayer):
  24431. (WebCore::WKCACFLayerRenderer::addPendingAnimatedLayer):
  24432. (WebCore::WKCACFLayerRenderer::setRootChildLayer):
  24433. (WebCore::WKCACFLayerRenderer::setNeedsDisplay):
  24434. (WebCore::WKCACFLayerRenderer::destroyRenderer):
  24435. (WebCore::WKCACFLayerRenderer::render):
  24436. * platform/graphics/win/WKCACFLayerRenderer.h:
  24437. (WebCore::WKCACFLayerRendererClient::animationsStarted):
  24438. (WebCore::WKCACFLayerRendererClient::syncCompositingState):
  24439. * rendering/RenderLayerBacking.cpp:
  24440. (WebCore::RenderLayerBacking::showDebugBorders):
  24441. (WebCore::RenderLayerBacking::showRepaintCounter):
  24442. * rendering/RenderLayerCompositor.cpp:
  24443. (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
  24444. * rendering/RenderLayerCompositor.h:
  24445. (WebCore::RenderLayerCompositor::compositorShowDebugBorders):
  24446. (WebCore::RenderLayerCompositor::compositorShowRepaintCounter):
  24447. (WebCore::RenderLayerCompositor::notifyAnimationStarted):
  24448. (WebCore::RenderLayerCompositor::notifySyncRequired):
  24449. (WebCore::RenderLayerCompositor::paintContents):
  24450. (WebCore::RenderLayerCompositor::showDebugBorders):
  24451. (WebCore::RenderLayerCompositor::showRepaintCounter):
  24452. 2011-01-07 Nate Chapin <japhet@chromium.org>
  24453. Reviewed by Darin Fisher.
  24454. Let PingLoader send cookies if FrameLoaderClient permits it.
  24455. https://bugs.webkit.org/show_bug.cgi?id=51898
  24456. Test: http/tests/navigation/ping-cookie.html
  24457. * loader/PingLoader.cpp:
  24458. (WebCore::PingLoader::PingLoader): Set m_shouldUseCredentialStorage
  24459. at load start time, since we won't be able to call
  24460. FrameLoaderClient::shouldUseCredentialStorage() later.
  24461. * loader/PingLoader.h:
  24462. (WebCore::PingLoader::shouldUseCredentialStorage):
  24463. 2011-01-07 Xan Lopez <xlopez@igalia.com>
  24464. Unreviewed, rolling out r75256.
  24465. http://trac.webkit.org/changeset/75256
  24466. https://bugs.webkit.org/show_bug.cgi?id=50869
  24467. Broke GTK+ canvas tests
  24468. * platform/graphics/cairo/PathCairo.cpp:
  24469. (WebCore::Path::addArc):
  24470. 2011-01-07 Carlos Garcia Campos <cgarcia@igalia.com>
  24471. Reviewed by Martin Robinson.
  24472. [GTK] Port scrollbar painting to GtkStyleContext
  24473. https://bugs.webkit.org/show_bug.cgi?id=52051
  24474. Use GtkStyleContext API to paint scrollbars when building with
  24475. GTK+ 3.x.
  24476. No new tests. This should not change functionality.
  24477. * platform/gtk/RenderThemeGtk.h:
  24478. * platform/gtk/RenderThemeGtk3.cpp:
  24479. (WebCore::RenderThemeGtk::gtkScrollbarStyle):
  24480. * platform/gtk/ScrollbarThemeGtk.cpp:
  24481. * platform/gtk/ScrollbarThemeGtk.h:
  24482. * platform/gtk/ScrollbarThemeGtk2.cpp:
  24483. (WebCore::gtkStyleSetCallback):
  24484. (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk):
  24485. * platform/gtk/ScrollbarThemeGtk3.cpp:
  24486. (WebCore::gtkStyleChangedCallback):
  24487. (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk):
  24488. (WebCore::ScrollbarThemeGtk::updateThemeProperties):
  24489. (WebCore::ScrollbarThemeGtk::paintTrackBackground):
  24490. (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
  24491. (WebCore::ScrollbarThemeGtk::paintThumb):
  24492. (WebCore::ScrollbarThemeGtk::paintButton):
  24493. 2011-01-07 Dan Bernstein <mitz@apple.com>
  24494. Reviewed by Darin Adler.
  24495. <rdar://problem/8783318> Text emphasis marks should not appear over characters that have ruby annotations
  24496. https://bugs.webkit.org/show_bug.cgi?id=51267
  24497. Test: fast/text/emphasis-avoid-ruby.html
  24498. * rendering/InlineFlowBox.cpp:
  24499. (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Use getEmphasisMarkPosition() to check if
  24500. there are text emphasis marks.
  24501. (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Ditto.
  24502. (WebCore::InlineFlowBox::computeOverAnnotationAdjustment): Ditto.
  24503. * rendering/InlineTextBox.cpp:
  24504. (WebCore::InlineTextBox::getEmphasisMarkPosition): Added. Returns true and sets the emphasis mark
  24505. position if the text is style with emphasis marks and there isn’t a ruby annotation that should
  24506. suppress them. Otherwise returns false.
  24507. (WebCore::InlineTextBox::paint): Use getEmphasisMarkPosition() to check if emphasis marks should
  24508. be painted.
  24509. * rendering/InlineTextBox.h:
  24510. 2011-01-07 Alejandro G. Castro <alex@igalia.com>
  24511. Reviewed by Martin Robinson.
  24512. [cairo] Rendering a lot of arcs on top of each other causes time
  24513. outs in some tests
  24514. https://bugs.webkit.org/show_bug.cgi?id=50869
  24515. We avoid the situation where we have to render the same arc
  24516. multiple times over itself. Now it renders just one oval and
  24517. moves to the end angle.
  24518. * platform/graphics/cairo/PathCairo.cpp:
  24519. (WebCore::Path::addArc):
  24520. 2011-01-07 Carlos Garcia Campos <cgarcia@igalia.com>
  24521. Reviewed by Martin Robinson.
  24522. [GTK] Port buttons painting to GtkStyleContext
  24523. https://bugs.webkit.org/show_bug.cgi?id=51812
  24524. Use GtkStyleContext API to paint buttons when building with GTK+
  24525. 3.x.
  24526. No new tests. This should not change functionality.
  24527. * platform/gtk/RenderThemeGtk3.cpp:
  24528. (WebCore::adjustRectForFocus):
  24529. (WebCore::RenderThemeGtk::adjustRepaintRect):
  24530. (WebCore::RenderThemeGtk::paintButton):
  24531. 2011-01-07 Zhenyao Mo <zmo@google.com>
  24532. Unreviewed, build fix.
  24533. * html/canvas/WebGLRenderingContext.cpp:
  24534. (WebCore::WebGLRenderingContext::copyTexSubImage2D):
  24535. 2011-01-06 Zhenyao Mo <zmo@google.com>
  24536. Reviewed by Kenneth Russell.
  24537. copyTexSubImage2D shouldn't have undefined pixels
  24538. https://bugs.webkit.org/show_bug.cgi?id=51559
  24539. * html/canvas/WebGLRenderingContext.cpp:
  24540. (WebCore::WebGLRenderingContext::copyTexImage2D): Refactor to share some code with copyTexSubImage2D through helper function clip2D.
  24541. (WebCore::WebGLRenderingContext::copyTexSubImage2D): Initialize undefined pixels to 0.
  24542. (WebCore::WebGLRenderingContext::validateTexFuncLevel): Seperate the validation of level from validateTexFuncParameters.
  24543. (WebCore::WebGLRenderingContext::validateTexFuncParameters): Ditto.
  24544. * html/canvas/WebGLRenderingContext.h:
  24545. * html/canvas/WebGLTexture.cpp:
  24546. (WebCore::WebGLTexture::getType): Expose the type of a texture.
  24547. * html/canvas/WebGLTexture.h:
  24548. 2011-01-07 Takashi Toyoshima <toyoshim@google.com>
  24549. Reviewed by Kenneth Russell.
  24550. cleanupAfterGraphicsCall() is never called in
  24551. WebGLRenderingContext::checkFramebufferStatus()
  24552. https://bugs.webkit.org/show_bug.cgi?id=51668
  24553. No new tests. This is a trivial bug.
  24554. * html/canvas/WebGLRenderingContext.cpp:
  24555. (WebCore::WebGLRenderingContext::checkFramebufferStatus):
  24556. 2011-01-07 Mario Sanchez Prada <msanchez@igalia.com>
  24557. Reviewed by Chris Fleizach.
  24558. GTK: AX: atk tests need to be updated after recent changes
  24559. https://bugs.webkit.org/show_bug.cgi?id=51932
  24560. Make sure we can always get the right accesssible parent for an
  24561. AtkObject when traversing the hierarchy bottom up.
  24562. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
  24563. (isRootObject): New function to check whether an
  24564. AccessibilityObject is the root one or not, according to the
  24565. latest changes in the hierarchy.
  24566. (atkParentOfRootObject): Gets the appropriate AtkObject from GTK's
  24567. GAIL as the parent of the root AtkObject from WebCore.
  24568. (webkit_accessible_get_parent): Use atkParentOfRootObject.
  24569. (webkit_accessible_get_index_in_parent): Ditto.
  24570. (atkRole): Expose AccessibilityObjects with ScrollAreaRole as
  24571. AtkObject's of role ATK_ROLE_SCROLLED_PANE.
  24572. 2011-01-07 Zhenyao Mo <zmo@google.com>
  24573. Unreviewed, Mac 32-bit build fix.
  24574. Use float instead of double in GL function arguments to avoid implicit type down casting.
  24575. * html/canvas/WebGLRenderingContext.cpp:
  24576. (WebCore::WebGLRenderingContext::blendColor):
  24577. (WebCore::WebGLRenderingContext::clearColor):
  24578. (WebCore::WebGLRenderingContext::clearDepth):
  24579. (WebCore::WebGLRenderingContext::depthRange):
  24580. (WebCore::WebGLRenderingContext::lineWidth):
  24581. (WebCore::WebGLRenderingContext::polygonOffset):
  24582. (WebCore::WebGLRenderingContext::sampleCoverage):
  24583. * html/canvas/WebGLRenderingContext.h:
  24584. * html/canvas/WebGLRenderingContext.idl:
  24585. 2011-01-07 Carlos Garcia Campos <cgarcia@igalia.com> and Martin Robinson <mrobinson@igalia.com>
  24586. Reviewed by Xan Lopez.
  24587. [GTK] Port slider painting to GtkStyleContext
  24588. https://bugs.webkit.org/show_bug.cgi?id=51874
  24589. Use GtkStyleContext API to paint sliders when building with GTK+
  24590. 3.x. Also move the code to adjust media slider to its own method
  24591. in RenderThemeGtk.cpp since it's common to both gtk 2 and 3.
  24592. No new tests. This should not change functionality.
  24593. * platform/gtk/RenderThemeGtk.cpp:
  24594. (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize):
  24595. * platform/gtk/RenderThemeGtk.h:
  24596. * platform/gtk/RenderThemeGtk2.cpp:
  24597. (WebCore::RenderThemeGtk::adjustSliderThumbSize):
  24598. * platform/gtk/RenderThemeGtk3.cpp:
  24599. (WebCore::RenderThemeGtk::paintSliderTrack):
  24600. (WebCore::RenderThemeGtk::paintSliderThumb):
  24601. (WebCore::RenderThemeGtk::adjustSliderThumbSize):
  24602. 2011-01-07 Benjamin Poulain <benjamin.poulain@nokia.com>
  24603. Reviewed by Andreas Kling.
  24604. [Qt] [WK2] QtWebKit does not build in debug, FileReader.cpp does not compile
  24605. https://bugs.webkit.org/show_bug.cgi?id=51992
  24606. Add the missing header. CString is used in debug by the calls to LOG().
  24607. * fileapi/FileReader.cpp:
  24608. 2011-01-07 Alejandro G. Castro <alex@igalia.com>
  24609. Reviewed by Martin Robinson.
  24610. Cairo's ContextShadow may mis-render some box shadows
  24611. https://bugs.webkit.org/show_bug.cgi?id=51374
  24612. The space required for the internal shadow of the corners was not
  24613. correctly considered.
  24614. * platform/graphics/cairo/ContextShadowCairo.cpp:
  24615. (WebCore::ContextShadow::drawRectShadow):
  24616. 2011-01-06 Adam Barth <abarth@webkit.org>
  24617. Reviewed by Darin Adler.
  24618. REGRESSION (r74663): ASSERTION FAILED: m_tokenizer->lineNumber() == line.zeroBasedInt()
  24619. https://bugs.webkit.org/show_bug.cgi?id=52013
  24620. When excluding line numbers for composite strings, we forgot to exclude
  24621. the line number for the current string!
  24622. Test: fast/parser/line-number-composite-segmented-string.html
  24623. * platform/text/SegmentedString.cpp:
  24624. (WebCore::SegmentedString::setExcludeLineNumbers):
  24625. 2011-01-06 Chris Marrin <cmarrin@apple.com>
  24626. Unreviewed.
  24627. Back out changes in http://trac.webkit.org/changeset/75199
  24628. This breaks the Windows build. Fixing it on that side. Until
  24629. then I'll back this out.
  24630. 2011-01-06 Jenn Braithwaite <jennb@chromium.org>
  24631. Reviewed by Dmitry Titov.
  24632. When a live frame is moved between pages, some plug-in DOM methods cease to function
  24633. https://bugs.webkit.org/show_bug.cgi?id=45770
  24634. Test: fast/frames/iframe-reparenting-plugins.html
  24635. * page/Frame.cpp:
  24636. (WebCore::Frame::~Frame):
  24637. (WebCore::Frame::addObserver):
  24638. (WebCore::Frame::removeObserver):
  24639. * page/Frame.h:
  24640. (WebCore::FrameDestructionObserver::~FrameDestructionObserver):
  24641. Added observer to be notified when frame is destroyed.
  24642. * page/Page.cpp:
  24643. (WebCore::Page::~Page):
  24644. (WebCore::Page::refreshPlugins):
  24645. PluginData no longer stores page pointer.
  24646. * plugins/DOMMimeType.cpp:
  24647. (WebCore::DOMMimeType::DOMMimeType):
  24648. (WebCore::DOMMimeType::~DOMMimeType):
  24649. (WebCore::DOMMimeType::enabledPlugin):
  24650. * plugins/DOMMimeType.h:
  24651. (WebCore::DOMMimeType::create):
  24652. (WebCore::DOMMimeType::frameDestroyed):
  24653. Store frame instead of page pointer in DOMMimeType.
  24654. * plugins/DOMMimeTypeArray.cpp:
  24655. (WebCore::DOMMimeTypeArray::item):
  24656. (WebCore::DOMMimeTypeArray::namedItem):
  24657. Provide frame to create DOMMimeType.
  24658. * plugins/DOMPlugin.cpp:
  24659. (WebCore::DOMPlugin::DOMPlugin):
  24660. (WebCore::DOMPlugin::~DOMPlugin):
  24661. (WebCore::DOMPlugin::item):
  24662. (WebCore::DOMPlugin::namedItem):
  24663. * plugins/DOMPlugin.h:
  24664. (WebCore::DOMPlugin::create):
  24665. (WebCore::DOMPlugin::frameDestroyed):
  24666. Store frame instead of page pointer in DOMPlugin.
  24667. * plugins/DOMPluginArray.cpp:
  24668. (WebCore::DOMPluginArray::item):
  24669. (WebCore::DOMPluginArray::namedItem):
  24670. Provide frame to create DOMPlugin.
  24671. * plugins/PluginData.cpp:
  24672. (WebCore::PluginData::PluginData):
  24673. (WebCore::PluginData::initPlugins):
  24674. * plugins/PluginData.h:
  24675. No longer stores a pointer to the page.
  24676. Added page parameter to initPlugins.
  24677. * plugins/PluginDataNone.cpp:
  24678. (WebCore::PluginData::initPlugins):
  24679. * plugins/chromium/PluginDataChromium.cpp:
  24680. (WebCore::PluginData::initPlugins):
  24681. * plugins/gtk/PluginDataGtk.cpp:
  24682. (WebCore::PluginData::initPlugins):
  24683. * plugins/wx/PluginDataWx.cpp:
  24684. (WebCore::PluginData::initPlugins):
  24685. Updated platforms to add (unused) page parameter to initPlugins.
  24686. 2011-01-05 Zhenyao Mo <zmo@google.com>
  24687. Reviewed by Kenneth Russell.
  24688. Define GC3D types to match GL types and use them in GraphicsContext3D
  24689. https://bugs.webkit.org/show_bug.cgi?id=45557
  24690. * html/canvas/WebGLRenderingContext.cpp:
  24691. (WebCore::WebGLRenderingContext::readPixels):
  24692. (WebCore::WebGLRenderingContext::validateTexFuncData):
  24693. * platform/graphics/GraphicsContext3D.cpp:
  24694. (WebCore::GraphicsContext3D::texImage2DResourceSafe):
  24695. (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
  24696. (WebCore::GraphicsContext3D::extractImageData):
  24697. (WebCore::GraphicsContext3D::extractTextureData):
  24698. * platform/graphics/GraphicsContext3D.h:
  24699. * platform/graphics/cg/GraphicsContext3DCG.cpp:
  24700. (WebCore::GraphicsContext3D::getImageData):
  24701. * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
  24702. (WebCore::SharedGraphicsContext3D::enable):
  24703. (WebCore::SharedGraphicsContext3D::disable):
  24704. (WebCore::SharedGraphicsContext3D::clear):
  24705. (WebCore::SharedGraphicsContext3D::drawArrays):
  24706. (WebCore::SharedGraphicsContext3D::getError):
  24707. (WebCore::SharedGraphicsContext3D::getIntegerv):
  24708. (WebCore::SharedGraphicsContext3D::createFramebuffer):
  24709. (WebCore::SharedGraphicsContext3D::createTexture):
  24710. (WebCore::SharedGraphicsContext3D::deleteFramebuffer):
  24711. (WebCore::SharedGraphicsContext3D::deleteTexture):
  24712. (WebCore::SharedGraphicsContext3D::framebufferTexture2D):
  24713. (WebCore::SharedGraphicsContext3D::texParameteri):
  24714. (WebCore::SharedGraphicsContext3D::texImage2D):
  24715. (WebCore::SharedGraphicsContext3D::texSubImage2D):
  24716. (WebCore::SharedGraphicsContext3D::readPixels):
  24717. (WebCore::SharedGraphicsContext3D::setActiveTexture):
  24718. (WebCore::SharedGraphicsContext3D::bindTexture):
  24719. (WebCore::SharedGraphicsContext3D::bindFramebuffer):
  24720. * platform/graphics/gpu/SharedGraphicsContext3D.h:
  24721. * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
  24722. (WebCore::GraphicsContext3D::activeTexture):
  24723. (WebCore::GraphicsContext3D::attachShader):
  24724. (WebCore::GraphicsContext3D::bindAttribLocation):
  24725. (WebCore::GraphicsContext3D::bindBuffer):
  24726. (WebCore::GraphicsContext3D::bindFramebuffer):
  24727. (WebCore::GraphicsContext3D::bindRenderbuffer):
  24728. (WebCore::GraphicsContext3D::bindTexture):
  24729. (WebCore::GraphicsContext3D::blendColor):
  24730. (WebCore::GraphicsContext3D::blendEquation):
  24731. (WebCore::GraphicsContext3D::blendEquationSeparate):
  24732. (WebCore::GraphicsContext3D::blendFunc):
  24733. (WebCore::GraphicsContext3D::blendFuncSeparate):
  24734. (WebCore::GraphicsContext3D::bufferData):
  24735. (WebCore::GraphicsContext3D::bufferSubData):
  24736. (WebCore::GraphicsContext3D::checkFramebufferStatus):
  24737. (WebCore::GraphicsContext3D::clearColor):
  24738. (WebCore::GraphicsContext3D::clear):
  24739. (WebCore::GraphicsContext3D::clearDepth):
  24740. (WebCore::GraphicsContext3D::clearStencil):
  24741. (WebCore::GraphicsContext3D::colorMask):
  24742. (WebCore::GraphicsContext3D::compileShader):
  24743. (WebCore::GraphicsContext3D::copyTexImage2D):
  24744. (WebCore::GraphicsContext3D::copyTexSubImage2D):
  24745. (WebCore::GraphicsContext3D::cullFace):
  24746. (WebCore::GraphicsContext3D::depthFunc):
  24747. (WebCore::GraphicsContext3D::depthMask):
  24748. (WebCore::GraphicsContext3D::depthRange):
  24749. (WebCore::GraphicsContext3D::detachShader):
  24750. (WebCore::GraphicsContext3D::disable):
  24751. (WebCore::GraphicsContext3D::disableVertexAttribArray):
  24752. (WebCore::GraphicsContext3D::drawArrays):
  24753. (WebCore::GraphicsContext3D::drawElements):
  24754. (WebCore::GraphicsContext3D::enable):
  24755. (WebCore::GraphicsContext3D::enableVertexAttribArray):
  24756. (WebCore::GraphicsContext3D::framebufferRenderbuffer):
  24757. (WebCore::GraphicsContext3D::framebufferTexture2D):
  24758. (WebCore::GraphicsContext3D::frontFace):
  24759. (WebCore::GraphicsContext3D::generateMipmap):
  24760. (WebCore::GraphicsContext3D::getActiveAttrib):
  24761. (WebCore::GraphicsContext3D::getActiveUniform):
  24762. (WebCore::GraphicsContext3D::getAttachedShaders):
  24763. (WebCore::GraphicsContext3D::getAttribLocation):
  24764. (WebCore::GraphicsContext3D::getError):
  24765. (WebCore::GraphicsContext3D::getString):
  24766. (WebCore::GraphicsContext3D::hint):
  24767. (WebCore::GraphicsContext3D::isBuffer):
  24768. (WebCore::GraphicsContext3D::isEnabled):
  24769. (WebCore::GraphicsContext3D::isFramebuffer):
  24770. (WebCore::GraphicsContext3D::isProgram):
  24771. (WebCore::GraphicsContext3D::isRenderbuffer):
  24772. (WebCore::GraphicsContext3D::isShader):
  24773. (WebCore::GraphicsContext3D::isTexture):
  24774. (WebCore::GraphicsContext3D::lineWidth):
  24775. (WebCore::GraphicsContext3D::linkProgram):
  24776. (WebCore::GraphicsContext3D::pixelStorei):
  24777. (WebCore::GraphicsContext3D::polygonOffset):
  24778. (WebCore::GraphicsContext3D::readPixels):
  24779. (WebCore::GraphicsContext3D::renderbufferStorage):
  24780. (WebCore::GraphicsContext3D::sampleCoverage):
  24781. (WebCore::GraphicsContext3D::scissor):
  24782. (WebCore::GraphicsContext3D::stencilFunc):
  24783. (WebCore::GraphicsContext3D::stencilFuncSeparate):
  24784. (WebCore::GraphicsContext3D::stencilMask):
  24785. (WebCore::GraphicsContext3D::stencilMaskSeparate):
  24786. (WebCore::GraphicsContext3D::stencilOp):
  24787. (WebCore::GraphicsContext3D::stencilOpSeparate):
  24788. (WebCore::GraphicsContext3D::texParameterf):
  24789. (WebCore::GraphicsContext3D::texParameteri):
  24790. (WebCore::GraphicsContext3D::uniform1f):
  24791. (WebCore::GraphicsContext3D::uniform1fv):
  24792. (WebCore::GraphicsContext3D::uniform2f):
  24793. (WebCore::GraphicsContext3D::uniform2fv):
  24794. (WebCore::GraphicsContext3D::uniform3f):
  24795. (WebCore::GraphicsContext3D::uniform3fv):
  24796. (WebCore::GraphicsContext3D::uniform4f):
  24797. (WebCore::GraphicsContext3D::uniform4fv):
  24798. (WebCore::GraphicsContext3D::uniform1i):
  24799. (WebCore::GraphicsContext3D::uniform1iv):
  24800. (WebCore::GraphicsContext3D::uniform2i):
  24801. (WebCore::GraphicsContext3D::uniform2iv):
  24802. (WebCore::GraphicsContext3D::uniform3i):
  24803. (WebCore::GraphicsContext3D::uniform3iv):
  24804. (WebCore::GraphicsContext3D::uniform4i):
  24805. (WebCore::GraphicsContext3D::uniform4iv):
  24806. (WebCore::GraphicsContext3D::uniformMatrix2fv):
  24807. (WebCore::GraphicsContext3D::uniformMatrix3fv):
  24808. (WebCore::GraphicsContext3D::uniformMatrix4fv):
  24809. (WebCore::GraphicsContext3D::useProgram):
  24810. (WebCore::GraphicsContext3D::validateProgram):
  24811. (WebCore::GraphicsContext3D::vertexAttrib1f):
  24812. (WebCore::GraphicsContext3D::vertexAttrib1fv):
  24813. (WebCore::GraphicsContext3D::vertexAttrib2f):
  24814. (WebCore::GraphicsContext3D::vertexAttrib2fv):
  24815. (WebCore::GraphicsContext3D::vertexAttrib3f):
  24816. (WebCore::GraphicsContext3D::vertexAttrib3fv):
  24817. (WebCore::GraphicsContext3D::vertexAttrib4f):
  24818. (WebCore::GraphicsContext3D::vertexAttrib4fv):
  24819. (WebCore::GraphicsContext3D::vertexAttribPointer):
  24820. (WebCore::GraphicsContext3D::viewport):
  24821. (WebCore::GraphicsContext3D::getBooleanv):
  24822. (WebCore::GraphicsContext3D::getBufferParameteriv):
  24823. (WebCore::GraphicsContext3D::getFloatv):
  24824. (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
  24825. (WebCore::GraphicsContext3D::getIntegerv):
  24826. (WebCore::GraphicsContext3D::getProgramiv):
  24827. (WebCore::GraphicsContext3D::getProgramInfoLog):
  24828. (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
  24829. (WebCore::GraphicsContext3D::getShaderiv):
  24830. (WebCore::GraphicsContext3D::getShaderInfoLog):
  24831. (WebCore::GraphicsContext3D::getTexParameterfv):
  24832. (WebCore::GraphicsContext3D::getTexParameteriv):
  24833. (WebCore::GraphicsContext3D::getUniformfv):
  24834. (WebCore::GraphicsContext3D::getUniformiv):
  24835. (WebCore::GraphicsContext3D::getUniformLocation):
  24836. (WebCore::GraphicsContext3D::getVertexAttribfv):
  24837. (WebCore::GraphicsContext3D::getVertexAttribiv):
  24838. (WebCore::GraphicsContext3D::getVertexAttribOffset):
  24839. (WebCore::GraphicsContext3D::texImage2D):
  24840. (WebCore::GraphicsContext3D::texSubImage2D):
  24841. (WebCore::GraphicsContext3D::createBuffer):
  24842. (WebCore::GraphicsContext3D::createFramebuffer):
  24843. (WebCore::GraphicsContext3D::createProgram):
  24844. (WebCore::GraphicsContext3D::createRenderbuffer):
  24845. (WebCore::GraphicsContext3D::createShader):
  24846. (WebCore::GraphicsContext3D::createTexture):
  24847. (WebCore::GraphicsContext3D::deleteBuffer):
  24848. (WebCore::GraphicsContext3D::deleteFramebuffer):
  24849. (WebCore::GraphicsContext3D::deleteProgram):
  24850. (WebCore::GraphicsContext3D::deleteRenderbuffer):
  24851. (WebCore::GraphicsContext3D::deleteShader):
  24852. (WebCore::GraphicsContext3D::deleteTexture):
  24853. (WebCore::GraphicsContext3D::sizeInBytes):
  24854. (WebCore::GraphicsContext3D::synthesizeGLError):
  24855. * platform/graphics/qt/GraphicsContext3DQt.cpp:
  24856. (WebCore::GraphicsContext3D::activeTexture):
  24857. (WebCore::GraphicsContext3D::attachShader):
  24858. (WebCore::GraphicsContext3D::getAttachedShaders):
  24859. (WebCore::GraphicsContext3D::bindAttribLocation):
  24860. (WebCore::GraphicsContext3D::bindBuffer):
  24861. (WebCore::GraphicsContext3D::bindFramebuffer):
  24862. (WebCore::GraphicsContext3D::bindRenderbuffer):
  24863. (WebCore::GraphicsContext3D::bindTexture):
  24864. (WebCore::GraphicsContext3D::blendColor):
  24865. (WebCore::GraphicsContext3D::blendEquation):
  24866. (WebCore::GraphicsContext3D::blendEquationSeparate):
  24867. (WebCore::GraphicsContext3D::blendFunc):
  24868. (WebCore::GraphicsContext3D::blendFuncSeparate):
  24869. (WebCore::GraphicsContext3D::bufferData):
  24870. (WebCore::GraphicsContext3D::bufferSubData):
  24871. (WebCore::GraphicsContext3D::checkFramebufferStatus):
  24872. (WebCore::GraphicsContext3D::clearColor):
  24873. (WebCore::GraphicsContext3D::clear):
  24874. (WebCore::GraphicsContext3D::clearDepth):
  24875. (WebCore::GraphicsContext3D::clearStencil):
  24876. (WebCore::GraphicsContext3D::colorMask):
  24877. (WebCore::GraphicsContext3D::compileShader):
  24878. (WebCore::GraphicsContext3D::copyTexImage2D):
  24879. (WebCore::GraphicsContext3D::copyTexSubImage2D):
  24880. (WebCore::GraphicsContext3D::cullFace):
  24881. (WebCore::GraphicsContext3D::depthFunc):
  24882. (WebCore::GraphicsContext3D::depthMask):
  24883. (WebCore::GraphicsContext3D::depthRange):
  24884. (WebCore::GraphicsContext3D::detachShader):
  24885. (WebCore::GraphicsContext3D::disable):
  24886. (WebCore::GraphicsContext3D::disableVertexAttribArray):
  24887. (WebCore::GraphicsContext3D::drawArrays):
  24888. (WebCore::GraphicsContext3D::drawElements):
  24889. (WebCore::GraphicsContext3D::enable):
  24890. (WebCore::GraphicsContext3D::enableVertexAttribArray):
  24891. (WebCore::GraphicsContext3D::framebufferRenderbuffer):
  24892. (WebCore::GraphicsContext3D::framebufferTexture2D):
  24893. (WebCore::GraphicsContext3D::frontFace):
  24894. (WebCore::GraphicsContext3D::generateMipmap):
  24895. (WebCore::GraphicsContext3D::getActiveAttrib):
  24896. (WebCore::GraphicsContext3D::getActiveUniform):
  24897. (WebCore::GraphicsContext3D::getAttribLocation):
  24898. (WebCore::GraphicsContext3D::getError):
  24899. (WebCore::GraphicsContext3D::getString):
  24900. (WebCore::GraphicsContext3D::hint):
  24901. (WebCore::GraphicsContext3D::isBuffer):
  24902. (WebCore::GraphicsContext3D::isEnabled):
  24903. (WebCore::GraphicsContext3D::isFramebuffer):
  24904. (WebCore::GraphicsContext3D::isProgram):
  24905. (WebCore::GraphicsContext3D::isRenderbuffer):
  24906. (WebCore::GraphicsContext3D::isShader):
  24907. (WebCore::GraphicsContext3D::isTexture):
  24908. (WebCore::GraphicsContext3D::linkProgram):
  24909. (WebCore::GraphicsContext3D::pixelStorei):
  24910. (WebCore::GraphicsContext3D::polygonOffset):
  24911. (WebCore::GraphicsContext3D::readPixels):
  24912. (WebCore::GraphicsContext3D::renderbufferStorage):
  24913. (WebCore::GraphicsContext3D::sampleCoverage):
  24914. (WebCore::GraphicsContext3D::scissor):
  24915. (WebCore::GraphicsContext3D::stencilFunc):
  24916. (WebCore::GraphicsContext3D::stencilFuncSeparate):
  24917. (WebCore::GraphicsContext3D::stencilMask):
  24918. (WebCore::GraphicsContext3D::stencilMaskSeparate):
  24919. (WebCore::GraphicsContext3D::stencilOp):
  24920. (WebCore::GraphicsContext3D::stencilOpSeparate):
  24921. (WebCore::GraphicsContext3D::texParameterf):
  24922. (WebCore::GraphicsContext3D::texParameteri):
  24923. (WebCore::GraphicsContext3D::uniform1f):
  24924. (WebCore::GraphicsContext3D::uniform1fv):
  24925. (WebCore::GraphicsContext3D::uniform2f):
  24926. (WebCore::GraphicsContext3D::uniform2fv):
  24927. (WebCore::GraphicsContext3D::uniform3f):
  24928. (WebCore::GraphicsContext3D::uniform3fv):
  24929. (WebCore::GraphicsContext3D::uniform4f):
  24930. (WebCore::GraphicsContext3D::uniform4fv):
  24931. (WebCore::GraphicsContext3D::uniform1i):
  24932. (WebCore::GraphicsContext3D::uniform1iv):
  24933. (WebCore::GraphicsContext3D::uniform2i):
  24934. (WebCore::GraphicsContext3D::uniform2iv):
  24935. (WebCore::GraphicsContext3D::uniform3i):
  24936. (WebCore::GraphicsContext3D::uniform3iv):
  24937. (WebCore::GraphicsContext3D::uniform4i):
  24938. (WebCore::GraphicsContext3D::uniform4iv):
  24939. (WebCore::GraphicsContext3D::uniformMatrix2fv):
  24940. (WebCore::GraphicsContext3D::uniformMatrix3fv):
  24941. (WebCore::GraphicsContext3D::uniformMatrix4fv):
  24942. (WebCore::GraphicsContext3D::useProgram):
  24943. (WebCore::GraphicsContext3D::validateProgram):
  24944. (WebCore::GraphicsContext3D::vertexAttrib1f):
  24945. (WebCore::GraphicsContext3D::vertexAttrib1fv):
  24946. (WebCore::GraphicsContext3D::vertexAttrib2f):
  24947. (WebCore::GraphicsContext3D::vertexAttrib2fv):
  24948. (WebCore::GraphicsContext3D::vertexAttrib3f):
  24949. (WebCore::GraphicsContext3D::vertexAttrib3fv):
  24950. (WebCore::GraphicsContext3D::vertexAttrib4f):
  24951. (WebCore::GraphicsContext3D::vertexAttrib4fv):
  24952. (WebCore::GraphicsContext3D::vertexAttribPointer):
  24953. (WebCore::GraphicsContext3D::viewport):
  24954. (WebCore::GraphicsContext3D::getBooleanv):
  24955. (WebCore::GraphicsContext3D::getBufferParameteriv):
  24956. (WebCore::GraphicsContext3D::getFloatv):
  24957. (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
  24958. (WebCore::GraphicsContext3D::getIntegerv):
  24959. (WebCore::GraphicsContext3D::getProgramiv):
  24960. (WebCore::GraphicsContext3D::getProgramInfoLog):
  24961. (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
  24962. (WebCore::GraphicsContext3D::getShaderiv):
  24963. (WebCore::GraphicsContext3D::getShaderInfoLog):
  24964. (WebCore::GraphicsContext3D::getShaderSource):
  24965. (WebCore::GraphicsContext3D::getTexParameterfv):
  24966. (WebCore::GraphicsContext3D::getTexParameteriv):
  24967. (WebCore::GraphicsContext3D::getUniformfv):
  24968. (WebCore::GraphicsContext3D::getUniformiv):
  24969. (WebCore::GraphicsContext3D::getUniformLocation):
  24970. (WebCore::GraphicsContext3D::getVertexAttribfv):
  24971. (WebCore::GraphicsContext3D::getVertexAttribiv):
  24972. (WebCore::GraphicsContext3D::getVertexAttribOffset):
  24973. (WebCore::GraphicsContext3D::texImage2D):
  24974. (WebCore::GraphicsContext3D::texSubImage2D):
  24975. (WebCore::GraphicsContext3D::createBuffer):
  24976. (WebCore::GraphicsContext3D::createFramebuffer):
  24977. (WebCore::GraphicsContext3D::createProgram):
  24978. (WebCore::GraphicsContext3D::createRenderbuffer):
  24979. (WebCore::GraphicsContext3D::createShader):
  24980. (WebCore::GraphicsContext3D::createTexture):
  24981. (WebCore::GraphicsContext3D::deleteBuffer):
  24982. (WebCore::GraphicsContext3D::deleteFramebuffer):
  24983. (WebCore::GraphicsContext3D::deleteProgram):
  24984. (WebCore::GraphicsContext3D::deleteRenderbuffer):
  24985. (WebCore::GraphicsContext3D::deleteShader):
  24986. (WebCore::GraphicsContext3D::deleteTexture):
  24987. (WebCore::GraphicsContext3D::sizeInBytes):
  24988. (WebCore::GraphicsContext3D::synthesizeGLError):
  24989. (WebCore::GraphicsContext3D::getImageData):
  24990. * platform/graphics/skia/GraphicsContext3DSkia.cpp:
  24991. (WebCore::GraphicsContext3D::getImageData):
  24992. 2011-01-06 Martin Robinson <mrobinson@igalia.com>
  24993. Reviewed by Eric Seidel.
  24994. [GTK] Initial build support for WebGL
  24995. https://bugs.webkit.org/show_bug.cgi?id=51716
  24996. Add initial build support for WebGL and insert bits of implementation
  24997. necessary for clean compilation into GraphicsContext3D.
  24998. No new tests. This is just a build change.
  24999. * GNUmakefile.am: Add missing files to the source lists.
  25000. * platform/graphics/GraphicsContext3D.h: Include IntSize.h as it's used below.
  25001. Include typedefs necessary for WebGL on GTK+ and consolidate typdefs which are the
  25002. same across different platforms. X11 headers define the VERSION symbol, so it's
  25003. necessary to undefine it, since it's used as an enum value.
  25004. 2011-01-06 Helder Correia <helder@sencha.com>
  25005. Reviewed by Kenneth Rohde Christiansen.
  25006. [Qt] GraphicsContext::drawConvexPolygon() has unnecessary code for shadow
  25007. https://bugs.webkit.org/show_bug.cgi?id=52014
  25008. The function is only used by RenderObject to draw box sides.
  25009. The shadow branch is never used and thus can be removed.
  25010. No new tests are necessary.
  25011. * platform/graphics/qt/GraphicsContextQt.cpp:
  25012. (WebCore::GraphicsContext::drawConvexPolygon):
  25013. 2011-01-06 Laszlo Gombos <laszlo.1.gombos@nokia.com>
  25014. Reviewed by Kenneth Rohde Christiansen.
  25015. [Qt] Make sure touch is disabled in the minimal configuration
  25016. https://bugs.webkit.org/show_bug.cgi?id=51316
  25017. No new tests as there is no new functionality.
  25018. * features.pri:
  25019. 2011-01-06 Martin Robinson <mrobinson@igalia.com>
  25020. Reviewed by Eric Seidel.
  25021. [GTK] Freetype backend does not support WOFF
  25022. https://bugs.webkit.org/show_bug.cgi?id=51904
  25023. * CMakeListsEfl.txt: Add WOFF support to the sources list.
  25024. * GNUmakefile.am: Add WOFF support to the sources list.
  25025. * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
  25026. (WebCore::createFontCustomPlatformData): Call the WOFF decoder when appropriate.
  25027. (WebCore::FontCustomPlatformData::supportsFormat): Advertise support for WOFF.
  25028. 2011-01-06 James Simonsen <simonjam@chromium.org>
  25029. Reviewed by Darin Fisher.
  25030. [Web Timing] Remove vendor prefix
  25031. https://bugs.webkit.org/show_bug.cgi?id=48922
  25032. * page/DOMWindow.cpp:
  25033. (WebCore::DOMWindow::performance): Rename to performance.
  25034. * page/DOMWindow.h:
  25035. * page/DOMWindow.idl: Rename to performance and make replaceable.
  25036. 2011-01-06 Chris Marrin <cmarrin@apple.com>
  25037. Reviewed by Simon Fraser.
  25038. Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
  25039. https://bugs.webkit.org/show_bug.cgi?id=49388
  25040. Changed PlatformCALayer API. Added PlatformCALayerClient abstract class which is
  25041. used to communicate from PlatformCALayer to the owner. This replaces passing
  25042. GraphicsLayerCA pointer when creating PlatformCALayer. It also includes the
  25043. API that used to be in PlatformCALayerLayout. GraphicsLayerCA now implements
  25044. the PlatformCALayerClient API.
  25045. This change has little impact on the Mac side but makes the Windows
  25046. interface simpler, especially when handling video layers on Windows.
  25047. * WebCore.xcodeproj/project.pbxproj:
  25048. * config.h:
  25049. * platform/graphics/GraphicsLayer.h:
  25050. (WebCore::GraphicsLayer::layerDidDisplay):
  25051. (WebCore::GraphicsLayer::showDebugBorders):
  25052. (WebCore::GraphicsLayer::showRepaintCounter):
  25053. * platform/graphics/ca/GraphicsLayerCA.cpp:
  25054. (WebCore::GraphicsLayerCA::platformCALayerAnimationStarted):
  25055. (WebCore::GraphicsLayerCA::setContentsToImage):
  25056. (WebCore::GraphicsLayerCA::setContentsToMedia):
  25057. (WebCore::GraphicsLayerCA::layerDidDisplay):
  25058. (WebCore::GraphicsLayerCA::updateSublayerList):
  25059. * platform/graphics/ca/GraphicsLayerCA.h:
  25060. (WebCore::GraphicsLayerCA::platformCALayerLayoutSublayersOfLayer):
  25061. (WebCore::GraphicsLayerCA::platformCALayerRespondsToLayoutChanges):
  25062. (WebCore::GraphicsLayerCA::platformCALayerContentsOrientation):
  25063. (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
  25064. (WebCore::GraphicsLayerCA::platformCALayerShowDebugBorders):
  25065. (WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter):
  25066. (WebCore::GraphicsLayerCA::platformCALayerIncrementRepaintCount):
  25067. (WebCore::GraphicsLayerCA::platformCALayerContentsOpaque):
  25068. (WebCore::GraphicsLayerCA::platformCALayerDrawsContent):
  25069. (WebCore::GraphicsLayerCA::platformCALayerLayerDidDisplay):
  25070. (WebCore::GraphicsLayerCA::platformCALayer):
  25071. * platform/graphics/ca/PlatformCALayer.h:
  25072. (WebCore::PlatformCALayer::owner):
  25073. (WebCore::PlatformCALayer::animationStarted):
  25074. * platform/graphics/ca/PlatformCALayerClient.h: Added.
  25075. (WebCore::PlatformCALayerClient::~PlatformCALayerClient):
  25076. * platform/graphics/ca/mac/PlatformCALayerMac.mm:
  25077. (PlatformCALayer::setOwner):
  25078. (PlatformCALayer::create):
  25079. (PlatformCALayer::PlatformCALayer):
  25080. (PlatformCALayer::contents):
  25081. (PlatformCALayer::setContents):
  25082. * platform/graphics/mac/WebGLLayer.mm:
  25083. (-[WebGLLayer display]):
  25084. * platform/graphics/mac/WebLayer.h:
  25085. * platform/graphics/mac/WebLayer.mm:
  25086. (drawLayerContents):
  25087. (setLayerNeedsDisplayInRect):
  25088. (-[WebLayer setNeedsDisplay]):
  25089. (-[WebLayer display]):
  25090. * platform/graphics/mac/WebTiledLayer.mm:
  25091. (-[WebTiledLayer setNeedsDisplay]):
  25092. (-[WebTiledLayer display]):
  25093. * rendering/RenderLayerBacking.cpp:
  25094. (WebCore::RenderLayerBacking::showDebugBorders):
  25095. (WebCore::RenderLayerBacking::showRepaintCounter):
  25096. * rendering/RenderLayerCompositor.cpp:
  25097. (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
  25098. * rendering/RenderLayerCompositor.h:
  25099. (WebCore::RenderLayerCompositor::compositorShowDebugBorders):
  25100. (WebCore::RenderLayerCompositor::compositorShowRepaintCounter):
  25101. (WebCore::RenderLayerCompositor::notifyAnimationStarted):
  25102. (WebCore::RenderLayerCompositor::notifySyncRequired):
  25103. (WebCore::RenderLayerCompositor::paintContents):
  25104. (WebCore::RenderLayerCompositor::showDebugBorders):
  25105. (WebCore::RenderLayerCompositor::showRepaintCounter):
  25106. 2011-01-06 Tony Gentilcore <tonyg@chromium.org>
  25107. Reviewed by Eric Seidel.
  25108. Allow framesets after hidden inputs
  25109. https://bugs.webkit.org/show_bug.cgi?id=51998
  25110. This implements the HTML5 spec update in response to:
  25111. http://www.w3.org/Bugs/Public/show_bug.cgi?id=11156
  25112. * html/parser/HTMLTreeBuilder.cpp:
  25113. (WebCore::HTMLTreeBuilder::processStartTagForInBody):
  25114. 2010-12-29 Zhenyao Mo <zmo@google.com>
  25115. Reviewed by Kenneth Russell.
  25116. vertexAttribPointer should raise INVALID_OPERATION if stride/offset is not multiple of the type size
  25117. https://bugs.webkit.org/show_bug.cgi?id=51725
  25118. * html/canvas/WebGLRenderingContext.cpp:
  25119. (WebCore::WebGLRenderingContext::vertexAttribPointer):
  25120. 2011-01-06 Patrick Gansterer <paroga@webkit.org>
  25121. Reviewed by Eric Seidel.
  25122. [WINCE] Remove JSC::g_stackBase
  25123. https://bugs.webkit.org/show_bug.cgi?id=51779
  25124. * platform/wince/SharedTimerWinCE.cpp:
  25125. (WebCore::TimerWindowWndProc):
  25126. 2011-01-06 Robert Hogan <robert@webkit.org>
  25127. Reviewed by Antonio Gomes.
  25128. [Qt] Introduce QDRTNode for passing WebCore::Node across JS bridge
  25129. This allows LayoutTestController to pass WebCore::Node back to
  25130. layout tests.
  25131. Also amend nodesFromRect-links-and-text.html and
  25132. nodesFromRect-inner-documents.html so that they do not produce
  25133. platform-specific results.
  25134. Unskip:
  25135. fast/dom/nodesFromRect-links-and-text.html
  25136. fast/dom/nodesFromRect-inner-documents.html
  25137. https://bugs.webkit.org/show_bug.cgi?id=48957
  25138. * bridge/qt/qt_runtime.cpp:
  25139. (JSC::Bindings::QtDRTNodeRuntime::create):
  25140. (JSC::Bindings::QtDRTNodeRuntime::get):
  25141. (JSC::Bindings::convertValueToQVariant):
  25142. (JSC::Bindings::convertQVariantToValue):
  25143. 2011-01-06 Joone Hur <joone.hur@collabora.co.uk>
  25144. Reviewed by Eric Seidel.
  25145. WML Parser should treat line/column number in a consistent way
  25146. https://bugs.webkit.org/show_bug.cgi?id=51601
  25147. XML Parser treats line/column number as 1-based values, but WML ErrorHandler treat them as 0-based.
  25148. Therefore, this patch allows WML ErrorHandler to use 1-based values.
  25149. * dom/XMLDocumentParser.cpp:
  25150. (WebCore::XMLDocumentParser::handleError): Treat line/column number as 1 based values.
  25151. * dom/XMLDocumentParser.h: Make textPositionOneBased public and Add TextPosition1(m_lastErrorPosition) to keep error line/column number.
  25152. * dom/XMLDocumentParserLibxml2.cpp:
  25153. (WebCore::XMLDocumentParser::XMLDocumentParser): Initialize m_lastErrorPosition.
  25154. * dom/XMLDocumentParserQt.cpp:
  25155. (WebCore::XMLDocumentParser::XMLDocumentParser): Initialize m_lastErrorPosition.
  25156. * wml/WMLErrorHandling.cpp:
  25157. (WebCore::reportWMLError): Use 1 based value instead of 0 based value to report error line/column number.
  25158. 2011-01-05 Adam Roben <aroben@apple.com>
  25159. Remove some dead code from WKCACFLayerRenderer
  25160. Fixes <http://webkit.org/b/51954> WKCACFLayerRenderer has dead and
  25161. redundant code for reacting to changes to the layer tree
  25162. Reviewed by Sam Weinig.
  25163. * platform/graphics/win/WKCACFLayerRenderer.cpp:
  25164. * platform/graphics/win/WKCACFLayerRenderer.h:
  25165. Removed didFlushContext and the HashMap it depended on. We react to
  25166. changes to the layer tree in layerTreeDidChange instead.
  25167. 2011-01-06 Chris Fleizach <cfleizach@apple.com>
  25168. Reviewed by Beth Dakin.
  25169. AX: "AXExpanded" not exposed on most ARIA roles that use aria-expanded
  25170. https://bugs.webkit.org/show_bug.cgi?id=51995
  25171. Test: platform/mac/accessibility/aria-expanded-standard-items.html
  25172. * accessibility/AccessibilityObject.cpp:
  25173. (WebCore::AccessibilityObject::supportsARIAExpanded):
  25174. (WebCore::AccessibilityObject::isExpanded):
  25175. * accessibility/AccessibilityObject.h:
  25176. * accessibility/AccessibilityRenderObject.cpp:
  25177. (WebCore::AccessibilityRenderObject::isVisited):
  25178. * accessibility/AccessibilityRenderObject.h:
  25179. * accessibility/mac/AccessibilityObjectWrapper.mm:
  25180. (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
  25181. 2010-12-28 Zhenyao Mo <zmo@google.com>
  25182. Reviewed by Kenneth Russell.
  25183. Must generate INVALID_VALUE errors for strings containing out-of-range characters
  25184. https://bugs.webkit.org/show_bug.cgi?id=50929
  25185. * html/canvas/WebGLRenderingContext.cpp: Validate characters according to GLSL ES 1.0 spec section 3.1.
  25186. (WebCore::WebGLRenderingContext::bindAttribLocation):
  25187. (WebCore::WebGLRenderingContext::getAttribLocation):
  25188. (WebCore::WebGLRenderingContext::getUniformLocation):
  25189. (WebCore::WebGLRenderingContext::shaderSource):
  25190. (WebCore::WebGLRenderingContext::validateString): Helper function to perform the character validation.
  25191. * html/canvas/WebGLRenderingContext.h: Declare validateString().
  25192. 2011-01-06 Yong Li <yoli@rim.com>
  25193. Reviewed by Adam Barth.
  25194. Add the test case that is missed in r75066.
  25195. https://bugs.webkit.org/show_bug.cgi?id=48077
  25196. Test case: WebCore/manual-tests/bugzilla-48077.html.
  25197. 2011-01-06 James Robinson <jamesr@chromium.org>
  25198. Reviewed by Simon Fraser.
  25199. Implement mozilla's animationTime property
  25200. https://bugs.webkit.org/show_bug.cgi?id=51952
  25201. Implements mozilla's animationTime property as described here:
  25202. https://developer.mozilla.org/en/DOM/window.mozAnimationStartTime
  25203. and http://hacks.mozilla.org/2010/08/more-efficient-javascript-animations-with-mozrequestanimationframe/
  25204. The property is called webkitAnimationTime as calling it the 'Start' time is not very informative.
  25205. This property exposes a notion of a 'current' time to use for declarative animations and allows
  25206. scripts to synchronize imperative animations with declarative ones if they choose to. Once queried
  25207. this time is saved and used for all declarative animation updates until the embedder paints/composites
  25208. the next frame and clears it, or 15ms elapse (in case the embedder isn't producing frames, for example
  25209. if the page is in a background tab).
  25210. This patch also ensures that all declarative animations started in the same script execution block
  25211. are synchronized even if some time elapses while script is running.
  25212. Test: fast/animation/animation-time.html
  25213. * WebCore.gypi:
  25214. * page/DOMWindow.cpp:
  25215. (WebCore::DOMWindow::webkitAnimationTime):
  25216. * page/DOMWindow.h:
  25217. * page/DOMWindow.idl:
  25218. * page/Frame.cpp:
  25219. (WebCore::Frame::currentAnimationTime):
  25220. * page/Frame.h:
  25221. * page/Page.cpp:
  25222. (WebCore::Page::Page):
  25223. * page/Page.h:
  25224. (WebCore::Page::animationTime):
  25225. * page/animation/AnimationController.cpp:
  25226. (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
  25227. * page/animation/AnimationTimeController.cpp: Added.
  25228. (WebCore::AnimationTimeController::AnimationTimeController):
  25229. (WebCore::AnimationTimeController::~AnimationTimeController):
  25230. (WebCore::AnimationTimeController::currentAnimationTime):
  25231. (WebCore::AnimationTimeController::clearCurrentAnimationTime):
  25232. (WebCore::AnimationTimeController::clearCurrentAnimationTimeTimerFired):
  25233. * page/animation/AnimationTimeController.h: Added.
  25234. (WebCore::AnimationTimeController::create):
  25235. 2011-01-06 Abhishek Arya <inferno@chromium.org>
  25236. Reviewed by Simon Fraser.
  25237. Null out the parent stylesheet pointer when a css rule is removed.
  25238. https://bugs.webkit.org/show_bug.cgi?id=51993
  25239. Tests: fast/dom/StyleSheet/removed-media-rule-deleted-parent-crash.html
  25240. fast/dom/StyleSheet/removed-stylesheet-rule-deleted-parent-crash.html
  25241. * css/CSSRuleList.cpp:
  25242. (WebCore::CSSRuleList::deleteRule):
  25243. * css/CSSStyleSheet.cpp:
  25244. (WebCore::CSSStyleSheet::deleteRule):
  25245. 2011-01-04 Adrienne Walker <enne@google.com>
  25246. Reviewed by Kenneth Russell.
  25247. NaN in a TypedArray should be converted to zero only for Float32Array.
  25248. https://bugs.webkit.org/show_bug.cgi?id=46990
  25249. Test: LayoutTests/fast/canvas/webgl/array-unit-tests.html
  25250. * bindings/js/JSArrayBufferViewHelper.h:
  25251. (WebCore::convertArrayValue):
  25252. (WebCore::constructArrayBufferView):
  25253. * html/canvas/Float32Array.h:
  25254. (WebCore::Float32Array::set):
  25255. (WebCore::Float32Array::item):
  25256. 2011-01-06 Patrick Gansterer <paroga@webkit.org>
  25257. Unreviewed Windows build fix for r75161.
  25258. * platform/graphics/cg/GraphicsContextCG.cpp: Missing include added.
  25259. 2011-01-06 Patrick Gansterer <paroga@webkit.org>
  25260. Unreviewed WinCE build fix for r75139.
  25261. Try to remove include after adding forward-declaration in r75145.
  25262. * platform/graphics/Gradient.h:
  25263. 2011-01-06 Renata Hodovan <reni@webkit.org>
  25264. Reviewed by Andreas Kling.
  25265. https://bugs.webkit.org/show_bug.cgi?id=51811
  25266. Merge m_height and m_width members of ImageData into the new m_size member.
  25267. Image (BitmapImage, ImageSource) types in WebKit use IntSize to store their
  25268. width and height argument, except ImageData. This patch refactors ImageData
  25269. to follow the style of other Image types in WebKit.
  25270. Using of PassRefPtrs other than argument passing is not allowed in WebKit anymore.
  25271. This patch also refactors the PassRefPtr usages of ImageData.
  25272. It's just a refactoring, so we don't need any new tests.
  25273. * bindings/js/SerializedScriptValue.cpp:
  25274. (WebCore::CloneSerializer::write):
  25275. (WebCore::CloneDeserializer::readTerminal):
  25276. * bindings/v8/SerializedScriptValue.cpp:
  25277. (WebCore::ZigZag::Reader::readImageData):
  25278. * html/ImageData.cpp:
  25279. (WebCore::ImageData::create):
  25280. (WebCore::ImageData::ImageData):
  25281. * html/ImageData.h:
  25282. (WebCore::ImageData::size):
  25283. (WebCore::ImageData::width):
  25284. (WebCore::ImageData::height):
  25285. * html/canvas/CanvasRenderingContext2D.cpp:
  25286. (WebCore::createEmptyImageData):
  25287. (WebCore::CanvasRenderingContext2D::createImageData):
  25288. (WebCore::CanvasRenderingContext2D::getImageData):
  25289. * html/canvas/CanvasRenderingContext2D.h:
  25290. * platform/graphics/haiku/ImageBufferHaiku.cpp:
  25291. (WebCore::getImageData):
  25292. 2011-01-06 Yael Aharon <yael.aharon@nokia.com>
  25293. Reviewed by Darin Adler.
  25294. document.querySelector(':nth-child(foo)') should throw a syntax error
  25295. https://bugs.webkit.org/show_bug.cgi?id=51231
  25296. Also fixes
  25297. CSSNthSelector parsing code is illegible and buggy (allows "n3" as a valid selector)
  25298. https://bugs.webkit.org/show_bug.cgi?id=21815
  25299. Add a check in the parser that other than an+b, only "odd" or "even" would be allowed
  25300. as parameters to nth selector.
  25301. Tests: fast/css/css3-nth-tokens-script.html
  25302. fast/css/css3-nth-tokens-style.html
  25303. * css/CSSGrammar.y:
  25304. * css/CSSParser.cpp:
  25305. (WebCore::isValidNthToken):
  25306. * css/CSSParser.h:
  25307. 2011-01-06 Jan Erik Hanssen <jhanssen@sencha.com>
  25308. Reviewed by Andreas Kling.
  25309. [Qt] crash in QNetworkReplyHandler::sendResponseIfNeeded()
  25310. https://bugs.webkit.org/show_bug.cgi?id=51453
  25311. Check if m_reply is NULL before accessing.
  25312. * manual-tests/load-deferrer-resume-crash.html: Added.
  25313. * platform/network/qt/QNetworkReplyHandler.cpp:
  25314. (WebCore::QNetworkReplyHandler::setLoadMode):
  25315. (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
  25316. 2011-01-06 Andras Becsi <abecsi@webkit.org>
  25317. Reviewed by Csaba Osztrogonác.
  25318. [Qt][V8] Fix the build when DEVICE_ORIENTATION is enabled.
  25319. No new tests needed.
  25320. * WebCore.pro: remove duplications and globally add RuntimeEnabledFeatures.
  25321. 2011-01-06 Helder Correia <helder@sencha.com>
  25322. Reviewed by Kenneth Rohde Christiansen.
  25323. [Qt][GTK] Use GraphicsContext::hasShadow() in port-specific code
  25324. https://bugs.webkit.org/show_bug.cgi?id=51985
  25325. r75139 introduced GraphicsContext::hasShadow(). This can now simplify
  25326. and unify some code in the Qt and GTK ports.
  25327. No new tests necessary for this refactoring.
  25328. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  25329. (WebCore::GraphicsContext::fillRect):
  25330. (WebCore::GraphicsContext::fillRoundedRect):
  25331. * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
  25332. * platform/graphics/qt/GraphicsContextQt.cpp:
  25333. (WebCore::GraphicsContext::drawConvexPolygon):
  25334. (WebCore::GraphicsContext::fillPath):
  25335. (WebCore::GraphicsContext::strokePath):
  25336. (WebCore::GraphicsContext::fillRect):
  25337. (WebCore::GraphicsContext::fillRoundedRect):
  25338. 2011-01-05 Darin Adler <darin@apple.com>
  25339. Fix Chromium Mac build.
  25340. * platform/graphics/Gradient.h: Forward-declare CGContextRef.
  25341. This might even make it possible to remove the include of
  25342. <CoreGraphics/CoreGraphics.h> for PLATFORM(WIN), but I did not
  25343. do that at this time because I don't want to break the Windows
  25344. build when fixing the Chromium build.
  25345. 2011-01-05 Xianzhu Wang <wangxianzhu@google.com>
  25346. Reviewed by David Levin.
  25347. Implement RemoteFontStream's skip behavior (in FontCustomPlatformData.cpp)
  25348. https://bugs.webkit.org/show_bug.cgi?id=51736
  25349. No new tests. This change has potential effect on @font-face CSS feature
  25350. on ports using Skia. Tested on Chromium that this change won't break
  25351. fast/css/font-face-remote.html. This change can make the test pass on
  25352. other ports using Skia.
  25353. * platform/graphics/skia/FontCustomPlatformData.cpp:
  25354. (WebCore::RemoteFontStream::read):
  25355. 2011-01-05 Helder Correia <helder@sencha.com>
  25356. Reviewed by Simon Fraser.
  25357. Shadows are not drawn when filling a rect with a gradient fillStyle on Mac and Chromium-Mac
  25358. https://bugs.webkit.org/show_bug.cgi?id=51869
  25359. GraphicsContext::fillRect(const FloatRect&) is clipping to the rect.
  25360. The shadow is being drawn, but getting clipped to the rect being filled.
  25361. The solution is to draw the gradient into a CGLayer (when a shadow is
  25362. required), then render the layer to the GraphicsContext.
  25363. This patch also fixes:
  25364. canvas/philip/tests/2d.shadow.gradient.alpha.html
  25365. canvas/philip/tests/2d.shadow.gradient.basic.html
  25366. canvas/philip/tests/2d.shadow.gradient.transparent.2.html
  25367. Test: fast/canvas/canvas-fillRect-gradient-shadow.html
  25368. * platform/graphics/Gradient.h:
  25369. * platform/graphics/cg/GradientCG.cpp:
  25370. (WebCore::Gradient::paint):
  25371. * platform/graphics/cg/GraphicsContextCG.cpp:
  25372. (WebCore::GraphicsContext::fillRect):
  25373. 2011-01-05 Steve Falkenburg <sfalken@apple.com>
  25374. Reviewed by Darin Adler.
  25375. Debug and Release builds on Windows clobber each other
  25376. https://bugs.webkit.org/show_bug.cgi?id=49185
  25377. Changes the structure of WebKitBuild build products directory so we
  25378. completely separate each build configuration into independent directories.
  25379. Although we previously had per-configuration directories for obj, this change adds
  25380. per-configuration directories for bin, lib, obj, and include. Each configuration's
  25381. build products are stored within a directory inside of WebKitBuild.
  25382. Most use of $(WebKitOutputDir) in the build files has been replaced by $(ConfigurationBuildDir),
  25383. defined in common.vsprops to be $(WebKitOutputDir)\$(ConfigurationName).
  25384. * WebCore.vcproj/QTMovieWinCommon.vsprops:
  25385. * WebCore.vcproj/QTMovieWinPostBuild.cmd:
  25386. * WebCore.vcproj/QTMovieWinPreBuild.cmd:
  25387. * WebCore.vcproj/WebCore.make:
  25388. * WebCore.vcproj/WebCore.vcproj:
  25389. * WebCore.vcproj/WebCoreCommon.vsprops:
  25390. * WebCore.vcproj/WebCoreGeneratedCairo.vsprops:
  25391. * WebCore.vcproj/WebCoreGeneratedCommon.vsprops:
  25392. * WebCore.vcproj/WebCoreMediaQT.vsprops:
  25393. * WebCore.vcproj/WebCorePostBuild.cmd:
  25394. * WebCore.vcproj/WebCorePreBuild.cmd:
  25395. * WebCore.vcproj/copyForwardingHeaders.cmd:
  25396. * WebCore.vcproj/copyInspectorFiles.cmd:
  25397. 2011-01-05 Simon Fraser <simon.fraser@apple.com>
  25398. Reviewed by Ariya Hidayat.
  25399. Directly composited SVG images fail to render
  25400. https://bugs.webkit.org/show_bug.cgi?id=51975
  25401. There was already code, added in r67900, to detect whether an image
  25402. may be directly composited, by checking to see if it's a bitmap image.
  25403. However, CachedImage::image() returns the nullImage() if m_image is null,
  25404. which is a BitmapImage, confusing this test.
  25405. Test: compositing/images/direct-svg-image.html
  25406. * loader/cache/CachedImage.cpp: Remove nullImage(), since Image has
  25407. exactly the same method.
  25408. (WebCore::CachedImage::image): Use Image::nullImage().
  25409. * loader/cache/CachedImage.h:
  25410. (WebCore::CachedImage::hasImage): New method to ask whether the m_image is
  25411. non-null.
  25412. * rendering/RenderLayerBacking.cpp:
  25413. (WebCore::RenderLayerBacking::isDirectlyCompositedImage): Use hasImage()
  25414. so that we don't test the nullImage.
  25415. 2011-01-05 Simon Fraser <simon.fraser@apple.com>
  25416. Reviewed by Darin Adler.
  25417. Fix percentage values in radius of radial gradients
  25418. https://bugs.webkit.org/show_bug.cgi?id=51979
  25419. Handle percentage values for the ending size of radial gradients.
  25420. Test: fast/gradients/css3-radial-gradients3.html
  25421. * css/CSSGradientValue.cpp:
  25422. (WebCore::CSSRadialGradientValue::resolveRadius): Add parameter for height or width, which is
  25423. non-null if percentage values are allowed, and compute percentage values when we see them.
  25424. (WebCore::CSSRadialGradientValue::createGradient): Pass height or width down to say that
  25425. percentages are OK when resolving end radii.
  25426. * css/CSSGradientValue.h: New parameter for resolveRadius.
  25427. 2011-01-05 James Simonsen <simonjam@chromium.org>
  25428. Reviewed by Adam Barth.
  25429. [Web Timing] Zero out some values on cross-origin redirects
  25430. https://bugs.webkit.org/show_bug.cgi?id=49294
  25431. Tests: http/tests/misc/webtiming-cross-origin-redirect.php
  25432. http/tests/misc/webtiming-origins.html
  25433. * loader/DocumentLoadTiming.h:
  25434. (WebCore::DocumentLoadTiming::DocumentLoadTiming): Add flags for cross-origin redirects and same-origin navigation.
  25435. * loader/FrameLoader.cpp:
  25436. (WebCore::FrameLoader::~FrameLoader):
  25437. (WebCore::FrameLoader::stopLoading): Don't overwrite previous unload times.
  25438. (WebCore::FrameLoader::completed):
  25439. (WebCore::FrameLoader::loadWithDocumentLoader): Remember previous URL to see if navigation is same-origin.
  25440. (WebCore::FrameLoader::commitProvisionalLoad): Set flag if navigation is same-origin.
  25441. * loader/FrameLoader.h:
  25442. * loader/MainResourceLoader.cpp:
  25443. (WebCore::MainResourceLoader::willSendRequest): Set flag on cross-origin redirects.
  25444. * page/PerformanceNavigation.cpp:
  25445. (WebCore::PerformanceNavigation::redirectCount): Clear if cross-origin redirect flag is set.
  25446. * page/PerformanceTiming.cpp:
  25447. (WebCore::PerformanceTiming::redirectStart): Ditto.
  25448. (WebCore::PerformanceTiming::redirectEnd): Ditto.
  25449. (WebCore::PerformanceTiming::unloadEventStart): Clear if cross-origin navigation is set.
  25450. (WebCore::PerformanceTiming::unloadEventEnd): Ditto.
  25451. 2011-01-05 Helder Correia <helder@sencha.com>
  25452. Reviewed by Ariya Hidayat.
  25453. [Qt] Default focus ring is too wide
  25454. https://bugs.webkit.org/show_bug.cgi?id=51854
  25455. This is an intermediate step to solve this bug. Use QPalette::Highlight
  25456. instead of default half-transparent black as the focus ring color.
  25457. * platform/graphics/qt/GraphicsContextQt.cpp:
  25458. (WebCore::drawFocusRingForPath):
  25459. * platform/qt/RenderThemeQt.cpp:
  25460. (WebCore::RenderThemeQt::platformFocusRingColor):
  25461. * platform/qt/RenderThemeQt.h:
  25462. 2011-01-05 James Simonsen <simonjam@chromium.org>
  25463. Reviewed by Darin Fisher.
  25464. [Web Timing] requestStart and responseStart should be available even if the document is still loading
  25465. https://bugs.webkit.org/show_bug.cgi?id=51368
  25466. Test: http/tests/misc/webtiming-slow-load.php
  25467. * page/PerformanceTiming.cpp:
  25468. (WebCore::getPossiblySkewedTimeInKnownRange): Handle case where response is not yet complete.
  25469. (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute): Use full upper bound.
  25470. 2011-01-05 Chris Rogers <crogers@google.com>
  25471. Reviewed by Darin Fisher.
  25472. Add WebKitClient::createAudioDevice() for Chromium port of web audio API
  25473. https://bugs.webkit.org/show_bug.cgi?id=51424
  25474. No new tests since audio API is not yet implemented.
  25475. * WebCore.gyp/WebCore.gyp:
  25476. * WebCore.gypi:
  25477. 2011-01-05 Anders Carlsson <andersca@apple.com>
  25478. Try again.
  25479. * WebCore.exp.in:
  25480. 2011-01-05 Anders Carlsson <andersca@apple.com>
  25481. Attempt to fix Leopard build.
  25482. * WebCore.exp.in:
  25483. 2011-01-05 Evan Martin <evan@chromium.org>
  25484. Reviewed by Tony Chang.
  25485. [chromium] refactor complex text on Linux
  25486. https://bugs.webkit.org/show_bug.cgi?id=51956
  25487. Pull out TextRunWalker from FontLinux.cpp. Put it in its own file.
  25488. Rename it to ComplexTextController, to match platform/graphics/mac
  25489. more closely.
  25490. No tests because the change is just renaming a class.
  25491. * WebCore.gyp/WebCore.gyp:
  25492. * platform/graphics/chromium/ComplexTextControllerLinux.cpp: Added.
  25493. (WebCore::ComplexTextController::ComplexTextController):
  25494. (WebCore::ComplexTextController::~ComplexTextController):
  25495. (WebCore::ComplexTextController::isWordBreak):
  25496. (WebCore::ComplexTextController::determineWordBreakSpacing):
  25497. (WebCore::ComplexTextController::setPadding):
  25498. (WebCore::ComplexTextController::reset):
  25499. (WebCore::ComplexTextController::setBackwardsIteration):
  25500. (WebCore::ComplexTextController::nextScriptRun):
  25501. (WebCore::ComplexTextController::widthOfFullRun):
  25502. (WebCore::ComplexTextController::setupFontForScriptRun):
  25503. (WebCore::ComplexTextController::allocHarfbuzzFont):
  25504. (WebCore::ComplexTextController::deleteGlyphArrays):
  25505. (WebCore::ComplexTextController::createGlyphArrays):
  25506. (WebCore::ComplexTextController::resetGlyphArrays):
  25507. (WebCore::ComplexTextController::shapeGlyphs):
  25508. (WebCore::ComplexTextController::setGlyphXPositions):
  25509. (WebCore::ComplexTextController::normalizeSpacesAndMirrorChars):
  25510. (WebCore::ComplexTextController::getNormalizedTextRun):
  25511. * platform/graphics/chromium/ComplexTextControllerLinux.h: Added.
  25512. (WebCore::ComplexTextController::setWordSpacingAdjustment):
  25513. (WebCore::ComplexTextController::setLetterSpacingAdjustment):
  25514. (WebCore::ComplexTextController::letterSpacing):
  25515. (WebCore::ComplexTextController::setXOffsetToZero):
  25516. (WebCore::ComplexTextController::rtl):
  25517. (WebCore::ComplexTextController::glyphs):
  25518. (WebCore::ComplexTextController::length):
  25519. (WebCore::ComplexTextController::xPositions):
  25520. (WebCore::ComplexTextController::advances):
  25521. (WebCore::ComplexTextController::width):
  25522. (WebCore::ComplexTextController::logClusters):
  25523. (WebCore::ComplexTextController::numCodePoints):
  25524. (WebCore::ComplexTextController::fontPlatformDataForScriptRun):
  25525. (WebCore::ComplexTextController::isCodepointSpace):
  25526. * platform/graphics/chromium/FontLinux.cpp:
  25527. (WebCore::Font::drawComplexText):
  25528. (WebCore::Font::floatWidthForComplexText):
  25529. (WebCore::glyphIndexForXPositionInScriptRun):
  25530. (WebCore::Font::offsetForPositionForComplexText):
  25531. (WebCore::Font::selectionRectForComplexText):
  25532. 2011-01-05 Pratik Solanki <psolanki@apple.com>
  25533. Reviewed by Darin Adler.
  25534. Merge cf and mac header files with same name
  25535. https://bugs.webkit.org/show_bug.cgi?id=51916
  25536. Since most of the code in the header files is identical, we can merge them and have #if
  25537. USE(CFNETWORK) to separate out the network specific parts.
  25538. * WebCore.xcodeproj/project.pbxproj:
  25539. * platform/network/cf/AuthenticationChallenge.h:
  25540. (WebCore::AuthenticationChallenge::sender):
  25541. (WebCore::AuthenticationChallenge::nsURLAuthenticationChallenge):
  25542. * platform/network/cf/ResourceError.h:
  25543. (WebCore::ResourceError::ResourceError):
  25544. * platform/network/cf/ResourceRequest.h:
  25545. (WebCore::ResourceRequest::ResourceRequest):
  25546. * platform/network/cf/ResourceResponse.h:
  25547. (WebCore::ResourceResponse::ResourceResponse):
  25548. * platform/network/mac/AuthenticationChallenge.h: Removed.
  25549. * platform/network/mac/ResourceError.h: Removed.
  25550. * platform/network/mac/ResourceRequest.h: Removed.
  25551. * platform/network/mac/ResourceResponse.h: Removed.
  25552. 2011-01-05 Anders Carlsson <andersca@apple.com>
  25553. Reviewed by Adele Peterson.
  25554. Implement word transformation
  25555. https://bugs.webkit.org/show_bug.cgi?id=51943
  25556. Export Editor functions needed by WebKit2.
  25557. * WebCore.exp.in:
  25558. 2011-01-05 Simon Fraser <simon.fraser@apple.com>
  25559. Reviewed by Dave Hyatt.
  25560. Implement repeating CSS3 gradients
  25561. https://bugs.webkit.org/show_bug.cgi?id=51843
  25562. Add support for repeating gradients, via the new gradient functions
  25563. -webkit-repeating-linear-gradient and -webkit-repeating-radial-gradient.
  25564. Tests: fast/gradients/css3-repeating-linear-gradients.html
  25565. fast/gradients/css3-repeating-radial-gradients.html
  25566. * css/CSSGradientValue.h:
  25567. (WebCore::CSSGradientValue::isRepeating): Accessor for whethe the gradient repeats.
  25568. (WebCore::CSSGradientValue::CSSGradientValue): Pass CSSGradientRepeat in.
  25569. (WebCore::CSSLinearGradientValue::create): Pass CSSGradientRepeat.
  25570. (WebCore::CSSLinearGradientValue::CSSLinearGradientValue): Ditto
  25571. (WebCore::CSSRadialGradientValue::create): Ditto.
  25572. (WebCore::CSSRadialGradientValue::CSSRadialGradientValue): Ditto.
  25573. * css/CSSGradientValue.cpp:
  25574. (WebCore::CSSGradientValue::addStops): Pass maxLengthForRepeat, which
  25575. is used for repeating radial gradients. Add code to repeat the stops,
  25576. adding stops before the start, and after the end until the 0-N range is
  25577. covered, where N is large enough to ensure the box is covered. Fix an issue
  25578. with repeating gradients where if both stops were < 0, it would fail to clamp
  25579. them to 0.
  25580. (WebCore::CSSLinearGradientValue::cssText): Output strings for repeating gradients.
  25581. (WebCore::CSSLinearGradientValue::createGradient): maxExtent for linear gradients is 1,
  25582. because they are guaranteed to fill the box already.
  25583. (WebCore::CSSRadialGradientValue::cssText): Output strings for repeating gradients.
  25584. (WebCore::CSSRadialGradientValue::createGradient): Compute the distance to the furthest
  25585. corner in order to inform addStops() how much additional extent is required.
  25586. * css/CSSParser.cpp:
  25587. (WebCore::CSSParser::parseDeprecatedGradient): Old gradients never repeat.
  25588. (WebCore::CSSParser::parseLinearGradient): Pass down CSSGradientRepeat.
  25589. (WebCore::CSSParser::parseRadialGradient): Ditto.
  25590. (WebCore::CSSParser::isGeneratedImageValue): Add repeating gradient functions.
  25591. (WebCore::CSSParser::parseGeneratedImage): Ditto.
  25592. * css/CSSParser.h: Pass CSSGradientRepeat to gradient functions.
  25593. * platform/graphics/cg/GradientCG.cpp: Remove unused #include.
  25594. 2011-01-05 Martin Robinson <mrobinson@igalia.com>
  25595. Reviewed by Ariya Hidayat.
  25596. ContextShadow::blurLayerImage() not endian-safe
  25597. https://bugs.webkit.org/show_bug.cgi?id=51822
  25598. Correct the channel map in ContextShadow to reflect the different
  25599. ordering of pixels on processors with different endianness.
  25600. No new tests. This is covered by the existing shadow tests. It was
  25601. not discovered, because all of the bots using ContextShadow are
  25602. little-endian.
  25603. * platform/graphics/ContextShadow.cpp:
  25604. (WebCore::ContextShadow::blurLayerImage): Initialize the channel mapping
  25605. based on machine endianness.
  25606. 2011-01-05 Mihai Parparita <mihaip@chromium.org>
  25607. Reviewed by Nate Chapin.
  25608. [Chromium] Crash when drawing PDF plug-in scrollbars
  25609. https://bugs.webkit.org/show_bug.cgi?id=51942
  25610. Pepper plug-in scrollbars don't have a parent, guard against that before
  25611. seeing if the parent is a FrameView.
  25612. Not testable via layout tests, verified fix by hand.
  25613. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  25614. (WebCore::ScrollbarThemeChromiumMac::paint):
  25615. 2011-01-05 Abhishek Arya <inferno@chromium.org>
  25616. Unreviewed.
  25617. Update FIXME comment to sound better. Also initialize the block to fix compile.
  25618. * rendering/RenderBlock.cpp:
  25619. (WebCore::RenderBlock::removeChild):
  25620. 2011-01-05 Abhishek Arya <inferno@chromium.org>
  25621. Reviewed by Dave Hyatt.
  25622. Do not merge anonymous blocks when one of them is the one getting removed.
  25623. https://bugs.webkit.org/show_bug.cgi?id=51919
  25624. Test: fast/block/merge-anonymous-block-remove-child-crash.html
  25625. * rendering/RenderBlock.cpp:
  25626. (WebCore::RenderBlock::removeChild):
  25627. 2011-01-05 Ryosuke Niwa <rniwa@webkit.org>
  25628. Reviewed by Eric Seidel.
  25629. ApplyStyleCommand::applyRelativeFontStyleChange should take EditingStyle*
  25630. https://bugs.webkit.org/show_bug.cgi?id=50641
  25631. Modified applyRelativeFontStyleChange to take EditingStyle instead of CSSMutableStyleDeclaration.
  25632. Also extracted the logic to obtain the font size delta from ApplyStyleCommand to EditingStyle.
  25633. The font size delta is now stored as a member variable of EditingStyle as supposed to a property
  25634. in CSSMutableStyleDeclration as soon as EditingStyle is instantiated.
  25635. No new tests are added since this is a refactoring.
  25636. * editing/ApplyStyleCommand.cpp:
  25637. (WebCore::ApplyStyleCommand::doApply): Calls applyRelativeFontStyleChange.
  25638. (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Takes EditingStyle.
  25639. * editing/ApplyStyleCommand.h:
  25640. * editing/EditingStyle.cpp:
  25641. (WebCore::EditingStyle::EditingStyle): Initializes m_fontSizeDelta.
  25642. (WebCore::EditingStyle::init): Ditto.
  25643. (WebCore::EditingStyle::extractFontSizeDelta): Extracted from applyRelativeFontStyleChange.
  25644. (WebCore::EditingStyle::isEmpty): Takes care of m_fontSizeDelta.
  25645. (WebCore::EditingStyle::setStyle): Calls extractFontSizeDelta.
  25646. (WebCore::EditingStyle::overrideWithStyle): Ditto.
  25647. (WebCore::EditingStyle::clear): Initializes m_fontSizeDelta.
  25648. (WebCore::EditingStyle::copy): Calls extractFontSizeDelta.
  25649. * editing/EditingStyle.h:
  25650. (WebCore::EditingStyle::fontSizeDelta): Added.
  25651. (WebCore::EditingStyle::hasFontSizeDelta): Added.
  25652. * editing/Editor.h:
  25653. 2011-01-05 Dan Bernstein <mitz@apple.com>
  25654. Reviewed by Darin Adler.
  25655. <rdar://problem/8799835> hyphenate-character: auto should fall back to hyphen-minus if the primary font lacks a hyphen glyph
  25656. https://bugs.webkit.org/show_bug.cgi?id=51915
  25657. This changes the results of existing tests in fast/text.
  25658. * platform/graphics/Font.h:
  25659. * platform/graphics/FontFastPath.cpp:
  25660. (WebCore::Font::primaryFontHasGlyphForCharacter): Added.
  25661. * rendering/style/RenderStyle.cpp:
  25662. * platform/graphics/qt/FontQt.cpp:
  25663. (WebCore::Font::primaryFontHasGlyphForCharacter): Added a stub.
  25664. (WebCore::RenderStyle::hyphenString): For hyphenate-character: auto, return a
  25665. hyphen only if the primary font has a hyphen glyph, and otherwise return a
  25666. hyphen-minus.
  25667. 2011-01-05 Laszlo Gombos <laszlo.1.gombos@nokia.com>
  25668. Reviewed by Ariya Hidayat.
  25669. [Qt] [Symbian] Make CONFIG-=def_files the default configuration for trunk builds
  25670. https://bugs.webkit.org/show_bug.cgi?id=51888
  25671. Overrule Qt's default from qconfig.pri for non-production builds so
  25672. that CONFIG(def_files) evaluates to false and QtWebKit trunk builds succeed.
  25673. No new tests as there is no new functionality.
  25674. * WebCore.pro:
  25675. 2011-01-05 Sheriff Bot <webkit.review.bot@gmail.com>
  25676. Unreviewed, rolling out r74778.
  25677. http://trac.webkit.org/changeset/74778
  25678. https://bugs.webkit.org/show_bug.cgi?id=51930
  25679. Android and QtWebKit-V8 uses V8DOMWindowShell::setContext.
  25680. (Requested by bbandix on #webkit).
  25681. * bindings/v8/V8DOMWindowShell.cpp:
  25682. (WebCore::V8DOMWindowShell::setContext):
  25683. * bindings/v8/V8DOMWindowShell.h:
  25684. 2011-01-05 Yi Shen <yi.4.shen@nokia.com>
  25685. Reviewed by Andreas Kling.
  25686. [Qt] Animated GIF images does not animate 10x as expected by default.
  25687. https://bugs.webkit.org/show_bug.cgi?id=36818
  25688. Add a test animated GIF which should be displayed 2 times and stop.
  25689. * manual-tests/animated-gif-looping.html:
  25690. * manual-tests/resources/animated-2x.gif: Added.
  25691. 2011-01-05 Carlos Garcia Campos <cgarcia@igalia.com>
  25692. Reviewed by Martin Robinson.
  25693. [GTK] Fork code of ScrollbarThemeGtk that will differ for GTK+ 3
  25694. https://bugs.webkit.org/show_bug.cgi?id=51923
  25695. Split out pieces of ScrollbarThemeGtk into ScrollbarThemeGtk2 and
  25696. ScrollbarThemeGtk3 that will differ between GTK+ 2 and GTK+ 3.
  25697. No new tests. This should not change functionality.
  25698. * GNUmakefile.am: Add ScrollbarThemeGtk2.cpp and ScrollbarThemeGtk3.cpp
  25699. * platform/gtk/ScrollbarThemeGtk.cpp:
  25700. (WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness):
  25701. * platform/gtk/ScrollbarThemeGtk.h:
  25702. * platform/gtk/ScrollbarThemeGtk2.cpp: Added.
  25703. (WebCore::ScrollbarThemeGtk::updateThemeProperties):
  25704. (WebCore::ScrollbarThemeGtk::paintTrackBackground):
  25705. (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
  25706. (WebCore::ScrollbarThemeGtk::paintThumb):
  25707. (WebCore::ScrollbarThemeGtk::paintButton):
  25708. * platform/gtk/ScrollbarThemeGtk3.cpp: Added.
  25709. (WebCore::ScrollbarThemeGtk::updateThemeProperties):
  25710. (WebCore::ScrollbarThemeGtk::paintTrackBackground):
  25711. (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
  25712. (WebCore::ScrollbarThemeGtk::paintThumb):
  25713. (WebCore::ScrollbarThemeGtk::paintButton):
  25714. 2011-01-05 Patrick Gansterer <paroga@webkit.org>
  25715. Reviewed by Andreas Kling.
  25716. [CMake] Fix the usage of SOURCE_GROUP
  25717. https://bugs.webkit.org/show_bug.cgi?id=51739
  25718. * CMakeLists.txt:
  25719. 2011-01-05 Andras Becsi <abecsi@webkit.org>
  25720. Reviewed by Csaba Osztrogonác.
  25721. [Qt][V8] Fix the build after recent changes.
  25722. No new tests needed.
  25723. * WebCore.pro: Add missing files, and remove obsolete ones.
  25724. 2011-01-05 Yong Li <yoli@rim.com>
  25725. Reviewed by Adam Barth.
  25726. Suspend HTMLParserScheduler when page load is deferred to
  25727. avoid potential JS re-entrancy. Otherwise, when JS execution is triggered
  25728. from an external script or by events, and is blocked by a modal dialog,
  25729. WebKit can parse more HTML source and also start another JS execution.
  25730. https://bugs.webkit.org/show_bug.cgi?id=48077
  25731. Test case: WebCore/manual-tests/bugzilla-48077.html.
  25732. * dom/DocumentParser.cpp:
  25733. (WebCore::DocumentParser::suspendScheduledTasks):
  25734. (WebCore::DocumentParser::resumeScheduledTasks):
  25735. * dom/DocumentParser.h:
  25736. * html/parser/HTMLDocumentParser.cpp:
  25737. (WebCore::HTMLDocumentParser::suspendScheduledTasks):
  25738. (WebCore::HTMLDocumentParser::resumeScheduledTasks):
  25739. * html/parser/HTMLParserScheduler.cpp:
  25740. (WebCore::HTMLParserScheduler::HTMLParserScheduler):
  25741. (WebCore::HTMLParserScheduler::suspend):
  25742. (WebCore::HTMLParserScheduler::resume):
  25743. * html/parser/HTMLParserScheduler.h:
  25744. (WebCore::HTMLParserScheduler::isScheduledForResume):
  25745. * page/PageGroupLoadDeferrer.cpp:
  25746. (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
  25747. (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
  25748. 2011-01-05 Simon Hausmann <simon.hausmann@nokia.com>
  25749. Reviewed by Kenneth Rohde Christiansen, Gustavo Noronha Silva
  25750. [GStreamer] MediaPlayerPrivateGStreamer::totalBytes() does not work reliably
  25751. https://bugs.webkit.org/show_bug.cgi?id=51926
  25752. Work around potential upstream bug: Querying a GstBin for the duration,
  25753. will forward the query to all sink children. Our WebKitWebSrc however
  25754. is a bin with only source children, therefore the query fails. Until
  25755. this is changed upstream, this patch works around it as follows,
  25756. based on suggestion by Philippe Normand and Sebastian Dröge:
  25757. When the initial query fails, attempt the same query on all source
  25758. pads and take the maximum length reported.
  25759. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  25760. (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
  25761. 2011-01-05 Philippe Normand <pnormand@igalia.com>
  25762. Rubber-stamped by Eric Seidel.
  25763. [GStreamer] build fails with gstreamer core 0.10.31 and -plugins-base 0.10.30
  25764. https://bugs.webkit.org/show_bug.cgi?id=51810
  25765. Based on a patch by Mart Raudsepp.
  25766. No new tests, build fix only.
  25767. * platform/graphics/gstreamer/GStreamerGWorld.cpp:
  25768. (WebCore::GStreamerGWorld::setWindowOverlay): Use the new xoverlay
  25769. API if the GST_CHECK_PLUGINS_BASE_VERSION macro is defined. It was
  25770. introduced in same version as the xoverlay API change.
  25771. 2011-01-05 Leo Yang <leo.yang@torchmobile.com.cn>
  25772. Reviewed by Dirk Schulze.
  25773. Malformed SVG causes crash in updateContainerOffset
  25774. https://bugs.webkit.org/show_bug.cgi?id=44610
  25775. We should check recursive <use> at the begining of
  25776. WebCore::SVGUseElement::buildInstanceTree instead
  25777. of at the end of it because the target element's
  25778. children may cause infinite recursive <use>.
  25779. Test: svg/custom/recursive-use.svg
  25780. * svg/SVGUseElement.cpp:
  25781. (WebCore::SVGUseElement::buildInstanceTree):
  25782. (WebCore::SVGUseElement::hasCycleUseReferencing):
  25783. * svg/SVGUseElement.h:
  25784. 2011-01-04 Antti Koivisto <antti@apple.com>
  25785. Reviewed by Dan Bernstein.
  25786. https://bugs.webkit.org/show_bug.cgi?id=51907
  25787. Style selector should only be recalculated when the pending sheet count goes to zero
  25788. Shark says this is a significant performance improvement on some sites with lots of stylesheets.
  25789. * dom/Document.cpp:
  25790. (WebCore::Document::removePendingSheet):
  25791. 2011-01-05 Carlos Garcia Campos <cgarcia@igalia.com>
  25792. Reviewed by Martin Robinson.
  25793. [GTK] Use GtkStyleContext to get platform colors
  25794. https://bugs.webkit.org/show_bug.cgi?id=51830
  25795. Use GtkStyleContext API to get platform colors when building with
  25796. GTK+ 3.x.
  25797. No new tests. This should not change functionality.
  25798. * platform/graphics/Color.h: Add specialized constructor for GdkRGBA.
  25799. * platform/graphics/gtk/ColorGtk.cpp:
  25800. (WebCore::Color::Color):
  25801. (WebCore::Color::operator GdkRGBA):
  25802. * platform/gtk/RenderThemeGtk3.cpp:
  25803. (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
  25804. (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
  25805. (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
  25806. (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
  25807. (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
  25808. (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
  25809. (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
  25810. (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
  25811. (WebCore::RenderThemeGtk::systemColor):
  25812. 2011-01-05 Carlos Garcia Campos <cgarcia@igalia.com>
  25813. Unreviewed. Build fix for GTK when using gtk+-3 after r75009.
  25814. * platform/gtk/RenderThemeGtk3.cpp:
  25815. (WebCore::RenderThemeGtk::getStockIcon): Use adoptGRef instead of
  25816. adoptGRefPtr which doesn't exist.
  25817. 2011-01-05 Alexey Proskuryakov <ap@apple.com>
  25818. Reviewed by Sam Weinig.
  25819. https://bugs.webkit.org/show_bug.cgi?id=51903
  25820. Tell UI process which subframe is largest
  25821. * WebCore.exp.in: Exported FrameView::contentsSize().
  25822. 2011-01-04 Chris Fleizach <cfleizach@apple.com>
  25823. Unreviewed. GTK build fix.
  25824. WK2: Support Accessibility
  25825. https://bugs.webkit.org/show_bug.cgi?id=51859
  25826. * page/FrameView.cpp:
  25827. (WebCore::FrameView::axObjectCache):
  25828. 2011-01-04 Sheriff Bot <webkit.review.bot@gmail.com>
  25829. Unreviewed, rolling out r74992.
  25830. http://trac.webkit.org/changeset/74992
  25831. https://bugs.webkit.org/show_bug.cgi?id=51917
  25832. Crash in HTMLDocumentParser::suspendScheduledTasks()
  25833. (Requested by tkent on #webkit).
  25834. * dom/DocumentParser.cpp:
  25835. * dom/DocumentParser.h:
  25836. * html/parser/HTMLDocumentParser.cpp:
  25837. * html/parser/HTMLDocumentParser.h:
  25838. * html/parser/HTMLParserScheduler.cpp:
  25839. (WebCore::HTMLParserScheduler::HTMLParserScheduler):
  25840. * html/parser/HTMLParserScheduler.h:
  25841. (WebCore::HTMLParserScheduler::isScheduledForResume):
  25842. * page/PageGroupLoadDeferrer.cpp:
  25843. (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
  25844. (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
  25845. 2011-01-04 Benjamin Poulain <benjamin.poulain@nokia.com>
  25846. Reviewed by Kenneth Rohde Christiansen.
  25847. [Qt] [WK2] Add support for non-trivial context menu action
  25848. https://bugs.webkit.org/show_bug.cgi?id=51902
  25849. Fix the preprocessor guard for ContextMenuItemTagSelectAll in
  25850. the implementation of ContextMenuController::contextMenuItemSelected(). The guard was
  25851. inconsistent with what is defined in ContextMenuItem.h.
  25852. * page/ContextMenuController.cpp:
  25853. (WebCore::ContextMenuController::contextMenuItemSelected):
  25854. 2011-01-04 Tony Gentilcore <tonyg@chromium.org>
  25855. Reviewed by Ryosuke Niwa.
  25856. Avoid manual ref/deref in AsyncScriptRunner by using PendingScript
  25857. https://bugs.webkit.org/show_bug.cgi?id=51723
  25858. ScriptElement should also be able to keep its Element+CachedScript in
  25859. a PendingScript, and then executeScriptSoon can accept a PendingScript.
  25860. Once HTMLScriptRunner, ScriptElement, and AsyncScriptRunner all use
  25861. PendingScripts, then generic request and execute which operate on
  25862. PendingScripts can be factored out to avoid code duplicate that we have.
  25863. No new tests because no new functionality.
  25864. * dom/AsyncScriptRunner.cpp:
  25865. (WebCore::AsyncScriptRunner::~AsyncScriptRunner):
  25866. (WebCore::AsyncScriptRunner::executeScriptSoon):
  25867. (WebCore::AsyncScriptRunner::timerFired):
  25868. * dom/AsyncScriptRunner.h:
  25869. * dom/PendingScript.h: Add ctor which sets element and cachedScript. Rename adoptElement->setElement.
  25870. * dom/HTMLScriptRunner.cpp:
  25871. (WebCore::HTMLScriptRunner::requestPendingScript):
  25872. 2011-01-04 Jeff Miller <jeffm@apple.com>
  25873. Reviewed by Darin Adler.
  25874. Member variable and method naming cleanup to be consistent with WebKit2.
  25875. https://bugs.webkit.org/show_bug.cgi?id=51228
  25876. * page/win/EventHandlerWin.cpp:
  25877. (WebCore::EventHandler::eventActivatedView):
  25878. Rename activatedWebView() to didActivateWebView().
  25879. * platform/PlatformMouseEvent.h:
  25880. Rename m_activatedWebView to m_didActivateWebView.
  25881. (WebCore::PlatformMouseEvent::PlatformMouseEvent):
  25882. Initialize platform-specific member variables in PlatformMouseEvent constructors.
  25883. (WebCore::PlatformMouseEvent::didActivateWebView):
  25884. Rename activatedWebView() to didActivateWebView().
  25885. * platform/win/PlatformMouseEventWin.cpp:
  25886. (WebCore::PlatformMouseEvent::PlatformMouseEvent):
  25887. Rename m_activatedWebView to m_didActivateWebView.
  25888. 2011-01-04 Yael Aharon <yael.aharon@nokia.com>
  25889. Reviewed by Darin Adler.
  25890. CSS3 :nth-child selector and valid whitespace test fails
  25891. https://bugs.webkit.org/show_bug.cgi?id=36279
  25892. Teach the tokenizer to allow white spaces around [+/-] signs in nth constructs.
  25893. Test: fast/css/css3-nth-space.html
  25894. * css/tokenizer.flex:
  25895. 2011-01-04 Chris Fleizach <cfleizach@apple.com>
  25896. Unreviewed. Build fix.
  25897. WK2: Support Accessibility
  25898. https://bugs.webkit.org/show_bug.cgi?id=51859
  25899. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
  25900. (fallbackObject):
  25901. 2011-01-04 Cosmin Truta <ctruta@chromium.org>
  25902. Reviewed by Eric Seidel.
  25903. [chromium] PNG compression settings optimized for speed
  25904. https://bugs.webkit.org/show_bug.cgi?id=51719
  25905. Although Z_HUFFMAN_ONLY is the fastest on hard-to-compress images,
  25906. it is also the slowest, by a wide margin, on easy-to-compress images.
  25907. Use a more balanced configuration, based on the libpng compression defaults,
  25908. but with a faster compression level (3 instead of 6), and a faster filter
  25909. ("sub" instead of "all").
  25910. No change in behaviour, so no new tests.
  25911. * platform/image-encoders/skia/PNGImageEncoder.cpp:
  25912. (WebCore::PNGImageEncoder::encode):
  25913. 2011-01-04 Chris Fleizach <cfleizach@apple.com>
  25914. Reviewed by Sam Weinig.
  25915. WK2: Support Accessibility
  25916. https://bugs.webkit.org/show_bug.cgi?id=51859
  25917. WK2 doesn't use platform scroll views anymore. Accessibility code
  25918. needs to have its own scroll views.
  25919. Test: platform/mac/accessibility/webkit-scrollarea.html
  25920. * CMakeLists.txt:
  25921. * GNUmakefile.am:
  25922. * WebCore.exp.in:
  25923. * WebCore.gypi:
  25924. * WebCore.pro:
  25925. * WebCore.vcproj/WebCore.vcproj:
  25926. * WebCore.xcodeproj/project.pbxproj:
  25927. * accessibility/AXObjectCache.cpp:
  25928. (WebCore::AXObjectCache::AXObjectCache):
  25929. (WebCore::AXObjectCache::get):
  25930. (WebCore::AXObjectCache::getOrCreate):
  25931. (WebCore::AXObjectCache::rootObject):
  25932. (WebCore::AXObjectCache::remove):
  25933. (WebCore::AXObjectCache::handleScrollbarUpdate):
  25934. * accessibility/AXObjectCache.h:
  25935. (WebCore::AXObjectCache::handleScrollbarUpdate):
  25936. * accessibility/AccessibilityARIAGrid.h:
  25937. * accessibility/AccessibilityAllInOne.cpp:
  25938. * accessibility/AccessibilityImageMapLink.cpp:
  25939. * accessibility/AccessibilityImageMapLink.h:
  25940. * accessibility/AccessibilityListBoxOption.cpp:
  25941. * accessibility/AccessibilityListBoxOption.h:
  25942. * accessibility/AccessibilityObject.cpp:
  25943. (WebCore::AccessibilityObject::updateChildrenIfNecessary):
  25944. (WebCore::AccessibilityObject::elementAccessibilityHitTest):
  25945. (WebCore::AccessibilityObject::axObjectCache):
  25946. (WebCore::AccessibilityObject::focusedUIElement):
  25947. * accessibility/AccessibilityObject.h:
  25948. (WebCore::AccessibilityObject::isAccessibilityScrollView):
  25949. (WebCore::AccessibilityObject::isScrollView):
  25950. (WebCore::AccessibilityObject::canSetNumericValue):
  25951. (WebCore::AccessibilityObject::scrollBar):
  25952. (WebCore::AccessibilityObject::size):
  25953. (WebCore::AccessibilityObject::setValue):
  25954. * accessibility/AccessibilityRenderObject.cpp:
  25955. (WebCore::AccessibilityRenderObject::parentObject):
  25956. (WebCore::AccessibilityRenderObject::accessibilityHitTest):
  25957. (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary):
  25958. (WebCore::AccessibilityRenderObject::addChildren):
  25959. * accessibility/AccessibilityRenderObject.h:
  25960. * accessibility/AccessibilityScrollView.cpp: Added.
  25961. (WebCore::AccessibilityScrollView::AccessibilityScrollView):
  25962. (WebCore::AccessibilityScrollView::create):
  25963. (WebCore::AccessibilityScrollView::scrollBar):
  25964. (WebCore::AccessibilityScrollView::children):
  25965. (WebCore::AccessibilityScrollView::updateChildrenIfNecessary):
  25966. (WebCore::AccessibilityScrollView::removeChildScrollbar):
  25967. (WebCore::AccessibilityScrollView::addChildScrollbar):
  25968. (WebCore::AccessibilityScrollView::addChildren):
  25969. (WebCore::AccessibilityScrollView::webAreaObject):
  25970. (WebCore::AccessibilityScrollView::accessibilityHitTest):
  25971. (WebCore::AccessibilityScrollView::document):
  25972. (WebCore::AccessibilityScrollView::elementRect):
  25973. (WebCore::AccessibilityScrollView::parentObject):
  25974. * accessibility/AccessibilityScrollView.h: Added.
  25975. (WebCore::AccessibilityScrollView::roleValue):
  25976. (WebCore::AccessibilityScrollView::scrollView):
  25977. (WebCore::AccessibilityScrollView::accessibilityIsIgnored):
  25978. (WebCore::AccessibilityScrollView::isAccessibilityScrollView):
  25979. (WebCore::toAccessibilityScrollView):
  25980. * accessibility/AccessibilityScrollbar.cpp:
  25981. (WebCore::AccessibilityScrollbar::AccessibilityScrollbar):
  25982. (WebCore::AccessibilityScrollbar::create):
  25983. (WebCore::AccessibilityScrollbar::elementRect):
  25984. (WebCore::AccessibilityScrollbar::document):
  25985. (WebCore::AccessibilityScrollbar::orientation):
  25986. (WebCore::AccessibilityScrollbar::isEnabled):
  25987. (WebCore::AccessibilityScrollbar::valueForRange):
  25988. (WebCore::AccessibilityScrollbar::setValue):
  25989. * accessibility/AccessibilityScrollbar.h:
  25990. (WebCore::AccessibilityScrollbar::setParent):
  25991. (WebCore::AccessibilityScrollbar::canSetValueAttribute):
  25992. (WebCore::AccessibilityScrollbar::canSetNumericValue):
  25993. (WebCore::AccessibilityScrollbar::isAccessibilityScrollbar):
  25994. (WebCore::AccessibilityScrollbar::parentObject):
  25995. (WebCore::AccessibilityScrollbar::roleValue):
  25996. * accessibility/mac/AccessibilityObjectMac.mm:
  25997. (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
  25998. * accessibility/mac/AccessibilityObjectWrapper.mm:
  25999. (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
  26000. (-[AccessibilityObjectWrapper remoteAccessibilityParentObject]):
  26001. (-[AccessibilityObjectWrapper position]):
  26002. (-[AccessibilityObjectWrapper scrollViewParent]):
  26003. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  26004. (-[AccessibilityObjectWrapper accessibilityHitTest:]):
  26005. (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
  26006. * dom/Document.cpp:
  26007. (WebCore::Document::axObjectCache):
  26008. * loader/EmptyClients.h:
  26009. (WebCore::EmptyFrameLoaderClient::accessibilityRemoteObject):
  26010. * loader/FrameLoaderClient.h:
  26011. * page/FrameView.cpp:
  26012. (WebCore::FrameView::~FrameView):
  26013. (WebCore::FrameView::axObjectCache):
  26014. * page/FrameView.h:
  26015. * platform/ScrollView.cpp:
  26016. (WebCore::ScrollView::setHasHorizontalScrollbar):
  26017. (WebCore::ScrollView::setHasVerticalScrollbar):
  26018. * platform/Scrollbar.cpp:
  26019. (WebCore::Scrollbar::~Scrollbar):
  26020. (WebCore::Scrollbar::scroll):
  26021. (WebCore::Scrollbar::axObjectCache):
  26022. * platform/Scrollbar.h:
  26023. * platform/Widget.h:
  26024. (WebCore::Widget::axObjectCache):
  26025. 2011-01-04 W. James MacLean <wjmaclean@chromium.org>
  26026. Reviewed by Kenneth Russell.
  26027. [chromium] Add support to compositor to composite to offscreen texture.
  26028. https://bugs.webkit.org/show_bug.cgi?id=50833
  26029. A patch to extend compositor to be able to composite into an offscreen texture instead
  26030. of just directly to the display buffer. Builds on RenderSurfaceChromium support.
  26031. Explicitly resets alpha channel before rendering to display.
  26032. * platform/graphics/chromium/LayerRendererChromium.cpp:
  26033. (WebCore::LayerRendererChromium::LayerRendererChromium):
  26034. (WebCore::LayerRendererChromium::updateAndDrawRootLayer):
  26035. (WebCore::LayerRendererChromium::drawLayers):
  26036. (WebCore::LayerRendererChromium::setCompositeOffscreen):
  26037. (WebCore::LayerRendererChromium::useRenderSurface):
  26038. (WebCore::LayerRendererChromium::setScissorToRect):
  26039. * platform/graphics/chromium/LayerRendererChromium.h:
  26040. (WebCore::LayerRendererChromium::isCompositingOffscreen):
  26041. (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
  26042. 2011-01-04 Evan Martin <evan@chromium.org>
  26043. Reviewed by Tony Chang.
  26044. [chromium] depend on harfbuzz explicitly
  26045. https://bugs.webkit.org/show_bug.cgi?id=51895
  26046. platform/graphics/chromium uses Harfbuzz directly. Rather than
  26047. expecting Skia to adjust the include paths, be explicit about
  26048. the dependency.
  26049. * WebCore.gyp/WebCore.gyp:
  26050. 2011-01-04 Darin Adler <darin@apple.com>
  26051. Reviewed by Brady Eidson.
  26052. Add back/forward encoding and decoding to WebKit2
  26053. https://bugs.webkit.org/show_bug.cgi?id=51901
  26054. * WebCore.exp.in: Export functions used in WebKit2.
  26055. * history/HistoryItem.cpp:
  26056. (WebCore::HistoryItem::encodeBackForwardTree): Use references instead of pointers.
  26057. (WebCore::HistoryItem::encodeBackForwardTreeNode): Ditto.
  26058. (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
  26059. * history/HistoryItem.h: Ditto.
  26060. * platform/network/FormData.cpp:
  26061. (WebCore::encode): Ditto.
  26062. (WebCore::decode): Ditto.
  26063. (WebCore::FormData::encodeForBackForward): Ditto.
  26064. (WebCore::FormData::decodeForBackForward): Ditto.
  26065. * platform/network/FormData.h: Ditto.
  26066. 2011-01-04 Xiaomei Ji <xji@chromium.org>
  26067. Reviewed by Dan Bernstein.
  26068. Implement sel.modify('move', 'left'/'right', 'lineBoundary').
  26069. https://bugs.webkit.org/show_bug.cgi?id=33435
  26070. * editing/SelectionController.cpp:
  26071. (WebCore::SelectionController::modifyMovingRight):
  26072. (WebCore::SelectionController::modifyMovingLeft):
  26073. * editing/visible_units.cpp:
  26074. (WebCore::logicalStartOfLine):
  26075. (WebCore::logicalEndOfLine):
  26076. (WebCore::leftBoundaryOfLine):
  26077. (WebCore::rightBoundaryOfLine):
  26078. * editing/visible_units.h:
  26079. 2011-01-04 Martin Robinson <mrobinson@igalia.com>
  26080. Reviewed by Xan Lopez.
  26081. [GTK] Use the default CSS text input control border width of relying on the GTK+ theme
  26082. https://bugs.webkit.org/show_bug.cgi?id=51887
  26083. Do not rely on the GTK+ theme to determine text control borders. This simplifies
  26084. the RenderTheme code, prevents metrics differences between GTK+ 2.x and 3.x and
  26085. doesn't break the rendering of any theme that I've encountered.
  26086. * platform/gtk/RenderThemeGtk.cpp:
  26087. (WebCore::RenderThemeGtk::adjustSearchFieldStyle): No longer call setTextInputBorders, but
  26088. still disable any border radius.
  26089. * platform/gtk/RenderThemeGtk.h: Remove setTextInputBorders and no longer override the
  26090. default style of text areas and text input controls.
  26091. * platform/gtk/RenderThemeGtk2.cpp: Ditto.
  26092. * platform/gtk/RenderThemeGtk3.cpp: Ditto.
  26093. 2011-01-03 Martin Robinson <mrobinson@igalia.com>
  26094. Reviewed by Darin Adler.
  26095. Remove the last non-GObject usage of PlatformRefPtr and move the code to GRefPtr
  26096. https://bugs.webkit.org/show_bug.cgi?id=51846
  26097. No new tests. This should not introduce any functional changes.
  26098. Changed all references to PlatformRefPtr in GTK+ code to GRefPtr. Changed
  26099. all references to PlatformRefPtr in Brew code to RefPtr.
  26100. 2011-01-04 David Kilzer <ddkilzer@apple.com>
  26101. <http://webkit.org/b/51890> Move ResourceLoadPriority.h into WebCore/platform/network
  26102. Reviewed by Antti Koivisto.
  26103. This is needed to prevent a WebCore/platform policy violation in
  26104. my next patch.
  26105. * WebCore.gypi: Updated for moved header.
  26106. * WebCore.pro: Ditto.
  26107. * WebCore.vcproj/WebCore.vcproj: Ditto.
  26108. * WebCore.xcodeproj/project.pbxproj: Ditto.
  26109. * platform/network/ResourceLoadPriority.h: Renamed from WebCore/loader/ResourceLoadPriority.h.
  26110. 2011-01-04 Brady Eidson <beidson@apple.com>
  26111. Reviewed by a spell checker.
  26112. * storage/StorageMap.h: mesured? Really?
  26113. 2011-01-04 Carlos Garcia Campos <cgarcia@igalia.com> and Martin Robinson <mrobinson@igalia.com>
  26114. Reviewed by Xan Lopez.
  26115. [GTK] Port stock icon painting to GtkStyleContext
  26116. https://bugs.webkit.org/show_bug.cgi?id=51764
  26117. Port stock icon painting for media and search input elements to
  26118. GtkStyleContext. Also create the initial machinery for accessing
  26119. style contexts for all GTK+ 3.x based widgets.
  26120. No new tests. This should not change functionality.
  26121. * platform/gtk/RenderThemeGtk.cpp:
  26122. (WebCore::paintGdkPixbuf):
  26123. (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
  26124. (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
  26125. (WebCore::RenderThemeGtk::paintMediaButton):
  26126. * platform/gtk/RenderThemeGtk.h:
  26127. * platform/gtk/RenderThemeGtk2.cpp:
  26128. (WebCore::RenderThemeGtk::getStockIcon):
  26129. * platform/gtk/RenderThemeGtk3.cpp:
  26130. (WebCore::gtkStyleChangedCallback):
  26131. (WebCore::styleContextMap):
  26132. (WebCore::getStyleContext):
  26133. (WebCore::RenderThemeGtk::paintMenuList):
  26134. 2010-12-31 Antti Koivisto <antti@apple.com>
  26135. Reviewed by Dave Hyatt.
  26136. Scripts should not be executed before preceding stylesheets are loaded
  26137. https://bugs.webkit.org/show_bug.cgi?id=8852
  26138. Block inline script execution on pending stylesheet loads. This matches
  26139. other browsers and HTML5.
  26140. Tests: fast/tokenizer/inline-script-stylesheet-write.html
  26141. fast/tokenizer/inline-script-stylesheet.html
  26142. * dom/PendingScript.cpp:
  26143. (WebCore::PendingScript::releaseElementAndClear):
  26144. * dom/PendingScript.h:
  26145. (WebCore::PendingScript::PendingScript):
  26146. (WebCore::PendingScript::operator=):
  26147. (WebCore::PendingScript::startingPosition):
  26148. (WebCore::PendingScript::setStartingPosition):
  26149. * html/HTMLLinkElement.cpp:
  26150. (WebCore::HTMLLinkElement::process):
  26151. This fixes an unrelated bug with beforeload events that was exposed by the other
  26152. changes (fast/dom/beforeload/remove-link-in-beforeload-listener.html).
  26153. * html/parser/HTMLScriptRunner.cpp:
  26154. (WebCore::HTMLScriptRunner::sourceFromPendingScript):
  26155. (WebCore::HTMLScriptRunner::runScript):
  26156. 2011-01-04 Xianzhu Wang <wangxianzhu@google.com>
  26157. Reviewed by Darin Adler.
  26158. Let DataView.getInt8() and DataView.setInt8() use int8_t instead of
  26159. ambiguous 'char' to fix fast/canvas/webgl/data-view-test.html failure
  26160. on ARM.
  26161. https://bugs.webkit.org/show_bug.cgi?id=51861
  26162. By the way, changed other getIntXX() and setIntXX() methods to use
  26163. more precise integer types.
  26164. * bindings/js/JSDataViewCustom.cpp:
  26165. (WebCore::setDataViewMember):
  26166. * bindings/v8/custom/V8DataViewCustom.cpp:
  26167. (WebCore::V8DataView::getInt8Callback):
  26168. (WebCore::V8DataView::setInt8Callback):
  26169. * html/canvas/DataView.cpp:
  26170. (WebCore::DataView::getInt8):
  26171. (WebCore::DataView::setInt8):
  26172. * html/canvas/DataView.h:
  26173. * html/canvas/DataView.idl:
  26174. 2011-01-04 Yong Li <yoli@rim.com>
  26175. Reviewed by Adam Barth.
  26176. Suspend HTMLParserScheduler when page load is deferred to
  26177. avoid potential JS re-entrancy. Otherwise, when JS execution is triggered
  26178. from an external script or by events, and is blocked by a modal dialog,
  26179. WebKit can parse more HTML source and also start another JS execution.
  26180. https://bugs.webkit.org/show_bug.cgi?id=48077
  26181. Test case: WebCore/manual-tests/bugzilla-48077.html.
  26182. * dom/DocumentParser.cpp:
  26183. (WebCore::DocumentParser::suspendScheduledTasks):
  26184. (WebCore::DocumentParser::resumeScheduledTasks):
  26185. * dom/DocumentParser.h:
  26186. * html/parser/HTMLDocumentParser.cpp:
  26187. (WebCore::HTMLDocumentParser::suspendScheduledTasks):
  26188. (WebCore::HTMLDocumentParser::resumeScheduledTasks):
  26189. * html/parser/HTMLParserScheduler.cpp:
  26190. (WebCore::HTMLParserScheduler::HTMLParserScheduler):
  26191. (WebCore::HTMLParserScheduler::suspend):
  26192. (WebCore::HTMLParserScheduler::resume):
  26193. * html/parser/HTMLParserScheduler.h:
  26194. (WebCore::HTMLParserScheduler::isScheduledForResume):
  26195. * page/PageGroupLoadDeferrer.cpp:
  26196. (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
  26197. (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
  26198. 2011-01-04 Tony Gentilcore <tonyg@chromium.org>
  26199. Unreviewed build fix.
  26200. Include glib-object.h for GObject
  26201. https://bugs.webkit.org/show_bug.cgi?id=51876
  26202. * bindings/gobject/DOMObjectCache.cpp:
  26203. 2011-01-04 Ryosuke Niwa <rniwa@webkit.org>
  26204. Reviewed by Dan Bernstein.
  26205. Clicking on the first or the last letter of LTR/RTL text in a RTL/LTR block puts caret on the opposite side.
  26206. https://bugs.webkit.org/show_bug.cgi?id=50992
  26207. Fixed the bug by interchanging the offset when the direction of inline text box and the containing block
  26208. does not match. Reused the code added by http://trac.webkit.org/changeset/73553.
  26209. Test: editing/selection/caret-bidi-first-and-last-letters.html
  26210. * rendering/InlineTextBox.cpp:
  26211. (WebCore::InlineTextBox::offsetForPosition):
  26212. 2010-12-29 Tony Gentilcore <tonyg@chromium.org>
  26213. Reviewed by Darin Adler.
  26214. Remove 2 unnecessary includes from Document.h
  26215. https://bugs.webkit.org/show_bug.cgi?id=51727
  26216. No new tests because no changed functionality.
  26217. * dom/Document.cpp:
  26218. * dom/Document.h:
  26219. * editing/Editor.cpp:
  26220. * editing/SpellChecker.h:
  26221. * editing/SplitTextNodeCommand.cpp:
  26222. * editing/TextCheckingHelper.cpp:
  26223. * page/FrameView.cpp:
  26224. * page/Page.cpp:
  26225. * rendering/HitTestResult.cpp:
  26226. * rendering/InlineTextBox.cpp:
  26227. * rendering/InlineTextBox.h:
  26228. * rendering/svg/SVGInlineFlowBox.cpp:
  26229. 2011-01-04 Patrick Gansterer <paroga@webkit.org>
  26230. Unreviewed WinCE build fix.
  26231. * CMakeListsWinCE.txt: Added missing include directories, files and libraries.
  26232. 2011-01-04 Yi Shen <yi.4.shen@nokia.com>
  26233. Reviewed by Simon Hausmann.
  26234. Provide an interface to require using fullscreen mediaplayer
  26235. https://bugs.webkit.org/show_bug.cgi?id=51133
  26236. Only video should be displayed in fullscreen when
  26237. requiresFullscreenForVideoPlayback is specified.
  26238. No new tests because no client implements requiresFullscreenForVideoPlayback yet.
  26239. * html/HTMLMediaElement.cpp:
  26240. (WebCore::HTMLMediaElement::updatePlayState):
  26241. 2011-01-04 Benjamin Poulain <benjamin.poulain@nokia.com>
  26242. Reviewed by Kenneth Rohde Christiansen.
  26243. [Qt] [WK2] create an initial implementation of the context menu handling for WebKit 2
  26244. https://bugs.webkit.org/show_bug.cgi?id=51825
  26245. Implement contextMenuItemVector() for Qt, this method is used in WebKit 2 to get the
  26246. platform independent menu informations.
  26247. * platform/qt/ContextMenuQt.cpp:
  26248. (WebCore::contextMenuItemVector):
  26249. 2011-01-04 Sheriff Bot <webkit.review.bot@gmail.com>
  26250. Unreviewed, rolling out r74960.
  26251. http://trac.webkit.org/changeset/74960
  26252. https://bugs.webkit.org/show_bug.cgi?id=51868
  26253. Rollout since we hit an assert after this patch. (Requested by
  26254. krit on #webkit).
  26255. * svg/SVGUseElement.cpp:
  26256. (WebCore::SVGUseElement::buildInstanceTree):
  26257. 2011-01-04 Sheriff Bot <webkit.review.bot@gmail.com>
  26258. Unreviewed, rolling out r74961.
  26259. http://trac.webkit.org/changeset/74961
  26260. https://bugs.webkit.org/show_bug.cgi?id=51867
  26261. breaks 32/64-bits debug bots build (Requested by philn-tp on
  26262. #webkit).
  26263. * platform/graphics/gstreamer/GStreamerGWorld.cpp:
  26264. (WebCore::GStreamerGWorld::setWindowOverlay):
  26265. 2011-01-03 Philippe Normand <pnormand@igalia.com>
  26266. Rubber-stamped by Eric Seidel.
  26267. [GStreamer] build fails with gstreamer core 0.10.31 and -plugins-base 0.10.30
  26268. https://bugs.webkit.org/show_bug.cgi?id=51810
  26269. Based on a patch by Mart Raudsepp.
  26270. No new tests, build fix only.
  26271. * platform/graphics/gstreamer/GStreamerGWorld.cpp:
  26272. (WebCore::GStreamerGWorld::setWindowOverlay): Use the new xoverlay
  26273. API if the GST_CHECK_PLUGINS_BASE_VERSION macro is defined. It was
  26274. introduced in same version as the xoverlay API change.
  26275. 2011-01-04 Leo Yang <leo.yang@torchmobile.com.cn>
  26276. Reviewed by Dirk Schulze.
  26277. Malformed SVG causes crash in updateContainerOffset
  26278. https://bugs.webkit.org/show_bug.cgi?id=44610
  26279. We should check recursive <use> at the begining of
  26280. WebCore::SVGUseElement::buildInstanceTree instead
  26281. of at the end of it because the target element's
  26282. children may cause infinite recursive <use>.
  26283. Test: svg/custom/recursive-use.svg
  26284. * svg/SVGUseElement.cpp:
  26285. (WebCore::SVGUseElement::buildInstanceTree):
  26286. 2011-01-04 Kent Tamura <tkent@chromium.org>
  26287. Unreviewed, build fix.
  26288. Try to fix Clang build.
  26289. * css/CSSParser.cpp:
  26290. (WebCore::valueFromSideKeyword):
  26291. (WebCore::CSSParser::parseLinearGradient):
  26292. 2011-01-03 Julie-Jeongeun-Kim <Jeongeun.Kim@obigo.com>
  26293. Reviewed by Darin Adler.
  26294. HTML5 Conformance Test failure: approved/xhtml5/object_border_pixel.xhtml
  26295. https://bugs.webkit.org/show_bug.cgi?id=48596
  26296. border attribute was not parsed in HTMLObjectElement.
  26297. I added code for it as HTMLImageElement handled.
  26298. new test:fast/html/object-border.html
  26299. * html/HTMLObjectElement.cpp:
  26300. (WebCore::HTMLObjectElement::parseMappedAttribute):
  26301. 2011-01-03 Darin Adler <darin@apple.com>
  26302. Try to fix Chromium build.
  26303. * history/HistoryItem.cpp:
  26304. (WebCore::HistoryItem::encodeBackForwardTreeNode): Added a V8 case here.
  26305. Not sure this ever will be used with V8.
  26306. (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
  26307. 2011-01-03 Darin Adler <darin@apple.com>
  26308. Try to fix Leopard build.
  26309. * history/HistoryItem.cpp: Use a consistent type, uint64_t, for the
  26310. size variable.
  26311. 2011-01-03 Abhishek Arya <inferno@chromium.org>
  26312. Reviewed by Darin Adler.
  26313. Fixes before child calculation when adding anonymous childs to table parts.
  26314. https://bugs.webkit.org/show_bug.cgi?id=50932
  26315. Fix in r74364 was incomplete. When before child is equal to the table part(to
  26316. which the new child is getting added), it confuses the table part to add it
  26317. incorrectly as an after child. The patch fixes by passing the before child as
  26318. the table part's first child.
  26319. Tests: fast/css-generated-content/table-before-after-child-add.html
  26320. fast/css-generated-content/table-cell-before-after-child-add.html
  26321. fast/css-generated-content/table-row-before-after-child-add.html
  26322. fast/css-generated-content/table-row-before-after-child-add.html
  26323. * rendering/RenderTable.cpp:
  26324. (WebCore::RenderTable::addChild):
  26325. * rendering/RenderTableRow.cpp:
  26326. (WebCore::RenderTableRow::addChild):
  26327. * rendering/RenderTableSection.cpp:
  26328. (WebCore::RenderTableSection::addChild):
  26329. 2011-01-03 Dan Bernstein <mitz@apple.com>
  26330. Reviewed by Simon Fraser.
  26331. Shrink HTMLTableCellElement
  26332. https://bugs.webkit.org/show_bug.cgi?id=51858
  26333. * html/HTMLTableCellElement.cpp:
  26334. (WebCore::HTMLTableCellElement::HTMLTableCellElement): Removed intialization of m_row and
  26335. m_col.
  26336. * html/HTMLTableCellElement.h: Removed m_row and m_col and their accessors.
  26337. 2011-01-03 Darin Adler <darin@apple.com>
  26338. Fix build.
  26339. * platform/network/FormData.cpp:
  26340. (WebCore::FormData::create): Roll back uint8_t change.
  26341. (WebCore::FormData::flatten): Ditto.
  26342. (WebCore::FormData::flattenToString): Ditto.
  26343. (WebCore::encode): Ditto.
  26344. (WebCore::decode): Ditto.
  26345. (WebCore::FormData::encodeForBackForward):
  26346. * platform/network/FormData.h: Ditto.
  26347. * platform/network/mac/FormDataStreamMac.mm:
  26348. (WebCore::advanceCurrentStream): Ditto.
  26349. 2011-01-03 Darin Adler <darin@apple.com>
  26350. Reviewed by Brady Eidson.
  26351. Add code to encode/decode the back/forward tree
  26352. https://bugs.webkit.org/show_bug.cgi?id=51853
  26353. * history/HistoryItem.cpp:
  26354. (WebCore::HistoryItem::encodeBackForwardTree): Added.
  26355. (WebCore::HistoryItem::encodeBackForwardTreeNode): Added.
  26356. (WebCore::HistoryItem::decodeBackForwardTree): Added.
  26357. * history/HistoryItem.h: Added functions above.
  26358. * platform/network/FormData.cpp:
  26359. (WebCore::FormData::create): Changed type to Vector<uint8_t> instead of
  26360. Vector<char>. This type is used in our newer code for vectors of bytes.
  26361. (WebCore::FormData::flatten): Ditto.
  26362. (WebCore::FormData::flattenToString): Ditto. Had to add a cast here.
  26363. (WebCore::FormData::encodeForBackForward): Added.
  26364. (WebCore::FormData::decodeForBackForward): Added.
  26365. * platform/network/FormData.h: Changed type to Vector<uint8_t> instead of
  26366. Vector<char>. Also made some single-argument constructors explicit.
  26367. Also added the new functions.
  26368. * platform/network/mac/FormDataStreamMac.mm:
  26369. (WebCore::advanceCurrentStream): Changed to use uint8_t to match above.
  26370. 2011-01-03 Simon Fraser <simon.fraser@apple.com>
  26371. Attempt to fix GTK build.
  26372. * platform/graphics/gtk/FontGtk.cpp:
  26373. (WebCore::drawGlyphsShadow):
  26374. 2011-01-03 Helder Correia <helder@sencha.com>
  26375. Reviewed by Simon Fraser.
  26376. ContextShadow can avoid code duplication for getting the CTM
  26377. https://bugs.webkit.org/show_bug.cgi?id=51799
  26378. ContextShadow defines its own getTransformationMatrixFromContext()
  26379. which does exactly the same as GraphicsContext::getCTM().
  26380. Existing tests: fast/canvas/canvas*shadow*html
  26381. * platform/graphics/ContextShadow.cpp:
  26382. (WebCore::ContextShadow::mustUseContextShadow):
  26383. (WebCore::ContextShadow::adjustBlurDistance):
  26384. (WebCore::ContextShadow::calculateLayerBoundingRect):
  26385. * platform/graphics/ContextShadow.h:
  26386. * platform/graphics/cairo/ContextShadowCairo.cpp:
  26387. (WebCore::ContextShadow::beginShadowLayer):
  26388. (WebCore::ContextShadow::endShadowLayer):
  26389. (WebCore::ContextShadow::drawRectShadowWithoutTiling):
  26390. * platform/graphics/cairo/FontCairo.cpp:
  26391. (WebCore::drawGlyphsShadow):
  26392. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  26393. (WebCore::drawPathShadow):
  26394. * platform/graphics/cairo/ImageCairo.cpp:
  26395. (WebCore::BitmapImage::draw):
  26396. * platform/graphics/gtk/FontGtk.cpp:
  26397. (WebCore::drawGlyphsShadow):
  26398. * platform/graphics/qt/ContextShadowQt.cpp:
  26399. (WebCore::ContextShadow::beginShadowLayer):
  26400. (WebCore::ContextShadow::endShadowLayer):
  26401. * platform/graphics/qt/FontQt.cpp:
  26402. (WebCore::drawTextCommon):
  26403. * platform/graphics/qt/GraphicsContextQt.cpp:
  26404. (WebCore::GraphicsContext::fillPath):
  26405. (WebCore::GraphicsContext::strokePath):
  26406. (WebCore::GraphicsContext::fillRect):
  26407. (WebCore::GraphicsContext::fillRoundedRect):
  26408. * platform/graphics/qt/ImageQt.cpp:
  26409. (WebCore::BitmapImage::draw):
  26410. * platform/graphics/qt/StillImageQt.cpp:
  26411. (WebCore::StillImage::draw):
  26412. 2011-01-03 Darin Adler <darin@apple.com>
  26413. Reviewed by Dan Bernstein.
  26414. InsertTextCommand::m_charactersAdded is unused
  26415. https://bugs.webkit.org/show_bug.cgi?id=51849
  26416. * editing/InsertTextCommand.cpp:
  26417. (WebCore::InsertTextCommand::InsertTextCommand): Don't initialize m_charactersAdded.
  26418. (WebCore::InsertTextCommand::input): Don't update m_charactersAdded.
  26419. * editing/InsertTextCommand.h: Removed charactersAdded function and
  26420. m_charactersAdded data member.
  26421. 2011-01-03 Carlos Garcia Campos <cgarcia@igalia.com>
  26422. Reviewed by Martin Robinson.
  26423. [GTK] Move paintMenuListButton() to RenderThemeGtk.cpp
  26424. https://bugs.webkit.org/show_bug.cgi?id=51832
  26425. Method paintMenuListButton() contains code common to both gtk 2
  26426. and 3, so it can be moved to RenderThemeGtk.cpp instead of
  26427. duplicating it.
  26428. * platform/gtk/RenderThemeGtk.cpp:
  26429. (WebCore::RenderThemeGtk::paintMenuListButton):
  26430. * platform/gtk/RenderThemeGtk2.cpp:
  26431. * platform/gtk/RenderThemeGtk3.cpp:
  26432. 2011-01-03 Pratik Solanki <psolanki@apple.com>
  26433. Reviewed by Darin Adler.
  26434. https://bugs.webkit.org/show_bug.cgi?id=51850
  26435. Put CFNetwork loader code inside USE(CFNETWORK)
  26436. Add USE(CFNETWORK) macros around all the cf/mac network files. Also added all CFNetwork
  26437. files to the WebCore Xcode project.
  26438. * WebCore.xcodeproj/project.pbxproj:
  26439. * loader/cf/ResourceLoaderCFNet.cpp:
  26440. * loader/mac/ResourceLoaderMac.mm:
  26441. * platform/network/cf/AuthenticationCF.cpp:
  26442. * platform/network/cf/AuthenticationCF.h:
  26443. * platform/network/cf/CookieJarCFNet.cpp:
  26444. * platform/network/cf/CookieStorageCFNet.cpp:
  26445. * platform/network/cf/CookieStorageCFNet.h:
  26446. * platform/network/cf/CredentialStorageCFNet.cpp:
  26447. * platform/network/cf/FormDataStreamCFNet.cpp:
  26448. * platform/network/cf/FormDataStreamCFNet.h:
  26449. * platform/network/cf/LoaderRunLoopCF.cpp:
  26450. * platform/network/cf/LoaderRunLoopCF.h:
  26451. * platform/network/cf/ResourceError.h:
  26452. * platform/network/cf/ResourceHandleCFNet.cpp:
  26453. * platform/network/cf/ResourceRequest.h:
  26454. * platform/network/cf/ResourceRequestCFNet.cpp:
  26455. * platform/network/cf/ResourceRequestCFNet.h:
  26456. * platform/network/cf/ResourceResponse.h:
  26457. * platform/network/cf/ResourceResponseCFNet.cpp:
  26458. * platform/network/mac/AuthenticationMac.h:
  26459. * platform/network/mac/AuthenticationMac.mm:
  26460. * platform/network/mac/FormDataStreamMac.h:
  26461. * platform/network/mac/FormDataStreamMac.mm:
  26462. * platform/network/mac/ResourceError.h:
  26463. * platform/network/mac/ResourceHandleMac.mm:
  26464. * platform/network/mac/ResourceRequest.h:
  26465. * platform/network/mac/ResourceRequestMac.mm:
  26466. * platform/network/mac/ResourceResponse.h:
  26467. * platform/network/mac/ResourceResponseMac.mm:
  26468. 2011-01-03 Yi Shen <yi.4.shen@nokia.com>
  26469. Reviewed by Adam Barth.
  26470. [Qt] Add SelectAll option to the context menu for the editor
  26471. https://bugs.webkit.org/show_bug.cgi?id=50049
  26472. Enable SelectAll for the Qt context menu.
  26473. * page/ContextMenuController.cpp:
  26474. (WebCore::ContextMenuController::populate):
  26475. * platform/ContextMenuItem.h:
  26476. * platform/LocalizationStrategy.h:
  26477. * platform/LocalizedStrings.cpp:
  26478. (WebCore::contextMenuItemTagSelectAll):
  26479. * platform/LocalizedStrings.h:
  26480. 2011-01-03 Dan Bernstein <mitz@apple.com>
  26481. Reviewed by Darin Adler.
  26482. Shrink RootInlineBox
  26483. https://bugs.webkit.org/show_bug.cgi?id=51847
  26484. * rendering/RootInlineBox.cpp:
  26485. (WebCore::RootInlineBox::alignBoxesInBlockDirection): Changed to use the baselineType()
  26486. accessor.
  26487. * rendering/RootInlineBox.h: Rolled m_baselineType into a bitfield. Changed its type to
  26488. unsigned because otherwise MSVC treats it as signed.
  26489. (WebCore::RootInlineBox::baselineType): Added a cast.
  26490. 2011-01-03 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
  26491. Reviewed by Martin Robinson.
  26492. [GTK] Split webkitprivate.{cpp,h} in more manageable chunks
  26493. https://bugs.webkit.org/show_bug.cgi?id=50698
  26494. Fix DOM bindings generation to no longer include the now-gone
  26495. webkitprivate.h header, including the appropriate replacements
  26496. instead.
  26497. * bindings/scripts/CodeGeneratorGObject.pm:
  26498. 2011-01-03 Brady Eidson <beidson@apple.com>
  26499. Reviewed by Darin Adler.
  26500. Add Encode/Decode machinery Darin and I plan to work with for back/forward stuff in WebKit2.
  26501. * ForwardingHeaders/wtf/Decoder.h: Added.
  26502. * ForwardingHeaders/wtf/Encoder.h: Added.
  26503. 2011-01-03 Chris Fleizach <cfleizach@apple.com>
  26504. Reviewed by Darin Adler.
  26505. AX: Regression: WebKit no longer auto-scrolls with VoiceOver navigation
  26506. https://bugs.webkit.org/show_bug.cgi?id=51833
  26507. Make sure the web area returns the contentsSize, not the same size as what is displayed.
  26508. Test: platform/mac/accessibility/webarea-size-equals-content-size.html
  26509. * accessibility/AccessibilityRenderObject.cpp:
  26510. (WebCore::AccessibilityRenderObject::boundingBoxRect):
  26511. 2011-01-03 Simon Fraser <simon.fraser@apple.com>
  26512. Fix warning in 32-bit builds.
  26513. * css/CSSGradientValue.cpp:
  26514. (WebCore::CSSLinearGradientValue::createGradient):
  26515. 2011-01-03 Benjamin C Meyer <bmeyer@rim.com>
  26516. Reviewed by Daniel Bates.
  26517. In the cmake build system move logic related to ENABLE_NOTIFICATIONS into its own block.
  26518. https://bugs.webkit.org/show_bug.cgi?id=51827
  26519. * CMakeLists.txt:
  26520. 2011-01-03 Dan Bernstein <mitz@apple.com>
  26521. Reviewed by Simon Fraser.
  26522. Remove the unused RenderTableCell::m_percentageHeight
  26523. https://bugs.webkit.org/show_bug.cgi?id=51837
  26524. * rendering/RenderTableCell.cpp:
  26525. (WebCore::RenderTableCell::RenderTableCell): Removed initialization of m_percentageHeight.
  26526. * rendering/RenderTableCell.h: Removed m_percentageHeight.
  26527. 2011-01-03 Simon Fraser <simon.fraser@apple.com>
  26528. Reviewed by David Hyatt.
  26529. Implement -webkit-linear-gradient and -webkit-radial-gradient
  26530. https://bugs.webkit.org/show_bug.cgi?id=28152
  26531. Add support for -webkit-radial-gradients.
  26532. Tests: fast/gradients/css3-radial-gradients.html
  26533. fast/gradients/css3-radial-gradients2.html
  26534. * css/CSSGradientValue.cpp:
  26535. (WebCore::blend): Used to blend colors, which is necessary when truncating
  26536. the start of radial gradients.
  26537. (WebCore::GradientStop): Small struct to aid gradient stop processing.
  26538. (WebCore::CSSGradientValue::addStops): Rename 'positions' to 'stops', and store
  26539. the color so that we can blend it when truncating radial gradients. Changed
  26540. to handle both linear and radial gradients.
  26541. (WebCore::CSSRadialGradientValue::cssText): Update to follow the spec.
  26542. (WebCore::CSSRadialGradientValue::resolveRadius): Stylistic change.
  26543. (WebCore::distanceToClosestCorner): New utility method.
  26544. (WebCore::distanceToFarthestCorner): Ditto.
  26545. (WebCore::CSSRadialGradientValue::createGradient): New logic to deal with shape and
  26546. fill rules.
  26547. * css/CSSGradientValue.h:
  26548. (WebCore::CSSGradientValue::isLinearGradient): Color-stop processing needs to know what
  26549. kind of gradient it's dealing with, so add new isFooGradient methods.
  26550. (WebCore::CSSGradientValue::isRadialGradient): Ditto.
  26551. (WebCore::CSSLinearGradientValue::isLinearGradient):
  26552. (WebCore::CSSRadialGradientValue::setShape): New setters for shape, size etc.
  26553. (WebCore::CSSRadialGradientValue::setSizingBehavior):
  26554. (WebCore::CSSRadialGradientValue::setEndHorizontalSize):
  26555. (WebCore::CSSRadialGradientValue::setEndVerticalSize):
  26556. (WebCore::CSSRadialGradientValue::isRadialGradient):
  26557. * css/CSSParser.h:
  26558. * css/CSSParser.h: Pass a CSSParserValueList* into parseFillPositionXY() and parseFillPosition()
  26559. so we can use parseFillPosition() when parsing a gradient function.
  26560. * css/CSSParser.cpp:
  26561. (WebCore::CSSParser::parseFillPositionXY): Pass in a CSSParserValueList*
  26562. (WebCore::CSSParser::parseFillPosition): Ditto
  26563. (WebCore::CSSParser::parseFillProperty): Pass m_valueList to parseFillPosition.
  26564. (WebCore::CSSParser::parseTransformOriginShorthand): Ditto
  26565. (WebCore::CSSParser::parseRadialGradient): Flesh out radial gradient parsing.
  26566. (WebCore::CSSParser::parseTransformOrigin): Pass m_valueList to parseFillPosition.
  26567. (WebCore::CSSParser::parsePerspectiveOrigin): Ditto
  26568. * css/CSSValueKeywords.in: New keywords for radial gradient shape and fill behaviors.
  26569. * platform/graphics/Gradient.cpp:
  26570. (WebCore::Gradient::Gradient): Pass aspect ratio for elliptical gradients.
  26571. * platform/graphics/Gradient.h: Add aspect ratio for elliptical gradients.
  26572. (WebCore::Gradient::create):
  26573. (WebCore::Gradient::startRadius): Expose radii.
  26574. (WebCore::Gradient::endRadius):
  26575. (WebCore::Gradient::setStartRadius): Setters are required for when we need to scale color stops.
  26576. (WebCore::Gradient::setEndRadius):
  26577. (WebCore::Gradient::aspectRatio):
  26578. * platform/graphics/cg/GradientCG.cpp:
  26579. (WebCore::Gradient::paint): For elliptical gradients, scale the CTM.
  26580. * platform/graphics/wince/GraphicsContextWinCE.cpp:
  26581. (WebCore::GraphicsContext::fillRect): Use start/endRadius() rather than r0() and r1().
  26582. 2011-01-03 Simon Fraser <simon.fraser@apple.com>
  26583. Reviewed by David Hyatt.
  26584. Implement -webkit-linear-gradient and -webkit-radial-gradient
  26585. https://bugs.webkit.org/show_bug.cgi?id=28152
  26586. Add support for the parsing and rendering of non-repeating CSS3 linear gradients,
  26587. according to <http://dev.w3.org/csswg/css3-images/#linear-gradients>.
  26588. Tests: fast/gradients/css3-color-stop-units.html
  26589. fast/gradients/css3-color-stops.html
  26590. fast/gradients/css3-gradient-parsing.html
  26591. fast/gradients/css3-linear-angle-gradients.html
  26592. * css/CSSGradientValue.h:
  26593. Add subclasses of CSSGradientValue for linear and radial gradients.
  26594. * css/CSSGradientValue.cpp:
  26595. (WebCore::CSSGradientValue::image): Add FIXME comment about why we can't cache
  26596. the gradient sometimes.
  26597. (WebCore::compareStops): positions are CSSValues now.
  26598. (WebCore::CSSGradientValue::sortStopsIfNeeded): Add assertion that this is only called
  26599. for old-style gradients.
  26600. (WebCore::CSSGradientValue::addStops): New method that handles the spec rules about
  26601. missing positions, ensuring that stop position is ordered, and spacing out stops
  26602. without positions. Also normalize gradients which use stops outside the 0-1 range
  26603. so that platforms can render them correctly.
  26604. (WebCore::positionFromValue): Determin the position on the gradient line for percentage,
  26605. number and length values.
  26606. (WebCore::CSSGradientValue::computeEndPoint):
  26607. (WebCore::CSSLinearGradientValue::cssText):
  26608. (WebCore::endPointsFromAngle): Compute endpoints for a gradient which covers the rectangle
  26609. given an angle.
  26610. (WebCore::CSSLinearGradientValue::createGradient):
  26611. (WebCore::CSSRadialGradientValue::cssText):
  26612. (WebCore::CSSRadialGradientValue::resolveRadius):
  26613. (WebCore::CSSRadialGradientValue::createGradient):
  26614. * css/CSSParser.cpp:
  26615. (WebCore::CSSParser::parseValue): Style fix.
  26616. (WebCore::CSSParser::parseContent): Use isGeneratedImageValue() and parseGeneratedImage()
  26617. (WebCore::CSSParser::parseFillImage): Use isGeneratedImageValue() and parseGeneratedImage()
  26618. (WebCore::CSSParser::parseBorderImage): Use isGeneratedImageValue() and parseGeneratedImage()
  26619. (WebCore::parseDeprecatedGradientPoint): Renamed to indicate that it's only used for -webkit-gradient.
  26620. (WebCore::parseDeprecatedGradientColorStop): Renamed to indicate that it's only used for -webkit-gradient,
  26621. and fixed to store CSSValues for the stop position.
  26622. (WebCore::CSSParser::parseDeprecatedGradient): Renamed to indicate that it's only used for -webkit-gradient,
  26623. and create CSSLinearGradientValue and CSSRadialGradientValue as appropriate.
  26624. (WebCore::valueFromSideKeyword):
  26625. (WebCore::parseGradientColorOrKeyword): Color parsing utility.
  26626. (WebCore::CSSParser::parseLinearGradient): New method to parse linear gradients.
  26627. (WebCore::CSSParser::parseRadialGradient): Stub for new method to parse radial gradients.
  26628. (WebCore::CSSParser::isGeneratedImageValue): Detect gradients and CSS canvas.
  26629. (WebCore::CSSParser::parseGeneratedImage): Parser for generated images like gradients
  26630. and CSS canvas.
  26631. * css/CSSParser.h:
  26632. * platform/graphics/Gradient.h:
  26633. (WebCore::Gradient::setP0): We need to be able to change the points when normalizing gradients.
  26634. (WebCore::Gradient::setP1): Ditto.
  26635. 2011-01-03 Noam Rosenthal <noam.rosenthal@nokia.com>
  26636. Reviewed by Andreas Kling.
  26637. [Qt] document.getElementById(...) doesn't return the right object in combination with QGraphicsWidget
  26638. https://bugs.webkit.org/show_bug.cgi?id=51464
  26639. Added a way to bind any QObject created as a plugin to JavaScript,
  26640. by adding a custom member (qtObject) to WebCore::Widget.
  26641. Added a test to tst_qwebpage to make sure plugins created
  26642. as QGraphicsWidget are accessible through JavaScript.
  26643. * bindings/js/ScriptControllerQt.cpp:
  26644. (WebCore::ScriptController::createScriptInstanceForWidget):
  26645. * platform/Widget.h:
  26646. * platform/qt/WidgetQt.cpp:
  26647. (WebCore::Widget::Widget):
  26648. (WebCore::Widget::setBindingObject):
  26649. (WebCore::Widget::bindingObject):
  26650. 2011-01-03 David Hyatt <hyatt@apple.com>
  26651. Reviewed by Simon Fraser.
  26652. https://bugs.webkit.org/show_bug.cgi?id=51328
  26653. Printing on a page with body { height: 100% } clips out the overflow contents. This happened
  26654. because the computePageRects function was never correct. It was using the layer's width and height
  26655. for the document's width and height, and the layer no longer includes overflow in its width and
  26656. height. It was also incorrectly assuming the first page would begin at (0,0), and this is an invalid
  26657. assumption in RTL or vertical text environments.
  26658. Added printing/page-count-percentage-height.html
  26659. * page/PrintContext.cpp:
  26660. (WebCore::PrintContext::computePageRects):
  26661. (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
  26662. 2011-01-03 Csaba Osztrogonác <ossy@webkit.org>
  26663. [Qt] Unreviewed buildfix for --minimal build after r74895.
  26664. * html/InputType.cpp: Missing include added.
  26665. * html/NumberInputType.cpp: Missing include added.
  26666. 2011-01-02 Darin Adler <darin@apple.com>
  26667. Reviewed by Kent Tamura.
  26668. Eliminate HTMLInputElement::m_deprecatedTypeNumber, other input refactoring and renaming
  26669. https://bugs.webkit.org/show_bug.cgi?id=51791
  26670. * dom/InputElement.h: Make sanitizeValueForTextField public so it can
  26671. be called by InputType.
  26672. * html/BaseButtonInputType.cpp:
  26673. (WebCore::BaseButtonInputType::accessKeyAction): Added.
  26674. (WebCore::BaseButtonInputType::storesValueSeparateFromAttribute): Added.
  26675. * html/BaseButtonInputType.h: Ditto.
  26676. * html/BaseCheckableInputType.cpp:
  26677. (WebCore::BaseCheckableInputType::canSetStringValue): Added.
  26678. (WebCore::BaseCheckableInputType::accessKeyAction): Added.
  26679. (WebCore::BaseCheckableInputType::fallbackValue): Added.
  26680. (WebCore::BaseCheckableInputType::storesValueSeparateFromAttribute): Added.
  26681. (WebCore::BaseCheckableInputType::isCheckable): Added.
  26682. * html/BaseCheckableInputType.h: Ditto.
  26683. * html/BaseDateAndTimeInputType.cpp:
  26684. (WebCore::BaseDateAndTimeInputType::hasSpinButton): Added.
  26685. * html/BaseDateAndTimeInputType.h: Ditto.
  26686. * html/BaseTextInputType.h: Made more functions private.
  26687. * html/ButtonInputType.cpp:
  26688. (WebCore::ButtonInputType::isTextButton): Added.
  26689. * html/ButtonInputType.h: Ditto.
  26690. * html/CheckboxInputType.cpp:
  26691. (WebCore::CheckboxInputType::willDispatchClick): Added.
  26692. (WebCore::CheckboxInputType::didDispatchClick): Added.
  26693. (WebCore::CheckboxInputType::isCheckbox): Added.
  26694. * html/CheckboxInputType.h: Ditto.
  26695. * html/DateTimeInputType.cpp:
  26696. (WebCore::DateTimeInputType::scaledStepValueShouldBeInteger): Fixed
  26697. typo in name of this function.
  26698. * html/DateTimeInputType.h: Ditto.
  26699. * html/DateTimeLocalInputType.cpp:
  26700. (WebCore::DateTimeLocalInputType::scaledStepValueShouldBeInteger): Ditto.
  26701. * html/DateTimeLocalInputType.h: Ditto.
  26702. * html/EmailInputType.cpp:
  26703. (WebCore::EmailInputType::isEmailField): Added.
  26704. * html/EmailInputType.h: Ditto.
  26705. * html/FileInputType.cpp:
  26706. (WebCore::FileInputType::FileInputType): Added.
  26707. (WebCore::FileInputType::canSetStringValue): Added.
  26708. (WebCore::FileInputType::canChangeFromAnotherType): Added.
  26709. (WebCore::FileInputType::files): Added.
  26710. (WebCore::FileInputType::canSetValue): Added.
  26711. (WebCore::FileInputType::getTypeSpecificValue): Added.
  26712. (WebCore::FileInputType::storesValueSeparateFromAttribute): Added.
  26713. (WebCore::FileInputType::setFileList): Added.
  26714. (WebCore::FileInputType::isFileUpload): Added.
  26715. * html/FileInputType.h: Ditto.
  26716. * html/HTMLInputElement.cpp:
  26717. (WebCore::HTMLInputElement::HTMLInputElement): Updated for data member
  26718. renaming and removal.
  26719. (WebCore::HTMLInputElement::isValidValue): Call canSetStringValue
  26720. instead of checking specific type numbers.
  26721. (WebCore::HTMLInputElement::getAllowedValueStepWithDecimalPlaces):
  26722. Use fastGetAttribute and fixed typo in the name of the
  26723. scaledStepValueShouldBeInteger function.
  26724. (WebCore::HTMLInputElement::isKeyboardFocusable): Call
  26725. InputType::isKeyboardFocusable; moved most of the type-specific
  26726. logic there.
  26727. (WebCore::HTMLInputElement::shouldUseInputMethod): Call
  26728. InputType::shouldUseInputMethod; moved the type-specific logic there.
  26729. (WebCore::HTMLInputElement::handleBlurEvent): Call
  26730. InputType::handleBlurEvent; moved the type-specific logic there.
  26731. (WebCore::HTMLInputElement::setType): Tweak the names and types
  26732. in this function.
  26733. (WebCore::HTMLInputElement::updateType): Removed the code that
  26734. set m_deprecatedTypeNumber. Compare types by comparing the value
  26735. from formControlType. Removed file-specific logic and instead call
  26736. InputType::canChangeFromAnotherType. Streamlined the logic for
  26737. activation callbacks.
  26738. (WebCore::HTMLInputElement::accessKeyAction): Call
  26739. InputType::accessKeyAction; moved the type-specific logic there.
  26740. (WebCore::HTMLInputElement::mapToEntry): Call
  26741. InputType::shouldRespectHeightAndWidthAttributes and
  26742. InputType::shouldRespectAlignAttribute.
  26743. (WebCore::HTMLInputElement::parseMappedAttribute): Updated
  26744. for name changes and the removal of m_defaultChecked. Changed the
  26745. alt attribute logic to be based on the class of the renderer.
  26746. Call InputType::srcAttributeChanged and moved the type-specific
  26747. logic there. Call shouldRespectAlignAttribute and
  26748. shouldRespectHeightAndWidthAttributes rather than having
  26749. type-specific logic here. Call minOrMaxAttributeChanged.
  26750. (WebCore::HTMLInputElement::rendererIsNeeded): Call
  26751. InputType::rendererIsNeeded; moved the type-specific logic there.
  26752. (WebCore::HTMLInputElement::attach): Removed the unneeded m_inited
  26753. flag, which was redundant with the m_haveType flag. Call
  26754. InputType::attach; moved the type-specific logic there.
  26755. (WebCore::HTMLInputElement::altText): Use fastGetAttribute.
  26756. (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Call
  26757. InputType::canBeSuccessfulSubmitButton; moved the type-specific
  26758. logic there.
  26759. (WebCore::HTMLInputElement::isActivatedSubmit): Updated for
  26760. name changes.
  26761. (WebCore::HTMLInputElement::setActivatedSubmit): Ditto.
  26762. (WebCore::HTMLInputElement::reset): Updated to use
  26763. InputType::storesValueSeparateFromAttribute. Also use
  26764. hasAttribute(checkedAttr) rather than m_defaultChecked,
  26765. since both are the same. Also updated for name change.
  26766. (WebCore::HTMLInputElement::setChecked): Updated for name
  26767. changes. Also added call to
  26768. InputType::shouldSendChangeEventAfterCheckedChanged and
  26769. moved the type-specific logic there.
  26770. (WebCore::HTMLInputElement::setIndeterminate): Call
  26771. isCheckable to see if indeterminate is allowed.
  26772. Also updated for name changes.
  26773. (WebCore::HTMLInputElement::copyNonAttributeProperties):
  26774. Updated for name changes and removed data members.
  26775. (WebCore::HTMLInputElement::value): Call
  26776. InputType::getTypeSpecificValue and InputType::fallbackValue.
  26777. Moved the type-specific logic there.
  26778. (WebCore::HTMLInputElement::valueWithDefault): Call
  26779. InputType::defaultValue. Moved the type-specific logic there.
  26780. (WebCore::HTMLInputElement::setSuggestedValue): Call
  26781. InputType::canSetSuggestedValue. Moved the type-specific logic
  26782. there.
  26783. (WebCore::HTMLInputElement::setValue): Call
  26784. InputType::canSetValue. Moved the type-specific logic there.
  26785. Clear the file list if it exists rather than checking the
  26786. type explicitly. We could probably do that a more elegant way.
  26787. (WebCore::HTMLInputElement::placeholder): Use fastGetAttribute.
  26788. (WebCore::HTMLInputElement::setValueFromRenderer): Use the
  26789. isFileUpload function in the assertion.
  26790. (WebCore::HTMLInputElement::setFileListFromRenderer): Put most
  26791. of the code from this function into FileInputType::setFileList.
  26792. (WebCore::HTMLInputElement::preDispatchEventHandler): Changed
  26793. to call InputType::willDispatchClick, which does the type-specific
  26794. work. Still need to use a single struct for all types, because
  26795. the type of the element could change during the event handling.
  26796. (WebCore::HTMLInputElement::postDispatchEventHandler): Changed
  26797. to call InputType::didDispatchClick.
  26798. (WebCore::HTMLInputElement::defaultValue): Use fastGetAttribute.
  26799. (WebCore::HTMLInputElement::accept): Use fastGetAttribute.
  26800. (WebCore::HTMLInputElement::alt): Use fastGetAttribute.
  26801. (WebCore::HTMLInputElement::src): Use fastGetAttribute.
  26802. (WebCore::HTMLInputElement::setAutofilled): Updated for name
  26803. changes.
  26804. (WebCore::HTMLInputElement::files): Use InputType::files.
  26805. (WebCore::HTMLInputElement::isAcceptableValue): Use
  26806. InputType::isAcceptableValue.
  26807. (WebCore::HTMLInputElement::sanitizeValue): Use
  26808. InputType::sanitizeValue.
  26809. (WebCore::HTMLInputElement::hasUnacceptableValue): Use
  26810. InputType::hasUnacceptableValue.
  26811. (WebCore::HTMLInputElement::needsActivationCallback): Use
  26812. InputType::shouldResetOnDocumentActivation.
  26813. (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Use
  26814. InputType::willMoveToNewOwnerDocument.
  26815. (WebCore::HTMLInputElement::dataList): Use
  26816. InputType::shouldRespectListAttribute.
  26817. (WebCore::HTMLInputElement::selectedOption): Tweaked logic
  26818. and naming a bit.
  26819. (WebCore::HTMLInputElement::stepUpFromRenderer): Use
  26820. fastGetAttribute.
  26821. (WebCore::HTMLInputElement::isSpeechEnabled): Use
  26822. InputType::shouldRespectSpeechAttribute.
  26823. (WebCore::HTMLInputElement::isTextButton): No longer inline.
  26824. Calls through to InputType.
  26825. (WebCore::HTMLInputElement::isRadioButton): Ditto.
  26826. (WebCore::HTMLInputElement::isSearchField): Ditto.
  26827. (WebCore::HTMLInputElement::isInputTypeHidden): Ditto.
  26828. (WebCore::HTMLInputElement::isPasswordField): Ditto.
  26829. (WebCore::HTMLInputElement::isCheckbox): Ditto.
  26830. (WebCore::HTMLInputElement::isText): Ditto.
  26831. (WebCore::HTMLInputElement::isEmailField): Ditto.
  26832. (WebCore::HTMLInputElement::isFileUpload): Ditto.
  26833. (WebCore::HTMLInputElement::isImageButton): Ditto.
  26834. (WebCore::HTMLInputElement::isNumberField): Ditto.
  26835. (WebCore::HTMLInputElement::isSubmitButton): Ditto.
  26836. (WebCore::HTMLInputElement::isTelephoneField): Ditto.
  26837. (WebCore::HTMLInputElement::isURLField): Ditto.
  26838. (WebCore::HTMLInputElement::isEnumeratable): Ditto.
  26839. (WebCore::HTMLInputElement::isChecked): No longer inline.
  26840. Calls InputType::isCheckable.
  26841. (WebCore::HTMLInputElement::hasSpinButton): No longer inline.
  26842. Calls through to InputType.
  26843. (WebCore::HTMLInputElement::supportsPlaceholder): No longer
  26844. inline. Calls isTextType as before, but with no special case
  26845. for ISINDEX. That special case was unneeded since it returns
  26846. true from isTextType.
  26847. (WebCore::HTMLInputElement::checkedRadioButtons): No longer
  26848. inline.
  26849. (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
  26850. No longer inline.
  26851. * html/HTMLInputElement.h: Removed multiple unneeded includes.
  26852. The big one is probably InputType.h, but also HTMLFormElement.h.
  26853. Removed unneeded forward declarations. Made many functions
  26854. no longer inline since they now need to make virtual function
  26855. dispatches. Removed the unneeded defaultChecked and
  26856. webkitdirectory functions. Both are handled by HTML attribute
  26857. reflection for DOM bindings, and the callers instead can get
  26858. at the attribute. Made updateCheckedRadioButtons public so it
  26859. can be called by an InputType class. Removed
  26860. DeprecatedInputType, InputTypeMap, createTypeMap,
  26861. deprecatedInputType, allowsIndeterminate,
  26862. respectHeightAndWidthAttrs, storesValueSeparateFromAttribute,
  26863. m_imageLoader, m_fileList, m_deprecatedTypeNumber,
  26864. m_defaultChecked, and m_inited. Renamed m_checked to
  26865. m_isChecked, m_useDefaultChecked to m_reflectsCheckedAttribute,
  26866. m_indeterminate tom_isIndeterminate, m_haveType to m_hasType,
  26867. m_activeSubmit to m_isActivatedSubmit, and m_autofilled to
  26868. m_isAutofilled.
  26869. * html/HiddenInputType.cpp:
  26870. (WebCore::HiddenInputType::accessKeyAction): Added.
  26871. (WebCore::HiddenInputType::rendererIsNeeded) Added.:
  26872. (WebCore::HiddenInputType::storesValueSeparateFromAttribute): Added.
  26873. (WebCore::HiddenInputType::isHiddenType): Added.
  26874. (WebCore::HiddenInputType::shouldRespectHeightAndWidthAttributes): Added.
  26875. * html/HiddenInputType.h: Ditto.
  26876. * html/ImageInputType.cpp:
  26877. (WebCore::ImageInputType::ImageInputType): Moved out of the header file.
  26878. (WebCore::ImageInputType::srcAttributeChanged): Added.
  26879. (WebCore::ImageInputType::attach): Added.
  26880. (WebCore::ImageInputType::willMoveToNewOwnerDocument): Added.
  26881. (WebCore::ImageInputType::shouldRespectAlignAttribute): Added.
  26882. (WebCore::ImageInputType::canBeSuccessfulSubmitButton): Added.
  26883. (WebCore::ImageInputType::isImageButton): Added.
  26884. (WebCore::ImageInputType::isEnumeratable): Added.
  26885. (WebCore::ImageInputType::shouldRespectHeightAndWidthAttributes): Added.
  26886. * html/ImageInputType.h: Ditto.
  26887. * html/InputType.cpp:
  26888. (WebCore::InputType::create): Changed argument type to String. There
  26889. is no value in taking an AtomicString here.
  26890. (WebCore::InputType::scaledStepValueShouldBeInteger): Fixed typo in
  26891. this function name.
  26892. (WebCore::InputType::canSetStringValue): Added.
  26893. (WebCore::InputType::isKeyboardFocusable): Added.
  26894. (WebCore::InputType::shouldUseInputMethod): Added.
  26895. (WebCore::InputType::handleBlurEvent): Added.
  26896. (WebCore::InputType::accessKeyAction): Added.
  26897. (WebCore::InputType::attach): Added.
  26898. (WebCore::InputType::srcAttributeChanged): Added.
  26899. (WebCore::InputType::willMoveToNewOwnerDocument): Added.
  26900. (WebCore::InputType::shouldRespectAlignAttribute): Added.
  26901. (WebCore::InputType::canChangeFromAnotherType): Added.
  26902. (WebCore::InputType::minOrMaxAttributeChanged): Added.
  26903. (WebCore::InputType::canBeSuccessfulSubmitButton): Added.
  26904. (WebCore::InputType::rendererIsNeeded): Added.
  26905. (WebCore::InputType::files): Added.
  26906. (WebCore::InputType::getTypeSpecificValue): Added.
  26907. (WebCore::InputType::fallbackValue): Added.
  26908. (WebCore::InputType::defaultValue): Added.
  26909. (WebCore::InputType::canSetSuggestedValue): Added.
  26910. (WebCore::InputType::shouldSendChangeEventAfterCheckedChanged): Added.
  26911. (WebCore::InputType::storesValueSeparateFromAttribute): Added.
  26912. (WebCore::InputType::canSetValue): Added.
  26913. (WebCore::InputType::willDispatchClick): Added.
  26914. (WebCore::InputType::didDispatchClick): Added.
  26915. (WebCore::InputType::isAcceptableValue): Added.
  26916. (WebCore::InputType::sanitizeValue): Added.
  26917. (WebCore::InputType::hasUnacceptableValue): Added.
  26918. (WebCore::InputType::setFileList): Added.
  26919. (WebCore::InputType::shouldResetOnDocumentActivation): Added.
  26920. (WebCore::InputType::shouldRespectListAttribute): Added.
  26921. (WebCore::InputType::shouldRespectSpeechAttribute): Added.
  26922. (WebCore::InputType::isTextButton): Added.
  26923. (WebCore::InputType::isRadioButton): Added.
  26924. (WebCore::InputType::isSearchField): Added.
  26925. (WebCore::InputType::isHiddenType): Added.
  26926. (WebCore::InputType::isPasswordField): Added.
  26927. (WebCore::InputType::isCheckbox): Added.
  26928. (WebCore::InputType::isEmailField): Added.
  26929. (WebCore::InputType::isFileUpload): Added.
  26930. (WebCore::InputType::isImageButton): Added.
  26931. (WebCore::InputType::isNumberField): Added.
  26932. (WebCore::InputType::isSubmitButton): Added.
  26933. (WebCore::InputType::isTelephoneField): Added.
  26934. (WebCore::InputType::isURLField): Added.
  26935. (WebCore::InputType::isEnumeratable): Added.
  26936. (WebCore::InputType::isCheckable): Added.
  26937. (WebCore::InputType::hasSpinButton): Added.
  26938. (WebCore::InputType::shouldRespectHeightAndWidthAttributes): Added.
  26939. * html/InputType.h: Removed unneeded ExceptionCode.h include and
  26940. used a typedef instead as we do when we want for forward declare it.
  26941. Added includes and forward declarations needed for new functions.
  26942. Added ClickHandlingState structure. Changed the argument to create
  26943. to a String rather than AtomicString. Added many virtual functions.
  26944. * html/IsIndexInputType.cpp:
  26945. (WebCore::IsIndexInputType::shouldRespectListAttribute): Added.
  26946. * html/IsIndexInputType.h: Ditto.
  26947. * html/NumberInputType.cpp:
  26948. (WebCore::NumberInputType::handleBlurEvent): Added.
  26949. (WebCore::NumberInputType::isAcceptableValue): Added.
  26950. (WebCore::NumberInputType::sanitizeValue): Added.
  26951. (WebCore::NumberInputType::hasUnacceptableValue): Added.
  26952. (WebCore::NumberInputType::shouldRespectSpeechAttribute): Added.
  26953. (WebCore::NumberInputType::isNumberField): Added.
  26954. (WebCore::NumberInputType::hasSpinButton): Added.
  26955. * html/NumberInputType.h: Ditto.
  26956. * html/PasswordInputType.cpp:
  26957. (WebCore::PasswordInputType::shouldUseInputMethod): Added.
  26958. (WebCore::PasswordInputType::shouldResetOnDocumentActivation): Added.
  26959. (WebCore::PasswordInputType::shouldRespectListAttribute): Added.
  26960. (WebCore::PasswordInputType::shouldRespectSpeechAttribute): Added.
  26961. (WebCore::PasswordInputType::isPasswordField): Added.
  26962. * html/PasswordInputType.h: Ditto.
  26963. * html/RadioInputType.cpp:
  26964. (WebCore::RadioInputType::isKeyboardFocusable): Added.
  26965. (WebCore::RadioInputType::attach): Added.
  26966. (WebCore::RadioInputType::shouldSendChangeEventAfterCheckedChanged): Added.
  26967. (WebCore::RadioInputType::willDispatchClick): Added.
  26968. (WebCore::RadioInputType::didDispatchClick): Added.
  26969. (WebCore::RadioInputType::isRadioButton): Added.
  26970. * html/RadioInputType.h: Ditto.
  26971. * html/RangeInputType.cpp:
  26972. (WebCore::RangeInputType::accessKeyAction): Added.
  26973. (WebCore::RangeInputType::minOrMaxAttributeChanged): Added.
  26974. (WebCore::RangeInputType::fallbackValue): Added.
  26975. (WebCore::RangeInputType::sanitizeValue): Added.
  26976. (WebCore::RangeInputType::shouldRespectListAttribute): Added.
  26977. * html/RangeInputType.h: Ditto.
  26978. * html/ResetInputType.cpp:
  26979. (WebCore::ResetInputType::defaultValue): Added.
  26980. (WebCore::ResetInputType::isTextButton): Added.
  26981. * html/ResetInputType.h: Ditto.
  26982. * html/SearchInputType.cpp:
  26983. (WebCore::SearchInputType::shouldRespectSpeechAttribute): Added.
  26984. (WebCore::SearchInputType::isSearchField): Added.
  26985. * html/SearchInputType.h: Ditto.
  26986. * html/SubmitInputType.cpp:
  26987. (WebCore::SubmitInputType::canBeSuccessfulSubmitButton): Added.
  26988. (WebCore::SubmitInputType::defaultValue): Added.
  26989. (WebCore::SubmitInputType::isSubmitButton): Added.
  26990. (WebCore::SubmitInputType::isTextButton): Added.
  26991. * html/SubmitInputType.h: Ditto.
  26992. * html/TelephoneInputType.cpp:
  26993. (WebCore::TelephoneInputType::shouldRespectSpeechAttribute): Added.
  26994. (WebCore::TelephoneInputType::isTelephoneField): Added.
  26995. * html/TelephoneInputType.h: Ditto.
  26996. * html/TextFieldInputType.cpp:
  26997. (WebCore::TextFieldInputType::shouldUseInputMethod): Added.
  26998. (WebCore::TextFieldInputType::sanitizeValue): Added.
  26999. (WebCore::TextFieldInputType::shouldRespectListAttribute): Added.
  27000. * html/TextFieldInputType.h: Ditto.
  27001. * html/TextInputType.cpp:
  27002. (WebCore::TextInputType::canSetSuggestedValue): Added.
  27003. (WebCore::TextInputType::shouldRespectSpeechAttribute): Added.
  27004. * html/TextInputType.h: Ditto.
  27005. * html/TimeInputType.cpp:
  27006. (WebCore::TimeInputType::scaledStepValueShouldBeInteger): Fixed
  27007. typo in the name of this function.
  27008. * html/TimeInputType.h: Ditto.
  27009. * html/URLInputType.cpp:
  27010. (WebCore::URLInputType::isURLField): Added.
  27011. * html/URLInputType.h: Ditto.
  27012. 2011-01-03 Mihai Parparita <mihaip@chromium.org>
  27013. Unreviewed.
  27014. NSScrollView-based scrollbars and ScrollBarTheme-based scrollbars don't look the same
  27015. https://bugs.webkit.org/show_bug.cgi?id=51151
  27016. Flip switch to use WebThemeEngine for Chromium/Mac scrollbar rendering,
  27017. so that it can match Safari's (and thus use the same baselines).
  27018. No new tests, should be covered by layout tests (which will need
  27019. expectation changes)
  27020. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  27021. 2011-01-03 Antonio Gomes <agomes@rim.com>
  27022. Unreviewed build fix for WebKit/Gtk+.
  27023. RenderThemeGtk::initMediaColors() in RenderThemeGtk2.cpp needs to be
  27024. guarded by ENABLE(VIDEO), as it is in its header.
  27025. No new tests.
  27026. * platform/gtk/RenderThemeGtk2.cpp:
  27027. 2011-01-02 Dan Bernstein <mitz@apple.com>
  27028. Rubber-stamped by Simon Fraser.
  27029. <rdar://problem/8812159> Update copyright strings
  27030. * Info.plist:
  27031. 2011-01-02 Dan Bernstein <mitz@apple.com>
  27032. Reviewed by Sam Weinig.
  27033. <rdar://problem/8806570> REGRESSION (r73337): Incorrect text match count when a match occurs in a text field
  27034. https://bugs.webkit.org/show_bug.cgi?id=51623
  27035. * editing/Editor.cpp:
  27036. (WebCore::Editor::countMatchesForText): Actually remember the original search range end
  27037. container and offset and restore them when needed, instead of using two references to the
  27038. same Range.
  27039. * manual-tests/find-count-matches-after-text-control.html: Added.
  27040. 2011-01-02 Benjamin Poulain <benjamin.poulain@nokia.com>
  27041. Reviewed by Csaba Osztrogonác.
  27042. WebKit 2 does not build on 64bits with a recent GCC
  27043. https://bugs.webkit.org/show_bug.cgi?id=51754
  27044. Use explicitely 64 bits types for the attributes of DatabaseDetails.
  27045. * storage/DatabaseDetails.h:
  27046. (WebCore::DatabaseDetails::expectedUsage):
  27047. (WebCore::DatabaseDetails::currentUsage):
  27048. 2011-01-02 Patrick Gansterer <paroga@webkit.org>
  27049. Unreviewed WinCE build fix for r74868.
  27050. * platform/graphics/wince/ImageBufferWinCE.cpp:
  27051. (WebCore::getImageData):
  27052. 2011-01-02 Sheriff Bot <webkit.review.bot@gmail.com>
  27053. Unreviewed, rolling out r74847.
  27054. http://trac.webkit.org/changeset/74847
  27055. https://bugs.webkit.org/show_bug.cgi?id=51803
  27056. "Preprocessor guards should be in header files" (Requested by
  27057. ap on #webkit).
  27058. * bindings/js/JSDOMWindowBase.cpp:
  27059. * dom/Document.cpp:
  27060. (WebCore::Document::recalcStyle):
  27061. * html/HTMLDocument.cpp:
  27062. * loader/FrameLoader.cpp:
  27063. * loader/ResourceLoadNotifier.cpp:
  27064. * page/Chrome.cpp:
  27065. * page/Console.cpp:
  27066. * page/ContextMenuController.cpp:
  27067. * page/DOMWindow.cpp:
  27068. (WebCore::DOMWindow::dispatchEvent):
  27069. * page/EventHandler.cpp:
  27070. * page/Page.cpp:
  27071. * storage/Database.cpp:
  27072. * workers/AbstractWorker.cpp:
  27073. * workers/DefaultSharedWorkerRepository.cpp:
  27074. * workers/SharedWorker.cpp:
  27075. * workers/Worker.cpp:
  27076. * workers/WorkerContext.cpp:
  27077. * workers/WorkerMessagingProxy.cpp:
  27078. * xml/XMLHttpRequest.cpp:
  27079. (WebCore::XMLHttpRequest::callReadyStateChangeListener):
  27080. 2011-01-02 Patrick Gansterer <paroga@webkit.org>
  27081. [CMake] Unreviewed build fix.
  27082. * CMakeLists.txt:
  27083. 2011-01-02 Dirk Schulze <krit@webkit.org>
  27084. Reviewed by Simon Fraser.
  27085. Clarify ImageBuffer and ImageData relationship
  27086. https://bugs.webkit.org/show_bug.cgi?id=51297
  27087. Remove references to ImageData and CanvasPixelArray from ImageBuffer and SVG filter/masker code,
  27088. since this was a layering violation, and replaced it by ByteArray.
  27089. No change of functionality, so no new test added.
  27090. * html/ImageData.cpp:
  27091. (WebCore::ImageData::create):
  27092. (WebCore::ImageData::ImageData):
  27093. * html/ImageData.h: Added new constructor with ByteArray input.
  27094. (WebCore::ImageData::width):
  27095. (WebCore::ImageData::height):
  27096. (WebCore::ImageData::data):
  27097. * html/canvas/CanvasPixelArray.cpp:
  27098. (WebCore::CanvasPixelArray::create):
  27099. (WebCore::CanvasPixelArray::CanvasPixelArray):
  27100. * html/canvas/CanvasPixelArray.h: New conctructor with ByteArray input, used by HTML Canvas.
  27101. (WebCore::CanvasPixelArray::data):
  27102. (WebCore::CanvasPixelArray::length):
  27103. (WebCore::CanvasPixelArray::set):
  27104. (WebCore::CanvasPixelArray::get):
  27105. * html/canvas/CanvasRenderingContext2D.cpp:
  27106. (WebCore::CanvasRenderingContext2D::getImageData):
  27107. (WebCore::CanvasRenderingContext2D::putImageData):
  27108. * platform/graphics/ImageBuffer.h:
  27109. * platform/graphics/cairo/ImageBufferCairo.cpp:
  27110. (WebCore::getImageData):
  27111. (WebCore::ImageBuffer::getUnmultipliedImageData):
  27112. (WebCore::ImageBuffer::getPremultipliedImageData):
  27113. (WebCore::putImageData):
  27114. (WebCore::ImageBuffer::putUnmultipliedImageData):
  27115. (WebCore::ImageBuffer::putPremultipliedImageData):
  27116. * platform/graphics/cg/ImageBufferCG.cpp:
  27117. (WebCore::getImageData):
  27118. (WebCore::ImageBuffer::getUnmultipliedImageData):
  27119. (WebCore::ImageBuffer::getPremultipliedImageData):
  27120. (WebCore::putImageData):
  27121. (WebCore::ImageBuffer::putUnmultipliedImageData):
  27122. (WebCore::ImageBuffer::putPremultipliedImageData):
  27123. * platform/graphics/filters/FEBlend.cpp:
  27124. (WebCore::FEBlend::apply):
  27125. * platform/graphics/filters/FEColorMatrix.cpp:
  27126. (WebCore::FEColorMatrix::apply):
  27127. * platform/graphics/filters/FEComponentTransfer.cpp:
  27128. (WebCore::FEComponentTransfer::apply):
  27129. * platform/graphics/filters/FEComposite.cpp:
  27130. (WebCore::FEComposite::apply):
  27131. * platform/graphics/filters/FEConvolveMatrix.cpp:
  27132. (WebCore::setDestinationPixels):
  27133. (WebCore::FEConvolveMatrix::apply):
  27134. * platform/graphics/filters/FEConvolveMatrix.h:
  27135. * platform/graphics/filters/FEDisplacementMap.cpp:
  27136. (WebCore::FEDisplacementMap::apply):
  27137. * platform/graphics/filters/FEGaussianBlur.cpp:
  27138. (WebCore::FEGaussianBlur::apply):
  27139. * platform/graphics/filters/FELighting.cpp:
  27140. (WebCore::FELighting::apply):
  27141. * platform/graphics/filters/FEMorphology.cpp:
  27142. (WebCore::FEMorphology::apply):
  27143. * platform/graphics/filters/FETurbulence.cpp:
  27144. (WebCore::FETurbulence::apply):
  27145. * platform/graphics/filters/FilterEffect.cpp:
  27146. (WebCore::FilterEffect::asImageBuffer):
  27147. (WebCore::FilterEffect::asUnmultipliedImage):
  27148. (WebCore::FilterEffect::asPremultipliedImage):
  27149. (WebCore::FilterEffect::copyImageBytes):
  27150. (WebCore::FilterEffect::copyUnmultipliedImage):
  27151. (WebCore::FilterEffect::copyPremultipliedImage):
  27152. (WebCore::FilterEffect::createUnmultipliedImageResult):
  27153. (WebCore::FilterEffect::createPremultipliedImageResult):
  27154. * platform/graphics/filters/FilterEffect.h:
  27155. * platform/graphics/qt/ImageBufferQt.cpp:
  27156. (WebCore::getImageData):
  27157. (WebCore::ImageBuffer::getUnmultipliedImageData):
  27158. (WebCore::ImageBuffer::getPremultipliedImageData):
  27159. (WebCore::putImageData):
  27160. (WebCore::ImageBuffer::putUnmultipliedImageData):
  27161. (WebCore::ImageBuffer::putPremultipliedImageData):
  27162. * platform/graphics/skia/ImageBufferSkia.cpp:
  27163. (WebCore::getImageData):
  27164. (WebCore::ImageBuffer::getUnmultipliedImageData):
  27165. (WebCore::ImageBuffer::getPremultipliedImageData):
  27166. (WebCore::putImageData):
  27167. (WebCore::ImageBuffer::putUnmultipliedImageData):
  27168. (WebCore::ImageBuffer::putPremultipliedImageData):
  27169. * platform/graphics/wince/ImageBufferWinCE.cpp:
  27170. (WebCore::getImageData):
  27171. (WebCore::ImageBuffer::getUnmultipliedImageData):
  27172. (WebCore::ImageBuffer::getPremultipliedImageData):
  27173. (WebCore::putImageData):
  27174. (WebCore::ImageBuffer::putUnmultipliedImageData):
  27175. (WebCore::ImageBuffer::putPremultipliedImageData):
  27176. * platform/graphics/wx/ImageBufferWx.cpp:
  27177. (WebCore::ImageBuffer::getUnmultipliedImageData):
  27178. (WebCore::ImageBuffer::getPremultipliedImageData):
  27179. (WebCore::ImageBuffer::putUnmultipliedImageData):
  27180. (WebCore::ImageBuffer::putPremultipliedImageData):
  27181. * rendering/RenderSVGResourceMasker.cpp:
  27182. (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
  27183. 2011-01-01 Adam Barth <abarth@webkit.org>
  27184. Reviewed by Eric Seidel.
  27185. Move JavaScriptCore to Source
  27186. https://bugs.webkit.org/show_bug.cgi?id=51604
  27187. Update references to JavaScriptCore.
  27188. * Android.derived.jscbindings.mk:
  27189. * Android.v8bindings.mk:
  27190. * CMakeLists.txt:
  27191. * WebCore.gyp/WebCore.gyp:
  27192. * WebCore.pro:
  27193. - These changes are subtle and might not be 100% correct.
  27194. * move-js-headers.sh:
  27195. 2011-01-01 Adam Barth <abarth@webkit.org>
  27196. Reviewed by Eric Seidel.
  27197. forbid sandboxed frames to call top.close() when allow-same-origin is not setted
  27198. https://bugs.webkit.org/show_bug.cgi?id=38340
  27199. We now pass the ScriptExecutionContext to window.close so it can find
  27200. the Frame and check whether navigation is allowed. This check will
  27201. almost always pass because you can only close top-level frames, but the
  27202. check will fail when the calling script is sandboxed.
  27203. Tests: fast/frames/sandboxed-iframe-close-top-noclose.html
  27204. fast/frames/sandboxed-iframe-close-top.html
  27205. * page/DOMWindow.cpp:
  27206. (WebCore::DOMWindow::close):
  27207. * page/DOMWindow.h:
  27208. * page/DOMWindow.idl:
  27209. 2011-01-01 Adam Barth <abarth@webkit.org>
  27210. Reviewed by Eric Seidel.
  27211. sandbox iframes have access to top.history methods
  27212. https://bugs.webkit.org/show_bug.cgi?id=38152
  27213. To enforce the sandbox restrictions on History, we need to pass the
  27214. ScriptExecutionContext to WebCore. This patch leaves the original
  27215. History methods in place because they are used directly by folks who
  27216. don't care about security checks.
  27217. Test: fast/frames/sandboxed-iframe-history-denied.html
  27218. * page/History.cpp:
  27219. (WebCore::History::back):
  27220. (WebCore::History::forward):
  27221. (WebCore::History::go):
  27222. * page/History.h:
  27223. * page/History.idl:
  27224. 2011-01-01 Adam Barth <abarth@webkit.org>
  27225. Remove empty file.
  27226. * Android.mk:
  27227. * CMakeLists.txt:
  27228. * GNUmakefile.am:
  27229. * WebCore.gypi:
  27230. * WebCore.pro:
  27231. * WebCore.vcproj/WebCore.vcproj:
  27232. * WebCore.xcodeproj/project.pbxproj:
  27233. * dom/DOMAllInOne.cpp:
  27234. * dom/Entity.cpp: Removed.
  27235. 2011-01-01 Adam Barth <abarth@webkit.org>
  27236. Remove empty file.
  27237. * CMakeLists.txt:
  27238. * GNUmakefile.am:
  27239. * WebCore.pro:
  27240. * WebCore.vcproj/WebCore.vcproj:
  27241. * WebCore.xcodeproj/project.pbxproj:
  27242. * bindings/js/JSBindingsAllInOne.cpp:
  27243. * bindings/js/JSPopStateEventCustom.cpp: Removed.
  27244. 2011-01-01 Adam Barth <abarth@webkit.org>
  27245. Remove empty files.
  27246. * GNUmakefile.am:
  27247. * WebCore.gypi:
  27248. * WebCore.vcproj/WebCore.vcproj:
  27249. * WebCore.xcodeproj/project.pbxproj:
  27250. * bindings/generic/BindingFrame.h: Removed.
  27251. * bindings/generic/BindingLocation.h: Removed.
  27252. 2011-01-01 Konstantin Tokarev <annulen@yandex.ru>
  27253. Reviewed by Darin Adler.
  27254. Don't include Inspector headers when Inspector is disabled
  27255. https://bugs.webkit.org/show_bug.cgi?id=51789
  27256. * bindings/js/JSDOMWindowBase.cpp: Include Inspector headers when
  27257. Inspector is enabled
  27258. * dom/Document.cpp: Include Inspector headers when
  27259. Inspector is enabled
  27260. (WebCore::Document::recalcStyle): Disabled InspectorInstrumentationCookie
  27261. handling
  27262. * html/HTMLDocument.cpp: Include Inspector headers when
  27263. Inspector is enabled
  27264. * loader/FrameLoader.cpp: Include Inspector headers when
  27265. Inspector is enabled
  27266. * loader/ResourceLoadNotifier.cpp: Include Inspector headers when
  27267. Inspector is enabled
  27268. * page/Chrome.cpp: Include Inspector headers when
  27269. Inspector is enabled
  27270. * page/Console.cpp: Include Inspector headers when
  27271. Inspector is enabled
  27272. * page/ContextMenuController.cpp: Include Inspector headers when
  27273. Inspector is enabled
  27274. * page/DOMWindow.cpp: Include Inspector headers when
  27275. Inspector is enabled
  27276. (WebCore::DOMWindow::dispatchEvent): Disabled InspectorInstrumentationCookie
  27277. handling
  27278. * page/EventHandler.cpp: Include Inspector headers when
  27279. Inspector is enabled
  27280. * page/Page.cpp: Include Inspector headers when
  27281. Inspector is enabled
  27282. * storage/Database.cpp: Include Inspector headers when
  27283. Inspector is enabled
  27284. * workers/AbstractWorker.cpp: Include Inspector headers when
  27285. Inspector is enabled
  27286. * workers/DefaultSharedWorkerRepository.cpp: Include Inspector headers when
  27287. Inspector is enabled
  27288. * workers/SharedWorker.cpp: Include Inspector headers when
  27289. Inspector is enabled
  27290. * workers/Worker.cpp: Include Inspector headers when
  27291. Inspector is enabled
  27292. * workers/WorkerContext.cpp: Include Inspector headers when
  27293. Inspector is enabled
  27294. * workers/WorkerMessagingProxy.cpp: Include Inspector headers when
  27295. Inspector is enabled
  27296. * xml/XMLHttpRequest.cpp: Include Inspector headers when
  27297. Inspector is enabled
  27298. (WebCore::XMLHttpRequest::callReadyStateChangeListener): Disabled
  27299. InspectorInstrumentationCookie handling
  27300. 2010-12-31 Adam Barth <abarth@webkit.org>
  27301. Reviewed by Darin Adler.
  27302. fast/loader/about-blank-hash-change.html fails on Chromium
  27303. https://bugs.webkit.org/show_bug.cgi?id=51788
  27304. I'm unable to reproduce the failure locally, so this patch is slightly
  27305. speculative. We need to be slighly more careful how we compare the
  27306. fragment identifiers for Chromium because Chromium uses a URL parser
  27307. that is more agressive about canonicalization.
  27308. * page/Location.cpp:
  27309. (WebCore::Location::setHash):
  27310. 2010-12-31 Martin Robinson <mrobinson@igalia.com>
  27311. Reviewed by Xan Lopez.
  27312. [GTK] Use GLib/GIO API for FileSystemGtk implementation
  27313. https://bugs.webkit.org/show_bug.cgi?id=51617
  27314. Complete implementation of FileSystem platform code for GLib. This
  27315. converts remaining API points using POSIX calls to platform-independent
  27316. GLib calls and fixes other compilation errors.
  27317. No new tests. This code will be tested when an implementation
  27318. of beginDragWithFiles is complete.
  27319. (WebCore::JSDirectoryEntry::getFile):
  27320. (WebCore::JSDirectoryEntry::getDirectory):
  27321. * platform/FileSystem.h: Added forward declarations for GLib types to
  27322. avoid GLib includes and changed the PlatformFileHandle to be a GIOStream.
  27323. * platform/gtk/FileSystemGtk.cpp:
  27324. (WebCore::openTemporaryFile): Reimplement using only GLib calls.
  27325. (WebCore::openFile): Ditto.
  27326. (WebCore::closeFile): Ditto.
  27327. (WebCore::seekFile): Added implementation.
  27328. (WebCore::writeToFile): Reimplement using only GLib calls.
  27329. (WebCore::readFromFile): Ditto.
  27330. 2010-12-31 Darin Adler <darin@apple.com>
  27331. Reviewed by Dan Bernstein.
  27332. Some renaming and refactoring of form element code
  27333. https://bugs.webkit.org/show_bug.cgi?id=51784
  27334. * bindings/js/JSHTMLSelectElementCustom.cpp:
  27335. (WebCore::JSHTMLSelectElement::remove): Call new overload of remove
  27336. for option elements instead of putting the logic in the binding.
  27337. * html/HTMLButtonElement.cpp:
  27338. (WebCore::HTMLButtonElement::HTMLButtonElement): Updated for name changes.
  27339. (WebCore::HTMLButtonElement::defaultEventHandler): Renamed argument to
  27340. "event" instead of "evt". Also updated for name changes.
  27341. (WebCore::HTMLButtonElement::isActivatedSubmit): Ditto.
  27342. (WebCore::HTMLButtonElement::setActivatedSubmit): Ditto.
  27343. (WebCore::HTMLButtonElement::appendFormData): Ditto.
  27344. * html/HTMLButtonElement.h: Renamed m_activeSubmit to m_isActivatedSubmit
  27345. to match the getter function name. The name still doesn't seem great.
  27346. * html/HTMLFormElement.cpp:
  27347. (WebCore::HTMLFormElement::HTMLFormElement): Updated for name changes.
  27348. (WebCore::HTMLFormElement::~HTMLFormElement): Use autoComplete function
  27349. instead of m_autocomplete data member.
  27350. (WebCore::HTMLFormElement::rendererIsNeeded): Use m_wasDemoted data member
  27351. instead of otherwise-unused isDemoted function.
  27352. (WebCore::HTMLFormElement::submitImplicitly): Updated for name changes.
  27353. (WebCore::HTMLFormElement::validateInteractively): Removed code to clear
  27354. m_insubmit. This is now handled by the caller, prepareForSubmission.
  27355. (WebCore::HTMLFormElement::prepareForSubmission): Renamed. Updated for
  27356. name changes. Moved code to clear m_isSubmittingOrPreparingForSubmission
  27357. here from validateInteractively. Removed unneeded check of m_doingsubmit
  27358. boolean before setting it.
  27359. (WebCore::HTMLFormElement::submit): Factored this function into two.
  27360. One for JavaScript and one for non-JavaScript. Neither function needs a frame
  27361. argument, because the question being asked, anyPageIsProcessingUserGesture,
  27362. is a question asked of an entire page group, not a specific frame or page,
  27363. so it's not important which is the active frame.
  27364. (WebCore::HTMLFormElement::submitFromJavaScript): Ditto.
  27365. (WebCore::HTMLFormElement::reset): Updated for name changes.
  27366. (WebCore::HTMLFormElement::parseMappedAttribute): Removed code to parse
  27367. acceptAttr and got rid of code to set m_autocomplete.
  27368. (WebCore::HTMLFormElement::elementForAlias): Changed return type to a raw
  27369. pointer.
  27370. (WebCore::HTMLFormElement::getNamedElements): Updated to use raw pointer
  27371. and the vector find function. Added a FIXME about the comment.
  27372. (WebCore::HTMLFormElement::documentDidBecomeActive): Use autoComplete
  27373. function instead of m_autocomplete data member.
  27374. (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): Ditto.
  27375. (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Ditto.
  27376. (WebCore::HTMLFormElement::autoComplete): Ditto.
  27377. * html/HTMLFormElement.h: Added a FIXME about renaming the autoComplete
  27378. function. Renamed prepareSubmit to prepareForSubmission. Got rid of the
  27379. frame argument from the submit function and added a new submitFromJavaScript
  27380. variant. Removed the unneeded isDemoted function. Changed the return type
  27381. of elementForAlias to a raw pointer. Removed m_autocomplete. Renamed
  27382. m_insubmit to m_isSubmittingOrPreparingForSubmission, m_doingsubmit to
  27383. m_shouldSubmit, m_inreset to m_inResetFunction, m_malformed to m_wasMalformed,
  27384. m_demoted to m_wasDemoted. Use plain bool instead of bitfields.
  27385. * html/HTMLFormElement.idl: Use the function named submitFromJavaScript
  27386. instead of using CallWith=DynamicFrame because we don't need to know
  27387. what frame is calling. If we did, it's not clear that the "dynamic"
  27388. frame would be the right one anyway.
  27389. * html/HTMLSelectElement.cpp:
  27390. (WebCore::HTMLSelectElement::remove): Added an overload that takes an option
  27391. element, since the JavaScript binding supports this.
  27392. * html/HTMLSelectElement.h: Ditto.
  27393. * html/ImageInputType.cpp:
  27394. (WebCore::ImageInputType::handleDOMActivateEvent): Updated for name changes.
  27395. * html/ImageInputType.h: Ditto.
  27396. * html/SubmitInputType.cpp:
  27397. (WebCore::SubmitInputType::handleDOMActivateEvent): Ditto.
  27398. 2010-12-31 Daniel Bates <dbates@rim.com>
  27399. Reviewed by Darin Adler.
  27400. Pass style for <area> instead of associated <img> when querying whether
  27401. the theme draws the focus ring for an <area>
  27402. https://bugs.webkit.org/show_bug.cgi?id=51632
  27403. Fixes an issue where the style for the associated <img> of an <area>
  27404. was passed when considering whether the theme should draw a focus ring
  27405. for the <area>. Instead, we should pass the theme the style for the <area>.
  27406. It's not possible to test this at this time since there are no themes
  27407. that override focus ring drawing for <area>s.
  27408. * rendering/RenderImage.cpp:
  27409. (WebCore::RenderImage::paintFocusRing): Moved call to RenderTheme::supportsFocusRing()
  27410. such that it's called with respect to the focused <area>.
  27411. 2010-12-31 Darin Adler <darin@apple.com>
  27412. * WebCore.xcodeproj/project.pbxproj: Added back the language.
  27413. Developers should be using Xcode 3.2.5 or newer.
  27414. 2010-12-31 Adam Barth <abarth@webkit.org>
  27415. Reviewed by Eric Seidel.
  27416. Move V8 to WebCore Location implementation
  27417. https://bugs.webkit.org/show_bug.cgi?id=51768
  27418. * bindings/generic/BindingFrame.h:
  27419. * bindings/generic/BindingLocation.h:
  27420. * bindings/v8/V8Binding.h:
  27421. * bindings/v8/V8DOMWindowShell.cpp:
  27422. (WebCore::V8DOMWindowShell::setLocation):
  27423. * bindings/v8/V8Utilities.cpp:
  27424. * bindings/v8/V8Utilities.h:
  27425. * bindings/v8/custom/V8LocationCustom.cpp:
  27426. (WebCore::V8Location::hashAccessorSetter):
  27427. (WebCore::V8Location::hostAccessorSetter):
  27428. (WebCore::V8Location::hostnameAccessorSetter):
  27429. (WebCore::V8Location::hrefAccessorSetter):
  27430. (WebCore::V8Location::pathnameAccessorSetter):
  27431. (WebCore::V8Location::portAccessorSetter):
  27432. (WebCore::V8Location::protocolAccessorSetter):
  27433. (WebCore::V8Location::searchAccessorSetter):
  27434. (WebCore::V8Location::reloadCallback):
  27435. (WebCore::V8Location::replaceCallback):
  27436. (WebCore::V8Location::assignCallback):
  27437. 2010-12-31 Yi Shen <yi.4.shen@nokia.com>
  27438. Reviewed by Eric Seidel.
  27439. Make retrieving extraMediaControlsStyleSheet be page dependent.
  27440. https://bugs.webkit.org/show_bug.cgi?id=51752
  27441. Use themeForPage to retrieve extraMediaControlsStyleSheet for media
  27442. controls.
  27443. No new tests because no platform-specific theme implementation uses
  27444. the passed page pointer yet.
  27445. * css/CSSStyleSelector.cpp:
  27446. (WebCore::CSSStyleSelector::styleForElement):
  27447. 2010-12-31 Ilya Tikhonovsky <loislo@chromium.org>
  27448. Reviewed by Pavel Feldman.
  27449. Web Inspector: [REGRESSION] WebInspector.ResourcesPanel.prototype.canShowSourceLine() broken.
  27450. https://bugs.webkit.org/show_bug.cgi?id=51709
  27451. * inspector/front-end/ResourcesPanel.js:
  27452. (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
  27453. 2010-12-31 Patrick Gansterer <paroga@webkit.org>
  27454. Unreviewed build fix after r74800.
  27455. * bindings/js/JSDOMWindowCustom.cpp: Add missing header.
  27456. * bindings/js/JSLocationCustom.cpp: Ditto.
  27457. 2010-12-31 Adam Barth <abarth@webkit.org>
  27458. Rubber-stamped by Eric Seidel.
  27459. Move HTML and XML parser benchmarks into PerformanceTests/Parser
  27460. https://bugs.webkit.org/show_bug.cgi?id=51772
  27461. Remove the benchmarks folder now that it's empty. Future benchmarks
  27462. should go in the PerformanceTests directory.
  27463. * benchmarks: Removed.
  27464. * benchmarks/parser: Removed.
  27465. * benchmarks/parser/html-parser.html: Removed.
  27466. * benchmarks/parser/resources: Removed.
  27467. * benchmarks/parser/resources/html5.html: Removed.
  27468. * benchmarks/parser/resources/runner.js: Removed.
  27469. * benchmarks/parser/xml-parser.html: Removed.
  27470. 2010-12-31 Patrick Gansterer <paroga@webkit.org>
  27471. Reviewed by Adam Barth.
  27472. Add XML parser benchmark
  27473. https://bugs.webkit.org/show_bug.cgi?id=51612
  27474. Move the JavaScript code of html parser into a separate file to share it with xml parser.
  27475. * benchmarks/parser/html-parser.html:
  27476. * benchmarks/parser/resources/runner.js: Copied from WebCore/benchmarks/parser/html-parser.html.
  27477. (runFunction):
  27478. (run):
  27479. (start):
  27480. * benchmarks/parser/xml-parser.html: Copied from WebCore/benchmarks/parser/html-parser.html.
  27481. 2010-12-29 Zhenyao Mo <zmo@google.com>
  27482. Reviewed by Kenneth Russell.
  27483. Update validation of stencil mask and ref values
  27484. https://bugs.webkit.org/show_bug.cgi?id=50716
  27485. * html/canvas/WebGLRenderingContext.cpp:
  27486. (WebCore::WebGLRenderingContext::initializeNewContext): Initialize cached stencil settings.
  27487. (WebCore::WebGLRenderingContext::drawArrays): Validate stencil settings.
  27488. (WebCore::WebGLRenderingContext::drawElements): Ditto.
  27489. (WebCore::WebGLRenderingContext::stencilFunc): Cache stencil settings, but generate no error.
  27490. (WebCore::WebGLRenderingContext::stencilFuncSeparate): Ditto.
  27491. (WebCore::WebGLRenderingContext::stencilMask): Ditto.
  27492. (WebCore::WebGLRenderingContext::stencilMaskSeparate): Ditto.
  27493. (WebCore::WebGLRenderingContext::validateStencilSettings): Helper function to validate stencil settings.
  27494. * html/canvas/WebGLRenderingContext.h: Declare stencil setting members.
  27495. 2010-12-30 Martin Robinson <mrobinson@igalia.com>
  27496. Reviewed by Xan Lopez.
  27497. [GTK] Fork pieces of RenderThemeGtk that will differ for GTK+ 3
  27498. https://bugs.webkit.org/show_bug.cgi?id=51755
  27499. Split out pieces of RenderThemeGtk into RenderThemeGtk2 and RenderThemeGtk3
  27500. if they are going to differ between GTK+ 2.x and GTK+ 3.x. This is the preliminary
  27501. step to landing support for the new GTK+ 3.x theming API.
  27502. No new tests. This should not change functionality.
  27503. * GNUmakefile.am: Add RenderThemeGtk2 and RenderThemeGtk3 to the sources list.
  27504. * platform/gtk/RenderThemeGtk.cpp:
  27505. (WebCore::RenderThemeGtk::adjustTextFieldStyle): Call the setTextInputBorders static method.
  27506. (WebCore::RenderThemeGtk::adjustTextAreaStyle): Ditto.
  27507. (WebCore::RenderThemeGtk::paintMediaButton): Ditto.
  27508. (WebCore::RenderThemeGtk::adjustProgressBarStyle): ditto.
  27509. * platform/gtk/RenderThemeGtk.h: Make setTextInputBorders a method, so that
  27510. it can be exist in RenderThemeGtk{2,3} and be called from RenderThemeGtk.
  27511. * platform/gtk/RenderThemeGtk2.cpp: Added. A fork of the bits of RenderThemeGtk
  27512. that will eventually be platform-dependent.
  27513. * platform/gtk/RenderThemeGtk3.cpp: Added. Ditto.
  27514. 2010-12-30 Justin Schuh <jschuh@chromium.org>
  27515. Reviewed by James Robinson.
  27516. Reverting r74292 because it introduced a crash with ruby text.
  27517. https://bugs.webkit.org/show_bug.cgi?id=51637
  27518. Test: fast/css/counters/counter-ruby-text-cleared.html
  27519. * rendering/RenderCounter.cpp:
  27520. (WebCore::findPlaceForCounter):
  27521. * rendering/RenderObject.cpp:
  27522. (WebCore::RenderObject::addChild):
  27523. * rendering/RenderObjectChildList.cpp:
  27524. (WebCore::RenderObjectChildList::appendChildNode):
  27525. (WebCore::RenderObjectChildList::insertChildNode):
  27526. 2010-12-30 Darin Adler <darin@apple.com>
  27527. Reviewed by David Kilzer.
  27528. Remove unused JSBinding source files
  27529. https://bugs.webkit.org/show_bug.cgi?id=51762
  27530. * bindings/js/JSBinding.h: Removed.
  27531. * bindings/js/specialization: Removed.
  27532. * bindings/js/specialization/JSBindingState.cpp: Removed.
  27533. * bindings/js/specialization/JSBindingState.h: Removed.
  27534. * CMakeLists.txt: Removed references to files.
  27535. * GNUmakefile.am: Ditto.
  27536. * WebCore.gypi: Ditto.
  27537. * WebCore.pro: Ditto.
  27538. * WebCore.vcproj/WebCore.vcproj: Ditto.
  27539. * bindings/js/JSBindingsAllInOne.cpp: Ditto.
  27540. 2010-12-30 Tony Gentilcore <tonyg@chromium.org>
  27541. Reviewed by Darin Adler.
  27542. Remove Document.h include from some headers where it isn't necessary
  27543. https://bugs.webkit.org/show_bug.cgi?id=51730
  27544. No new tests because no new functionality.
  27545. * editing/EditingStyle.cpp:
  27546. * editing/EditingStyle.h:
  27547. * editing/SelectionController.h:
  27548. * editing/visible_units.h:
  27549. * html/HTMLAudioElement.h:
  27550. * html/HTMLBodyElement.h:
  27551. * inspector/InspectorCSSAgent.h:
  27552. * inspector/InspectorDOMAgent.h:
  27553. * inspector/InspectorInstrumentation.h:
  27554. * xml/DOMParser.cpp:
  27555. * xml/DOMParser.h:
  27556. (WebCore::DOMParser::create):
  27557. (WebCore::DOMParser::DOMParser):
  27558. 2010-12-30 Benjamin C Meyer <bmeyer@rim.com>
  27559. Reviewed by Darin Adler.
  27560. bindings/js/JSDesktopNotificationsCustom.cpp is not included in the cmake build
  27561. which is required when NOTIFICATIONS is enabled.
  27562. https://bugs.webkit.org/show_bug.cgi?id=51761
  27563. * CMakeLists.txt:
  27564. 2010-12-30 Antti Koivisto <antti@apple.com>
  27565. Not reviewed.
  27566. Revert accidental project file change.
  27567. * WebCore.xcodeproj/project.pbxproj:
  27568. 2010-12-30 Antti Koivisto <antti@apple.com>
  27569. Reviewed by Darin Adler.
  27570. https://bugs.webkit.org/show_bug.cgi?id=51134
  27571. Move loading related code from MemoryCache to CachedResourceLoader
  27572. - Merge MemoryCache::requestResource to CachedResourceLoader::requestResource
  27573. - Merge MemoryCache::requestUserCSSStyleSheet to CachedResourceLoader::requestUserCSSStyleSheet
  27574. - Move MemoryCache::revalidateResource to CachedResourceLoader::revalidateResource
  27575. - Add MemoryCache::add
  27576. - Refactor the decision on whether to reload, revalidate or use the existing resource to
  27577. a single function, CachedResourceLoader::determineRevalidationPolicy
  27578. * css/CSSImageValue.cpp:
  27579. (WebCore::CSSImageValue::cachedImage):
  27580. Remove a code path that called MemoryCache::requestResource directly. This code path would have crashed
  27581. if ever taken (since it passes null CachedResourceLoader pointer).
  27582. * loader/ImageLoader.cpp:
  27583. (WebCore::ImageLoader::updateFromElement):
  27584. * loader/cache/CachedImage.cpp:
  27585. * loader/cache/CachedResource.cpp:
  27586. (WebCore::CachedResource::CachedResource):
  27587. (WebCore::CachedResource::~CachedResource):
  27588. (WebCore::CachedResource::mustRevalidateDueToCacheHeaders):
  27589. Moved tests that were not about cache headers to CachedResourceLoader::determineRevalidationPolicy and renamed.
  27590. (WebCore::CachedResource::setLoadPriority):
  27591. Check for Unresolved value before setting.
  27592. * loader/cache/CachedResource.h:
  27593. (WebCore::CachedResource::setOwningCachedResourceLoader):
  27594. Rename to be bit less mysterious.
  27595. * loader/cache/CachedResourceLoader.cpp:
  27596. (WebCore::createResource):
  27597. This was moved from MemoryCache.
  27598. (WebCore::CachedResourceLoader::~CachedResourceLoader):
  27599. (WebCore::CachedResourceLoader::determineRevalidationPolicy):
  27600. (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
  27601. This was moved/merged from MemoryCache.
  27602. (WebCore::CachedResourceLoader::canRequest):
  27603. (WebCore::CachedResourceLoader::requestResource):
  27604. This combines MemoryCache::requestResource and the existing method.
  27605. (WebCore::CachedResourceLoader::revalidateResource):
  27606. This was moved from MemoryCache.
  27607. (WebCore::CachedResourceLoader::loadResource):
  27608. New method for initiating loading.
  27609. (WebCore::CachedResourceLoader::notifyLoadedFromMemoryCache):
  27610. Renamed the mysterious CachedResourceLoader::checkCacheObjectStatus
  27611. * loader/cache/CachedResourceLoader.h:
  27612. * loader/cache/MemoryCache.cpp:
  27613. (WebCore::MemoryCache::add):
  27614. * loader/cache/MemoryCache.h:
  27615. (WebCore::MemoryCache::remove):
  27616. 2010-12-30 Steve Block <steveblock@google.com>
  27617. Reviewed by Gavin Barraclough.
  27618. Enable JSC Rich Source Info for Android even when Inspector and Debugger are disabled
  27619. https://bugs.webkit.org/show_bug.cgi?id=51740
  27620. This is a policy decision for Android.
  27621. No new tests, simply enabling existing, tested code on Android.
  27622. * bindings/js/JSDOMWindowBase.cpp:
  27623. (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
  27624. 2010-12-30 Yael Aharon <yael.aharon@nokia.com>
  27625. Reviewed by Adam Barth.
  27626. REGRESSION: fast/dom/cssTarget-crash.html fails
  27627. https://bugs.webkit.org/show_bug.cgi?id=20342
  27628. Do not reload the page when submitting a form, using "GET" method, and the
  27629. form action url matches the location url, except for the fragment.
  27630. Test: fast/forms/submit-change-fragment.html
  27631. * loader/FrameLoader.cpp:
  27632. (WebCore::FrameLoader::loadURL):
  27633. (WebCore::FrameLoader::loadWithDocumentLoader):
  27634. (WebCore::FrameLoader::shouldScrollToAnchor):
  27635. * loader/FrameLoader.h:
  27636. 2010-12-30 Darin Adler <darin@apple.com>
  27637. Reviewed by Adam Barth.
  27638. Move security logic out of the JavaScript binding for location into the DOM class
  27639. https://bugs.webkit.org/show_bug.cgi?id=51714
  27640. * WebCore.xcodeproj/project.pbxproj: Removed JSBindingState.cpp, JSBindingState.h,
  27641. and JSBinding.h. Later, we'll remove them from other project files and delete
  27642. the source files.
  27643. * bindings/js/JSBinding.h: Emptied out, marked for later deletion.
  27644. * bindings/js/JSDOMBinding.cpp: Removed unused overload of the jsOwnedStringOrNull
  27645. function, unused shouldAllowNavigation function, unused allowSettingSrcToJavascriptURL
  27646. function, unused toLexicalFrame function, unused completeURL function, unused
  27647. getCachedDOMStructure and cacheDOMStructure overloads, and unused
  27648. getCachedDOMConstructor and cacheDOMConstruction functions.
  27649. (WebCore::activeDOMWindow): Added.
  27650. (WebCore::firstDOMWindow): Added.
  27651. (WebCore::toDynamicFrame): Changed to use firstDOMWindow instead of calling through
  27652. JSBindingState, since the latter is an unneeded abstraction.
  27653. (WebCore::processingUserGesture): Changed to call ScriptController's function
  27654. rather than calling through JSBindingState, which is an unneeded abstraction
  27655. * bindings/js/JSDOMBinding.h: Removed the functions mentioned above. Added
  27656. activeDOMWindow and firstDOMWindow. Also added a FIXME for the extremely poorly
  27657. named allowsAccessFromFrame functions, which answer the question of whether
  27658. script is allowed access *to* a frame.
  27659. * bindings/js/JSDOMWindowCustom.cpp: Removed many unneeded includes.
  27660. (WebCore::JSDOMWindow::setLocation): Streamlined by using the new
  27661. activeDOMWindow and firstDOMWindow functions.
  27662. (WebCore::JSDOMWindow::open): Ditto.
  27663. (WebCore::JSDOMWindow::showModalDialog): Ditto.
  27664. (WebCore::JSDOMWindow::postMessage): Ditto.
  27665. * bindings/js/JSLocationCustom.cpp:
  27666. (WebCore::JSLocation::setHref): Changed to pass the active and first windows through
  27667. to the Location::setHref function, with it doing the rest of the work. This moves
  27668. work out of the DOM binding that belongs in the DOM itself. Eventually such functions
  27669. could even be automatically generated by the bindings script.
  27670. (WebCore::JSLocation::setProtocol): Ditto.
  27671. (WebCore::JSLocation::setHost): Ditto.
  27672. (WebCore::JSLocation::setHostname): Ditto.
  27673. (WebCore::JSLocation::setPort): Ditto.
  27674. (WebCore::JSLocation::setPathname): Ditto.
  27675. (WebCore::JSLocation::setSearch): Ditto.
  27676. (WebCore::JSLocation::setHash): Ditto.
  27677. (WebCore::JSLocation::replace): Ditto.
  27678. (WebCore::JSLocation::reload): Ditto.
  27679. (WebCore::JSLocation::assign): Ditto.
  27680. * bindings/js/specialization/JSBindingState.cpp: Emptied out, marked for later deletion.
  27681. * bindings/js/specialization/JSBindingState.h: Emptied out, marked for later deletion.
  27682. * page/DOMWindow.cpp:
  27683. (WebCore::DOMWindow::setLocation): Added a SetLocationLocking argument that allows us
  27684. to use this function for Location::replace, which is the same as setLocation except that
  27685. it locks both history and the back/forward list.
  27686. * page/DOMWindow.h: Ditto.
  27687. * page/Location.cpp:
  27688. (WebCore::Location::setHref): Added. Uses DOMWindow::setLocation so that the security
  27689. logic there does not have to be repeated or even refactored.
  27690. (WebCore::Location::setProtocol): Ditto.
  27691. (WebCore::Location::setHost): Ditto.
  27692. (WebCore::Location::setHostname): Ditto.
  27693. (WebCore::Location::setPort): Ditto.
  27694. (WebCore::Location::setPathname): Ditto.
  27695. (WebCore::Location::setSearch): Ditto.
  27696. (WebCore::Location::setHash): Ditto.
  27697. (WebCore::Location::assign): Ditto.
  27698. (WebCore::Location::replace): Ditto.
  27699. (WebCore::Location::reload): Added. Security logic was refactored from the code in
  27700. JSLocationCustom.cpp. Added a FIXME about the fact that this security logic seems
  27701. possibly unneeded.
  27702. * page/Location.h: Fixed indentation on the whole file. Added the new functions above.
  27703. (WebCore::Location::create):
  27704. (WebCore::Location::frame):
  27705. 2010-12-30 Alexander Pavlov <apavlov@chromium.org>
  27706. Reviewed by Pavel Feldman.
  27707. Web Inspector: Pasting a style property with value should automatically split it into prop/value
  27708. https://bugs.webkit.org/show_bug.cgi?id=51581
  27709. The "paste" DOM event is handled for the CSS property name field to parse out the name and value parts
  27710. of a CSS property being pasted (by the first ':' found). The property is committed (if not a new one),
  27711. and the edit focus is transferred to the value field.
  27712. * inspector/front-end/StylesSidebarPane.js:
  27713. (WebInspector.StylePropertyTreeElement.prototype.selectElement):
  27714. (WebInspector.StylePropertyTreeElement.prototype):
  27715. * inspector/front-end/inspector.js:
  27716. (WebInspector.completeURL): Drive-by: return full URLs as-is.
  27717. (WebInspector.startEditing.cleanUpAfterEditing):
  27718. (WebInspector.startEditing):
  27719. (WebInspector.startEditing.pasteEventListener):
  27720. (WebInspector.startEditing.keyDownEventListener):
  27721. 2010-12-30 Pavel Podivilov <podivilov@chromium.org>
  27722. Reviewed by Pavel Feldman.
  27723. Web Inspector: breakpoint is not disabled when clicking on breakpoints sidebar pane checkbox.
  27724. https://bugs.webkit.org/show_bug.cgi?id=51745
  27725. * inspector/front-end/Breakpoint.js:
  27726. (WebInspector.Breakpoint.prototype.set enabled):
  27727. 2010-12-30 Pavel Podivilov <podivilov@chromium.org>
  27728. Reviewed by Pavel Feldman.
  27729. Web Inspector: call stack shows "Paused on a JavaScript breakpoint" when stepping.
  27730. https://bugs.webkit.org/show_bug.cgi?id=51748
  27731. * inspector/front-end/CallStackSidebarPane.js:
  27732. (WebInspector.CallStackSidebarPane.prototype.update):
  27733. (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
  27734. (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit):
  27735. (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
  27736. 2010-12-30 Mikhail Naganov <mnaganov@chromium.org>
  27737. Reviewed by Pavel Feldman.
  27738. Fix leak of MemoryInfo wrappers introduced in r57004 (see issue 51712).
  27739. https://bugs.webkit.org/show_bug.cgi?id=51713
  27740. * WebCore.gypi:
  27741. * WebCore.pro:
  27742. * bindings/v8/custom/V8ConsoleCustom.cpp:
  27743. (WebCore::V8Console::memoryAccessorGetter):
  27744. * bindings/v8/custom/V8PerformanceCustom.cpp: Copied from V8ConsoleCustom.cpp.
  27745. (WebCore::V8Performance::memoryAccessorGetter):
  27746. * page/Console.idl:
  27747. * page/Performance.idl:
  27748. 2010-12-30 Steve Block <steveblock@google.com>
  27749. Reviewed by Sam Weinig.
  27750. Visiting macnn.com often causes SQL spew via geolocation database
  27751. https://bugs.webkit.org/show_bug.cgi?id=51557
  27752. If the Geolocation position cache database path has not been set, early-out
  27753. rather than using an empty path and thus failing to open the database.
  27754. This avoids SQL log spew.
  27755. Also, avoid starting the database thread until the path has been set, and
  27756. shorten the thread name to avoid warnings due to exceeding 30 characters.
  27757. No new tests, implementation clean-up only.
  27758. * page/GeolocationPositionCache.cpp:
  27759. (WebCore::GeolocationPositionCache::addUser):
  27760. (WebCore::GeolocationPositionCache::removeUser):
  27761. (WebCore::GeolocationPositionCache::setDatabasePath):
  27762. (WebCore::GeolocationPositionCache::startBackgroundThread):
  27763. 2010-12-29 Philippe Normand <pnormand@igalia.com>
  27764. Reviewed by Martin Robinson.
  27765. [GTK] minimal build fails at link time due to missing sqlite3 symbols
  27766. https://bugs.webkit.org/show_bug.cgi?id=51327
  27767. Guard the code calling sqlite3 with the ENABLE(DATABASE) check.
  27768. No new tests, build fix only.
  27769. * platform/sql/SQLiteAuthorizer.cpp:
  27770. * platform/sql/SQLiteDatabase.cpp:
  27771. * platform/sql/SQLiteFileSystem.cpp:
  27772. * platform/sql/SQLiteStatement.cpp:
  27773. * platform/sql/SQLiteTransaction.cpp:
  27774. 2010-12-30 Justin Schuh <jschuh@chromium.org>
  27775. Reviewed by Dirk Schulze.
  27776. Prevent stringToLengthType() from skipping past end-of-string on invalid length unit.
  27777. https://bugs.webkit.org/show_bug.cgi?id=51692
  27778. * svg/SVGLength.cpp:
  27779. (WebCore::stringToLengthType):
  27780. (WebCore::SVGLength::setValueAsString):
  27781. 2010-12-30 Abhishek Arya <inferno@chromium.org>
  27782. Reviewed by Eric Seidel.
  27783. Create a helper function for finding descendent video elements for a node.
  27784. https://bugs.webkit.org/show_bug.cgi?id=51696
  27785. Test: media/video-element-other-namespace-crash.html
  27786. * html/MediaDocument.cpp:
  27787. (WebCore::descendentVideoElement): helper function.
  27788. (WebCore::MediaDocument::defaultEventHandler): use the new helper function. fix code repetitions.
  27789. (WebCore::MediaDocument::replaceMediaElementTimerFired): use the new helper function.
  27790. 2010-12-29 Pavel Feldman <pfeldman@chromium.org>
  27791. Reviewed by Yury Semikhatsky.
  27792. Web Inspector: extract Database & DOM Storage agents; remove InspectorBackend.
  27793. https://bugs.webkit.org/show_bug.cgi?id=51707
  27794. This change brushes up storage agents + removes redundant InspectorBackend class.
  27795. * CMakeLists.txt:
  27796. * GNUmakefile.am:
  27797. * WebCore.gypi:
  27798. * WebCore.pro:
  27799. * WebCore.vcproj/WebCore.vcproj:
  27800. * WebCore.xcodeproj/project.pbxproj:
  27801. * inspector/CodeGeneratorInspector.pm:
  27802. * inspector/InjectedScriptHost.cpp:
  27803. (WebCore::InjectedScriptHost::databaseForId):
  27804. (WebCore::InjectedScriptHost::selectDatabase):
  27805. (WebCore::InjectedScriptHost::selectDOMStorage):
  27806. (WebCore::InjectedScriptHost::inspectorDOMAgent):
  27807. * inspector/Inspector.idl:
  27808. * inspector/InspectorBackend.cpp: Removed.
  27809. * inspector/InspectorBackend.h: Removed.
  27810. * inspector/InspectorController.cpp:
  27811. (WebCore::InspectorController::InspectorController):
  27812. (WebCore::InspectorController::~InspectorController):
  27813. (WebCore::InspectorController::connectFrontend):
  27814. (WebCore::InspectorController::releaseFrontendLifetimeAgents):
  27815. (WebCore::InspectorController::didUseDOMStorage):
  27816. (WebCore::InspectorController::setInjectedScriptSource):
  27817. (WebCore::InspectorController::dispatchOnInjectedScript):
  27818. (WebCore::InspectorController::releaseWrapperObjectGroup):
  27819. * inspector/InspectorController.h:
  27820. * inspector/InspectorDOMStorageAgent.cpp: Added.
  27821. (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
  27822. (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
  27823. (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
  27824. (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
  27825. (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
  27826. (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
  27827. (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
  27828. * inspector/InspectorDOMStorageAgent.h: Copied from WebCore/inspector/InspectorStorageAgent.h.
  27829. (WebCore::InspectorDOMStorageAgent::create):
  27830. (WebCore::InspectorDOMStorageAgent::frontend):
  27831. * inspector/InspectorDatabaseAgent.cpp: Renamed from WebCore/inspector/InspectorStorageAgent.cpp.
  27832. (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
  27833. (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
  27834. (WebCore::InspectorDatabaseAgent::executeSQL):
  27835. (WebCore::InspectorDatabaseAgent::databaseForId):
  27836. (WebCore::InspectorDatabaseAgent::selectDatabase):
  27837. (WebCore::InspectorDatabaseAgent::clearFrontend):
  27838. (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
  27839. * inspector/InspectorDatabaseAgent.h: Renamed from WebCore/inspector/InspectorStorageAgent.h.
  27840. (WebCore::InspectorDatabaseAgent::create):
  27841. (WebCore::InspectorDatabaseAgent::frontend):
  27842. * inspector/front-end/ScriptsPanel.js:
  27843. (WebInspector.ScriptsPanel.prototype.show):
  27844. (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown):
  27845. (WebInspector.ScriptsPanel.prototype._toggleDebugging):
  27846. 2010-12-29 Dirk Schulze <krit@webkit.org>
  27847. Reviewed by Darin Adler.
  27848. Cleanup SVG code according to the webkit style rules 3
  27849. https://bugs.webkit.org/show_bug.cgi?id=51490
  27850. Last patch to fix indention and other style issues according to the WebKit style rules in the SVG code.
  27851. Just one file can't be fixed for check-webkit-style.
  27852. * SVGAllInOne.cpp: check-webkit-style wants a config.h at the beginning
  27853. No changes of functionality, so no new tests.
  27854. * svg/SVGAllInOne.cpp:
  27855. * svg/SVGImage.cpp:
  27856. * svg/SVGLength.cpp:
  27857. (WebCore::SVGLength::setValue):
  27858. * svg/SVGPolygonElement.h:
  27859. * svg/SVGPolylineElement.h:
  27860. * svg/SVGPreserveAspectRatio.cpp:
  27861. (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
  27862. (WebCore::SVGPreserveAspectRatio::transformRect):
  27863. * svg/SVGSVGElement.cpp:
  27864. (WebCore::SVGSVGElement::viewport):
  27865. * svg/SVGSetElement.h:
  27866. * svg/SVGStylable.h:
  27867. (WebCore::SVGStylable::~SVGStylable):
  27868. * svg/SVGStyledLocatableElement.h:
  27869. (WebCore::SVGStyledLocatableElement::localCoordinateSpaceTransform):
  27870. (WebCore::SVGStyledLocatableElement::isStyledLocatable):
  27871. * svg/SVGStyledTransformableElement.cpp:
  27872. (WebCore::SVGStyledTransformableElement::isKnownAttribute):
  27873. * svg/SVGSwitchElement.cpp:
  27874. (WebCore::SVGSwitchElement::childShouldCreateRenderer):
  27875. * svg/SVGTests.cpp:
  27876. (WebCore::SVGTests::parseMappedAttribute):
  27877. * svg/SVGTextContentElement.cpp:
  27878. (WebCore::SVGTextContentElement::isKnownAttribute):
  27879. * svg/SVGTextPathElement.cpp:
  27880. * svg/SVGTextPathElement.h:
  27881. * svg/SVGTitleElement.h:
  27882. (WebCore::SVGTitleElement::rendererIsNeeded):
  27883. * svg/SVGTransformDistance.cpp:
  27884. (WebCore::SVGTransformDistance::SVGTransformDistance):
  27885. (WebCore::SVGTransformDistance::scaledDistance):
  27886. (WebCore::SVGTransformDistance::addSVGTransforms):
  27887. (WebCore::SVGTransformDistance::addSVGTransform):
  27888. (WebCore::SVGTransformDistance::addToSVGTransform):
  27889. (WebCore::SVGTransformDistance::isZero):
  27890. * svg/SVGTransformList.cpp:
  27891. * svg/SVGURIReference.cpp:
  27892. (WebCore::SVGURIReference::getTarget):
  27893. * svg/SVGVKernElement.h:
  27894. * svg/SVGViewSpec.cpp:
  27895. (WebCore::SVGViewSpec::parseViewSpec):
  27896. * svg/SVGZoomAndPan.h:
  27897. (WebCore::SVGZoomAndPan::SVGZoomAndPan):
  27898. (WebCore::SVGZoomAndPan::~SVGZoomAndPan):
  27899. (WebCore::SVGZoomAndPan::zoomAndPan):
  27900. * svg/SVGZoomEvent.h:
  27901. (WebCore::SVGZoomEvent::create):
  27902. * svg/animation/SMILTime.cpp:
  27903. (WebCore::operator*):
  27904. * svg/animation/SMILTime.h:
  27905. (WebCore::SMILTime::SMILTime):
  27906. (WebCore::SMILTime::unresolved):
  27907. (WebCore::SMILTime::indefinite):
  27908. (WebCore::SMILTime::operator=):
  27909. (WebCore::SMILTime::value):
  27910. (WebCore::SMILTime::isFinite):
  27911. (WebCore::SMILTime::isIndefinite):
  27912. (WebCore::SMILTime::isUnresolved):
  27913. (WebCore::operator==):
  27914. (WebCore::operator!): new operator checks for 0 or infinite values.
  27915. (WebCore::operator!=):
  27916. (WebCore::operator>):
  27917. (WebCore::operator<):
  27918. (WebCore::operator>=):
  27919. (WebCore::operator<=):
  27920. * svg/animation/SMILTimeContainer.h:
  27921. (WebCore::SMILTimeContainer::create):
  27922. (WebCore::SMILTimeContainer::setDocumentOrderIndexesDirty):
  27923. * svg/animation/SVGSMILElement.cpp:
  27924. (WebCore::ConditionEventListener::operator==):
  27925. (WebCore::SVGSMILElement::repeatingDuration):
  27926. (WebCore::SVGSMILElement::resolveInterval):
  27927. (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
  27928. * svg/animation/SVGSMILElement.h:
  27929. (WebCore::SVGSMILElement::timeContainer):
  27930. (WebCore::SVGSMILElement::intervalBegin):
  27931. (WebCore::SVGSMILElement::intervalEnd):
  27932. (WebCore::SVGSMILElement::previousIntervalBegin):
  27933. (WebCore::SVGSMILElement::documentOrderIndex):
  27934. (WebCore::SVGSMILElement::setDocumentOrderIndex):
  27935. * svg/graphics/SVGImage.h:
  27936. (WebCore::SVGImage::create):
  27937. (WebCore::SVGImage::destroyDecodedData):
  27938. (WebCore::SVGImage::decodedSize):
  27939. (WebCore::SVGImage::frameAtIndex):
  27940. * svg/graphics/filters/SVGFilterBuilder.h:
  27941. (WebCore::SVGFilterBuilder::create):
  27942. (WebCore::SVGFilterBuilder::lastEffect):
  27943. (WebCore::SVGFilterBuilder::getEffectReferences):
  27944. (WebCore::SVGFilterBuilder::addBuiltinEffects):
  27945. 2010-12-29 Abhishek Arya <inferno@chromium.org>
  27946. Reviewed by Darin Adler.
  27947. ASSERT(oldchild->parent() == owner) fails.
  27948. https://bugs.webkit.org/show_bug.cgi?id=50480
  27949. In RenderBlock removeChild function, when the inlineChildrenBlock(equal to prev or next)
  27950. is reparented to blockChildrenBlock, it is no longer a child of "this". This causes the
  27951. assertion failure when removeChildNode executes on the child(equal to prev or next).
  27952. Fix a typo in canMergeContiguousAnonymousBlocks.
  27953. Test: fast/multicol/span/double-merge-anonymous-block-crash.html
  27954. * rendering/RenderBlock.cpp:
  27955. (WebCore::canMergeContiguousAnonymousBlocks): fix typo, change prev to next.
  27956. (WebCore::RenderBlock::removeChild): if prev or not is reparented, then set it to zero.
  27957. 2010-12-29 Justin Schuh <jschuh@chromium.org>
  27958. Reviewed by Darin Adler.
  27959. Check SVG element type in FrameView::scrollToAnchor
  27960. https://bugs.webkit.org/show_bug.cgi?id=51718
  27961. Test: svg/custom/scroll-to-anchor-in-symbol.svg
  27962. * page/FrameView.cpp:
  27963. (WebCore::FrameView::scrollToAnchor):
  27964. 2010-12-29 Anton Muhin <antonm@chromium.org>
  27965. Reviewed by Eric Seidel.
  27966. [v8] Minor cleanup: remove unused method (the only method which can mutate context of V8DOMWindowShell)
  27967. https://bugs.webkit.org/show_bug.cgi?id=51704
  27968. * bindings/v8/V8DOMWindowShell.cpp:
  27969. * bindings/v8/V8DOMWindowShell.h:
  27970. 2010-12-29 Kenichi Ishibashi <bashi@google.com>
  27971. Reviewed by Darin Adler.
  27972. Use a HashMap for m_continuation to save memory
  27973. https://bugs.webkit.org/show_bug.cgi?id=43716
  27974. Saving memory consumption by applying a HashMap convention to
  27975. continuation pointers of RenderInline and RenderBlock classes.
  27976. * rendering/RenderBlock.cpp: Removed m_continuation.
  27977. (WebCore::RenderBlock::RenderBlock):
  27978. (WebCore::RenderBlock::destroy):
  27979. (WebCore::RenderBlock::inlineElementContinuation):
  27980. (WebCore::RenderBlock::blockElementContinuation):
  27981. * rendering/RenderBlock.h: Removed m_continuation.
  27982. * rendering/RenderBoxModelObject.cpp: Added a hash map for continuations.
  27983. (WebCore::RenderBoxModelObject::destroy): Added an assertion.
  27984. (WebCore::RenderBoxModelObject::continuation): Added.
  27985. (WebCore::RenderBoxModelObject::setContinuation): Added.
  27986. * rendering/RenderBoxModelObject.h:
  27987. * rendering/RenderInline.cpp: Removed m_continuation.
  27988. (WebCore::RenderInline::RenderInline):
  27989. (WebCore::RenderInline::destroy):
  27990. (WebCore::RenderInline::inlineElementContinuation):
  27991. * rendering/RenderInline.h: Removed m_continuation.
  27992. 2010-12-27 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com>
  27993. Reviewed by Martin Robinson.
  27994. [GTK] Enable building whatever already exists of WebKit2
  27995. https://bugs.webkit.org/show_bug.cgi?id=37369
  27996. No new functionality added or deleted. Only makefile change. Hence, no tests added.
  27997. * GNUmakefile.am: Removed bindings/gobject from webcore_sources & webcore_cppflags and
  27998. added them to WebKit/gtk/GNUmakefile.am
  27999. * platform/network/soup/cache/webkit/soup-cache.h: Remove include <webkit/webkitdefines.h>
  28000. and declare WEBKIT_API directly
  28001. 2010-12-29 Eric Seidel <eric@webkit.org>
  28002. Unreviewed.
  28003. Simplify make-hash-tools.pl
  28004. https://bugs.webkit.org/show_bug.cgi?id=49922
  28005. Added HashTools.h to the project file now that its not autogenerated.
  28006. I also sorted the project file using sort-xcode-project-file
  28007. * WebCore.xcodeproj/project.pbxproj:
  28008. 2010-12-29 Pavel Feldman <pfeldman@chromium.org>
  28009. Not reviewed: revert r74755 and 74757.
  28010. 2010-12-29 Martin Robinson <mrobinson@igalia.com>
  28011. Reviewed by Sam Weinig.
  28012. JSDataViewCustom.cpp gives the fastcall calling convention to functions called via C++
  28013. https://bugs.webkit.org/show_bug.cgi?id=51722
  28014. Remove the JSC_HOST_CALL from methods that are called from C++. JSC_HOST_CALL gives
  28015. methods the fastcall calling convention, which leads to runtime errors when they are
  28016. called from C++. Also remove a bit of unnecessary code duplication.
  28017. No new tests. This is covered by fast/canvas/webgl/data-view-test.html.
  28018. * bindings/js/JSDataViewCustom.cpp:
  28019. (WebCore::getDataViewMember): Remove duplicated code.
  28020. (WebCore::JSDataView::getInt8): Remove JSC_HOST_CALL.
  28021. (WebCore::JSDataView::getUint8): Ditto.
  28022. (WebCore::JSDataView::getFloat32): Ditto.
  28023. (WebCore::JSDataView::getFloat64): Ditto.
  28024. (WebCore::setDataViewMember): Remove duplicated code.
  28025. (WebCore::JSDataView::setInt8): Remove JSC_HOST_CALL.
  28026. (WebCore::JSDataView::setUint8): Ditto.
  28027. 2010-12-29 Dan Bernstein <mitz@apple.com>
  28028. Reviewed by Kenneth Russel.
  28029. A more robust fix for https://bugs.webkit.org/show_bug.cgi?id=51681
  28030. * html/HTMLCanvasElement.cpp:
  28031. (WebCore::HTMLCanvasElement::attach): Added. Like recalcStyle(), calls
  28032. CanvasRenderingContext2D::updateFont() if necessary. This covers the case of a detach/
  28033. attach-type style recalc.
  28034. * html/HTMLCanvasElement.h:
  28035. * html/canvas/CanvasRenderingContext2D.cpp:
  28036. (WebCore::CanvasRenderingContext2D::drawTextInternal): Removed the early return added in
  28037. r74716. A font that is loading custom fonts is okay to use, as long as it is valid.
  28038. (WebCore::CanvasRenderingContext2D::accessFont): Added a call to
  28039. Document::updateStyleIfNeeded(). This ensures that any pending style recalc will take place
  28040. and update the font if it is invalid.
  28041. * platform/graphics/Font.h:
  28042. (WebCore::Font::loadingCustomFonts): Made this private.
  28043. 2010-12-29 Pavel Feldman <pfeldman@chromium.org>
  28044. Not reviewed: Qt build fix.
  28045. * inspector/InspectorController.cpp:
  28046. 2010-12-29 Pavel Feldman <pfeldman@chromium.org>
  28047. Reviewed by Yury Semikhatsky.
  28048. Web Inspector: extract Database & DOM Storage
  28049. agents; remove InspectorBackend.
  28050. https://bugs.webkit.org/show_bug.cgi?id=51707
  28051. This change brushes up storage agents + removes redundant
  28052. InspectorBackend class.
  28053. * CMakeLists.txt:
  28054. * GNUmakefile.am:
  28055. * WebCore.gypi:
  28056. * WebCore.pro:
  28057. * WebCore.vcproj/WebCore.vcproj:
  28058. * WebCore.xcodeproj/project.pbxproj:
  28059. * inspector/CodeGeneratorInspector.pm:
  28060. * inspector/InjectedScriptHost.cpp:
  28061. (WebCore::InjectedScriptHost::databaseForId):
  28062. (WebCore::InjectedScriptHost::selectDatabase):
  28063. (WebCore::InjectedScriptHost::selectDOMStorage):
  28064. (WebCore::InjectedScriptHost::inspectorDOMAgent):
  28065. * inspector/Inspector.idl:
  28066. * inspector/InspectorBackend.cpp: Removed.
  28067. * inspector/InspectorBackend.h: Removed.
  28068. * inspector/InspectorController.cpp:
  28069. (WebCore::InspectorController::InspectorController):
  28070. (WebCore::InspectorController::~InspectorController):
  28071. (WebCore::InspectorController::connectFrontend):
  28072. (WebCore::InspectorController::releaseFrontendLifetimeAgents):
  28073. (WebCore::InspectorController::didUseDOMStorage):
  28074. (WebCore::InspectorController::setInjectedScriptSource):
  28075. (WebCore::InspectorController::dispatchOnInjectedScript):
  28076. (WebCore::InspectorController::releaseWrapperObjectGroup):
  28077. * inspector/InspectorController.h:
  28078. * inspector/InspectorDOMStorageAgent.cpp: Added.
  28079. (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
  28080. (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
  28081. (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
  28082. (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
  28083. (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
  28084. (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
  28085. (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
  28086. * inspector/InspectorDOMStorageAgent.h: Copied from WebCore/inspector/InspectorStorageAgent.h.
  28087. (WebCore::InspectorDOMStorageAgent::create):
  28088. (WebCore::InspectorDOMStorageAgent::frontend):
  28089. * inspector/InspectorDatabaseAgent.cpp: Renamed from WebCore/inspector/InspectorStorageAgent.cpp.
  28090. (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
  28091. (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
  28092. (WebCore::InspectorDatabaseAgent::executeSQL):
  28093. (WebCore::InspectorDatabaseAgent::databaseForId):
  28094. (WebCore::InspectorDatabaseAgent::selectDatabase):
  28095. (WebCore::InspectorDatabaseAgent::clearFrontend):
  28096. (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
  28097. * inspector/InspectorDatabaseAgent.h: Renamed from WebCore/inspector/InspectorStorageAgent.h.
  28098. (WebCore::InspectorDatabaseAgent::create):
  28099. (WebCore::InspectorDatabaseAgent::frontend):
  28100. * inspector/InspectorFrontendClientLocal.cpp:
  28101. * inspector/InspectorFrontendClientLocal.h:
  28102. * inspector/front-end/ScriptsPanel.js:
  28103. (WebInspector.ScriptsPanel.prototype.show):
  28104. 2010-12-29 Tony Gentilcore <tonyg@chromium.org>
  28105. Reviewed by Eric Seidel.
  28106. Assertion failure: element->inDocument() in AsyncScriptRunner::executeScriptSoon()
  28107. https://bugs.webkit.org/show_bug.cgi?id=51067
  28108. Typically when a script element is removed from the document, the cached script
  28109. client is removed. However, during the before load event, the cached script client
  28110. hasn't been created yet so it can't be removed.
  28111. This patch handles that case by explicitly checking if the script element was
  28112. removed during the beforeload event. Also, it avoids caching the Document references
  28113. over the arbitrary script execution in the before load event.
  28114. Test: fast/dom/HTMLScriptElement/move-in-beforeload.html
  28115. fast/dom/HTMLScriptElement/remove-in-beforeload.html
  28116. * dom/ScriptElement.cpp:
  28117. (WebCore::ScriptElement::requestScript):
  28118. 2010-12-29 Alexander Pavlov <apavlov@chromium.org>
  28119. Reviewed by Yury Semikhatsky.
  28120. Web Inspector: Element highlight tooltip displays wrong element size when zoomed in
  28121. https://bugs.webkit.org/show_bug.cgi?id=51703
  28122. * inspector/InspectorController.cpp:
  28123. (WebCore::InspectorController::drawElementTitle):
  28124. 2010-12-29 Yael Aharon <yael.aharon@nokia.com>
  28125. Reviewed by Kent Tamura.
  28126. [HTML5][Forms] Support for :in-range and :out-of-range CSS selectors
  28127. https://bugs.webkit.org/show_bug.cgi?id=29071
  28128. Use InputType::rangeUnderflow() and InputType::rangeOverflow()
  28129. to determine if a control is in-range or out-of-range.
  28130. Tests: fast/css/pseudo-in-range-invalid-value.html
  28131. fast/css/pseudo-in-range.html
  28132. fast/css/pseudo-out-of-range.html
  28133. * css/CSSSelector.cpp:
  28134. (WebCore::CSSSelector::pseudoId):
  28135. (WebCore::nameToPseudoTypeMap):
  28136. (WebCore::CSSSelector::extractPseudoType):
  28137. * css/CSSSelector.h:
  28138. * css/CSSStyleSelector.cpp:
  28139. (WebCore::CSSStyleSelector::canShareStyleWithElement):
  28140. (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
  28141. * dom/Element.h:
  28142. (WebCore::Element::isInRange):
  28143. (WebCore::Element::isOutOfRange):
  28144. * html/BaseDateAndTimeInputType.cpp:
  28145. (WebCore::BaseDateAndTimeInputType::supportsRangeLimitation):
  28146. * html/BaseDateAndTimeInputType.h:
  28147. * html/HTMLInputElement.cpp:
  28148. (WebCore::HTMLInputElement::isInRange):
  28149. (WebCore::HTMLInputElement::isOutOfRange):
  28150. * html/HTMLInputElement.h:
  28151. * html/InputType.cpp:
  28152. (WebCore::InputType::supportsRangeLimitation):
  28153. * html/InputType.h:
  28154. * html/NumberInputType.cpp:
  28155. (WebCore::NumberInputType::supportsRangeLimitation):
  28156. * html/NumberInputType.h:
  28157. * html/RangeInputType.cpp:
  28158. (WebCore::RangeInputType::supportsRangeLimitation):
  28159. * html/RangeInputType.h:
  28160. 2010-12-29 Abhishek Arya <inferno@chromium.org>
  28161. Reviewed by Eric Seidel.
  28162. When cloning an anonymous block, make sure to set the childrenInline flag based
  28163. on the state of the block to be cloned.
  28164. https://bugs.webkit.org/show_bug.cgi?id=51489
  28165. Test: fast/multicol/span/clone-anonymous-block-non-inline-child-crash.html
  28166. * rendering/RenderBlock.cpp:
  28167. (WebCore::RenderBlock::clone): add code to handle cloning of anonymous blocks.
  28168. (WebCore::RenderBlock::splitBlocks): remove anonymous block creation calls since it is now handled by clone().
  28169. 2010-12-29 Patrick Gansterer <paroga@webkit.org>
  28170. Unreviewed build fix for WinCE after r73802.
  28171. Reapply parts from r72585:
  28172. Port ContextMenuWin.cpp to WinCE
  28173. https://bugs.webkit.org/show_bug.cgi?id=48408
  28174. * CMakeLists.txt:
  28175. * platform/ContextMenu.h:
  28176. * platform/win/ContextMenuWin.cpp:
  28177. (WebCore::ContextMenu::getContextMenuItems):
  28178. (WebCore::ContextMenu::createNativeMenuFromItems):
  28179. 2010-12-29 Kent Hansen <kent.hansen@nokia.com>
  28180. Reviewed by Simon Hausmann.
  28181. [Qt] Fix compilation with Qt in namespace
  28182. https://bugs.webkit.org/show_bug.cgi?id=51701
  28183. * platform/graphics/ContextShadow.h:
  28184. * platform/graphics/GraphicsContext3D.h:
  28185. * platform/network/NetworkingContext.h:
  28186. * platform/network/qt/QtNAMThreadSafeProxy.h:
  28187. * plugins/PluginView.h:
  28188. 2010-12-28 Alexander Pavlov <apavlov@chromium.org>
  28189. Reviewed by Pavel Feldman.
  28190. Web Inspector: A disabled style property should get enabled when edited
  28191. https://bugs.webkit.org/show_bug.cgi?id=51679
  28192. Test: inspector/styles-disable-then-change.html
  28193. * inspector/front-end/CSSStyleModel.js:
  28194. (WebInspector.CSSProperty.prototype.setText):
  28195. (WebInspector.CSSProperty.prototype.setText.callback):
  28196. 2010-12-29 Patrick Gansterer <paroga@webkit.org>
  28197. Reviewed by Andreas Kling.
  28198. [CMake] Remove WebKitGenerators
  28199. https://bugs.webkit.org/show_bug.cgi?id=50445
  28200. * CMakeLists.txt: Pass preprocessor to generate-bindings.pl.
  28201. 2010-12-28 Pratik Solanki <psolanki@apple.com>
  28202. Reviewed by Eric Seidel.
  28203. https://bugs.webkit.org/show_bug.cgi?id=51522
  28204. Use deviceRGBColorSpaceRef() instead of calling CGColorSpaceCreateDeviceRGB()
  28205. * page/win/FrameCGWin.cpp:
  28206. (WebCore::imageFromRect):
  28207. * platform/graphics/cg/GradientCG.cpp:
  28208. (WebCore::Gradient::platformGradient):
  28209. * platform/graphics/cg/GraphicsContext3DCG.cpp:
  28210. (WebCore::GraphicsContext3D::paintToCanvas):
  28211. * platform/graphics/cg/ImageCG.cpp:
  28212. (WebCore::BitmapImage::checkForSolidColor):
  28213. * platform/graphics/gstreamer/ImageGStreamerCG.mm:
  28214. (ImageGStreamer::ImageGStreamer):
  28215. * platform/graphics/win/GraphicsContextCGWin.cpp:
  28216. (WebCore::CGContextWithHDC):
  28217. (WebCore::GraphicsContext::releaseWindowsContext):
  28218. (WebCore::GraphicsContext::drawWindowsBitmap):
  28219. * platform/graphics/win/ImageCGWin.cpp:
  28220. (WebCore::BitmapImage::create):
  28221. (WebCore::BitmapImage::getHBITMAPOfSize):
  28222. * platform/image-decoders/cg/ImageDecoderCG.cpp:
  28223. (WebCore::createColorSpace):
  28224. * platform/win/DragImageCGWin.cpp:
  28225. (WebCore::allocImage):
  28226. (WebCore::createCgContextFromBitmap):
  28227. * rendering/RenderThemeMac.mm:
  28228. (WebCore::RenderThemeMac::paintMenuListButtonGradients):
  28229. (WebCore::RenderThemeMac::paintSliderTrack):
  28230. * rendering/RenderThemeSafari.cpp:
  28231. (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
  28232. (WebCore::RenderThemeSafari::paintSliderTrack):
  28233. 2010-12-28 Daniel Bates <dbates@rim.com>
  28234. Reviewed by Sam Weinig.
  28235. Substitute // MARK: for compiler-specific #pragma mark
  28236. https://bugs.webkit.org/show_bug.cgi?id=51657
  28237. Fix compilation warnings about "#pragma mark" on GTK+ bots by
  28238. substituting "// MARK:" for "#pragma mark", which provides
  28239. analogous code-bookmarking functionality under Xcode.
  28240. * platform/graphics/cg/PathCG.cpp:
  28241. * platform/graphics/mac/WebLayer.mm:
  28242. 2010-12-28 Jan Erik Hanssen <jhanssen@sencha.com>
  28243. Reviewed by Eric Seidel.
  28244. [Qt] GraphicsContext::getCTM() does not need to make a copy of QPainter::combinedTransform()
  28245. https://bugs.webkit.org/show_bug.cgi?id=51687
  28246. Use a const reference instead of a copy of QPainter::combinedTransform()
  28247. in GraphicsContext::getCTM()
  28248. * platform/graphics/qt/GraphicsContextQt.cpp:
  28249. (WebCore::GraphicsContext::getCTM):
  28250. 2010-12-28 Takashi Toyoshima <toyoshim@google.com>
  28251. Reviewed by Eric Seidel.
  28252. gcc detected 'control reaches end of non-void function' with
  28253. -finstrument-functions option.
  28254. https://bugs.webkit.org/show_bug.cgi?id=51669
  28255. No new tests. These fixes are trivial.
  28256. * dom/Element.cpp:
  28257. (WebCore::Element::childTypeAllowed):
  28258. * inspector/InspectorResourceAgent.cpp:
  28259. (WebCore::cachedResourceTypeString):
  28260. 2010-12-28 Tony Gentilcore <tonyg@chromium.org>
  28261. Reviewed by Eric Seidel.
  28262. Remove unused member of PendingScript
  28263. https://bugs.webkit.org/show_bug.cgi?id=51684
  28264. This was used when HTMLScriptRunner::runScript created a PendingScript
  28265. for inline scripts. But now it just calls executeScript() directly.
  28266. External scripts always have the minimum starting line number.
  28267. No new tests because no changed functionality.
  28268. * dom/PendingScript.cpp:
  28269. (WebCore::PendingScript::releaseElementAndClear):
  28270. * dom/PendingScript.h:
  28271. (WebCore::PendingScript::PendingScript):
  28272. (WebCore::PendingScript::operator=):
  28273. * html/parser/HTMLScriptRunner.cpp:
  28274. (WebCore::HTMLScriptRunner::sourceFromPendingScript):
  28275. 2010-12-20 Antonio Gomes <agomes@rim.com>
  28276. Reviewed by Daniel Bates.
  28277. Spatial Navigation: code clean up (Part VI)
  28278. https://bugs.webkit.org/show_bug.cgi?id=50666
  28279. No new tests needed.
  28280. * page/FocusController.cpp:
  28281. (WebCore::updatFocusCandidateIfNeeded): Assert renderer() and
  28282. isElementNode() now that we are bailing out earlier in both the
  28283. FocusCandidate constructor and FocusController::findFocusCandidateInContainer().
  28284. * page/SpatialNavigation.h: Swapped the parameters order in canScrollInDirection
  28285. and virtualRectForAreaElementAndDirection functions.
  28286. (WebCore::FocusController::findFocusCandidateInContainer):
  28287. (WebCore::FocusController::advanceFocusDirectionallyInContainer): Adjusted callsites
  28288. of canScrollInDirection(), and added an early return if !isElementNode().
  28289. (WebCore::FocusController::advanceFocusDirectionally): Adjusted callsite of
  28290. virtualRectForAreaElementAndDirection();
  28291. * page/SpatialNavigation.cpp:
  28292. (WebCore::FocusCandidate::FocusCandidate): Assert if node is not a element node;
  28293. (WebCore::isScrollableNode): Renamed from isScrollableContainerNode;
  28294. (WebCore::scrollInDirection): Adjusted callsite after function name change;
  28295. (WebCore::scrollableEnclosingBoxOrParentFrameForNodeInDi:rection): Assert if node is
  28296. a documentNode.
  28297. (WebCore::canScrollInDirection): Signature changed.
  28298. (WebCore::canBeScrolledIntoView): Ditto.
  28299. (WebCore::virtualRectForAreaElementAndDirection): Ditto.
  28300. 2010-12-28 Adrienne Walker <enne@google.com>
  28301. Reviewed by Kenneth Russell.
  28302. [chromium] Fix tiled compositor assertion after GPU process recovery.
  28303. https://bugs.webkit.org/show_bug.cgi?id=51682
  28304. After the GPU process recovers, the layer size is set to IntSize(),
  28305. but IntRect::unite() has a special case for empty rects. This
  28306. behavior was causing the layer size to be too small, causing an
  28307. out-of-bounds array access elsewhere.
  28308. No new tests.
  28309. * platform/graphics/chromium/LayerTilerChromium.cpp:
  28310. (WebCore::LayerTilerChromium::growLayerToContain):
  28311. 2010-12-23 Zhenyao Mo <zmo@google.com>
  28312. Reviewed by Kenneth Russell.
  28313. Initialize to 0 for undefined values in CopyTexImage2D
  28314. https://bugs.webkit.org/show_bug.cgi?id=51421
  28315. * html/canvas/WebGLFramebuffer.cpp: Track width/height/internalFormat of color buffer.
  28316. (WebCore::WebGLFramebuffer::WebGLFramebuffer):
  28317. (WebCore::WebGLFramebuffer::setAttachment):
  28318. (WebCore::WebGLFramebuffer::getWidth):
  28319. (WebCore::WebGLFramebuffer::getHeight):
  28320. (WebCore::WebGLFramebuffer::getColorBufferFormat):
  28321. * html/canvas/WebGLFramebuffer.h:
  28322. * html/canvas/WebGLRenderingContext.cpp:
  28323. (WebCore::WebGLRenderingContext::copyTexImage2D): Initialize undefined pixels to 0.
  28324. (WebCore::WebGLRenderingContext::copyTexSubImage2D):
  28325. (WebCore::WebGLRenderingContext::framebufferTexture2D):
  28326. (WebCore::WebGLRenderingContext::renderbufferStorage):
  28327. (WebCore::WebGLRenderingContext::getBoundFramebufferWidth):
  28328. (WebCore::WebGLRenderingContext::getBoundFramebufferHeight):
  28329. * html/canvas/WebGLRenderingContext.h:
  28330. * html/canvas/WebGLTexture.cpp: Track width/height/internalFormat of a texture by target/level.
  28331. (WebCore::WebGLTexture::getInternalFormat):
  28332. (WebCore::WebGLTexture::getWidth):
  28333. (WebCore::WebGLTexture::getHeight):
  28334. (WebCore::WebGLTexture::mapTargetToIndex):
  28335. (WebCore::WebGLTexture::getLevelInfo):
  28336. * html/canvas/WebGLTexture.h:
  28337. (WebCore::WebGLTexture::isTexture):
  28338. * platform/graphics/GraphicsContext3D.h: Add getInternalFramebufferSize() function.
  28339. * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
  28340. (WebCore::GraphicsContext3D::getInternalFramebufferSize):
  28341. * platform/graphics/qt/GraphicsContext3DQt.cpp:
  28342. (WebCore::GraphicsContext3D::getInternalFramebufferSize):
  28343. 2010-12-23 Zhenyao Mo <zmo@google.com>
  28344. Reviewed by Kenneth Russell.
  28345. Map GLsizei to long instead of unsigned long in WebGLRenderingContext and GraphicsContext3D
  28346. https://bugs.webkit.org/show_bug.cgi?id=39855
  28347. * html/canvas/WebGLRenderingContext.cpp:
  28348. (WebCore::WebGLRenderingContext::copyTexImage2D): Map GLsizei to long.
  28349. (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
  28350. (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
  28351. (WebCore::WebGLRenderingContext::scissor): Ditto.
  28352. (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
  28353. (WebCore::WebGLRenderingContext::texImage2D): Ditto.
  28354. (WebCore::WebGLRenderingContext::texSubImage2DBase): Ditto.
  28355. (WebCore::WebGLRenderingContext::texSubImage2DImpl): Ditto.
  28356. (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
  28357. (WebCore::WebGLRenderingContext::viewport): Ditto.
  28358. (WebCore::WebGLRenderingContext::validateSize): Check the sizes are non-negative.
  28359. * html/canvas/WebGLRenderingContext.h:
  28360. * html/canvas/WebGLRenderingContext.idl:
  28361. 2010-12-28 Abhishek Arya <inferno@chromium.org>
  28362. Reviewed by Kenneth Russell.
  28363. Fix crash with invalid font in m_fontList by not drawing text when a custom font is in the
  28364. process of loading.
  28365. https://bugs.webkit.org/show_bug.cgi?id=51681
  28366. Test: canvas/philip/tests/2d.text-custom-font-load-crash.html
  28367. * html/canvas/CanvasRenderingContext2D.cpp:
  28368. (WebCore::CanvasRenderingContext2D::drawTextInternal): bail out if a custom font is loading.
  28369. * platform/graphics/Font.cpp:
  28370. (WebCore::Font::operator==): Replace condition with new function loadingCustomFonts()
  28371. (WebCore::Font::drawText): Replace condition with new function loadingCustomFonts()
  28372. (WebCore::Font::drawEmphasisMarks): Replace condition with new function loadingCustomFonts()
  28373. * platform/graphics/Font.h:
  28374. (WebCore::Font::loadingCustomFonts): new function that returns if a custom font is loading.
  28375. 2010-12-28 Dimitri Glazkov <dglazkov@chromium.org>
  28376. Reviewed by Eric Seidel.
  28377. Combine setShadowRoot and clearShadowRoot into a simpler API
  28378. https://bugs.webkit.org/show_bug.cgi?id=50971
  28379. No change in behavior, and API is not used yet.
  28380. * dom/Element.cpp:
  28381. (WebCore::Element::setShadowRoot): Combined clearing and setting of
  28382. the shadowRoot, also hooked up with setting and clearing of the
  28383. corresponding shadowHost values.
  28384. * dom/Element.h: renamed clearShadowRoot to removeShadowRoot and made it
  28385. private.
  28386. * dom/Node.h: Made shadow host-related functions public so that
  28387. Element::setShadowRoot can access setShadowHost. It seems logical
  28388. to make shadowHost public as well to keep the defs together.
  28389. 2010-12-28 Andrey Kosyakov <caseq@chromium.org>
  28390. Reviewed by Pavel Feldman.
  28391. Web Inspector: [Chromium] Expose extension API to select a node in WebInspector
  28392. Do not request content for resources with non-numeric identifiers.
  28393. https://bugs.webkit.org/show_bug.cgi?id=49727
  28394. Test: http/tests/inspector/extensions-resources-redirect.html
  28395. * inspector/front-end/NetworkManager.js:
  28396. (WebInspector.NetworkManager.prototype._appendRedirect):
  28397. 2010-12-28 Ilya Tikhonovsky <loislo@chromium.org>
  28398. Unreviewed build fix for Qt.
  28399. ResourceTreeModel.js was added.
  28400. * inspector/front-end/WebKit.qrc:
  28401. 2010-12-28 Mikhail Naganov <mnaganov@chromium.org>
  28402. Reviewed by Pavel Feldman.
  28403. [Chromium] Fix memory leak in Profiles tab concerned with heap profiles views.
  28404. https://bugs.webkit.org/show_bug.cgi?id=51680
  28405. * inspector/front-end/ProfilesPanel.js:
  28406. (WebInspector.ProfilesPanel.prototype._reset):
  28407. 2010-12-28 Alexander Pavlov <apavlov@chromium.org>
  28408. Reviewed by Pavel Feldman.
  28409. Web Inspector: REGRESSION: Clicking image resource in style sidebar doesn't actually go to resource anymore
  28410. https://bugs.webkit.org/show_bug.cgi?id=51663
  28411. The base URI is now computed correctly for links from CSS property uri(...) values. Additionally,
  28412. optional quotes/apostrophes and spaces are now allowed inside uri(...).
  28413. Test: inspector/styles-url-linkify.html
  28414. * inspector/front-end/StylesSidebarPane.js:
  28415. (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
  28416. (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
  28417. 2010-12-21 Ilya Tikhonovsky <loislo@chromium.org>
  28418. Reviewed by Pavel Feldman.
  28419. Web Inspector: Protocol cleanup task. Introduce Network, DOMStorage and Database domains.
  28420. Domain was changed for Resources, FileSystem etc. related methods.
  28421. ResourcesManager was renamed to NetworkManager.
  28422. ResourceTreeModel was extracted as separate file.
  28423. FileSystem, Database, DOMStorage and ApplicationCache methods were
  28424. removed from NetworkManager and added to corresponding classes.
  28425. https://bugs.webkit.org/show_bug.cgi?id=51334
  28426. * WebCore.gypi:
  28427. * WebCore.vcproj/WebCore.vcproj:
  28428. * inspector/CodeGeneratorInspector.pm:
  28429. * inspector/Inspector.idl:
  28430. * inspector/front-end/AuditRules.js:
  28431. (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
  28432. * inspector/front-end/CSSStyleModel.js:
  28433. (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
  28434. (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
  28435. * inspector/front-end/ConsoleView.js:
  28436. (WebInspector.ConsoleView.prototype.addMessage):
  28437. (WebInspector.ConsoleView.prototype.clearMessages):
  28438. * inspector/front-end/DOMAgent.js:
  28439. (WebInspector.ApplicationCache.updateApplicationCacheStatus):
  28440. (WebInspector.ApplicationCache.updateNetworkState):
  28441. * inspector/front-end/DOMStorage.js:
  28442. (WebInspector.DOMStorage.addDOMStorage):
  28443. (WebInspector.DOMStorage.selectDOMStorage):
  28444. (WebInspector.DOMStorage.updateDOMStorage):
  28445. * inspector/front-end/Database.js:
  28446. (WebInspector.Database.prototype.executeSql):
  28447. (WebInspector.Database.addDatabase):
  28448. (WebInspector.Database.selectDatabase):
  28449. (WebInspector.Database.sqlTransactionSucceeded):
  28450. (WebInspector.Database.sqlTransactionFailed):
  28451. * inspector/front-end/FileSystemView.js:
  28452. (WebInspector.FileSystem.didGetFileSystemPath):
  28453. (WebInspector.FileSystem.didGetFileSystemError):
  28454. (WebInspector.FileSystem.didGetFileSystemDisabled):
  28455. * inspector/front-end/NetworkItemView.js:
  28456. (WebInspector.NetworkItemView):
  28457. * inspector/front-end/NetworkManager.js: Added.
  28458. (WebInspector.NetworkManager):
  28459. (WebInspector.NetworkManager.prototype._createResource):
  28460. (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
  28461. (WebInspector.NetworkManager.prototype.willSendRequest):
  28462. (WebInspector.NetworkManager.prototype._updateResourceWithRequest):
  28463. (WebInspector.NetworkManager.prototype._appendRedirect):
  28464. (WebInspector.NetworkManager.prototype.markResourceAsCached):
  28465. (WebInspector.NetworkManager.prototype.didReceiveResponse):
  28466. (WebInspector.NetworkManager.prototype._updateResourceWithResponse):
  28467. (WebInspector.NetworkManager.prototype.didReceiveContentLength):
  28468. (WebInspector.NetworkManager.prototype.didFinishLoading):
  28469. (WebInspector.NetworkManager.prototype.didFailLoading):
  28470. (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache):
  28471. (WebInspector.NetworkManager.prototype._updateResourceWithCachedResource):
  28472. (WebInspector.NetworkManager.prototype.setInitialContent):
  28473. (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
  28474. (WebInspector.NetworkManager.prototype.frameDetachedFromParent):
  28475. (WebInspector.NetworkManager.prototype.didCreateWebSocket):
  28476. (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest):
  28477. (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse):
  28478. (WebInspector.NetworkManager.prototype.didCloseWebSocket):
  28479. (WebInspector.NetworkManager.prototype._processCachedResources):
  28480. (WebInspector.NetworkManager.prototype._addFramesRecursively):
  28481. (WebInspector.NetworkManager.requestContent):
  28482. * inspector/front-end/NetworkPanel.js:
  28483. (WebInspector.NetworkPanel.prototype.refreshResource):
  28484. * inspector/front-end/Resource.js:
  28485. (WebInspector.Resource.prototype._innerRequestContent):
  28486. * inspector/front-end/ResourceManager.js: Removed.
  28487. * inspector/front-end/ResourceTreeModel.js: Added.
  28488. (WebInspector.ResourceTreeModel):
  28489. (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
  28490. (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
  28491. (WebInspector.ResourceTreeModel.prototype.frameDetachedFromParent):
  28492. (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
  28493. (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
  28494. (WebInspector.ResourceTreeModel.prototype._clearResources):
  28495. (WebInspector.ResourceTreeModel.prototype.forAllResources):
  28496. (WebInspector.ResourceTreeModel.prototype.addConsoleMessage):
  28497. (WebInspector.ResourceTreeModel.prototype.clearConsoleMessages):
  28498. (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
  28499. (WebInspector.ResourceTreeModel.prototype.resourceForURL):
  28500. (WebInspector.ResourceTreeModel.prototype.bindResourceURL):
  28501. (WebInspector.ResourceTreeModel.prototype._unbindResourceURL):
  28502. (WebInspector.ResourceTreeModel.createResource):
  28503. * inspector/front-end/ResourceView.js:
  28504. (WebInspector.ResourceView.createResourceView):
  28505. (WebInspector.ResourceView.resourceViewTypeMatchesResource):
  28506. (WebInspector.ResourceView.resourceViewForResource):
  28507. (WebInspector.ResourceView.recreateResourceView):
  28508. (WebInspector.ResourceView.existingResourceViewForResource):
  28509. * inspector/front-end/ResourcesPanel.js:
  28510. (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
  28511. (WebInspector.ResourcesPanel.prototype.showSourceLine):
  28512. (WebInspector.ResourcesPanel.prototype.showResource):
  28513. (WebInspector.ResourcesPanel.prototype.get searchableViews.callback):
  28514. (WebInspector.ResourcesPanel.prototype.get searchableViews):
  28515. (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
  28516. (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
  28517. * inspector/front-end/ScriptsPanel.js:
  28518. (WebInspector.ScriptsPanel.prototype._addScript):
  28519. (WebInspector.ScriptsPanel.prototype.reset):
  28520. (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
  28521. (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
  28522. * inspector/front-end/WebKit.qrc:
  28523. * inspector/front-end/inspector.html:
  28524. * inspector/front-end/inspector.js:
  28525. (WebInspector.forAllResources):
  28526. (WebInspector.resourceForURL):
  28527. 2010-12-27 Helder Correia <helder@sencha.com>
  28528. Reviewed by Ariya Hidayat.
  28529. ContextShadow should use AffineTransform instead of TransformationMatrix
  28530. https://bugs.webkit.org/show_bug.cgi?id=51661
  28531. ContextShadow needs the CTM to make sure shadows are not affected by
  28532. transformations when drawing on a canvas. AffineTransform is sufficient
  28533. in this case.
  28534. Existing tests: fast/canvas/canvas*shadow*html
  28535. * platform/graphics/ContextShadow.cpp:
  28536. (WebCore::ContextShadow::mustUseContextShadow):
  28537. (WebCore::ContextShadow::adjustBlurDistance):
  28538. (WebCore::ContextShadow::calculateLayerBoundingRect):
  28539. * platform/graphics/ContextShadow.h:
  28540. * platform/graphics/cairo/ContextShadowCairo.cpp:
  28541. (WebCore::ContextShadow::getTransformationMatrixFromContext):
  28542. * platform/graphics/qt/ContextShadowQt.cpp:
  28543. (WebCore::ContextShadow::getTransformationMatrixFromContext):
  28544. 2010-12-27 Daniel Bates <dbates@rim.com>
  28545. Reviewed by Antonio Gomes.
  28546. Clean up: Rename HTMLFrameElementBase::getMarginWidth() and HTMLFrameElementBase::getMarginHeight()
  28547. https://bugs.webkit.org/show_bug.cgi?id=51634
  28548. Rename HTMLFrameElementBase::getMarginWidth() and HTMLFrameElementBase::getMarginHeight()
  28549. to HTMLFrameElementBase::marginWidth() and HTMLFrameElementBase::marginHeight(), respectively.
  28550. This will make the names of these getters consistent with the naming convention we use for
  28551. getters.
  28552. * html/HTMLBodyElement.cpp:
  28553. (WebCore::HTMLBodyElement::insertedIntoDocument):
  28554. * html/HTMLFrameElementBase.h:
  28555. (WebCore::HTMLFrameElementBase::marginWidth): Renamed; Formerly getMarginWidth().
  28556. (WebCore::HTMLFrameElementBase::marginHeight): Renamed; Formerly getMarginHeight().
  28557. * loader/SubframeLoader.cpp:
  28558. (WebCore::SubframeLoader::loadSubframe):
  28559. * page/FrameView.cpp:
  28560. (WebCore::FrameView::init):
  28561. * rendering/RenderEmbeddedObject.cpp:
  28562. (WebCore::RenderEmbeddedObject::viewCleared): Also renamed variables marginw and marginh
  28563. to marginWidth and marginHeight, respectively. This makes the names of these variables
  28564. consistent with the names of similar variables in SubframeLoader::loadSubframe() and FrameView::init().
  28565. * rendering/RenderFrame.cpp:
  28566. (WebCore::RenderFrame::viewCleared): Ditto.
  28567. 2010-12-27 Martin Robinson <mrobinson@igalia.com>
  28568. Reviewed by Daniel Bates.
  28569. [GTK] RenderThemeGtk::m_HScale and RenderThemeGtk::m_VScale are not initialized
  28570. https://bugs.webkit.org/show_bug.cgi?id=51654
  28571. Properly initialize slider members of RenderThemeGtk. This can lead to test crashes
  28572. on some debug configurations.
  28573. No new tests. This is already covered by current slider tests. It isn't crashing on
  28574. the bots, but it does crash locally.
  28575. * platform/gtk/RenderThemeGtk.cpp:
  28576. (WebCore::RenderThemeGtk::RenderThemeGtk): Properly initialize members.
  28577. 2010-12-27 Anton Muhin <antonm@chromium.org>
  28578. Reviewed by David Levin.
  28579. [v8] Remove unused methods to protect/unprotect wrappers during garbage collection
  28580. https://bugs.webkit.org/show_bug.cgi?id=51648
  28581. * bindings/v8/ScriptController.cpp:
  28582. * bindings/v8/ScriptController.h:
  28583. * bindings/v8/V8GCController.cpp:
  28584. (WebCore::V8GCController::gcEpilogue):
  28585. * bindings/v8/V8GCController.h:
  28586. 2010-12-27 Yury Semikhatsky <yurys@chromium.org>
  28587. Unreviewed. Removed trailing spaces from a localized
  28588. string to make it the same as the one used in the code.
  28589. * English.lproj/localizedStrings.js:
  28590. 2010-12-27 Yael Aharon <yael.aharon@nokia.com>
  28591. Reviewed by Eric Seidel.
  28592. Browser is failing 16 baseline test from Selector API Test Suite
  28593. https://bugs.webkit.org/show_bug.cgi?id=42968
  28594. Throw an exception if there is no argument to querySelector or
  28595. querySelectorAll. This replaces the current behavior of passing the string
  28596. "undefined" as the argument.
  28597. No new tests, just updating the existing results for
  28598. fast/dom/SelectorAPI/resig-SelectorAPI-test.xhtml.
  28599. * dom/Document.idl:
  28600. * dom/DocumentFragment.idl:
  28601. * dom/Element.idl:
  28602. 2010-12-26 MORITA Hajime <morrita@google.com>
  28603. Reviewed by Dan Bernstein.
  28604. For box-shadow, non-primary shadows should have specified radii.
  28605. https://bugs.webkit.org/show_bug.cgi?id=51386
  28606. On paintBoxShadow(), the spread value accidentally accumulated accidentally
  28607. during the loop, which should be applied individually for radius of each shadow.
  28608. This change makes the radii for rects computed for each shadow.
  28609. Test: fast/box-shadow/spread-multiple-normal.html
  28610. * rendering/RenderBoxModelObject.cpp:
  28611. (WebCore::RenderBoxModelObject::paintBoxShadow):
  28612. 2010-12-26 Patrick Gansterer <paroga@webkit.org>
  28613. Reviewed by Eric Seidel.
  28614. Improve output of HTML parser benchmark
  28615. https://bugs.webkit.org/show_bug.cgi?id=51611
  28616. Calculate and show median, min and max values.
  28617. * benchmarks/parser/html-parser.html:
  28618. 2010-12-26 Abhishek Arya <inferno@chromium.org>
  28619. Reviewed by Simon Fraser.
  28620. Remove the bad assert in paintPaginatedChildLayer, hitTestPaginatedChildLayer.
  28621. https://bugs.webkit.org/show_bug.cgi?id=48772
  28622. Test: fast/multicol/renderer-positioned-assert-crash.html
  28623. * rendering/RenderLayer.cpp:
  28624. (WebCore::RenderLayer::paintPaginatedChildLayer):
  28625. (WebCore::RenderLayer::hitTestPaginatedChildLayer):
  28626. 2010-12-25 Peter Rybin <peter.rybin@gmail.com>
  28627. Reviewed by Adam Barth.
  28628. Adds currentColumn (and currentLine) to SegmentedString. Switches
  28629. HTMLTreeBuilder to HTMLDocumentParser::textPosition when it
  28630. needs position for a <script> tag.
  28631. SegmentedString should provide column position
  28632. https://bugs.webkit.org/show_bug.cgi?id=51311
  28633. * html/parser/HTMLDocumentParser.cpp:
  28634. (WebCore::HTMLDocumentParser::HTMLDocumentParser):
  28635. (WebCore::HTMLDocumentParser::textPosition):
  28636. * html/parser/HTMLInputStream.h:
  28637. (WebCore::HTMLInputStream::current):
  28638. (WebCore::InsertionPointRecord::InsertionPointRecord):
  28639. (WebCore::InsertionPointRecord::~InsertionPointRecord):
  28640. * html/parser/HTMLTreeBuilder.cpp:
  28641. (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
  28642. (WebCore::HTMLTreeBuilder::processScriptStartTag):
  28643. * html/parser/HTMLTreeBuilder.h:
  28644. (WebCore::HTMLTreeBuilder::create):
  28645. * platform/text/SegmentedString.cpp:
  28646. (WebCore::SegmentedString::operator=):
  28647. (WebCore::SegmentedString::numberOfCharactersConsumedSlow):
  28648. (WebCore::SegmentedString::advanceSlowCase):
  28649. (WebCore::SegmentedString::currentLine):
  28650. (WebCore::SegmentedString::currentColumn):
  28651. (WebCore::SegmentedString::setCurrentPosition):
  28652. * platform/text/SegmentedString.h:
  28653. (WebCore::SegmentedString::SegmentedString):
  28654. (WebCore::SegmentedString::advancePastNewline):
  28655. (WebCore::SegmentedString::advance):
  28656. (WebCore::SegmentedString::numberOfCharactersConsumed):
  28657. 2010-12-25 Andreas Kling <kling@webkit.org>
  28658. Reviewed by Kenneth Rohde Christiansen.
  28659. GraphicsContext: Don't pass StrokeStyle (enum) as const reference
  28660. https://bugs.webkit.org/show_bug.cgi?id=51608
  28661. * platform/graphics/GraphicsContext.cpp:
  28662. (WebCore::GraphicsContext::setStrokeStyle):
  28663. (WebCore::GraphicsContext::setPlatformStrokeStyle):
  28664. (WebCore::GraphicsContext::adjustLineToPixelBoundaries):
  28665. * platform/graphics/GraphicsContext.h:
  28666. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  28667. (WebCore::GraphicsContext::setPlatformStrokeStyle):
  28668. * platform/graphics/haiku/GraphicsContextHaiku.cpp:
  28669. (WebCore::GraphicsContext::setPlatformStrokeStyle):
  28670. * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
  28671. (WebCore::GraphicsContext::setPlatformStrokeStyle):
  28672. * platform/graphics/openvg/PainterOpenVG.cpp:
  28673. (WebCore::PainterOpenVG::setStrokeStyle):
  28674. * platform/graphics/openvg/PainterOpenVG.h:
  28675. * platform/graphics/qt/GraphicsContextQt.cpp:
  28676. (WebCore::GraphicsContext::setPlatformStrokeStyle):
  28677. * platform/graphics/skia/GraphicsContextSkia.cpp:
  28678. (WebCore::GraphicsContext::setPlatformStrokeStyle):
  28679. 2010-12-24 Dan Bernstein <mitz@apple.com>
  28680. Reviewed by Alexey Proskuryakov.
  28681. REGRESSION (r74648): XHR layout test failures
  28682. https://bugs.webkit.org/show_bug.cgi?id=51603
  28683. Reverted r74648.
  28684. * WebCore.exp.in:
  28685. 2010-12-24 Dan Bernstein <mitz@apple.com>
  28686. Try to fix the Qt build after r74648.
  28687. * WebCore.gypi:
  28688. * WebCore.pro:
  28689. * platform/network/qt/CredentialStorageQt.cpp: Added.
  28690. (WebCore::CredentialStorage::getFromPersistentStorage):
  28691. 2010-12-24 Simon Fraser <simon.fraser@apple.com>
  28692. Reviewed by Dan Bernstein.
  28693. CSSStyleSelector cleanup
  28694. https://bugs.webkit.org/show_bug.cgi?id=51597
  28695. Make some methods const. Add assertion to checkOneSelector, with the
  28696. intention of later removing the if (!e) check (this is hot code).
  28697. * css/CSSStyleSelector.cpp:
  28698. (WebCore::CSSStyleSelector::locateCousinList):
  28699. (WebCore::CSSStyleSelector::canShareStyleWithElement):
  28700. (WebCore::CSSStyleSelector::locateSharedStyle):
  28701. (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
  28702. (WebCore::CSSStyleSelector::mmLength):
  28703. (WebCore::CSSStyleSelector::inchLength):
  28704. (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
  28705. (WebCore::CSSStyleSelector::hasSelectorForAttribute):
  28706. * css/CSSStyleSelector.h:
  28707. (WebCore::CSSStyleSelector::fontSelector):
  28708. 2010-12-24 Dan Bernstein <mitz@apple.com>
  28709. Reviewed by Anders Carlsson.
  28710. <rdar://problem/8758386> The web process uses its own credential storage
  28711. https://bugs.webkit.org/show_bug.cgi?id=51599
  28712. * WebCore.exp.in: Export CredentialStorage::getFromPersistentStorage(), Credential::hasPassword(),
  28713. and Credential::isEmpty().
  28714. 2010-12-24 Yury Semikhatsky <yurys@chromium.org>
  28715. Reviewed by Darin Adler.
  28716. [V8] Rename V8CustomEventListener.{h,cpp} to V8EventListener.{h,cpp}
  28717. https://bugs.webkit.org/show_bug.cgi?id=51595
  28718. * WebCore.gypi:
  28719. * bindings/v8/V8DOMWrapper.cpp:
  28720. * bindings/v8/V8EventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8CustomEventListener.cpp.
  28721. (WebCore::V8EventListener::V8EventListener):
  28722. (WebCore::V8EventListener::getListenerFunction):
  28723. (WebCore::V8EventListener::callListenerFunction):
  28724. * bindings/v8/V8EventListener.h: Renamed from WebCore/bindings/v8/custom/V8CustomEventListener.h.
  28725. (WebCore::V8EventListener::create):
  28726. * bindings/v8/V8EventListenerList.h:
  28727. * bindings/v8/V8WorkerContextEventListener.h:
  28728. * bindings/v8/custom/V8DOMWindowCustom.cpp:
  28729. * bindings/v8/custom/V8LocationCustom.cpp:
  28730. * bindings/v8/custom/V8NodeCustom.cpp:
  28731. * bindings/v8/custom/V8NotificationCenterCustom.cpp:
  28732. 2010-12-24 Carlos Garcia Campos <cgarcia@igalia.com>
  28733. Reviewed by Xan Lopez.
  28734. [GTK] Show current time / total in media player
  28735. https://bugs.webkit.org/show_bug.cgi?id=51535
  28736. * css/mediaControlsGtk.css:
  28737. (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
  28738. * platform/gtk/RenderThemeGtk.cpp:
  28739. (WebCore::RenderThemeGtk::formatMediaControlsCurrentTime):
  28740. (WebCore::RenderThemeGtk::paintMediaCurrentTime):
  28741. * platform/gtk/RenderThemeGtk.h:
  28742. 2010-12-24 Jan Erik Hanssen <jhanssen@sencha.com>
  28743. Reviewed by Eric Seidel.
  28744. Clean up CSSRuleData in CSSStyleSelector.h
  28745. https://bugs.webkit.org/show_bug.cgi?id=27753
  28746. Move CSSRuleData and CSSRuleDataList from CSSStyleSelector.h to the .cpp file.
  28747. * css/CSSStyleSelector.cpp:
  28748. (WebCore::CSSRuleData::CSSRuleData):
  28749. (WebCore::CSSRuleData::~CSSRuleData):
  28750. (WebCore::CSSRuleData::position):
  28751. (WebCore::CSSRuleData::rule):
  28752. (WebCore::CSSRuleData::selector):
  28753. (WebCore::CSSRuleData::next):
  28754. (WebCore::CSSRuleDataList::CSSRuleDataList):
  28755. (WebCore::CSSRuleDataList::~CSSRuleDataList):
  28756. (WebCore::CSSRuleDataList::first):
  28757. (WebCore::CSSRuleDataList::last):
  28758. (WebCore::CSSRuleDataList::append):
  28759. * css/CSSStyleSelector.h:
  28760. 2010-12-24 Yury Semikhatsky <yurys@chromium.org>
  28761. Unreviewed. Fix compilation on Windows.
  28762. * inspector/InspectorStyleSheet.cpp:
  28763. (WebCore::InspectorStyle::~InspectorStyle): added explicit empty destructor
  28764. * inspector/InspectorStyleSheet.h:
  28765. 2010-12-24 Yury Semikhatsky <yurys@chromium.org>
  28766. Reviewed by Darin Adler.
  28767. inspector/debugger-step-out.html crashing intermittently in the bots
  28768. https://bugs.webkit.org/show_bug.cgi?id=50868
  28769. Use RefPtr rather instead of raw pointers when keeping references
  28770. to refcounted objects.
  28771. * inspector/InspectorCSSAgent.cpp:
  28772. (WebCore::InspectorCSSAgent::getStylesForNode2):
  28773. (WebCore::InspectorCSSAgent::getComputedStyleForNode2):
  28774. * inspector/InspectorStyleSheet.cpp:
  28775. (WebCore::InspectorStyle::create):
  28776. (WebCore::InspectorStyle::InspectorStyle):
  28777. (WebCore::InspectorStyle::buildObjectForStyle):
  28778. (WebCore::InspectorStyle::setPropertyText):
  28779. (WebCore::InspectorStyle::toggleProperty):
  28780. (WebCore::InspectorStyle::styleText):
  28781. (WebCore::InspectorStyle::populateAllProperties):
  28782. (WebCore::InspectorStyle::replacePropertyInStyleText):
  28783. (WebCore::InspectorStyleSheet::create):
  28784. (WebCore::InspectorStyleSheet::InspectorStyleSheet):
  28785. (WebCore::InspectorStyleSheetForInlineStyle::create):
  28786. (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
  28787. (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
  28788. * inspector/InspectorStyleSheet.h:
  28789. (WebCore::InspectorStyle::cssStyle):
  28790. (WebCore::InspectorStyleSheet::pageStyleSheet):
  28791. 2010-12-24 Justin Schuh <jschuh@chromium.org>
  28792. Reviewed by Nikolas Zimmermann.
  28793. SVGElementInstance::m_useElement should be cleared when use element is removed from document
  28794. https://bugs.webkit.org/show_bug.cgi?id=51486
  28795. Test: svg/custom/use-instanceRoot-with-use-removed.svg
  28796. * svg/SVGElementInstance.cpp:
  28797. (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
  28798. * svg/SVGElementInstance.h:
  28799. (WebCore::SVGElementInstance::clearUseElement):
  28800. * svg/SVGUseElement.cpp:
  28801. (WebCore::SVGUseElement::removedFromDocument):
  28802. (WebCore::ShadowTreeUpdateBlocker::if):
  28803. (WebCore::SVGUseElement::detachInstance):
  28804. (WebCore::SVGUseElement::detach):
  28805. * svg/SVGUseElement.h:
  28806. 2010-12-23 Joseph Pecoraro <joepeck@webkit.org>
  28807. Reviewed by Yury Semikhatsky.
  28808. Web Inspector: Missing Localized Strings
  28809. https://bugs.webkit.org/show_bug.cgi?id=51542
  28810. Added missing strings: "WebSocket", "Frames", "Text", "Transfer",
  28811. "Preserve Log upon Navigation", and "Go to Line".
  28812. * English.lproj/localizedStrings.js:
  28813. 2010-12-24 Alexander Pavlov <apavlov@chromium.org>
  28814. Reviewed by Yury Semikhatsky.
  28815. Web Inspector: Inline HTML style property out of sync with element.style in Sidebar
  28816. https://bugs.webkit.org/show_bug.cgi?id=51478
  28817. Now the element attribute modifications (including "style") are tracked, which results in the
  28818. source offsets update (in the backend) and Styles/Metrics pane updates (in the frontend)
  28819. on the "style" attribute modification through the Elements tree. Also, it appears that
  28820. a complete "style" attribute removal destroys the inline style declaration
  28821. (StyledElement::m_inlineStyleDecl), while the code used to rely on it being immutable (hence a crash).
  28822. Test: inspector/elements-delete-inline-style.html
  28823. * inspector/InspectorCSSAgent.cpp:
  28824. (WebCore::InspectorCSSAgent::didModifyDOMAttr):
  28825. * inspector/InspectorCSSAgent.h:
  28826. * inspector/InspectorDOMAgent.cpp:
  28827. (WebCore::InspectorDOMAgent::didModifyDOMAttr):
  28828. * inspector/InspectorDOMAgent.h:
  28829. * inspector/InspectorStyleSheet.cpp:
  28830. (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
  28831. (WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute):
  28832. (WebCore::InspectorStyleSheetForInlineStyle::text):
  28833. (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
  28834. (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
  28835. * inspector/InspectorStyleSheet.h:
  28836. * inspector/front-end/ElementsTreeOutline.js:
  28837. (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
  28838. 2010-12-24 Noel Gordon <noel.gordon@gmail.com>
  28839. Reviewed by Andreas Kling.
  28840. [chromium] Fix a style nit in the JPEG encoder
  28841. https://bugs.webkit.org/show_bug.cgi?id=51574
  28842. * platform/image-encoders/skia/JPEGImageEncoder.cpp: nit begone.
  28843. 2010-12-23 Alexander Pavlov <apavlov@chromium.org>
  28844. Reviewed by Maciej Stachowiak.
  28845. Web Inspector: CSS shorthand properties expand unnecessarily
  28846. https://bugs.webkit.org/show_bug.cgi?id=36304
  28847. "border-radius" is a shorthand property that has a "non-standard" format and longhands, see
  28848. http://www.w3.org/TR/css3-background/#border-radius for reference. CSSParser does not use the
  28849. standard parseShorthand() or parse4Values() methods but instead a custom parseBorderRadius() method.
  28850. This method didn't use to create a ShorthandScope instance and set the m_implicitShorthand value
  28851. appropriately when adding implicit longhands, thus they were added as normal properties
  28852. found in the CSS (neither implicit, nor longhands). This is now fixed.
  28853. * css/CSSParser.cpp:
  28854. (WebCore::CSSParser::parseBorderRadius):
  28855. 2010-12-24 Justin Schuh <jschuh@chromium.org>
  28856. Reviewed by Darin Adler.
  28857. setTargetAttributeAnimatedValue should check for a null shadowTreeElement.
  28858. https://bugs.webkit.org/show_bug.cgi?id=51576
  28859. Disallowed elements may be pruned from the shadow tree, leaving a null
  28860. shadowTreeElement. We should check for that before setting attributes.
  28861. Test: svg/custom/animate-disallowed-use-element.svg
  28862. * svg/SVGAnimationElement.cpp:
  28863. (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
  28864. 2010-12-24 Evan Martin <evan@chromium.org>
  28865. Reviewed by Darin Adler.
  28866. TextMetrics::width is an integer, but the member is a float
  28867. https://bugs.webkit.org/show_bug.cgi?id=51566
  28868. Change the return type to a float.
  28869. No tests, fixing a compiler warning.
  28870. (I was unable to produce a difference in the values exposed to pages
  28871. with a float versus the previous conversion to an integer.)
  28872. * html/TextMetrics.h:
  28873. (WebCore::TextMetrics::width):
  28874. 2010-12-24 Ryuan Choi <ryuan.choi@samsung.com>
  28875. Reviewed by Kenneth Rohde Christiansen.
  28876. [EFL] Add option to enable Touch Events.
  28877. https://bugs.webkit.org/show_bug.cgi?id=49125
  28878. Add files for EFL to support TOUCH_EVENTS.
  28879. * CMakeLists.txt:
  28880. * CMakeListsEfl.txt:
  28881. * platform/PlatformTouchEvent.h: Add EFL related constructor.
  28882. * platform/PlatformTouchPoint.h: ditto.
  28883. * platform/efl/PlatformTouchEventEfl.cpp: Added.
  28884. (WebCore::PlatformTouchEvent::PlatformTouchEvent):
  28885. * platform/efl/PlatformTouchPointEfl.cpp: Added.
  28886. (WebCore::PlatformTouchPoint::PlatformTouchPoint):
  28887. 2010-12-24 Gyuyoung Kim <gyuyoung.kim@samsung.com>
  28888. Reviewed by Kenneth Rohde Christiansen.
  28889. [EFL] Return an empty string instead of 'application/octet-stream' in getMIMETypeForExtension()
  28890. https://bugs.webkit.org/show_bug.cgi?id=51457
  28891. WebKit EFL can't play html5 audio because of wrong mime type checking.
  28892. So, 'application/octet-stream' is changed with an empty string.
  28893. * platform/efl/MIMETypeRegistryEfl.cpp:
  28894. (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
  28895. Returns an empty string instead of application/octet-stream when it can't find proper mime type.
  28896. 2010-12-24 Justin Schuh <jschuh@chromium.org>
  28897. Reviewed by Darin Adler.
  28898. SVGFontFaceElement::rebuildFontFace() should exit when not in document
  28899. https://bugs.webkit.org/show_bug.cgi?id=51571
  28900. We were hitting a NULL deref crash. Since most of the callers checked
  28901. inDocument() anyway, I moved it into the start of rebuildFontFace.
  28902. Test: svg/custom/use-invalid-font-face.svg
  28903. * svg/SVGFontFaceElement.cpp:
  28904. (WebCore::SVGFontFaceElement::parseMappedAttribute):
  28905. (WebCore::SVGFontFaceElement::rebuildFontFace):
  28906. (WebCore::SVGFontFaceElement::childrenChanged):
  28907. 2010-12-24 Justin Schuh <jschuh@chromium.org>
  28908. Reviewed by Darin Adler.
  28909. Remove unnecessary check in CSSCanvasValue::canvasDestroyed().
  28910. https://bugs.webkit.org/show_bug.cgi?id=51564
  28911. This check was duplicating an ASSERT for a case fixed in r73927.
  28912. Now that the bug is fixed the check is no longer necessary.
  28913. Removing dead code, so no new tests needed.
  28914. * css/CSSCanvasValue.cpp:
  28915. (WebCore::CSSCanvasValue::canvasDestroyed):
  28916. 2010-12-23 Evan Martin <evan@chromium.org>
  28917. Reviewed by Darin Adler.
  28918. ViewportArguments.h uses an enum to intialize a bool
  28919. https://bugs.webkit.org/show_bug.cgi?id=50982
  28920. Initialize userScalable to true, rather than -1.
  28921. No tests; fixes a compiler warning.
  28922. * dom/ViewportArguments.h:
  28923. (WebCore::ViewportArguments::ViewportArguments):
  28924. 2010-12-23 Jan Erik Hanssen <jhanssen@sencha.com>
  28925. Reviewed by Adam Barth.
  28926. [Qt] User name/password stripped from URLs
  28927. https://bugs.webkit.org/show_bug.cgi?id=36232
  28928. If a username but no password or no username but a password is present
  28929. in a URL, QtWebKit won't send any authentication information down to Qt
  28930. as it should.
  28931. Tests: http/tests/xmlhttprequest/basic-auth-nopassword.html
  28932. http/tests/xmlhttprequest/basic-auth-nouser.html
  28933. * platform/network/qt/ResourceHandleQt.cpp:
  28934. (WebCore::ResourceHandle::start):
  28935. (WebCore::ResourceHandle::loadResourceSynchronously):
  28936. 2010-12-23 Ryosuke Niwa <rniwa@webkit.org>
  28937. Reviewed by Darin Adler.
  28938. queryCommandValue("FormatBlock") does not respect editing boundaries
  28939. https://bugs.webkit.org/show_bug.cgi?id=51219
  28940. Fixed the bug by checking the element we found in elementForFormatBlockCommand
  28941. does not contain the editable root.
  28942. * editing/FormatBlockCommand.cpp:
  28943. (WebCore::FormatBlockCommand::elementForFormatBlockCommand):
  28944. 2010-12-23 Ryosuke Niwa <rniwa@webkit.org>
  28945. Reviewed by Darin Adler.
  28946. FormatBlock doesn't preserve typing style but it should
  28947. https://bugs.webkit.org/show_bug.cgi?id=51140
  28948. Fixed the bug by making preserveTypingStyle return true.
  28949. Test: editing/execCommand/format-block-typing-style.html
  28950. * editing/FormatBlockCommand.h:
  28951. (WebCore::FormatBlockCommand::preservesTypingStyle):
  28952. 2010-12-23 Jessie Berlin <jberlin@apple.com>
  28953. Reviewed by Sam Weinig.
  28954. Need WebKit2 API to create a SecurityOrigin from protocol, host, and port
  28955. https://bugs.webkit.org/show_bug.cgi?id=51563
  28956. Add SecurityOrigin::create(const String& protocol, const String& host, int port).
  28957. * WebCore.exp.in:
  28958. Export the symbols for WebCore::SecurityOrigin::create(String, String, int).
  28959. * page/SecurityOrigin.cpp:
  28960. (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
  28961. Use the constant MaxAllowedPort.
  28962. (WebCore::SecurityOrigin::create):
  28963. Sanitizing based off of that done in createFromDatabaseIdentifier.
  28964. * page/SecurityOrigin.h:
  28965. 2010-12-23 Patrick Gansterer <paroga@webkit.org>
  28966. Unreviewed build fix for WinCE after r73802.
  28967. Reapply r70812:
  28968. Port ContextMenuItemWin.cpp to WinCE
  28969. https://bugs.webkit.org/show_bug.cgi?id=48407
  28970. * platform/win/ContextMenuItemWin.cpp:
  28971. 2010-12-23 Adam Barth <abarth@webkit.org>
  28972. Remove include of non-existant file.
  28973. * bindings/v8/custom/V8DOMWindowCustom.cpp:
  28974. 2010-12-23 Ryosuke Niwa <rniwa@webkit.org>
  28975. Reviewed by Darin Adler.
  28976. Selection becomes stale when CharacterData is manipulated directly
  28977. https://bugs.webkit.org/show_bug.cgi?id=51389
  28978. The bug was caused by SelectionController's not adjusting selection when CharacterData's
  28979. m_data is modified by its API.
  28980. Fixed the bug by adding textWillBeReplaced to SelectionController and calling it in
  28981. CharacterData::textWillBeReplaced. Added newLength to setDataAndUpdate, which is passed to
  28982. textWillBeReplaced because inserting, replacing, or removing data may require moving
  28983. the offset of the selection end points (done by shouldRemovePositionAfterAdoptingTextReplacement).
  28984. Also fixed the condition for determining whether or not a node intersects the selection
  28985. in respondToNodeModification, which is extracted from nodeWillBeRemoved. The old condition
  28986. failed to recognize certain cases when selection started and ended with non-zero offsets.
  28987. Tests: editing/selection/character-data-mutation-crash.html
  28988. editing/selection/character-data-mutation.html
  28989. * dom/CharacterData.cpp:
  28990. (WebCore::CharacterData::setData): Passes newLegnth to setDataAndUpdate.
  28991. (WebCore::CharacterData::appendData): Ditto.
  28992. (WebCore::CharacterData::insertData): Ditto.
  28993. (WebCore::CharacterData::deleteData): Ditto.
  28994. (WebCore::CharacterData::replaceData): Ditto.
  28995. (WebCore::CharacterData::setDataAndUpdate): Added newLegnth to the argument list,
  28996. and renamed lengthOfReplacedData to oldLength; calls textWillBeReplaced.
  28997. * dom/CharacterData.h:
  28998. * editing/SelectionController.cpp:
  28999. (WebCore::removingNodeRemovesPosition): Removed indentations from blank lines.
  29000. (WebCore::SelectionController::nodeWillBeRemoved): Calls nodeWillBeRemoved.
  29001. (WebCore::SelectionController::respondToNodeModification): Extracted from nodeWillBeRemoved;
  29002. fixed the logic to figure out whether a node is inside the range or not.
  29003. (WebCore::shouldRemovePositionAfterAdoptingTextReplacement): Added.
  29004. (WebCore::SelectionController::textWillBeReplaced): Added.
  29005. * editing/SelectionController.h:
  29006. 2010-12-23 Adam Barth <abarth@webkit.org>
  29007. Reviewed by Darin Adler.
  29008. Remove unneeded V8 bindings files
  29009. https://bugs.webkit.org/show_bug.cgi?id=51570
  29010. * WebCore.gypi:
  29011. * bindings/generic/BindingDOMWindow.h: Removed.
  29012. * bindings/v8/specialization/V8BindingDOMWindow.h: Removed.
  29013. 2010-12-23 Dan Bernstein <mitz@apple.com>
  29014. Build fix.
  29015. * editing/EditorCommand.cpp:
  29016. (WebCore::enabledDismissCorrectionPanel):
  29017. 2010-12-23 Darin Adler <darin@apple.com>
  29018. Try to fix crash seen on GTK bot.
  29019. * editing/EditorCommand.cpp:
  29020. (WebCore::internalCommand): Add back empty string check I accidentally deleted in r74580.
  29021. * WebCore.xcodeproj/project.pbxproj: Let Xcode edit the file.
  29022. 2010-12-23 Sheriff Bot <webkit.review.bot@gmail.com>
  29023. Unreviewed, rolling out r74561.
  29024. http://trac.webkit.org/changeset/74561
  29025. https://bugs.webkit.org/show_bug.cgi?id=51565
  29026. "Broke Chromium UI tests on Vista" (Requested by kbr_google on
  29027. #webkit).
  29028. * platform/graphics/chromium/ImageLayerChromium.cpp:
  29029. (WebCore::ImageLayerChromium::updateContentsIfDirty):
  29030. * platform/graphics/skia/GraphicsContext3DSkia.cpp:
  29031. (WebCore::GraphicsContext3D::getImageData):
  29032. 2010-12-23 Mihai Parparita <mihaip@chromium.org>
  29033. Reviewed by Kent Tamura.
  29034. [Chromium] Add WebThemeEngine for Mac to allow scrollbar rendering to be overridden for the DRT
  29035. https://bugs.webkit.org/show_bug.cgi?id=51507
  29036. Adds WebThemeEngine for the Mac (it already has parallel definitions for
  29037. Windows and Linux) so that scrollbar thumb rendering can be overridden
  29038. for the DRT (to be consistent with the NSScroller-based rendering
  29039. used by the Mac port).
  29040. No new tests since the functionality is not exposed yet. Eventually will
  29041. result in the Chromium/Mac port being able to use the same pixel
  29042. baselines for layout tests as the Mac port.
  29043. * platform/chromium/ChromiumBridge.h:
  29044. * platform/chromium/ScrollbarThemeChromiumMac.mm:
  29045. (WebCore::scrollbarStateToThemeState):
  29046. (WebCore::ScrollbarThemeChromiumMac::paint):
  29047. 2010-12-23 Darin Adler <darin@apple.com>
  29048. Reviewed by Sam Weinig.
  29049. WKView should not try to do asynchronous validation for selectors that are not editor commands
  29050. https://bugs.webkit.org/show_bug.cgi?id=51555
  29051. * WebCore.exp.in: Added commandIsSupportedFromMenuOrKeyBinding.
  29052. * editing/Editor.h: Reordered arguments in the Editor::Command constructor
  29053. and the data members too so the frame is last. Added
  29054. commandIsSupportedFromMenuOrKeyBinding.
  29055. * editing/EditorCommand.cpp:
  29056. (WebCore::supported): Removed the EditorCommandSource argument. These
  29057. functions are now only used when called from DOM.
  29058. (WebCore::supportedFromMenuOrKeyBinding): Ditto.
  29059. (WebCore::supportedCopyCut): Ditto.
  29060. (WebCore::supportedPaste): Ditto.
  29061. (WebCore::enabledDismissCorrectionPanel): Changed the supported function to
  29062. an enabled function. It was incorrect to say that this is "supported" only
  29063. when the correction panel is up. Correct to say that it is "enabled" only
  29064. then. And also probably OK to enable it even when the selection is not in
  29065. editable text, as long as the panel is up.
  29066. (WebCore::createCommandMap): Moved conditional commands out of the main
  29067. array into a separate section at the end.
  29068. (WebCore::internalCommand): Added.
  29069. (WebCore::Editor::command): Changed to use the new internalCommand function
  29070. and simplified by relying on the null check in the Command constructor.
  29071. (WebCore::Editor::commandIsSupportedFromMenuOrKeyBinding): Added.
  29072. (WebCore::Editor::Command::Command): Removed unneeded initialization of
  29073. m_source, which is never looked at if m_command is 0. Added feature of
  29074. passing a null command pointer to the non-default constructor.
  29075. (WebCore::Editor::Command::isSupported): Changed to only call the
  29076. per-command isSupported function when the command source is DOM.
  29077. Accordingly that function is now called isSupportedFromDOM.
  29078. 2010-12-23 Matthew Delaney <mdelaney@apple.com>
  29079. Reviewed by Simon Fraser.
  29080. Incorrect layer property used noted as changed in GraphicsLayerCA::setAcceleratesDrawing
  29081. https://bugs.webkit.org/show_bug.cgi?id=51560
  29082. No new tests.
  29083. * platform/graphics/ca/GraphicsLayerCA.cpp:
  29084. (WebCore::GraphicsLayerCA::setAcceleratesDrawing):
  29085. 2010-12-23 Jan Erik Hanssen <jhanssen@sencha.com>
  29086. Reviewed by Andreas Kling.
  29087. [Qt] copy and paste greek symbols to Word, TextEdit results in ?'s being shown
  29088. https://bugs.webkit.org/show_bug.cgi?id=35635
  29089. Explicitly set text/html data on QClipboard as UTF-8 and also include a <meta>
  29090. tag informing the OS that the data is in UTF-8 format.
  29091. * platform/qt/PasteboardQt.cpp:
  29092. (WebCore::Pasteboard::writeSelection):
  29093. 2010-12-23 Justin Schuh <jschuh@chromium.org>
  29094. Reviewed by Eric Seidel.
  29095. CSSCursorImageValue destructor should clear referenced element.
  29096. https://bugs.webkit.org/show_bug.cgi?id=51417
  29097. Calls correct method to clear image and renames method to avoid future confusion.
  29098. Test: svg/css/cursor-image-replace.svg
  29099. * css/CSSCursorImageValue.cpp:
  29100. (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
  29101. * svg/SVGElement.cpp:
  29102. (WebCore::SVGElement::cursorImageValueRemoved):
  29103. * svg/SVGElement.h:
  29104. 2010-12-22 Sam Weinig <sam@webkit.org>
  29105. Reviewed by Darin Adler.
  29106. WebKit2 needs to mirror the frame tree in the UIProcess
  29107. https://bugs.webkit.org/show_bug.cgi?id=51546
  29108. - Add client functions to notify that a frame has been added or
  29109. removed from the page cache.
  29110. * history/CachedFrame.cpp:
  29111. (WebCore::CachedFrameBase::restore):
  29112. (WebCore::CachedFrame::CachedFrame):
  29113. * history/CachedFrame.h:
  29114. * loader/EmptyClients.h:
  29115. (WebCore::EmptyFrameLoaderClient::didSaveToPageCache):
  29116. (WebCore::EmptyFrameLoaderClient::didRestoreFromPageCache):
  29117. * loader/FrameLoaderClient.h:
  29118. 2010-12-22 Matthew Delaney <mdelaney@apple.com>
  29119. Reviewed by Simon Fraser.
  29120. Add setNeedsStyleRecalc for getting canvas contexts that use IOSurfaces
  29121. This patch also changes USE_IOSURFACE to instead follow USE(IOSURFACE)
  29122. https://bugs.webkit.org/show_bug.cgi?id=51279
  29123. * html/HTMLCanvasElement.cpp: For IOSurface, use setNeedsStyleRecalc
  29124. * html/canvas/CanvasRenderingContext2D.cpp: Use new flag
  29125. * platform/graphics/ImageBuffer.h: Use new flag
  29126. * platform/graphics/cg/ImageBufferCG.cpp: Use new flag
  29127. 2010-12-20 Adrienne Walker <enne@google.com>
  29128. Reviewed by Kenneth Russell.
  29129. [chromium] Tile root layer of the compositor.
  29130. https://bugs.webkit.org/show_bug.cgi?id=49947
  29131. Refactor root layer update and drawing from LayerRendererChromium into
  29132. LayerTilerChromium. The root layer is now drawn as multiple tiles
  29133. rather than as one single large texture. Scrollbars are now drawn
  29134. separately rather than as part of the root layer.
  29135. Test: LayoutTests/compositing/
  29136. * WebCore.gypi:
  29137. * page/FrameView.cpp:
  29138. (WebCore::FrameView::repaintContentRectangle):
  29139. * platform/ScrollView.cpp:
  29140. (WebCore::ScrollView::ScrollView):
  29141. (WebCore::ScrollView::setClipsRepaints):
  29142. * platform/ScrollView.h:
  29143. (WebCore::ScrollView::clipsRepaints):
  29144. * platform/graphics/chromium/LayerChromium.h:
  29145. * platform/graphics/chromium/LayerRendererChromium.cpp:
  29146. (WebCore::LayerRendererChromium::LayerRendererChromium):
  29147. (WebCore::LayerRendererChromium::~LayerRendererChromium):
  29148. (WebCore::LayerRendererChromium::useShader):
  29149. (WebCore::LayerRendererChromium::verticalScrollbarRect):
  29150. (WebCore::LayerRendererChromium::horizontalScrollbarRect):
  29151. (WebCore::LayerRendererChromium::invalidateRootLayerRect):
  29152. (WebCore::LayerRendererChromium::updateAndDrawRootLayer):
  29153. (WebCore::LayerRendererChromium::drawLayers):
  29154. (WebCore::LayerRendererChromium::setRootLayer):
  29155. (WebCore::LayerRendererChromium::initializeSharedObjects):
  29156. (WebCore::LayerRendererChromium::cleanupSharedObjects):
  29157. * platform/graphics/chromium/LayerRendererChromium.h:
  29158. * platform/graphics/chromium/LayerTilerChromium.cpp: Added.
  29159. (WebCore::LayerTilerChromium::create):
  29160. (WebCore::LayerTilerChromium::LayerTilerChromium):
  29161. (WebCore::LayerTilerChromium::~LayerTilerChromium):
  29162. (WebCore::LayerTilerChromium::layerRendererContext):
  29163. (WebCore::LayerTilerChromium::setTileSize):
  29164. (WebCore::LayerTilerChromium::reset):
  29165. (WebCore::LayerTilerChromium::createTile):
  29166. (WebCore::LayerTilerChromium::invalidateTiles):
  29167. (WebCore::LayerTilerChromium::contentRectToTileIndices):
  29168. (WebCore::LayerTilerChromium::contentRectToLayerRect):
  29169. (WebCore::LayerTilerChromium::layerRectToContentRect):
  29170. (WebCore::LayerTilerChromium::tileIndex):
  29171. (WebCore::LayerTilerChromium::tileContentRect):
  29172. (WebCore::LayerTilerChromium::tileLayerRect):
  29173. (WebCore::LayerTilerChromium::invalidateRect):
  29174. (WebCore::LayerTilerChromium::invalidateEntireLayer):
  29175. (WebCore::LayerTilerChromium::update):
  29176. (WebCore::LayerTilerChromium::setLayerPosition):
  29177. (WebCore::LayerTilerChromium::draw):
  29178. (WebCore::LayerTilerChromium::resizeLayer):
  29179. (WebCore::LayerTilerChromium::growLayerToContain):
  29180. (WebCore::LayerTilerChromium::Tile::~Tile):
  29181. (WebCore::LayerTilerChromium::Tile::releaseTextureId):
  29182. * platform/graphics/chromium/LayerTilerChromium.h: Added.
  29183. (WebCore::LayerTilerChromium::Tile::Tile):
  29184. (WebCore::LayerTilerChromium::Tile::textureId):
  29185. (WebCore::LayerTilerChromium::Tile::dirty):
  29186. (WebCore::LayerTilerChromium::Tile::clearDirty):
  29187. (WebCore::LayerTilerChromium::layerRenderer):
  29188. 2010-12-22 Ryosuke Niwa <rniwa@webkit.org>
  29189. Reviewed by Eric Seidel.
  29190. Editor.h doesn't need to include SelectionController.h
  29191. https://bugs.webkit.org/show_bug.cgi?id=51441
  29192. Removed #include <Selection.h> from Editor.h.
  29193. Also extracted WritingDirection.h from EditingStyle.h and renamed SelectionController::EDirection
  29194. to SelectionDirection and moved its declaration from SelectionController.h to VisibleSelection.h
  29195. * WebCore.exp.in: Signature changes.
  29196. * WebCore.xcodeproj/project.pbxproj: Added WritingDirection.h
  29197. * accessibility/AccessibilityRenderObject.cpp:
  29198. (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine): Change due to SelectionDirection.
  29199. * editing/EditingStyle.h: Removed WritingDirection and included WritingDirection.h
  29200. * editing/Editor.cpp:
  29201. (WebCore::Editor::deleteWithDirection): Change due to SelectionDirection.
  29202. (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.
  29203. (WebCore::Editor::markMisspellingsAfterTypingToWord): Ditto.
  29204. * editing/Editor.h: Removed SelectionController.h; added DocumentMarker.h, Timer.h, VisibleSelection.h
  29205. and WritingDirection.h; forward declared CSSMutableStyleDeclaration.
  29206. * editing/EditorCommand.cpp:
  29207. (WebCore::executeDeleteBackward): Change due to SelectionDirection.
  29208. (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto.
  29209. (WebCore::executeDeleteForward): Ditto.
  29210. (WebCore::executeDeleteToBeginningOfLine): Ditto.
  29211. (WebCore::executeDeleteToBeginningOfParagraph): Ditto.
  29212. (WebCore::executeDeleteToEndOfLine): Ditto.
  29213. (WebCore::executeDeleteToEndOfParagraph): Ditto.
  29214. (WebCore::executeDeleteWordBackward): Ditto.
  29215. (WebCore::executeDeleteWordForward): Ditto.
  29216. (WebCore::executeForwardDelete): Ditto.
  29217. (WebCore::executeMoveBackward): Ditto.
  29218. (WebCore::executeMoveBackwardAndModifySelection): Ditto.
  29219. (WebCore::executeMoveDown): Ditto.
  29220. (WebCore::executeMoveDownAndModifySelection): Ditto.
  29221. (WebCore::executeMoveForward): Ditto.
  29222. (WebCore::executeMoveForwardAndModifySelection): Ditto.
  29223. (WebCore::executeMoveLeft): Ditto.
  29224. (WebCore::executeMoveLeftAndModifySelection): Ditto.
  29225. (WebCore::executeMoveRight): Ditto.
  29226. (WebCore::executeMoveRightAndModifySelection): Ditto.
  29227. (WebCore::executeMoveToBeginningOfDocument): Ditto.
  29228. (WebCore::executeMoveToBeginningOfDocumentAndModifySelection): Ditto.
  29229. (WebCore::executeMoveToBeginningOfLine): Ditto.
  29230. (WebCore::executeMoveToBeginningOfLineAndModifySelection): Ditto.
  29231. (WebCore::executeMoveToBeginningOfParagraph): Ditto.
  29232. (WebCore::executeMoveToBeginningOfParagraphAndModifySelection): Ditto.
  29233. (WebCore::executeMoveToBeginningOfSentence): Ditto.
  29234. (WebCore::executeMoveToBeginningOfSentenceAndModifySelection): Ditto.
  29235. (WebCore::executeMoveToEndOfDocument): Ditto.
  29236. (WebCore::executeMoveToEndOfDocumentAndModifySelection): Ditto.
  29237. (WebCore::executeMoveToEndOfSentence): Ditto.
  29238. (WebCore::executeMoveToEndOfSentenceAndModifySelection): Ditto.
  29239. (WebCore::executeMoveToEndOfLine): Ditto.
  29240. (WebCore::executeMoveToEndOfLineAndModifySelection): Ditto.
  29241. (WebCore::executeMoveToEndOfParagraph): Ditto.
  29242. (WebCore::executeMoveToEndOfParagraphAndModifySelection): Ditto.
  29243. (WebCore::executeMoveParagraphBackwardAndModifySelection): Ditto.
  29244. (WebCore::executeMoveParagraphForwardAndModifySelection): Ditto.
  29245. (WebCore::executeMoveUp): Ditto.
  29246. (WebCore::executeMoveUpAndModifySelection): Ditto.
  29247. (WebCore::executeMoveWordBackward): Ditto.
  29248. (WebCore::executeMoveWordBackwardAndModifySelection): Ditto.
  29249. (WebCore::executeMoveWordForward): Ditto.
  29250. (WebCore::executeMoveWordForwardAndModifySelection): Ditto.
  29251. (WebCore::executeMoveWordLeft): Ditto.
  29252. (WebCore::executeMoveWordLeftAndModifySelection): Ditto.
  29253. (WebCore::executeMoveWordRight): Ditto.
  29254. (WebCore::executeMoveWordRightAndModifySelection): Ditto.
  29255. (WebCore::executeMoveToLeftEndOfLine): Ditto.
  29256. (WebCore::executeMoveToLeftEndOfLineAndModifySelection): Ditto.
  29257. (WebCore::executeMoveToRightEndOfLine): Ditto.
  29258. (WebCore::executeMoveToRightEndOfLineAndModifySelection): Ditto.
  29259. * editing/SelectionController.cpp:
  29260. (WebCore::SelectionController::willBeModified): Takes SelectionDirection instead of EDirection.
  29261. (WebCore::SelectionController::modify): Ditto.
  29262. * editing/SelectionController.h: Change due to SelectionDirection.
  29263. * editing/TypingCommand.cpp:
  29264. (WebCore::TypingCommand::deleteKeyPressed): Ditto.
  29265. (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
  29266. * editing/VisibleSelection.h: Added SelectionDirection, renamed and moved from EDirection
  29267. in SelectionController.h
  29268. * editing/WritingDirection.h: Added.
  29269. * page/DOMSelection.cpp:
  29270. (WebCore::DOMSelection::modify): Change due to SelectionDirection.
  29271. (WebCore::DOMSelection::deleteFromDocument): Ditto.
  29272. * page/EventHandler.cpp:
  29273. (WebCore::EventHandler::handleKeyboardSelectionMovement): Ditto.
  29274. * page/Frame.h: Includes SelectionController.h.
  29275. 2010-12-23 Adam Barth <abarth@webkit.org>
  29276. Reviewed by Darin Adler.
  29277. Move V8 to WebCore's implementation of showModalDialog
  29278. https://bugs.webkit.org/show_bug.cgi?id=51527
  29279. This code is basically verbatim translation from the JavaScriptCore
  29280. bindings. The only intentional difference is in the world selection
  29281. for the dialog's frame. I suspect JavaScriptCore's bindings have a
  29282. subtle bug there.
  29283. In this patch, I also remove a bunch of now-unneeded code in the
  29284. generic bindings.
  29285. * bindings/generic/BindingDOMWindow.h:
  29286. * bindings/js/JSDOMWindowCustom.cpp:
  29287. (WebCore::DialogHandler::dialogCreated):
  29288. (WebCore::setUpDialog):
  29289. * bindings/v8/custom/V8DOMWindowCustom.cpp:
  29290. (WebCore::DialogHandler::DialogHandler):
  29291. (WebCore::DialogHandler::dialogCreated):
  29292. (WebCore::DialogHandler::returnValue):
  29293. (WebCore::setUpDialog):
  29294. (WebCore::V8DOMWindow::showModalDialogCallback):
  29295. (WebCore::V8DOMWindow::openCallback):
  29296. * bindings/v8/specialization/V8BindingDOMWindow.h:
  29297. 2010-12-23 Alexander Pavlov <apavlov@chromium.org>
  29298. Reviewed by Joseph Pecoraro.
  29299. Web Inspector: Can't backspace from CSS value to CSS key field
  29300. https://bugs.webkit.org/show_bug.cgi?id=51476
  29301. * inspector/front-end/StylesSidebarPane.js:
  29302. (WebInspector.StylePropertyTreeElement.prototype.):
  29303. (WebInspector.StylePropertyTreeElement.prototype):
  29304. 2010-12-23 W. James MacLean <wjmaclean@chromium.org>
  29305. Reviewed by Kenneth Russell.
  29306. [chromium] Add asserts to test for contiguous-pixel Skia bitmaps.
  29307. https://bugs.webkit.org/show_bug.cgi?id=51186
  29308. No new tests. Behaviour not changed, but need the asserts to detect when assumptions violated.
  29309. * platform/graphics/chromium/ImageLayerChromium.cpp:
  29310. (WebCore::ImageLayerChromium::updateContentsIfDirty):
  29311. * platform/graphics/skia/GraphicsContext3DSkia.cpp:
  29312. (WebCore::GraphicsContext3D::getImageData):
  29313. 2010-12-23 Lucas De Marchi <lucas.demarchi@profusion.mobi>
  29314. Reviewed by Kenneth Rohde Christiansen.
  29315. Fix check by undefined macro
  29316. https://bugs.webkit.org/show_bug.cgi?id=51531
  29317. Fix check by undefined macro
  29318. When building EFL port with libsoup, BUILDING_GTK__ is not defined,
  29319. leading to warnings during compile. We actually have to use an #ifdef
  29320. instead of an #if.
  29321. No change in functionality so no new tests.
  29322. * platform/network/soup/cache/webkit/soup-cache.h:
  29323. 2010-12-23 Jonathan Dixon <joth@chromium.org>
  29324. Reviewed by Steve Block.
  29325. TouchEvents does not support multi-touch on a page with multiple touch targets
  29326. https://bugs.webkit.org/show_bug.cgi?id=51258
  29327. Test: fast/events/touch/multi-touch-grouped-targets.html
  29328. * page/EventHandler.cpp:
  29329. (WebCore::eventNameForTouchPointState):
  29330. (WebCore::EventHandler::handleTouchEvent):
  29331. Redesigned event handler to ensure all event targets involved in a given
  29332. multitouch event get the appropriate event(s) fired.
  29333. * platform/PlatformTouchPoint.h: Added end-stop marker for State enum.
  29334. 2010-12-23 Philippe Normand <pnormand@igalia.com>
  29335. Reviewed by Xan Lopez.
  29336. [GTK] media/audio-data-url.html fails since r75504
  29337. https://bugs.webkit.org/show_bug.cgi?id=51525
  29338. Make the GStreamer media-player advertize 3gpp mime-types as
  29339. supported if the 3gp caps are in the typefind factories.
  29340. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  29341. (WebCore::mimeTypeCache):
  29342. 2010-12-23 Kent Tamura <tkent@chromium.org>
  29343. Reviewed by Dimitri Glazkov.
  29344. Refactor HTMLInputElement: Move a part of HTMLInputElement::defaultEventHandler()
  29345. to InputTypes.
  29346. https://bugs.webkit.org/show_bug.cgi?id=51093
  29347. Move BeforeTextInserted and Wheel event handling, event forwarding to
  29348. renderers, and the isindex form submission quirk code to InputTypes.
  29349. Also, change the return types of InputType event handlers from 'bool'
  29350. to 'void'. We use Event::defaultHandled() to decide whether event
  29351. handling should be stopped.
  29352. No new tests because this is just a refactoring.
  29353. * html/BaseButtonInputType.cpp: bool->void changes
  29354. (WebCore::BaseButtonInputType::handleKeydownEvent):
  29355. (WebCore::BaseButtonInputType::handleKeypressEvent):
  29356. (WebCore::BaseButtonInputType::handleKeyupEvent):
  29357. * html/BaseButtonInputType.h: ditto.
  29358. * html/BaseCheckableInputType.cpp: ditto.
  29359. (WebCore::BaseCheckableInputType::handleKeydownEvent):
  29360. (WebCore::BaseCheckableInputType::handleKeypressEvent):
  29361. * html/BaseCheckableInputType.h: ditto.
  29362. * html/BaseDateAndTimeInputType.cpp:
  29363. (WebCore::BaseDateAndTimeInputType::handleKeydownEvent): ditto.
  29364. (WebCore::BaseDateAndTimeInputType::handleWheelEvent): Just calls handleWheelEventForSpinButton().
  29365. * html/BaseDateAndTimeInputType.h: bool->void change and handleWhellEvent() addition.
  29366. * html/CheckboxInputType.cpp: bool->void change
  29367. (WebCore::CheckboxInputType::handleKeyupEvent):
  29368. * html/CheckboxInputType.h: ditto.
  29369. * html/FileInputType.cpp: ditto.
  29370. (WebCore::FileInputType::handleDOMActivateEvent):
  29371. * html/FileInputType.h: ditto.
  29372. * html/HTMLInputElement.cpp:
  29373. (WebCore::HTMLInputElement::defaultEventHandler):
  29374. - Change return-value handling of InputType event handlers
  29375. - Move out beforeTextInserted/wheel event handling and isindex form quirk.
  29376. * html/HTMLInputElement.h:
  29377. (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
  29378. Added so that InputType can call InputElement::handleBeforeTextInsertedEvent().
  29379. * html/ImageInputType.cpp: bool->void change
  29380. (WebCore::ImageInputType::handleDOMActivateEvent):
  29381. * html/ImageInputType.h: ditto.
  29382. * html/InputType.cpp: ditto.
  29383. (WebCore::InputType::handleClickEvent):
  29384. (WebCore::InputType::handleDOMActivateEvent):
  29385. (WebCore::InputType::handleKeydownEvent):
  29386. (WebCore::InputType::handleKeypressEvent):
  29387. (WebCore::InputType::handleKeyupEvent):
  29388. (WebCore::InputType::handleBeforeTextInsertedEvent):
  29389. (WebCore::InputType::handleWheelEvent): Added default implementation.
  29390. (WebCore::InputType::forwardEvent): ditto.
  29391. (WebCore::InputType::formForSubmission): ditto.
  29392. * html/InputType.h:
  29393. * html/IsIndexInputType.cpp:
  29394. (WebCore::IsIndexInputType::formForSubmission): Moved from HTMLInputElement.cpp.
  29395. * html/IsIndexInputType.h:
  29396. * html/NumberInputType.cpp:
  29397. (WebCore::isNumberCharacter): Moved from HTMLInputElement.cpp.
  29398. (WebCore::NumberInputType::handleKeydownEvent): bool->void change.
  29399. (WebCore::NumberInputType::handleBeforeTextInsertedEvent): Moved from HTMInputElement.cpp.
  29400. (WebCore::NumberInputType::handleWheelEvent): Added. Just calls handleWheelEventForSpinButton().
  29401. * html/NumberInputType.h:
  29402. * html/RadioInputType.cpp: bool->void changes.
  29403. (WebCore::RadioInputType::handleClickEvent):
  29404. (WebCore::RadioInputType::handleKeydownEvent):
  29405. (WebCore::RadioInputType::handleKeyupEvent):
  29406. * html/RadioInputType.h:
  29407. * html/RangeInputType.cpp:
  29408. (WebCore::RangeInputType::handleKeydownEvent): ditto.
  29409. (WebCore::RangeInputType::forwardEvent): Moved from HTMLInputElement.cpp.
  29410. * html/RangeInputType.h:
  29411. * html/ResetInputType.cpp: bool->void change.
  29412. (WebCore::ResetInputType::handleDOMActivateEvent):
  29413. * html/ResetInputType.h: ditto.
  29414. * html/SubmitInputType.cpp: ditto.
  29415. (WebCore::SubmitInputType::handleDOMActivateEvent):
  29416. * html/SubmitInputType.h: ditto.
  29417. * html/TextFieldInputType.cpp:
  29418. (WebCore::TextFieldInputType::handleKeydownEvent): bool->void change.
  29419. (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): ditto.
  29420. (WebCore::TextFieldInputType::handleWheelEventForSpinButton): Moved from HTMLInputElement.cpp.
  29421. (WebCore::TextFieldInputType::forwardEvent): ditto.
  29422. * html/TextFieldInputType.h:
  29423. 2010-12-23 Alexander Pavlov <apavlov@chromium.org>
  29424. Reviewed by Joseph Pecoraro.
  29425. Web Inspector: After scrolling new property value and cancelling, removed property remains active in page style
  29426. https://bugs.webkit.org/show_bug.cgi?id=51390
  29427. * inspector/front-end/StylesSidebarPane.js:
  29428. (WebInspector.StylePropertyTreeElement.prototype):
  29429. 2010-12-23 Noel Gordon <noel.gordon@gmail.com>
  29430. Reviewed by Adam Barth.
  29431. [chromium] Reduce canvas.toDataURL("image/png") run-time costs 300%
  29432. https://bugs.webkit.org/show_bug.cgi?id=51455
  29433. Chromium uses the libpng compression defaults. Good compression results,
  29434. but at much larger run-time cost compared to other browsers. Chrome is 2
  29435. times slower than Mozilla 3.6.12 and 3-4 times slower than Safari 5.0.3.
  29436. libpng has supported alternative compression methods for some time, they
  29437. better meet the dual goals of good compression and run-time cost for the
  29438. on-line case, and are well-documented. Here use Huffman encoding. It's
  29439. 2-20% faster than other encodings (Z_RLE, Z_FILTERED) and the compressed
  29440. size is within 1% of the Safari 5.0.3 result independent of image size.
  29441. No change in behaviour, so no new tests.
  29442. * platform/image-encoders/skia/PNGImageEncoder.cpp:
  29443. (WebCore::PNGImageEncoder::encode): Apply Huffman image encoding.
  29444. 2010-12-22 Noel Gordon <noel.gordon@gmail.com>
  29445. Reviewed by Darin Fisher.
  29446. [chromium] Optimize canvas.toDataURL("image/png") unpremultiplication loop
  29447. https://bugs.webkit.org/show_bug.cgi?id=51321
  29448. Follow on from r73890, unroll the SkUnPreMultiply::PMColorToColor() call for
  29449. the "image/png" encoder case viz., compute the unpremultiplication in-place.
  29450. See https://bugs.webkit.org/show_bug.cgi?id=50804 for reference.
  29451. No new tests: canvas.toDataURL() is covered by existing tests.
  29452. * platform/image-encoders/skia/PNGImageEncoder.cpp:
  29453. (WebCore::preMultipliedBGRAtoRGBA):
  29454. 2010-12-22 Ariya Hidayat <ariya@sencha.com>
  29455. Reviewed by Simon Fraser.
  29456. Implement skewX() and skewY() for CSSMatrix.
  29457. https://bugs.webkit.org/show_bug.cgi?id=38335
  29458. * css/WebKitCSSMatrix.cpp:
  29459. (WebCore::WebKitCSSMatrix::skew): Implemented skewX() and skewY().
  29460. * css/WebKitCSSMatrix.h: Added skewX() and skewY().
  29461. * css/WebKitCSSMatrix.idl: Added skewX() and skewY().
  29462. 2010-12-22 Simon Fraser <simon.fraser@apple.com>
  29463. Reviewed by Dan Bernstein.
  29464. Support unprefixed box-shadow property
  29465. https://bugs.webkit.org/show_bug.cgi?id=51448
  29466. Add support for the box-shadow CSS property. We'll currently render this
  29467. similarly to -webkit-box-shadow, but a later fix will adjust the blur radius
  29468. handling to match the spec.
  29469. Test: fast/css/box-shadow.html
  29470. * css/CSSComputedStyleDeclaration.cpp:
  29471. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Implement getComputedStyle
  29472. for box-shadow
  29473. * css/CSSParser.cpp:
  29474. (WebCore::CSSParser::parseValue):
  29475. (WebCore::ShadowParseContext::ShadowParseContext):
  29476. (WebCore::ShadowParseContext::commitValue):
  29477. (WebCore::ShadowParseContext::commitLength):
  29478. (WebCore::ShadowParseContext::commitColor): Support CSSPropertyBoxShadow
  29479. * css/CSSPropertyNames.in: add box-shadow
  29480. * css/CSSStyleSelector.cpp:
  29481. (WebCore::CSSStyleSelector::applyProperty): Add CSSPropertyBoxShadow, and
  29482. store in the ShadowData if this is -webkit-box-shadow or not. We'll use this
  29483. to adjust radii later.
  29484. * css/SVGCSSStyleSelector.cpp:
  29485. (WebCore::CSSStyleSelector::applySVGProperty): Add CSSPropertyBoxShadow.
  29486. * page/animation/AnimationBase.cpp:
  29487. (WebCore::blendFunc):
  29488. (WebCore::PropertyWrapperShadow::blend):
  29489. (WebCore::AnimationBase::ensurePropertyMap): Support animations of box-shadow.
  29490. * rendering/style/ShadowData.cpp: Store a flag to say if this is a -webkit-box-shadow.
  29491. (WebCore::ShadowData::ShadowData):
  29492. (WebCore::ShadowData::operator==):
  29493. * rendering/style/ShadowData.h:
  29494. (WebCore::ShadowData::ShadowData):
  29495. (WebCore::ShadowData::isWebkitBoxShadow):
  29496. 2010-12-22 Michael Saboff <msaboff@apple.com>
  29497. Reviewed by Sam Weinig.
  29498. REGRESSION: Can't shadow/overwrite window.constructor
  29499. (causes TypeError exception)
  29500. https://bugs.webkit.org/show_bug.cgi?id=48953
  29501. Added code in the javascript code generator to create a setter for
  29502. a constructor if the new extended attribute ReplaceableConstructor
  29503. is present for the interface.
  29504. * bindings/scripts/CodeGeneratorJS.pm:
  29505. * page/DOMWindow.idl:
  29506. 2010-12-22 Steve Lacey <sjl@chromium.org>
  29507. Reviewed by David Levin.
  29508. Change css for chromium media controls to deal with the timeline
  29509. not expanding when the current time disappears. This happens when
  29510. the width of the control drops below 240px.
  29511. This change results in a minor pixel difference - the timebar now
  29512. aligns better with the time and when the time is not displayed is
  29513. now perfectly centered. Disabling the affected tests for now
  29514. and will rebaseline.
  29515. https://bugs.webkit.org/show_bug.cgi?id=51500
  29516. * css/mediaControlsChromium.css:
  29517. (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
  29518. (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
  29519. (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
  29520. (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
  29521. 2010-12-22 Mihai Parparita <mihaip@chromium.org>
  29522. Reviewed by Simon Fraser.
  29523. the shadow direction is negated in canvas context shadowOffsetY.
  29524. https://bugs.webkit.org/show_bug.cgi?id=25619
  29525. Invert shadow offset Y direction in 0-blur path in FontMac::drawGlyps
  29526. if we're not transforming shadows (i.e. are rendering in a canvas). Also
  29527. use CG shadows if there's a non-translate/flip transform applied
  29528. (shadow offsets are supposed to ignore transforms, but the naive/simple
  29529. implementation was taking them into account).
  29530. Also does the equivalent changes to FontCGWin.
  29531. Test: fast/canvas/fillText-shadow.html
  29532. * platform/graphics/GraphicsContext.cpp:
  29533. (WebCore::GraphicsContext::shadowsIgnoreTransforms):
  29534. * platform/graphics/GraphicsContext.h:
  29535. * platform/graphics/mac/FontMac.mm:
  29536. (WebCore::Font::drawGlyphs):
  29537. * platform/graphics/win/FontCGWin.cpp:
  29538. (WebCore::Font::drawGlyphs):
  29539. 2010-12-22 Sheriff Bot <webkit.review.bot@gmail.com>
  29540. Unreviewed, rolling out r74503.
  29541. http://trac.webkit.org/changeset/74503
  29542. https://bugs.webkit.org/show_bug.cgi?id=51513
  29543. breaks chromium mac debug compile (Requested by tonyg-cr on
  29544. #webkit).
  29545. * platform/graphics/chromium/ImageLayerChromium.cpp:
  29546. (WebCore::ImageLayerChromium::updateContentsIfDirty):
  29547. * platform/graphics/skia/GraphicsContext3DSkia.cpp:
  29548. (WebCore::GraphicsContext3D::getImageData):
  29549. 2010-12-22 Dan Bernstein <mitz@apple.com>
  29550. Reviewed by Darin Adler.
  29551. Replace runtime checks for hyphenation API availability with compile-time checks.
  29552. * platform/text/cf/HyphenationCF.cpp:
  29553. (WebCore::::createValueForNullKey): Changed to use CFLocaleCopyCurrent() instead of using the
  29554. search locale, which is empty on Windows. On Mac, this is equivalent to using the search locale.
  29555. (WebCore::canHyphenate): Added this implementation for when the hyphenation API is not available.
  29556. It is identical to the implementation in Hyphenation.cpp.
  29557. (WebCore::lastHyphenLocation): Ditto.
  29558. 2010-12-22 Simon Fraser <simon.fraser@apple.com>
  29559. Reviewed by Darin Adler.
  29560. Cache snapshots of plug-ins before painting, to avoid script running during painting
  29561. https://bugs.webkit.org/show_bug.cgi?id=51493
  29562. When FrameView is asked to do a flattening paint (e.g. when Safari snapshots,
  29563. or when printing), plug-ins which otherwise use the CA rendering model
  29564. are sent a paint event. Some plug-ins may run script while handling this event,
  29565. or out of process plug-ins may process queued requests at this time. Running
  29566. script while inside layout or painting can have bad consequences, because it
  29567. can result in arbitrary changes to the render tree.
  29568. This patch avoids sending plug-ins paint events inside of painting. Instead,
  29569. we ask the plug-ins to cache a snapshot before we paint, and then the software
  29570. paint simply draws that snapshot.
  29571. Requires manual test, because the bug happens when Safari does
  29572. a page snapshot. It's not possible to tell the Test Netscape Plug-in
  29573. to paint without laying out, making an automated test impossible.
  29574. * manual-tests/plugins/plugin-paint-causes-layout.html: Added.
  29575. * page/FrameView.h:
  29576. * page/FrameView.cpp:
  29577. (WebCore::FrameView::paintContents): Notify all enclosed widgets
  29578. that a flattening paint is going to happen.
  29579. (WebCore::FrameView::notifyWidgetsInAllFrames): Utility method
  29580. that tells the RenderView in all subframes to notify their widgets.
  29581. * platform/Widget.h:
  29582. (WebCore::Widget::notifyWidget): Generic method that can be used
  29583. to send messages to widgets. Current messages are just 'before flattening paint'
  29584. and 'after flattening paint'. Message has no payload.
  29585. * rendering/RenderView.h:
  29586. * rendering/RenderView.cpp:
  29587. (WebCore::RenderView::getRetainedWidgets):
  29588. (WebCore::RenderView::releaseWidgets): Factor code out of updateWidgetPositions(),
  29589. since we use it in two places now.
  29590. (WebCore::RenderView::updateWidgetPositions): Use getRetainedWidgets() etc.
  29591. (WebCore::RenderView::notifyWidgets): Retain all the widgets, then send
  29592. them all the message.
  29593. * rendering/RenderWidget.h:
  29594. * rendering/RenderWidget.cpp:
  29595. (WebCore::RenderWidget::notifyWidget): Pass the message to the widget.
  29596. 2010-12-22 Adrienne Walker <enne@google.com>
  29597. Reviewed by Kenneth Russell.
  29598. Fix null pointer deref when restoring a lost WebGL context.
  29599. https://bugs.webkit.org/show_bug.cgi?id=51494
  29600. No new tests, as context restored events are not currently testable.
  29601. * html/canvas/WebGLRenderingContext.cpp:
  29602. (WebCore::WebGLRenderingContext::initializeNewContext):
  29603. (WebCore::WebGLRenderingContext::restoreContext):
  29604. 2010-12-22 Adam Bergkvist <adam.bergkvist@ericsson.com>
  29605. Reviewed by Martin Robinson.
  29606. [GTK] Building with Blob support fails again
  29607. https://bugs.webkit.org/show_bug.cgi?id=51392
  29608. Build fix.
  29609. * GNUmakefile.am:
  29610. 2010-12-22 Dan Bernstein <mitz@apple.com>
  29611. Reviewed by Anders Carlsson.
  29612. canHyphenate() always returns true for the default locale
  29613. https://bugs.webkit.org/show_bug.cgi?id=51506
  29614. No test, since this change only affects performance.
  29615. * platform/text/cf/HyphenationCF.cpp:
  29616. (WebCore::::createValueForNullKey): Return 0 if hyphenation is not supported for the default locale.
  29617. (WebCore::::createValueForKey): Removed whitespace.
  29618. 2010-12-22 Yury Semikhatsky <yurys@chromium.org>
  29619. Reviewed by Joseph Pecoraro.
  29620. Web Inspector: script name gets parsed as HTML in Call stack panel
  29621. https://bugs.webkit.org/show_bug.cgi?id=51468
  29622. * inspector/front-end/Placard.js:
  29623. (WebInspector.Placard.prototype.set subtitle):
  29624. 2010-12-22 Eric Carlson <eric.carlson@apple.com>
  29625. Reviewed by Darin Adler.
  29626. MediaPlayer should look for MIME type in data: URL
  29627. https://bugs.webkit.org/show_bug.cgi?id=51195
  29628. If no MIME type is passed from the media element for a data: URL, try to get it from
  29629. the URL itself.
  29630. No new tests are possible because the MIME type is just passed to the media engine.
  29631. * platform/graphics/MediaPlayer.cpp:
  29632. (WebCore::MediaPlayer::load):
  29633. 2010-12-22 W. James MacLean <wjmaclean@chromium.org>
  29634. Reviewed by Kenneth Russell.
  29635. [chromium] Add asserts to test for contiguous-pixel Skia bitmaps.
  29636. https://bugs.webkit.org/show_bug.cgi?id=51186
  29637. No new tests. Behaviour not changed, but need the asserts to detect when assumptions violated.
  29638. * platform/graphics/chromium/ImageLayerChromium.cpp:
  29639. (WebCore::ImageLayerChromium::updateContentsIfDirty):
  29640. * platform/graphics/skia/GraphicsContext3DSkia.cpp:
  29641. (WebCore::GraphicsContext3D::getImageData):
  29642. 2010-12-22 Chris Fleizach <cfleizach@apple.com>
  29643. Reviewed by Darin Adler.
  29644. WAI-ARIA menubar role mapped to AXGroup, should be AXMenuBar
  29645. https://bugs.webkit.org/show_bug.cgi?id=51488
  29646. Test: platform/mac/accessibility/aria-menubar.html
  29647. * accessibility/AccessibilityObject.cpp:
  29648. (WebCore::createARIARoleMap):
  29649. 2010-12-22 Zhenyao Mo <zmo@google.com>
  29650. Reviewed by Kenneth Russell.
  29651. CopyTex{Sub}Image2D check always if the bound fbo's internal color format is compatible
  29652. https://bugs.webkit.org/show_bug.cgi?id=51423
  29653. * html/canvas/WebGLRenderingContext.cpp:
  29654. (WebCore::WebGLRenderingContext::copyTexImage2D): Remove the isGLES2Compliant flag around format compatibility checking.
  29655. (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
  29656. (WebCore::WebGLRenderingContext::getBoundFramebufferColorFormat): Helper function to get bound framebuffer's color format; deal with the case of webgl's internal fbo.
  29657. * html/canvas/WebGLRenderingContext.h:
  29658. 2010-12-22 Xan Lopez <xlopez@igalia.com>
  29659. Reviewed by Gustavo Noronha.
  29660. [GTK] Compilation fixes with GTK+ 2.91.7
  29661. https://bugs.webkit.org/show_bug.cgi?id=51487
  29662. * platform/gtk/GtkVersioning.h: do not define GDK_DISPLAY for
  29663. backwards compatibility, it's now defined again in GTK+ 3.x.
  29664. * platform/gtk/PasteboardHelper.cpp: do not call GDK functions to
  29665. initialize global static variables (!). These are called when the
  29666. .so is loaded, and they now require GType to be initialized and
  29667. will crash. Initialize them once from the ctor, which is a more
  29668. common pattern anyway.
  29669. (WebCore::initGdkAtoms): new method to initialize static variables.
  29670. (WebCore::PasteboardHelper::PasteboardHelper): call it.
  29671. * plugins/gtk/PluginViewGtk.cpp: do not include gdkconfig.h when
  29672. using GTK+ 3.x, since it's no longer installed.
  29673. 2010-12-22 Dirk Schulze <krit@wbekit.org>
  29674. Reviewed by Nikolas Zimmermann.
  29675. Cleanup SVG code according to the webkit style rules 2
  29676. https://bugs.webkit.org/show_bug.cgi?id=51461
  29677. Second patch to fix indention and other style issues according to the WebKit style rules in the SVG code.
  29678. No changes of functionality, so no new tests.
  29679. * svg/SVGFEDisplacementMapElement.cpp:
  29680. (WebCore::SVGFEDisplacementMapElement::stringToChannel):
  29681. * svg/SVGFEDistantLightElement.h:
  29682. * svg/SVGFEFuncAElement.h:
  29683. * svg/SVGFEFuncBElement.h:
  29684. * svg/SVGFEFuncGElement.h:
  29685. * svg/SVGFEFuncRElement.h:
  29686. * svg/SVGFEMergeElement.cpp:
  29687. (WebCore::SVGFEMergeElement::build):
  29688. * svg/SVGFEMorphologyElement.cpp:
  29689. * svg/SVGFEPointLightElement.h:
  29690. * svg/SVGFESpecularLightingElement.cpp:
  29691. (WebCore::SVGFESpecularLightingElement::findLights):
  29692. * svg/SVGFESpotLightElement.h:
  29693. * svg/SVGFitToViewBox.cpp:
  29694. (WebCore::SVGFitToViewBox::parseViewBox):
  29695. (WebCore::SVGFitToViewBox::isKnownAttribute):
  29696. * svg/SVGFontFaceElement.cpp:
  29697. (WebCore::cssPropertyIdForSVGAttributeName):
  29698. * svg/SVGFontFaceElement.h:
  29699. (WebCore::SVGFontFaceElement::associatedFontElement):
  29700. * svg/SVGFontFaceNameElement.h:
  29701. * svg/SVGFontFaceSrcElement.cpp:
  29702. * svg/SVGFontFaceSrcElement.h:
  29703. * svg/SVGFontFaceUriElement.h:
  29704. * svg/SVGForeignObjectElement.h:
  29705. * svg/SVGGlyphElement.cpp:
  29706. (WebCore::parseArabicForm):
  29707. (WebCore::parseOrientation):
  29708. * svg/SVGGlyphElement.h:
  29709. (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
  29710. (WebCore::SVGGlyphIdentifier::inheritedValue):
  29711. (WebCore::SVGGlyphIdentifier::operator==):
  29712. (WebCore::SVGGlyphElement::rendererIsNeeded):
  29713. * svg/SVGGlyphMap.h:
  29714. (WebCore::GlyphMapNode::GlyphMapNode):
  29715. (WebCore::GlyphMapNode::create):
  29716. (WebCore::SVGGlyphMap::SVGGlyphMap):
  29717. (WebCore::SVGGlyphMap::add):
  29718. (WebCore::SVGGlyphMap::compareGlyphPriority):
  29719. (WebCore::SVGGlyphMap::get):
  29720. (WebCore::SVGGlyphMap::clear):
  29721. * svg/SVGGradientElement.cpp:
  29722. * svg/SVGHKernElement.cpp:
  29723. * svg/SVGHKernElement.h:
  29724. (WebCore::SVGHKernElement::rendererIsNeeded):
  29725. * svg/SVGImageElement.h:
  29726. * svg/SVGImageLoader.cpp:
  29727. * svg/SVGImageLoader.h:
  29728. * svg/SVGLangSpace.cpp:
  29729. (WebCore::SVGLangSpace::parseMappedAttribute):
  29730. (WebCore::SVGLangSpace::isKnownAttribute):
  29731. * svg/SVGLangSpace.h:
  29732. (WebCore::SVGLangSpace::xmllang):
  29733. * svg/SVGMetadataElement.h:
  29734. * svg/SVGMissingGlyphElement.h:
  29735. (WebCore::SVGMissingGlyphElement::rendererIsNeeded):
  29736. * svg/SVGPaint.cpp:
  29737. (WebCore::SVGPaint::cssText):
  29738. * svg/SVGPaint.h:
  29739. (WebCore::SVGPaint::create):
  29740. (WebCore::SVGPaint::paintType):
  29741. (WebCore::SVGPaint::isSVGPaint):
  29742. * svg/SVGParserUtilities.cpp:
  29743. * svg/SVGParserUtilities.h:
  29744. (WebCore::isWhitespace):
  29745. (WebCore::skipOptionalSpaces):
  29746. (WebCore::skipOptionalSpacesOrDelimiter):
  29747. * svg/SVGPathElement.cpp:
  29748. * svg/SVGPathParserFactory.h:
  29749. * svg/SVGPathSegList.h:
  29750. 2010-12-22 Chris Fleizach <cfleizach@apple.com>
  29751. Reviewed by Sam Weinig.
  29752. AX: WAI-ARIA textbox role needs different AXRole, depending on value of aria-multiline property
  29753. https://bugs.webkit.org/show_bug.cgi?id=51481
  29754. Support aria-multiline and use it to change the role of an ARIA "textbox"
  29755. from AXTextArea to AXTextField.
  29756. Test: platform/mac/accessibility/aria-multiline.html
  29757. * accessibility/AccessibilityObject.cpp:
  29758. (WebCore::AccessibilityObject::ariaIsMultiline):
  29759. * accessibility/AccessibilityObject.h:
  29760. (WebCore::AccessibilityObject::isPasswordField):
  29761. (WebCore::AccessibilityObject::isTextControl):
  29762. * accessibility/AccessibilityRenderObject.cpp:
  29763. (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
  29764. * accessibility/AccessibilityRenderObject.h:
  29765. * html/HTMLAttributeNames.in:
  29766. 2010-12-22 Simon Fraser <simon.fraser@apple.com>
  29767. Reviewed by Dan Bernstein.
  29768. CSS 2.1 failure: counter-increment-013 fails
  29769. https://bugs.webkit.org/show_bug.cgi?id=51483
  29770. Clamp the counter-increment property to the valid range of signed
  29771. integers.
  29772. Test: fast/css/counters/counter-increment-overflow.html
  29773. * css/CSSParser.cpp:
  29774. (WebCore::clampToSignedInteger):
  29775. (WebCore::CSSParser::parseCounter):
  29776. 2010-12-22 Dan Bernstein <mitz@apple.com>
  29777. Rubber-stamped by Mark Rowe.
  29778. Changed WebKitTools to Tools in script build phases.
  29779. * WebCore.xcodeproj/project.pbxproj:
  29780. 2010-12-21 Vangelis Kokkevis <vangelis@chromium.org>
  29781. Reviewed by Kenneth Russell.
  29782. [chromium] Fixing crash with empty render surfaces.
  29783. https://bugs.webkit.org/show_bug.cgi?id=51432
  29784. Test: platform/chromium/compositing/empty-render-surface-crasher.html
  29785. * platform/graphics/chromium/RenderSurfaceChromium.cpp:
  29786. (WebCore::RenderSurfaceChromium::draw):
  29787. 2010-12-21 Pavel Podivilov <podivilov@chromium.org>
  29788. Reviewed by Yury Semikhatsky.
  29789. Web Inspector: persist JavaScript breakpoints in frontend settings.
  29790. https://bugs.webkit.org/show_bug.cgi?id=48434
  29791. * bindings/js/ScriptDebugServer.cpp:
  29792. (WebCore::ScriptDebugServer::setBreakpoint):
  29793. (WebCore::ScriptDebugServer::removeBreakpoint):
  29794. * bindings/js/ScriptDebugServer.h:
  29795. * bindings/v8/DebuggerScript.js:
  29796. ():
  29797. * bindings/v8/ScriptDebugServer.cpp:
  29798. (WebCore::ScriptDebugServer::setBreakpoint):
  29799. (WebCore::ScriptDebugServer::removeBreakpoint):
  29800. * bindings/v8/ScriptDebugServer.h:
  29801. * inspector/Inspector.idl:
  29802. * inspector/InspectorBackend.cpp:
  29803. * inspector/InspectorController.cpp:
  29804. (WebCore::InspectorController::InspectorController):
  29805. (WebCore::InspectorController::enableDebuggerFromFrontend):
  29806. (WebCore::InspectorController::setStickyBreakpoints):
  29807. (WebCore::InspectorController::restoreStickyBreakpoint):
  29808. * inspector/InspectorController.h:
  29809. * inspector/InspectorDebuggerAgent.cpp:
  29810. (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
  29811. (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
  29812. (WebCore::InspectorDebuggerAgent::setBreakpoint):
  29813. (WebCore::InspectorDebuggerAgent::removeBreakpoint):
  29814. (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
  29815. (WebCore::InspectorDebuggerAgent::clearForPageNavigation):
  29816. (WebCore::InspectorDebuggerAgent::didParseSource):
  29817. * inspector/InspectorDebuggerAgent.h:
  29818. * inspector/front-end/Breakpoint.js:
  29819. (WebInspector.Breakpoint):
  29820. (WebInspector.Breakpoint.prototype.remove):
  29821. * inspector/front-end/BreakpointManager.js:
  29822. (WebInspector.BreakpointManager):
  29823. (WebInspector.DOMBreakpoint.prototype._serializeToJSON):
  29824. (WebInspector.JavaScriptBreakpoint):
  29825. (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
  29826. * inspector/front-end/DebuggerModel.js:
  29827. (WebInspector.DebuggerModel):
  29828. * inspector/front-end/ScriptsPanel.js:
  29829. (WebInspector.ScriptsPanel.prototype._debuggerPaused):
  29830. * inspector/front-end/SourceFrame.js:
  29831. 2010-12-20 Antti Koivisto <antti@apple.com>
  29832. Reviewed by Alexey Proskuryakov.
  29833. https://bugs.webkit.org/show_bug.cgi?id=51354
  29834. Don't block rendering and script execution on deferred stylesheets
  29835. - Don't add low priority stylesheets to the document pending sheet count.
  29836. - Resolve media attribute fully for the link element stylesheet load.
  29837. Test: http/tests/local/stylesheet-and-script-load-order-media-print.html
  29838. * html/HTMLLinkElement.cpp:
  29839. (WebCore::HTMLLinkElement::HTMLLinkElement):
  29840. (WebCore::HTMLLinkElement::~HTMLLinkElement):
  29841. (WebCore::HTMLLinkElement::setDisabledState):
  29842. (WebCore::HTMLLinkElement::process):
  29843. (WebCore::HTMLLinkElement::sheetLoaded):
  29844. (WebCore::HTMLLinkElement::addPendingSheet):
  29845. (WebCore::HTMLLinkElement::removePendingSheet):
  29846. * html/HTMLLinkElement.h:
  29847. 2010-12-22 Sheriff Bot <webkit.review.bot@gmail.com>
  29848. Unreviewed, rolling out r74473.
  29849. http://trac.webkit.org/changeset/74473
  29850. https://bugs.webkit.org/show_bug.cgi?id=51463
  29851. broke compilation on leopard intel release (Requested by
  29852. podivilov on #webkit).
  29853. * bindings/js/ScriptDebugServer.cpp:
  29854. (WebCore::ScriptDebugServer::setBreakpoint):
  29855. (WebCore::ScriptDebugServer::removeBreakpoint):
  29856. * bindings/js/ScriptDebugServer.h:
  29857. * bindings/v8/DebuggerScript.js:
  29858. ():
  29859. * bindings/v8/ScriptDebugServer.cpp:
  29860. (WebCore::ScriptDebugServer::setBreakpoint):
  29861. (WebCore::ScriptDebugServer::removeBreakpoint):
  29862. * bindings/v8/ScriptDebugServer.h:
  29863. * inspector/Inspector.idl:
  29864. * inspector/InspectorBackend.cpp:
  29865. * inspector/InspectorController.cpp:
  29866. (WebCore::InspectorController::InspectorController):
  29867. (WebCore::InspectorController::enableDebuggerFromFrontend):
  29868. (WebCore::InspectorController::setStickyBreakpoints):
  29869. (WebCore::InspectorController::restoreStickyBreakpoint):
  29870. (WebCore::InspectorController::breakpointsSettingKey):
  29871. (WebCore::InspectorController::loadBreakpoints):
  29872. (WebCore::InspectorController::saveBreakpoints):
  29873. * inspector/InspectorController.h:
  29874. * inspector/InspectorDebuggerAgent.cpp:
  29875. (WebCore::formatBreakpointId):
  29876. (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
  29877. (WebCore::InspectorDebuggerAgent::setBreakpoint):
  29878. (WebCore::InspectorDebuggerAgent::removeBreakpoint):
  29879. (WebCore::InspectorDebuggerAgent::clearForPageNavigation):
  29880. (WebCore::InspectorDebuggerAgent::md5Base16):
  29881. (WebCore::InspectorDebuggerAgent::loadBreakpoints):
  29882. (WebCore::InspectorDebuggerAgent::saveBreakpoints):
  29883. (WebCore::InspectorDebuggerAgent::didParseSource):
  29884. * inspector/InspectorDebuggerAgent.h:
  29885. * inspector/front-end/Breakpoint.js:
  29886. (WebInspector.Breakpoint):
  29887. (WebInspector.Breakpoint.jsBreakpointId):
  29888. (WebInspector.Breakpoint.prototype.set enabled):
  29889. (WebInspector.Breakpoint.prototype.get id):
  29890. (WebInspector.Breakpoint.prototype.set condition):
  29891. (WebInspector.Breakpoint.prototype.remove):
  29892. * inspector/front-end/BreakpointManager.js:
  29893. (WebInspector.BreakpointManager):
  29894. (WebInspector.BreakpointManager.prototype._createDOMBreakpoint):
  29895. (WebInspector.BreakpointManager.prototype._createEventListenerBreakpoint):
  29896. (WebInspector.BreakpointManager.prototype._createXHRBreakpoint):
  29897. (WebInspector.BreakpointManager.prototype._setNativeBreakpoint):
  29898. (WebInspector.BreakpointManager.prototype._setNativeBreakpointEnabled):
  29899. (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint):
  29900. (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
  29901. (WebInspector.BreakpointManager.prototype._projectChanged):
  29902. (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
  29903. (WebInspector.BreakpointManager.prototype._saveBreakpoints):
  29904. (WebInspector.BreakpointManager.prototype._validateBreakpoints):
  29905. (WebInspector.DOMBreakpoint.prototype._serializeToJSON):
  29906. (WebInspector.EventListenerBreakpoint.prototype._serializeToJSON):
  29907. (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
  29908. (WebInspector.NativeBreakpointView.prototype.set enabled):
  29909. (WebInspector.NativeBreakpointView.prototype.remove):
  29910. * inspector/front-end/DebuggerModel.js:
  29911. (WebInspector.DebuggerModel):
  29912. (WebInspector.DebuggerModel.prototype.setOneTimeBreakpoint):
  29913. (WebInspector.DebuggerModel.prototype.removeOneTimeBreakpoint):
  29914. (WebInspector.DebuggerModel.prototype.setBreakpoint):
  29915. (WebInspector.DebuggerModel.prototype.findBreakpoint):
  29916. (WebInspector.DebuggerModel.prototype.reset):
  29917. (WebInspector.DebuggerModel.prototype._setBreakpoint):
  29918. (WebInspector.DebuggerModel.prototype._breakpointRemoved):
  29919. (WebInspector.DebuggerModel.prototype._setBreakpointOnBackend):
  29920. (WebInspector.DebuggerModel.prototype.breakpointRestored):
  29921. (WebInspector.DebuggerModel.prototype.pausedScript):
  29922. (WebInspector.DebuggerModel.prototype.resumedScript):
  29923. * inspector/front-end/ScriptsPanel.js:
  29924. (WebInspector.ScriptsPanel.prototype.continueToLine):
  29925. (WebInspector.ScriptsPanel.prototype._debuggerPaused):
  29926. * inspector/front-end/SourceFrame.js:
  29927. (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
  29928. (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
  29929. (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
  29930. (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
  29931. (WebInspector.SourceFrame.prototype._contextMenu):
  29932. (WebInspector.SourceFrame.prototype._mouseDown):
  29933. (WebInspector.SourceFrame.prototype._continueToLine):
  29934. (WebInspector.SourceFrame.prototype._setBreakpoint):
  29935. 2010-12-21 Pavel Podivilov <podivilov@chromium.org>
  29936. Reviewed by Yury Semikhatsky.
  29937. Web Inspector: persist JavaScript breakpoints in frontend settings.
  29938. https://bugs.webkit.org/show_bug.cgi?id=48434
  29939. * bindings/js/ScriptDebugServer.cpp:
  29940. (WebCore::ScriptDebugServer::setBreakpoint):
  29941. (WebCore::ScriptDebugServer::removeBreakpoint):
  29942. * bindings/js/ScriptDebugServer.h:
  29943. * bindings/v8/DebuggerScript.js:
  29944. ():
  29945. * bindings/v8/ScriptDebugServer.cpp:
  29946. (WebCore::ScriptDebugServer::setBreakpoint):
  29947. (WebCore::ScriptDebugServer::removeBreakpoint):
  29948. * bindings/v8/ScriptDebugServer.h:
  29949. * inspector/Inspector.idl:
  29950. * inspector/InspectorBackend.cpp:
  29951. * inspector/InspectorController.cpp:
  29952. (WebCore::InspectorController::InspectorController):
  29953. (WebCore::InspectorController::enableDebuggerFromFrontend):
  29954. (WebCore::InspectorController::setStickyBreakpoints):
  29955. (WebCore::InspectorController::restoreStickyBreakpoint):
  29956. * inspector/InspectorController.h:
  29957. * inspector/InspectorDebuggerAgent.cpp:
  29958. (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
  29959. (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
  29960. (WebCore::InspectorDebuggerAgent::setBreakpoint):
  29961. (WebCore::InspectorDebuggerAgent::removeBreakpoint):
  29962. (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
  29963. (WebCore::InspectorDebuggerAgent::clearForPageNavigation):
  29964. (WebCore::InspectorDebuggerAgent::didParseSource):
  29965. * inspector/InspectorDebuggerAgent.h:
  29966. * inspector/front-end/Breakpoint.js:
  29967. (WebInspector.Breakpoint):
  29968. (WebInspector.Breakpoint.prototype.remove):
  29969. * inspector/front-end/BreakpointManager.js:
  29970. (WebInspector.BreakpointManager):
  29971. (WebInspector.DOMBreakpoint.prototype._serializeToJSON):
  29972. (WebInspector.JavaScriptBreakpoint):
  29973. (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
  29974. * inspector/front-end/DebuggerModel.js:
  29975. (WebInspector.DebuggerModel):
  29976. * inspector/front-end/ScriptsPanel.js:
  29977. (WebInspector.ScriptsPanel.prototype._debuggerPaused):
  29978. * inspector/front-end/SourceFrame.js:
  29979. 2010-12-22 Dirk Schulze <krit@wbekit.org>
  29980. Reviewed by Nikolas Zimmermann.
  29981. Cleanup SVG code according to the webkit style rules 1
  29982. https://bugs.webkit.org/show_bug.cgi?id=51411
  29983. First patch to fix indention and other style issues according to the WebKit style rules in the SVG code.
  29984. No change of functionality.
  29985. * svg/ColorDistance.cpp:
  29986. (WebCore::ColorDistance::isZero):
  29987. * svg/ColorDistance.h:
  29988. * svg/ElementTimeControl.h:
  29989. (WebCore::ElementTimeControl::~ElementTimeControl):
  29990. * svg/LinearGradientAttributes.h:
  29991. (WebCore::LinearGradientAttributes::LinearGradientAttributes):
  29992. (WebCore::LinearGradientAttributes::x1):
  29993. (WebCore::LinearGradientAttributes::y1):
  29994. (WebCore::LinearGradientAttributes::x2):
  29995. (WebCore::LinearGradientAttributes::y2):
  29996. (WebCore::LinearGradientAttributes::setX1):
  29997. (WebCore::LinearGradientAttributes::setY1):
  29998. (WebCore::LinearGradientAttributes::setX2):
  29999. (WebCore::LinearGradientAttributes::setY2):
  30000. (WebCore::LinearGradientAttributes::hasX1):
  30001. (WebCore::LinearGradientAttributes::hasY1):
  30002. (WebCore::LinearGradientAttributes::hasX2):
  30003. (WebCore::LinearGradientAttributes::hasY2):
  30004. * svg/RadialGradientAttributes.h:
  30005. (WebCore::RadialGradientAttributes::RadialGradientAttributes):
  30006. (WebCore::RadialGradientAttributes::cx):
  30007. (WebCore::RadialGradientAttributes::cy):
  30008. (WebCore::RadialGradientAttributes::r):
  30009. (WebCore::RadialGradientAttributes::fx):
  30010. (WebCore::RadialGradientAttributes::fy):
  30011. (WebCore::RadialGradientAttributes::setCx):
  30012. (WebCore::RadialGradientAttributes::setCy):
  30013. (WebCore::RadialGradientAttributes::setR):
  30014. (WebCore::RadialGradientAttributes::setFx):
  30015. (WebCore::RadialGradientAttributes::setFy):
  30016. (WebCore::RadialGradientAttributes::hasCx):
  30017. (WebCore::RadialGradientAttributes::hasCy):
  30018. (WebCore::RadialGradientAttributes::hasR):
  30019. (WebCore::RadialGradientAttributes::hasFx):
  30020. (WebCore::RadialGradientAttributes::hasFy):
  30021. * svg/SVGAngle.cpp:
  30022. * svg/SVGAnimateColorElement.h:
  30023. * svg/SVGAnimateElement.cpp:
  30024. (WebCore::SVGAnimateElement::calculateAnimatedValue):
  30025. (WebCore::SVGAnimateElement::calculateDistance):
  30026. * svg/SVGAnimateElement.h:
  30027. * svg/SVGAnimateMotionElement.cpp:
  30028. * svg/SVGAnimateMotionElement.h:
  30029. * svg/SVGAnimatedNumber.h:
  30030. * svg/SVGAnimationElement.cpp:
  30031. (WebCore::parseKeyTimes):
  30032. (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
  30033. (WebCore::SVGAnimationElement::updateAnimation):
  30034. * svg/SVGClipPathElement.cpp:
  30035. (WebCore::SVGClipPathElement::svgAttributeChanged):
  30036. * svg/SVGColor.h:
  30037. (WebCore::SVGColor::create):
  30038. (WebCore::SVGColor::createCurrentColor):
  30039. (WebCore::SVGColor::colorType):
  30040. (WebCore::SVGColor::setRGBColor):
  30041. (WebCore::SVGColor::color):
  30042. (WebCore::SVGColor::isSVGColor):
  30043. * svg/SVGCursorElement.cpp:
  30044. (WebCore::SVGCursorElement::svgAttributeChanged):
  30045. * svg/SVGCursorElement.h:
  30046. * svg/SVGDescElement.h:
  30047. (WebCore::SVGDescElement::rendererIsNeeded):
  30048. * svg/SVGDocument.cpp:
  30049. * svg/SVGDocument.h:
  30050. (WebCore::SVGDocument::create):
  30051. (WebCore::SVGDocument::isSVGDocument):
  30052. * svg/SVGElement.h:
  30053. (WebCore::SVGElement::isStyled):
  30054. (WebCore::SVGElement::isStyledTransformable):
  30055. (WebCore::SVGElement::isStyledLocatable):
  30056. (WebCore::SVGElement::isSVG):
  30057. (WebCore::SVGElement::isFilterEffect):
  30058. (WebCore::SVGElement::isGradientStop):
  30059. (WebCore::SVGElement::isTextContent):
  30060. (WebCore::SVGElement::isValid):
  30061. (WebCore::SVGElement::svgAttributeChanged):
  30062. (WebCore::SVGElement::synchronizeProperty):
  30063. (WebCore::SVGElement::supplementalTransform):
  30064. (WebCore::SVGElement::invalidateSVGAttributes):
  30065. (WebCore::SVGElement::rendererIsNeeded):
  30066. (WebCore::SVGElement::needsPendingResourceHandling):
  30067. (WebCore::SVGElement::buildPendingResource):
  30068. * svg/SVGElementInstance.h:
  30069. (WebCore::SVGElementInstance::create):
  30070. (WebCore::SVGElementInstance::correspondingElement):
  30071. (WebCore::SVGElementInstance::correspondingUseElement):
  30072. (WebCore::SVGElementInstance::shadowTreeElement):
  30073. (WebCore::SVGElementInstance::parentNode):
  30074. (WebCore::SVGElementInstance::previousSibling):
  30075. (WebCore::SVGElementInstance::nextSibling):
  30076. (WebCore::SVGElementInstance::firstChild):
  30077. (WebCore::SVGElementInstance::lastChild):
  30078. (WebCore::SVGElementInstance::ownerDocument):
  30079. (WebCore::SVGElementInstance::toNode):
  30080. (WebCore::SVGElementInstance::toSVGElementInstance):
  30081. (WebCore::SVGElementInstance::hasChildNodes):
  30082. (WebCore::SVGElementInstance::setFirstChild):
  30083. (WebCore::SVGElementInstance::setLastChild):
  30084. (WebCore::SVGElementInstance::setNextSibling):
  30085. (WebCore::SVGElementInstance::setPreviousSibling):
  30086. (WebCore::SVGElementInstance::refEventTarget):
  30087. (WebCore::SVGElementInstance::derefEventTarget):
  30088. * svg/SVGElementInstanceList.h:
  30089. (WebCore::SVGElementInstanceList::create):
  30090. * svg/SVGException.h:
  30091. (WebCore::SVGException::create):
  30092. (WebCore::SVGException::SVGException):
  30093. * svg/SVGFEColorMatrixElement.cpp:
  30094. (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
  30095. * svg/SVGFEComponentTransferElement.cpp:
  30096. (WebCore::SVGFEComponentTransferElement::build):
  30097. * svg/SVGFEDiffuseLightingElement.cpp:
  30098. (WebCore::SVGFEDiffuseLightingElement::findLights):
  30099. * svg/SVGFont.cpp:
  30100. (WebCore::convertEmUnitToPixel):
  30101. * svg/SVGUseElement.cpp:
  30102. (WebCore::isDirectReference):
  30103. 2010-12-22 Dai Mikurube <dmikurube@google.com>
  30104. Reviewed by Kent Tamura.
  30105. https://bugs.webkit.org/show_bug.cgi?id=51289
  30106. Initial state of checkValidity() and :invalid are incorrect with <select required>
  30107. * html/HTMLSelectElement.cpp:
  30108. (WebCore::HTMLSelectElement::childrenChanged): setNeedsValidityCheck() after <select>'s children change.
  30109. 2010-12-22 Alexander Pavlov <apavlov@chromium.org>
  30110. Reviewed by Joseph Pecoraro.
  30111. Web Inspector: Styles pane fails to display properties from a broken CSS rule correctly
  30112. https://bugs.webkit.org/show_bug.cgi?id=51405
  30113. Invoke markPropertyStart() after the parser has restored after an error.
  30114. * css/CSSGrammar.y:
  30115. 2010-12-22 Dai Mikurube <dmikurube@google.com>
  30116. Reviewed by Kent Tamura.
  30117. Assertion failure with <select multiple required>
  30118. https://bugs.webkit.org/show_bug.cgi?id=51260
  30119. Test: fast/css/pseudo-valid-select-click.html
  30120. * dom/SelectElement.cpp: updateValidity() after selecting some options of ListBox-typed <select> elements to update valid() cache.
  30121. (WebCore::SelectElement::updateListBoxSelection):
  30122. 2010-12-21 Darin Adler <darin@apple.com>
  30123. Unreviewed correction to unreviewed build fix for r74447.
  30124. Inappropriate code was left behind in sourceURI function for non-Dashboard platforms.
  30125. * html/HTMLImageLoader.cpp:
  30126. (WebCore::HTMLImageLoader::sourceURI): Change the logic so all the bug-workaround
  30127. logic is inside the #ifdef.
  30128. 2010-12-21 Simon Fraser <simon.fraser@apple.com>
  30129. Reviewed by Darin Adler.
  30130. Include the shadow color space as part of the GraphicsContext state
  30131. https://bugs.webkit.org/show_bug.cgi?id=51420
  30132. Include the ColorSpace for the shadow color as part of the graphics
  30133. state. This will be used later for a shadow implementation that
  30134. does not rely on platform shadow code.
  30135. * platform/graphics/GraphicsContext.cpp:
  30136. (WebCore::GraphicsContext::setShadow):
  30137. (WebCore::GraphicsContext::clearShadow):
  30138. (WebCore::GraphicsContext::getShadow):
  30139. * platform/graphics/GraphicsContext.h:
  30140. (WebCore::GraphicsContextState::GraphicsContextState):
  30141. * platform/graphics/chromium/FontChromiumWin.cpp:
  30142. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
  30143. (WebCore::Font::drawComplexText):
  30144. * platform/graphics/mac/FontMac.mm:
  30145. (WebCore::Font::drawGlyphs):
  30146. * platform/graphics/skia/SkiaFontWin.cpp:
  30147. (WebCore::windowsCanHandleDrawTextShadow):
  30148. * platform/graphics/win/FontCGWin.cpp:
  30149. (WebCore::drawGDIGlyphs):
  30150. (WebCore::Font::drawGlyphs):
  30151. * platform/graphics/wince/GraphicsContextWinCE.cpp:
  30152. (WebCore::GraphicsContext::fillRoundedRect):
  30153. (WebCore::GraphicsContext::drawText):
  30154. 2010-12-21 Dan Bernstein <mitz@apple.com>
  30155. Reviewed by Sam Weinig.
  30156. <rdar://problem/8668230> REGRESSION (r71884): Returning alternate requests from willSendRequest can prevent other requests from ever being sent
  30157. https://bugs.webkit.org/show_bug.cgi?id=51413
  30158. 71884 was wrong in moving willSendRequest to ResourceLoader::start(). It’s wrong to do all the
  30159. scheduling, which is host-dependent, before calling willSendRequest, because the latter can
  30160. change the host.
  30161. * loader/NetscapePlugInStreamLoader.cpp:
  30162. (WebCore::NetscapePlugInStreamLoader::create): Check the return value from ResourceLoader::init()
  30163. and return 0 if it is false.
  30164. * loader/ResourceLoader.cpp:
  30165. (WebCore::ResourceLoader::init): Made this function return a boolean. Moved the call to willSendRequest()
  30166. from start() into here. Return false if willSendRequest() canceled the request.
  30167. (WebCore::ResourceLoader::start): Moved the call to willSendRequest() from here to init().
  30168. * loader/ResourceLoader.h:
  30169. * loader/SubresourceLoader.cpp:
  30170. (WebCore::SubresourceLoader::create): Check the return value from ResourceLoader::init()
  30171. and return 0 if it is false.
  30172. 2010-12-21 Benjamin Kalman <kalman@chromium.org>
  30173. Reviewed by Darin Adler.
  30174. Shift-End does not select to the end of the line
  30175. https://bugs.webkit.org/show_bug.cgi?id=50610
  30176. Let the VisiblePosition affinity for end of line selection to be set by
  30177. visibleEnd/visibleStart rather than using end/start and always using UPSTREAM.
  30178. Test: editing/selection/extend-to-line-boundary.html
  30179. * editing/SelectionController.cpp:
  30180. (WebCore::SelectionController::positionForPlatform): Use visibleStart/visibleEnd rather than
  30181. start/end.
  30182. (WebCore::SelectionController::modifyExtendingForward): Don't explicitly use UPSTREAM affinity.
  30183. 2010-12-21 Jan Erik Hanssen <jhanssen@sencha.com>
  30184. Reviewed by Simon Fraser.
  30185. matrix3d() must take the zoom factor into account
  30186. https://bugs.webkit.org/show_bug.cgi?id=51408
  30187. Test: transforms/3d/general/matrix-with-zoom-3d.html
  30188. * css/CSSStyleSelector.cpp:
  30189. (WebCore::CSSStyleSelector::createTransformOperations):
  30190. 2010-12-21 Adam Barth <abarth@webkit.org>
  30191. Reviewed by Darin Adler.
  30192. Move V8 to common implementation of window.open
  30193. https://bugs.webkit.org/show_bug.cgi?id=51385
  30194. I also changed some function names to match WebKit style. There's a
  30195. bunch of code we can remove in the generic bindings now. I'll do that
  30196. in the next patch.
  30197. * bindings/generic/BindingDOMWindow.h:
  30198. (WebCore::::open):
  30199. * bindings/generic/BindingFrame.h:
  30200. (WebCore::::navigateIfAllowed):
  30201. * bindings/generic/BindingSecurity.h:
  30202. (WebCore::::canAccessWindow):
  30203. (WebCore::::allowPopUp):
  30204. (WebCore::::shouldAllowNavigation):
  30205. * bindings/generic/GenericBinding.h:
  30206. (WebCore::completeURL):
  30207. * bindings/js/JSDOMBinding.cpp:
  30208. (WebCore::toLexicalFrame):
  30209. (WebCore::toDynamicFrame):
  30210. * bindings/js/specialization/JSBindingState.cpp:
  30211. (WebCore::::activeFrame):
  30212. (WebCore::::firstFrame):
  30213. * bindings/js/specialization/JSBindingState.h:
  30214. * bindings/v8/V8Utilities.cpp:
  30215. (WebCore::callingOrEnteredFrame):
  30216. * bindings/v8/custom/V8DOMWindowCustom.cpp:
  30217. (WebCore::V8DOMWindow::locationAccessorSetter):
  30218. (WebCore::V8DOMWindow::openCallback):
  30219. * bindings/v8/specialization/V8BindingState.cpp:
  30220. (WebCore::::activeWindow):
  30221. (WebCore::::firstWindow):
  30222. (WebCore::::activeFrame):
  30223. (WebCore::::firstFrame):
  30224. * bindings/v8/specialization/V8BindingState.h:
  30225. 2010-12-21 Ryosuke Niwa <rniwa@webkit.org>
  30226. Unreviewed build fix for r74447.
  30227. Call usesDashboardBackwardCompatibilityMode() only if DASHBOARD_SUPPORT is enabled.
  30228. * html/HTMLImageLoader.cpp:
  30229. (WebCore::HTMLImageLoader::sourceURI):
  30230. 2010-12-21 Dan Bernstein <mitz@apple.com>
  30231. Reviewed by John Sullivan.
  30232. <rdar://problem/8725702> REGRESSION (r68854): Broken image icon seen in the Address Book Dashboard widget
  30233. Test: platform/mac/fast/dom/HTMLImageElement/dashboard-src-quirk.html
  30234. The Address Book widget sets the src attribute of an img element to a string that looks like a CSS
  30235. URL value. This used to work prior to r68854, because some DOM attribute parsing functions were using
  30236. the wrong function to parse URL attributes (last named deprecatedParseURL).
  30237. * html/HTMLImageLoader.cpp:
  30238. (WebCore::HTMLImageLoader::sourceURI): In Dashboard, check if the src attribute begins with 'url("'
  30239. and ends with '")', and if so, strip those away.
  30240. 2010-12-21 Ryosuke Niwa <rniwa@webkit.org>
  30241. Reviewed by Darin Adler.
  30242. CharacterData needs cleanup
  30243. https://bugs.webkit.org/show_bug.cgi?id=51426
  30244. Extracted CharacterData::setDataAndNotify and CharacterData::updateRenderer.
  30245. * dom/CharacterData.cpp:
  30246. (WebCore::CharacterData::setData): Calls setDataAndUpdate.
  30247. (WebCore::CharacterData::parserAppendData): Ditto.
  30248. (WebCore::CharacterData::appendData): Ditto.
  30249. (WebCore::CharacterData::insertData): Ditto.
  30250. (WebCore::CharacterData::deleteData): Ditto.
  30251. (WebCore::CharacterData::replaceData): Ditto.
  30252. (WebCore::CharacterData::setDataAndUpdate): Added.
  30253. (WebCore::CharacterData::updateRenderer): Added.
  30254. (WebCore::CharacterData::dispatchModifiedEvent): Renamed prevValue to oldData.
  30255. * dom/CharacterData.h:
  30256. 2010-12-21 Sheriff Bot <webkit.review.bot@gmail.com>
  30257. Unreviewed, rolling out r74420.
  30258. http://trac.webkit.org/changeset/74420
  30259. https://bugs.webkit.org/show_bug.cgi?id=51436
  30260. causes editing/pasteboard/paste-noscript-xhtml.xhtml to crash
  30261. (Requested by tonyg-cr on #webkit).
  30262. * dom/DocumentParser.cpp:
  30263. * dom/DocumentParser.h:
  30264. * html/parser/HTMLDocumentParser.cpp:
  30265. * html/parser/HTMLDocumentParser.h:
  30266. * html/parser/HTMLParserScheduler.cpp:
  30267. (WebCore::HTMLParserScheduler::HTMLParserScheduler):
  30268. * html/parser/HTMLParserScheduler.h:
  30269. (WebCore::HTMLParserScheduler::isScheduledForResume):
  30270. * page/PageGroupLoadDeferrer.cpp:
  30271. (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
  30272. (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
  30273. 2010-12-21 Kenneth Russell <kbr@google.com>
  30274. Reviewed by Darin Fisher.
  30275. Enable extensions used in accelerated 2D canvas implementation
  30276. https://bugs.webkit.org/show_bug.cgi?id=51433
  30277. Call Extensions3D::ensureEnabled() for all supported extensions
  30278. the accelerated 2D Canvas implementation uses. Tested with a few
  30279. layout tests previously failing when run in Chromium due to OpenGL
  30280. INVALID_ENUM and other errors.
  30281. * platform/graphics/gpu/DrawingBuffer.cpp:
  30282. (WebCore::DrawingBuffer::create):
  30283. * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
  30284. (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
  30285. (WebCore::SharedGraphicsContext3D::supportsBGRA):
  30286. * platform/graphics/gpu/SharedGraphicsContext3D.h:
  30287. 2010-12-21 Zhenyao Mo <zmo@google.com>
  30288. Reviewed by Kenneth Russell.
  30289. WebGLRenderingContext needs to zero textures and renderbuffers
  30290. https://bugs.webkit.org/show_bug.cgi?id=49355
  30291. Test: fast/canvas/webgl/uninitialized-test.html
  30292. * html/canvas/WebGLFramebuffer.cpp:
  30293. (WebCore::WebGLFramebuffer::onAccess): Use a parameter to decide if renderbuffer initialization is needed.
  30294. (WebCore::WebGLFramebuffer::initializeRenderbuffers): Don't return false if color buffer doesn't exist.
  30295. * html/canvas/WebGLFramebuffer.h: Modify onAccess with an added parameter.
  30296. * html/canvas/WebGLRenderingContext.cpp:
  30297. (WebCore::WebGLRenderingContext::clear): Call onAccess with an added parameter.
  30298. (WebCore::WebGLRenderingContext::copyTexImage2D): Ditto.
  30299. (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
  30300. (WebCore::WebGLRenderingContext::drawArrays): Ditto.
  30301. (WebCore::WebGLRenderingContext::drawElements): Ditto.
  30302. (WebCore::WebGLRenderingContext::readPixels): Ditto.
  30303. (WebCore::WebGLRenderingContext::texImage2DBase): Create buffer data of 0s if input is null to initialize textures.
  30304. * platform/graphics/GraphicsContext3D.cpp:
  30305. (WebCore::GraphicsContext3D::texImage2DResourceSafe): Helper function that initialize all pixels to 0.
  30306. * platform/graphics/GraphicsContext3D.h:
  30307. * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
  30308. (WebCore::Canvas2DLayerChromium::updateContentsIfDirty): Use texImage2DResourceSafe.
  30309. * platform/graphics/chromium/DrawingBufferChromium.cpp:
  30310. (WebCore::generateColorTexture): Ditto.
  30311. * platform/graphics/chromium/LayerRendererChromium.cpp:
  30312. (WebCore::LayerRendererChromium::prepareToDrawLayers): Ditto.
  30313. * platform/graphics/chromium/TextureManager.cpp:
  30314. (WebCore::TextureManager::requestTexture): Ditto.
  30315. * platform/graphics/chromium/VideoLayerChromium.cpp:
  30316. (WebCore::VideoLayerChromium::allocateTexture): Ditto.
  30317. * platform/graphics/gpu/DrawingBuffer.cpp:
  30318. (WebCore::DrawingBuffer::reset): Use texImage2DResourceSafe; also, only initialize depth/stencil buffer.
  30319. * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
  30320. (WebCore::SharedGraphicsContext3D::texImage2D): Use texImage2DResourceSafe.
  30321. * platform/graphics/gpu/Texture.cpp:
  30322. (WebCore::Texture::create): Ditto.
  30323. * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
  30324. (WebCore::GraphicsContext3D::texImage2D): Generate an INVALID_VALUE if pixels==null is passed in.
  30325. 2010-12-21 Chris Rogers <crogers@google.com>
  30326. Reviewed by Kenneth Russell.
  30327. Add AudioBusChromium for decoding audio file data
  30328. https://bugs.webkit.org/show_bug.cgi?id=51430
  30329. No new tests since audio API is not yet implemented.
  30330. * platform/audio/chromium: Added.
  30331. * platform/audio/chromium/AudioBusChromium.cpp: Added.
  30332. (WebCore::createBusFromInMemoryAudioFile):
  30333. 2010-12-21 Chris Rogers <crogers@google.com>
  30334. Reviewed by Kenneth Russell.
  30335. Add web audio spatialization resource files
  30336. https://bugs.webkit.org/show_bug.cgi?id=50998
  30337. No new tests since audio API is not yet implemented.
  30338. * platform/audio/HRTFElevation.cpp:
  30339. (WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
  30340. * platform/audio/mac/AudioBusMac.mm:
  30341. (WebCore::AudioBus::loadPlatformResource):
  30342. * platform/audio/resources: Added.
  30343. * platform/audio/resources/IRC_Composite_C_R0195_T000_P000.wav: Added.
  30344. * platform/audio/resources/IRC_Composite_C_R0195_T000_P015.wav: Added.
  30345. * platform/audio/resources/IRC_Composite_C_R0195_T000_P030.wav: Added.
  30346. * platform/audio/resources/IRC_Composite_C_R0195_T000_P045.wav: Added.
  30347. * platform/audio/resources/IRC_Composite_C_R0195_T000_P060.wav: Added.
  30348. * platform/audio/resources/IRC_Composite_C_R0195_T000_P075.wav: Added.
  30349. * platform/audio/resources/IRC_Composite_C_R0195_T000_P090.wav: Added.
  30350. * platform/audio/resources/IRC_Composite_C_R0195_T000_P315.wav: Added.
  30351. * platform/audio/resources/IRC_Composite_C_R0195_T000_P330.wav: Added.
  30352. * platform/audio/resources/IRC_Composite_C_R0195_T000_P345.wav: Added.
  30353. * platform/audio/resources/IRC_Composite_C_R0195_T015_P000.wav: Added.
  30354. * platform/audio/resources/IRC_Composite_C_R0195_T015_P015.wav: Added.
  30355. * platform/audio/resources/IRC_Composite_C_R0195_T015_P030.wav: Added.
  30356. * platform/audio/resources/IRC_Composite_C_R0195_T015_P045.wav: Added.
  30357. * platform/audio/resources/IRC_Composite_C_R0195_T015_P060.wav: Added.
  30358. * platform/audio/resources/IRC_Composite_C_R0195_T015_P075.wav: Added.
  30359. * platform/audio/resources/IRC_Composite_C_R0195_T015_P090.wav: Added.
  30360. * platform/audio/resources/IRC_Composite_C_R0195_T015_P315.wav: Added.
  30361. * platform/audio/resources/IRC_Composite_C_R0195_T015_P330.wav: Added.
  30362. * platform/audio/resources/IRC_Composite_C_R0195_T015_P345.wav: Added.
  30363. * platform/audio/resources/IRC_Composite_C_R0195_T030_P000.wav: Added.
  30364. * platform/audio/resources/IRC_Composite_C_R0195_T030_P015.wav: Added.
  30365. * platform/audio/resources/IRC_Composite_C_R0195_T030_P030.wav: Added.
  30366. * platform/audio/resources/IRC_Composite_C_R0195_T030_P045.wav: Added.
  30367. * platform/audio/resources/IRC_Composite_C_R0195_T030_P060.wav: Added.
  30368. * platform/audio/resources/IRC_Composite_C_R0195_T030_P075.wav: Added.
  30369. * platform/audio/resources/IRC_Composite_C_R0195_T030_P090.wav: Added.
  30370. * platform/audio/resources/IRC_Composite_C_R0195_T030_P315.wav: Added.
  30371. * platform/audio/resources/IRC_Composite_C_R0195_T030_P330.wav: Added.
  30372. * platform/audio/resources/IRC_Composite_C_R0195_T030_P345.wav: Added.
  30373. * platform/audio/resources/IRC_Composite_C_R0195_T045_P000.wav: Added.
  30374. * platform/audio/resources/IRC_Composite_C_R0195_T045_P015.wav: Added.
  30375. * platform/audio/resources/IRC_Composite_C_R0195_T045_P030.wav: Added.
  30376. * platform/audio/resources/IRC_Composite_C_R0195_T045_P045.wav: Added.
  30377. * platform/audio/resources/IRC_Composite_C_R0195_T045_P060.wav: Added.
  30378. * platform/audio/resources/IRC_Composite_C_R0195_T045_P075.wav: Added.
  30379. * platform/audio/resources/IRC_Composite_C_R0195_T045_P090.wav: Added.
  30380. * platform/audio/resources/IRC_Composite_C_R0195_T045_P315.wav: Added.
  30381. * platform/audio/resources/IRC_Composite_C_R0195_T045_P330.wav: Added.
  30382. * platform/audio/resources/IRC_Composite_C_R0195_T045_P345.wav: Added.
  30383. * platform/audio/resources/IRC_Composite_C_R0195_T060_P000.wav: Added.
  30384. * platform/audio/resources/IRC_Composite_C_R0195_T060_P015.wav: Added.
  30385. * platform/audio/resources/IRC_Composite_C_R0195_T060_P030.wav: Added.
  30386. * platform/audio/resources/IRC_Composite_C_R0195_T060_P045.wav: Added.
  30387. * platform/audio/resources/IRC_Composite_C_R0195_T060_P060.wav: Added.
  30388. * platform/audio/resources/IRC_Composite_C_R0195_T060_P075.wav: Added.
  30389. * platform/audio/resources/IRC_Composite_C_R0195_T060_P090.wav: Added.
  30390. * platform/audio/resources/IRC_Composite_C_R0195_T060_P315.wav: Added.
  30391. * platform/audio/resources/IRC_Composite_C_R0195_T060_P330.wav: Added.
  30392. * platform/audio/resources/IRC_Composite_C_R0195_T060_P345.wav: Added.
  30393. * platform/audio/resources/IRC_Composite_C_R0195_T075_P000.wav: Added.
  30394. * platform/audio/resources/IRC_Composite_C_R0195_T075_P015.wav: Added.
  30395. * platform/audio/resources/IRC_Composite_C_R0195_T075_P030.wav: Added.
  30396. * platform/audio/resources/IRC_Composite_C_R0195_T075_P045.wav: Added.
  30397. * platform/audio/resources/IRC_Composite_C_R0195_T075_P060.wav: Added.
  30398. * platform/audio/resources/IRC_Composite_C_R0195_T075_P075.wav: Added.
  30399. * platform/audio/resources/IRC_Composite_C_R0195_T075_P090.wav: Added.
  30400. * platform/audio/resources/IRC_Composite_C_R0195_T075_P315.wav: Added.
  30401. * platform/audio/resources/IRC_Composite_C_R0195_T075_P330.wav: Added.
  30402. * platform/audio/resources/IRC_Composite_C_R0195_T075_P345.wav: Added.
  30403. * platform/audio/resources/IRC_Composite_C_R0195_T090_P000.wav: Added.
  30404. * platform/audio/resources/IRC_Composite_C_R0195_T090_P015.wav: Added.
  30405. * platform/audio/resources/IRC_Composite_C_R0195_T090_P030.wav: Added.
  30406. * platform/audio/resources/IRC_Composite_C_R0195_T090_P045.wav: Added.
  30407. * platform/audio/resources/IRC_Composite_C_R0195_T090_P060.wav: Added.
  30408. * platform/audio/resources/IRC_Composite_C_R0195_T090_P075.wav: Added.
  30409. * platform/audio/resources/IRC_Composite_C_R0195_T090_P090.wav: Added.
  30410. * platform/audio/resources/IRC_Composite_C_R0195_T090_P315.wav: Added.
  30411. * platform/audio/resources/IRC_Composite_C_R0195_T090_P330.wav: Added.
  30412. * platform/audio/resources/IRC_Composite_C_R0195_T090_P345.wav: Added.
  30413. * platform/audio/resources/IRC_Composite_C_R0195_T105_P000.wav: Added.
  30414. * platform/audio/resources/IRC_Composite_C_R0195_T105_P015.wav: Added.
  30415. * platform/audio/resources/IRC_Composite_C_R0195_T105_P030.wav: Added.
  30416. * platform/audio/resources/IRC_Composite_C_R0195_T105_P045.wav: Added.
  30417. * platform/audio/resources/IRC_Composite_C_R0195_T105_P060.wav: Added.
  30418. * platform/audio/resources/IRC_Composite_C_R0195_T105_P075.wav: Added.
  30419. * platform/audio/resources/IRC_Composite_C_R0195_T105_P090.wav: Added.
  30420. * platform/audio/resources/IRC_Composite_C_R0195_T105_P315.wav: Added.
  30421. * platform/audio/resources/IRC_Composite_C_R0195_T105_P330.wav: Added.
  30422. * platform/audio/resources/IRC_Composite_C_R0195_T105_P345.wav: Added.
  30423. * platform/audio/resources/IRC_Composite_C_R0195_T120_P000.wav: Added.
  30424. * platform/audio/resources/IRC_Composite_C_R0195_T120_P015.wav: Added.
  30425. * platform/audio/resources/IRC_Composite_C_R0195_T120_P030.wav: Added.
  30426. * platform/audio/resources/IRC_Composite_C_R0195_T120_P045.wav: Added.
  30427. * platform/audio/resources/IRC_Composite_C_R0195_T120_P060.wav: Added.
  30428. * platform/audio/resources/IRC_Composite_C_R0195_T120_P075.wav: Added.
  30429. * platform/audio/resources/IRC_Composite_C_R0195_T120_P090.wav: Added.
  30430. * platform/audio/resources/IRC_Composite_C_R0195_T120_P315.wav: Added.
  30431. * platform/audio/resources/IRC_Composite_C_R0195_T120_P330.wav: Added.
  30432. * platform/audio/resources/IRC_Composite_C_R0195_T120_P345.wav: Added.
  30433. * platform/audio/resources/IRC_Composite_C_R0195_T135_P000.wav: Added.
  30434. * platform/audio/resources/IRC_Composite_C_R0195_T135_P015.wav: Added.
  30435. * platform/audio/resources/IRC_Composite_C_R0195_T135_P030.wav: Added.
  30436. * platform/audio/resources/IRC_Composite_C_R0195_T135_P045.wav: Added.
  30437. * platform/audio/resources/IRC_Composite_C_R0195_T135_P060.wav: Added.
  30438. * platform/audio/resources/IRC_Composite_C_R0195_T135_P075.wav: Added.
  30439. * platform/audio/resources/IRC_Composite_C_R0195_T135_P090.wav: Added.
  30440. * platform/audio/resources/IRC_Composite_C_R0195_T135_P315.wav: Added.
  30441. * platform/audio/resources/IRC_Composite_C_R0195_T135_P330.wav: Added.
  30442. * platform/audio/resources/IRC_Composite_C_R0195_T135_P345.wav: Added.
  30443. * platform/audio/resources/IRC_Composite_C_R0195_T150_P000.wav: Added.
  30444. * platform/audio/resources/IRC_Composite_C_R0195_T150_P015.wav: Added.
  30445. * platform/audio/resources/IRC_Composite_C_R0195_T150_P030.wav: Added.
  30446. * platform/audio/resources/IRC_Composite_C_R0195_T150_P045.wav: Added.
  30447. * platform/audio/resources/IRC_Composite_C_R0195_T150_P060.wav: Added.
  30448. * platform/audio/resources/IRC_Composite_C_R0195_T150_P075.wav: Added.
  30449. * platform/audio/resources/IRC_Composite_C_R0195_T150_P090.wav: Added.
  30450. * platform/audio/resources/IRC_Composite_C_R0195_T150_P315.wav: Added.
  30451. * platform/audio/resources/IRC_Composite_C_R0195_T150_P330.wav: Added.
  30452. * platform/audio/resources/IRC_Composite_C_R0195_T150_P345.wav: Added.
  30453. * platform/audio/resources/IRC_Composite_C_R0195_T165_P000.wav: Added.
  30454. * platform/audio/resources/IRC_Composite_C_R0195_T165_P015.wav: Added.
  30455. * platform/audio/resources/IRC_Composite_C_R0195_T165_P030.wav: Added.
  30456. * platform/audio/resources/IRC_Composite_C_R0195_T165_P045.wav: Added.
  30457. * platform/audio/resources/IRC_Composite_C_R0195_T165_P060.wav: Added.
  30458. * platform/audio/resources/IRC_Composite_C_R0195_T165_P075.wav: Added.
  30459. * platform/audio/resources/IRC_Composite_C_R0195_T165_P090.wav: Added.
  30460. * platform/audio/resources/IRC_Composite_C_R0195_T165_P315.wav: Added.
  30461. * platform/audio/resources/IRC_Composite_C_R0195_T165_P330.wav: Added.
  30462. * platform/audio/resources/IRC_Composite_C_R0195_T165_P345.wav: Added.
  30463. * platform/audio/resources/IRC_Composite_C_R0195_T180_P000.wav: Added.
  30464. * platform/audio/resources/IRC_Composite_C_R0195_T180_P015.wav: Added.
  30465. * platform/audio/resources/IRC_Composite_C_R0195_T180_P030.wav: Added.
  30466. * platform/audio/resources/IRC_Composite_C_R0195_T180_P045.wav: Added.
  30467. * platform/audio/resources/IRC_Composite_C_R0195_T180_P060.wav: Added.
  30468. * platform/audio/resources/IRC_Composite_C_R0195_T180_P075.wav: Added.
  30469. * platform/audio/resources/IRC_Composite_C_R0195_T180_P090.wav: Added.
  30470. * platform/audio/resources/IRC_Composite_C_R0195_T180_P315.wav: Added.
  30471. * platform/audio/resources/IRC_Composite_C_R0195_T180_P330.wav: Added.
  30472. * platform/audio/resources/IRC_Composite_C_R0195_T180_P345.wav: Added.
  30473. * platform/audio/resources/IRC_Composite_C_R0195_T195_P000.wav: Added.
  30474. * platform/audio/resources/IRC_Composite_C_R0195_T195_P015.wav: Added.
  30475. * platform/audio/resources/IRC_Composite_C_R0195_T195_P030.wav: Added.
  30476. * platform/audio/resources/IRC_Composite_C_R0195_T195_P045.wav: Added.
  30477. * platform/audio/resources/IRC_Composite_C_R0195_T195_P060.wav: Added.
  30478. * platform/audio/resources/IRC_Composite_C_R0195_T195_P075.wav: Added.
  30479. * platform/audio/resources/IRC_Composite_C_R0195_T195_P090.wav: Added.
  30480. * platform/audio/resources/IRC_Composite_C_R0195_T195_P315.wav: Added.
  30481. * platform/audio/resources/IRC_Composite_C_R0195_T195_P330.wav: Added.
  30482. * platform/audio/resources/IRC_Composite_C_R0195_T195_P345.wav: Added.
  30483. * platform/audio/resources/IRC_Composite_C_R0195_T210_P000.wav: Added.
  30484. * platform/audio/resources/IRC_Composite_C_R0195_T210_P015.wav: Added.
  30485. * platform/audio/resources/IRC_Composite_C_R0195_T210_P030.wav: Added.
  30486. * platform/audio/resources/IRC_Composite_C_R0195_T210_P045.wav: Added.
  30487. * platform/audio/resources/IRC_Composite_C_R0195_T210_P060.wav: Added.
  30488. * platform/audio/resources/IRC_Composite_C_R0195_T210_P075.wav: Added.
  30489. * platform/audio/resources/IRC_Composite_C_R0195_T210_P090.wav: Added.
  30490. * platform/audio/resources/IRC_Composite_C_R0195_T210_P315.wav: Added.
  30491. * platform/audio/resources/IRC_Composite_C_R0195_T210_P330.wav: Added.
  30492. * platform/audio/resources/IRC_Composite_C_R0195_T210_P345.wav: Added.
  30493. * platform/audio/resources/IRC_Composite_C_R0195_T225_P000.wav: Added.
  30494. * platform/audio/resources/IRC_Composite_C_R0195_T225_P015.wav: Added.
  30495. * platform/audio/resources/IRC_Composite_C_R0195_T225_P030.wav: Added.
  30496. * platform/audio/resources/IRC_Composite_C_R0195_T225_P045.wav: Added.
  30497. * platform/audio/resources/IRC_Composite_C_R0195_T225_P060.wav: Added.
  30498. * platform/audio/resources/IRC_Composite_C_R0195_T225_P075.wav: Added.
  30499. * platform/audio/resources/IRC_Composite_C_R0195_T225_P090.wav: Added.
  30500. * platform/audio/resources/IRC_Composite_C_R0195_T225_P315.wav: Added.
  30501. * platform/audio/resources/IRC_Composite_C_R0195_T225_P330.wav: Added.
  30502. * platform/audio/resources/IRC_Composite_C_R0195_T225_P345.wav: Added.
  30503. * platform/audio/resources/IRC_Composite_C_R0195_T240_P000.wav: Added.
  30504. * platform/audio/resources/IRC_Composite_C_R0195_T240_P015.wav: Added.
  30505. * platform/audio/resources/IRC_Composite_C_R0195_T240_P030.wav: Added.
  30506. * platform/audio/resources/IRC_Composite_C_R0195_T240_P045.wav: Added.
  30507. * platform/audio/resources/IRC_Composite_C_R0195_T240_P060.wav: Added.
  30508. * platform/audio/resources/IRC_Composite_C_R0195_T240_P075.wav: Added.
  30509. * platform/audio/resources/IRC_Composite_C_R0195_T240_P090.wav: Added.
  30510. * platform/audio/resources/IRC_Composite_C_R0195_T240_P315.wav: Added.
  30511. * platform/audio/resources/IRC_Composite_C_R0195_T240_P330.wav: Added.
  30512. * platform/audio/resources/IRC_Composite_C_R0195_T240_P345.wav: Added.
  30513. * platform/audio/resources/IRC_Composite_C_R0195_T255_P000.wav: Added.
  30514. * platform/audio/resources/IRC_Composite_C_R0195_T255_P015.wav: Added.
  30515. * platform/audio/resources/IRC_Composite_C_R0195_T255_P030.wav: Added.
  30516. * platform/audio/resources/IRC_Composite_C_R0195_T255_P045.wav: Added.
  30517. * platform/audio/resources/IRC_Composite_C_R0195_T255_P060.wav: Added.
  30518. * platform/audio/resources/IRC_Composite_C_R0195_T255_P075.wav: Added.
  30519. * platform/audio/resources/IRC_Composite_C_R0195_T255_P090.wav: Added.
  30520. * platform/audio/resources/IRC_Composite_C_R0195_T255_P315.wav: Added.
  30521. * platform/audio/resources/IRC_Composite_C_R0195_T255_P330.wav: Added.
  30522. * platform/audio/resources/IRC_Composite_C_R0195_T255_P345.wav: Added.
  30523. * platform/audio/resources/IRC_Composite_C_R0195_T270_P000.wav: Added.
  30524. * platform/audio/resources/IRC_Composite_C_R0195_T270_P015.wav: Added.
  30525. * platform/audio/resources/IRC_Composite_C_R0195_T270_P030.wav: Added.
  30526. * platform/audio/resources/IRC_Composite_C_R0195_T270_P045.wav: Added.
  30527. * platform/audio/resources/IRC_Composite_C_R0195_T270_P060.wav: Added.
  30528. * platform/audio/resources/IRC_Composite_C_R0195_T270_P075.wav: Added.
  30529. * platform/audio/resources/IRC_Composite_C_R0195_T270_P090.wav: Added.
  30530. * platform/audio/resources/IRC_Composite_C_R0195_T270_P315.wav: Added.
  30531. * platform/audio/resources/IRC_Composite_C_R0195_T270_P330.wav: Added.
  30532. * platform/audio/resources/IRC_Composite_C_R0195_T270_P345.wav: Added.
  30533. * platform/audio/resources/IRC_Composite_C_R0195_T285_P000.wav: Added.
  30534. * platform/audio/resources/IRC_Composite_C_R0195_T285_P015.wav: Added.
  30535. * platform/audio/resources/IRC_Composite_C_R0195_T285_P030.wav: Added.
  30536. * platform/audio/resources/IRC_Composite_C_R0195_T285_P045.wav: Added.
  30537. * platform/audio/resources/IRC_Composite_C_R0195_T285_P060.wav: Added.
  30538. * platform/audio/resources/IRC_Composite_C_R0195_T285_P075.wav: Added.
  30539. * platform/audio/resources/IRC_Composite_C_R0195_T285_P090.wav: Added.
  30540. * platform/audio/resources/IRC_Composite_C_R0195_T285_P315.wav: Added.
  30541. * platform/audio/resources/IRC_Composite_C_R0195_T285_P330.wav: Added.
  30542. * platform/audio/resources/IRC_Composite_C_R0195_T285_P345.wav: Added.
  30543. * platform/audio/resources/IRC_Composite_C_R0195_T300_P000.wav: Added.
  30544. * platform/audio/resources/IRC_Composite_C_R0195_T300_P015.wav: Added.
  30545. * platform/audio/resources/IRC_Composite_C_R0195_T300_P030.wav: Added.
  30546. * platform/audio/resources/IRC_Composite_C_R0195_T300_P045.wav: Added.
  30547. * platform/audio/resources/IRC_Composite_C_R0195_T300_P060.wav: Added.
  30548. * platform/audio/resources/IRC_Composite_C_R0195_T300_P075.wav: Added.
  30549. * platform/audio/resources/IRC_Composite_C_R0195_T300_P090.wav: Added.
  30550. * platform/audio/resources/IRC_Composite_C_R0195_T300_P315.wav: Added.
  30551. * platform/audio/resources/IRC_Composite_C_R0195_T300_P330.wav: Added.
  30552. * platform/audio/resources/IRC_Composite_C_R0195_T300_P345.wav: Added.
  30553. * platform/audio/resources/IRC_Composite_C_R0195_T315_P000.wav: Added.
  30554. * platform/audio/resources/IRC_Composite_C_R0195_T315_P015.wav: Added.
  30555. * platform/audio/resources/IRC_Composite_C_R0195_T315_P030.wav: Added.
  30556. * platform/audio/resources/IRC_Composite_C_R0195_T315_P045.wav: Added.
  30557. * platform/audio/resources/IRC_Composite_C_R0195_T315_P060.wav: Added.
  30558. * platform/audio/resources/IRC_Composite_C_R0195_T315_P075.wav: Added.
  30559. * platform/audio/resources/IRC_Composite_C_R0195_T315_P090.wav: Added.
  30560. * platform/audio/resources/IRC_Composite_C_R0195_T315_P315.wav: Added.
  30561. * platform/audio/resources/IRC_Composite_C_R0195_T315_P330.wav: Added.
  30562. * platform/audio/resources/IRC_Composite_C_R0195_T315_P345.wav: Added.
  30563. * platform/audio/resources/IRC_Composite_C_R0195_T330_P000.wav: Added.
  30564. * platform/audio/resources/IRC_Composite_C_R0195_T330_P015.wav: Added.
  30565. * platform/audio/resources/IRC_Composite_C_R0195_T330_P030.wav: Added.
  30566. * platform/audio/resources/IRC_Composite_C_R0195_T330_P045.wav: Added.
  30567. * platform/audio/resources/IRC_Composite_C_R0195_T330_P060.wav: Added.
  30568. * platform/audio/resources/IRC_Composite_C_R0195_T330_P075.wav: Added.
  30569. * platform/audio/resources/IRC_Composite_C_R0195_T330_P090.wav: Added.
  30570. * platform/audio/resources/IRC_Composite_C_R0195_T330_P315.wav: Added.
  30571. * platform/audio/resources/IRC_Composite_C_R0195_T330_P330.wav: Added.
  30572. * platform/audio/resources/IRC_Composite_C_R0195_T330_P345.wav: Added.
  30573. * platform/audio/resources/IRC_Composite_C_R0195_T345_P000.wav: Added.
  30574. * platform/audio/resources/IRC_Composite_C_R0195_T345_P015.wav: Added.
  30575. * platform/audio/resources/IRC_Composite_C_R0195_T345_P030.wav: Added.
  30576. * platform/audio/resources/IRC_Composite_C_R0195_T345_P045.wav: Added.
  30577. * platform/audio/resources/IRC_Composite_C_R0195_T345_P060.wav: Added.
  30578. * platform/audio/resources/IRC_Composite_C_R0195_T345_P075.wav: Added.
  30579. * platform/audio/resources/IRC_Composite_C_R0195_T345_P090.wav: Added.
  30580. * platform/audio/resources/IRC_Composite_C_R0195_T345_P315.wav: Added.
  30581. * platform/audio/resources/IRC_Composite_C_R0195_T345_P330.wav: Added.
  30582. * platform/audio/resources/IRC_Composite_C_R0195_T345_P345.wav: Added.
  30583. 2010-12-21 Geoffrey Garen <ggaren@apple.com>
  30584. Reviewed by Gavin Barraclough & Oliver Hunt.
  30585. Added PageAllocationAligned, a cross-platform abstraction for memory allocations with arbitrary alignment requirements
  30586. https://bugs.webkit.org/show_bug.cgi?id=51359
  30587. * ForwardingHeaders/wtf/PageAllocationAligned.h: Added.
  30588. 2010-12-21 Ariya Hidayat <ariya@sencha.com>
  30589. Reviewed by Simon Fraser.
  30590. https://bugs.webkit.org/show_bug.cgi?id=49774
  30591. Need to scale translation values in matrix() by the zoom factor.
  30592. Test: fast/transforms/matrix-with-zoom.html
  30593. * css/CSSStyleSelector.cpp:
  30594. (WebCore::CSSStyleSelector::createTransformOperations):
  30595. 2010-12-21 Jian Li <jianli@chromium.org>
  30596. Reviewed by Darin Adler.
  30597. Fix bug 51366: REGRESSION (r66452): Form data no longer contains
  30598. 'Content-Type' header for files with unrecognized extensions
  30599. https://bugs.webkit.org/show_bug.cgi?id=51366
  30600. Test: http/tests/local/formdata/form-data-with-unknown-file-extension.html
  30601. * platform/network/FormData.cpp:
  30602. (WebCore::FormData::appendKeyValuePairItems):
  30603. 2010-12-21 Darin Adler <darin@apple.com>
  30604. Reviewed by Sam Weinig.
  30605. Mac WebKit delivers an extra didCommit when loading web archives
  30606. https://bugs.webkit.org/show_bug.cgi?id=51419
  30607. Could not find a simple way to test this in WebKit1, but in WebKit2
  30608. it leads to an immediate failure when loading a web archive. Tested
  30609. that making the Mac share the same code path with other platforms
  30610. works fine in WebKit1.
  30611. * loader/FrameLoader.cpp:
  30612. (WebCore::FrameLoader::finishedLoadingDocument): Removed special case for
  30613. the Mac platform. Also removed the call to isArchiveMimeType since we
  30614. get a 0 from ArchiveFactory::create in that case.
  30615. * loader/archive/ArchiveFactory.cpp:
  30616. (WebCore::ArchiveFactory::isArchiveMimeType): Hardened slightly by
  30617. adding a special case for null and empty strings, since hash tables can't
  30618. handle null strings.
  30619. (WebCore::ArchiveFactory::create): Ditto.
  30620. 2010-12-21 Yong Li <yoli@rim.com>
  30621. Reviewed by Adam Barth.
  30622. Suspend HTMLParserScheduler when page load is deferred to
  30623. avoid potential JS re-entrancy. Otherwise, when JS execution is triggered
  30624. from an external script or by events, and is blocked by a modal dialog,
  30625. WebKit can parse more HTML source and also start another JS execution.
  30626. https://bugs.webkit.org/show_bug.cgi?id=48077
  30627. Test case: WebCore/manual-tests/bugzilla-48077.html.
  30628. * dom/DocumentParser.cpp:
  30629. (WebCore::DocumentParser::suspendParsing):
  30630. (WebCore::DocumentParser::resumeParsing):
  30631. * dom/DocumentParser.h:
  30632. * html/parser/HTMLDocumentParser.cpp:
  30633. (WebCore::HTMLDocumentParser::suspendParsing):
  30634. (WebCore::HTMLDocumentParser::resumeParsing):
  30635. * html/parser/HTMLParserScheduler.cpp:
  30636. (WebCore::HTMLParserScheduler::HTMLParserScheduler):
  30637. (WebCore::HTMLParserScheduler::suspend):
  30638. (WebCore::HTMLParserScheduler::resume):
  30639. * html/parser/HTMLParserScheduler.h:
  30640. (WebCore::HTMLParserScheduler::isScheduledForResume):
  30641. * page/PageGroupLoadDeferrer.cpp:
  30642. (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
  30643. (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
  30644. 2010-12-21 Anders Carlsson <andersca@apple.com>
  30645. Reviewed by John Sullivan.
  30646. Clicking missing plug-in text does not show a sheet
  30647. https://bugs.webkit.org/show_bug.cgi?id=51403
  30648. * WebCore.exp.in:
  30649. Export symbols needed by WebKit2.
  30650. * WebCore.xcodeproj/project.pbxproj:
  30651. Make HTMLPlugInImageElement.h a private header.
  30652. * html/HTMLPlugInImageElement.h:
  30653. (WebCore::HTMLPlugInImageElement::serviceType):
  30654. (WebCore::HTMLPlugInImageElement::url):
  30655. Make these member functions public.
  30656. 2010-12-21 Andras Becsi <abecsi@webkit.org>
  30657. Unreviewed build fix.
  30658. [Qt] Fix the build with USE_GSTREAMER=1
  30659. No new tests needed.
  30660. * WebCore.pro: remove nonexisting DataSourceGStreamer sources.
  30661. 2010-12-21 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
  30662. Reviewed by Andreas Kling.
  30663. [Qt] QtWebKit doesn't build in debug on Windows
  30664. https://bugs.webkit.org/show_bug.cgi?id=41930
  30665. Disable incremental linking in windows 32bit debug version as webkit is so
  30666. big it fails to link incremental.
  30667. Build fix. No new test cases added.
  30668. * WebCore.pro:
  30669. 2010-12-21 Dominic Cooney <dominicc@google.com>
  30670. Reviewed by Adam Barth.
  30671. Rename Node::isShadowNode to isShadowRoot
  30672. https://bugs.webkit.org/show_bug.cgi?id=51060
  30673. The method gets whether the node is the root of a shadow tree;
  30674. renamed to reflect intent.
  30675. A simple rename--no new tests needed.
  30676. * css/CSSStyleSelector.cpp:
  30677. (WebCore::CSSStyleSelector::initForStyleResolve):
  30678. (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
  30679. * dom/Node.cpp:
  30680. (WebCore::Node::shadowTreeRootNode):
  30681. (WebCore::Node::isInShadowTree):
  30682. (WebCore::eventTargetRespectingSVGTargetRules):
  30683. (WebCore::Node::getEventAncestors):
  30684. * dom/Node.h:
  30685. (WebCore::Node::isShadowRoot):
  30686. * dom/Range.cpp:
  30687. (WebCore::Range::checkNodeBA):
  30688. * page/DragController.cpp:
  30689. (WebCore::asFileInput):
  30690. * page/EventHandler.cpp:
  30691. (WebCore::EventHandler::handleMousePressEvent):
  30692. (WebCore::EventHandler::dispatchMouseEvent):
  30693. * rendering/RenderBlock.cpp:
  30694. (WebCore::RenderBlock::hasLineIfEmpty):
  30695. * rendering/TextControlInnerElements.cpp:
  30696. (WebCore::TextControlInnerElement::attachInnerElement):
  30697. * svg/SVGStyledElement.cpp:
  30698. (WebCore::SVGStyledElement::title):
  30699. * svg/SVGUseElement.cpp:
  30700. (WebCore::ShadowTreeUpdateBlocker::while):
  30701. * svg/animation/SVGSMILElement.cpp:
  30702. (WebCore::SVGSMILElement::insertedIntoDocument):
  30703. 2010-12-20 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
  30704. Reviewed by Andreas Kling.
  30705. Qt port of geolocation, geoposition objects timestamp was in seconds
  30706. instead of miliseconds as per HTML5 Geolocation standards.
  30707. Ref: http://dev.w3.org/geo/api/spec-source.html#position_interface
  30708. http://www.w3.org/TR/DOM-Level-3-Core/core.html#Core-DOMTimeStamp
  30709. Implemented by Asheesh Srivastava.
  30710. [QT] QtWebkit geolocation's position.timestamp is not in miliseconds
  30711. https://bugs.webkit.org/show_bug.cgi?id=51100
  30712. Porting code not covered in layout testing. No new tests added.
  30713. * platform/qt/GeolocationServiceQt.cpp:
  30714. (WebCore::GeolocationServiceQt::positionUpdated):
  30715. 2010-12-20 Yuzo Fujishima <yuzo@google.com>
  30716. Reviewed by Eric Seidel.
  30717. Fix for Bug 26183 - [@font-face] font-family descriptor with multiple names should be discarded
  30718. https://bugs.webkit.org/show_bug.cgi?id=26183
  30719. Test: fast/css/font-face-font-family-descriptor.html
  30720. * css/CSSParser.cpp:
  30721. (WebCore::CSSParser::createFontFaceRule): Consider @font-face rule
  30722. invalid if its font-family descriptor has multiple (or zero) families.
  30723. 2010-12-20 Pavel Feldman <pfeldman@chromium.org>
  30724. Reviewed by Yury Semikhatsky.
  30725. Web Inspector: fall back to object formatting in case dom is not yet loaded.
  30726. https://bugs.webkit.org/show_bug.cgi?id=44273
  30727. Sometimes DOM is loaded after the inline message is being formatted, so we get
  30728. no nodeId for it. Let us fall back to object formatting in such cases.
  30729. * inspector/front-end/ConsoleView.js:
  30730. (WebInspector.ConsoleView.prototype._formatnode):
  30731. (WebInspector.ConsoleMessage):
  30732. 2010-12-20 Pavel Feldman <pfeldman@chromium.org>
  30733. Reviewed by Joseph Pecoraro.
  30734. Web Inspector: cycle through tag name / attributes / new attribute on Tab.
  30735. https://bugs.webkit.org/show_bug.cgi?id=38429
  30736. * inspector/front-end/ElementsTreeOutline.js:
  30737. (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded):
  30738. 2010-12-20 Yuta Kitamura <yutak@chromium.org>
  30739. Reviewed by Alexey Proskuryakov.
  30740. WebSocket errors should be logged to console
  30741. https://bugs.webkit.org/show_bug.cgi?id=40945
  30742. Test: http/tests/inspector/console-websocket-error.html
  30743. * platform/network/SocketStreamErrorBase.cpp:
  30744. (WebCore::SocketStreamErrorBase::compare):
  30745. * platform/network/SocketStreamErrorBase.h:
  30746. (WebCore::SocketStreamErrorBase::failingURL):
  30747. (WebCore::SocketStreamErrorBase::localizedDescription):
  30748. (WebCore::SocketStreamErrorBase::SocketStreamErrorBase):
  30749. * platform/network/cf/SocketStreamError.h:
  30750. (WebCore::SocketStreamError::SocketStreamError):
  30751. * platform/network/cf/SocketStreamHandle.h:
  30752. * platform/network/cf/SocketStreamHandleCFNet.cpp:
  30753. (WebCore::SocketStreamHandle::readStreamCallback):
  30754. (WebCore::SocketStreamHandle::writeStreamCallback):
  30755. (WebCore::SocketStreamHandle::reportErrorToClient):
  30756. * websockets/WebSocketChannel.cpp:
  30757. (WebCore::WebSocketChannel::didFail):
  30758. 2010-12-17 MORITA Hajime <morrita@google.com>
  30759. Reviewed by James Robinson.
  30760. https://bugs.webkit.org/show_bug.cgi?id=51240
  30761. [Chromium][Skia] Border with a color with alpha != 1 breaks webkit gradient on skia.
  30762. Even after a shader was set, old color value had been remaining and passed to Skia.
  30763. Then Skia refered an alpha component of that color to make pixels transparent.
  30764. This change invalidates existing color value when a shader is given,
  30765. which means the renderer will paint shapes with gradients or patterns.
  30766. Test: fast/gradients/gradient-after-transparent-border.html
  30767. * platform/graphics/skia/PlatformContextSkia.cpp:
  30768. (WebCore::PlatformContextSkia::setStrokeShader):
  30769. (WebCore::PlatformContextSkia::setFillShader):
  30770. 2010-12-20 Xiaomei Ji <xji@chromium.org>
  30771. Reviewed by Dan Bernstein.
  30772. Fix move left/right by character hang.
  30773. https://bugs.webkit.org/show_bug.cgi?id=51344
  30774. Test: editing/selection/51344.html
  30775. * editing/VisiblePosition.cpp:
  30776. (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
  30777. (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
  30778. 2010-12-20 Steve Lacey <sjl@chromium.org>
  30779. Reviewed by David Levin.
  30780. Add missing default styles in mediaControlsChromium.css to prevent
  30781. user overrides.
  30782. https://bugs.webkit.org/show_bug.cgi?id=51360
  30783. No new tests needed as functionality is covered by existing layout
  30784. tests.
  30785. * css/mediaControlsChromium.css:
  30786. (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
  30787. (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
  30788. 2010-12-20 Jian Li <jianli@chromium.org>
  30789. Reviewed by David Levin.
  30790. Add lastModifiedDate attribute to File interface per File API spec
  30791. https://bugs.webkit.org/show_bug.cgi?id=49895
  30792. lastModifiedDate is not supported for GObject bindings because Date is
  30793. not support in code generation.
  30794. Test: http/tests/local/fileapi/file-last-modified.html
  30795. * fileapi/File.cpp:
  30796. (WebCore::File::lastModifiedDate):
  30797. * fileapi/File.h:
  30798. * fileapi/File.idl:
  30799. 2010-12-20 Mark Rowe <mrowe@apple.com>
  30800. Reviewed by Dan Bernstein.
  30801. <rdar://problem/8757601> Don't install header files in to the Resources directory.
  30802. * WebCore.xcodeproj/project.pbxproj:
  30803. 2010-12-20 Andrei Popescu <andreip@google.com>
  30804. Reviewed by Jeremy Orlow.
  30805. [Chromium] v8/SerializedScriptValue::readUint32 treats incoming raw values as signed instead of unsigned
  30806. https://bugs.webkit.org/show_bug.cgi?id=51338
  30807. * bindings/v8/SerializedScriptValue.cpp:
  30808. (WebCore::ZigZag::Reader::readUint32):
  30809. 2010-12-20 Beth Dakin <bdakin@apple.com>
  30810. Reviewed by Ada Chan.
  30811. Fix for https://bugs.webkit.org/show_bug.cgi?id=51355 Crash in
  30812. RenderMathMLSubSup::layout() because of null base
  30813. -and corresponding-
  30814. <rdar://problem/8712200>
  30815. Only use base inside if(base) block.
  30816. * mathml/RenderMathMLSubSup.cpp:
  30817. (WebCore::RenderMathMLSubSup::layout):
  30818. 2010-12-20 Enrica Casucci <enrica@apple.com>
  30819. Reviewed by Darin Adler.
  30820. Crash at WebCore::SplitElementCommand::SplitElementCommand
  30821. https://bugs.webkit.org/show_bug.cgi?id=51278
  30822. <rdar://problem/7347139>
  30823. Executing outdent command on an inline blockquote that is
  30824. not the first element in a block causes a crash.
  30825. The fix consists in chaging the was the start of block is
  30826. calculated in case of the inline blockquote.
  30827. Test: editing/execCommand/outdent-inline-blockquote.html
  30828. editing/execCommand/outdent-inline-list.html
  30829. * editing/IndentOutdentCommand.cpp:
  30830. (WebCore::IndentOutdentCommand::outdentParagraph):
  30831. 2010-12-20 Oliver Hunt <oliver@apple.com>
  30832. Reviewed by Darin Adler.
  30833. Need to support serialisation of cyclic graphs in the internal structured cloning algorithm
  30834. https://bugs.webkit.org/show_bug.cgi?id=51353
  30835. The Internal Structured Clone algorithm has been changed to allow (and
  30836. correctly clone) cyclic graphs. This patch updates our implementation
  30837. to provide that functionality.
  30838. I've bumped the serialization version number, and added ObjectReferenceTag
  30839. to represent references to objects that have already been seen.
  30840. * bindings/js/SerializedScriptValue.cpp:
  30841. (WebCore::CloneSerializer::startObjectInternal):
  30842. Now that we have something a bit more complex than cycle checking
  30843. I've replaced the duplicate code in startObject and startArray with
  30844. a shared function that implements that logic to plant an object
  30845. reference
  30846. (WebCore::CloneSerializer::startObject):
  30847. (WebCore::CloneSerializer::startArray):
  30848. Lift out duplicate code
  30849. (WebCore::CloneSerializer::endObject):
  30850. Can't remove objects from the gcbuffer now as they need to remain live
  30851. so we can identify graphs
  30852. (WebCore::CloneSerializer::writeStringIndex):
  30853. (WebCore::CloneSerializer::writeObjectIndex):
  30854. (WebCore::CloneSerializer::writeConstantPoolIndex):
  30855. (WebCore::CloneSerializer::write):
  30856. (WebCore::CloneSerializer::serialize):
  30857. (WebCore::CloneDeserializer::readStringIndex):
  30858. (WebCore::CloneDeserializer::readConstantPoolIndex):
  30859. (WebCore::CloneDeserializer::readTerminal):
  30860. (WebCore::CloneDeserializer::deserialize):
  30861. 2010-12-20 Xan Lopez <xlopez@igalia.com>
  30862. Reviewed by Gustavo Noronha.
  30863. * GNUmakefile.am: add missing files.
  30864. 2010-12-20 Abhishek Arya <inferno@chromium.org>
  30865. Reviewed by James Robinson.
  30866. Pass the correct beforeChild value when adding a child to an anonymous table part.
  30867. https://bugs.webkit.org/show_bug.cgi?id=50932
  30868. When a "before" content child was added to an anonymous table part, it was added
  30869. after the last child. This patch fixes the behavior by adding it properly before
  30870. the first child.
  30871. Test: fast/css-generated-content/table-before-child-add.html
  30872. * rendering/RenderTableRow.cpp:
  30873. (WebCore::RenderTableRow::addChild):
  30874. 2010-12-18 Gavin Barraclough <barraclough@apple.com>
  30875. Reviewed by Oliver Hunt.
  30876. Bug 26276 - Need a mechanism to determine stack extent
  30877. Add forwarding header for StackBounds.h.
  30878. * ForwardingHeaders/wtf/StackBounds.h: Added.
  30879. 2010-12-20 James Robinson <jamesr@chromium.org>
  30880. Unreviewed, rolling out r74278.
  30881. http://trac.webkit.org/changeset/74278
  30882. https://bugs.webkit.org/show_bug.cgi?id=50833
  30883. [chromium] Causes many layout tests to crash
  30884. * platform/graphics/chromium/LayerRendererChromium.cpp:
  30885. (WebCore::LayerRendererChromium::LayerRendererChromium):
  30886. (WebCore::LayerRendererChromium::prepareToDrawLayers):
  30887. (WebCore::LayerRendererChromium::drawLayers):
  30888. (WebCore::LayerRendererChromium::useRenderSurface):
  30889. (WebCore::LayerRendererChromium::setScissorToRect):
  30890. * platform/graphics/chromium/LayerRendererChromium.h:
  30891. 2010-12-20 Geoffrey Garen <ggaren@apple.com>
  30892. Reviewed by Sam Weinig.
  30893. Factored common page set management into a new PageBlock base class
  30894. https://bugs.webkit.org/show_bug.cgi?id=51285
  30895. * ForwardingHeaders/wtf/PageBlock.h: Added.
  30896. 2010-12-20 Steve Block <steveblock@google.com>
  30897. Reviewed by Jeremy Orlow.
  30898. GeolocationPositionCache should do database access on background thread
  30899. https://bugs.webkit.org/show_bug.cgi?id=50825
  30900. Covered by existing Geolocation tests.
  30901. * page/Coordinates.h:
  30902. (WebCore::Coordinates::threadSafeCopy):
  30903. * page/GeolocationPositionCache.cpp:
  30904. (WebCore::GeolocationPositionCache::GeolocationPositionCache):
  30905. (WebCore::GeolocationPositionCache::addUser):
  30906. (WebCore::GeolocationPositionCache::removeUser):
  30907. (WebCore::GeolocationPositionCache::setDatabasePath):
  30908. (WebCore::GeolocationPositionCache::setCachedPosition):
  30909. (WebCore::GeolocationPositionCache::cachedPosition):
  30910. (WebCore::GeolocationPositionCache::startBackgroundThread):
  30911. (WebCore::GeolocationPositionCache::threadEntryPoint):
  30912. (WebCore::GeolocationPositionCache::threadEntryPointImpl):
  30913. (WebCore::GeolocationPositionCache::triggerReadFromDatabase):
  30914. (WebCore::GeolocationPositionCache::readFromDatabase):
  30915. (WebCore::GeolocationPositionCache::readFromDatabaseImpl):
  30916. (WebCore::GeolocationPositionCache::triggerWriteToDatabase):
  30917. (WebCore::GeolocationPositionCache::writeToDatabase):
  30918. (WebCore::GeolocationPositionCache::writeToDatabaseImpl):
  30919. * page/GeolocationPositionCache.h:
  30920. * page/Geoposition.h:
  30921. (WebCore::Geoposition::threadSafeCopy):
  30922. (WebCore::Geoposition::Geoposition):
  30923. 2010-12-20 Andras Becsi <abecsi@webkit.org>
  30924. Unreviewed build fix.
  30925. [Qt][V8] Add missing sources to the pro file and remove duplications to fix linking.
  30926. No new tests needed.
  30927. * WebCore.pro:
  30928. 2010-12-20 Alexander Pavlov <apavlov@chromium.org>
  30929. Reviewed by Yury Semikhatsky.
  30930. Web Inspector: Make CSSCompletions a real class rather than singleton
  30931. https://bugs.webkit.org/show_bug.cgi?id=51332
  30932. Drive-by: make use of keywords from re2js in the CSS tokenizer
  30933. (apparently, various authors have presumed that re2js is processed at build time).
  30934. No new tests, as this is a refactoring.
  30935. * inspector/front-end/CSSCompletions.js:
  30936. (WebInspector.CSSCompletions):
  30937. (WebInspector.CSSCompletions.prototype.startsWith):
  30938. (WebInspector.CSSCompletions.prototype.firstStartsWith):
  30939. (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix):
  30940. (WebInspector.CSSCompletions.prototype.keySet):
  30941. (WebInspector.CSSCompletions.prototype.next):
  30942. (WebInspector.CSSCompletions.prototype.previous):
  30943. (WebInspector.CSSCompletions.prototype._closest):
  30944. * inspector/front-end/SourceCSSTokenizer.js:
  30945. (WebInspector.SourceCSSTokenizer):
  30946. * inspector/front-end/SourceCSSTokenizer.re2js:
  30947. * inspector/front-end/StylesSidebarPane.js:
  30948. (WebInspector.StylePropertyTreeElement.prototype):
  30949. * inspector/front-end/inspector.js:
  30950. (WebInspector.doLoadedDone.propertyNamesCallback):
  30951. (WebInspector.doLoadedDone):
  30952. 2010-12-10 Pavel Podivilov <podivilov@chromium.org>
  30953. Reviewed by Yury Semikhatsky.
  30954. Web Inspector: "Add conditional breakpoint" - create breakpoint only after condition is provided.
  30955. https://bugs.webkit.org/show_bug.cgi?id=50813
  30956. * inspector/front-end/SourceFrame.js:
  30957. (WebInspector.SourceFrame.prototype._addBreakpoint):
  30958. (WebInspector.SourceFrame.prototype._breakpointRemoved):
  30959. (WebInspector.SourceFrame.prototype._breakpointChanged):
  30960. (WebInspector.SourceFrame.prototype._setBreakpointDecoration):
  30961. (WebInspector.SourceFrame.prototype._removeBreakpointDecoration):
  30962. (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
  30963. (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
  30964. (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
  30965. (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
  30966. (WebInspector.SourceFrame.prototype._contextMenu):
  30967. (WebInspector.SourceFrame.prototype._editBreakpointCondition.finishEditing):
  30968. (WebInspector.SourceFrame.prototype._editBreakpointCondition):
  30969. (WebInspector.SourceFrame.prototype._continueToLine):
  30970. (WebInspector.SourceFrame.prototype._setBreakpoint):
  30971. 2010-12-20 Andrei Popescu <andreip@google.com>
  30972. Reviewed by Jeremy Orlow.
  30973. IDBTransactionBackedImpl instances can be accidentally deleted during calls to abort/commit.
  30974. https://bugs.webkit.org/show_bug.cgi?id=51112
  30975. Makes IDBTransactionBackendImpl objects take a self reference while executing commit and abort.
  30976. Test: storage/indexeddb/transaction-crash-on-abort.html
  30977. * storage/IDBTransactionBackendImpl.cpp:
  30978. (WebCore::IDBTransactionBackendImpl::abort):
  30979. (WebCore::IDBTransactionBackendImpl::commit):
  30980. 2010-12-20 Andrei Popescu <andreip@google.com>
  30981. Reviewed by Jeremy Orlow.
  30982. IDBCursor::delete is not implemented.
  30983. https://bugs.webkit.org/show_bug.cgi?id=51110
  30984. Implement IDBCursor::delete.
  30985. See http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBCursor-delete
  30986. Tests: storage/indexeddb/cursor-delete.html
  30987. storage/indexeddb/cursor-index-delete.html
  30988. * storage/IDBCursor.cpp:
  30989. (WebCore::IDBCursor::deleteFunction):
  30990. * storage/IDBCursor.h:
  30991. * storage/IDBCursor.idl:
  30992. * storage/IDBCursorBackendImpl.cpp:
  30993. (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
  30994. (WebCore::IDBCursorBackendImpl::deleteFunction):
  30995. (WebCore::IDBCursorBackendImpl::loadCurrentRow):
  30996. * storage/IDBCursorBackendImpl.h:
  30997. (WebCore::IDBCursorBackendImpl::create):
  30998. * storage/IDBCursorBackendInterface.h:
  30999. * storage/IDBIndexBackendImpl.cpp:
  31000. (WebCore::IDBIndexBackendImpl::openCursorInternal):
  31001. * storage/IDBKey.cpp:
  31002. (WebCore::IDBKey::fromQuery):
  31003. * storage/IDBObjectStoreBackendImpl.cpp:
  31004. (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
  31005. (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
  31006. 2010-12-20 Yury Semikhatsky <yurys@chromium.org>
  31007. Reviewed by Pavel Feldman.
  31008. Web Inspector: After a multiline command execution Console does not show the command prompt
  31009. https://bugs.webkit.org/show_bug.cgi?id=51257
  31010. * inspector/front-end/TextPrompt.js:
  31011. (WebInspector.TextPrompt.prototype._moveBackInHistory):
  31012. (WebInspector.TextPrompt.prototype._moveForwardInHistory):
  31013. 2010-12-19 Helder Correia <helder@sencha.com>
  31014. Reviewed by Ariya Hidayat.
  31015. [Qt] Blur distance should not be affected by transformations
  31016. https://bugs.webkit.org/show_bug.cgi?id=51161
  31017. From the spec at http://dev.w3.org/html5/2dcontext/#dom-context-2d-shadowblur:
  31018. "The shadowBlur attribute specifies the level of the blurring effect.
  31019. (The units do not map to coordinate space units, and are not affected
  31020. by the current transformation matrix.)"
  31021. Test: fast/canvas/canvas-scale-shadowBlur.html
  31022. * platform/graphics/ContextShadow.cpp:
  31023. (WebCore::ContextShadow::adjustBlurDistance):
  31024. * platform/graphics/ContextShadow.h:
  31025. * platform/graphics/cairo/ContextShadowCairo.cpp:
  31026. (WebCore::ContextShadow::beginShadowLayer):
  31027. * platform/graphics/qt/ContextShadowQt.cpp:
  31028. (WebCore::ContextShadow::beginShadowLayer):
  31029. 2010-12-19 Dan Bernstein <mitz@apple.com>
  31030. Reviewed by Cameron Zwarich.
  31031. Text emphasis marks are not repainted correctly in flipped writing modes
  31032. https://bugs.webkit.org/show_bug.cgi?id=51307
  31033. Tests: fast/repaint/text-emphasis-h.html
  31034. fast/repaint/text-emphasis-v.html
  31035. * rendering/InlineFlowBox.cpp:
  31036. (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Added flippedness check.
  31037. 2010-12-19 Rob Buis <rwlbuis@gmail.com>
  31038. Reviewed by Andreas Kling.
  31039. Remove m_drawsContents from RenderSVGContainer.h
  31040. https://bugs.webkit.org/show_bug.cgi?id=51305
  31041. Remove m_drawsContents, its getter and setter and the call
  31042. sites, since it has no effect anymore.
  31043. * WebCore.order:
  31044. * rendering/RenderSVGContainer.cpp:
  31045. (WebCore::RenderSVGContainer::RenderSVGContainer):
  31046. (WebCore::RenderSVGContainer::paint):
  31047. * rendering/RenderSVGContainer.h:
  31048. * rendering/RenderSVGResourceContainer.h:
  31049. * rendering/SVGImageBufferTools.cpp:
  31050. (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
  31051. 2010-12-19 Benjamin Poulain <benjamin.poulain@nokia.com>
  31052. Reviewed by Kenneth Rohde Christiansen.
  31053. WebKit does not build with worker but without the javascript debugger
  31054. https://bugs.webkit.org/show_bug.cgi?id=51293
  31055. Add missing guard for calls depending on the debugger.
  31056. * inspector/InspectorController.cpp:
  31057. (WebCore::InspectorController::populateScriptObjects):
  31058. (WebCore::InspectorController::postWorkerNotificationToFrontend):
  31059. 2010-12-18 Tom Sepez <tsepez@chromium.org>
  31060. Reviewed by David Levin.
  31061. https://bugs.webkit.org/show_bug.cgi?id=51055
  31062. Fix a null de-reference when an XML file contains a malformed entity
  31063. of the form "&:;".
  31064. Test: fast/parser/xml-colon-entity.html
  31065. * html/parser/HTMLEntitySearch.cpp:
  31066. (WebCore::HTMLEntitySearch::advance):
  31067. 2010-12-18 Noel Gordon <noel.gordon@gmail.com>
  31068. Reviewed by David Levin.
  31069. [chromium] Simplify the PNG encoder.
  31070. https://bugs.webkit.org/show_bug.cgi?id=50905
  31071. Remove PNGEncoderState class - it was a proxy for the encoder output, and
  31072. that is a Vector<>, so just write into it directly using append() to make
  31073. use of Vector<>'s resize() smarts. Simplify the preMultipliedBGRAtoRGBA()
  31074. and encode() routines, replace the OwnArrayPtr<> with a Vector<>.
  31075. canvas.toDataURL("image/png") is covered by existing tests.
  31076. * platform/image-encoders/skia/PNGImageEncoder.cpp:
  31077. (WebCore::writeOutput): Use a Vector<>, append() the encoded data to it.
  31078. (WebCore::preMultipliedBGRAtoRGBA): simplified.
  31079. (WebCore::PNGImageEncoder::encode): ditto.
  31080. 2010-12-18 Dan Bernstein <mitz@apple.com>
  31081. Reviewed by Cameron Zwarich.
  31082. Text emphasis marks are not always included in the selection highlight
  31083. https://bugs.webkit.org/show_bug.cgi?id=51299
  31084. Affects pixel results of fast/text/emphasis.html
  31085. Account for annotations in selectionTop() and selectionBottom().
  31086. * rendering/RootInlineBox.cpp:
  31087. (WebCore::RootInlineBox::selectionTop):
  31088. (WebCore::RootInlineBox::selectionBottom):
  31089. 2010-12-18 Dan Bernstein <mitz@apple.com>
  31090. Reviewed by Cameron Zwarich.
  31091. In flipped writing modes, opposite text emphasis marks from adjacent lines overlap
  31092. https://bugs.webkit.org/show_bug.cgi?id=51298
  31093. Test: fast/text/emphasis-overlap.html
  31094. * rendering/RootInlineBox.cpp:
  31095. (WebCore::RootInlineBox::beforeAnnotationsAdjustment): Changed + to -.
  31096. 2010-12-18 Helder Correia <helder@sencha.com> and Martin Robinson <mrobinson@igalia.com>
  31097. Reviewed by Ariya Hidayat.
  31098. [Qt] Canvas shadow offset should not be affected by any transformation
  31099. https://bugs.webkit.org/show_bug.cgi?id=50422
  31100. On a canvas context, shadows are currently affected by all
  31101. transformations except scaling. According to the spec:
  31102. http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#shadows
  31103. "The shadowOffsetX and shadowOffsetY attributes specify the distance
  31104. that the shadow will be offset in the positive horizontal and positive
  31105. vertical distance respectively. Their values are in coordinate space
  31106. units. They are not affected by the current transformation matrix."
  31107. NOTE: this applies only to canvas, not to box shadows.
  31108. Test: fast/canvas/canvas-transforms-fillRect-shadow.html
  31109. * platform/graphics/ContextShadow.cpp:
  31110. (WebCore::ContextShadow::ContextShadow):
  31111. (WebCore::ContextShadow::calculateLayerBoundingRect):
  31112. * platform/graphics/ContextShadow.h:
  31113. (WebCore::ContextShadow::setShadowsIgnoreTransforms):
  31114. (WebCore::ContextShadow::shadowsIgnoreTransforms):
  31115. (WebCore::ContextShadow::offset):
  31116. * platform/graphics/qt/ContextShadowQt.cpp:
  31117. (WebCore::ContextShadow::beginShadowLayer):
  31118. (WebCore::ContextShadow::endShadowLayer):
  31119. * platform/graphics/qt/GraphicsContextQt.cpp:
  31120. (WebCore::mustUseContextShadow):
  31121. (WebCore::GraphicsContext::fillPath):
  31122. (WebCore::GraphicsContext::strokePath):
  31123. (WebCore::GraphicsContext::fillRect):
  31124. (WebCore::GraphicsContext::fillRoundedRect):
  31125. (WebCore::GraphicsContext::setPlatformShadow):
  31126. 2010-12-18 Ariya Hidayat <ariya@sencha.com>
  31127. Reviewed by Andreas Kling.
  31128. [Qt] TransparencyLayer should inherit its container render hints
  31129. https://bugs.webkit.org/show_bug.cgi?id=51283
  31130. * platform/graphics/qt/TransparencyLayer.h:
  31131. (WebCore::TransparencyLayer::TransparencyLayer):
  31132. 2010-12-18 Tony Gentilcore <tonyg@chromium.org>
  31133. Reviewed by Laszlo Gombos.
  31134. [Web Timing] Rename domContentLoaded{Start,End}->domContentLoadedEvent{Start,End}
  31135. https://bugs.webkit.org/show_bug.cgi?id=50943
  31136. See: http://test.w3.org/webperf/specs/NavigationTiming/#nt-dom-content-event-start
  31137. * dom/Document.cpp:
  31138. (WebCore::Document::finishedParsing):
  31139. * dom/DocumentTiming.h:
  31140. (WebCore::DocumentTiming::DocumentTiming):
  31141. * page/PerformanceTiming.cpp:
  31142. (WebCore::PerformanceTiming::domContentLoadedEventStart):
  31143. (WebCore::PerformanceTiming::domContentLoadedEventEnd):
  31144. * page/PerformanceTiming.h:
  31145. * page/PerformanceTiming.idl:
  31146. 2010-12-17 Justin Schuh <jschuh@chromium.org>
  31147. Reviewed by Andreas Kling.
  31148. Style fix for r73927
  31149. https://bugs.webkit.org/show_bug.cgi?id=51194
  31150. No functionality change. No new tests needed.
  31151. * html/HTMLCanvasElement.h:
  31152. 2010-12-17 Carlos Garcia Campos <cgarcia@igalia.com>
  31153. Reviewed by Martin Robinson.
  31154. [GTK] Buttons rendering was broken in r74129
  31155. https://bugs.webkit.org/show_bug.cgi?id=51173
  31156. * platform/gtk/RenderThemeGtk.cpp:
  31157. (WebCore::RenderThemeGtk::paintRenderObject):
  31158. 2010-12-17 Zoltan Herczeg <zherczeg@webkit.org>
  31159. Reviewed by Dirk Schulze.
  31160. Improve 'arithmetic' operator on feComposite
  31161. https://bugs.webkit.org/show_bug.cgi?id=51105
  31162. Fixing style errors and bug description for r74177.
  31163. * platform/graphics/filters/FEComposite.cpp:
  31164. (WebCore::arithmetic):
  31165. 2010-12-17 Dan Bernstein <mitz@apple.com>
  31166. Rubber-stamped by Mark Rowe.
  31167. Updated for the renaming of WebKitTools to Tools
  31168. * WebCore.vcproj/build-generated-files.sh:
  31169. * WebCore.vcproj/migrate-scripts.sh:
  31170. 2010-12-17 Carol Szabo <carol.szabo@nokia.com>
  31171. Reviewed by Darin Adler.
  31172. A corrupted counter tree is created when renderers are added to the
  31173. tree bypassing RenderObject::addChild
  31174. https://bugs.webkit.org/show_bug.cgi?id=51270
  31175. This patch replaces the hack introduced for fixing bug 43812
  31176. with code that addresses the underlying problem for that bug.
  31177. No new layout tests provided as there is no identified scenario when
  31178. visible behavior would be different, the internal datastructures
  31179. are maintained properly through this fix so the previous hack
  31180. introduced for bug 43812 is now removed. The fact that the
  31181. layout test introduced for 43812 continues to pass is proof that the
  31182. code works.
  31183. * rendering/RenderCounter.cpp:
  31184. (WebCore::findPlaceForCounter):
  31185. Removed hack.
  31186. * rendering/RenderObject.cpp:
  31187. (WebCore::RenderObject::addChild):
  31188. Moved call to counter nodes updater to lower level
  31189. functions to avoid bypass.
  31190. * rendering/RenderObjectChildList.cpp:
  31191. (WebCore::RenderObjectChildList::appendChildNode):
  31192. (WebCore::RenderObjectChildList::insertChildNode):
  31193. Changed to update the values of the counters that
  31194. may be inserted in the tree.
  31195. 2010-12-17 Shimeng (Simon) Wang <swang@google.com>
  31196. Reviewed by Steve Block.
  31197. Fix V8 JNI binding.
  31198. https://bugs.webkit.org/show_bug.cgi?id=51156
  31199. There're LayoutTests in:
  31200. http://trac.webkit.org/browser/trunk/LayoutTests/java/lc3/JSNumber
  31201. to exercise these code paths.
  31202. Though Chromium don't run them.
  31203. Tested on Android fast/events/touch tests.
  31204. * bridge/jni/v8/JNIUtilityPrivate.cpp:
  31205. (JSC::Bindings::convertNPVariantToJValue):
  31206. 2010-12-17 Simon Fraser <simon.fraser@apple.com>
  31207. Reviewed by Chris Marrin.
  31208. Interrupted accelerated animation can break later transitions
  31209. <rdar://problem/8767714>
  31210. https://bugs.webkit.org/show_bug.cgi?id=51264
  31211. If we're still waiting for the 'animationDidStart' callback when renderers
  31212. get destroyed, then the m_waitingForStartTimeResponse flag could be left
  31213. set to 'true', which causes later transitions to never start.
  31214. Fix by clearing the m_waitingForStartTimeResponse flag when the m_startTimeResponseWaiters
  31215. becomes empty.
  31216. Test: transitions/interrupted-accelerated-transition.html
  31217. * page/animation/AnimationController.cpp:
  31218. (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
  31219. 2010-12-17 Simon Fraser <simon.fraser@apple.com>
  31220. Reviewed by Chris Marrin.
  31221. Interrupted accelerated animation can break later transitions
  31222. https://bugs.webkit.org/show_bug.cgi?id=51264
  31223. Step 1: code cleanup.
  31224. Rename "responseWait" variables to "startTimeResponseWait", to make it clear
  31225. the kind of response that is being waited for.
  31226. Make a couple of methods private.
  31227. No behavioral changes, so no tests.
  31228. * page/animation/AnimationController.cpp:
  31229. (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
  31230. (WebCore::AnimationControllerPrivate::endAnimationUpdate):
  31231. (WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
  31232. (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList):
  31233. (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
  31234. (WebCore::AnimationControllerPrivate::startTimeResponse):
  31235. * page/animation/AnimationControllerPrivate.h:
  31236. 2010-12-17 Dan Bernstein <mitz@apple.com>
  31237. Reviewed by Dave Hyatt.
  31238. Layout and rendering of CSS text-emphasis
  31239. Final part of <rdar://problem/7720300> Support the CSS3 text-emphasis property
  31240. https://bugs.webkit.org/show_bug.cgi?id=48539
  31241. Tests: fast/text/emphasis-vertical.html
  31242. fast/text/emphasis.html
  31243. Emphasis marks behave like they are stuck just above the ascender (or just below the
  31244. descender). They occupy space in the leading and in padding, and only grow the line space
  31245. if they cannot fit.
  31246. * rendering/InlineFlowBox.cpp:
  31247. (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Renamed the containsRuby parameter to
  31248. hasAnnotationsBefore, and added hasAnnotationsAfter. Line annotations include ruby and text emphasis
  31249. marks.
  31250. (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Added overflow from emphasis marks.
  31251. (WebCore::InlineFlowBox::computeOverAnnotationAdjustment): Remaned computeBlockDirectionRubyAdjustment()
  31252. to this and added adjustment for text emphasis marks.
  31253. (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment): Added. Similar to the previous function,
  31254. but for annotations under the glyphs. These can only be text emphasis marks.
  31255. * rendering/InlineFlowBox.h:
  31256. * rendering/InlineTextBox.cpp:
  31257. (WebCore::paintTextWithShadows): Paint emphasis marks.
  31258. (WebCore::InlineTextBox::paint): Ditto.
  31259. * rendering/RenderBlockLineLayout.cpp:
  31260. (WebCore::RenderBlock::layoutInlineChildren): Generalized the code that adjusts the last line for
  31261. ruby in flipped writing mode to also adjust the last line for emphasis marks under the line in non-
  31262. flipped writing mode.
  31263. * rendering/RenderObject.cpp:
  31264. (WebCore::RenderObject::selectionColor): Added this helper method which generalizes selectionForegroundColor().
  31265. (WebCore::RenderObject::selectionForegroundColor): Moved most of the code to selectionColor().
  31266. (WebCore::RenderObject::selectionEmphasisMarkColor): Added.
  31267. * rendering/RenderObject.h:
  31268. * rendering/RootInlineBox.cpp:
  31269. (WebCore::RootInlineBox::RootInlineBox): Updated initialization for new members.
  31270. (WebCore::RootInlineBox::alignBoxesInBlockDirection): Update new members.
  31271. (WebCore::RootInlineBox::beforeAnnotationsAdjustment): Renamed blockDirectionRubyAdjustment() to this
  31272. and extended to deal with annotations over and under the line and the previous line. If both lines have
  31273. annotations into the space between the lines, maintain separation so that the annotations do not overlap.
  31274. * rendering/RootInlineBox.h:
  31275. (WebCore::RootInlineBox::hasAnnotationsBefore): Added this accessor.
  31276. (WebCore::RootInlineBox::hasAnnotationsAfter): Ditto.
  31277. 2010-12-17 W. James MacLean <wjmaclean@chromium.org>
  31278. Reviewed by James Robinson.
  31279. [chromium] Add support to compositor to composite to offscreen texture.
  31280. https://bugs.webkit.org/show_bug.cgi?id=50833
  31281. A patch to extend compositor to be able to composite into an offscreen texture instead
  31282. of just directly to the display buffer. Builds on RenderSurfaceChromium support.
  31283. External behaviour not changed, so no tests.
  31284. * platform/graphics/chromium/LayerRendererChromium.cpp:
  31285. (WebCore::LayerRendererChromium::LayerRendererChromium):
  31286. (WebCore::LayerRendererChromium::prepareToDrawLayers):
  31287. (WebCore::LayerRendererChromium::drawLayers):
  31288. (WebCore::LayerRendererChromium::setCompositeOffscreen):
  31289. (WebCore::LayerRendererChromium::useRenderSurface):
  31290. (WebCore::LayerRendererChromium::setScissorToRect):
  31291. * platform/graphics/chromium/LayerRendererChromium.h:
  31292. (WebCore::LayerRendererChromium::isCompositingOffscreen):
  31293. (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
  31294. 2010-12-17 Ariya Hidayat <ariya@sencha.com>
  31295. Reviewed by Andreas Kling.
  31296. [Qt] Default image interpolation should reset the render hint
  31297. https://bugs.webkit.org/show_bug.cgi?id=51233
  31298. Save initial SmoothPixmapTransform render hint so that it can be used
  31299. with default image interpolation quality to reset back the render hints.
  31300. * platform/graphics/qt/GraphicsContextQt.cpp:
  31301. (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
  31302. (WebCore::GraphicsContext::setImageInterpolationQuality):
  31303. 2010-12-17 Hans Wennborg <hans@chromium.org>
  31304. Reviewed by Jeremy Orlow.
  31305. IndexedDB: Support Date objects as keys.
  31306. https://bugs.webkit.org/show_bug.cgi?id=51193
  31307. * bindings/v8/IDBBindingUtilities.cpp:
  31308. (WebCore::createIDBKeyFromValue):
  31309. Use the new IDBKey factory functions, and support Date objects.
  31310. * bindings/v8/custom/V8IDBKeyCustom.cpp:
  31311. (WebCore::toV8):
  31312. Create Date objects from DateType keys.
  31313. * storage/IDBKey.cpp:
  31314. (WebCore::IDBKey::fromQuery):
  31315. (WebCore::IDBKey::isEqual):
  31316. (WebCore::IDBKey::whereSyntax):
  31317. (WebCore::IDBKey::lowerCursorWhereFragment):
  31318. (WebCore::IDBKey::upperCursorWhereFragment):
  31319. (WebCore::IDBKey::bind):
  31320. (WebCore::IDBKey::bindWithNulls):
  31321. Update all SQL related functions to handle Date keys.
  31322. * storage/IDBKey.h:
  31323. (WebCore::IDBKey::createNull):
  31324. (WebCore::IDBKey::createNumber):
  31325. (WebCore::IDBKey::createString):
  31326. (WebCore::IDBKey::createDate):
  31327. Rename the create factories; since both number and date is just a
  31328. double, function overloading can't be used to discriminate between
  31329. the factories.
  31330. (WebCore::IDBKey::date):
  31331. Add getter for the date value.
  31332. 2010-12-17 Pavel Podivilov <podivilov@chromium.org>
  31333. Reviewed by Pavel Feldman.
  31334. Web Inspector: add scripts parsed after resource load to SourceFrame.
  31335. https://bugs.webkit.org/show_bug.cgi?id=51243
  31336. * inspector/front-end/ScriptsPanel.js:
  31337. (WebInspector.ScriptsPanel.prototype._addScript):
  31338. * inspector/front-end/SourceFrame.js:
  31339. (WebInspector.SourceFrame.prototype.addScript):
  31340. 2010-12-17 Anton Muhin <antonm@chromium.org>
  31341. Reviewed by Yury Semikhatsky.
  31342. [v8] The last portion of CSS GC work: fixing fast/dom/StyleSheet/gc-stylesheet-wrapper.html
  31343. https://bugs.webkit.org/show_bug.cgi?id=51121
  31344. Properly group style elements of HTML links, style elements and processing instructions.
  31345. * bindings/v8/V8GCController.cpp:
  31346. (WebCore::NodeGrouperVisitor::visitDOMWrapper):
  31347. (WebCore::NodeGrouperVisitor::addDOMObjectToGroup):
  31348. 2010-12-17 Pavel Podivilov <podivilov@chromium.org>
  31349. Reviewed by Pavel Feldman.
  31350. Web Inspector: [REGRESSION] scripts in scripts panel are not updated on reload.
  31351. https://bugs.webkit.org/show_bug.cgi?id=51101
  31352. * inspector/front-end/ResourceManager.js:
  31353. (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
  31354. 2010-12-17 Benjamin Poulain <benjamin.poulain@nokia.com>
  31355. Reviewed by Laszlo Gombos.
  31356. The inspector does not compile without JAVASCRIPT_DEBUGGER
  31357. https://bugs.webkit.org/show_bug.cgi?id=51246
  31358. Fix the build, m_extraHeaders does not depend on JAVASCRIPT_DEBUGGER.
  31359. * inspector/InspectorController.h:
  31360. 2010-12-17 Andrey Kosyakov <caseq@chromium.org>
  31361. Reviewed by Pavel Feldman.
  31362. Web Inspector: clear extra/override headers when front-end is closed
  31363. https://bugs.webkit.org/show_bug.cgi?id=51244
  31364. * inspector/InspectorController.cpp:
  31365. (WebCore::InspectorController::disconnectFrontend):
  31366. (WebCore::InspectorController::willSendRequest):
  31367. 2010-12-17 Pavel Feldman <pfeldman@chromium.org>
  31368. Reviewed by Yury Semikhatsky.
  31369. Web Inspector: [REGRESSION] Cmd (Ctrl) + G does not search next in Scripts panel.
  31370. https://bugs.webkit.org/show_bug.cgi?id=50893
  31371. Now Mac shortcuts are:
  31372. - Cmd F/G = find / next
  31373. - Cmd L = go to line
  31374. Win/Linux:
  31375. - Ctrl+G = go to line
  31376. * inspector/front-end/ScriptsPanel.js:
  31377. (WebInspector.ScriptsPanel.prototype._registerShortcuts):
  31378. * inspector/front-end/inspector.js:
  31379. (WebInspector._registerShortcuts):
  31380. 2010-12-16 Sergio Villar Senin <svillar@igalia.com>
  31381. Reviewed by Martin Robinson.
  31382. Wrong check in ResourceHandleSoup in error cases
  31383. https://bugs.webkit.org/show_bug.cgi?id=51171
  31384. Calling didReceiveData with no data causes a crash in debug
  31385. builds. Checking for soupMsg->response_body->data is not correct as libsoup
  31386. always creates a buffer for that. Instead we should check for
  31387. soupMsg->response_body->length
  31388. * platform/network/soup/ResourceHandleSoup.cpp:
  31389. (WebCore::sendRequestCallback):
  31390. 2010-12-17 Andreas Kling <andreas.kling@nokia.com>
  31391. Reviewed by Kenneth Rohde Christiansen.
  31392. [Qt] Avoid unnecessary calls to GraphicsContextPlatformPrivate::p()
  31393. https://bugs.webkit.org/show_bug.cgi?id=49954
  31394. * platform/graphics/qt/GraphicsContextQt.cpp:
  31395. (WebCore::GraphicsContext::pushTransparencyLayerInternal):
  31396. (WebCore::GraphicsContext::beginTransparencyLayer):
  31397. 2010-12-17 Carlos Garcia Campos <cgarcia@igalia.com>
  31398. Reviewed by Martin Robinson.
  31399. [GTK] Compile warning introduced in r74129
  31400. https://bugs.webkit.org/show_bug.cgi?id=51181
  31401. * platform/gtk/RenderThemeGtk.cpp:
  31402. (WebCore::RenderThemeGtk::gtkContainer):
  31403. 2010-12-17 James Simonsen <simonjam@chromium.org>
  31404. Reviewed by Darin Fisher.
  31405. [Web Timing] Add sslHandshakeStart to interface
  31406. https://bugs.webkit.org/show_bug.cgi?id=50400
  31407. Test: http/tests/misc/webtiming-ssl.php
  31408. * page/PerformanceTiming.cpp:
  31409. (WebCore::PerformanceTiming::connectStart): Update comment.
  31410. (WebCore::PerformanceTiming::connectEnd): Remove SSL time.
  31411. (WebCore::PerformanceTiming::sslHandshakeStart): Added.
  31412. * page/PerformanceTiming.h: Added sslHandshakeStart.
  31413. * page/PerformanceTiming.idl: Ditto.
  31414. 2010-12-17 James Simonsen <simonjam@chromium.org>
  31415. Reviewed by Darin Fisher.
  31416. [Web Timing] Navigation type enums should begin with TYPE_
  31417. https://bugs.webkit.org/show_bug.cgi?id=51200
  31418. * page/PerformanceNavigation.cpp:
  31419. (WebCore::PerformanceNavigation::type): Added TYPE_ to navigation types.
  31420. * page/PerformanceNavigation.h: Ditto and added TYPE_RESERVED.
  31421. * page/PerformanceNavigation.idl: Ditto.
  31422. 2010-12-17 Steve Block <steveblock@google.com>
  31423. Unreviewed build fix.
  31424. Fix build when Geolocation is disabled.
  31425. No new tests, build fix only.
  31426. * page/Geolocation.h:
  31427. 2010-12-17 Patrick Gansterer <paroga@webkit.org>
  31428. Unreviewed. WinCE build fix.
  31429. * platform/graphics/GraphicsContext.h:
  31430. 2010-12-17 Ilya Tikhonovsky <loislo@chromium.org>
  31431. Reviewed by Yury Semikhatsky.
  31432. Web Inspector: remove unnecessary dependencies from InspectorBackendStub.
  31433. InspectorBackendStub is a transport-only thing but it has dependencies with
  31434. Callback.js and WebInspector namespace. Callback can be integrated into
  31435. InspectorBackendStub because it is the only client.
  31436. Without these dependencies InspectorBackendStub can be used as an API
  31437. wrapper for Inspector Protocol.
  31438. https://bugs.webkit.org/show_bug.cgi?id=51184
  31439. * WebCore.gypi:
  31440. * inspector/CodeGeneratorInspector.pm:
  31441. * inspector/front-end/Callback.js: Removed.
  31442. * inspector/front-end/WebKit.qrc:
  31443. * inspector/front-end/inspector.html:
  31444. 2010-12-15 Andrey Kosyakov <caseq@chromium.org>
  31445. Reviewed by Pavel Feldman.
  31446. Web Inspector: [Extension API] add support for adding/overriding HTTP request headers
  31447. https://bugs.webkit.org/show_bug.cgi?id=50493
  31448. Test: http/tests/inspector/extensions-headers.html
  31449. * inspector/Inspector.idl:
  31450. * inspector/InspectorController.cpp:
  31451. (WebCore::InspectorController::willSendRequest): Apply extra headers.
  31452. (WebCore::InspectorController::setExtraHeaders):
  31453. * inspector/InspectorController.h:
  31454. * inspector/front-end/ExtensionAPI.js:
  31455. (WebInspector.injectedExtensionAPI.Resources.prototype.getHAR):
  31456. (WebInspector.injectedExtensionAPI.Resources.prototype.addRequestHeaders):
  31457. * inspector/front-end/ExtensionServer.js:
  31458. (WebInspector.ExtensionServer):
  31459. (WebInspector.ExtensionServer.prototype._onAddRequestHeaders):
  31460. 2010-12-16 Koan-Sin Tan <koansin.tan@gmail.com>
  31461. Reviewed by Kent Tamura.
  31462. Glyphs in vertical text tests are rotated 90 degrees clockwise on Chromium Linux
  31463. https://bugs.webkit.org/show_bug.cgi?id=50365
  31464. No new tests. But this makes Chromimium Linux show
  31465. fast/blockflow/japanese-*-text.html and other vertical
  31466. writing text correctly as on WebKit and Chromimum for Mac.
  31467. * platform/graphics/chromium/FontCacheLinux.cpp:
  31468. (WebCore::FontCache::createFontPlatformData):
  31469. * platform/graphics/chromium/FontLinux.cpp:
  31470. (WebCore::Font::drawGlyphs):
  31471. * platform/graphics/chromium/FontPlatformDataLinux.cpp:
  31472. (WebCore::FontPlatformData::FontPlatformData):
  31473. (WebCore::FontPlatformData::operator=):
  31474. (WebCore::FontPlatformData::operator==):
  31475. (WebCore::FontPlatformData::hash):
  31476. * platform/graphics/chromium/FontPlatformDataLinux.h:
  31477. (WebCore::FontPlatformData::FontPlatformData):
  31478. (WebCore::FontPlatformData::orientation):
  31479. * platform/graphics/chromium/SimpleFontDataLinux.cpp:
  31480. (WebCore::SimpleFontData::platformInit):
  31481. * platform/graphics/skia/FontCustomPlatformData.cpp:
  31482. (WebCore::FontCustomPlatformData::fontPlatformData):
  31483. * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
  31484. (WebCore::substituteWithVerticalGlyphs):
  31485. (WebCore::GlyphPage::fill):
  31486. 2010-12-16 Yi Shen <yi.4.shen@nokia.com>, Tor Arne Vestbo <tor.arne.vestbo@nokia.com>
  31487. Reviewed by Eric Carlson.
  31488. Provide an interface to require using fullscreen mediaplayer
  31489. https://bugs.webkit.org/show_bug.cgi?id=51133
  31490. Add ChromeClient::requiresFullscreenForVideoPlayback to require webkit
  31491. to launch fullscreen video player for playing the html5 video. The
  31492. idea is that a browser vendor can specify this behavior through the
  31493. platform plugin or something else by using this interface.
  31494. No new tests because no client implements requiresFullscreenForVideoPlayback yet.
  31495. * html/HTMLMediaElement.cpp:
  31496. (WebCore::HTMLMediaElement::updatePlayState):
  31497. (WebCore::HTMLMediaElement::exitFullscreen):
  31498. * page/Chrome.cpp:
  31499. (WebCore::Chrome::requiresFullscreenForVideoPlayback):
  31500. * page/Chrome.h:
  31501. * page/ChromeClient.h:
  31502. (WebCore::ChromeClient::requiresFullscreenForVideoPlayback):
  31503. 2010-12-16 Steve Block <steveblock@google.com>
  31504. Reviewed by Steve Block.
  31505. GeolocationPositionCache needs refactoring
  31506. https://bugs.webkit.org/show_bug.cgi?id=50826
  31507. No new tests, refactoring only.
  31508. * page/Geolocation.cpp:
  31509. (WebCore::Geolocation::Geolocation):
  31510. (WebCore::Geolocation::makeCachedPositionCallbacks):
  31511. (WebCore::Geolocation::haveSuitableCachedPosition):
  31512. (WebCore::Geolocation::positionChangedInternal):
  31513. * page/Geolocation.h:
  31514. * page/GeolocationPositionCache.cpp:
  31515. (WebCore::GeolocationPositionCache::instance):
  31516. (WebCore::GeolocationPositionCache::GeolocationPositionCache):
  31517. (WebCore::GeolocationPositionCache::addUser):
  31518. (WebCore::GeolocationPositionCache::removeUser):
  31519. (WebCore::GeolocationPositionCache::setDatabasePath):
  31520. (WebCore::GeolocationPositionCache::setCachedPosition):
  31521. (WebCore::GeolocationPositionCache::cachedPosition):
  31522. (WebCore::GeolocationPositionCache::readFromDatabase):
  31523. (WebCore::GeolocationPositionCache::writeToDatabase):
  31524. * page/GeolocationPositionCache.h:
  31525. (WebCore::GeolocationPositionCacheWrapper::GeolocationPositionCacheWrapper):
  31526. (WebCore::GeolocationPositionCacheWrapper::~GeolocationPositionCacheWrapper):
  31527. (WebCore::GeolocationPositionCacheWrapper::setCachedPosition):
  31528. (WebCore::GeolocationPositionCacheWrapper::cachedPosition):
  31529. 2010-12-16 Ariya Hidayat <ariya@sencha.com>
  31530. Reviewed by Andreas Kling.
  31531. [Qt] GraphicsContext should respect QWebView render hints
  31532. https://bugs.webkit.org/show_bug.cgi?id=51208
  31533. GraphicsContext does not override SmoothPixmapTransform (see also
  31534. r62762). To keep the same behavior, canvas default image interpolation
  31535. quality is set to medium and QWebView's render hints by default also
  31536. include SmoothPixmapTransform.
  31537. * html/HTMLCanvasElement.h:
  31538. * platform/graphics/qt/GraphicsContextQt.cpp:
  31539. (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
  31540. 2010-12-16 Daniel Bates <dbates@rim.com>
  31541. Formatting fix; un-indent one level all lines in [2793, 2808] (with respect to r74217)
  31542. so as to be consistent with the formatting of the rest of this file.
  31543. Also, add an empty line between the win32* and wince* conditional include blocks.
  31544. * WebCore.pro:
  31545. 2010-12-16 Daniel Bates <dbates@rim.com>
  31546. Reviewed by Antonio Gomes.
  31547. [Qt] Only include ScrollAnimatorWin.h and compile ScrollAnimatorWin.cpp
  31548. on Windows if ENABLE_SMOOTH_SCROLLING=1
  31549. https://bugs.webkit.org/show_bug.cgi?id=51215
  31550. Conditionally include the files ScrollAnimatorWin.h and ScrollAnimatorWin.cpp when building
  31551. the Qt Windows with smooth scrolling enabled.
  31552. No change in functionality since these files are guarded by ENABLE(SMOOTH_SCROLLING).
  31553. * WebCore.pro:
  31554. 2010-12-16 Ryosuke Niwa <rniwa@webkit.org>
  31555. Reviewed by Darin Adler.
  31556. execCommand('JustifyCenter') adds extra BR
  31557. https://bugs.webkit.org/show_bug.cgi?id=51082
  31558. The bug was caused by moveParagraphContentsToNewBlockIfNecessary's adding a placeholder br
  31559. to new block and not removing it later. Fixed the bug by removing it when the paragraph
  31560. moved into the block didn't have a br at the end.
  31561. Test: editing/execCommand/justify.html
  31562. * editing/CompositeEditCommand.cpp:
  31563. (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
  31564. 2010-12-16 Jian Li <jianli@chromium.org>
  31565. Unreviewed. Fixed chromium build break caused by r74207.
  31566. * platform/ContextMenuItem.h:
  31567. 2010-12-16 Leandro Pereira <leandro@profusion.mobi>
  31568. [EFL] Unreviewed build fix.
  31569. Disable ContextMenu support for now while support for
  31570. CROSS_PLATFORM_MENUS is written.
  31571. * CMakeListsEfl.txt:
  31572. * platform/ContextMenu.h:
  31573. * platform/ContextMenuItem.h:
  31574. * platform/efl/ContextMenuEfl.cpp:
  31575. (WebCore::ContextMenu::ContextMenu):
  31576. (WebCore::ContextMenu::getContextMenuItems):
  31577. (WebCore::ContextMenu::createNativeMenuFromItems):
  31578. (WebCore::ContextMenu::nativeMenu):
  31579. * platform/efl/ContextMenuItemEfl.cpp:
  31580. (WebCore::ContextMenuItem::ContextMenuItem):
  31581. (WebCore::ContextMenuItem::~ContextMenuItem):
  31582. (WebCore::ContextMenuItem::nativeMenuItem):
  31583. (WebCore::ContextMenuItem::type):
  31584. (WebCore::ContextMenuItem::setAction):
  31585. (WebCore::ContextMenuItem::action):
  31586. (WebCore::ContextMenuItem::setChecked):
  31587. (WebCore::ContextMenuItem::checked):
  31588. (WebCore::ContextMenuItem::setEnabled):
  31589. (WebCore::ContextMenuItem::enabled):
  31590. (WebCore::ContextMenuItem::setSubMenu):
  31591. 2010-12-16 Ryosuke Niwa <rniwa@webkit.org>
  31592. Reviewed by Darin Adler.
  31593. execCommand('styleWithCSS') is ignored when selection isn't inside a contenteditable area
  31594. https://bugs.webkit.org/show_bug.cgi?id=51164
  31595. Fixed the bug by always enabling the StyleWithCSS command.
  31596. Test: editing/style/stylewithcss-without-selection.html
  31597. * editing/EditorCommand.cpp:
  31598. (WebCore::createCommandMap): StyleWithCSS is enabled rather than enabledInRichlyEditableText.
  31599. 2010-12-16 Anders Carlsson <andersca@apple.com>
  31600. Reviewed by Darin Adler.
  31601. Save the manual plug-in stream data and redeliver it when the plug-in is initialized
  31602. https://bugs.webkit.org/show_bug.cgi?id=51201
  31603. Export SharedBuffer related symbols.
  31604. * WebCore.exp.in:
  31605. 2010-12-16 Pavel Feldman <pfeldman@chromium.org>
  31606. Reviewed by Yury Semikhatsky.
  31607. Web Inspector: timeline records should only operate WebCore time.
  31608. https://bugs.webkit.org/show_bug.cgi?id=51127
  31609. * inspector/InspectorTimelineAgent.cpp:
  31610. (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
  31611. * inspector/TimelineRecordFactory.cpp:
  31612. (WebCore::TimelineRecordFactory::createResourceFinishData):
  31613. * inspector/TimelineRecordFactory.h:
  31614. 2010-12-15 Alexey Proskuryakov <ap@apple.com>
  31615. Reviewed by Darin Adler.
  31616. https://bugs.webkit.org/show_bug.cgi?id=50996
  31617. <rdar://problem/8098862> Consider disabling DNS prefetch when proxy is used
  31618. No new tests, cannot test DNS.
  31619. * platform/network/cf/DNSCFNet.cpp:
  31620. (WebCore::proxyIsEnabledInSystemPreferences): Check if accessing example.com is going to use
  31621. a proxy. This is only an estimate - even with a proxy is configured in system preferences, an
  31622. actual request can go directly to the host if a PAC script says so.
  31623. (WebCore::DNSResolveQueue::add): Check if proxy is enabled when sending immediate requests.
  31624. (WebCore::DNSResolveQueue::fired): Ditto when sending queued ones.
  31625. 2010-12-16 Yury Semikhatsky <yurys@chromium.org>
  31626. Reviewed by Pavel Feldman.
  31627. Web Inspector: Console always scroll to the bottom on new events
  31628. https://bugs.webkit.org/show_bug.cgi?id=51189
  31629. When new messages are added to the console it will auto scroll
  31630. only if it was already scrolled down to the last record.
  31631. * inspector/front-end/ConsoleView.js:
  31632. (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView):
  31633. (WebInspector.ConsoleView.prototype._scheduleScrollIntoView):
  31634. (WebInspector.ConsoleView.prototype._isScrolledToLastMessage):
  31635. (WebInspector.ConsoleView.prototype.addMessage):
  31636. 2010-12-16 Pavel Podivilov <podivilov@chromium.org>
  31637. Reviewed by Yury Semikhatsky.
  31638. Web Inspector: update CallStackSidebarPane placards and status message in the same event handler.
  31639. https://bugs.webkit.org/show_bug.cgi?id=51174
  31640. * inspector/front-end/BreakpointManager.js:
  31641. (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
  31642. (WebInspector.BreakpointManager.prototype._debuggerPaused):
  31643. (WebInspector.BreakpointManager.prototype._debuggerResumed):
  31644. * inspector/front-end/CallStackSidebarPane.js:
  31645. (WebInspector.CallStackSidebarPane):
  31646. (WebInspector.CallStackSidebarPane.prototype.update):
  31647. (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
  31648. * inspector/front-end/DebuggerModel.js:
  31649. (WebInspector.DebuggerModel.prototype.pausedScript):
  31650. * inspector/front-end/ScriptsPanel.js:
  31651. (WebInspector.ScriptsPanel.prototype._debuggerPaused):
  31652. 2010-12-16 Hans Wennborg <hans@chromium.org>
  31653. Reviewed by Jeremy Orlow.
  31654. IndexedDB: Fix IDBDatabaseError code offset bug
  31655. https://bugs.webkit.org/show_bug.cgi?id=51177
  31656. IDBDatabaseError::code() needs to return the error code without
  31657. offset. But when the IDBDatabaseError is created, the code comes with
  31658. an offset (it gets passed a IDBDatabaseException::IDBDatabaseExceptionCode).
  31659. However, in Chromium, IDBDatabaseErrors are sometimes also created via
  31660. WebIDBDatabaseError when they are sent across IPC, and then the error
  31661. code comes *without* offset. Provide a second create() function for
  31662. this case.
  31663. * storage/IDBDatabaseError.h:
  31664. (WebCore::IDBDatabaseError::create):
  31665. (WebCore::IDBDatabaseError::createWithoutOffset):
  31666. (WebCore::IDBDatabaseError::code):
  31667. 2010-12-16 Sheriff Bot <webkit.review.bot@gmail.com>
  31668. Unreviewed, rolling out r74162.
  31669. http://trac.webkit.org/changeset/74162
  31670. https://bugs.webkit.org/show_bug.cgi?id=51185
  31671. More breakage in GTK+ (Requested by xan_ on #webkit).
  31672. * platform/text/TextCodecUTF16.cpp:
  31673. (WebCore::TextCodecUTF16::registerEncodingNames):
  31674. 2010-12-16 Alexander Pavlov <apavlov@chromium.org>
  31675. Reviewed by Pavel Feldman.
  31676. Web Inspector: Up/Down/PageUp/PageDown on a CSS property numeric value commit the value editor
  31677. https://bugs.webkit.org/show_bug.cgi?id=51114
  31678. The r74038 regressed the behaviour. This patch additionally ensures that both Metrics and Styles panes
  31679. are updated once a stylesheet is reverted.
  31680. * inspector/front-end/ElementsPanel.js:
  31681. (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
  31682. (WebInspector.ElementsPanel.prototype._metricsPaneEdited):
  31683. (WebInspector.ElementsPanel.prototype._styleSheetChanged):
  31684. 2010-12-16 Yury Semikhatsky <yurys@chromium.org>
  31685. Unreviewed. Fix Chromium Mac Debug Clang compilation.
  31686. * platform/graphics/FontFastPath.cpp:
  31687. (WebCore::Font::getGlyphsAndAdvancesForSimpleText):
  31688. 2010-12-16 Alejandro G. Castro <alex@igalia.com>
  31689. Unreviewed. Fix GTK3 compilation after 74129.
  31690. * platform/gtk/WidgetRenderingContextGtk3.cpp:
  31691. 2010-12-16 Yury Semikhatsky <yurys@chromium.org>
  31692. Unreviewed. Fix Chromium Debug compilation after r74177
  31693. * platform/graphics/filters/FEComposite.cpp:
  31694. (WebCore::arithmetic):
  31695. 2010-12-16 Kent Tamura <tkent@chromium.org>
  31696. Unreviewed, build fix.
  31697. Fix a warning on 32-bit Mac.
  31698. * platform/graphics/mac/SimpleFontDataMac.mm:
  31699. (WebCore::SimpleFontData::emphasisMarkFontData): 0.5 -> 0.5f
  31700. 2010-12-16 Zoltan Herczeg <zherczeg@webkit.org>
  31701. Reviewed by Dirk Schulze.
  31702. Improve feArithmeticFilter
  31703. https://bugs.webkit.org/show_bug.cgi?id=51105
  31704. In case of the arithmetic operator on feComposite filter, we could use
  31705. different result passing modes depend on its type. Furthermore, the
  31706. number of executed multiplications is reduced if k1 or k4 argument is zero.
  31707. 2% speedup on WebCore/manual-tests/svg-filter-animation.svg
  31708. * platform/graphics/filters/FEComposite.cpp:
  31709. (WebCore::computeArithmeticPixels):
  31710. (WebCore::arithmetic):
  31711. (WebCore::FEComposite::apply):
  31712. 2010-12-15 Brian Weinstein <bweinstein@apple.com>
  31713. Reviewed by Jon Honeycutt.
  31714. WebKit2 should exit auto scrolling mode when losing focus
  31715. https://bugs.webkit.org/show_bug.cgi?id=49209
  31716. When a page loses focus, make sure that we stop the autoscroll timer, which exits pan scrolling mode. We
  31717. don't want to automatically scroll when a page doesn't have focus.
  31718. Updated manual-tests/autoscroll.html with instructions to test this bug.
  31719. * manual-tests/autoscroll.html:
  31720. * page/FocusController.cpp:
  31721. (WebCore::FocusController::setFocused):
  31722. 2010-12-15 Dan Bernstein <mitz@apple.com>
  31723. Reviewed by Darin Adler.
  31724. Font support for the text-emphasis CSS property
  31725. Part of <rdar://problem/7720300> Support the CSS3 text-emphasis property
  31726. https://bugs.webkit.org/show_bug.cgi?id=48539
  31727. * platform/graphics/Font.cpp:
  31728. (WebCore::Font::drawEmphasisMarks): Added. Calls through to drawEmphasisMarksFor{Simple,Complex}Text.
  31729. (WebCore::Font::canReceiveTextEmphasis): Added. For simple text, checks if the character should
  31730. have an emphasis mark.
  31731. * platform/graphics/Font.h:
  31732. * platform/graphics/FontFastPath.cpp:
  31733. (WebCore::Font::glyphDataForCharacter): Replaced the forceSmallCaps boolean with a FontDataVariant
  31734. parameter and made this function work with other variants.
  31735. (WebCore::Font::getEmphasisMarkGlyphData): Added. Returns glyph data for the first character of
  31736. the emphasis mark. This function may not work if the emphasis mark uses a complex script, but none
  31737. of the standard emphasis marks do so.
  31738. (WebCore::Font::emphasisMarkAscent): Added.
  31739. (WebCore::Font::emphasisMarkDescent): Added.
  31740. (WebCore::Font::emphasisMarkHeight): Added.
  31741. (WebCore::Font::getGlyphsAndAdvancesForSimpleText): Moved much of the logic from drawSimpleText()
  31742. into this new function, which also has a ForTextEmphasis parameter, which is passed along to the
  31743. WidthIterator.
  31744. (WebCore::Font::drawSimpleText): Left the drawing part here.
  31745. (WebCore::Font::drawEmphasisMarksForSimpleText): Added.
  31746. (WebCore::Font::drawGlyphBuffer): Removed the unused TextRun parameter.
  31747. (WebCore::offsetToMiddleOfGlyph): Added this helper.
  31748. (WebCore::offsetToMiddleOfGlyphAtIndex): Added this other helper.
  31749. (WebCore::Font::drawEmphasisMarks): Added. Draws emphasis marks for a given glyph buffer by placing
  31750. one mark centered above each glyph. Zero glyphs in the buffer indicate that no mark should be drawn.
  31751. * platform/graphics/GraphicsContext.cpp:
  31752. (WebCore::GraphicsContext::drawEmphasisMarks): Added. Calls through to Font::drawEmphasisMarks().
  31753. * platform/graphics/GraphicsContext.h:
  31754. * platform/graphics/SimpleFontData.cpp:
  31755. (WebCore::SimpleFontData::SimpleFontData): Removed initialization of deleted members.
  31756. (WebCore::SimpleFontData::~SimpleFontData): Removed derived font data cleanup, which now happens
  31757. in ~DerivedFontData.
  31758. (WebCore::SimpleFontData::brokenIdeographFontData): Changed to use m_derivedFontData.
  31759. (WebCore::SimpleFontData::DerivedFontData::DerivedFontData): Added. This lazily-allocated struct
  31760. contains the SimpleFontData for small caps, broken ideograph and emphasis mark.
  31761. (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData): Added.
  31762. * platform/graphics/SimpleFontData.h:
  31763. (WebCore::SimpleFontData::variantFontData): Added. This is used by Font::glyphDataForCharacter().
  31764. * platform/graphics/WidthIterator.cpp:
  31765. (WebCore::WidthIterator::WidthIterator): Added forTextEmphasis parameter.
  31766. (WebCore::WidthIterator::advance): When used for text emphasis, replace glyphs with the zero glyph
  31767. if they should not receive an emphasis mark.
  31768. * platform/graphics/WidthIterator.h:
  31769. * platform/graphics/chromium/FontChromiumWin.cpp:
  31770. (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
  31771. * platform/graphics/chromium/FontLinux.cpp:
  31772. (WebCore::TextRunWalker::nextScriptRun): Updated for change to Font::glyphDataForCharacter().
  31773. (WebCore::TextRunWalker::setupFontForScriptRun): Ditto.
  31774. (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
  31775. * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
  31776. (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
  31777. (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
  31778. (WebCore::SimpleFontData::emphasisMarkFontData): Added.
  31779. * platform/graphics/chromium/SimpleFontDataLinux.cpp:
  31780. (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
  31781. (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
  31782. (WebCore::SimpleFontData::emphasisMarkFontData): Added.
  31783. * platform/graphics/efl/FontEfl.cpp:
  31784. (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
  31785. * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
  31786. (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
  31787. (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
  31788. (WebCore::SimpleFontData::emphasisMarkFontData): Added.
  31789. * platform/graphics/gtk/FontGtk.cpp:
  31790. (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
  31791. * platform/graphics/haiku/FontHaiku.cpp:
  31792. (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
  31793. * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
  31794. (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
  31795. (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
  31796. (WebCore::SimpleFontData::emphasisMarkFontData): Added.
  31797. * platform/graphics/mac/ComplexTextController.cpp:
  31798. (WebCore::ComplexTextController::ComplexTextController): Added forTextEmphasis parameter.
  31799. (WebCore::ComplexTextController::collectComplexTextRuns): Updated for change to Font::glyphDataForCharacter().
  31800. (WebCore::ComplexTextController::adjustGlyphsAndAdvances): When used for text emphasis, replace glyphs with the zero glyph
  31801. if they should not receive an emphasis mark.
  31802. * platform/graphics/mac/ComplexTextController.h:
  31803. * platform/graphics/mac/FontComplexTextMac.cpp:
  31804. (WebCore::Font::getGlyphsAndAdvancesForComplexText): Moved much of the logic from drawComplexText()
  31805. into this new function, which also has a ForTextEmphasis parameter, which is passed along to the
  31806. ComplexTextController.
  31807. (WebCore::Font::drawComplexText): Left the drawing part here.
  31808. (WebCore::Font::drawEmphasisMarksForComplexText): Added.
  31809. * platform/graphics/mac/SimpleFontDataMac.mm:
  31810. (WebCore::SimpleFontData::platformDestroy): Adopted m_derivedFontData.
  31811. (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
  31812. (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
  31813. (WebCore::SimpleFontData::emphasisMarkFontData): Added.
  31814. * platform/graphics/pango/SimpleFontDataPango.cpp:
  31815. (WebCore::SimpleFontData::platformDestroy): Removed redundant clearing of derived font.
  31816. (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
  31817. (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
  31818. (WebCore::SimpleFontData::emphasisMarkFontData): Added.
  31819. * platform/graphics/qt/FontQt.cpp:
  31820. (WebCore::Font::emphasisMarkAscent): Added stub.
  31821. (WebCore::Font::emphasisMarkDescent): Ditto.
  31822. (WebCore::Font::emphasisMarkHeight): Ditto.
  31823. (WebCore::Font::drawEmphasisMarksForSimpleText): Ditto.
  31824. (WebCore::Font::drawEmphasisMarksForComplexText): Ditto.
  31825. * platform/graphics/win/FontWin.cpp:
  31826. (WebCore::Font::getGlyphsAndAdvancesForComplexText): Moved much of the logic from drawComplexText()
  31827. into this new function, which also has a ForTextEmphasis parameter. Currently returns an empty
  31828. glyph buffer for text emphasis.
  31829. (WebCore::Font::drawComplexText): Left the drawing part here.
  31830. (WebCore::Font::drawEmphasisMarksForComplexText): Added.
  31831. * platform/graphics/win/SimpleFontDataWin.cpp:
  31832. (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
  31833. (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
  31834. (WebCore::SimpleFontData::emphasisMarkFontData): Added.
  31835. * platform/graphics/win/UniscribeController.cpp:
  31836. (WebCore::UniscribeController::advance): Updated for change to Font::glyphDataForCharacter().
  31837. * platform/graphics/wince/FontWinCE.cpp:
  31838. (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
  31839. * platform/graphics/wince/SimpleFontDataWinCE.cpp:
  31840. (WebCore::SimpleFontData::platformDestroy): Removed redundant clearing of derived font.
  31841. (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
  31842. (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
  31843. (WebCore::SimpleFontData::emphasisMarkFontData): Added.
  31844. * platform/graphics/wx/FontWx.cpp:
  31845. (WebCore::Font::getGlyphsAndAdvancesForComplexText): Added stub.
  31846. (WebCore::Font::drawComplexText): Updated for removal of unused TextRun parameter to drawGlyphBuffer().
  31847. (WebCore::Font::drawEmphasisMarksForComplexText): Added.
  31848. * platform/graphics/wx/SimpleFontDataWx.cpp:
  31849. (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
  31850. (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
  31851. (WebCore::SimpleFontData::emphasisMarkFontData): Added.
  31852. * platform/text/CharacterNames.h: Added characters used in Font::canReceiveTextEmphasis().
  31853. 2010-12-15 Beth Dakin <bdakin@apple.com>
  31854. Reviewed by Darin Adler.
  31855. Fix for https://bugs.webkit.org/show_bug.cgi?id=51150 WebView's
  31856. _scaleWebView SPI doesn't work on pages with compositing layers
  31857. -and corresponding-
  31858. <rdar://problem/8604713>
  31859. paintingGoesToWindow() should return false if the owning layer has
  31860. a transform.
  31861. * rendering/RenderLayerBacking.cpp:
  31862. (WebCore::RenderLayerBacking::paintingGoesToWindow):
  31863. Use docWidth() and docHeight() instead of rightLayoutOverflow() and
  31864. bottomLayoutOverflow() since docWidth/Height are now the preferred
  31865. way to query physical dimensions of the document.
  31866. * rendering/RenderLayerCompositor.cpp:
  31867. (WebCore::RenderLayerCompositor::updateRootLayerPosition):
  31868. 2010-12-15 Alex Bredariol Grilo <abgrilo@profusion.mobi>
  31869. Reviewed by Eric Seidel.
  31870. [EFL] Fix timer calling time in SharedTimerEfl
  31871. No new features, so no tests added.
  31872. The usage of ecore_timer_loop_add instead of ecore_timer_add corrects
  31873. the problem that the timer is not called at the correct time. Since this
  31874. code runs in a single thread, all multiple thread operations were
  31875. removed.
  31876. * platform/efl/SharedTimerEfl.cpp:
  31877. (WebCore::stopSharedTimer):
  31878. (WebCore::addNewTimer):
  31879. 2010-12-15 Andreas Kling <andreas.kling@nokia.com>
  31880. Reviewed by Ariya Hidayat.
  31881. [Qt] StillImage::draw() shouldn't call setCompositionMode() unless the QPaintEngine has Porter-Duff composition
  31882. https://bugs.webkit.org/show_bug.cgi?id=49918
  31883. Go through GraphicsContext::setCompositeOperation() which does the check for us.
  31884. * platform/graphics/qt/StillImageQt.cpp:
  31885. (WebCore::StillImage::draw):
  31886. 2010-12-15 Yong Li <yoli@rim.com>
  31887. Reviewed by Darin Adler.
  31888. UTF-16 and its variants should be treated as Big Endian when BOM
  31889. is absent.
  31890. https://bugs.webkit.org/show_bug.cgi?id=51035
  31891. Test: fast/encoding/char-decoding.html (changed)
  31892. * platform/text/TextCodecUTF16.cpp:
  31893. (WebCore::TextCodecUTF16::registerEncodingNames):
  31894. 2010-12-15 Simon Fraser <simon.fraser@apple.com>
  31895. Reviewed by Chris Marrin.
  31896. Percentage Z values in 3d transform functions and transform-origin should cause the property to be invalid
  31897. https://bugs.webkit.org/show_bug.cgi?id=51070
  31898. Treat as inavlid -webkit-transform values that include a percentage value in translateZ()
  31899. or in the third parameter to translate3d().
  31900. Test: transforms/3d/general/3dtransform-values.html
  31901. * css/CSSParser.cpp:
  31902. (WebCore::CSSParser::parseTransform):
  31903. (WebCore::CSSParser::parseTransformOrigin): Whitespace change.
  31904. 2010-12-15 Simon Fraser <simon.fraser@apple.com>
  31905. Reviewed by Chris Marrin.
  31906. Reflection does not render properly when -webkit-transform is toggled, untoggled, and retoggled
  31907. https://bugs.webkit.org/show_bug.cgi?id=50967
  31908. If a reflection on a compositied, transformed element is toggled on, off and on,
  31909. then we pick up a cached layer clone that has the wrong transform set on it.
  31910. The fix is to reset those properties on the layer clones that get changed
  31911. when the GraphicsLayer gains a structural layer (for reflection flattening).
  31912. Test: compositing/reflections/remove-add-reflection.html
  31913. * platform/graphics/ca/GraphicsLayerCA.cpp:
  31914. (WebCore::GraphicsLayerCA::ensureStructuralLayer):
  31915. 2010-12-15 Timothy Hatcher <timothy@apple.com>
  31916. Fix a regression where the Web Inspector console would be empty
  31917. if the Inspector is localized.
  31918. https://bugs.webkit.org/show_bug.cgi?id=51145
  31919. Reviewed by Joseph Pecoraro.
  31920. * inspector/front-end/ConsoleView.js:
  31921. (WebInspector.ConsoleView.createFilterElement): Add a label argument so the UI string
  31922. is separate from the classname. Code clean up.
  31923. (WebInspector.ConsoleView.prototype.filter): Remove toLowerCase and use string compare.
  31924. (WebInspector.ConsoleView): Pass separate classnames and labels to createFilterElement.
  31925. 2010-12-15 Simon Fraser <simon.fraser@apple.com>
  31926. Reviewed by Adele Peterson.
  31927. WebKit2 in compositing mode no longer has font smoothing
  31928. https://bugs.webkit.org/show_bug.cgi?id=50733
  31929. Only turn off font smoothing for layers whose contents are
  31930. not opaque. This allows the root GraphicsLayer in WebKit2 to
  31931. set the opaque flag, and get smoothed text.
  31932. * platform/graphics/mac/WebLayer.mm:
  31933. (drawLayerContents):
  31934. 2010-12-15 Simon Fraser <simon.fraser@apple.com>
  31935. Reviewed by Dan Bernstein.
  31936. Allow disabling of font smoothing in compositing layers to be overridden by style
  31937. https://bugs.webkit.org/show_bug.cgi?id=50732
  31938. Add methods to GraphicsContext to get and set font smoothing,
  31939. and have them be part of the graphics state.
  31940. Fix Font::drawGlyphs() to allow the font's smoothing mode (from style)
  31941. to override the current smoothing mode of the context. The global
  31942. shouldUseSmoothing() still has final say.
  31943. Turn off smoothing in compositing layers with this, rather than
  31944. the non-stateful 'allow' method.
  31945. * manual-tests/compositing/font-smoothing.html: Added.
  31946. Manual test because DRT disables font smoothing.
  31947. * platform/graphics/GraphicsContext.cpp:
  31948. (WebCore::GraphicsContext::setShouldSmoothFonts):
  31949. (WebCore::GraphicsContext::shouldSmoothFonts):
  31950. (WebCore::GraphicsContext::setPlatformShouldSmoothFonts):
  31951. * platform/graphics/GraphicsContext.h:
  31952. (WebCore::GraphicsContextState::GraphicsContextState):
  31953. * platform/graphics/cg/GraphicsContextCG.cpp:
  31954. (WebCore::GraphicsContext::setPlatformShouldSmoothFonts):
  31955. * platform/graphics/mac/FontMac.mm:
  31956. (WebCore::Font::drawGlyphs):
  31957. * platform/graphics/mac/WebLayer.mm:
  31958. (drawLayerContents):
  31959. 2010-12-15 Matthew Delaney <mdelaney@apple.com>
  31960. Reviewed by Simon Fraser.
  31961. IOSurface bounds checks on bytesPerRow and allocSize are incorrect
  31962. https://bugs.webkit.org/show_bug.cgi?id=51137
  31963. No new tests added. For those using this new functionality, many current canvas layout tests will now pass.
  31964. * platform/graphics/cg/ImageBufferCG.cpp:
  31965. 2010-12-15 Kenneth Russell <kbr@google.com>
  31966. Reviewed by James Robinson.
  31967. Web Audio API: port FFTFrame to MKL
  31968. https://bugs.webkit.org/show_bug.cgi?id=50986
  31969. Ported FFTFrame to Intel's MKL. This patch contains the port and
  31970. initial, though not complete, build system changes. Tested so far
  31971. with a unit test by Chris Rogers (which requires code changes to
  31972. AudioContext.cpp and is not being checked in). Further testing to
  31973. follow once layout tests are available for the Web Audio API.
  31974. * WebCore.gyp/WebCore.gyp:
  31975. * WebCore.gypi:
  31976. * platform/audio/FFTFrame.h:
  31977. * platform/audio/mkl: Added.
  31978. * platform/audio/mkl/FFTFrameMKL.cpp: Added.
  31979. (WebCore::FFTFrame::FFTFrame):
  31980. (WebCore::FFTFrame::~FFTFrame):
  31981. (WebCore::FFTFrame::multiply):
  31982. (WebCore::FFTFrame::doFFT):
  31983. (WebCore::FFTFrame::doInverseFFT):
  31984. (WebCore::FFTFrame::cleanup):
  31985. (WebCore::FFTFrame::realData):
  31986. (WebCore::FFTFrame::imagData):
  31987. (WebCore::FFTFrame::getUpToDateComplexData):
  31988. (WebCore::FFTFrame::descriptorHandleForSize):
  31989. 2010-12-15 Yong Li <yoli@rim.com>
  31990. Reviewed by Darin Adler.
  31991. Fix stack overflow when there are too many sibling inline boxes by using
  31992. a loop to traverse children instead of calling each sibling from the first child.
  31993. https://bugs.webkit.org/show_bug.cgi?id=48255
  31994. Test: fast/overflow/lots-of-sibling-inline-boxes.html
  31995. * rendering/InlineBox.h:
  31996. (WebCore::InlineBox::setConstructed):
  31997. (WebCore::InlineBox::next):
  31998. * rendering/InlineFlowBox.h:
  31999. (WebCore::InlineFlowBox::setConstructed):
  32000. 2010-12-15 Sam Weinig <sam@webkit.org>
  32001. Reviewed by Anders Carlsson.
  32002. WebKit2: Can't add files to an <input type=file>
  32003. https://bugs.webkit.org/show_bug.cgi?id=51087
  32004. Add exported function.
  32005. * WebCore.exp.in:
  32006. 2010-12-15 Andreas Kling <andreas.kling@nokia.com>
  32007. Reviewed by Antonio Gomes.
  32008. [Qt] screenIsMonochrome() is broken
  32009. https://bugs.webkit.org/show_bug.cgi?id=49957
  32010. * platform/qt/PlatformScreenQt.cpp:
  32011. (WebCore::screenIsMonochrome):
  32012. 2010-12-15 Martin Robinson <mrobinson@igalia.com>
  32013. Reviewed by Gustavo Noronha Silva.
  32014. [GTK] Move button rendering from gtk{2,3}drawing.cpp to RenderThemeGtk
  32015. https://bugs.webkit.org/show_bug.cgi?id=48486
  32016. Implement button rendering in RenderThemeGtk. The implementation
  32017. from gtk{2,3}drawing.cpp will be removed once menu list button rendering
  32018. is implemented in RenderThemeGtk as well.
  32019. No new tests, as this should not change functionality.
  32020. * platform/gtk/RenderThemeGtk.cpp:
  32021. (WebCore::RenderThemeGtk::paintButton): Add an implementation of button
  32022. rendering that uses WidgetRenderingContext.
  32023. 2010-10-18 Martin Robinson <mrobinson@igalia.com>
  32024. Reviewed by Gustavo Noronha Silva.
  32025. [GTK] Move input type=range rendering to RenderThemeGtk
  32026. https://bugs.webkit.org/show_bug.cgi?id=47836
  32027. Begin moving widget rendering out of the old Mozilla theme drawing code,
  32028. which should remove many lines of code when completed. WidgetRenderingContext
  32029. now hides the GTK+ 2 vs. 3 API differences, so that RenderThemeGtk can stay
  32030. version agnostic.
  32031. No new tests as this patch does not change functionality.
  32032. * platform/gtk/RenderThemeGtk.cpp:
  32033. (WebCore::RenderThemeGtk::RenderThemeGtk): gtkContainer() now returns a
  32034. GtkWidget, so update the cast here.
  32035. (WebCore::RenderThemeGtk::getGtkStateType): Added this helper which
  32036. converts a RenderObject state into a GtkStateType.
  32037. (WebCore::RenderThemeGtk::paintRenderObject): Removed work-arounds for
  32038. scale painting, as it's not handled by this method any longer.
  32039. (WebCore::RenderThemeGtk::paintSliderTrack): Updated to use
  32040. WidgetRenderingContext.
  32041. (WebCore::RenderThemeGtk::paintSliderThumb): Ditto.
  32042. (WebCore::RenderThemeGtk::adjustSliderThumbSize): Get the size
  32043. properties directly from the widget now instead of asking the Mozilla code.
  32044. (WebCore::RenderThemeGtk::setupWidgetAndAddToContainer): Added this
  32045. helper which reduces the amount of code quite a bit.
  32046. (WebCore::RenderThemeGtk::gtkContainer): Updated to use helper.
  32047. (WebCore::RenderThemeGtk::gtkButton): Ditto.
  32048. (WebCore::RenderThemeGtk::gtkEntry): Ditto.
  32049. (WebCore::RenderThemeGtk::gtkTreeView): Ditto.
  32050. (WebCore::RenderThemeGtk::gtkVScale): Added.
  32051. (WebCore::RenderThemeGtk::gtkHScale): Added.
  32052. (WebCore::RenderThemeGtk::platformColorsDidChange): Removed
  32053. GTK_CONTAINER cast.
  32054. * platform/gtk/RenderThemeGtk.h: Updated to add new GtkHScale and
  32055. GtkVScale members.
  32056. * platform/gtk/WidgetRenderingContext.h: Aded new methods to proxy
  32057. gtk_paint_box, gtk_paint_focus and gtk_paint_slider.
  32058. * platform/gtk/WidgetRenderingContextGtk2.cpp:
  32059. (WebCore::WidgetRenderingContext::gtkPaintBox): Added.
  32060. (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto.
  32061. (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto.
  32062. * platform/gtk/WidgetRenderingContextGtk3.cpp:
  32063. (WebCore::WidgetRenderingContext::gtkPaintBox): Ditto.
  32064. (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto.
  32065. (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto.
  32066. * platform/gtk/gtk2drawing.c: Removed defunct code!
  32067. (moz_gtk_get_widget_border):
  32068. (moz_gtk_widget_paint):
  32069. * platform/gtk/gtk3drawing.c: Ditto.
  32070. (moz_gtk_get_widget_border):
  32071. (moz_gtk_widget_paint):
  32072. * platform/gtk/gtkdrawing.h:
  32073. 2010-12-15 Sheriff Bot <webkit.review.bot@gmail.com>
  32074. Unreviewed, rolling out r74117.
  32075. http://trac.webkit.org/changeset/74117
  32076. https://bugs.webkit.org/show_bug.cgi?id=51113
  32077. This broke the GTK1 build. (Requested by mrobinson on
  32078. #webkit).
  32079. * GNUmakefile.am:
  32080. * platform/network/soup/cache/webkit/soup-cache.h:
  32081. 2010-12-15 Jian Li <jianli@chromium.org>
  32082. Unreviewed. Fixed a clang compiling error by making the forward
  32083. declaration of MediaPlayerFactory be consistent with the definition.
  32084. * platform/graphics/MediaPlayer.h:
  32085. 2010-12-15 David Hyatt <hyatt@apple.com>
  32086. Reviewed by Simon Fraser.
  32087. Rename pageY to pageLogicalOffset, since for vertical writing modes it is an x-position rather than a
  32088. y-position.
  32089. * rendering/LayoutState.cpp:
  32090. (WebCore::LayoutState::pageLogicalOffset):
  32091. (WebCore::LayoutState::addForcedColumnBreak):
  32092. * rendering/LayoutState.h:
  32093. * rendering/RenderBlock.cpp:
  32094. (WebCore::RenderBlock::layoutBlock):
  32095. (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
  32096. (WebCore::RenderBlock::layoutColumns):
  32097. (WebCore::RenderBlock::setPageLogicalOffset):
  32098. * rendering/RenderBlock.h:
  32099. (WebCore::RenderBlock::pageLogicalOffset):
  32100. (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
  32101. * rendering/RenderFlexibleBox.cpp:
  32102. (WebCore::RenderFlexibleBox::layoutBlock):
  32103. * rendering/RenderTable.cpp:
  32104. (WebCore::RenderTable::layout):
  32105. * rendering/RenderTableRow.cpp:
  32106. (WebCore::RenderTableRow::layout):
  32107. * rendering/RenderTableSection.cpp:
  32108. (WebCore::RenderTableSection::layoutRows):
  32109. 2010-12-13 Pavel Podivilov <podivilov@chromium.org>
  32110. Reviewed by Pavel Feldman.
  32111. Web Inspector: move scripts storage from ScriptsPanel to DebuggerModel.
  32112. https://bugs.webkit.org/show_bug.cgi?id=50908
  32113. * inspector/front-end/BreakpointManager.js:
  32114. (WebInspector.BreakpointManager):
  32115. (WebInspector.BreakpointManager.prototype._debuggerPaused):
  32116. * inspector/front-end/CallStackSidebarPane.js:
  32117. (WebInspector.CallStackSidebarPane):
  32118. (WebInspector.CallStackSidebarPane.prototype.update):
  32119. * inspector/front-end/DebuggerModel.js:
  32120. (WebInspector.DebuggerModel):
  32121. (WebInspector.DebuggerModel.prototype.setBreakpoint):
  32122. (WebInspector.DebuggerModel.prototype._setBreakpoint):
  32123. (WebInspector.DebuggerModel.prototype.scriptForSourceID):
  32124. (WebInspector.DebuggerModel.prototype.scriptsForURL):
  32125. (WebInspector.DebuggerModel.prototype.queryScripts):
  32126. (WebInspector.DebuggerModel.prototype.parsedScriptSource):
  32127. (WebInspector.DebuggerModel.prototype.failedToParseScriptSource):
  32128. (WebInspector.DebuggerModel.prototype.breakpointRestored):
  32129. (WebInspector.DebuggerModel.prototype.debuggerPaused):
  32130. (WebInspector.DebuggerModel.prototype.debuggerResumed):
  32131. * inspector/front-end/Resource.js:
  32132. * inspector/front-end/ScriptsPanel.js:
  32133. (WebInspector.ScriptsPanel): eliminate sourceIDMap
  32134. * inspector/front-end/SourceFrame.js:
  32135. (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
  32136. (WebInspector.SourceFrame.prototype._setBreakpoint):
  32137. * inspector/front-end/SourceView.js:
  32138. (WebInspector.SourceView):
  32139. * inspector/front-end/inspector.js:
  32140. (WebInspector.createJSBreakpointsSidebarPane):
  32141. (WebInspector.parsedScriptSource):
  32142. (WebInspector.failedToParseScriptSource):
  32143. 2010-12-15 Eric Carlson <eric.carlson@apple.com>
  32144. Reviewed by Darin Adler.
  32145. MediaPlayer should try all installed media engines
  32146. https://bugs.webkit.org/show_bug.cgi?id=50209
  32147. * platform/graphics/MediaPlayer.cpp:
  32148. (WebCore::bestMediaEngineForTypeAndCodecs): Rename from chooseBestEngineForTypeAndCodecs. Take optional
  32149. parameter for current engine.
  32150. (WebCore::nextMediaEngine): New, return the next media engine in the list.
  32151. (WebCore::MediaPlayer::MediaPlayer): Initialize reload timer.
  32152. (WebCore::MediaPlayer::load): Store url, mime type, and codecs parameter in member variables.
  32153. (WebCore::MediaPlayer::loadWithNextMediaEngine): New, initiate loading with the next media engine.
  32154. (WebCore::MediaPlayer::supportsType): Make contentType parameter const.
  32155. (WebCore::MediaPlayer::reloadTimerFired): New, call loadWithNextMediaEngine.
  32156. (WebCore::MediaPlayer::networkStateChanged): If network state signals a failure and the file's
  32157. metadata has not loaded, give the next installed engine a try.
  32158. * platform/graphics/MediaPlayer.h:
  32159. 2010-12-15 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com>
  32160. Reviewed by Martin Robinson.
  32161. Changes to enable building WebKit2 for Gtk port
  32162. (https://bugs.webkit.org/show_bug.cgi?id=37369)
  32163. No new functionality added or deleted. Only makefile change. Hence, no tests added.
  32164. * GNUmakefile.am: Removed bindings/gobject from webcore_sources & webcore_cppflags and added them to WebKit/gtk/GNUmakefile.am
  32165. * platform/network/soup/cache/webkit/soup-cache.h: Remove include <webkit/webkitdefines.h> and declare WEBKIT_API directly
  32166. 2010-12-15 Jarred Nicholls <jarred@sencha.com>
  32167. Reviewed by Andreas Kling.
  32168. [Qt] Implement the File API spec
  32169. https://bugs.webkit.org/show_bug.cgi?id=49839
  32170. No new tests. fast/files tests work when manually operated.
  32171. They do not automatically work due to Qt's inability to handle multi-file
  32172. inputs (https://bugs.webkit.org/show_bug.cgi?id=22048) as well as Qt's DRT
  32173. is missing an eventSender.beginDragWithFiles implementation.
  32174. * WebCore.pri:
  32175. * WebCore.pro:
  32176. * features.pri:
  32177. * platform/qt/FileSystemQt.cpp:
  32178. (WebCore::directoryName):
  32179. (WebCore::readFromFile):
  32180. (WebCore::seekFile):
  32181. 2010-12-14 Antti Koivisto <antti@apple.com>
  32182. Reviewed by Alexey Proskuryakov.
  32183. https://bugs.webkit.org/show_bug.cgi?id=49548
  32184. WebCore cache stores duplicate copies of subresources with URL fragments
  32185. - Strip fragment identifiers from HTTP and file URLs for the memory cache.
  32186. - Changed some CachedResourceLoader and MemoryCache interfaces to use KURLs
  32187. instead of strings to reduce repeated URL parsing.
  32188. Test: http/tests/cache/subresource-fragment-identifier.html
  32189. * inspector/InspectorResourceAgent.cpp:
  32190. (WebCore::InspectorResourceAgent::cachedResource):
  32191. * loader/FrameLoader.cpp:
  32192. (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads):
  32193. * loader/cache/CachedResource.cpp:
  32194. (WebCore::CachedResource::~CachedResource):
  32195. * loader/cache/CachedResourceLoader.cpp:
  32196. (WebCore::CachedResourceLoader::cachedResource):
  32197. (WebCore::CachedResourceLoader::checkForReload):
  32198. (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
  32199. (WebCore::CachedResourceLoader::requestResource):
  32200. * loader/cache/CachedResourceLoader.h:
  32201. * loader/cache/MemoryCache.cpp:
  32202. (WebCore::MemoryCache::requestResource):
  32203. (WebCore::MemoryCache::requestUserCSSStyleSheet):
  32204. (WebCore::MemoryCache::removeFragmentIdentifierIfNeeded):
  32205. (WebCore::MemoryCache::resourceForURL):
  32206. * loader/cache/MemoryCache.h:
  32207. 2010-12-15 Anton Muhin <antonm@chromium.org>
  32208. Reviewed by David Levin.
  32209. [v8] Next round of CSS GC story: proper grouping of CSSStyleDeclarations
  32210. https://bugs.webkit.org/show_bug.cgi?id=50965
  32211. * bindings/v8/V8GCController.cpp:
  32212. (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
  32213. (WebCore::DOMObjectGrouperVisitor::addAllItems):
  32214. 2010-12-13 Pavel Podivilov <podivilov@chromium.org>
  32215. Reviewed by Yury Semikhatsky.
  32216. Web Inspector: push persistent breakpoints into backend state cookie so they hit on navigation.
  32217. https://bugs.webkit.org/show_bug.cgi?id=48858
  32218. BreakpointManager pushes all persistent breakpoints to backend when loaded.
  32219. InspectorController restores sticky breakpoints from cookie on navigation.
  32220. * inspector/Inspector.idl:
  32221. * inspector/InspectorController.cpp:
  32222. (WebCore::InspectorController::InspectorController):
  32223. (WebCore::InspectorController::disconnectFrontend):
  32224. (WebCore::InspectorController::didCommitLoad):
  32225. (WebCore::InspectorController::setStickyBreakpoints):
  32226. (WebCore::InspectorController::restoreStickyBreakpoints):
  32227. (WebCore::InspectorController::restoreStickyBreakpoint):
  32228. * inspector/InspectorController.h:
  32229. * inspector/InspectorState.cpp:
  32230. (WebCore::InspectorState::InspectorState):
  32231. (WebCore::InspectorState::getObject):
  32232. (WebCore::InspectorState::setObject):
  32233. (WebCore::InspectorState::registerObject):
  32234. * inspector/InspectorState.h:
  32235. * inspector/front-end/BreakpointManager.js:
  32236. (WebInspector.BreakpointManager):
  32237. * inspector/front-end/BreakpointsSidebarPane.js:
  32238. (WebInspector.BreakpointsSidebarPane):
  32239. (WebInspector.BreakpointsSidebarPane.prototype._removeListElement):
  32240. (WebInspector.BreakpointsSidebarPane.prototype._projectChanged):
  32241. (WebInspector.EventListenerBreakpointsSidebarPane):
  32242. (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
  32243. (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointAdded):
  32244. (WebInspector.EventListenerBreakpointsSidebarPane.prototype._projectChanged):
  32245. * inspector/front-end/CallStackSidebarPane.js:
  32246. (WebInspector.CallStackSidebarPane):
  32247. * inspector/front-end/ElementsPanel.js:
  32248. (WebInspector.ElementsPanel.prototype.reset):
  32249. * inspector/front-end/ScriptsPanel.js:
  32250. (WebInspector.ScriptsPanel.prototype.reset):
  32251. * inspector/front-end/Settings.js:
  32252. (WebInspector.Settings.prototype.inspectedURLChanged):
  32253. (WebInspector.Settings.prototype.get projectId):
  32254. (WebInspector.Settings.prototype.findSettingForAllProjects):
  32255. (WebInspector.Settings.prototype._formatProjectKey):
  32256. * inspector/front-end/inspector.js:
  32257. (WebInspector.createDOMBreakpointsSidebarPane):
  32258. (WebInspector.createXHRBreakpointsSidebarPane):
  32259. (WebInspector.reset):
  32260. (WebInspector.inspectedURLChanged):
  32261. 2010-12-15 Mario Sanchez Prada <msanchez@igalia.com>
  32262. Unreviewed, fix compilation warnings after r74066.
  32263. * rendering/RenderBox.cpp:
  32264. (WebCore::layersUseImage): Place this static function between the
  32265. same if-def region used in the only place where it's called from.
  32266. 2010-12-15 Emil Eklund <eae@chromium.org>
  32267. Reviewed by Adam Barth.
  32268. Change ContainerNode::willRemoveChildren to not fire mutation events for children
  32269. added as a result of a mutation event, thereby avoiding an infinite loop.
  32270. https://bugs.webkit.org/show_bug.cgi?id=51079
  32271. Test: fast/dom/containerNode.html
  32272. * dom/ContainerNode.cpp:
  32273. (WebCore::willRemoveChildren): Don't fire mutation events for children added during a mutation event.
  32274. 2010-12-14 Dan Bernstein <mitz@apple.com>
  32275. Reviewed by Maciej Stachowiak.
  32276. <rdar://problem/8767193> REGRESSION (r60822): caps-lock-indicator is accepted as a -webkit-appearance value
  32277. https://bugs.webkit.org/show_bug.cgi?id=51096
  32278. Test: fast/css/appearance-caps-lock-indicator.html
  32279. * css/CSSValueKeywords.in: Moved caps-lock-indicator outside the range of values that should be
  32280. accepted by the parser, and added comments about maintaining the list of appearance values.
  32281. * platform/ThemeTypes.h: Moved CapsLockIndicatorPart to the end of the ControlPart enum.
  32282. 2010-12-14 takano takumi <takano@apple.com>
  32283. Reviewed by Dan Bernstein.
  32284. text-combine value names have been changed in the css3 proposal.
  32285. https://bugs.webkit.org/show_bug.cgi?id=51089
  32286. Changed text-combine's value names from "none|cluster|upright" to "none|horizontal".
  32287. * css/CSSParser.cpp: Changed value name.
  32288. (WebCore::CSSParser::parseValue):
  32289. * css/CSSPrimitiveValueMappings.h: Changed value name.
  32290. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  32291. (WebCore::CSSPrimitiveValue::operator TextCombine):
  32292. * css/CSSValueKeywords.in: No more text-combine specific values needed since
  32293. "horizontal" is already there.
  32294. * rendering/style/RenderStyleConstants.h: Changed value name.
  32295. * rendering/style/StyleRareNonInheritedData.h: Changed textCombine field size.
  32296. 2010-12-14 Koan-Sin Tan <koansin.tan@gmail.com>
  32297. Reviewed by Alexey Proskuryakov.
  32298. Kana should be part of CJK Ideographs in WebCore/platform/graphics/Font.cpp
  32299. https://bugs.webkit.org/show_bug.cgi?id=51012
  32300. Kana should be displayed correctly in vertical text with broken font.
  32301. Test: fast/blockflow/japanese-rl-text-with-broken-font.html
  32302. * platform/graphics/Font.cpp:
  32303. (WebCore::Font::isCJKIdeographOrSymbol): add katakana, hiraganna, and Halfwidth and Fullwidth Forms
  32304. 2010-12-14 Dan Bernstein <mitz@apple.com>
  32305. Reviewed by Sam Weinig.
  32306. Additional RenderStyle support for the text-emphasis CSS property
  32307. Part of <rdar://problem/7720300> Support the CSS3 text-emphasis property
  32308. https://bugs.webkit.org/show_bug.cgi?id=48539
  32309. No test possible, since this is just adding a function to be used by upcoming patches.
  32310. * platform/text/CharacterNames.h: Added characters used as emphasis marks.
  32311. * rendering/style/RenderStyle.cpp:
  32312. (WebCore::RenderStyle::textEmphasisMarkString): Added. Returns a string containing the
  32313. emphasis mark, or the null AtomicString if there is none.
  32314. * rendering/style/RenderStyle.h:
  32315. 2010-12-14 Anton D'Auria <adauria@apple.com>
  32316. Reviewed by Darin Adler.
  32317. Do not allow access to existing HTML5 databases in private browsing
  32318. mode https://bugs.webkit.org/show_bug.cgi?id=49332
  32319. Test: storage/private-browsing-noread-nowrite.html
  32320. Previously, read-only transactions and private browsing mode were
  32321. represented by the same SQLStatement and DatabaseAuthorizer states.
  32322. This patch removes the m_readOnly member variable from SQLStatement and
  32323. DatabaseAuthorizer, and replaces it with m_permissions whose bit fields
  32324. are initialized by a DatabaseAuthorizer enum Permissions (ReadWrite,
  32325. ReadOnly, NoAccess). A read-only transaction sets permissions to
  32326. ReadOnly, and if !m_database->scriptExecutionContext()->allowDatabaseAccess(),
  32327. then permissions also set to NoAccess.
  32328. * dom/Document.cpp:
  32329. (WebCore::Document::allowDatabaseAccess): this method was previously
  32330. called isDatabaseReadOnly. It checks if private browsing preference is
  32331. set. This method is renamed because it is used to check if private
  32332. browsing restricts access to databases.
  32333. * dom/Document.h:
  32334. * dom/ScriptExecutionContext.h:
  32335. * storage/AbstractDatabase.cpp:
  32336. (WebCore::AbstractDatabase::setAuthorizerPermissions):
  32337. * storage/AbstractDatabase.h:
  32338. * storage/DatabaseAuthorizer.cpp:
  32339. (WebCore::DatabaseAuthorizer::reset):
  32340. (WebCore::DatabaseAuthorizer::createTable):
  32341. (WebCore::DatabaseAuthorizer::createTempTable):
  32342. (WebCore::DatabaseAuthorizer::dropTable):
  32343. (WebCore::DatabaseAuthorizer::dropTempTable):
  32344. (WebCore::DatabaseAuthorizer::allowAlterTable):
  32345. (WebCore::DatabaseAuthorizer::createIndex):
  32346. (WebCore::DatabaseAuthorizer::createTempIndex):
  32347. (WebCore::DatabaseAuthorizer::dropIndex):
  32348. (WebCore::DatabaseAuthorizer::dropTempIndex):
  32349. (WebCore::DatabaseAuthorizer::createTrigger):
  32350. (WebCore::DatabaseAuthorizer::createTempTrigger):
  32351. (WebCore::DatabaseAuthorizer::dropTrigger):
  32352. (WebCore::DatabaseAuthorizer::dropTempTrigger):
  32353. (WebCore::DatabaseAuthorizer::createView):
  32354. (WebCore::DatabaseAuthorizer::createTempView):
  32355. (WebCore::DatabaseAuthorizer::dropView):
  32356. (WebCore::DatabaseAuthorizer::dropTempView):
  32357. (WebCore::DatabaseAuthorizer::createVTable):
  32358. (WebCore::DatabaseAuthorizer::dropVTable):
  32359. (WebCore::DatabaseAuthorizer::allowDelete):
  32360. (WebCore::DatabaseAuthorizer::allowInsert):
  32361. (WebCore::DatabaseAuthorizer::allowUpdate):
  32362. (WebCore::DatabaseAuthorizer::allowRead):
  32363. (WebCore::DatabaseAuthorizer::allowReindex):
  32364. (WebCore::DatabaseAuthorizer::allowWrite): a new private method that
  32365. checks if DatabaseAuthorizer is enabled and if it is in ReadOnly or
  32366. NoAccess mode.
  32367. (WebCore::DatabaseAuthorizer::setReadOnly):
  32368. (WebCore::DatabaseAuthorizer::setPermissions):
  32369. * storage/DatabaseAuthorizer.h:
  32370. * storage/SQLStatement.cpp:
  32371. (WebCore::SQLStatement::create):
  32372. (WebCore::SQLStatement::SQLStatement):
  32373. (WebCore::SQLStatement::execute):
  32374. * storage/SQLStatement.h:
  32375. * storage/SQLStatementSync.cpp:
  32376. (WebCore::SQLStatementSync::SQLStatementSync):
  32377. (WebCore::SQLStatementSync::execute):
  32378. * storage/SQLStatementSync.h:
  32379. * storage/SQLTransaction.cpp:
  32380. (WebCore::SQLTransaction::executeSQL):
  32381. * storage/SQLTransactionSync.cpp:
  32382. (WebCore::SQLTransactionSync::executeSQL):
  32383. * workers/WorkerContext.h:
  32384. (WebCore::WorkerContext::allowDatabaseAccess):
  32385. 2010-12-02 MORITA Hajime <morrita@google.com>
  32386. Reviewed by Dimitri Glazkov.
  32387. [chromium] Fix drawing of inset box shadows
  32388. https://bugs.webkit.org/show_bug.cgi?id=41576
  32389. When clearing outside clipped path, the context contains unexpected transform.
  32390. Fixed to restore original state before the clear.
  32391. * platform/graphics/skia/PlatformContextSkia.cpp:
  32392. (WebCore::PlatformContextSkia::clipPathAntiAliased):
  32393. (WebCore::PlatformContextSkia::applyAntiAliasedClipPaths):
  32394. 2010-12-14 Anders Carlsson <andersca@apple.com>
  32395. Reviewed by Sam Weinig.
  32396. Mouse Events Not Received in Run Applet in their Own Process Mode
  32397. https://bugs.webkit.org/show_bug.cgi?id=51078
  32398. <rdar://problem/8333491>
  32399. Make sure that Widget::handleEvent is called for applets as well.
  32400. * html/HTMLAppletElement.cpp:
  32401. (WebCore::HTMLAppletElement::defaultEventHandler):
  32402. * html/HTMLAppletElement.h:
  32403. 2010-12-14 Simon Fraser <simon.fraser@apple.com>
  32404. Reviewed by Chris Marrin.
  32405. Parts of page disappear
  32406. https://bugs.webkit.org/show_bug.cgi?id=41701
  32407. The page has text-indent: -1000000px on an element that becomes
  32408. compositing, causing a huge tiled layer to get created.
  32409. r63452 aimed to fix this by clamping layer bounds to the viewport,
  32410. but did not do so for pages running accelerated animations (since
  32411. we don't want to clamp for transform animations). However, this
  32412. page only has an opacity animation.
  32413. So refine the logic added for r63452 to only call setCompositingConsultsOverlap(false)
  32414. for transform animations.
  32415. Test: compositing/geometry/limit-layer-bounds-opacity-transition.html
  32416. * rendering/RenderLayerBacking.cpp:
  32417. (WebCore::RenderLayerBacking::startAnimation): call didStartAcceleratedAnimation()
  32418. with the appropriate properties, and clean up confusing logic that was used to
  32419. compute the return value. We want to return true if either property is accelerated.
  32420. (WebCore::RenderLayerBacking::startTransition): Call didStartAcceleratedAnimation()
  32421. with the appropriate property.
  32422. * rendering/RenderLayerCompositor.h:
  32423. * rendering/RenderLayerCompositor.cpp:
  32424. (WebCore::RenderLayerCompositor::didStartAcceleratedAnimation): Pass the property in,
  32425. and only turn off overlap testing if we see a transform animation.
  32426. 2010-12-14 Brady Eidson <beidson@apple.com>
  32427. Reviewed by Alexey Proskuryakov.
  32428. <rdar://problem/8225016> and https://bugs.webkit.org/show_bug.cgi?id=40138
  32429. Authorization header is sent from an HTTP Auth protected site on redirect
  32430. Test: http/tests/misc/authentication-sent-to-redirect.html
  32431. Add helper to clear the Auth headers from a resource request:
  32432. * platform/network/ResourceRequestBase.cpp:
  32433. (WebCore::ResourceRequestBase::clearHTTPAuthorization):
  32434. * platform/network/ResourceRequestBase.h:
  32435. Only Mac and Windows CFNetwork ports seem to have this problem, so plug it for them:
  32436. * platform/network/cf/ResourceHandleCFNet.cpp:
  32437. (WebCore::ResourceHandle::willSendRequest):
  32438. * platform/network/mac/ResourceHandleMac.mm:
  32439. (WebCore::ResourceHandle::willSendRequest):
  32440. 2010-12-14 Simon Fraser <simon.fraser@apple.com>
  32441. Reviewed by Chris Marrin.
  32442. Crash in WebCore::GraphicsLayer::paintGraphicsLayerContents() loading this URL
  32443. https://bugs.webkit.org/show_bug.cgi?id=51072
  32444. Fix a crash when painting a layer whose PlatformCALayer has been deleted,
  32445. by clearing the PlatformCALayer value on the CALayer when the PlatformCALayer
  32446. is destroyed.
  32447. I was not able to reduce the page to a simple testcase.
  32448. * platform/graphics/ca/mac/PlatformCALayerMac.mm:
  32449. (PlatformCALayer::~PlatformCALayer):
  32450. 2010-12-14 Laszlo Gombos <laszlo.1.gombos@nokia.com>
  32451. Unreviewed, build fix.
  32452. [Qt] Fix the list of header files in WebCore.pro after r74049.
  32453. No new tests as there is no new functionality.
  32454. * WebCore.pro:
  32455. 2010-12-14 Yael Aharon <yael.aharon@nokia.com>
  32456. Reviewed by Andreas Kling.
  32457. [Qt] Focus rings are ugly, rects should be united instead of drawn individually
  32458. https://bugs.webkit.org/show_bug.cgi?id=49953
  32459. Create a QPainterPath and add to it the focus rects, one at a time.
  32460. Combine the 2 drawFocusRing functions into one function drawFocusRingForPath.
  32461. Tests: fast/css/focus-ring-detached.html
  32462. fast/css/focus-ring-multiline.html
  32463. * platform/graphics/qt/GraphicsContextQt.cpp:
  32464. (WebCore::drawFocusRingForPath):
  32465. (WebCore::GraphicsContext::drawFocusRing):
  32466. 2010-12-14 Mark Rowe <mrowe@apple.com>
  32467. Fix the Qt build.
  32468. * xml/XSLTProcessorQt.cpp:
  32469. (WebCore::XSLTProcessor::transformToString): Make the conversion to QString explicit
  32470. since QVariant can be constructed from either a QString or a bool.
  32471. 2010-12-14 Simon Fraser <simon.fraser@apple.com>
  32472. Reviewed by Dan Bernstein.
  32473. compositing/masks/simple-composited-mask.html failure
  32474. https://bugs.webkit.org/show_bug.cgi?id=49746
  32475. Geometry of composited layers with a mask depends on the loading
  32476. of the mask image, since maskClipRect() is used for the layer bounds.
  32477. So when RenderBox::imageChanged() is called for an image used by
  32478. a mask on a layer with a composited mask, call the newly-renamed
  32479. layer->contentsChanged() method. This percolates down into RenderLayerBacking,
  32480. ending in a layer geometry update.
  32481. Renamed RenderLayer::rendereContentsChanged() to contentsChanged() and added
  32482. an enum to say what changed, for somewhat more efficient updating.
  32483. Also, when the mask layer gets resized, make sure we mark it as needing
  32484. display.
  32485. Tested by pixel result of compositing/masks/simple-composited-mask.html
  32486. * html/canvas/CanvasRenderingContext2D.cpp:
  32487. (WebCore::CanvasRenderingContext2D::didDraw):
  32488. * html/canvas/WebGLRenderingContext.cpp:
  32489. (WebCore::WebGLRenderingContext::markContextChanged):
  32490. (WebCore::WebGLRenderingContext::reshape):
  32491. * rendering/RenderBox.cpp:
  32492. (WebCore::layersUseImage):
  32493. (WebCore::RenderBox::imageChanged):
  32494. * rendering/RenderImage.cpp:
  32495. (WebCore::RenderImage::imageDimensionsChanged):
  32496. (WebCore::RenderImage::notifyFinished):
  32497. * rendering/RenderLayer.cpp:
  32498. (WebCore::RenderLayer::contentChanged):
  32499. * rendering/RenderLayer.h:
  32500. * rendering/RenderLayerBacking.cpp:
  32501. (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
  32502. (WebCore::RenderLayerBacking::contentChanged):
  32503. * rendering/RenderLayerBacking.h:
  32504. * rendering/RenderVideo.cpp:
  32505. (WebCore::RenderVideo::updatePlayer):
  32506. 2010-12-14 Mark Rowe <mrowe@apple.com>
  32507. Reviewed by Sam Weinig.
  32508. <http://webkit.org/b/51064> Reproducible crash inside WebCore::MediaPlayerPrivateQTKit::createQTMovie when loading <video>
  32509. We were crashing inside MediaPlayerPrivateQTKit::createQTMovie as we were passing a null URL in
  32510. to CFNetworkCopyProxiesForURL. This happened because we were null-checking the URL incorrectly.
  32511. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  32512. (WebCore::MediaPlayerPrivateQTKit::resumeLoad): Explicitly test for a null string.
  32513. 2010-12-14 David Hyatt <hyatt@apple.com>
  32514. Reviewed by Dan Bernstein.
  32515. https://bugs.webkit.org/show_bug.cgi?id=50970
  32516. It's arguably a bug, but we don't let inline flow layers paint floating
  32517. descendants. The containing block of the inline flow paints them instead.
  32518. However our shouldPaint logic has always been flawed and has turned off propagation
  32519. of painting when an inline flow layer is enclosing the float.
  32520. Change enclosingSelfPaintingLayer to enclosingFloatPaintingLayer to be more precise
  32521. and for now limit it to RenderBoxes.
  32522. Added fast/block/float/floatstack.html
  32523. * rendering/RenderBlock.cpp:
  32524. (WebCore::RenderBlock::addOverhangingFloats):
  32525. * rendering/RenderBox.cpp:
  32526. (WebCore::RenderBox::enclosingFloatPaintingLayer):
  32527. * rendering/RenderBox.h:
  32528. * rendering/RenderObject.cpp:
  32529. * rendering/RenderObject.h:
  32530. 2010-12-14 Mihai Parparita <mihaip@chromium.org>
  32531. Reviewed by Dimitri Glazkov.
  32532. Move asynchronous event dispatching out of Document
  32533. https://bugs.webkit.org/show_bug.cgi?id=49785
  32534. Move asynchonous event code out of Document and into a standalone
  32535. EventQueue class (which supports async events for both regular nodes
  32536. and the window object).
  32537. No new tests necessary, since no new functionality is exposed (existing
  32538. layout tests pass).
  32539. * Android.mk:
  32540. * CMakeLists.txt:
  32541. * GNUmakefile.am:
  32542. * WebCore.gypi:
  32543. * WebCore.pro:
  32544. * WebCore.vcproj/WebCore.vcproj:
  32545. * WebCore.xcodeproj/project.pbxproj:
  32546. * dom/Document.cpp:
  32547. (WebCore::Document::Document):
  32548. (WebCore::Document::enqueueWindowEvent):
  32549. (WebCore::Document::enqueueHashchangeEvent):
  32550. * dom/DOMAllInOne.cpp:
  32551. (WebCore::Document::eventQueue):
  32552. * dom/Document.h:
  32553. * dom/EventQueue.cpp: Added.
  32554. (WebCore::EventQueue::EventQueue):
  32555. (WebCore::EventQueue::enqueueEvent):
  32556. (WebCore::EventQueue::pendingEventTimerFired):
  32557. (WebCore::EventQueue::dispatchEvent):
  32558. * dom/EventQueue.h: Added.
  32559. * storage/StorageEventDispatcher.cpp:
  32560. (WebCore::StorageEventDispatcher::dispatch):
  32561. 2010-12-14 Kyounga Ra <kyounga.ra@gmail.com>
  32562. Reviewed by Adam Barth.
  32563. <noscript> is rendered with enabled XHTMLMP.
  32564. https://bugs.webkit.org/show_bug.cgi?id=48493
  32565. * html/HTMLElement.cpp:
  32566. (WebCore::HTMLElement::rendererIsNeeded):
  32567. 2010-12-14 Laszlo Gombos <laszlo.1.gombos@nokia.com>
  32568. Reviewed by Eric Seidel.
  32569. [Qt] [Symbian] Do not use pkg-config on Symbian as it is not supported
  32570. https://bugs.webkit.org/show_bug.cgi?id=50231
  32571. No new tests as there is no new functionality.
  32572. Guard CONFIG+=link_pkgconfig with !symbian.
  32573. * WebCore.pro:
  32574. 2010-12-14 Sheriff Bot <webkit.review.bot@gmail.com>
  32575. Unreviewed, rolling out r74040.
  32576. http://trac.webkit.org/changeset/74040
  32577. https://bugs.webkit.org/show_bug.cgi?id=51050
  32578. Breaks 2d.shadow.canvas.transparent.2 and
  32579. 2d.shadow.image.transparent.2 (Requested by helder on
  32580. #webkit).
  32581. * platform/graphics/ContextShadow.cpp:
  32582. (WebCore::ContextShadow::ContextShadow):
  32583. (WebCore::ContextShadow::calculateLayerBoundingRect):
  32584. * platform/graphics/ContextShadow.h:
  32585. (WebCore::ContextShadow::offset):
  32586. * platform/graphics/qt/ContextShadowQt.cpp:
  32587. (WebCore::ContextShadow::beginShadowLayer):
  32588. (WebCore::ContextShadow::endShadowLayer):
  32589. * platform/graphics/qt/GraphicsContextQt.cpp:
  32590. (WebCore::GraphicsContext::fillPath):
  32591. (WebCore::GraphicsContext::strokePath):
  32592. (WebCore::GraphicsContext::fillRect):
  32593. (WebCore::GraphicsContext::fillRoundedRect):
  32594. (WebCore::GraphicsContext::setPlatformShadow):
  32595. 2010-12-14 Nate Chapin <japhet@chromium.org>
  32596. Unreviewed, fixing qt (hopefully for real this time).
  32597. Remove a couple more references to loader.h.
  32598. * xml/XSLStyleSheetQt.cpp:
  32599. * xml/XSLTProcessorQt.cpp:
  32600. 2010-12-14 Nate Chapin <japhet@chromium.org>
  32601. Unreviewed, fix mac and qt builds.
  32602. Missed a couple of references to loader.h and
  32603. improperly added CachedResourceRequest.h to
  32604. WebCore.xcodeproj.
  32605. * WebCore.xcodeproj/project.pbxproj:
  32606. * platform/android/TemporaryLinkStubs.cpp:
  32607. * platform/qt/TemporaryLinkStubsQt.cpp:
  32608. 2010-12-14 Nate Chapin <japhet@chromium.org>
  32609. Reviewed by Adam Barth.
  32610. Rename Loader to CachedResourceRequest.
  32611. https://bugs.webkit.org/show_bug.cgi?id=50848
  32612. No new tests, rename only.
  32613. * Android.mk:
  32614. * CMakeLists.txt:
  32615. * GNUmakefile.am:
  32616. * WebCore.gypi:
  32617. * WebCore.pro:
  32618. * WebCore.vcproj/WebCore.vcproj:
  32619. * WebCore.xcodeproj/project.pbxproj:
  32620. * css/CSSStyleSelector.cpp:
  32621. * loader/cache/CachedCSSStyleSheet.cpp:
  32622. * loader/cache/CachedFont.cpp:
  32623. * loader/cache/CachedResource.cpp:
  32624. (WebCore::CachedResource::setRequest):
  32625. * loader/cache/CachedResource.h:
  32626. * loader/cache/CachedResourceLoader.cpp:
  32627. (WebCore::CachedResourceLoader::load):
  32628. (WebCore::CachedResourceLoader::loadDone):
  32629. (WebCore::CachedResourceLoader::cancelRequests):
  32630. * loader/cache/CachedResourceLoader.h:
  32631. * loader/cache/CachedResourceRequest.cpp: Copied from WebCore/loader/loader.cpp.
  32632. * loader/cache/CachedResourceRequest.h: Copied from WebCore/loader/loader.h.
  32633. * loader/loader.cpp: Removed.
  32634. * loader/loader.h: Removed.
  32635. * xml/XSLStyleSheetLibxslt.cpp:
  32636. * xml/XSLTProcessor.cpp:
  32637. * xml/XSLTProcessorLibxslt.cpp:
  32638. 2010-12-14 David Hyatt <hyatt@apple.com>
  32639. Reviewed by Tim Hatcher.
  32640. https://bugs.webkit.org/show_bug.cgi?id=46422
  32641. Rename pageHeight variables and members in WebCore to pageLogicalHeight in preparation for
  32642. making printing and pagination work with vertical writing modes.
  32643. * page/FrameView.cpp:
  32644. (WebCore::FrameView::forceLayoutForPagination):
  32645. * rendering/LayoutState.cpp:
  32646. (WebCore::LayoutState::LayoutState):
  32647. (WebCore::LayoutState::clearPaginationInformation):
  32648. * rendering/LayoutState.h:
  32649. (WebCore::LayoutState::LayoutState):
  32650. (WebCore::LayoutState::isPaginated):
  32651. (WebCore::LayoutState::pageLogicalHeight):
  32652. (WebCore::LayoutState::pageLogicalHeightChanged):
  32653. * rendering/RenderBlock.cpp:
  32654. (WebCore::RenderBlock::layoutBlock):
  32655. (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
  32656. (WebCore::RenderBlock::insertFloatingObject):
  32657. (WebCore::RenderBlock::layoutColumns):
  32658. (WebCore::RenderBlock::nextPageTop):
  32659. (WebCore::RenderBlock::applyBeforeBreak):
  32660. (WebCore::RenderBlock::applyAfterBreak):
  32661. (WebCore::RenderBlock::adjustForUnsplittableChild):
  32662. (WebCore::RenderBlock::adjustLinePositionForPagination):
  32663. * rendering/RenderBlock.h:
  32664. * rendering/RenderBox.cpp:
  32665. (WebCore::RenderBox::computeLogicalHeight):
  32666. * rendering/RenderFlexibleBox.cpp:
  32667. (WebCore::RenderFlexibleBox::layoutBlock):
  32668. * rendering/RenderTable.cpp:
  32669. (WebCore::RenderTable::layout):
  32670. * rendering/RenderTableRow.cpp:
  32671. (WebCore::RenderTableRow::layout):
  32672. * rendering/RenderTableSection.cpp:
  32673. (WebCore::RenderTableSection::layoutRows):
  32674. * rendering/RenderView.cpp:
  32675. (WebCore::RenderView::RenderView):
  32676. (WebCore::RenderView::layout):
  32677. * rendering/RenderView.h:
  32678. (WebCore::RenderView::pageLogicalHeight):
  32679. (WebCore::RenderView::setPageLogicalHeight):
  32680. 2010-12-14 Dimitri Glazkov <dglazkov@chromium.org>
  32681. Fix GTK build by adding source files that were accidentally skipped in
  32682. r74044. Sorry!
  32683. * GNUmakefile.am: Added SliderThumbElement.
  32684. 2010-12-14 Beth Dakin <bdakin@apple.com>
  32685. Reviewed by Darin Adler.
  32686. Fix for https://bugs.webkit.org/show_bug.cgi?id=50974
  32687. getComputedStyle() returns wrong values for zoomed elements when
  32688. display is none
  32689. -and corresponding-
  32690. <rdar://problem/8522731>
  32691. If there is no renderer but the RenderStyle's value is a fixed
  32692. length, send it through zoomAdjustedPixelValue(). There's not much
  32693. we can do for other length types without a renderer.
  32694. * css/CSSComputedStyleDeclaration.cpp:
  32695. (WebCore::zoomAdjustedPixelValueForLength):
  32696. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  32697. 2010-12-13 Dimitri Glazkov <dglazkov@chromium.org>
  32698. Reviewed by David Levin.
  32699. Move SliderThumbElement into its own file.
  32700. https://bugs.webkit.org/show_bug.cgi?id=50973
  32701. No change in behavior, so no tests.
  32702. * Android.mk: Added SliderThumbElement.
  32703. * CMakeLists.txt: Ditto.
  32704. * WebCore.gyp/WebCore.gyp: Ditto.
  32705. * WebCore.gypi: Ditto.
  32706. * WebCore.pro: Ditto.
  32707. * WebCore.vcproj/WebCore.vcproj: Ditto.
  32708. * WebCore.xcodeproj/project.pbxproj: Ditto,
  32709. * html/shadow/SliderThumbElement.cpp: Added.
  32710. * html/shadow/SliderThumbElement.h: Added.
  32711. * rendering/RenderSlider.cpp: Removed code that was moved into
  32712. SliderThumbElement.
  32713. 2010-12-13 Alexey Proskuryakov <ap@apple.com>
  32714. Reviewed by Adam Barth.
  32715. https://bugs.webkit.org/show_bug.cgi?id=50953
  32716. DNS Prefetch should be an opt-in feature
  32717. No new tests, can't test DNS.
  32718. * dom/Document.h: Made initDNSPrefetch public, since Page now calls it.
  32719. * page/Page.cpp: (WebCore::Page::dnsPrefetchingStateChanged):
  32720. * page/Page.h:
  32721. Documents cache the value of this setting, so they need to be notified of changes. In particular,
  32722. the first document in a page is created before settings are applied.
  32723. * page/Settings.cpp:
  32724. (WebCore::Settings::Settings): Changed default to false.
  32725. (WebCore::Settings::setDNSPrefetchingEnabled): Notify the page about the change.
  32726. 2010-12-14 Helder Correia <helder@sencha.com>
  32727. Reviewed by Ariya Hidayat.
  32728. [Qt] Canvas shadow offset should not be affected by any transformation
  32729. https://bugs.webkit.org/show_bug.cgi?id=50422
  32730. On a canvas context, shadows are currently affected by all
  32731. transformations except scaling. According to the spec:
  32732. http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#shadows
  32733. "The shadowOffsetX and shadowOffsetY attributes specify the distance
  32734. that the shadow will be offset in the positive horizontal and positive
  32735. vertical distance respectively. Their values are in coordinate space
  32736. units. They are not affected by the current transformation matrix."
  32737. NOTE: this applies only to canvas, not to box shadows.
  32738. Test: fast/canvas/canvas-transforms-fillRect-shadow.html
  32739. * platform/graphics/ContextShadow.cpp:
  32740. (WebCore::ContextShadow::ContextShadow):
  32741. (WebCore::ContextShadow::calculateLayerBoundingRect):
  32742. * platform/graphics/ContextShadow.h:
  32743. (WebCore::ContextShadow::setShadowsIgnoreTransforms):
  32744. (WebCore::ContextShadow::shadowsIgnoreTransforms):
  32745. (WebCore::ContextShadow::offset):
  32746. * platform/graphics/qt/ContextShadowQt.cpp:
  32747. (WebCore::ContextShadow::beginShadowLayer):
  32748. (WebCore::ContextShadow::endShadowLayer):
  32749. * platform/graphics/qt/GraphicsContextQt.cpp:
  32750. (WebCore::mustUseContextShadow):
  32751. (WebCore::GraphicsContext::fillPath):
  32752. (WebCore::GraphicsContext::strokePath):
  32753. (WebCore::GraphicsContext::fillRect):
  32754. (WebCore::GraphicsContext::fillRoundedRect):
  32755. (WebCore::GraphicsContext::setPlatformShadow):
  32756. 2010-12-14 Alexander Pavlov <apavlov@chromium.org>
  32757. Reviewed by Yury Semikhatsky.
  32758. Web Inspector: Rule data not updated in Styles pane after stylesheet gets reverted
  32759. https://bugs.webkit.org/show_bug.cgi?id=51034
  32760. * inspector/front-end/CSSStyleModel.js:
  32761. (WebInspector.CSSStyleModel.prototype._onRevert):
  32762. * inspector/front-end/ElementsPanel.js:
  32763. (WebInspector.ElementsPanel):
  32764. (WebInspector.ElementsPanel.prototype._metricsPaneEdited):
  32765. (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
  32766. (WebInspector.ElementsPanel.prototype._styleSheetChanged):
  32767. 2010-12-14 Andreas Kling <andreas.kling@nokia.com>
  32768. Reviewed by Kenneth Rohde Christiansen.
  32769. [Qt] Avoid GraphicsContext save/restore in Image::drawPattern()
  32770. https://bugs.webkit.org/show_bug.cgi?id=51037
  32771. It's enough to restore the CompositeOperator after drawing.
  32772. * platform/graphics/qt/ImageQt.cpp:
  32773. (WebCore::Image::drawPattern):
  32774. 2010-12-14 Eric Carlson <eric.carlson@apple.com>
  32775. Reviewed by Dan Bernstein.
  32776. <rdar://problem/8763862>
  32777. r72017 used incorrect compiler conditional.
  32778. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  32779. (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
  32780. 2010-12-14 Carlos Garcia Campos <cgarcia@igalia.com>
  32781. Reviewed by Martin Robinson.
  32782. [GTK] Simplify context-menu handling code
  32783. https://bugs.webkit.org/show_bug.cgi?id=49658
  32784. * platform/ContextMenuItem.h:
  32785. * platform/gtk/ContextMenuGtk.cpp:
  32786. (WebCore::ContextMenu::appendItem):
  32787. * platform/gtk/ContextMenuItemGtk.cpp:
  32788. (WebCore::ContextMenuItem::ContextMenuItem):
  32789. (WebCore::ContextMenuItem::~ContextMenuItem):
  32790. (WebCore::ContextMenuItem::releasePlatformDescription):
  32791. (WebCore::ContextMenuItem::type):
  32792. (WebCore::ContextMenuItem::setType):
  32793. (WebCore::ContextMenuItem::action):
  32794. (WebCore::ContextMenuItem::setAction):
  32795. (WebCore::ContextMenuItem::title):
  32796. (WebCore::ContextMenuItem::setTitle):
  32797. (WebCore::ContextMenuItem::platformSubMenu):
  32798. (WebCore::ContextMenuItem::setSubMenu):
  32799. (WebCore::ContextMenuItem::setChecked):
  32800. (WebCore::ContextMenuItem::setEnabled):
  32801. 2010-12-14 Mario Sanchez Prada <msanchez@igalia.com>
  32802. Reviewed by Xan Lopez.
  32803. [Gtk] Implement STATE_FOCUSED, STATE_FOCUSABLE, and corresponding events for text objects
  32804. https://bugs.webkit.org/show_bug.cgi?id=27048
  32805. Handle focus change for text objects based in caret changes.
  32806. As text objects (such as paragraphs) seem not to accept focus in
  32807. WebCore in the same way other objects (text controls) do, a
  32808. Gtk-specific workaround is needed to expose this states and the
  32809. related events to ATK-based assistive technologies.
  32810. Test: platform/gtk/accessibility/caret-browsing-text-focus.html
  32811. Ensure that text objects are exposed with the ATK_STATE_FOCUSABLE
  32812. state, and that the ATK_STATE_FOCUSED state is added to those
  32813. text objects containing the currently active caret selection.
  32814. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
  32815. (selectionBelongsToObject): Moved upwards to use it from
  32816. the new isTextWithCaret() function.
  32817. (isTextWithCaret): New, checks whether an accessibility object
  32818. represents a text object with the current caret selection on it.
  32819. (setAtkStateSetFromCoreObject): Add the ATK_STATE_FOCUSED state
  32820. when also when isTextWithCaret(coreObject) returns true.
  32821. (webkit_accessible_ref_state_set): Add the ATK_STATE_FOCUSABLE
  32822. state to text objects and those with the ATK_ROLE_PARAGRAPH role.
  32823. (webkit_accessible_text_get_n_selections): Optimize return expression.
  32824. Make sure the proper events associated to a change of focus are
  32825. emitted, based on caret changes across different accessibility
  32826. objects. Also, refactored the code in more manageable and
  32827. understandable helper functions.
  32828. * editing/gtk/SelectionControllerGtk.cpp:
  32829. (WebCore::emitTextSelectionChange): New, includes the specific
  32830. code formerly placed in notifyAccessibilityForSelectionChange() to
  32831. emit the 'text-caret-moved' and 'text-selection-change' signals.
  32832. (WebCore::maybeEmitTextFocusChange): New, takes care of emitting
  32833. the 'focus-event' and 'state-changed::focused' signals when
  32834. needed, that is, when a change in the selection happens across
  32835. different accessible objects.
  32836. (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
  32837. Refactored some code here, by using the new helper functions.
  32838. 2010-12-14 Ilya Tikhonovsky <loislo@chromium.org>
  32839. Reviewed by Pavel Feldman.
  32840. Web Inspector: regroup Inspector.idl entries.
  32841. Just for better visibility.
  32842. https://bugs.webkit.org/show_bug.cgi?id=51025
  32843. * inspector/Inspector.idl:
  32844. 2010-12-14 Alexander Pavlov <apavlov@chromium.org>
  32845. Reviewed by Yury Semikhatsky.
  32846. Web Inspector: Reverted stylesheet breaks style data
  32847. https://bugs.webkit.org/show_bug.cgi?id=51030
  32848. * inspector/InspectorStyleSheet.cpp:
  32849. (WebCore::InspectorStyleSheet::reparseStyleSheet):
  32850. 2010-12-14 Mads Ager <ager@chromium.org>
  32851. Reviewed by Pavel Feldman.
  32852. [V8] Reflected unsigned attributes should be in the range [0, 2^31)
  32853. https://bugs.webkit.org/show_bug.cgi?id=51023
  32854. Follow the changes made to CodeGeneratorJS.pm to return 0 for
  32855. reflected unsigned attributes that are outside the allowed range.
  32856. See https://bugs.webkit.org/show_bug.cgi?id=50472
  32857. * bindings/scripts/CodeGeneratorV8.pm:
  32858. 2010-12-14 Charlie Reis <creis@chromium.org>
  32859. Reviewed by Darin Adler.
  32860. Remove stale include of Document.h in V8DOMWrapper.h
  32861. https://bugs.webkit.org/show_bug.cgi?id=50607
  32862. We no longer need to include Document.h or V8DOMMap.h in
  32863. V8DOMWrapper. Removing them to avoid dependencies.
  32864. * bindings/v8/V8DOMWrapper.h:
  32865. 2010-12-14 Julien Chaffraix <jchaffraix@codeaurora.org>
  32866. Reviewed by Darin Adler.
  32867. Test for: EventSource fails to connect if Content-Type header has a charset attribute
  32868. https://bugs.webkit.org/show_bug.cgi?id=45372
  32869. Tests: http/tests/eventsource/eventsource-content-type-charset.html
  32870. http/tests/eventsource/eventsource-content-type-text-event-stream-foobar.html
  32871. * page/EventSource.cpp:
  32872. (WebCore::EventSource::didReceiveResponse): Use the mimeType instead of the Content-Type
  32873. header directly. This makes the detection of the "text/stream" mimeType more accurate.
  32874. 2010-12-14 Pieter Senster <psenster@google.com>
  32875. Reviewed by Dirk Schulze.
  32876. Incorporate the channel offsets from the ColorMatrix filter in the filter calculation
  32877. https://bugs.webkit.org/show_bug.cgi?id=50682
  32878. Test: svg/filters/feColorMatrix-offset.svg
  32879. * platform/graphics/filters/FEColorMatrix.cpp:
  32880. (WebCore::matrix):
  32881. 2010-12-14 Jarred Nicholls <jarred@sencha.com>
  32882. Reviewed by Kenneth Rohde Christiansen.
  32883. Qt's Clipboard::files() implementation for HTML5 Drag/Drop (DataTransfer)
  32884. No new tests. Run tests manually until DRT is updated w/ beginDragWithFiles.
  32885. * platform/qt/ClipboardQt.cpp:
  32886. (WebCore::ClipboardQt::files):
  32887. 2010-12-13 Antonio Gomes <agomes@rim.com>
  32888. Rubber stamped by Daniel Bates.
  32889. Spatial Navigation: code clean up (part V)
  32890. https://bugs.webkit.org/show_bug.cgi?id=50666
  32891. No new tests needed.
  32892. * page/SpatialNavigation.cpp:
  32893. (WebCore::distanceDataForNode): Made 'FocusCandidate current' const since it is not
  32894. supposed to change within this function.
  32895. * page/SpatialNavigation.h: Ditto.
  32896. 2010-12-13 takano takumi <takano@apple.com>
  32897. Reviewed by Dan Bernstein.
  32898. GlyphPage::fill() is slow on vertical writing (Mac)
  32899. https://bugs.webkit.org/show_bug.cgi?id=50865
  32900. No test. Just a performance improvement.
  32901. * platform/graphics/Font.cpp:
  32902. (WebCore::Font::isCJKIdeograph): Now this only checks pure ideographs (Hanji).
  32903. (WebCore::Font::isCJKIdeographOrSymbol): Added this for Hanji and Hanji related symbols.
  32904. * platform/graphics/Font.h:
  32905. * platform/graphics/FontFastPath.cpp:
  32906. (WebCore::Font::glyphDataForCharacter): Changed to call isCJKIdeographOrSymbol() instead of isCJKIdeograph().
  32907. * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
  32908. (WebCore::shouldUseCoreText): This tests if GlyphPage::fill() should use CoreText or not.
  32909. For vertical writing, if the current page contains only ideographs, we go CG path.
  32910. (WebCore::GlyphPage::fill): Made to call shouldUseCoreText() and switch code path.
  32911. 2010-12-13 Antonio Gomes <agomes@rim.com>
  32912. Reviewed by Daniel Bates.
  32913. Spatial Navigation: code clean up (part IV)
  32914. https://bugs.webkit.org/show_bug.cgi?id=50666
  32915. Avoid calling canScrollInDirection more than necessary.
  32916. No new tests needed.
  32917. * page/FocusController.cpp:
  32918. (WebCore::FocusController::advanceFocusDirectionallyInContainer): Moved the call to canScrollInDirection()
  32919. to within the scrollInDirection().
  32920. * page/SpatialNavigation.cpp: Removed the assertion to canScrollingDirection function.
  32921. (WebCore::scrollInDirection):
  32922. 2010-12-13 Antonio Gomes <agomes@rim.com>
  32923. Reviewed by Daniel Bates.
  32924. Spatial Navigation: code clean up (part III)
  32925. https://bugs.webkit.org/show_bug.cgi?id=50666
  32926. No new tests needed.
  32927. * page/SpatialNavigation.h: Added FocusCandidate::isFrameOwnerElement and
  32928. WebCore::frameOwnerElement helper functions.
  32929. (WebCore::FocusCandidate::isFrameOwnerElement): Returns true if the Node pointer
  32930. wrapped by FocusCandidate is an instance of HTMLFrameOwnerElement. Returns false
  32931. otherwise.
  32932. * page/SpatialNavigation.cpp:
  32933. (WebCore::frameOwnerElement): Returns the HTMLFrameOwnerElement associated with
  32934. the FocusCandidate if appropriate.
  32935. * page/FocusController.cpp:
  32936. (WebCore::updateFocusCandidateIfNeeded): Make use of newly added frameOwnerElement() helper.
  32937. (WebCore::FocusController::advanceFocusDirectionallyInContainer): Ditto.
  32938. 2010-12-13 Mike Lawther <mikelawther@chromium.org>
  32939. Reviewed by Daniel Bates.
  32940. [skia] ignore transform for canvas shadows
  32941. https://bugs.webkit.org/show_bug.cgi?id=50437
  32942. * platform/graphics/skia/GraphicsContextSkia.cpp:
  32943. (WebCore::GraphicsContext::setPlatformShadow):
  32944. 2010-12-13 Dai Mikurube <dmikurube@google.com>
  32945. Reviewed by Kent Tamura.
  32946. ValidityState's exposed functions should check if willValidate() is true before all
  32947. https://bugs.webkit.org/show_bug.cgi?id=50617
  32948. Added checking willValidate() to exposed functions. And modified willValidate() behavior
  32949. for <button type="submit"> and <input type="submit"> to return true if not disabled and
  32950. not readonly.
  32951. * html/HTMLButtonElement.cpp:
  32952. (WebCore::HTMLButtonElement::parseMappedAttribute): Added calling setNeedsWillValidateCheck() to refresh willValidate() after changing its type.
  32953. (WebCore::HTMLButtonElement::recalcWillValidate): Added to return true if not disabled and not readonly when type="submit". It's to be compliant to the spec.
  32954. * html/HTMLButtonElement.h:
  32955. * html/SubmitInputType.cpp:
  32956. (WebCore::SubmitInputType::supportsValidation): Removed it to enable willValidate() for <input> when type="submit". It's to be compliant to the spec.
  32957. (WebCore::SubmitInputType::supportsRequired): Added it to reject required attributes though validation is available.
  32958. * html/SubmitInputType.h:
  32959. * html/ValidityState.cpp: Added checking willValidate().
  32960. (WebCore::ValidityState::typeMismatch):
  32961. (WebCore::ValidityState::patternMismatch):
  32962. (WebCore::ValidityState::tooLong):
  32963. (WebCore::ValidityState::rangeUnderflow):
  32964. (WebCore::ValidityState::rangeOverflow):
  32965. (WebCore::ValidityState::stepMismatch):
  32966. (WebCore::ValidityState::customError):
  32967. * html/ValidityState.h:
  32968. 2010-12-13 Noel Gordon <noel.gordon@gmail.com>
  32969. Reviewed by David Levin.
  32970. [chromium] Upstream skia/ImageBuffer.cpp routine mulDiv255Ceil()
  32971. https://bugs.webkit.org/show_bug.cgi?id=50545
  32972. Skia has rolled, replace uses of mulDiv255Ceil with SkMulDiv255Ceiling.
  32973. No new tests, no change in behaviour.
  32974. * platform/graphics/skia/ImageBufferSkia.cpp:
  32975. (WebCore::putImageData):
  32976. 2010-12-13 Gavin Peters <gavinp@chromium.org>
  32977. Reviewed by Adam Barth.
  32978. Re land Purpose after bad merge
  32979. https://bugs.webkit.org/show_bug.cgi?id=51000
  32980. * loader/loader.cpp:
  32981. (WebCore::Loader::load):
  32982. 2010-12-13 Dan Bernstein <mitz@apple.com>
  32983. Reviewed by Simon Fraser.
  32984. <rdar://problem/8763696> REGRESSION (r72173): Fallback fonts’ vertical metrics aren’t accounted for even when line-height is unspecified
  32985. https://bugs.webkit.org/show_bug.cgi?id=50979
  32986. Many test results updated.
  32987. * rendering/InlineFlowBox.cpp: Reinstated the code that updates affectsAscent and
  32988. affectsDescent in the used-fonts code path. Renamed variables for clarity. Added
  32989. a check whether usedFonts is empty (which it might be if there is glyph overflow
  32990. but no fallback) as an optimization.
  32991. 2010-12-13 Mark Rowe <mrowe@apple.com>
  32992. Rubber-stamped by Jon Honeycutt.
  32993. Remove unnecessary include of Switch module.
  32994. There are no switch statements in this file.
  32995. * dom/make_names.pl:
  32996. 2010-12-13 Emil Eklund <eae@chromium.org>
  32997. Reviewed by Dimitri Glazkov.
  32998. Change SelectionController::setFocusedNodeIfNeeded to traverse the DOM
  32999. tree instead of the render tree.
  33000. https://bugs.webkit.org/show_bug.cgi?id=50989
  33001. * editing/SelectionController.cpp:
  33002. (WebCore::SelectionController::setFocusedNodeIfNeeded):
  33003. Walk up DOM/hosted tree rather than render tree and remove FIXME comment
  33004. that does't apply (SelectionController and EventHandler needs different
  33005. checks).
  33006. 2010-12-13 Chris Fleizach <cfleizach@apple.com>
  33007. Reviewed by Beth Dakin.
  33008. AX: aria-invalid should be supported.
  33009. https://bugs.webkit.org/show_bug.cgi?id=50573
  33010. Test: platform/mac/accessibility/aria-invalid.html
  33011. * accessibility/AXObjectCache.h:
  33012. * accessibility/AccessibilityObject.cpp:
  33013. (WebCore::AccessibilityObject::invalidStatus):
  33014. * accessibility/AccessibilityObject.h:
  33015. * accessibility/chromium/AXObjectCacheChromium.cpp
  33016. (WebCore::AXObjectCache::postPlatformNotification):
  33017. * accessibility/mac/AXObjectCacheMac.mm:
  33018. (WebCore::AXObjectCache::postPlatformNotification):
  33019. * accessibility/mac/AccessibilityObjectWrapper.mm:
  33020. (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
  33021. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  33022. * dom/Element.cpp:
  33023. (WebCore::Element::updateAfterAttributeChanged):
  33024. * html/HTMLAttributeNames.in:
  33025. 2010-12-13 Joone Hur <joone@kldp.org>
  33026. Reviewed by Eric Seidel.
  33027. WebKit fails to compile when building with WML support enabled
  33028. https://bugs.webkit.org/show_bug.cgi?id=42943
  33029. Use TextPosition instead of lineNumber() and columNumber().
  33030. No new tests are added, because this is just a build fix.
  33031. * dom/XMLDocumentParser.h: Make lineNumber() private.
  33032. * wml/WMLErrorHandling.cpp:
  33033. (WebCore::reportWMLError): Use TextPosition instead of lineNumber() and columnNumber().
  33034. 2010-12-13 Chris Fleizach <cfleizach@apple.com>
  33035. Reviewed by Beth Dakin.
  33036. AX: lists and list boxes need different attributes
  33037. https://bugs.webkit.org/show_bug.cgi?id=50978
  33038. Separate out the attributes being returned for lists (<ul>) and listboxes (<select multiple>).
  33039. * accessibility/mac/AccessibilityObjectWrapper.mm:
  33040. (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
  33041. 2010-12-13 David Hyatt <hyatt@apple.com>
  33042. Reviewed by Sam Weinig.
  33043. https://bugs.webkit.org/show_bug.cgi?id=50963
  33044. REGRESSION: Scrolling nested iframes is messed up on platforms that use the cross-platform ScrollView.
  33045. The selfClipRect and childrenClipRect methods of RenderLayer were incorrectly relying on the bounding box
  33046. of the root layer. This bounding box was only coincidentally incorporating overflow as part of the
  33047. RenderLayer's bounds. Since I fixed the RenderLayer bounds to not include layout overflow any longer,
  33048. this check is now exposed as incorrect. Use the entire document size when computing layer clip
  33049. rects.
  33050. * rendering/RenderLayer.cpp:
  33051. (WebCore::RenderLayer::childrenClipRect):
  33052. (WebCore::RenderLayer::selfClipRect):
  33053. * rendering/RenderView.h:
  33054. (WebCore::RenderView::documentRect):
  33055. 2010-12-13 Simon Fraser <simon.fraser@apple.com>
  33056. GraphicsContextPrivate.h was removed. Nuke it from the project.
  33057. * WebCore.xcodeproj/project.pbxproj:
  33058. 2010-12-13 Eric Carlson <eric.carlson@apple.com>
  33059. Reviewed by Antti Koivisto.
  33060. HTMLMediaElement::endedPlayback should not return true if duration is zero
  33061. https://bugs.webkit.org/show_bug.cgi?id=50962
  33062. (WebCore::HTMLMediaElement::endedPlayback): Don't return true when duration is zero because a
  33063. media file can't play if it has no duration, therefore it can't have ended playback.
  33064. 2010-12-13 Brent Fulgham <bfulgham@webkit.org>
  33065. Unreviewed build fix after r73840.
  33066. * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Update property file
  33067. to pass three arguments to build-generated-files.sh, just like
  33068. the official Apple port.
  33069. 2010-12-13 David Hyatt <hyatt@apple.com>
  33070. Reviewed by Adam Roben.
  33071. Make sure the defaultSpaceEventHandler does logical scrolling.
  33072. * page/EventHandler.cpp:
  33073. (WebCore::EventHandler::defaultSpaceEventHandler):
  33074. 2010-12-13 Matthew Delaney <mdelaney@apple.com>
  33075. Reviewed by Simon Fraser.
  33076. https://bugs.webkit.org/show_bug.cgi?id=50591 Adopt new CG API for canvas
  33077. No new tests necessary.
  33078. * Configurations/WebCore.xcconfig: Added IOSurface framework link.
  33079. * html/canvas/CanvasRenderingContext2D.cpp: Used IOSurface def. instead.
  33080. * platform/graphics/ImageBuffer.h: Pushed renderingMode down into ctor.
  33081. * platform/graphics/cairo/ImageBufferCairo.cpp:
  33082. * platform/graphics/cg/ImageBufferCG.cpp:
  33083. * platform/graphics/haiku/ImageBufferHaiku.cpp:
  33084. * platform/graphics/qt/ImageBufferQt.cpp:
  33085. * platform/graphics/skia/ImageBufferSkia.cpp:
  33086. * platform/graphics/wince/ImageBufferWinCE.cpp:
  33087. * platform/graphics/wx/ImageBufferWx.cpp:
  33088. 2010-12-13 Sheriff Bot <webkit.review.bot@gmail.com>
  33089. Unreviewed, rolling out r73923.
  33090. http://trac.webkit.org/changeset/73923
  33091. https://bugs.webkit.org/show_bug.cgi?id=50944
  33092. Broke editing/selection/extend-selection-home-end.html on non-
  33093. mac platforms. Looks like a real bug. (Requested by ojan on
  33094. #webkit).
  33095. * editing/SelectionController.cpp:
  33096. (WebCore::SelectionController::positionForPlatform):
  33097. (WebCore::SelectionController::modifyExtendingForward):
  33098. 2010-12-13 David Hyatt <hyatt@apple.com>
  33099. Reviewed by Sam Weinig.
  33100. https://bugs.webkit.org/show_bug.cgi?id=48545, Home/End, PageUp/PageDwn should respect writing-mode.
  33101. Add logical scrolling to WebCore. It basically mirrors physical scrolling but works in abstract logical
  33102. directions and only converts to physical when it's time to attempt the scroll.
  33103. Also fixed bugs in scrollRecursively and logicalScrollRecursively where overflow sections in containing
  33104. frames got skipped over.
  33105. Made the resetting of the inline axis scroll position on Home/End Mac-specific for overflow sections.
  33106. * WebCore.exp.in:
  33107. * page/EventHandler.cpp:
  33108. (WebCore::EventHandler::logicalScrollOverflow):
  33109. (WebCore::EventHandler::scrollRecursively):
  33110. (WebCore::EventHandler::logicalScrollRecursively):
  33111. * page/EventHandler.h:
  33112. * page/FrameView.cpp:
  33113. (WebCore::FrameView::isVerticalDocument):
  33114. (WebCore::FrameView::isFlippedDocument):
  33115. * page/FrameView.h:
  33116. * platform/ScrollTypes.h:
  33117. (WebCore::logicalToPhysical):
  33118. * platform/ScrollView.cpp:
  33119. (WebCore::ScrollView::scroll):
  33120. (WebCore::ScrollView::logicalScroll):
  33121. * platform/ScrollView.h:
  33122. (WebCore::ScrollView::isVerticalDocument):
  33123. (WebCore::ScrollView::isFlippedDocument):
  33124. * rendering/RenderBox.cpp:
  33125. (WebCore::RenderBox::logicalScroll):
  33126. * rendering/RenderBox.h:
  33127. * rendering/RenderLayer.cpp:
  33128. (WebCore::RenderLayer::scroll):
  33129. * rendering/RenderListBox.cpp:
  33130. (WebCore::RenderListBox::logicalScroll):
  33131. * rendering/RenderListBox.h:
  33132. * rendering/RenderTextControlSingleLine.cpp:
  33133. (WebCore::RenderTextControlSingleLine::logicalScroll):
  33134. * rendering/RenderTextControlSingleLine.h:
  33135. 2010-12-13 Yury Semikhatsky <yurys@chromium.org>
  33136. Unreviewed. Rollout 73914, 73915, 73917, 73920 and 73921.
  33137. REGRESSION(r73914): "Chromium page_cycler_morejs fails" (Requested by yurys on #webkit).
  33138. https://bugs.webkit.org/show_bug.cgi?id=50950
  33139. * Android.jscbindings.mk:
  33140. * CMakeLists.txt:
  33141. * GNUmakefile.am:
  33142. * WebCore.gypi:
  33143. * WebCore.order:
  33144. * WebCore.pro:
  33145. * WebCore.vcproj/WebCore.vcproj:
  33146. * WebCore.xcodeproj/project.pbxproj:
  33147. * bindings/js/JSBindingsAllInOne.cpp:
  33148. * bindings/js/JSDOMBinding.cpp:
  33149. (WebCore::reportException):
  33150. * bindings/js/JSWorkerContextErrorHandler.cpp: Renamed from WebCore/bindings/js/JSErrorHandler.cpp.
  33151. (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler):
  33152. (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler):
  33153. (WebCore::JSWorkerContextErrorHandler::handleEvent):
  33154. * bindings/js/JSWorkerContextErrorHandler.h: Renamed from WebCore/bindings/js/JSErrorHandler.h.
  33155. (WebCore::JSWorkerContextErrorHandler::create):
  33156. (WebCore::createJSWorkerContextErrorHandler):
  33157. * bindings/scripts/CodeGeneratorJS.pm:
  33158. * bindings/scripts/CodeGeneratorV8.pm:
  33159. * bindings/v8/V8ConsoleMessage.cpp:
  33160. (WebCore::V8ConsoleMessage::dispatchNow):
  33161. (WebCore::V8ConsoleMessage::handler):
  33162. * bindings/v8/V8ConsoleMessage.h:
  33163. * bindings/v8/V8WindowErrorHandler.cpp: Removed.
  33164. * bindings/v8/V8WindowErrorHandler.h: Removed.
  33165. * bindings/v8/WorkerContextExecutionProxy.cpp:
  33166. (WebCore::v8MessageHandler):
  33167. * bindings/v8/WorkerScriptController.cpp:
  33168. (WebCore::WorkerScriptController::evaluate):
  33169. * dom/Document.cpp:
  33170. (WebCore::Document::reportException):
  33171. (WebCore::Document::addMessage):
  33172. * dom/Document.h:
  33173. * dom/ErrorEvent.cpp:
  33174. * dom/ErrorEvent.h:
  33175. * dom/Event.cpp:
  33176. * dom/Event.h:
  33177. * dom/ScriptExecutionContext.cpp:
  33178. (WebCore::ScriptExecutionContext::ScriptExecutionContext):
  33179. * dom/ScriptExecutionContext.h:
  33180. * websockets/WebSocket.cpp:
  33181. (WebCore::WebSocket::connect):
  33182. * websockets/WebSocketChannel.cpp:
  33183. (WebCore::WebSocketChannel::didOpen):
  33184. (WebCore::WebSocketChannel::appendToBuffer):
  33185. * websockets/WebSocketHandshake.cpp:
  33186. (WebCore::WebSocketHandshake::readServerHandshake):
  33187. (WebCore::WebSocketHandshake::readStatusLine):
  33188. (WebCore::WebSocketHandshake::readHTTPHeaders):
  33189. (WebCore::WebSocketHandshake::checkResponseHeaders):
  33190. * workers/DefaultSharedWorkerRepository.cpp:
  33191. (WebCore::postExceptionTask):
  33192. (WebCore::postConsoleMessageTask):
  33193. * workers/WorkerContext.cpp:
  33194. (WebCore::WorkerContext::WorkerContext):
  33195. (WebCore::WorkerContext::reportException):
  33196. (WebCore::WorkerContext::addMessage):
  33197. * workers/WorkerContext.h:
  33198. * workers/WorkerMessagingProxy.cpp:
  33199. (WebCore::WorkerExceptionTask::performTask):
  33200. (WebCore::postConsoleMessageTask):
  33201. * xml/XMLHttpRequest.cpp:
  33202. (WebCore::reportUnsafeUsage):
  33203. 2010-12-13 Antti Koivisto <antti@apple.com>
  33204. Reviewed by Alexey Proskuryakov.
  33205. https://bugs.webkit.org/show_bug.cgi?id=50758
  33206. <rdar://problem/8722094>
  33207. Defer loading print stylesheets
  33208. - Make preload scanner skip stylesheets with non-screen media types.
  33209. - Make it possible to specify non-default load priority from the client.
  33210. - Use this mechanism to load print stylesheets using very low priority so they get loaded after everything else.
  33211. - Move default priority code from Loader to CachedResource.
  33212. - Move ResourceLoadScheduler::Priority enum to a separate file (as ResourceLoadPriority).
  33213. - Add a way to make ResourceLoadScheduler load resources one at the time so the above functionality can be tested reliably.
  33214. Tests: http/tests/local/link-stylesheet-load-order-preload.html
  33215. http/tests/local/link-stylesheet-load-order.html
  33216. * WebCore.exp.in:
  33217. * WebCore.gypi:
  33218. * WebCore.pro:
  33219. * WebCore.vcproj/WebCore.vcproj:
  33220. * WebCore.xcodeproj/project.pbxproj:
  33221. * css/CSSImageValue.cpp:
  33222. (WebCore::CSSImageValue::cachedImage):
  33223. * html/HTMLLinkElement.cpp:
  33224. (WebCore::HTMLLinkElement::process):
  33225. * html/parser/HTMLPreloadScanner.cpp:
  33226. (WebCore::HTMLNames::PreloadTask::PreloadTask):
  33227. (WebCore::HTMLNames::PreloadTask::processAttributes):
  33228. (WebCore::HTMLNames::PreloadTask::relAttributeIsStyleSheet):
  33229. (WebCore::HTMLNames::PreloadTask::linkMediaAttributeIsScreen):
  33230. (WebCore::HTMLNames::PreloadTask::preload):
  33231. * loader/DocumentThreadableLoader.cpp:
  33232. (WebCore::DocumentThreadableLoader::loadRequest):
  33233. * loader/ResourceLoadPriority.h: Added.
  33234. * loader/ResourceLoadScheduler.cpp:
  33235. (WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
  33236. (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
  33237. (WebCore::ResourceLoadScheduler::schedulePluginStreamLoad):
  33238. (WebCore::ResourceLoadScheduler::scheduleLoad):
  33239. (WebCore::ResourceLoadScheduler::servePendingRequests):
  33240. (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
  33241. (WebCore::ResourceLoadScheduler::HostInformation::schedule):
  33242. (WebCore::ResourceLoadScheduler::HostInformation::remove):
  33243. (WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
  33244. (WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
  33245. * loader/ResourceLoadScheduler.h:
  33246. (WebCore::ResourceLoadScheduler::isSerialLoadingEnabled):
  33247. (WebCore::ResourceLoadScheduler::setSerialLoadingEnabled):
  33248. (WebCore::ResourceLoadScheduler::HostInformation::requestsPending):
  33249. * loader/cache/CachedResource.cpp:
  33250. (WebCore::defaultPriorityForResourceType):
  33251. (WebCore::CachedResource::CachedResource):
  33252. * loader/cache/CachedResource.h:
  33253. (WebCore::CachedResource::loadPriority):
  33254. (WebCore::CachedResource::setLoadPriority):
  33255. * loader/cache/CachedResourceLoader.cpp:
  33256. (WebCore::CachedResourceLoader::requestCSSStyleSheet):
  33257. (WebCore::CachedResourceLoader::requestResource):
  33258. (WebCore::CachedResourceLoader::requestPreload):
  33259. * loader/cache/CachedResourceLoader.h:
  33260. * loader/cache/MemoryCache.cpp:
  33261. (WebCore::MemoryCache::requestResource):
  33262. * loader/cache/MemoryCache.h:
  33263. * loader/loader.cpp:
  33264. (WebCore::Loader::load):
  33265. 2010-12-13 Justin Schuh <jschuh@chromium.org>
  33266. Reviewed by Dimitri Glazkov.
  33267. Build fix for r73927
  33268. https://bugs.webkit.org/show_bug.cgi?id=50946
  33269. Reverting CSSCanvasValue::canvasDestroyed to its code before r73927
  33270. because it's breaking the build and I changed it only because it
  33271. appeared redunudant after r73927.
  33272. No behavior changed so no new tests needed.
  33273. * css/CSSCanvasValue.cpp:
  33274. (WebCore::CSSCanvasValue::canvasDestroyed):
  33275. 2010-12-13 Matthew Delaney <mdelaney@apple.com>
  33276. Reviewed by nobody, build fix.
  33277. Unlinking IOSurface framework from xcodeproj.
  33278. * WebCore.xcodeproj/project.pbxproj:
  33279. 2010-12-13 Justin Schuh <jschuh@chromium.org>
  33280. Reviewed by Dimitri Glazkov.
  33281. HTMLCanvasElement should handle multiple observers.
  33282. https://bugs.webkit.org/show_bug.cgi?id=50899
  33283. Test: fast/canvas/canvas-bg-multiple-removal.html
  33284. * css/CSSCanvasValue.cpp:
  33285. (WebCore::CSSCanvasValue::~CSSCanvasValue):
  33286. (WebCore::CSSCanvasValue::canvasDestroyed):
  33287. (WebCore::CSSCanvasValue::element):
  33288. * html/HTMLCanvasElement.cpp:
  33289. (WebCore::HTMLCanvasElement::HTMLCanvasElement):
  33290. (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
  33291. (WebCore::HTMLCanvasElement::addObserver):
  33292. (WebCore::HTMLCanvasElement::removeObserver):
  33293. (WebCore::HTMLCanvasElement::didDraw):
  33294. (WebCore::HTMLCanvasElement::reset):
  33295. * html/HTMLCanvasElement.h:
  33296. 2010-12-13 Mihai Parparita <mihaip@chromium.org>
  33297. Reviewed by Adam Barth.
  33298. [Chromium] canvas/philip/tests/2d.missingargs.html hangs on Snow Leopard
  33299. https://bugs.webkit.org/show_bug.cgi?id=50841
  33300. Test: fast/canvas/strokeText-missing-args.html
  33301. We didn't have isfinite checks for the x and y coordinates that are
  33302. passed to strokeText/drawTextInternal (unlike all the other methods,
  33303. which got checks in r50910 and r59447).
  33304. * html/canvas/CanvasRenderingContext2D.cpp:
  33305. (WebCore::CanvasRenderingContext2D::drawTextInternal):
  33306. 2010-12-09 Matthew Delaney <mdelaney@apple.com>
  33307. Reviewed by Simon Fraser.
  33308. Adopt new CG API for canvas
  33309. https://bugs.webkit.org/show_bug.cgi?id=50591
  33310. No new tests. All current layout tests are sufficient.
  33311. * html/HTMLCanvasElement.cpp: Add in accelerateRendering flag for imagebuffer creation.
  33312. * html/canvas/CanvasRenderingContext2D.cpp:
  33313. (WebCore::CanvasRenderingContext2D::isAccelerated): Always return true if using CA on new platforms.
  33314. (WebCore::CanvasRenderingContext2D::drawTextInternal): Use accelerateRendering for imagebuffer.
  33315. * platform/graphics/ImageBuffer.h:
  33316. (WebCore::ImageBuffer::create): Plumb through new flag.
  33317. * platform/graphics/cairo/ImageBufferCairo.cpp: Update method sig.
  33318. * platform/graphics/cg/ImageBufferCG.cpp: Switch off of accelerateRendering flag for new accelerated paths.
  33319. * platform/graphics/cg/ImageBufferData.h: Add in surface ref
  33320. * platform/graphics/haiku/ImageBufferHaiku.cpp: Update method sig.
  33321. * platform/graphics/qt/ImageBufferQt.cpp: ^^
  33322. * platform/graphics/skia/ImageBufferSkia.cpp: ^^
  33323. * platform/graphics/wince/ImageBufferWinCE.cpp: ^^
  33324. * platform/graphics/wx/ImageBufferWx.cpp: ^^
  33325. * platform/mac/WebCoreSystemInterface.h: Add new method sigs
  33326. * platform/mac/WebCoreSystemInterface.mm: ^^
  33327. * rendering/RenderLayerBacking.cpp:
  33328. * rendering/RenderLayerCompositor.cpp: Set acceleratesDrawing for canvas backings.
  33329. 2010-12-13 Benjamin Kalman <kalman@chromium.org>
  33330. Reviewed by Ojan Vafai.
  33331. Shift-End does not select to the end of the line
  33332. https://bugs.webkit.org/show_bug.cgi?id=50610
  33333. Test: editing/selection/extend-to-line-boundary.html
  33334. * editing/SelectionController.cpp:
  33335. (WebCore::SelectionController::positionForPlatform): Use visibleStart/visibleEnd rather than
  33336. start/end.
  33337. (WebCore::SelectionController::modifyExtendingForward):
  33338. 2010-12-13 Adam Roben <aroben@apple.com>
  33339. Windows build fix after r73914
  33340. * WebCore.vcproj/WebCore.vcproj: Fix malformed XML.
  33341. 2010-12-13 Yury Semikhatsky <yurys@chromium.org>
  33342. Unreviewed. Qt build fix.
  33343. * dom/ScriptExecutionContext.cpp:
  33344. (WebCore::ScriptExecutionContext::ScriptExecutionContext):
  33345. * dom/ScriptExecutionContext.h:
  33346. 2010-12-13 Mario Sanchez Prada <msanchez@igalia.com>
  33347. Reviewed by Xan Lopez.
  33348. [Gtk] Additional support is needed for caret browsing
  33349. https://bugs.webkit.org/show_bug.cgi?id=25526
  33350. Enable "MoveTo{Beginninng|End}OfDocument" commands when caret
  33351. browsing is enabled.
  33352. This change impacts the GTK-port only as caret browsing is a
  33353. feature only used in that platform so far.
  33354. Test: platform/gtk/editing/selection/caret-mode-document-begin-end.html
  33355. * editing/EditorCommand.cpp:
  33356. (WebCore::createCommandMap): Enable the commads when in caret browsing.
  33357. 2010-12-13 Yury Semikhatsky <yurys@chromium.org>
  33358. Unreviewed. Qt build fix.
  33359. * dom/Event.cpp:
  33360. (WebCore::Event::isErrorEvent):
  33361. * dom/Event.h: remove ENABLE(WORKERS) guard since ErrorEvent is now used not
  33362. only in workers.
  33363. 2010-12-13 Ilya Tikhonovsky <loislo@chromium.org>
  33364. Reviewed by Yury Semikhatsky.
  33365. Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions.
  33366. Debugger and Resources related notification functions of Inspector.idl were
  33367. marked as such with help of "domain" attribute. The other changes in js files
  33368. are reflecting this change. Some wrappers in WebInspector namespace were dropped,
  33369. the others were moved to DebuggerModel class.
  33370. https://bugs.webkit.org/show_bug.cgi?id=50906
  33371. * inspector/Inspector.idl:
  33372. * inspector/InspectorDebuggerAgent.cpp:
  33373. (WebCore::InspectorDebuggerAgent::didParseSource):
  33374. * inspector/InspectorProfilerAgent.cpp:
  33375. (WebCore::InspectorProfilerAgent::resetState):
  33376. * inspector/front-end/DOMAgent.js:
  33377. (WebInspector.DOMAgent.prototype.didCommitLoad):
  33378. * inspector/front-end/Database.js:
  33379. * inspector/front-end/DebuggerModel.js:
  33380. (WebInspector.DebuggerModel):
  33381. (WebInspector.DebuggerModel.prototype.pausedScript):
  33382. (WebInspector.DebuggerModel.prototype.resumedScript):
  33383. (WebInspector.DebuggerModel.prototype.attachDebuggerWhenShown):
  33384. (WebInspector.DebuggerModel.prototype.debuggerWasEnabled):
  33385. (WebInspector.DebuggerModel.prototype.debuggerWasDisabled):
  33386. (WebInspector.DebuggerModel.prototype.parsedScriptSource):
  33387. (WebInspector.DebuggerModel.prototype.failedToParseScriptSource):
  33388. (WebInspector.DebuggerModel.prototype.didCreateWorker):
  33389. (WebInspector.DebuggerModel.prototype.didDestroyWorker):
  33390. * inspector/front-end/ProfilesPanel.js:
  33391. (WebInspector.ProfilesPanel):
  33392. (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
  33393. (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
  33394. * inspector/front-end/ResourceManager.js:
  33395. (WebInspector.ResourceManager):
  33396. (WebInspector.ResourceManager.prototype._unbindResourceURL):
  33397. (WebInspector.ResourceManager.prototype.updateDOMStorage):
  33398. (WebInspector.ResourceManager.prototype.updateApplicationCacheStatus):
  33399. (WebInspector.ResourceManager.prototype.didGetFileSystemPath):
  33400. (WebInspector.ResourceManager.prototype.didGetFileSystemError):
  33401. (WebInspector.ResourceManager.prototype.didGetFileSystemDisabled):
  33402. (WebInspector.ResourceManager.prototype.updateNetworkState):
  33403. (WebInspector.ResourceManager.prototype.addDOMStorage):
  33404. (WebInspector.ResourceManager.prototype.selectDOMStorage):
  33405. (WebInspector.ResourceManager.prototype.addDatabase):
  33406. (WebInspector.ResourceManager.prototype.selectDatabase):
  33407. (WebInspector.ResourceManager.prototype.sqlTransactionSucceeded):
  33408. (WebInspector.ResourceManager.prototype.sqlTransactionFailed):
  33409. * inspector/front-end/WorkersSidebarPane.js:
  33410. (WebInspector.Worker):
  33411. * inspector/front-end/inspector.js:
  33412. 2010-12-13 Yury Semikhatsky <yurys@chromium.org>
  33413. Unreviewed. Qt build fix.
  33414. * dom/ErrorEvent.cpp:
  33415. * dom/ErrorEvent.h: remove ENABLE(WORKERS) guard since ErrorEvent is now used not
  33416. only in workers.
  33417. 2010-12-13 Yury Semikhatsky <yurys@chromium.org>
  33418. Reviewed by Adam Barth.
  33419. WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown
  33420. https://bugs.webkit.org/show_bug.cgi?id=8519
  33421. Uncaught exceptions are propagated to window.onerror hander if one is present.
  33422. The handler is expected to be a function accepting three arguments: error message,
  33423. resource url and line number where the exception occured.
  33424. It was decided to dispatch ErrorEvent to all listeners/handlers no matter if they
  33425. were created in the same isolated world where the exception occured or not.
  33426. Tests: fast/events/window-onerror1.html
  33427. fast/events/window-onerror10.html
  33428. fast/events/window-onerror11.html
  33429. fast/events/window-onerror2.html
  33430. fast/events/window-onerror3.html
  33431. fast/events/window-onerror4.html
  33432. fast/events/window-onerror5.html
  33433. fast/events/window-onerror6.html
  33434. fast/events/window-onerror7.html
  33435. fast/events/window-onerror8.html
  33436. fast/events/window-onerror9.html
  33437. http/tests/security/window-onerror-exception-in-iframe.html
  33438. userscripts/window-onerror-for-isolated-world-1.html
  33439. userscripts/window-onerror-for-isolated-world-2.html
  33440. * Android.jscbindings.mk:
  33441. * CMakeLists.txt:
  33442. * GNUmakefile.am:
  33443. * WebCore.gypi:
  33444. * WebCore.order:
  33445. * WebCore.pro:
  33446. * WebCore.vcproj/WebCore.vcproj:
  33447. * WebCore.xcodeproj/project.pbxproj:
  33448. * bindings/js/JSBindingsAllInOne.cpp:
  33449. * bindings/js/JSDOMBinding.cpp:
  33450. (WebCore::reportException):
  33451. * bindings/js/JSErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.cpp.
  33452. (WebCore::JSErrorHandler::JSErrorHandler):
  33453. (WebCore::JSErrorHandler::~JSErrorHandler):
  33454. (WebCore::JSErrorHandler::handleEvent):
  33455. * bindings/js/JSErrorHandler.h: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
  33456. (WebCore::JSErrorHandler::create):
  33457. (WebCore::createJSErrorHandler):
  33458. * bindings/scripts/CodeGeneratorJS.pm:
  33459. * bindings/scripts/CodeGeneratorV8.pm:
  33460. * bindings/v8/V8ConsoleMessage.cpp:
  33461. (WebCore::V8ConsoleMessage::dispatchNow):
  33462. (WebCore::V8ConsoleMessage::handler): the method was changed to use generic WebCore exception
  33463. reporting mechanism which is also used by JSC bindings.
  33464. * bindings/v8/V8ConsoleMessage.h:
  33465. * bindings/v8/V8WindowErrorHandler.cpp: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
  33466. (WebCore::V8WindowErrorHandler::V8WindowErrorHandler):
  33467. (WebCore::V8WindowErrorHandler::callListenerFunction):
  33468. * bindings/v8/V8WindowErrorHandler.h: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
  33469. (WebCore::V8WindowErrorHandler::create):
  33470. * bindings/v8/WorkerContextExecutionProxy.cpp:
  33471. (WebCore::v8MessageHandler):
  33472. * bindings/v8/WorkerScriptController.cpp:
  33473. (WebCore::WorkerScriptController::evaluate):
  33474. * dom/Document.cpp:
  33475. (WebCore::Document::errorEventTarget):
  33476. (WebCore::Document::logExceptionToConsole):
  33477. * dom/Document.h:
  33478. * dom/ScriptExecutionContext.cpp:
  33479. (WebCore::ScriptExecutionContext::PendingException::PendingException):
  33480. (WebCore::ScriptExecutionContext::ScriptExecutionContext):
  33481. (WebCore::ScriptExecutionContext::reportException): this method is not virtual anymore to
  33482. ensure that error event dispatching algorithm is the same in WorkerContext and in Document.
  33483. (WebCore::ScriptExecutionContext::dispatchErrorEvent):
  33484. * dom/ScriptExecutionContext.h:
  33485. * workers/DefaultSharedWorkerRepository.cpp:
  33486. (WebCore::postExceptionTask):
  33487. * workers/WorkerContext.cpp:
  33488. (WebCore::WorkerContext::WorkerContext):
  33489. (WebCore::WorkerContext::errorEventTarget):
  33490. (WebCore::WorkerContext::logExceptionToConsole):
  33491. * workers/WorkerContext.h:
  33492. * workers/WorkerMessagingProxy.cpp:
  33493. (WebCore::WorkerExceptionTask::performTask):
  33494. 2010-12-08 Alexander Pavlov <apavlov@chromium.org>
  33495. Reviewed by Joseph Pecoraro.
  33496. Web Inspector: Enable CSS property editing name/value-wise (like Firebug does)
  33497. https://bugs.webkit.org/show_bug.cgi?id=50565
  33498. For CSS property editing, the property name and value have become two fields separated
  33499. by a colon (rather than one field containing the full property text.) A user can tab
  33500. between the name and value fields forward and backward. A colon typed in the name field
  33501. and a semicolon in the value field (unless found inside a string) act as a Tab and focus
  33502. the next editable field (while applying the entire property value.)
  33503. Now a user can tab through all editable styles for an element, even across rule boundaries.
  33504. * inspector/front-end/BreakpointsSidebarPane.js:
  33505. (WebInspector.XHRBreakpointsSidebarPane.prototype._startEditingBreakpoint):
  33506. * inspector/front-end/DataGrid.js:
  33507. (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode):
  33508. (WebInspector.DataGrid.prototype._startEditing):
  33509. * inspector/front-end/ElementsTreeOutline.js:
  33510. (WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
  33511. (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
  33512. (WebInspector.ElementsTreeElement.prototype._startEditingTagName):
  33513. (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
  33514. * inspector/front-end/MetricsSidebarPane.js:
  33515. (WebInspector.MetricsSidebarPane.prototype.startEditing):
  33516. * inspector/front-end/ObjectPropertiesSection.js:
  33517. (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
  33518. * inspector/front-end/Section.js:
  33519. (WebInspector.Section):
  33520. (WebInspector.Section.prototype.get subtitleAsTextForTest):
  33521. (WebInspector.Section.prototype.get nextSibling):
  33522. (WebInspector.Section.prototype.get previousSibling):
  33523. * inspector/front-end/SourceFrame.js:
  33524. (WebInspector.SourceFrame.prototype._editBreakpointCondition):
  33525. * inspector/front-end/StylesSidebarPane.js:
  33526. (WebInspector.StylePropertiesSection.prototype.nextEditableSibling):
  33527. (WebInspector.StylePropertiesSection.prototype.previousEditableSibling):
  33528. (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
  33529. (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
  33530. (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
  33531. (WebInspector.StylePropertyTreeElement.prototype.):
  33532. (WebInspector.StylePropertyTreeElement.prototype):
  33533. * inspector/front-end/TextViewer.js:
  33534. (WebInspector.TextViewer.prototype._handleDoubleClick):
  33535. * inspector/front-end/WatchExpressionsSidebarPane.js:
  33536. (WebInspector.WatchExpressionTreeElement.prototype.startEditing):
  33537. * inspector/front-end/inspector.css:
  33538. (.child-editing):
  33539. * inspector/front-end/inspector.js:
  33540. (WebInspector.startEditing.defaultFinishHandler):
  33541. (WebInspector.startEditing):
  33542. * inspector/front-end/treeoutline.js:
  33543. (TreeElement.prototype.select):
  33544. 2010-12-13 Yael Aharon <yael.aharon@nokia.com>
  33545. Unreviewed.
  33546. Added svn propery eol-style. Patches to this file fail to apply on Windows EWS bot.
  33547. * accessibility/AccessibilityAllInOne.cpp: Added property svn:eol-style.
  33548. 2010-12-13 Sheriff Bot <webkit.review.bot@gmail.com>
  33549. Unreviewed, rolling out r73898.
  33550. http://trac.webkit.org/changeset/73898
  33551. https://bugs.webkit.org/show_bug.cgi?id=50919
  33552. FileSystem and Database API's were broken (Requested by loislo
  33553. on #webkit).
  33554. * inspector/Inspector.idl:
  33555. * inspector/InspectorDebuggerAgent.cpp:
  33556. (WebCore::InspectorDebuggerAgent::didParseSource):
  33557. * inspector/InspectorProfilerAgent.cpp:
  33558. (WebCore::InspectorProfilerAgent::resetState):
  33559. * inspector/front-end/DOMAgent.js:
  33560. * inspector/front-end/DebuggerModel.js:
  33561. (WebInspector.DebuggerModel):
  33562. (WebInspector.DebuggerModel.prototype.debuggerPaused):
  33563. (WebInspector.DebuggerModel.prototype.debuggerResumed):
  33564. * inspector/front-end/ProfilesPanel.js:
  33565. (WebInspector.ProfilesPanel):
  33566. (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
  33567. * inspector/front-end/ResourceManager.js:
  33568. (WebInspector.ResourceManager):
  33569. (WebInspector.ResourceManager.prototype._registerNotifyHandlers):
  33570. (WebInspector.ResourceManager.prototype._unbindResourceURL):
  33571. * inspector/front-end/inspector.js:
  33572. (WebInspector.addDatabase):
  33573. (WebInspector.addDOMStorage):
  33574. (WebInspector.updateDOMStorage):
  33575. (WebInspector.updateApplicationCacheStatus):
  33576. (WebInspector.didGetFileSystemPath):
  33577. (WebInspector.didGetFileSystemError):
  33578. (WebInspector.didGetFileSystemDisabled):
  33579. (WebInspector.updateNetworkState):
  33580. (WebInspector.attachDebuggerWhenShown):
  33581. (WebInspector.debuggerWasEnabled):
  33582. (WebInspector.debuggerWasDisabled):
  33583. (WebInspector.profilerWasEnabled):
  33584. (WebInspector.profilerWasDisabled):
  33585. (WebInspector.parsedScriptSource):
  33586. (WebInspector.restoredBreakpoint):
  33587. (WebInspector.failedToParseScriptSource):
  33588. (WebInspector.pausedScript):
  33589. (WebInspector.resumedScript):
  33590. (WebInspector.resetProfilesPanel):
  33591. (WebInspector.didCommitLoad):
  33592. (WebInspector.addProfileHeader):
  33593. (WebInspector.setRecordingProfile):
  33594. (WebInspector.addHeapSnapshotChunk):
  33595. (WebInspector.finishHeapSnapshot):
  33596. 2010-12-13 Anton Muhin <antonm@chromium.org>
  33597. Reviewed by Pavel Feldman.
  33598. [v8] More CSS wrappers GC work: keep document's style sheets, style sheet and css rule lists' items in proper object groups
  33599. https://bugs.webkit.org/show_bug.cgi?id=50828
  33600. * bindings/v8/DOMData.h:
  33601. (WebCore::DOMData::WrapperMapObjectRemover::visitDOMWrapper):
  33602. (WebCore::DOMData::removeObjectsFromWrapperMap):
  33603. * bindings/v8/DOMDataStore.h:
  33604. (WebCore::ChunkedTable::visit):
  33605. (WebCore::ChunkedTable::visitEntries):
  33606. (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::visit):
  33607. (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::ChunkedTableTraits::visit):
  33608. * bindings/v8/V8DOMMap.cpp:
  33609. (WebCore::removeAllDOMObjectsInCurrentThread):
  33610. (WebCore::visitDOMNodesInCurrentThread):
  33611. (WebCore::visitDOMObjectsInCurrentThread):
  33612. (WebCore::visitActiveDOMObjectsInCurrentThread):
  33613. (WebCore::visitDOMSVGElementInstancesInCurrentThread):
  33614. * bindings/v8/V8DOMMap.h:
  33615. (WebCore::WeakReferenceMap::visit):
  33616. * bindings/v8/V8GCController.cpp:
  33617. (WebCore::DOMObjectVisitor::visitDOMWrapper):
  33618. (WebCore::EnsureWeakDOMNodeVisitor::visitDOMWrapper):
  33619. (WebCore::GCPrologueVisitor::visitDOMWrapper):
  33620. (WebCore::NodeGrouperVisitor::visitDOMWrapper):
  33621. (WebCore::NodeGrouperVisitor::applyGrouping):
  33622. (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
  33623. (WebCore::GCEpilogueVisitor::visitDOMWrapper):
  33624. 2010-12-13 Zoltan Herczeg <zherczeg@webkit.org>
  33625. Unreviewed build fix for r73894.
  33626. SVGFEImage should also check its hasResult() in its apply().
  33627. * svg/graphics/filters/SVGFEImage.cpp:
  33628. (WebCore::FEImage::apply):
  33629. 2010-12-13 Ilya Tikhonovsky <loislo@chromium.org>
  33630. Reviewed by Yury Semikhatsky.
  33631. Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions.
  33632. Debugger and Resources related notification functions of Inspector.idl were
  33633. marked as such with help of "domain" attribute. The other changes in js files
  33634. are reflecting this change. Some wrappers in WebInspector namespace were dropped,
  33635. the others were moved to DebuggerModel class.
  33636. https://bugs.webkit.org/show_bug.cgi?id=50906
  33637. * inspector/Inspector.idl:
  33638. * inspector/InspectorDebuggerAgent.cpp:
  33639. (WebCore::InspectorDebuggerAgent::didParseSource):
  33640. * inspector/InspectorProfilerAgent.cpp:
  33641. (WebCore::InspectorProfilerAgent::resetState):
  33642. * inspector/front-end/DOMAgent.js:
  33643. (WebInspector.DOMAgent.prototype.didCommitLoad):
  33644. * inspector/front-end/DebuggerModel.js:
  33645. (WebInspector.DebuggerModel):
  33646. (WebInspector.DebuggerModel.prototype.pausedScript):
  33647. (WebInspector.DebuggerModel.prototype.resumedScript):
  33648. (WebInspector.DebuggerModel.prototype.attachDebuggerWhenShown):
  33649. (WebInspector.DebuggerModel.prototype.debuggerWasEnabled):
  33650. (WebInspector.DebuggerModel.prototype.debuggerWasDisabled):
  33651. (WebInspector.DebuggerModel.prototype.parsedScriptSource):
  33652. (WebInspector.DebuggerModel.prototype.failedToParseScriptSource):
  33653. * inspector/front-end/ProfilesPanel.js:
  33654. (WebInspector.ProfilesPanel):
  33655. (WebInspector.ProfilesPanel.prototype.addHeapSnapshots):
  33656. (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
  33657. (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
  33658. * inspector/front-end/ResourceManager.js:
  33659. (WebInspector.ResourceManager):
  33660. (WebInspector.ResourceManager.prototype._unbindResourceURL):
  33661. (WebInspector.ResourceManager.prototype.updateDOMStorage):
  33662. (WebInspector.ResourceManager.prototype.updateApplicationCacheStatus):
  33663. (WebInspector.ResourceManager.prototype.didGetFileSystemPath):
  33664. (WebInspector.ResourceManager.prototype.didGetFileSystemError):
  33665. (WebInspector.ResourceManager.prototype.didGetFileSystemDisabled):
  33666. (WebInspector.ResourceManager.prototype.updateNetworkState):
  33667. (WebInspector.ResourceManager.prototype.addDatabase):
  33668. (WebInspector.ResourceManager.prototype.addDOMStorage):
  33669. * inspector/front-end/inspector.js:
  33670. 2010-12-13 Zoltan Herczeg <zherczeg@webkit.org>
  33671. Reviewed by Dirk Schulze.
  33672. Better result passing in filter primitives
  33673. https://bugs.webkit.org/show_bug.cgi?id=49907
  33674. SVG filter primitives can use the output of other filters. The
  33675. input and output format of a filter can be a premultiplied or
  33676. unmultiplied RGBA array, or an image buffer. All filter
  33677. primitive results were converted to image buffers before, which
  33678. could be an unecessary (and really costly) operation, if
  33679. a filter expects its input in the same format as the output
  33680. of the input filter primitive. This overhead is removed by
  33681. this patch. All apply() methods are updated according to this
  33682. new filter primitive interface.
  33683. Filters do not generate their results twice (or more) anymore,
  33684. when their apply() called multiple times.
  33685. The existing tests cover this feature.
  33686. * manual-tests/svg-filter-animation.svg: Added.
  33687. * platform/graphics/filters/FEBlend.cpp:
  33688. (WebCore::FEBlend::apply):
  33689. * platform/graphics/filters/FEColorMatrix.cpp:
  33690. (WebCore::FEColorMatrix::apply):
  33691. * platform/graphics/filters/FEComponentTransfer.cpp:
  33692. (WebCore::FEComponentTransfer::apply):
  33693. * platform/graphics/filters/FEComposite.cpp:
  33694. (WebCore::FEComposite::apply):
  33695. * platform/graphics/filters/FEConvolveMatrix.cpp:
  33696. (WebCore::FEConvolveMatrix::apply):
  33697. * platform/graphics/filters/FEDisplacementMap.cpp:
  33698. (WebCore::FEDisplacementMap::apply):
  33699. * platform/graphics/filters/FEFlood.cpp:
  33700. (WebCore::FEFlood::apply):
  33701. * platform/graphics/filters/FEGaussianBlur.cpp:
  33702. (WebCore::FEGaussianBlur::apply):
  33703. * platform/graphics/filters/FELighting.cpp:
  33704. (WebCore::FELighting::apply):
  33705. * platform/graphics/filters/FEMerge.cpp:
  33706. (WebCore::FEMerge::apply):
  33707. * platform/graphics/filters/FEMerge.h:
  33708. * platform/graphics/filters/FEMorphology.cpp:
  33709. (WebCore::FEMorphology::apply):
  33710. * platform/graphics/filters/FEOffset.cpp:
  33711. (WebCore::FEOffset::apply):
  33712. * platform/graphics/filters/FETile.cpp:
  33713. (WebCore::FETile::apply):
  33714. * platform/graphics/filters/FETurbulence.cpp:
  33715. (WebCore::FETurbulence::apply):
  33716. * platform/graphics/filters/FilterEffect.cpp:
  33717. (WebCore::FilterEffect::requestedRegionOfInputImageData):
  33718. (WebCore::FilterEffect::asImageBuffer):
  33719. (WebCore::FilterEffect::asUnmultipliedImage):
  33720. (WebCore::FilterEffect::asPremultipliedImage):
  33721. (WebCore::FilterEffect::copyImageBytes):
  33722. (WebCore::FilterEffect::copyUnmultipliedImage):
  33723. (WebCore::FilterEffect::copyPremultipliedImage):
  33724. (WebCore::FilterEffect::createImageBufferResult):
  33725. (WebCore::FilterEffect::createUnmultipliedImageResult):
  33726. (WebCore::FilterEffect::createPremultipliedImageResult):
  33727. * platform/graphics/filters/FilterEffect.h:
  33728. (WebCore::FilterEffect::hasResult):
  33729. * platform/graphics/filters/SourceAlpha.cpp:
  33730. (WebCore::SourceAlpha::apply):
  33731. * platform/graphics/filters/SourceGraphic.cpp:
  33732. (WebCore::SourceGraphic::apply):
  33733. * platform/graphics/filters/SourceGraphic.h:
  33734. * rendering/RenderSVGResourceFilter.cpp:
  33735. (WebCore::RenderSVGResourceFilter::postApplyResource):
  33736. * svg/graphics/filters/SVGFEImage.cpp:
  33737. (WebCore::FEImage::apply):
  33738. 2010-12-13 Csaba Osztrogonác <ossy@webkit.org>
  33739. Unreviewed.
  33740. * WebCore.pro: Remove non-existant loader/Request.h from build system.
  33741. 2010-12-13 Noel Gordon <noel.gordon@gmail.com>
  33742. Reviewed by Eric Seidel.
  33743. [chromium] Reduce canvas.toDataURL("image/jpeg") run-time cost by 10%
  33744. https://bugs.webkit.org/show_bug.cgi?id=50804
  33745. Follow on from r73173, unroll the SkUnPreMultiply::PMColorToColor() call
  33746. viz., compute the unpremultiplatcion in-place. This reduces the run-time
  33747. cost of jpeg encoding by 10-15% for my image test set.
  33748. No new tests: canvas.toDataURL() is covered by existing tests.
  33749. * platform/image-encoders/skia/JPEGImageEncoder.cpp:
  33750. (WebCore::preMultipliedBGRAtoRGB):
  33751. 2010-12-13 Helder Correia <helder@sencha.com>
  33752. Reviewed by Eric Seidel.
  33753. [Qt] StillImage::draw() should use ContextShadow
  33754. https://bugs.webkit.org/show_bug.cgi?id=50849
  33755. The branch that checks for a shadow requirement in StillImage::draw()
  33756. is executed when drawing a canvas onto a canvas with
  33757. ctx1.drawImage(canvas2, x, y). The current implementation supports
  33758. solid shadows only. And if transformations are present, the offset gets
  33759. transformed as well. Thus, ContextShadow must be used instead in order
  33760. to support blur and correct offset transformations.
  33761. Test: fast/canvas/canvas-draw-canvas-on-canvas-shadow.html
  33762. * platform/graphics/qt/StillImageQt.cpp:
  33763. (WebCore::StillImage::draw):
  33764. 2010-12-12 Jon Honeycutt <jhoneycutt@apple.com>
  33765. Unreviewed build fix.
  33766. * editing/EditingAllInOne.cpp:
  33767. Add new file to the all-in-one.
  33768. 2010-12-12 Jon Honeycutt <jhoneycutt@apple.com>
  33769. Unreviewed build fix.
  33770. * WebCore.vcproj/WebCore.vcproj:
  33771. Remove accidentally-committed conflict marker.
  33772. 2010-10-28 MORITA Hajime <morrita@google.com>
  33773. Reviewed by Ojan Vafai.
  33774. spellcheck does not check pasted text
  33775. https://bugs.webkit.org/show_bug.cgi?id=40092
  33776. - Introduced SpellChecker class to encapsulate asynchronous spell
  33777. checker state: sequence id, requesting text and target node.
  33778. This is also the first step to decompose spell-check related
  33779. code to a separate class.
  33780. - Added EditorClient::isAsynchronousSpellCheckingEnabled()
  33781. to use async spellcheck API on the platform.
  33782. These APIs are touched by SpellChecker.
  33783. - Used SpellChecker to check a pasted test. Text to check is
  33784. collected from the subtree under the editingRoot.
  33785. - Added Setting::m_asynchronousSpellCheckingEnabled to control
  33786. async spell checking.
  33787. Test: editing/spelling/spellcheck-paste.html
  33788. * CMakeLists.txt:
  33789. * GNUmakefile.am:
  33790. * WebCore.exp.in:
  33791. * WebCore.gypi:
  33792. * WebCore.pro:
  33793. * WebCore.vcproj/WebCore.vcproj:
  33794. * WebCore.xcodeproj/project.pbxproj:
  33795. * dom/DocumentMarkerController.cpp:
  33796. (WebCore::DocumentMarkerController::showMarkers):
  33797. (showDocumentMarkers):
  33798. * dom/DocumentMarkerController.h:
  33799. * dom/PositionIterator.cpp:
  33800. (WebCore::PositionIterator::setOffsetInLeafNode):
  33801. * dom/PositionIterator.h:
  33802. * editing/Editor.cpp:
  33803. (WebCore::Editor::replaceSelectionWithFragment):
  33804. (WebCore::Editor::Editor):
  33805. (WebCore::findFirstMarkable):
  33806. (WebCore::Editor::selectionStartHasSpellingMarkerFor):
  33807. * editing/Editor.h:
  33808. (WebCore::Editor::spellChecker):
  33809. * editing/SpellChecker.cpp: Added.
  33810. (WebCore::SpellChecker::SpellChecker):
  33811. (WebCore::SpellChecker::~SpellChecker):
  33812. (WebCore::SpellChecker::initRequest):
  33813. (WebCore::SpellChecker::clearRequest):
  33814. (WebCore::SpellChecker::isAsynchronousEnabled):
  33815. (WebCore::SpellChecker::canCheckAsynchronously):
  33816. (WebCore::SpellChecker::isBusy):
  33817. (WebCore::SpellChecker::isValid):
  33818. (WebCore::SpellChecker::isCheckable):
  33819. (WebCore::SpellChecker::requestCheckingFor):
  33820. (WebCore::forwardIterator):
  33821. (WebCore::SpellChecker::didCheck):
  33822. * editing/SpellChecker.h: Added.
  33823. (WebCore::SpellCheckingResult::SpellCheckingResult):
  33824. (WebCore::SpellCheckingResult::type):
  33825. (WebCore::SpellCheckingResult::location):
  33826. (WebCore::SpellCheckingResult::length):
  33827. * loader/EmptyClients.h:
  33828. (WebCore::EmptyEditorClient::requestCheckingOfString):
  33829. * page/EditorClient.h:
  33830. * page/Settings.cpp:
  33831. (WebCore::Settings::Settings):
  33832. * page/Settings.h:
  33833. (WebCore::Settings::setAsynchronousSpellCheckingEnabled):
  33834. (WebCore::Settings::asynchronousSpellCheckingEnabled):
  33835. 2010-12-09 Antonio Gomes <agomes@rim.com>
  33836. Reviewed by Daniel Bates.
  33837. Spatial Navigation: code clean up (part II)
  33838. https://bugs.webkit.org/show_bug.cgi?id=50666
  33839. No new tests needed.
  33840. * page/FocusController.cpp: Removed static declaration of updateFocusCandidateIfNeeded() from
  33841. the top of FocusController.cpp, and added the 'static' keyword where the function is implemented;
  33842. * page/SpatialNavigation.cpp: In FocusCandidate constructor, renamed 'n' to 'node', and added an assert to it;
  33843. (WebCore::FocusCandidate::FocusCandidate):
  33844. (WebCore::virtualRectForAreaElementAndDirection): Added an assert to 'node';
  33845. * page/SpatialNavigation.h:I reordered the declaration of some methods in order to group related ones;
  33846. Removed isScrollableContainerNode() function declaration since it is not used outside SpatialNavigation.cpp;
  33847. And removed the declaration of isNodeDeepDescendantOfDocument() since it does not exist anymore.
  33848. 2010-12-12 Philippe Normand <pnormand@igalia.com>
  33849. Reviewed by Xan Lopez.
  33850. build-webkit --gtk --minimal fails
  33851. https://bugs.webkit.org/show_bug.cgi?id=46267
  33852. No new tests, build fix only.
  33853. * GNUmakefile.am: Include some JS bindings generated headers in
  33854. the build even if their corresponding feature is disabled. They
  33855. are needed to make the DOM bindings build.
  33856. 2010-12-12 Sam Magnuson <smagnuso@gmail.com>
  33857. Reviewed by Eric Seidel.
  33858. [Qt] Compile with QT_NO_QUUID_STRING.
  33859. https://bugs.webkit.org/show_bug.cgi?id=49745
  33860. * platform/UUID.cpp:
  33861. (WebCore::createCanonicalUUIDString):
  33862. 2010-12-12 Ragner Magalhaes <ragner.magalhaes@openbossa.org>
  33863. Reviewed by Eric Seidel.
  33864. [Qt] Missing style for date pickers on Qt Mobile theme
  33865. https://bugs.webkit.org/show_bug.cgi?id=50628
  33866. * css/themeQtMobile.css:
  33867. 2010-12-11 Alice Liu <alice.liu@apple.com>
  33868. Mac build fix.
  33869. * platform/network/mac/ResourceResponseMac.mm:
  33870. (WebCore::ResourceResponse::platformLazyInit):
  33871. Resolve string[0] ambiguity by passing 0U.
  33872. 2010-12-11 Adam Barth <abarth@webkit.org>
  33873. Reviewed by Sam Weinig.
  33874. [V8] Move to DOMWindow::setLocation
  33875. https://bugs.webkit.org/show_bug.cgi?id=50876
  33876. Recently, JavaScriptCore moved to implementing setLocation in WebCore.
  33877. This patch change V8 to use that common code path. I haven't removed
  33878. the old code path because it's still used for other things (like
  33879. assigning window.location.href), but I'll move the rest over in a
  33880. future patch.
  33881. * bindings/v8/custom/V8DOMWindowCustom.cpp:
  33882. (WebCore::V8DOMWindow::locationAccessorSetter):
  33883. * bindings/v8/specialization/V8BindingState.cpp:
  33884. (WebCore::::getFirstWindow):
  33885. * bindings/v8/specialization/V8BindingState.h:
  33886. 2010-10-11 Diego Gonzalez <diegohcg@webkit.org>
  33887. Reviewed by Kenneth Rohde Christiansen.
  33888. [Qt] Mock DeviceOrientation client for DRT
  33889. https://bugs.webkit.org/show_bug.cgi?id=47490
  33890. * WebCore.pro:
  33891. 2010-12-11 Joone Hur <joone@kldp.org>
  33892. Reviewed by Alexey Proskuryakov.
  33893. enumeration value ‘ResponseTypeArrayBuffer’ not handled in switch
  33894. https://bugs.webkit.org/show_bug.cgi?id=50871
  33895. Fix the warning which occurs when enumeration value is not handled in switch.
  33896. No new tests, no change in behavior.
  33897. * bindings/js/JSXMLHttpRequestCustom.cpp:
  33898. (WebCore::JSXMLHttpRequest::response):
  33899. 2010-12-11 Patrick Gansterer <paroga@webkit.org>
  33900. Reviewed by Darin Adler.
  33901. Add an overload to makeString for Vector<char>
  33902. https://bugs.webkit.org/show_bug.cgi?id=50123
  33903. This also contains a segfault fix for ImageBuffer::toDataURL of the Haiku port.
  33904. * platform/graphics/cg/ImageBufferCG.cpp:
  33905. (WebCore::ImageBuffer::toDataURL):
  33906. * platform/graphics/gtk/ImageBufferGtk.cpp:
  33907. (WebCore::ImageBuffer::toDataURL):
  33908. * platform/graphics/haiku/ImageBufferHaiku.cpp:
  33909. (WebCore::ImageBuffer::toDataURL):
  33910. * platform/graphics/skia/ImageBufferSkia.cpp:
  33911. (WebCore::ImageBuffer::toDataURL):
  33912. 2010-12-10 Alexey Proskuryakov <ap@apple.com>
  33913. Mac build fix.
  33914. * platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit):
  33915. Resolve string[0] ambiguity by passing 0U.
  33916. 2010-12-10 Steve Falkenburg <sfalken@apple.com>
  33917. Windows production build fix.
  33918. Only the vsprops are indirected through WebKitVSPropsRedirectionDir, not the scripts in WebKitLibraries/win/tools/scripts.
  33919. * WebCore.vcproj/WebCoreGeneratedCommon.vsprops:
  33920. * WebCore.vcproj/build-generated-files.sh:
  33921. 2010-12-10 John Knottenbelt <jknotten@chromium.org>
  33922. Reviewed by Eric Seidel.
  33923. Remove WebCore/platform/mac/GeolocationService.{h,mm}
  33924. https://bugs.webkit.org/show_bug.cgi?id=50074
  33925. Remove unused non-client-based geolocation code.
  33926. * platform/mac/GeolocationServiceMac.h: Removed.
  33927. * platform/mac/GeolocationServiceMac.mm: Removed.
  33928. 2010-12-10 Alexey Proskuryakov <ap@apple.com>
  33929. Reviewed by Darin Adler.
  33930. https://bugs.webkit.org/show_bug.cgi?id=46573
  33931. <rdar://problem/8479389> REGRESSION: charset="utf-8" (with quotes) doesn't work
  33932. Test: http/tests/mime/quoted-charset.php
  33933. * platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit):
  33934. * platform/network/mac/ResourceResponseMac.mm: (WebCore::ResourceResponse::platformLazyInit):
  33935. Work around a CFNetwork issue, strip quotes if they are present.
  33936. 2010-12-10 Vincent Scheib <scheib@chromium.org>
  33937. Reviewed by James Robinson.
  33938. Shader::loadShader() must initialize variable passed to getShaderiv
  33939. https://bugs.webkit.org/show_bug.cgi?id=50842
  33940. Test: fast/canvas/canvas-largedraws.html
  33941. * platform/graphics/gpu/Shader.cpp:
  33942. (WebCore::Shader::loadShader):
  33943. 2010-12-10 Vincent Scheib <scheib@chromium.org>
  33944. Reviewed by James Robinson.
  33945. Texture::updateSubRect should pass IntRect by reference
  33946. https://bugs.webkit.org/show_bug.cgi?id=50845
  33947. No test, changing to pass by ref.
  33948. * platform/graphics/gpu/Texture.cpp:
  33949. (WebCore::Texture::updateSubRect):
  33950. * platform/graphics/gpu/Texture.h:
  33951. 2010-12-10 Darin Adler <darin@apple.com>
  33952. Reviewed by Sam Weinig.
  33953. Move open and showModalDialog implementations from bindings into DOM class DOMWindow
  33954. https://bugs.webkit.org/show_bug.cgi?id=50836
  33955. * bindings/js/JSDOMWindowCustom.cpp:
  33956. (WebCore::JSDOMWindow::open): Removed most of the code and changed to call
  33957. DOMWindow::open.
  33958. (WebCore::DialogHandler::DialogHandler): Added. Object is used to handle the
  33959. arguments and return value in showModalDialog.
  33960. (WebCore::DialogHandler::dialogCreated): Ditto.
  33961. (WebCore::DialogHandler::returnValue): Ditto.
  33962. (WebCore::setUpDialog): Added. Function passed to showModalDialog that just
  33963. casts pointer to DialogHandler can calls dialogCreated.
  33964. (WebCore::JSDOMWindow::showModalDialog): Removed most of the code and changed
  33965. to call DOMWindow::showModalDialog.
  33966. (WebCore::JSDOMWindow::postMessage): Made style match the rest of the file by
  33967. renaming local variables and getting rid of a needless ones.
  33968. * page/DOMWindow.cpp:
  33969. (WebCore::DOMWindow::parseModalDialogFeatures): Moved body of this function
  33970. to the WindowFeatures class.
  33971. (WebCore::DOMWindow::allowPopUp): Renamed argument from activeFrame to firstFrame,
  33972. because that's the frame we pass in here. Also added an overload so this can be
  33973. called on a window rather than a frame.
  33974. (WebCore::DOMWindow::setLocation): Renamed a couple variables so the names are
  33975. the same as in open and showModalDialog. Factored the JavaScript security check
  33976. into a new function named isInsecureScriptAccess.
  33977. (WebCore::DOMWindow::isInsecureScriptAccess): Here is the new function.
  33978. (WebCore::DOMWindow::createWindow): Added. Contains logic shared by open and
  33979. showModalDialog just as the function named createWindow in JSDOMWindowCustom.cpp
  33980. used to.
  33981. (WebCore::DOMWindow::open): Added. Code from JSDOMWindowCustom without the
  33982. JavaScript language binding part, and with a bit of refactoring to share code
  33983. with the rest of the DOMWindow class.
  33984. (WebCore::DOMWindow::showModalDialog): Ditto.
  33985. * page/DOMWindow.h: Moved conditional parts of the file into separate paragraphs
  33986. in alphabetical order so they are not scattered thorugh the file. Removed redundant
  33987. includes. Added some blank lines for clarity. Added an open function and a
  33988. showModalDialog function. Added private createWindow and isInsecureScriptAccess
  33989. functions.
  33990. * page/WindowFeatures.cpp:
  33991. (WebCore::isWindowFeaturesSeparator): Renamed from isSeparator for clarity.
  33992. (WebCore::WindowFeatures::WindowFeatures): Updated for name change. Used isEmpty
  33993. instead of checking length. Added a new constructor for use when making dialogs,
  33994. with code from the showModalDialog function.
  33995. (WebCore::WindowFeatures::boolFeature): Use DialogFeaturesMap typedef.
  33996. (WebCore::WindowFeatures::floatFeature): Use DialogFeaturesMap typedef.
  33997. Renamed a local variable and tweaked the comments a bit.
  33998. (WebCore::WindowFeatures::parseDialogFeatures): Added. Code moved here from
  33999. DOMWindow::parseDialogFeatures and refactored a bit.
  34000. * page/WindowFeatures.h: Added new constructor, new parseDialogFeatures
  34001. function, DialogFeaturesMap typedef, and made setWindowFeature function private.
  34002. 2010-12-10 Chris Fleizach <cfleizach@apple.com>
  34003. Reviewed by Darin Adler.
  34004. AX: refactor AccessibilityRenderObject::doAccessibilityHitTest
  34005. https://bugs.webkit.org/show_bug.cgi?id=50574
  34006. Refactors accessibility hit testing to allow for a more flexible model when handling elements
  34007. with fake sub-elements (like sliders or list boxes).
  34008. Renamed doAccessibilityHitTest -> accessibilityHitTest, which is called on the root
  34009. accessibility render object. Then subclassers are able to override
  34010. elementAccessibilityHitTest to return their own specific elements.
  34011. * accessibility/AccessibilityListBox.cpp:
  34012. (WebCore::AccessibilityListBox::elementAccessibilityHitTest):
  34013. * accessibility/AccessibilityListBox.h:
  34014. * accessibility/AccessibilityObject.h:
  34015. (WebCore::AccessibilityObject::accessibilityHitTest):
  34016. (WebCore::AccessibilityObject::elementAccessibilityHitTest):
  34017. * accessibility/AccessibilityRenderObject.cpp:
  34018. (WebCore::AccessibilityRenderObject::accessibilityHitTest):
  34019. * accessibility/AccessibilityRenderObject.h:
  34020. * accessibility/AccessibilitySlider.cpp:
  34021. (WebCore::AccessibilitySlider::elementAccessibilityHitTest):
  34022. * accessibility/AccessibilitySlider.h:
  34023. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
  34024. (webkit_accessible_component_ref_accessible_at_point):
  34025. * accessibility/mac/AccessibilityObjectWrapper.mm:
  34026. (-[AccessibilityObjectWrapper accessibilityHitTest:]):
  34027. 2010-12-10 Kenneth Russell <kbr@google.com>
  34028. Reviewed by Darin Adler.
  34029. Clean up assertion in Extensions3DOpenGL.cpp
  34030. https://bugs.webkit.org/show_bug.cgi?id=50852
  34031. Built Release mode to test. No functionality change.
  34032. * platform/graphics/opengl/Extensions3DOpenGL.cpp:
  34033. (WebCore::Extensions3DOpenGL::ensureEnabled):
  34034. 2010-12-10 Cosmin Truta <ctruta@chromium.org>
  34035. Reviewed by Eric Seidel.
  34036. Crash while processing ill-formed <textPath> ouside of <text>
  34037. https://bugs.webkit.org/show_bug.cgi?id=47759
  34038. Renderers within a <text> subtree are created only when their corresponding elements
  34039. satisfy the content model.
  34040. Test: svg/custom/invalid-text-content.svg
  34041. * svg/SVGTRefElement.cpp:
  34042. (WebCore::SVGTRefElement::childShouldCreateRenderer): Fixed to comply with the content model.
  34043. (WebCore::SVGTRefElement::rendererIsNeeded): Added.
  34044. * svg/SVGTRefElement.h:
  34045. * svg/SVGTSpanElement.cpp:
  34046. (WebCore::SVGTSpanElement::childShouldCreateRenderer): Fixed to comply with the content model.
  34047. (WebCore::SVGTSpanElement::rendererIsNeeded): Added.
  34048. * svg/SVGTSpanElement.h: Changed indentation.
  34049. * svg/SVGTextElement.cpp:
  34050. (WebCore::SVGTextElement::childShouldCreateRenderer): Reformatted.
  34051. * svg/SVGTextPathElement.cpp:
  34052. (WebCore::SVGTextPathElement::childShouldCreateRenderer): Fixed to comply with the content model.
  34053. (WebCore::SVGTextPathElement::rendererIsNeeded): Added.
  34054. * svg/SVGTextPathElement.h:
  34055. 2010-12-10 Zhenyao Mo <zmo@google.com>
  34056. Reviewed by Adam Barth.
  34057. Use enums instead of booleans in ImageSource/ImageDecoder constructors
  34058. https://bugs.webkit.org/show_bug.cgi?id=50818
  34059. This patch basically defines two enum type in ImageSource: AlphaOption
  34060. and GammaAndColorProfileOption and use them as ImageSource and ImageDecoder
  34061. constructor parameters instead of boolean typs.
  34062. * platform/graphics/ImageSource.cpp:
  34063. (WebCore::ImageSource::ImageSource):
  34064. (WebCore::ImageSource::setData):
  34065. * platform/graphics/ImageSource.h: Define the two enum types.
  34066. * platform/graphics/cg/GraphicsContext3DCG.cpp:
  34067. (WebCore::GraphicsContext3D::getImageData):
  34068. * platform/graphics/cg/ImageSourceCG.cpp:
  34069. (WebCore::ImageSource::ImageSource):
  34070. * platform/graphics/qt/ImageDecoderQt.cpp:
  34071. (WebCore::ImageDecoder::create):
  34072. (WebCore::ImageDecoderQt::ImageDecoderQt):
  34073. * platform/graphics/qt/ImageDecoderQt.h:
  34074. * platform/graphics/skia/GraphicsContext3DSkia.cpp:
  34075. (WebCore::GraphicsContext3D::getImageData):
  34076. * platform/image-decoders/ImageDecoder.cpp:
  34077. (WebCore::ImageDecoder::create):
  34078. * platform/image-decoders/ImageDecoder.h:
  34079. (WebCore::ImageDecoder::ImageDecoder):
  34080. * platform/image-decoders/bmp/BMPImageDecoder.cpp:
  34081. (WebCore::BMPImageDecoder::BMPImageDecoder):
  34082. * platform/image-decoders/bmp/BMPImageDecoder.h:
  34083. * platform/image-decoders/gif/GIFImageDecoder.cpp:
  34084. (WebCore::GIFImageDecoder::GIFImageDecoder):
  34085. * platform/image-decoders/gif/GIFImageDecoder.h:
  34086. * platform/image-decoders/ico/ICOImageDecoder.cpp:
  34087. (WebCore::ICOImageDecoder::ICOImageDecoder):
  34088. (WebCore::ICOImageDecoder::decodeAtIndex):
  34089. * platform/image-decoders/ico/ICOImageDecoder.h:
  34090. * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
  34091. (WebCore::JPEGImageDecoder::JPEGImageDecoder):
  34092. * platform/image-decoders/jpeg/JPEGImageDecoder.h:
  34093. * platform/image-decoders/png/PNGImageDecoder.cpp:
  34094. (WebCore::PNGImageDecoder::PNGImageDecoder):
  34095. * platform/image-decoders/png/PNGImageDecoder.h:
  34096. * platform/image-decoders/webp/WEBPImageDecoder.cpp:
  34097. (WebCore::WEBPImageDecoder::WEBPImageDecoder):
  34098. * platform/image-decoders/webp/WEBPImageDecoder.h:
  34099. 2010-12-10 Ryosuke Niwa <rniwa@webkit.org>
  34100. Reviewed by Darin Adler.
  34101. REGRESSION(r73799): editing/execCommand/4920488.html fails
  34102. https://bugs.webkit.org/show_bug.cgi?id=50854
  34103. The regression was caused by Range::processContents's not extracting
  34104. m_end.container()->firstChild(). Fixed the bug by always adding the first child.
  34105. * dom/Range.cpp:
  34106. (WebCore::Range::processContents):
  34107. 2010-12-10 Adam Barth <abarth@webkit.org>
  34108. Reviewed by Eric Seidel.
  34109. REGRESSION: Infinite redirect on developer.apple.com
  34110. https://bugs.webkit.org/show_bug.cgi?id=45627
  34111. Tests: fast/loader/form-submit-aborts-parsing.html
  34112. fast/loader/location-change-aborts-parsing.html
  34113. This patch is not pretty, but it fixes the bug. I stole this approach
  34114. from the old HTML parser (as suggested by Eric Seidel). The other
  34115. approaches that folks tried for this bug are better, but it's inclear
  34116. how to get them to work correctly. I've added a large FIXME comment.
  34117. * html/parser/HTMLDocumentParser.cpp:
  34118. (WebCore::HTMLDocumentParser::pumpTokenizer):
  34119. * html/parser/HTMLTreeBuilder.h:
  34120. (WebCore::HTMLTreeBuilder::isParsingFragment):
  34121. 2010-12-10 Brian Weinstein <bweinstein@apple.com>
  34122. Reviewed by Ada Chan.
  34123. When we are creating a ContextMenuItem, only call setSubMenu if we have
  34124. a subMenu to set.
  34125. * platform/ContextMenuItem.cpp:
  34126. (WebCore::ContextMenuItem::ContextMenuItem):
  34127. 2010-12-10 Kenneth Russell <kbr@google.com>
  34128. Unreviewed, another build fix. #include <wtf/UnusedParam.h> needed
  34129. for Release builds.
  34130. * platform/graphics/opengl/Extensions3DOpenGL.cpp:
  34131. 2010-12-10 Kenneth Russell <kbr@google.com>
  34132. Unreviewed, build fix. Change #ifndef NDEBUG to #ifdef NDEBUG.
  34133. * platform/graphics/opengl/Extensions3DOpenGL.cpp:
  34134. (WebCore::Extensions3DOpenGL::ensureEnabled):
  34135. 2010-12-10 Kenneth Russell <kbr@google.com>
  34136. Reviewed by James Robinson.
  34137. Implement extension entry points and remove EXTENSIONS enum
  34138. https://bugs.webkit.org/show_bug.cgi?id=40316
  34139. Implemented WebGLRenderingContext's getSupportedExtensions and
  34140. getExtensions entry points, and, to verify them, added support for
  34141. the first specified WebGL extension, OES_texture_float. This
  34142. extension is now advertised in the Chromium and WebKit ports when
  34143. the underlying hardware supports it.
  34144. The new OES_texture_float test in the WebGL conformance suite
  34145. verifies the allocation and population of floating point textures,
  34146. and their use as render targets. However, because this extension
  34147. is optional, it is not easily testable with a layout test; there
  34148. is only one set of expectations for a given test, and two would be
  34149. needed, one when the extension is available and one when it is not.
  34150. Tested with the oes-texture-float.html WebGL conformance test in
  34151. Chromium and WebKit on Mac OS X on hardware that supports the
  34152. extension. Also verified with a configuration that does not
  34153. advertise the extension that this same test passes.
  34154. * CMakeLists.txt:
  34155. * DerivedSources.make:
  34156. * GNUmakefile.am:
  34157. * WebCore.gypi:
  34158. * WebCore.pri:
  34159. * WebCore.pro:
  34160. * WebCore.xcodeproj/project.pbxproj:
  34161. * bindings/js/JSWebGLRenderingContextCustom.cpp:
  34162. (WebCore::toJS):
  34163. (WebCore::JSWebGLRenderingContext::markChildren):
  34164. (WebCore::JSWebGLRenderingContext::getExtension):
  34165. (WebCore::JSWebGLRenderingContext::getSupportedExtensions):
  34166. * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
  34167. (WebCore::toV8Object):
  34168. (WebCore::V8WebGLRenderingContext::getExtensionCallback):
  34169. (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
  34170. * html/canvas/OESTextureFloat.cpp: Added.
  34171. (WebCore::OESTextureFloat::OESTextureFloat):
  34172. (WebCore::OESTextureFloat::~OESTextureFloat):
  34173. (WebCore::OESTextureFloat::getName):
  34174. (WebCore::OESTextureFloat::create):
  34175. * html/canvas/OESTextureFloat.h: Added.
  34176. * html/canvas/OESTextureFloat.idl: Added.
  34177. * html/canvas/WebGLExtension.cpp: Added.
  34178. (WebCore::WebGLExtension::WebGLExtension):
  34179. (WebCore::WebGLExtension::~WebGLExtension):
  34180. * html/canvas/WebGLExtension.h: Added.
  34181. * html/canvas/WebGLRenderingContext.cpp:
  34182. (WebCore::WebGLRenderingContext::getExtension):
  34183. (WebCore::WebGLRenderingContext::getSupportedExtensions):
  34184. (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
  34185. (WebCore::WebGLRenderingContext::validateTexFuncData):
  34186. (WebCore::WebGLRenderingContext::getNumberOfExtensions):
  34187. (WebCore::WebGLRenderingContext::getExtensionNumber):
  34188. * html/canvas/WebGLRenderingContext.h:
  34189. * html/canvas/WebGLRenderingContext.idl:
  34190. * platform/graphics/Extensions3D.h:
  34191. * platform/graphics/GraphicsContext3D.cpp:
  34192. (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
  34193. (WebCore::GraphicsContext3D::extractTextureData):
  34194. (WebCore::doUnpackingAndPacking):
  34195. (WebCore::doPacking):
  34196. (WebCore::doFloatingPointPacking):
  34197. (WebCore::GraphicsContext3D::packPixels):
  34198. * platform/graphics/GraphicsContext3D.h:
  34199. * platform/graphics/chromium/Extensions3DChromium.h:
  34200. * platform/graphics/opengl/Extensions3DOpenGL.cpp:
  34201. (WebCore::Extensions3DOpenGL::supports):
  34202. (WebCore::Extensions3DOpenGL::ensureEnabled):
  34203. * platform/graphics/opengl/Extensions3DOpenGL.h:
  34204. * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
  34205. (WebCore::GraphicsContext3D::texImage2D):
  34206. * platform/graphics/qt/Extensions3DQt.cpp:
  34207. (WebCore::Extensions3DQt::ensureEnabled):
  34208. * platform/graphics/qt/Extensions3DQt.h:
  34209. 2010-12-10 Darin Adler <darin@apple.com>
  34210. Try to fix Windows build.
  34211. * dom/Range.cpp:
  34212. (WebCore::Range::processContents): Put typedef of NodeVector inside the function
  34213. instead of at the top of the file, since the use is restricted to this function.
  34214. There's another NodeVector in ContainerNode.cpp.
  34215. 2010-12-09 Brian Weinstein <bweinstein@apple.com>
  34216. Reviewed by Adam Roben.
  34217. Prep for WebKit2: Context menu support on Windows
  34218. https://bugs.webkit.org/show_bug.cgi?id=50514
  34219. Before this patch ContextMenu on Windows were backed by HMENUs, and ContextMenuItems
  34220. were backed by MENUITEMINFOs. This meant they couldn't be copied, and they needed to
  34221. be to work in WebKit2.
  34222. This patch adds a new USE flag - CROSS_PLATFORM_CONTEXT_MENUS that are for a cross-platform
  34223. representation of context menus. This patch also has Windows adopt them.
  34224. Cross-platform context menus change the API of context menus and the ContextMenuClient. There
  34225. is no more idea of a PlatformMenuDescription or a PlatformMenuItemDescription. Menus are backed
  34226. by a Vector of ContextMenuItems, and menu items are backed by the variables they need (enabled, checked
  34227. title, action, type, and submenu).
  34228. This patch also refactors the ContextMenuClient interface to use a variation on the getCustomMenuFromDefaultItems
  34229. function to allow for customization of the context menu.
  34230. For other ports to use CROSS_PLATFORM_CONTEXT_MENUS, all they need to do is write conversion functions from
  34231. a ContextMenu <-> native menu type, and ContextMenuItem <-> native menu item type. For Windows, this is done
  34232. in ContextMenuWin.cpp and ContextMenuItemWin.cpp.
  34233. No new tests, no change in behavior.
  34234. * WebCore.vcproj/WebCore.vcproj: Add new files (only needed on Windows for now).
  34235. * loader/EmptyClients.h:
  34236. (WebCore::EmptyContextMenuClient::customizeMenu): Define this function if CROSS_PLATFORM_CONTEXT_MENUS
  34237. is on.
  34238. * page/ContextMenuClient.h: Ditto.
  34239. * page/ContextMenuController.cpp:
  34240. (WebCore::ContextMenuController::showContextMenu): Call customizeMenu instead of
  34241. getCustomMenuFromDefaultItems if CROSS_PLATFORM_CONTEXT_MENUS is on.
  34242. * platform/ContextMenu.cpp: Added.
  34243. (WebCore::ContextMenu::ContextMenu): Empty constructor.
  34244. (WebCore::ContextMenu::setItems): Sets the items in the menu.
  34245. (WebCore::ContextMenu::items): Returns the items in the menu.
  34246. (WebCore::ContextMenu::itemAtIndex):
  34247. (WebCore::itemWithActionInMenu): Returns the item with the correct action, recursively descending
  34248. into submenus.
  34249. (WebCore::ContextMenu::itemWithAction): Calls through to itemWithActionInMenu.
  34250. * platform/ContextMenu.h: Added a new set of functions and member variables that are defined for
  34251. CROSS_PLATFORM_CONTEXT_MENUS.
  34252. (WebCore::ContextMenu::appendItem): Appends an item to the menu.
  34253. * platform/ContextMenuItem.cpp: Added.
  34254. (WebCore::ContextMenuItem::ContextMenuItem):
  34255. (WebCore::ContextMenuItem::~ContextMenuItem):
  34256. (WebCore::ContextMenuItem::setSubMenu):
  34257. * platform/ContextMenuItem.h:
  34258. (WebCore::ContextMenuItem::type): Returns the type.
  34259. (WebCore::ContextMenuItem::setType): Sets the type.
  34260. (WebCore::ContextMenuItem::action): Returns the action.
  34261. (WebCore::ContextMenuItem::setAction): Sets the action.
  34262. (WebCore::ContextMenuItem::title): Returns the title.
  34263. (WebCore::ContextMenuItem::setTitle): Sets the title.
  34264. (WebCore::ContextMenuItem::checked): Returns whether or not the menu item is checked.
  34265. (WebCore::ContextMenuItem::setChecked): Sets whether ot not the menu item is checked.
  34266. (WebCore::ContextMenuItem::enabled): Returns whether or not the menu item is enabled.
  34267. (WebCore::ContextMenuItem::setEnabled): Sets whether or not the menu item is enabled.
  34268. (WebCore::ContextMenuItem::submenu): Returns the submenu.
  34269. * platform/PlatformMenuDescription.h: Remove the idea if a PlatformMenuDescription if
  34270. CROSS_PLATFORM_CONTEXT_MENUS is on.
  34271. * platform/win/ContextMenuItemWin.cpp:
  34272. (WebCore::ContextMenuItem::ContextMenuItem): Creates a ContextMenuItem from a MENUITEMINFO.
  34273. (WebCore::ContextMenuItem::nativeMenuItem): Creates and returns a MENUITEMINFO.
  34274. * platform/win/ContextMenuWin.cpp:
  34275. (WebCore::ContextMenu::ContextMenu): Creates a ContextMenu from an HMENU.
  34276. (WebCore::ContextMenu::nativeMenu): Creates and returns an HMENU.
  34277. 2010-12-10 Emil Eklund <eae@chromium.org>
  34278. Reviewed by Adam Barth.
  34279. Fix crash in ReplaceSelectionCommand::doApply when selection is modified
  34280. during execution.
  34281. https://bugs.webkit.org/show_bug.cgi?id=50840
  34282. Test: editing/execCommand/insertHTML-mutation-crash.html
  34283. * editing/ReplaceSelectionCommand.cpp:
  34284. (WebCore::ReplaceSelectionCommand::copyStyleToChildren):
  34285. Replaced raw node pointer with RefPtr.
  34286. (WebCore::ReplaceSelectionCommand::doApply):
  34287. Replaced raw node pointer with RefPtr and added null check.
  34288. 2010-12-10 Emil Eklund <eae@chromium.org>
  34289. Reviewed by Adam Barth.
  34290. Fix crash in Range::processContents when modified during mutation event.
  34291. https://bugs.webkit.org/show_bug.cgi?id=50710
  34292. Test: fast/dom/Range/range-extractContents.html
  34293. * dom/Range.cpp:
  34294. (WebCore::Range::processContents):
  34295. Replace raw pointers with RefPtrs and add checks.
  34296. 2010-12-09 Enrica Casucci <enrica@apple.com>
  34297. Reviewed by Alexey Proskuryakov.
  34298. Implement IME support for Mac.
  34299. <rdar://problem/7660589> WebKit2: Implement IME support for Mac.
  34300. https://bugs.webkit.org/show_bug.cgi?id=50788
  34301. * dom/KeyboardEvent.h:
  34302. (WebCore::KeypressCommand::KeypressCommand): Removed ASSERT in constructor,
  34303. since it is now used for more than one command.
  34304. 2010-12-10 Jessie Berlin <jberlin@apple.com>
  34305. Windows build fix. Unreviewed.
  34306. * WebCore.vcproj/WebCore.vcproj:
  34307. Remove duplicate </File> tag.
  34308. 2010-12-09 Jenn Braithwaite <jennb@chromium.org>
  34309. Reviewed by Adam Barth.
  34310. TextResourceDecoder::checkForHeadCharset can look way past the limit.
  34311. https://bugs.webkit.org/show_bug.cgi?id=47397
  34312. Replaced charset detection algorithm with real parser.
  34313. Added tests for parser bugs mentioned in the thread for this bug report.
  34314. Converted hixie's encoding parsing tests to a layout test.
  34315. Tests: fast/encoding/bracket-in-script.html
  34316. fast/encoding/bracket-in-tag.html
  34317. fast/encoding/escaped-bracket.html
  34318. fast/encoding/meta-in-body.html
  34319. fast/encoding/meta-in-script.html
  34320. fast/encoding/meta-in-title.html
  34321. fast/encoding/mismatched-end-tag.html
  34322. fast/encoding/namespace-meta.html
  34323. fast/encoding/not-http-equiv-content.html
  34324. fast/encoding/parser-tests.html
  34325. fast/encoding/quotes-in-title.html
  34326. fast/encoding/tag-name-digit.html
  34327. http/tests/misc/charset-sniffer-end-sniffing.html
  34328. * Android.mk:
  34329. * CMakeLists.txt:
  34330. * GNUmakefile.am:
  34331. * WebCore.gypi:
  34332. * WebCore.pro:
  34333. * WebCore.vcproj/WebCore.vcproj:
  34334. * WebCore.xcodeproj/project.pbxproj:
  34335. * html/parser/HTMLMetaCharsetParser.cpp: Added.
  34336. (WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser):
  34337. (WebCore::HTMLMetaCharsetParser::~HTMLMetaCharsetParser):
  34338. (WebCore::HTMLMetaCharsetParser::extractCharset):
  34339. (WebCore::HTMLMetaCharsetParser::processMeta):
  34340. (WebCore::HTMLMetaCharsetParser::checkForMetaCharset):
  34341. * html/parser/HTMLMetaCharsetParser.h: Added.
  34342. (WebCore::HTMLMetaCharsetParser::create):
  34343. (WebCore::HTMLMetaCharsetParser::encoding):
  34344. * loader/TextResourceDecoder.cpp:
  34345. (WebCore::TextResourceDecoder::checkForHeadCharset):
  34346. (WebCore::TextResourceDecoder::checkForMetaCharset):
  34347. * loader/TextResourceDecoder.h:
  34348. 2010-12-10 Nate Chapin <japhet@chromium.org>
  34349. Reviewed by Antti Koivisto.
  34350. Merge Loader and Request. Currently, Loader is a singleton attached
  34351. to MemoryCache. Our goal is to remove knowledge of the loading process
  34352. from MemoryCache, so we should attach Loader to CachedResourceLoader instead.
  34353. Once Loader is moved off of MemoryCache, there's no reason it needs to be a singleton,
  34354. which removes the main reason for Request existing as a separate class (to store per-request
  34355. state that Loader couldn't).
  34356. Loader will be given a more descriptive name in a later patch.
  34357. https://bugs.webkit.org/show_bug.cgi?id=49837
  34358. Refactor only, no new tests.
  34359. * Android.mk:
  34360. * CMakeLists.txt:
  34361. * GNUmakefile.am:
  34362. * WebCore.gypi:
  34363. * WebCore.pro:
  34364. * loader/FrameLoader.cpp:
  34365. * loader/Request.cpp:
  34366. * loader/Request.h:
  34367. * loader/cache/CachedFont.cpp:
  34368. * loader/cache/CachedImage.cpp:
  34369. * loader/cache/CachedResource.cpp:
  34370. * loader/cache/CachedResource.h:
  34371. * loader/cache/CachedResourceLoader.cpp:
  34372. (WebCore::CachedResourceLoader::CachedResourceLoader):
  34373. (WebCore::CachedResourceLoader::~CachedResourceLoader):
  34374. (WebCore::CachedResourceLoader::requestImage):
  34375. (WebCore::CachedResourceLoader::setAutoLoadImages):
  34376. (WebCore::CachedResourceLoader::load):
  34377. (WebCore::CachedResourceLoader::loadDone): Was setLoadInProgress(false),
  34378. plus other CachedResourceLoader cleanup that had been handled in Loader.
  34379. (WebCore::CachedResourceLoader::cancelRequests): Moved from Loader.
  34380. (WebCore::CachedResourceLoader::requestCount):
  34381. * loader/cache/CachedResourceLoader.h:
  34382. (WebCore::CachedResourceLoader::loadFinishing): Was setLoadInProgress(true)
  34383. * loader/cache/MemoryCache.h:
  34384. * loader/loader.cpp:
  34385. (WebCore::Loader::Loader):
  34386. (WebCore::Loader::~Loader):
  34387. (WebCore::Loader::load):
  34388. (WebCore::Loader::willSendRequest):
  34389. (WebCore::Loader::didFinishLoading):
  34390. (WebCore::Loader::didFail):
  34391. (WebCore::Loader::didReceiveResponse):
  34392. (WebCore::Loader::didReceiveData):
  34393. (WebCore::Loader::didReceiveCachedMetadata):
  34394. * loader/loader.h:
  34395. (WebCore::Loader::cachedResourceLoader):
  34396. 2010-12-10 Martin Robinson <mrobinson@igalia.com>
  34397. Unreviewed, rolling out r73703.
  34398. http://trac.webkit.org/changeset/73703
  34399. https://bugs.webkit.org/show_bug.cgi?id=49658
  34400. This patch is causing crashes on the GTK+ bots.
  34401. * platform/ContextMenuItem.h:
  34402. (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
  34403. * platform/gtk/ContextMenuGtk.cpp:
  34404. (WebCore::ContextMenu::appendItem):
  34405. * platform/gtk/ContextMenuItemGtk.cpp:
  34406. (WebCore::ContextMenuItem::ContextMenuItem):
  34407. (WebCore::ContextMenuItem::~ContextMenuItem):
  34408. (WebCore::ContextMenuItem::createNativeMenuItem):
  34409. (WebCore::ContextMenuItem::releasePlatformDescription):
  34410. (WebCore::ContextMenuItem::type):
  34411. (WebCore::ContextMenuItem::setType):
  34412. (WebCore::ContextMenuItem::action):
  34413. (WebCore::ContextMenuItem::setAction):
  34414. (WebCore::ContextMenuItem::title):
  34415. (WebCore::ContextMenuItem::setTitle):
  34416. (WebCore::ContextMenuItem::platformSubMenu):
  34417. (WebCore::ContextMenuItem::setSubMenu):
  34418. (WebCore::ContextMenuItem::setChecked):
  34419. (WebCore::ContextMenuItem::setEnabled):
  34420. 2010-12-08 Mihai Parparita <mihaip@chromium.org>
  34421. Reviewed by Darin Adler.
  34422. fast/canvas/canvas-getImageData-negative-source.html fails on Mac
  34423. https://bugs.webkit.org/show_bug.cgi?id=47901
  34424. Test: fast/canvas/canvas-getImageData-rounding.html
  34425. static_cast<unsigned> is generally not what we want in
  34426. convertLogicalToDevice. It produces inconsistent results when compiling
  34427. for 32-bit vs. 64-bit, and in any case we weren't getting correct
  34428. rounding behavior for source rectangles (e.g. we should get a source rect
  34429. of width 2 if the source X is 0.9 and the source width is 0.2, but we
  34430. were getting only one of width 1).
  34431. * html/HTMLCanvasElement.cpp:
  34432. (WebCore::HTMLCanvasElement::convertLogicalToDevice):
  34433. (WebCore::HTMLCanvasElement::convertToValidDeviceSize):
  34434. * html/HTMLCanvasElement.h:
  34435. 2010-12-10 Hironori Bono <hbono@chromium.org>
  34436. Reviewed by Ojan Vafai.
  34437. [Chromium] Use libjpeg-turbo instead of libjpeg
  34438. https://bugs.webkit.org/show_bug.cgi?id=50054
  34439. This change replaces the hard-coded path to the GYP files of the JPEG
  34440. library with a 'libjpeg_gyp_path' variable, which is added by Chromium
  34441. r68453. (When building WebKit Chromium, this change sets its value to
  34442. '<(chromium_src_dir)/third_party/libjpeg/libjpeg.gyp' to avoid changing
  34443. the current behavior.)
  34444. No new tests since this does not change the code at all.
  34445. * WebCore.gyp/WebCore.gyp:
  34446. 2010-12-10 Chris Marrin <cmarrin@apple.com>
  34447. Reviewed by Simon Fraser.
  34448. Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
  34449. https://bugs.webkit.org/show_bug.cgi?id=49388
  34450. Got rid of the NonZeroBeginTimeFlag. Functionality is now hidden inside
  34451. the implementation.
  34452. * platform/graphics/ca/GraphicsLayerCA.cpp:
  34453. (WebCore::GraphicsLayerCA::setAnimationOnLayer):
  34454. * platform/graphics/ca/PlatformCAAnimation.h:
  34455. * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
  34456. (hasNonZeroBeginTimeFlag):
  34457. (setNonZeroBeginTimeFlag):
  34458. (PlatformCAAnimation::PlatformCAAnimation):
  34459. (PlatformCAAnimation::setBeginTime):
  34460. 2010-12-10 Pavel Podivilov <podivilov@chromium.org>
  34461. Reviewed by Pavel Feldman.
  34462. Web Inspector: eliminate SourceFrameDelegate by passing scripts to SourceFrame constructor.
  34463. https://bugs.webkit.org/show_bug.cgi?id=50679
  34464. * inspector/front-end/Script.js:
  34465. * inspector/front-end/ScriptView.js:
  34466. (WebInspector.ScriptView):
  34467. * inspector/front-end/ScriptsPanel.js:
  34468. (WebInspector.ScriptsPanel.prototype.reset):
  34469. * inspector/front-end/SourceFrame.js:
  34470. (WebInspector.SourceFrame):
  34471. (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
  34472. (WebInspector.SourceFrame.prototype._breakpointAdded):
  34473. (WebInspector.SourceFrame.prototype._doEditLine):
  34474. (WebInspector.SourceFrame.prototype._commitEditLine):
  34475. (WebInspector.SourceFrame.prototype._breakpoints):
  34476. (WebInspector.SourceFrame.prototype._sourceIDForLine):
  34477. * inspector/front-end/SourceView.js:
  34478. (WebInspector.SourceView):
  34479. 2010-12-10 Andreas Kling <kling@webkit.org>
  34480. Reviewed by Eric Seidel.
  34481. Don't do GraphicsContext save/restore just to preserve the CompositeOperator
  34482. https://bugs.webkit.org/show_bug.cgi?id=50070
  34483. Add GraphicsContext::compositeOperation() so we don't have to do a full
  34484. save/restore if the only context-tainting call is setCompositeOperation().
  34485. GraphicsContext::setCompositeOperation() now stores the op in its state
  34486. and calls a port-specific setPlatformCompositeOperation().
  34487. No new tests, this is an optimization.
  34488. * platform/graphics/GraphicsContext.cpp:
  34489. (WebCore::GraphicsContext::setCompositeOperation):
  34490. (WebCore::GraphicsContext::compositeOperation):
  34491. * platform/graphics/GraphicsContext.h:
  34492. * platform/graphics/GraphicsContextPrivate.h:
  34493. (WebCore::GraphicsContextState::GraphicsContextState):
  34494. * platform/graphics/Image.cpp:
  34495. (WebCore::Image::fillWithSolidColor):
  34496. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  34497. (WebCore::GraphicsContext::setPlatformCompositeOperation):
  34498. * platform/graphics/cg/GraphicsContextCG.cpp:
  34499. (WebCore::GraphicsContext::setPlatformCompositeOperation):
  34500. * platform/graphics/haiku/GraphicsContextHaiku.cpp:
  34501. (WebCore::GraphicsContext::setPlatformCompositeOperation):
  34502. * platform/graphics/mac/GraphicsContextMac.mm:
  34503. (WebCore::GraphicsContext::setPlatformCompositeOperation):
  34504. * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
  34505. (WebCore::GraphicsContext::setPlatformCompositeOperation):
  34506. * platform/graphics/qt/GraphicsContextQt.cpp:
  34507. (WebCore::GraphicsContext::setPlatformCompositeOperation):
  34508. * platform/graphics/skia/GraphicsContextSkia.cpp:
  34509. (WebCore::GraphicsContext::setPlatformCompositeOperation):
  34510. * platform/graphics/skia/SkiaUtils.cpp:
  34511. (WebCore::WebCoreCompositeToSkiaComposite):
  34512. * platform/graphics/wince/GraphicsContextWinCE.cpp:
  34513. (WebCore::GraphicsContext::setPlatformCompositeOperation):
  34514. * platform/graphics/wx/GraphicsContextWx.cpp:
  34515. (WebCore::GraphicsContext::setPlatformCompositeOperation):
  34516. * rendering/RenderBoxModelObject.cpp:
  34517. (WebCore::RenderBoxModelObject::paintFillLayerExtended):
  34518. * rendering/RenderView.cpp:
  34519. (WebCore::RenderView::paintBoxDecorations):
  34520. 2010-12-10 Renata Hodovan <reni@webkit.org>
  34521. Reviewed by Andreas Kling.
  34522. GraphicsContext: Merge m_common and m_data
  34523. https://bugs.webkit.org/show_bug.cgi?id=49914
  34524. Move data members from GraphicsContextPrivate into GraphicsContext. So GraphicsContextPlatform.h
  34525. and m_common became unnecessary. They are removed.
  34526. Add two methods to GraphicsContext: platformInit() and platformDestroy(), which
  34527. make the constructor of GraphicsContext clearer.
  34528. Besides add a getter to the private GraphicsContext::m_state member, because some inline
  34529. functions in cairo need it.
  34530. No new test is needed, because this is a refactoring.
  34531. * WebCore.xcodeproj/project.pbxproj:
  34532. * platform/graphics/GraphicsContext.cpp:
  34533. (WebCore::GraphicsContext::GraphicsContext):
  34534. (WebCore::GraphicsContext::~GraphicsContext):
  34535. (WebCore::GraphicsContext::save):
  34536. (WebCore::GraphicsContext::restore):
  34537. (WebCore::GraphicsContext::setStrokeThickness):
  34538. (WebCore::GraphicsContext::setStrokeStyle):
  34539. (WebCore::GraphicsContext::setStrokeColor):
  34540. (WebCore::GraphicsContext::setShadow):
  34541. (WebCore::GraphicsContext::clearShadow):
  34542. (WebCore::GraphicsContext::getShadow):
  34543. (WebCore::GraphicsContext::strokeThickness):
  34544. (WebCore::GraphicsContext::strokeStyle):
  34545. (WebCore::GraphicsContext::strokeColor):
  34546. (WebCore::GraphicsContext::strokeColorSpace):
  34547. (WebCore::GraphicsContext::fillRule):
  34548. (WebCore::GraphicsContext::setFillRule):
  34549. (WebCore::GraphicsContext::setFillColor):
  34550. (WebCore::GraphicsContext::fillColor):
  34551. (WebCore::GraphicsContext::fillColorSpace):
  34552. (WebCore::GraphicsContext::setShouldAntialias):
  34553. (WebCore::GraphicsContext::shouldAntialias):
  34554. (WebCore::GraphicsContext::state):
  34555. (WebCore::GraphicsContext::setStrokePattern):
  34556. (WebCore::GraphicsContext::setFillPattern):
  34557. (WebCore::GraphicsContext::setStrokeGradient):
  34558. (WebCore::GraphicsContext::setFillGradient):
  34559. (WebCore::GraphicsContext::fillGradient):
  34560. (WebCore::GraphicsContext::strokeGradient):
  34561. (WebCore::GraphicsContext::fillPattern):
  34562. (WebCore::GraphicsContext::strokePattern):
  34563. (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
  34564. (WebCore::GraphicsContext::updatingControlTints):
  34565. (WebCore::GraphicsContext::setUpdatingControlTints):
  34566. (WebCore::GraphicsContext::setPaintingDisabled):
  34567. (WebCore::GraphicsContext::paintingDisabled):
  34568. (WebCore::GraphicsContext::textDrawingMode):
  34569. (WebCore::GraphicsContext::setTextDrawingMode):
  34570. * platform/graphics/GraphicsContext.h:
  34571. (WebCore::GraphicsContextState::GraphicsContextState):
  34572. * platform/graphics/GraphicsContextPrivate.h: Removed.
  34573. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  34574. (WebCore::setPlatformFill):
  34575. (WebCore::setPlatformStroke):
  34576. (WebCore::drawPathShadow):
  34577. (WebCore::fillCurrentCairoPath):
  34578. (WebCore::strokeCurrentCairoPath):
  34579. (WebCore::GraphicsContext::platformInit):
  34580. (WebCore::GraphicsContext::platformDestroy):
  34581. (WebCore::GraphicsContext::fillPath):
  34582. (WebCore::GraphicsContext::strokePath):
  34583. (WebCore::GraphicsContext::fillRect):
  34584. (WebCore::GraphicsContext::setPlatformShadow):
  34585. (WebCore::GraphicsContext::strokeRect):
  34586. (WebCore::GraphicsContext::setAlpha):
  34587. (WebCore::GraphicsContext::getAlpha):
  34588. * platform/graphics/cg/GraphicsContextCG.cpp:
  34589. (WebCore::GraphicsContext::platformInit):
  34590. (WebCore::GraphicsContext::platformDestroy):
  34591. (WebCore::GraphicsContext::applyStrokePattern):
  34592. (WebCore::GraphicsContext::applyFillPattern):
  34593. (WebCore::GraphicsContext::drawPath):
  34594. (WebCore::GraphicsContext::fillPath):
  34595. (WebCore::GraphicsContext::strokePath):
  34596. (WebCore::GraphicsContext::fillRect):
  34597. (WebCore::GraphicsContext::setPlatformShadow):
  34598. (WebCore::GraphicsContext::strokeRect):
  34599. * platform/graphics/haiku/GraphicsContextHaiku.cpp:
  34600. (WebCore::GraphicsContext::platformInit):
  34601. (WebCore::GraphicsContext::platformDestroy):
  34602. * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
  34603. (WebCore::GraphicsContext::platformInit):
  34604. (WebCore::GraphicsContext::platformDestroy):
  34605. (WebCore::GraphicsContext::fillPath):
  34606. (WebCore::GraphicsContext::strokePath):
  34607. (WebCore::GraphicsContext::clip):
  34608. (WebCore::GraphicsContext::clipOut):
  34609. (WebCore::GraphicsContext::addInnerRoundedRectClip):
  34610. * platform/graphics/qt/GraphicsContextQt.cpp:
  34611. (WebCore::GraphicsContext::platformInit):
  34612. (WebCore::GraphicsContext::platformDestroy):
  34613. (WebCore::GraphicsContext::fillPath):
  34614. (WebCore::GraphicsContext::strokePath):
  34615. (WebCore::GraphicsContext::fillRect):
  34616. (WebCore::GraphicsContext::setPlatformShadow):
  34617. * platform/graphics/skia/GraphicsContextSkia.cpp:
  34618. (WebCore::GraphicsContext::platformInit):
  34619. (WebCore::GraphicsContext::platformDestroy):
  34620. (WebCore::GraphicsContext::fillPath):
  34621. (WebCore::GraphicsContext::setPlatformShadow):
  34622. * platform/graphics/win/GraphicsContextCGWin.cpp:
  34623. (WebCore::GraphicsContext::GraphicsContext):
  34624. (WebCore::GraphicsContext::platformInit):
  34625. * platform/graphics/win/GraphicsContextCairoWin.cpp:
  34626. (WebCore::GraphicsContext::GraphicsContext):
  34627. (WebCore::GraphicsContext::platformInit):
  34628. * platform/graphics/wince/GraphicsContextWinCE.cpp:
  34629. (WebCore::GraphicsContext::platformInit):
  34630. (WebCore::GraphicsContext::platformDestroy):
  34631. (WebCore::GraphicsContext::fillPath):
  34632. (WebCore::GraphicsContext::fillRect):
  34633. * platform/graphics/wx/GraphicsContextWx.cpp:
  34634. (WebCore::GraphicsContext::platformInit):
  34635. (WebCore::GraphicsContext::platformDestroy):
  34636. 2010-12-10 Pavel Podivilov <podivilov@chromium.org>
  34637. Reviewed by Yury Semikhatsky.
  34638. Web Inspector: introduce a pair of set/remove methods for each breakpoint type.
  34639. https://bugs.webkit.org/show_bug.cgi?id=50809
  34640. * inspector/Inspector.idl:
  34641. * inspector/InspectorController.cpp:
  34642. (WebCore::InspectorController::InspectorController):
  34643. (WebCore::InspectorController::setEventListenerBreakpoint):
  34644. (WebCore::InspectorController::removeEventListenerBreakpoint):
  34645. (WebCore::InspectorController::hasEventListenerBreakpoint):
  34646. (WebCore::InspectorController::setXHRBreakpoint):
  34647. (WebCore::InspectorController::removeXHRBreakpoint):
  34648. (WebCore::InspectorController::hasXHRBreakpoint):
  34649. (WebCore::InspectorController::clearNativeBreakpoints):
  34650. * inspector/InspectorController.h:
  34651. * inspector/InspectorDOMAgent.cpp:
  34652. (WebCore::InspectorDOMAgent::setDOMBreakpoint):
  34653. (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
  34654. (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
  34655. (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
  34656. (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
  34657. (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
  34658. (WebCore::InspectorDOMAgent::didRemoveDOMNode):
  34659. * inspector/InspectorDOMAgent.h:
  34660. * inspector/InspectorInstrumentation.cpp:
  34661. (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
  34662. (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
  34663. (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
  34664. (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
  34665. (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
  34666. * inspector/front-end/BreakpointManager.js:
  34667. (WebInspector.BreakpointManager):
  34668. (WebInspector.NativeBreakpoint):
  34669. (WebInspector.DOMBreakpoint):
  34670. (WebInspector.EventListenerBreakpoint):
  34671. (WebInspector.XHRBreakpoint):
  34672. * inspector/front-end/CallStackSidebarPane.js:
  34673. (WebInspector.CallStackSidebarPane):
  34674. (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
  34675. * inspector/front-end/DebuggerModel.js:
  34676. (WebInspector.DebuggerModel.prototype.debuggerPaused):
  34677. 2010-12-10 Adam Roben <aroben@apple.com>
  34678. Windows production build fix after r72555
  34679. * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Use
  34680. "$(WebKitVSPropsRedirectionDir)..\..\WebKitLibraries\win" to find the
  34681. .vsprops files, rather than $(WebKitLibrariesDir).
  34682. 2010-12-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
  34683. Reviewed by nobody, build fix.
  34684. [Qt] Second attempt to fix the build with Qt 4.6 broken in 73710.
  34685. * platform/network/qt/QtNAMThreadSafeProxy.cpp:
  34686. (WebCore::QtNetworkReplyThreadSafeProxy::QtNetworkReplyThreadSafeProxy):
  34687. (WebCore::QtNetworkReplyThreadSafeProxy::localCustomRequest):
  34688. * platform/network/qt/QtNAMThreadSafeProxy.h:
  34689. 2010-12-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
  34690. Reviewed by nobody, build fix.
  34691. [Qt] Fix the build with Qt 4.6 broken in 73710.
  34692. * platform/network/qt/QtNAMThreadSafeProxy.cpp:
  34693. (WebCore::QtNetworkReplyThreadSafeProxy::QtNetworkReplyThreadSafeProxy):
  34694. * platform/network/qt/QtNAMThreadSafeProxy.h:
  34695. 2010-12-10 Emil Eklund <eae@chromium.org>
  34696. Reviewed by Eric Seidel.
  34697. Change EventHandler::dispatchMouseEvent code to use DOM traversal instead of render tree traversal
  34698. https://bugs.webkit.org/show_bug.cgi?id=49982
  34699. * page/EventHandler.cpp:
  34700. (WebCore::EventHandler::dispatchMouseEvent):
  34701. Walk up DOM/hosted tree rather than render tree.
  34702. 2010-12-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
  34703. Reviewed by Kenneth Rohde Christiansen.
  34704. [Qt] Support a QNetworkAccessManager affined to a different thread.
  34705. https://bugs.webkit.org/show_bug.cgi?id=50080
  34706. This patch introduce thread safe proxy classes for QNetworkAccessManager
  34707. and QNetworkReply.
  34708. If run in the same thread, these objects will forward the calls with
  34709. Qt::DirectConnection bindings, while in the other case they will use
  34710. Qt::QueuedConnection to carry requests accross threads.
  34711. This patch basically:
  34712. - Makes sure that all access goes through these objects
  34713. - Reorders signal connections to make sure we are connected when the
  34714. signal comes
  34715. - Makes sure that no QObject in the WebCore thread is a child of the
  34716. reply which might be in a different thread.
  34717. - Forward the data directly in QByteArrays in signals instead of collecting
  34718. the data when the signal is handled.
  34719. New test: tst_QWebPage::networkAccessManagerOnDifferentThread
  34720. * WebCore.pro:
  34721. * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
  34722. (WebCore::MediaPlayerPrivateQt::commitLoad):
  34723. * platform/network/qt/QNetworkReplyHandler.cpp:
  34724. (WebCore::FormDataIODevice::FormDataIODevice):
  34725. (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
  34726. (WebCore::QNetworkReplyHandler::~QNetworkReplyHandler):
  34727. (WebCore::QNetworkReplyHandler::setLoadMode):
  34728. (WebCore::QNetworkReplyHandler::abort):
  34729. (WebCore::QNetworkReplyHandler::release):
  34730. (WebCore::ignoreHttpError):
  34731. (WebCore::QNetworkReplyHandler::finish):
  34732. (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
  34733. (WebCore::QNetworkReplyHandler::forwardData):
  34734. (WebCore::QNetworkReplyHandler::start):
  34735. (WebCore::QNetworkReplyHandler::sendQueuedItems):
  34736. * platform/network/qt/QNetworkReplyHandler.h:
  34737. * platform/network/qt/QtNAMThreadSafeProxy.cpp: Added.
  34738. * platform/network/qt/QtNAMThreadSafeProxy.h: Added.
  34739. * platform/network/qt/ResourceHandleQt.cpp:
  34740. (WebCore::ResourceHandle::willLoadFromCache):
  34741. * platform/qt/CookieJarQt.cpp:
  34742. (WebCore::networkAccessManager):
  34743. (WebCore::setCookies):
  34744. (WebCore::cookies):
  34745. (WebCore::cookieRequestHeaderFieldValue):
  34746. (WebCore::cookiesEnabled):
  34747. 2010-12-09 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
  34748. Reviewed by Kenneth Rohde Christiansen.
  34749. [Qt] Refactor QNetworkReplyHandler::finish() to prevent crashes.
  34750. https://bugs.webkit.org/show_bug.cgi?id=50761
  34751. This patch change the order to check if m_reply is null instead,
  34752. explicitly deleting the reply before calling start() for a redirect,
  34753. or after calling didFinishLoading()/didFail() in other cases.
  34754. * platform/network/qt/QNetworkReplyHandler.cpp:
  34755. (WebCore::QNetworkReplyHandler::finish):
  34756. 2010-12-09 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
  34757. Reviewed by Kenneth Rohde Christiansen.
  34758. [Qt] Make sure we send the response before any data.
  34759. https://bugs.webkit.org/show_bug.cgi?id=50760
  34760. This patch make sure the data available flag is set before
  34761. we call sendResponseIfNeeded.
  34762. * platform/network/qt/QNetworkReplyHandler.cpp:
  34763. (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
  34764. (WebCore::QNetworkReplyHandler::finish):
  34765. (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
  34766. (WebCore::QNetworkReplyHandler::forwardData):
  34767. (WebCore::QNetworkReplyHandler::resetState):
  34768. * platform/network/qt/QNetworkReplyHandler.h:
  34769. 2010-12-10 Koan-Sin Tan <koansin.tan@gmail.com>
  34770. Reviewed by Dan Bernstein.
  34771. Bopomofo should be part of CJK Ideographs in WebCore/platform/graphics/Font.cpp
  34772. https://bugs.webkit.org/show_bug.cgi?id=50668
  34773. No new tests. Note that, as said in the bug report discussion,
  34774. I did have a test case for the bug. However, to show the test
  34775. case you need some "broken" Microsoft copyrighted fonts, such
  34776. as DFKai-SB.
  34777. * platform/graphics/Font.cpp:
  34778. (WebCore::Font::isCJKIdeograph):
  34779. 2010-12-10 Carlos Garcia Campos <cgarcia@igalia.com>
  34780. Reviewed by Martin Robinson.
  34781. [GTK] Simplify context-menu handling code
  34782. https://bugs.webkit.org/show_bug.cgi?id=49658
  34783. * platform/ContextMenuItem.h:
  34784. * platform/gtk/ContextMenuGtk.cpp:
  34785. (WebCore::ContextMenu::appendItem):
  34786. * platform/gtk/ContextMenuItemGtk.cpp:
  34787. (WebCore::ContextMenuItem::ContextMenuItem):
  34788. (WebCore::ContextMenuItem::~ContextMenuItem):
  34789. (WebCore::ContextMenuItem::releasePlatformDescription):
  34790. (WebCore::ContextMenuItem::type):
  34791. (WebCore::ContextMenuItem::setType):
  34792. (WebCore::ContextMenuItem::action):
  34793. (WebCore::ContextMenuItem::setAction):
  34794. (WebCore::ContextMenuItem::title):
  34795. (WebCore::ContextMenuItem::setTitle):
  34796. (WebCore::ContextMenuItem::platformSubMenu):
  34797. (WebCore::ContextMenuItem::setSubMenu):
  34798. (WebCore::ContextMenuItem::setChecked):
  34799. (WebCore::ContextMenuItem::setEnabled):
  34800. 2010-12-10 Philippe Normand <pnormand@igalia.com>
  34801. Reviewed by Gustavo Noronha Silva.
  34802. [GStreamer] un-needed methods
  34803. https://bugs.webkit.org/show_bug.cgi?id=50805
  34804. No new tests, code cleanup only.
  34805. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  34806. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  34807. 2010-12-10 Philippe Normand <pnormand@igalia.com>
  34808. Reviewed by Gustavo Noronha Silva.
  34809. [GStreamer] data: source could also support non-base64 encoded URIs
  34810. https://bugs.webkit.org/show_bug.cgi?id=30007
  34811. Removed our ancient implementation of dataurisrc. We should now
  34812. use the one in gst-plugins-bad which is more mature.
  34813. * GNUmakefile.am:
  34814. * platform/graphics/gstreamer/DataSourceGStreamer.cpp: Removed.
  34815. * platform/graphics/gstreamer/DataSourceGStreamer.h: Removed.
  34816. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  34817. (WebCore::doGstInit):
  34818. 2010-12-10 Zoltan Herczeg <zherczeg@webkit.org>
  34819. Reviewed by Eric Seidel.
  34820. [Qt] Fix crashes in debug mode
  34821. https://bugs.webkit.org/show_bug.cgi?id=49976
  34822. The m_methods hashmap of QtInstance contains InternalFunctions
  34823. whose depend on the current RuntimeObject. When we recreate the
  34824. RuntimeObject, we should also reset this hashmap.
  34825. * bridge/qt/qt_instance.cpp:
  34826. (JSC::Bindings::QtInstance::newRuntimeObject):
  34827. 2010-12-10 François Sausset <sausset@gmail.com>
  34828. Reviewed by Eric Seidel.
  34829. MathML: update baselinePosition() call in RenderMathMLBlock.cpp
  34830. https://bugs.webkit.org/show_bug.cgi?id=50540
  34831. The call of baselinePosition() is outdated: new arguments added.
  34832. * mathml/RenderMathMLBlock.cpp:
  34833. (WebCore::RenderMathMLBlock::paint):
  34834. 2010-12-10 Hans Wennborg <hans@chromium.org>
  34835. Reviewed by Jeremy Orlow.
  34836. IndexedDB: Numeric keys are floats.
  34837. https://bugs.webkit.org/show_bug.cgi?id=50674
  34838. Use floating point to represent numeric keys,
  34839. add version meta data to the SQLite db,
  34840. and migrate object stores that use integers.
  34841. * bindings/v8/IDBBindingUtilities.cpp:
  34842. (WebCore::createIDBKeyFromValue):
  34843. * bindings/v8/custom/V8IDBKeyCustom.cpp:
  34844. (WebCore::toV8):
  34845. * storage/IDBFactoryBackendImpl.cpp:
  34846. (WebCore::createTables):
  34847. (WebCore::migrateDatabase):
  34848. (WebCore::IDBFactoryBackendImpl::open):
  34849. * storage/IDBKey.cpp:
  34850. (WebCore::IDBKey::IDBKey):
  34851. (WebCore::IDBKey::fromQuery):
  34852. (WebCore::IDBKey::bind):
  34853. (WebCore::IDBKey::bindWithNulls):
  34854. * storage/IDBKey.h:
  34855. (WebCore::IDBKey::create):
  34856. (WebCore::IDBKey::number):
  34857. 2010-12-10 Martin Robinson <mrobinson@igalia.com>
  34858. Reviewed by Xan Lopez.
  34859. [Gtk] style="font-family: courier" makes text disappear
  34860. https://bugs.webkit.org/show_bug.cgi?id=47452
  34861. Don't ever use fonts that do not have any of the three charmaps that
  34862. Fontconfig supports (Unicode, Apple Roman and Symbol). If we select
  34863. a font that doesn't have one of these charmaps, use the next font in
  34864. the list.
  34865. Test: platform/gtk/fonts/font-with-no-valid-encoding.html
  34866. * platform/graphics/freetype/FontCacheFreeType.cpp:
  34867. (WebCore::FontCache::createFontPlatformData): Check whether the
  34868. font we selected has a valid Fontconfig charmap.
  34869. * platform/graphics/freetype/FontPlatformData.h: Added new method definition.
  34870. * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
  34871. (WebCore::FontPlatformData::hasCompatibleCharmap): Added this method which
  34872. verifies that a font has a valid Fontconfig charmap.
  34873. 2010-12-09 Ryosuke Niwa <rniwa@webkit.org>
  34874. Reviewed by Ojan Vafai.
  34875. Make DOM Mutation Events Asynchronous
  34876. https://bugs.webkit.org/show_bug.cgi?id=46936
  34877. Implemented DOM mutations events as scoped events. A scoped event is an event whose
  34878. dispatch is done via ScopedEventQueue. The behavior of the queue is controlled by
  34879. EventQueueScope objects (RAII idiom), which increments and decrements the scoping level
  34880. on its constructor and destructor respectively.
  34881. When the scoping level is 0 (initial level), scoped events are dispatched as soon as
  34882. they are enqueued and act like synchronous events. When the scoping level is greater than 0,
  34883. however, events are queued in ScopedEventQueue and their dispatches are delayed until
  34884. the scoping level goes back to 0 (by the destruction of EventQueueScope).
  34885. DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument,
  34886. DOMNodeInsertedIntoDocument, DOMFocusIn, DOMFocusOut, focusin, and focusout are treated as
  34887. scoped events, and a scope object is instantiated in EditCommand::apply to delay dispatches
  34888. of the events until the completion of each call of EditCommand::doApply.
  34889. Test: fast/events/mutation/execCommands.html
  34890. * Android.mk: Added ScopedEventQueue.cpp.
  34891. * CMakeLists.txt: Ditto.
  34892. * WebCore.pro: Ditto.
  34893. * GNUmakefile.am: Added ScopedEventQueue.cpp and ScopedEventQueue.h.
  34894. * WebCore.gypi: Ditto.
  34895. * WebCore.vcproj/project.vcproj: Ditto.
  34896. * WebCore.xcodeproj/project.pbxproj: Ditto.
  34897. * dom/ContainerNode.cpp:
  34898. (WebCore::dispatchChildInsertionEvents): Calls dispatchScopedEvent.
  34899. (WebCore::dispatchChildRemovalEvents): Ditto.
  34900. * dom/DOMAllInOne.cpp: Added ScopedEventQueue.cpp.
  34901. * dom/Element.cpp:
  34902. (WebCore::Element::dispatchAttrRemovalEvent): Ditto.
  34903. (WebCore::Element::dispatchAttrAdditionEvent): Ditto.
  34904. * dom/Node.cpp:
  34905. (WebCore::Node::dispatchScopedEvent): Added.
  34906. (WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent.
  34907. * dom/Node.h:
  34908. * dom/ScopedEventQueue.cpp: Added.
  34909. (WebCore::ScopedEventQueue::initialize): Added.
  34910. (WebCore::ScopedEventQueue::enqueueEvent): Added.
  34911. (WebCore::ScopedEventQueue::dispatchAllEvents): Added.
  34912. (WebCore::ScopedEventQueue::dispatchEvent): Added.
  34913. (WebCore::ScopedEventQueue::instance): Added.
  34914. (WebCore::ScopedEventQueue::incrementScopingLevel): Added.
  34915. (WebCore::ScopedEventQueue::decrementScopingLevel): Added.
  34916. * dom/ScopedEventQueue.h: Added.
  34917. (WebCore::ScopedEventQueue::~ScopedEventQueue): Added.
  34918. (WebCore::ScopedEventQueue::ScopedEventQueue): Added.
  34919. (WebCore::EventQueueScope::EventQueueScope): Added.
  34920. (WebCore::EventQueueScope::~EventQueueScope): Added.
  34921. * editing/EditCommand.cpp:
  34922. (WebCore::EditCommand::apply): Instantiates EventQueueScope.
  34923. 2010-12-09 Sheriff Bot <webkit.review.bot@gmail.com>
  34924. Unreviewed, rolling out r73684.
  34925. http://trac.webkit.org/changeset/73684
  34926. https://bugs.webkit.org/show_bug.cgi?id=50801
  34927. "missing bug number" (Requested by rniwa on #webkit).
  34928. * Android.mk:
  34929. * CMakeLists.txt:
  34930. * GNUmakefile.am:
  34931. * WebCore.gypi:
  34932. * WebCore.pro:
  34933. * WebCore.vcproj/WebCore.vcproj:
  34934. * WebCore.xcodeproj/project.pbxproj:
  34935. * dom/ContainerNode.cpp:
  34936. (WebCore::dispatchChildInsertionEvents):
  34937. (WebCore::dispatchChildRemovalEvents):
  34938. * dom/DOMAllInOne.cpp:
  34939. * dom/Element.cpp:
  34940. (WebCore::Element::dispatchAttrRemovalEvent):
  34941. (WebCore::Element::dispatchAttrAdditionEvent):
  34942. * dom/Node.cpp:
  34943. (WebCore::Node::dispatchSubtreeModifiedEvent):
  34944. (WebCore::Node::dispatchUIEvent):
  34945. * dom/Node.h:
  34946. * dom/ScopedEventQueue.cpp: Removed.
  34947. * dom/ScopedEventQueue.h: Removed.
  34948. * editing/EditCommand.cpp:
  34949. (WebCore::EditCommand::apply):
  34950. 2010-12-09 Qi Zhang <qi.2.zhang@nokia.com>
  34951. Reviewed by Kenneth Rohde Christiansen.
  34952. [Qt] enable orientation flag when QtMobility available
  34953. https://bugs.webkit.org/show_bug.cgi?id=50781
  34954. When QtMobility available, enable orientation flag by default.
  34955. * features.pri:
  34956. 2010-12-09 Kenichi Ishibashi <bashi@google.com>
  34957. Reviewed by Kent Tamura.
  34958. Improve validation API support of <object> and <keygen>
  34959. https://bugs.webkit.org/show_bug.cgi?id=50663
  34960. Adds validation API to HTMLObjectElement class.
  34961. Makes HTMLKeygenElement::willValidate() return false.
  34962. Test: fast/forms/setCustomValidity-existence.html
  34963. * html/HTMLKeygenElement.h:
  34964. (WebCore::HTMLKeygenElement::willValidate): Added.
  34965. * html/HTMLObjectElement.h:
  34966. (WebCore::HTMLObjectElement::validationMessage): Added.
  34967. (WebCore::HTMLObjectElement::checkValidity): Added.
  34968. (WebCore::HTMLObjectElement::setCustomValidity): Added.
  34969. * html/HTMLObjectElement.idl: Added validation API properties.
  34970. 2010-12-09 Sadrul Habib Chowdhury <sadrul@chromium.org>
  34971. Reviewed by Kent Tamura.
  34972. Make sure a non-zero value is used for tile-width to avoid a crash
  34973. https://bugs.webkit.org/show_bug.cgi?id=50341
  34974. The scaled tile width can be very small at times (e.g. with 'style: font 1
  34975. required'). So use a minimum width of 1 instead of using 0 (which leads to a
  34976. crash).
  34977. Tests: fast/dom/HTMLProgressElement/progress-element-with-style-crash.html
  34978. * rendering/RenderThemeChromiumSkia.cpp:
  34979. (WebCore::RenderThemeChromiumSkia::paintProgressBar):
  34980. 2010-12-09 Ryosuke Niwa <rniwa@webkit.org>
  34981. Reviewed by Ojan Vafai.
  34982. Implemented DOM mutations events as scoped events. A scoped event is an event whose
  34983. dispatch is done via ScopedEventQueue. The behavior of the queue is controlled by
  34984. EventQueueScope objects (RAII idiom), which increments and decrements the scoping level
  34985. on its constructor and destructor respectively.
  34986. When the scoping level is 0 (initial level), scoped events are dispatched as soon as
  34987. they are enqueued and act like synchronous events. When the scoping level is greater than 0,
  34988. however, events are queued in ScopedEventQueue and their dispatches are delayed until
  34989. the scoping level goes back to 0 (by the destruction of EventQueueScope).
  34990. DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument,
  34991. DOMNodeInsertedIntoDocument, DOMFocusIn, DOMFocusOut, focusin, and focusout are treated as
  34992. scoped events, and a scope object is instantiated in EditCommand::apply to delay dispatches
  34993. of the events until the completion of each call of EditCommand::doApply.
  34994. Test: fast/events/mutation/execCommands.html
  34995. * Android.mk: Added ScopedEventQueue.cpp.
  34996. * CMakeLists.txt: Ditto.
  34997. * WebCore.pro: Ditto.
  34998. * GNUmakefile.am: Added ScopedEventQueue.cpp and ScopedEventQueue.h.
  34999. * WebCore.gypi: Ditto.
  35000. * WebCore.vcproj/project.vcproj: Ditto.
  35001. * WebCore.xcodeproj/project.pbxproj: Ditto.
  35002. * dom/ContainerNode.cpp:
  35003. (WebCore::dispatchChildInsertionEvents): Calls dispatchScopedEvent.
  35004. (WebCore::dispatchChildRemovalEvents): Ditto.
  35005. * dom/DOMAllInOne.cpp: Added ScopedEventQueue.cpp.
  35006. * dom/Element.cpp:
  35007. (WebCore::Element::dispatchAttrRemovalEvent): Ditto.
  35008. (WebCore::Element::dispatchAttrAdditionEvent): Ditto.
  35009. * dom/Node.cpp:
  35010. (WebCore::Node::dispatchScopedEvent): Added.
  35011. (WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent.
  35012. * dom/Node.h:
  35013. * dom/ScopedEventQueue.cpp: Added.
  35014. (WebCore::ScopedEventQueue::initialize): Added.
  35015. (WebCore::ScopedEventQueue::enqueueEvent): Added.
  35016. (WebCore::ScopedEventQueue::dispatchAllEvents): Added.
  35017. (WebCore::ScopedEventQueue::dispatchEvent): Added.
  35018. (WebCore::ScopedEventQueue::instance): Added.
  35019. (WebCore::ScopedEventQueue::incrementScopingLevel): Added.
  35020. (WebCore::ScopedEventQueue::decrementScopingLevel): Added.
  35021. * dom/ScopedEventQueue.h: Added.
  35022. (WebCore::ScopedEventQueue::~ScopedEventQueue): Added.
  35023. (WebCore::ScopedEventQueue::ScopedEventQueue): Added.
  35024. (WebCore::EventQueueScope::EventQueueScope): Added.
  35025. (WebCore::EventQueueScope::~EventQueueScope): Added.
  35026. * editing/EditCommand.cpp:
  35027. (WebCore::EditCommand::apply): Instantiates EventQueueScope.
  35028. 2010-12-09 Sam Weinig <sam@webkit.org>
  35029. Reviewed by Gavin Barraclough.
  35030. Fix scrolling with mouse wheel in WebKit2 views. Once
  35031. we coalesce wheel events, we can re-enable this.
  35032. * platform/mac/ScrollAnimatorMac.mm:
  35033. (WebCore::ScrollAnimatorMac::scroll):
  35034. 2010-12-09 Abhishek Arya <inferno@chromium.org>
  35035. Reviewed by James Robinson.
  35036. For details element, ensure that if we ended up being inline that we set out replaced
  35037. flag so that we are treated like an inline block.
  35038. https://bugs.webkit.org/show_bug.cgi?id=50671
  35039. Test: fast/html/details-element-render-inline-crash.html
  35040. * rendering/RenderDetails.cpp:
  35041. (WebCore::RenderDetails::styleDidChange): setReplaced to true if we are set as inline.
  35042. * rendering/RenderDetails.h: function definition.
  35043. 2010-12-09 Jasmin Lapalme <jlapalme@druide.com>
  35044. Reviewed by Alexey Proskuryakov.
  35045. Fix a faulty conversion from UTF-8 to UTF-16 in WebCore during an XSLT transformation.
  35046. https://bugs.webkit.org/show_bug.cgi?id=50708
  35047. Test: fast/xsl/utf8-chunks.xml
  35048. * xml/XSLTProcessorLibxslt.cpp:
  35049. (WebCore::writeToVector): now converts and returns the correct byte count when the end of the chunk is in the middle of a multibyte UTF-8 character.
  35050. 2010-12-09 Vincent Scheib <scheib@chromium.org>
  35051. Reviewed by James Robinson.
  35052. Clip update rectangle for Texture::updateSubRect to texture size
  35053. https://bugs.webkit.org/show_bug.cgi?id=49929
  35054. Test: fast/canvas/canvas-largedraws.html
  35055. * platform/graphics/gpu/Texture.cpp:
  35056. (WebCore::Texture::updateSubRect):
  35057. 2010-12-09 Kenneth Russell <kbr@google.com>
  35058. Unreviewed. Another speculative Gtk build fix after r73669. Add
  35059. needed derived sources to GNUmakefile.am.
  35060. * GNUmakefile.am:
  35061. 2010-12-09 Kenneth Russell <kbr@google.com>
  35062. Unreviewed. Speculative Gtk build fix after
  35063. https://bugs.webkit.org/show_bug.cgi?id=36512 / r73669. Process
  35064. all of the WebGL classes' IDL files.
  35065. * CMakeLists.txt:
  35066. 2010-12-09 Zhenyao Mo <zmo@google.com>
  35067. Reviewed by Kenneth Russell.
  35068. Expose constructor functions for instanceof checks of WebGL objects
  35069. https://bugs.webkit.org/show_bug.cgi?id=36512
  35070. Test: fast/canvas/webgl/instanceof-test.html
  35071. * bindings/generic/RuntimeEnabledFeatures.h:
  35072. (WebCore::RuntimeEnabledFeatures::webGLActiveInfoEnabled):
  35073. (WebCore::RuntimeEnabledFeatures::webGLBufferEnabled):
  35074. (WebCore::RuntimeEnabledFeatures::webGLFramebufferEnabled):
  35075. (WebCore::RuntimeEnabledFeatures::webGLProgramEnabled):
  35076. (WebCore::RuntimeEnabledFeatures::webGLRenderbufferEnabled):
  35077. (WebCore::RuntimeEnabledFeatures::webGLShaderEnabled):
  35078. (WebCore::RuntimeEnabledFeatures::webGLTextureEnabled):
  35079. (WebCore::RuntimeEnabledFeatures::webGLUniformLocationEnabled):
  35080. * html/canvas/WebGLActiveInfo.idl: Remove OmitConstructor.
  35081. * html/canvas/WebGLBuffer.idl: Ditto.
  35082. * html/canvas/WebGLFramebuffer.idl: Ditto.
  35083. * html/canvas/WebGLProgram.idl: Ditto.
  35084. * html/canvas/WebGLRenderbuffer.idl: Ditto.
  35085. * html/canvas/WebGLShader.idl: Ditto.
  35086. * html/canvas/WebGLTexture.idl: Ditto.
  35087. * html/canvas/WebGLUniformLocation.idl: Ditto.
  35088. * page/DOMWindow.idl: Expose constructors for WebGL objects in DOMWindow.
  35089. 2010-12-09 Timothy Hatcher <timothy@apple.com>
  35090. Export Color::white and Color::transparent.
  35091. Reviewed by Anders Carlsson.
  35092. * WebCore.exp.in:
  35093. 2010-12-09 Sam Weinig <sam@webkit.org>
  35094. Fix failing Mac tests.
  35095. * platform/mac/ScrollAnimatorMac.mm:
  35096. (WebCore::ScrollAnimatorMac::scroll): Don't smooth scroll if the default
  35097. AppleScrollAnimationEnabled is false.
  35098. 2010-12-09 James Robinson <jamesr@chromium.org>
  35099. Reviewed by Kenneth Russell.
  35100. [chromium] Compositor needs to manage its VRAM use
  35101. https://bugs.webkit.org/show_bug.cgi?id=49629
  35102. This adds a basic texture manager to the Chromium compositor to limit the amount of VRAM
  35103. used by compositor textures and switches ContentLayerChromium, ImageLayerChromium, and
  35104. RenderSurfaceChromium to use managed LayerTexture. The other *LayerChromium classes (Canvas,
  35105. Video, and WebGL) and the root layer are still unmanaged.
  35106. The TextureManager works by providing tokens to callers that want to use a managed texture.
  35107. The token can be used to request a texture, see if the previously requested texture is still
  35108. available, and to protect/unprotect textures when they cannot be collected. Whenever a
  35109. texture is created the manager attempts to free up the least recently used textures until the
  35110. total memory use is below the provided threshhold. If the manager cannot satisfy the memory
  35111. limit it will not return any new textures until some old textures are released.
  35112. A LayerTexture wraps a TextureManager token, size, and format. A LayerChromium can check if a
  35113. previously requested texture is still available for use and reserve the LayerTexture's underlying
  35114. storage between the updateContentsIfDirty() and the draw() call.
  35115. Also changes LayerChromium from having separate contentsDirty()/updateContents() calls to a single
  35116. updateContentsIfDirty().
  35117. Tests: platform/chromium/compositing/lots-of-img-layers-with-opacity.html
  35118. platform/chromium/compositing/lots-of-img-layers.html
  35119. * WebCore.gypi:
  35120. * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
  35121. (WebCore::Canvas2DLayerChromium::updateContentsIfDirty):
  35122. * platform/graphics/chromium/Canvas2DLayerChromium.h:
  35123. * platform/graphics/chromium/ContentLayerChromium.cpp:
  35124. (WebCore::ContentLayerChromium::cleanupResources):
  35125. (WebCore::ContentLayerChromium::updateContentsIfDirty):
  35126. (WebCore::ContentLayerChromium::updateTextureRect):
  35127. (WebCore::ContentLayerChromium::draw):
  35128. * platform/graphics/chromium/ContentLayerChromium.h:
  35129. * platform/graphics/chromium/ImageLayerChromium.cpp:
  35130. (WebCore::ImageLayerChromium::updateContentsIfDirty):
  35131. * platform/graphics/chromium/ImageLayerChromium.h:
  35132. * platform/graphics/chromium/LayerChromium.h:
  35133. (WebCore::LayerChromium::updateContentsIfDirty):
  35134. (WebCore::LayerChromium::draw):
  35135. * platform/graphics/chromium/LayerRendererChromium.cpp:
  35136. (WebCore::LayerRendererChromium::LayerRendererChromium):
  35137. (WebCore::LayerRendererChromium::useShader):
  35138. (WebCore::LayerRendererChromium::prepareToDrawLayers):
  35139. (WebCore::LayerRendererChromium::updateRootLayerTextureRect):
  35140. (WebCore::LayerRendererChromium::drawLayers):
  35141. (WebCore::LayerRendererChromium::getFramebufferPixels):
  35142. (WebCore::LayerRendererChromium::createLayerTexture):
  35143. (WebCore::LayerRendererChromium::deleteLayerTexture):
  35144. (WebCore::LayerRendererChromium::updateLayersRecursive):
  35145. (WebCore::LayerRendererChromium::useRenderSurface):
  35146. (WebCore::LayerRendererChromium::drawLayer):
  35147. (WebCore::LayerRendererChromium::setScissorToRect):
  35148. (WebCore::LayerRendererChromium::setDrawViewportRect):
  35149. (WebCore::LayerRendererChromium::initializeSharedObjects):
  35150. (WebCore::LayerRendererChromium::cleanupSharedObjects):
  35151. * platform/graphics/chromium/LayerRendererChromium.h:
  35152. (WebCore::LayerRendererChromium::renderSurfaceSharedValues):
  35153. (WebCore::LayerRendererChromium::textureManager):
  35154. * platform/graphics/chromium/LayerTexture.cpp: Added.
  35155. (WebCore::LayerTexture::LayerTexture):
  35156. (WebCore::LayerTexture::~LayerTexture):
  35157. (WebCore::LayerTexture::isValid):
  35158. (WebCore::LayerTexture::reserve):
  35159. (WebCore::LayerTexture::unreserve):
  35160. (WebCore::LayerTexture::bindTexture):
  35161. (WebCore::LayerTexture::framebufferTexture2D):
  35162. * platform/graphics/chromium/LayerTexture.h: Added.
  35163. (WebCore::LayerTexture::create):
  35164. * platform/graphics/chromium/PluginLayerChromium.cpp:
  35165. (WebCore::PluginLayerChromium::updateContentsIfDirty):
  35166. * platform/graphics/chromium/PluginLayerChromium.h:
  35167. * platform/graphics/chromium/RenderSurfaceChromium.cpp:
  35168. (WebCore::RenderSurfaceChromium::SharedValues::SharedValues):
  35169. (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues):
  35170. (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
  35171. (WebCore::RenderSurfaceChromium::cleanupResources):
  35172. (WebCore::RenderSurfaceChromium::prepareContentsTexture):
  35173. (WebCore::RenderSurfaceChromium::draw):
  35174. * platform/graphics/chromium/RenderSurfaceChromium.h:
  35175. (WebCore::RenderSurfaceChromium::SharedValues::shaderProgram):
  35176. (WebCore::RenderSurfaceChromium::SharedValues::shaderSamplerLocation):
  35177. (WebCore::RenderSurfaceChromium::SharedValues::shaderMatrixLocation):
  35178. (WebCore::RenderSurfaceChromium::SharedValues::shaderAlphaLocation):
  35179. (WebCore::RenderSurfaceChromium::SharedValues::initialized):
  35180. * platform/graphics/chromium/TextureManager.cpp: Added.
  35181. (WebCore::memoryUseBytes):
  35182. (WebCore::TextureManager::TextureManager):
  35183. (WebCore::TextureManager::getToken):
  35184. (WebCore::TextureManager::releaseToken):
  35185. (WebCore::TextureManager::hasTexture):
  35186. (WebCore::TextureManager::protectTexture):
  35187. (WebCore::TextureManager::unprotectTexture):
  35188. (WebCore::TextureManager::reduceMemoryToLimit):
  35189. (WebCore::TextureManager::addTexture):
  35190. (WebCore::TextureManager::removeTexture):
  35191. (WebCore::TextureManager::requestTexture):
  35192. * platform/graphics/chromium/TextureManager.h: Added.
  35193. (WebCore::TextureManager::create):
  35194. * platform/graphics/chromium/VideoLayerChromium.cpp:
  35195. (WebCore::VideoLayerChromium::updateContentsIfDirty):
  35196. * platform/graphics/chromium/VideoLayerChromium.h:
  35197. * platform/graphics/chromium/WebGLLayerChromium.cpp:
  35198. (WebCore::WebGLLayerChromium::updateContentsIfDirty):
  35199. * platform/graphics/chromium/WebGLLayerChromium.h:
  35200. 2010-12-09 Darin Adler <darin@apple.com>
  35201. Reviewed by Sam Weinig.
  35202. Rework my recent setLocation refactoring to use DOMWindow instead of Frame.
  35203. It's difficult to make correct security decisions based on Frame since a
  35204. Frame can navigate to a new document.
  35205. Fixes some test failures that I somehow missed before the last check-in.
  35206. * bindings/js/JSDOMWindowBase.cpp:
  35207. (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Call to the
  35208. shell DOMWindow; not sure this one matters, but it's closer to the old
  35209. code before my last patch. Also pass the DOMWindow rather than the
  35210. frame to crossDomainAccessErrorMessage.
  35211. * bindings/js/JSDOMWindowCustom.cpp:
  35212. (WebCore::JSDOMWindow::setLocation): Pass DOMWindow rather than Frame
  35213. to the DOMWindow::setLocation function.
  35214. * page/DOMWindow.cpp:
  35215. (WebCore::DOMWindow::setLocation): Take DOMWindow rather than Frame.
  35216. (WebCore::DOMWindow::crossDomainAccessErrorMessage): Ditto.
  35217. * page/DOMWindow.h: Update new functions to take DOMWindow rather
  35218. than Frame.
  35219. 2010-12-09 Sam Weinig <sam@webkit.org>
  35220. Try and fix the mac build.
  35221. * WebCore.exp.in:
  35222. 2010-12-09 Dan Bernstein <mitz@apple.com>
  35223. Reviewed by Dave Hyatt.
  35224. Removed an unused variable.
  35225. * rendering/InlineFlowBox.cpp:
  35226. (WebCore::InlineFlowBox::computeLogicalBoxHeights): Removed parentLineHeight.
  35227. 2010-12-09 Darin Adler <darin@apple.com>
  35228. Reviewed by Geoffrey Garen.
  35229. Move DOMWindow::setLocation logic into DOMWindow class and out of JavaScript binding
  35230. https://bugs.webkit.org/show_bug.cgi?id=50640
  35231. * bindings/js/JSDOMBinding.cpp:
  35232. (WebCore::printErrorMessageForFrame): Removed body; just call through to
  35233. DOMWindow::printErrorMessage.
  35234. * bindings/js/JSDOMWindowBase.cpp:
  35235. (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Removed body;
  35236. just call through to DOMWindow::crossDomainAccessErrorMessage.
  35237. * bindings/js/JSDOMWindowCustom.cpp:
  35238. (WebCore::JSDOMWindow::setLocation): Changed terminology to use activeFrame and
  35239. firstFrame, rather than the older lexicalFrame and dynamicFrame. Removed most
  35240. of the body and moved it into DOMWindow::setLocation.
  35241. * page/DOMWindow.cpp:
  35242. (WebCore::DOMWindow::setLocation): Added. Does all the same work that
  35243. JSDOMWindow::setLocation used to do, but in a way that's not specific
  35244. to JavaScript.
  35245. (WebCore::DOMWindow::printErrorMessage): Added.
  35246. (WebCore::DOMWindow::crossDomainAccessErrorMessage): Added.
  35247. * page/DOMWindow.h: Added setLocation, printErrorMessage, and
  35248. crossDomainAccessErrorMessage.
  35249. 2010-12-09 Sam Weinig <sam@webkit.org>
  35250. Reviewed by Dan Bernstein.
  35251. WebKit2 needs smooth scrolling support on the mac
  35252. <rdar://problem/8219402>
  35253. * WebCore.xcodeproj/project.pbxproj: Change ScrollAnimatorMac.cpp to ScrollAnimatorMac.mm.
  35254. * platform/mac/ScrollAnimatorMac.cpp: Removed.
  35255. * platform/mac/ScrollAnimatorMac.h:
  35256. * platform/mac/ScrollAnimatorMac.mm: Copied from platform/mac/ScrollAnimatorMac.cpp.
  35257. (-[ScrollAnimationHelperDelegate initWithScrollAnimator:WebCore::]):
  35258. (-[ScrollAnimationHelperDelegate bounds]):
  35259. (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
  35260. (-[ScrollAnimationHelperDelegate convertSizeToBase:]):
  35261. (-[ScrollAnimationHelperDelegate convertSizeFromBase:]):
  35262. (-[ScrollAnimationHelperDelegate superview]):
  35263. (-[ScrollAnimationHelperDelegate documentView]):
  35264. (-[ScrollAnimationHelperDelegate window]):
  35265. (-[ScrollAnimationHelperDelegate _recursiveRecomputeToolTips]):
  35266. (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
  35267. (WebCore::ScrollAnimatorMac::scroll):
  35268. (WebCore::ScrollAnimatorMac::setScrollPositionAndStopAnimation):
  35269. (WebCore::ScrollAnimatorMac::currentPosition):
  35270. (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
  35271. Add implementation of ScrollAnimator for the Mac.
  35272. 2010-12-09 Brady Eidson <beidson@apple.com>
  35273. Reviewed by Anders Carlsson.
  35274. <rdar://problem/8613779> and https://bugs.webkit.org/show_bug.cgi?id=50777
  35275. WebKit2 ContextMenuClient support
  35276. Export some symbols and headers needed by WebKit2 Mac:
  35277. * WebCore.exp.in:
  35278. * WebCore.xcodeproj/project.pbxproj:
  35279. 2010-12-09 Sheriff Bot <webkit.review.bot@gmail.com>
  35280. Unreviewed, rolling out r73635.
  35281. http://trac.webkit.org/changeset/73635
  35282. https://bugs.webkit.org/show_bug.cgi?id=50778
  35283. 'Side-effects on 3 css tests needs closer review' (Requested
  35284. by mwenge on #webkit).
  35285. * platform/graphics/qt/ImageQt.cpp:
  35286. (loadResourcePixmap):
  35287. * platform/qt/RenderThemeQt.cpp:
  35288. (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
  35289. (WebCore::RenderThemeQt::paintSearchField):
  35290. (WebCore::RenderThemeQt::adjustSearchFieldStyle):
  35291. (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
  35292. (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
  35293. * platform/qt/RenderThemeQt.h:
  35294. 2010-12-09 Robert Hogan <robert@webkit.org>
  35295. Reviewed by Andreas Kling.
  35296. [Qt] Search input field doesn't have cancel button
  35297. Add a cancel button to the search field and make it customizable
  35298. by the client. For now, use the close dialog button associated
  35299. with the application's style as the default.
  35300. https://bugs.webkit.org/show_bug.cgi?id=42887
  35301. * platform/graphics/qt/ImageQt.cpp:
  35302. (loadResourcePixmap):
  35303. * platform/qt/RenderThemeQt.cpp:
  35304. (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
  35305. (WebCore::RenderThemeQt::paintSearchField):
  35306. (WebCore::RenderThemeQt::adjustSearchFieldStyle):
  35307. (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
  35308. (WebCore::RenderThemeQt::convertToPaintingRect):
  35309. (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
  35310. * platform/qt/RenderThemeQt.h:
  35311. 2010-12-09 Yael Aharon <yael.aharon@nokia.com>
  35312. Reviewed by Antonio Gomes.
  35313. Spatial Navigation: Crash when handling iframe of size 0.
  35314. https://bugs.webkit.org/show_bug.cgi?id=50730
  35315. if we have a frame of size 0, we would get into infinite loop and eventually crash. The reason is
  35316. that when the algorithm sees a starting rect of size 0, it assumes that there is no focused node,
  35317. thus restarts itself. The solution is to avoid considering iframes with size 0 for the spatial
  35318. navigation algorithm.
  35319. Test: fast/spatial-navigation/snav-hidden-iframe-zero-size.html
  35320. * page/FocusController.cpp:
  35321. (WebCore::updateFocusCandidateIfNeeded):
  35322. 2010-12-09 Sheriff Bot <webkit.review.bot@gmail.com>
  35323. Unreviewed, rolling out r73616.
  35324. http://trac.webkit.org/changeset/73616
  35325. https://bugs.webkit.org/show_bug.cgi?id=50772
  35326. Breaks chromium win build (Requested by hwennborg on #webkit).
  35327. * bindings/v8/IDBBindingUtilities.cpp:
  35328. (WebCore::createIDBKeyFromValue):
  35329. * bindings/v8/custom/V8IDBKeyCustom.cpp:
  35330. (WebCore::toV8):
  35331. * storage/IDBFactoryBackendImpl.cpp:
  35332. (WebCore::createTables):
  35333. (WebCore::IDBFactoryBackendImpl::open):
  35334. * storage/IDBKey.cpp:
  35335. (WebCore::IDBKey::IDBKey):
  35336. (WebCore::IDBKey::fromQuery):
  35337. (WebCore::IDBKey::bind):
  35338. (WebCore::IDBKey::bindWithNulls):
  35339. * storage/IDBKey.h:
  35340. (WebCore::IDBKey::create):
  35341. (WebCore::IDBKey::number):
  35342. 2010-12-09 Antonio Gomes <agomes@rim.com>
  35343. Rubber stamped by by Gustavo Noronha Silva.
  35344. Buildfix for GTK+ with building with -no-video.
  35345. paintStockIcon static function was implemented under the ENABLE(VIDEO) guard
  35346. but used from outside the guard. See RenderThemeGtk::paintSearchFieldResultsDecoration()
  35347. and RenderThemeGtk::paintSearchFieldCancelButton() methods.
  35348. * platform/gtk/RenderThemeGtk.cpp:
  35349. (WebCore::getMediaElementFromRenderObject):
  35350. 2010-12-07 Antonio Gomes <agomes@rim.com>
  35351. Reviewed by Daniel Bates.
  35352. Spatial Navigation: code clean up
  35353. https://bugs.webkit.org/show_bug.cgi?id=50666
  35354. Patch unifies two FocusCandidate constructors, making caller sites
  35355. simpler. Now the special handling HTMLAreaElement gets is done within
  35356. the non default constructor (i.e. FocusCanditate(Node*, FocusDirection)).
  35357. No new tests needed.
  35358. * page/FocusController.cpp:
  35359. (WebCore::FocusController::findFocusCandidateInContainer):
  35360. * page/SpatialNavigation.cpp:
  35361. (WebCore::FocusCandidate::FocusCandidate):
  35362. 2010-12-09 Philippe Normand <pnormand@igalia.com>
  35363. Reviewed by Eric Carlson.
  35364. [GStreamer] disable fullscreen on MacOS Tiger and Leopard
  35365. https://bugs.webkit.org/show_bug.cgi?id=50748
  35366. Don't support fullscreen video on Tiger and Leopard, just like the
  35367. QTKit player.
  35368. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  35369. (WebCore::MediaPlayerPrivateGStreamer::supportsFullscreen):
  35370. 2010-12-06 Philippe Normand <pnormand@igalia.com>
  35371. Reviewed by Martin Robinson.
  35372. [GTK] Support the Mozilla-style Fullscreen Javascript API
  35373. https://bugs.webkit.org/show_bug.cgi?id=50572
  35374. * GNUmakefile.am: enable the Javascript Fullscreen API feature if
  35375. it's been requested at configure time.
  35376. 2010-12-09 Yong Li <yoli@rim.com>
  35377. Reviewed by Darin Adler.
  35378. Check the return value of ImageBuffer::create()
  35379. to avoid crash when ImageBuffer::create() fails.
  35380. https://bugs.webkit.org/show_bug.cgi?id=50631
  35381. No new test because it relies on the platform implementation
  35382. of ImageBuffer. It is hard to make ImageBuffer::create() fail
  35383. in most ports.
  35384. * platform/graphics/GeneratedImage.cpp:
  35385. (WebCore::GeneratedImage::drawPattern):
  35386. 2010-12-09 Maciej Stachowiak <mjs@apple.com>
  35387. Reviewed by Dan Bernstein.
  35388. Implement "Use Selection for Find" in WebKit2
  35389. https://bugs.webkit.org/show_bug.cgi?id=50737
  35390. <rdar://problem/8564881>
  35391. Implement a TakeFindStringFromSelection editor command. This is
  35392. used solely to implement the "Use Selection for Find" menu command
  35393. on Mac, and is not made available to script. On WebKit2, it is
  35394. very convenient to reuse the editing machinery since this command
  35395. is very similar to Copy.
  35396. * editing/Editor.h:
  35397. * editing/EditorCommand.cpp:
  35398. (WebCore::executeTakeFindStringFromSelection): Call to a mac-only Editor function.
  35399. (WebCore::enabledTakeFindStringFromSelection): Check using Editor::canCopyExcludingStandaloneImage
  35400. (WebCore::createCommandMap): Add "TakeFindStringFromSelection" command.
  35401. * editing/mac/EditorMac.mm:
  35402. (WebCore::Editor::canCopyExcludingStandaloneImages): Helper function; we can't use Editor::canCopy
  35403. since it would make no sense to enable "Use Selection for Find" when viewing a standalone image
  35404. document.
  35405. (WebCore::Editor::takeFindStringFromSelection): Implement by copying the selected text
  35406. to the special Find pasteboard.
  35407. 2010-12-09 Abhishek Arya <inferno@chromium.org>
  35408. Reviewed by Dimitri Glazkov.
  35409. As part of r73559, I added the referenceNode check to validate whether the root
  35410. node of the iterator matches the node which is getting moved to other document.
  35411. referenceNode is initialized to root, however can get moved using previousNode
  35412. and nextNode methods, so it is required to use root directly.
  35413. https://bugs.webkit.org/show_bug.cgi?id=50764
  35414. Test: fast/dom/node-iterator-reference-node-moved-crash.html
  35415. * dom/Document.cpp:
  35416. (WebCore::Document::moveNodeIteratorsToNewDocument): change referenceNode to root.
  35417. 2010-12-08 Dimitri Glazkov <dglazkov@chromium.org>
  35418. Reviewed by Darin Adler.
  35419. Provide a generic way to store shadowParent on a Node.
  35420. https://bugs.webkit.org/show_bug.cgi?id=50184
  35421. This patch makes TreeShared::m_parent act as either parentNode() or
  35422. shadowHost() for Node. The distinction is controlled by IsShadowRootFlag.
  35423. Refactoring, so no new tests. See performance result testing in bug.
  35424. * dom/Element.cpp:
  35425. (WebCore::Element::recalcStyle): Changed to use parentOrHostNode().
  35426. * dom/Node.cpp:
  35427. (WebCore::Node::shadowHost): Added.
  35428. (WebCore::Node::setShadowHost): Added.
  35429. (WebCore::Node::isContentEditable): Changed to use parentOrHostNode().
  35430. (WebCore::Node::isContentRichlyEditable): Ditto.
  35431. (WebCore::Node::nextRenderer): Ditto.
  35432. (WebCore::Node::virtualComputedStyle): Ditto.
  35433. (WebCore::Node::canStartSelection): Ditto.
  35434. (WebCore::Node::shadowTreeRootNode): Changed to use parentNodeGuaranteedHostFree().
  35435. (WebCore::Node::getEventAncestors): Ditto.
  35436. (WebCore::Node::defaultEventHandler): Changed to use parentOrHostNode().
  35437. * dom/Node.h: Added an extra flag and adjusted bit counts.
  35438. (WebCore::Node::isShadowNode): Made non-virtual, switched to use flag.
  35439. (WebCore::Node::parentNode): Made to recognize flag.
  35440. (WebCore::Node::parentOrHostNode): Changed to use straight parent() and made const.
  35441. (WebCore::Node::parentNodeGuaranteedHostFree): Added.
  35442. (WebCore::Node::shadowParentNode): Made non-virtual and const.
  35443. * editing/TextIterator.cpp:
  35444. (WebCore::depthCrossingShadowBoundaries): Changed to use parentOrHostNode();
  35445. (WebCore::nextInPreOrderCrossingShadowBoundaries): Ditto.
  35446. (WebCore::previousInPostOrderCrossingShadowBoundaries): Ditto.
  35447. (WebCore::setUpFullyClippedStack): Ditto.
  35448. (WebCore::TextIterator::advance): Ditto.
  35449. (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto.
  35450. * page/DOMSelection.cpp:
  35451. (WebCore::DOMSelection::anchorNode): Changed to use parentNodeGuaranteedHostFree().
  35452. (WebCore::DOMSelection::focusNode): Ditto.
  35453. (WebCore::DOMSelection::baseNode): Ditto.
  35454. (WebCore::DOMSelection::extentNode): Ditto.
  35455. (WebCore::DOMSelection::getRangeAt): Ditto.
  35456. * rendering/MediaControlElements.cpp:
  35457. (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
  35458. Changed to setShadowHost().
  35459. (WebCore::MediaControlShadowRootElement::updateStyle): Changed to use shadowHost().
  35460. (WebCore::MediaControlShadowRootElement::detach): Added an override to
  35461. explicitly set shadowHost to 0. Otherwise, the element will leak.
  35462. * rendering/MediaControlElements.h: Added detach def, removed members that are
  35463. no longer needed.
  35464. * rendering/RenderSVGShadowTreeRootContainer.cpp:
  35465. (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer):
  35466. Added explicit clearing of shadowHost to avoid leaking and crashes,
  35467. because SVG shadow DOM can be dynamically attached/detached, producing
  35468. stale nodes in over/out event handling.
  35469. * rendering/RenderSlider.cpp:
  35470. (WebCore::SliderThumbElement::defaultEventHandler): Changed to use shadowHost().
  35471. * rendering/RenderTextControlSingleLine.cpp:
  35472. (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
  35473. Added explicit clearing of shadowHost and explicit destruction to
  35474. avoid out-of-order removal of children.
  35475. * rendering/RenderTreeAsText.cpp:
  35476. (WebCore::nodePosition): Simplified code.
  35477. * rendering/SVGShadowTreeElements.cpp:
  35478. (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): Added
  35479. setting of shadowHost.
  35480. (WebCore::SVGShadowTreeRootElement::attachElement): Changed to use shadowHost().
  35481. (WebCore::SVGShadowTreeRootElement::clearShadowHost): Added.
  35482. * rendering/SVGShadowTreeElements.h: Added def, removed members that are
  35483. no longer needed.
  35484. * rendering/ShadowElement.cpp:
  35485. (WebCore::ShadowBlockElement::initAsPart): Changed to use shadowHost().
  35486. * rendering/ShadowElement.h: Removed members that are no longer needed.
  35487. (WebCore::ShadowElement::ShadowElement): Added setting of shadowHost.
  35488. (WebCore::ShadowElement::detach): Added.
  35489. * rendering/TextControlInnerElements.cpp:
  35490. (WebCore::TextControlInnerElement::TextControlInnerElement): Added setting
  35491. of shadowHost.
  35492. (WebCore::TextControlInnerElement::attachInnerElement): Changed to use
  35493. isShadowNode().
  35494. (WebCore::TextControlInnerElement::detach): Added.
  35495. * rendering/TextControlInnerElements.h: Removed members that are no
  35496. longer needed.
  35497. * svg/SVGElement.cpp:
  35498. (WebCore::SVGElement::ownerSVGElement): Simplified code.
  35499. (WebCore::SVGElement::viewportElement): Ditto.
  35500. * svg/SVGLocatable.cpp:
  35501. (WebCore::SVGLocatable::computeCTM): Ditto.
  35502. * svg/SVGStyledElement.cpp:
  35503. (WebCore::SVGStyledElement::title): Ditto.
  35504. * svg/SVGUseElement.cpp:
  35505. (WebCore::ShadowTreeUpdateBlocker::while): Ditto.
  35506. 2010-12-09 Brady Eidson <beidson@apple.com>
  35507. Reviewed by Maciej Stachowiak.
  35508. <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191
  35509. WebKit2 Authentication Support
  35510. * WebCore.exp.in:
  35511. 2010-12-09 Peter Beverloo <peter@lvp-media.com>
  35512. Reviewed by Maciej Stachowiak.
  35513. Default CSS definitions for the figure and figcaption elements.
  35514. Tests: fast/html/figcaption-element.html
  35515. fast/html/figure-element.html
  35516. * css/html.css:
  35517. (figure): The default figure-style equals a blockquote
  35518. (figcaption): A non-sectioning block-level element
  35519. 2010-12-09 Yury Semikhatsky <yurys@chromium.org>
  35520. Reviewed by Pavel Feldman.
  35521. Web Inspector: Console records for failed XHRs should contain call stack and request method
  35522. https://bugs.webkit.org/show_bug.cgi?id=50390
  35523. When inspector front-end is open we capture call stack at the place where request is sent and
  35524. pass the stack along with other request data. There is a new type of console messages which
  35525. is NetworkErrorMessageType, all messages of that type will have requestId field initialized
  35526. with the corresponding network request identifier so that later on when we need to display
  35527. that message in the front-end we could pull request data from the Network panel using
  35528. this identifier. If there are no data for given requestId message formatting falls back to
  35529. the old implementation which lacks such things as call stack, request method and exact
  35530. source location.
  35531. * inspector/ConsoleMessage.cpp:
  35532. (WebCore::ConsoleMessage::ConsoleMessage):
  35533. (WebCore::ConsoleMessage::addToFrontend):
  35534. (WebCore::ConsoleMessage::isEqual):
  35535. * inspector/ConsoleMessage.h:
  35536. * inspector/Inspector.idl:
  35537. * inspector/InspectorController.cpp:
  35538. (WebCore::InspectorController::didReceiveResponse):
  35539. (WebCore::InspectorController::didFailLoading):
  35540. * inspector/InspectorResourceAgent.cpp:
  35541. (WebCore::InspectorResourceAgent::identifierForInitialRequest):
  35542. * inspector/front-end/ConsoleView.js:
  35543. (WebInspector.ConsoleView.prototype.updateMessageRepeatCount):
  35544. (WebInspector.ConsoleMessage):
  35545. (WebInspector.ConsoleMessage.prototype._formatMessage):
  35546. (WebInspector.ConsoleMessage.prototype.toMessageElement):
  35547. (WebInspector.ConsoleMessage.prototype.toString):
  35548. (WebInspector.ConsoleMessage.prototype.isEqual):
  35549. * inspector/front-end/ResourceManager.js:
  35550. (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
  35551. * inspector/front-end/inspector.js:
  35552. (WebInspector.addConsoleMessage):
  35553. * page/Console.h:
  35554. 2010-12-09 Dai Mikurube <dmikurube@google.com>
  35555. Reviewed by Kent Tamura.
  35556. Implement "required" attribute for select tags
  35557. https://bugs.webkit.org/show_bug.cgi?id=50380
  35558. Test: fast/forms/select-live-pseudo-selectors.html
  35559. platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html
  35560. * dom/SelectElement.cpp:
  35561. (WebCore::SelectElement::updateValidity): Added. It's a pure virtual function which is prepared so that HTMLSelectElement::updateValidity() calls HTMLSelectElement::setNeedsValidityCheck().
  35562. (WebCore::SelectElement::parseMultipleAttribute): Added calling updateValidity().
  35563. * html/HTMLSelectElement.cpp:
  35564. (WebCore::HTMLSelectElement::deselectItems): Added calling setNeedsValidityCheck() to enable validity check after changing. No tests for this change since this function is not exposed to JavaScript or any web interface.
  35565. (WebCore::HTMLSelectElement::setSelectedIndex): Added calling setNeedsValidityCheck().
  35566. (WebCore::HTMLSelectElement::setSelectedIndexByUser): Added calling setNeedsValidityCheck().
  35567. (WebCore::HTMLSelectElement::valueMissing): Added valueMissing() to check if selecting an invalid or placeholder label option when a valid required attribute is specified.
  35568. (WebCore::HTMLSelectElement::listBoxSelectItem): Added calling setNeedsValidityCheck(). No tests for this change since it is not called yet. Look at the bug 36177 and the changeset 56180.
  35569. (WebCore::HTMLSelectElement::add): Added calling setNeedsValidityCheck().
  35570. (WebCore::HTMLSelectElement::remove): Added calling setNeedsValidityCheck().
  35571. (WebCore::HTMLSelectElement::restoreFormControlState): Added calling setNeedsValidityCheck().
  35572. (WebCore::HTMLSelectElement::parseMappedAttribute): Added calling setNeedsValidityCheck().
  35573. (WebCore::HTMLSelectElement::selectAll): Added calling setNeedsValidityCheck().
  35574. (WebCore::HTMLSelectElement::reset): Added calling setNeedsValidityCheck().
  35575. (WebCore::HTMLSelectElement::updateListBoxSelection): Added calling setNeedsValidityCheck(). Skipped adding tests for this change as too complicated..
  35576. (WebCore::HTMLSelectElement::setLength): Added calling setNeedsValidityCheck().
  35577. (WebCore::HTMLSelectElement::isRequiredFormControl): Check if required or not.
  35578. (WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Added.
  35579. (WebCore::HTMLSelectElement::updateValidity): Added. It calls setNeedsValidityCheck().
  35580. * html/HTMLSelectElement.h:
  35581. (WebCore::HTMLSelectElement::isOptionalFormControl): Check if not required.
  35582. * html/HTMLSelectElement.idl: Added a required attribute to select elements..
  35583. * html/ValidityState.cpp:
  35584. (WebCore::ValidityState::valueMissing): Added valueMissing check for select elements into the global checker, ValidityState::valueMissing().
  35585. * wml/WMLSelectElement.h:
  35586. (WebCore::WMLSelectElement::updateValidity): Added. It does nothing.
  35587. 2010-12-07 Jeremy Orlow <jorlow@chromium.org>
  35588. Reviewed by Steve Block.
  35589. IndexedDB returns the wrong exceptions
  35590. https://bugs.webkit.org/show_bug.cgi?id=50632
  35591. IndexedDB exceptions need to have an offset so they can
  35592. be distinguished from DOM exceptions. We also need to
  35593. add strings for the various exceptions. Lastly, make
  35594. IDBDatabaseException use the common exception base class.
  35595. * bindings/js/JSDOMBinding.cpp:
  35596. (WebCore::setDOMException):
  35597. * bindings/v8/V8Proxy.cpp:
  35598. (WebCore::V8Proxy::setDOMException):
  35599. * dom/ExceptionCode.cpp:
  35600. (WebCore::getExceptionCodeDescription):
  35601. * dom/ExceptionCode.h:
  35602. * storage/IDBDatabaseError.h:
  35603. (WebCore::IDBDatabaseError::code):
  35604. * storage/IDBDatabaseException.h:
  35605. (WebCore::IDBDatabaseException::create):
  35606. (WebCore::IDBDatabaseException::ErrorCodeToExceptionCode):
  35607. (WebCore::IDBDatabaseException::IDBDatabaseException):
  35608. * storage/IDBDatabaseException.idl:
  35609. 2010-12-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
  35610. Build fix for GTK+3. Use functions added for GTK+ 2.24 to get the
  35611. GDK window size.
  35612. * plugins/gtk/gtk2xtbin.c:
  35613. (gtk_xtbin_realize):
  35614. 2010-12-09 Siddharth Mathur <siddharth.mathur@nokia.com>
  35615. Reviewed by Laszlo Gombos.
  35616. Use BUILDING_WEBKIT like other ports
  35617. https://bugs.webkit.org/show_bug.cgi?id=50713
  35618. * WebCore.pro: Change BUILD_WEBKIT to BUILDING_WEBKIT
  35619. 2010-12-08 Erik Arvidsson <arv@chromium.org>
  35620. Reviewed by Darin Adler.
  35621. Replace getAttribute().isNull() with fastHasAttribute()
  35622. https://bugs.webkit.org/show_bug.cgi?id=50719
  35623. Covered by existing tests.
  35624. * dom/SelectElement.cpp:
  35625. (WebCore::SelectElement::reset):
  35626. * html/HTMLAppletElement.cpp:
  35627. (WebCore::HTMLAppletElement::rendererIsNeeded):
  35628. * html/HTMLCollection.cpp:
  35629. (WebCore::HTMLCollection::itemAfter):
  35630. * html/HTMLFormControlElement.cpp:
  35631. (WebCore::HTMLFormControlElement::formNoValidate):
  35632. * html/HTMLFormElement.cpp:
  35633. (WebCore::HTMLFormElement::noValidate):
  35634. * html/HTMLInputElement.cpp:
  35635. (WebCore::HTMLInputElement::defaultChecked):
  35636. (WebCore::HTMLInputElement::multiple):
  35637. (WebCore::HTMLInputElement::webkitdirectory):
  35638. * html/HTMLOptionElement.cpp:
  35639. (WebCore::HTMLOptionElement::defaultSelected):
  35640. * html/HTMLScriptElement.cpp:
  35641. (WebCore::HTMLScriptElement::asyncAttributeValue):
  35642. (WebCore::HTMLScriptElement::deferAttributeValue):
  35643. * rendering/RenderFileUploadControl.cpp:
  35644. (WebCore::RenderFileUploadControl::allowsMultipleFiles):
  35645. (WebCore::RenderFileUploadControl::allowsDirectoryUpload):
  35646. 2010-12-08 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
  35647. Reviewed by Martin Robinson.
  35648. Full page size flash plugins do not show in all situations
  35649. https://bugs.webkit.org/show_bug.cgi?id=47742
  35650. This patch moves the plugin widget size allocation after the
  35651. NPP_SetWindow is called with the effect that the resize of Flash
  35652. content no longer result in grey flash. This seems logical since the
  35653. widget tree cannot be fully constructed before the plugin receives
  35654. the new container window.
  35655. Test: manual-tests/plugins/gtk-windowed-grey-glitch.html
  35656. * plugins/gtk/PluginViewGtk.cpp:
  35657. (WebCore::PluginView::setNPWindowIfNeeded):
  35658. 2010-12-08 David Hyatt <hyatt@apple.com>
  35659. Reviewed by Simon Fraser.
  35660. Fix regression from xji's wheel scroll patch. The vertical case is looking at the horizontal
  35661. maximum position and not the vertical position.
  35662. * platform/ScrollView.cpp:
  35663. (WebCore::ScrollView::wheelEvent):
  35664. 2010-12-08 Sam Weinig <sam@webkit.org>
  35665. Reviewed by Darin Adler.
  35666. Need a way to get a WKBundleFrameRef from JS HTMLIFrameElement
  35667. https://bugs.webkit.org/show_bug.cgi?id=50726
  35668. * WebCore.xcodeproj/project.pbxproj: Expose HTMLIFrameElement.h.
  35669. 2010-12-08 Matthew Delaney <mdelaney@apple.com>
  35670. Reviewed by Simon Fraser.
  35671. Add getter and setters for acceleratesRendering flag on layers
  35672. https://bugs.webkit.org/show_bug.cgi?id=50717
  35673. * platform/graphics/GraphicsLayer.cpp:
  35674. * platform/graphics/ca/GraphicsLayerCA.cpp:
  35675. * platform/graphics/ca/mac/PlatformCALayerMac.mm:
  35676. Plumbed through acceleratedRendering flag.
  35677. 2010-12-07 Zhenyao Mo <zmo@google.com>
  35678. Reviewed by Kenneth Russell.
  35679. WebGLUniformLocation objects must be invalidated during linkProgram
  35680. https://bugs.webkit.org/show_bug.cgi?id=37118
  35681. * html/canvas/WebGLProgram.cpp:
  35682. (WebCore::WebGLProgram::WebGLProgram): Initialize link count to 0.
  35683. (WebCore::WebGLProgram::cacheActiveAttribLocations): Don't check link status through gl call; use the cached status instead.
  35684. * html/canvas/WebGLProgram.h:
  35685. (WebCore::WebGLProgram::getLinkCount): Get link count.
  35686. (WebCore::WebGLProgram::increaseLinkCount): Increase link count by 1.
  35687. * html/canvas/WebGLRenderingContext.cpp:
  35688. (WebCore::WebGLRenderingContext::getUniform): Fix a bug where wrong error is generated.
  35689. (WebCore::WebGLRenderingContext::linkProgram): call increaseLinkCount after linkProgram.
  35690. * html/canvas/WebGLUniformLocation.cpp:
  35691. (WebCore::WebGLUniformLocation::WebGLUniformLocation): Set program's link count upon creation.
  35692. (WebCore::WebGLUniformLocation::program): Return null if count doesn't match the program's.
  35693. (WebCore::WebGLUniformLocation::location): Return -1 if count doesn't match the program's.
  35694. * html/canvas/WebGLUniformLocation.h:
  35695. 2010-12-08 Adele Peterson <adele@apple.com>
  35696. Reviewed by Darin Adler.
  35697. Fix for https://bugs.webkit.org/show_bug.cgi?id=50725
  35698. <rdar://problem/8694972> REGRESSION (r72052): "Search" placeholder in MobileMe mail is positioned too high
  35699. Test: fast/forms/placeholder-position.html
  35700. Since we center the inner text element for single line text controls,
  35701. we should ask the subclass to give us the y offset instead of trying to calculate it in the RenderTextControl class.
  35702. * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::paintPlaceholder):
  35703. * rendering/RenderTextControl.h:
  35704. * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::textBlockInsetTop):
  35705. * rendering/RenderTextControlMultiLine.h:
  35706. * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::textBlockInsetTop):
  35707. * rendering/RenderTextControlSingleLine.h:
  35708. 2010-12-08 Chris Rogers <crogers@google.com>
  35709. Reviewed by Kenneth Russell.
  35710. Add web audio files to mac port Xcode projects
  35711. https://bugs.webkit.org/show_bug.cgi?id=50721
  35712. No new tests since audio API is not yet implemented.
  35713. * WebCore.xcodeproj/project.pbxproj:
  35714. * bindings/js/JSDOMWindowCustom.cpp:
  35715. (WebCore::JSDOMWindow::webkitAudioContext):
  35716. 2010-12-08 Kent Tamura <tkent@chromium.org>
  35717. Reviewed by Alexey Proskuryakov.
  35718. Yensign hack should work with Shift_JIS and ISO-2022-JP encodings.
  35719. https://bugs.webkit.org/show_bug.cgi?id=49714
  35720. IE chooses a font which shows a yensign for 0x5c code point for a page
  35721. encoded in x-mac-japanese, ISO-2022-JP, EUC-JP, Shift_JIS, Shift_JIS_X0213-2000,
  35722. x-sjis, and Windows-31J.
  35723. We have emulated this behavior by replacing 0x5c with 0xa5 for EUC-JP and
  35724. Shift_JIS_X0213-2000. This change adds other encodings above.
  35725. Also, we move the HashSet initialization for isJapanese() and
  35726. backslashAsCurrencySymbol() to TextEncodingRegistry.cpp because of
  35727. ease of making them multi-thread safe.
  35728. * platform/text/TextEncoding.cpp:
  35729. (WebCore::TextEncoding::isJapanese): Just calls isJapaneseEncoding().
  35730. (WebCore::TextEncoding::backslashAsCurrencySymbol): Uses shouldShowBackslashAsCurrencySymbolIn().
  35731. * platform/text/TextEncodingRegistry.cpp:
  35732. (WebCore::addEncodingName): Moved from TextEncoding.cpp, and stop using atomicCanonicalTextEncodingName().
  35733. (WebCore::buildQuirksSets): Added. Initializes HashSets for isJapaneseEncoding() and shouldShowBackslashAsCurrencySymbolIn().
  35734. (WebCore::isJapaneseEncoding):
  35735. (WebCore::shouldShowBackslashAsCurrencySymbolIn):
  35736. (WebCore::extendTextCodecMaps): Add a call to buildQuirksSets().
  35737. * platform/text/TextEncodingRegistry.h:
  35738. 2010-12-08 Andy Estes <aestes@apple.com>
  35739. Reviewed by Darin Adler.
  35740. Reflected unsigned attributes should be in the range [0, 2^31).
  35741. https://bugs.webkit.org/show_bug.cgi?id=50472
  35742. HTML5 says that unsigned reflected attributes should be in the range
  35743. [0, 2^31). When a value isn't in this range, a default value (or 0)
  35744. should be returned instead. Update the JS bindings code generator to
  35745. ensure 0 is returned when a content attribute value falls outside of
  35746. this range.
  35747. Tests: bindings/scripts/test/TestObj.idl
  35748. fast/html/marquee-element.html
  35749. * bindings/scripts/CodeGeneratorJS.pm: Return the maximum of 0 and the
  35750. content attribute as a 32-bit signed int when converting a native value
  35751. to an unsigned JS value.
  35752. * bindings/scripts/test/TestObj.idl: Add a reflected unsigned attribute
  35753. to test code generation.
  35754. * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Update test results.
  35755. * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
  35756. * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
  35757. * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
  35758. * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
  35759. * bindings/scripts/test/JS/JSTestObj.h: Ditto.
  35760. * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
  35761. * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
  35762. * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
  35763. 2010-12-08 Carlos Garcia Campos <cgarcia@igalia.com>
  35764. Reviewed by Martin Robinson.
  35765. [GTK] Use gtk_icon_set_render_icon() to render icons in RenderThemeGtk
  35766. https://bugs.webkit.org/show_bug.cgi?id=50623
  35767. We don't need to cache the icons since the will be cached by GTK+,
  35768. and they will be rendered using the state and text direction.
  35769. * platform/gtk/RenderThemeGtk.cpp:
  35770. (WebCore::paintStockIcon):
  35771. (WebCore::getMediaButtonIconSize):
  35772. (WebCore::RenderThemeGtk::initMediaColors):
  35773. (WebCore::RenderThemeGtk::initMediaButtons):
  35774. (WebCore::RenderThemeGtk::RenderThemeGtk):
  35775. (WebCore::RenderThemeGtk::~RenderThemeGtk):
  35776. (WebCore::RenderThemeGtk::gtkIconState):
  35777. (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
  35778. (WebCore::centerRectVerticallyInParentInputElement):
  35779. (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
  35780. (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
  35781. (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
  35782. (WebCore::RenderThemeGtk::platformColorsDidChange):
  35783. (WebCore::RenderThemeGtk::paintMediaButton):
  35784. (WebCore::RenderThemeGtk::paintMediaFullscreenButton):
  35785. (WebCore::RenderThemeGtk::paintMediaMuteButton):
  35786. (WebCore::RenderThemeGtk::paintMediaPlayButton):
  35787. (WebCore::RenderThemeGtk::paintMediaSeekBackButton):
  35788. (WebCore::RenderThemeGtk::paintMediaSeekForwardButton):
  35789. * platform/gtk/RenderThemeGtk.h:
  35790. 2010-12-08 Abhishek Arya <inferno@chromium.org>
  35791. Reviewed by Dimitri Glazkov.
  35792. Detach node iterator and move to new document when node gets moved.
  35793. https://bugs.webkit.org/show_bug.cgi?id=50697
  35794. Test: fast/dom/node-iterator-document-moved-crash.html
  35795. * dom/Document.cpp: Method that takes a node and new document as argument.
  35796. It detaches the node iterators belonging to the current document and attaches
  35797. them to the new document.
  35798. (WebCore::Document::moveNodeIteratorsToNewDocument):
  35799. * dom/Document.h: Function definition.
  35800. * dom/Node.cpp: When node is moved to another document, call the function to move
  35801. the iterators appropriately.
  35802. (WebCore::Node::setDocument):
  35803. 2010-12-08 James Robinson <jamesr@chromium.org>
  35804. Reviewed by Kenneth Russell.
  35805. [chromium] Text is blurry on a large composited layer with an odd center x/y coordinate
  35806. https://bugs.webkit.org/show_bug.cgi?id=50702
  35807. Compute the center of a large layer using floats instead of ints to avoid roundoff errors.
  35808. Test: compositing/text-on-large-layer.html
  35809. * platform/graphics/chromium/ContentLayerChromium.cpp:
  35810. (WebCore::ContentLayerChromium::draw):
  35811. 2010-12-08 Ryosuke Niwa <rniwa@webkit.org>
  35812. Reviewed by Dan Bernstein.
  35813. REGRESSION: LayoutTests/editing/selection/caret-rtl-2.html fails
  35814. https://bugs.webkit.org/show_bug.cgi?id=33503
  35815. The bug was caused by Font::offsetForPosition's not taking into account the containing block's text direction.
  35816. When RTL text appears in a LTR block, the offset at the beginning of RTL text is on the left of RTL text,
  35817. and the offset at the end of RTL text is on the right of RTL text. For example, if we had RTL text CBA,
  35818. then the correspondance between letters and offsets in logical order are: A -> 0, B -> 1, and C -> 2.
  35819. Case 1. CBA appears in a RTL block:
  35820. In this case, clicking on the visual left of CBA puts the caret naturally at Position("CBA", 2).
  35821. Clicking on the visual right of CBA puts the caret at Position("CBA", 0) as expected.
  35822. Case 2. CBA appears in a LTR block:
  35823. Because the containing block flows from left to right, by convention, Position("CBA", 2") corresponds
  35824. to the visual right of CBA, and Position("CBA", 0) corresponds to the visual left of CBA.
  35825. Therefore, clicking on the visual left of CBA should put the caret at Position("CBA", 0),
  35826. and clicking on the visual right should put it at Position("CBA", 2).
  35827. The bug was caused by WebKit's not considering case 2. The same bug also exist for LTR text in a RTL block.
  35828. Fixed the bug by taking care of the case 2 in InlineTextBox::offsetForPosition.
  35829. Tests: editing/selection/caret-ltr-2-left.html
  35830. editing/selection/caret-ltr-2.html
  35831. editing/selection/caret-ltr-right.html
  35832. editing/selection/caret-ltr.html
  35833. editing/selection/caret-rtl-2-left.html
  35834. editing/selection/caret-rtl-right.html
  35835. * rendering/InlineTextBox.cpp:
  35836. (WebCore::InlineTextBox::offsetForPosition):
  35837. 2010-12-08 Anders Carlsson <andersca@apple.com>
  35838. Reviewed by Darin Adler.
  35839. Fix some clang++ warnings (one of which was an actual bug)
  35840. https://bugs.webkit.org/show_bug.cgi?id=50700
  35841. * page/mac/DragControllerMac.mm:
  35842. (WebCore::DragController::dragOperation):
  35843. Add parentheses to silent a clang warning.
  35844. * page/mac/EventHandlerMac.mm:
  35845. (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
  35846. Fix || vs && precedence bug uncovered by clang.
  35847. * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
  35848. (WebCore::GraphicsContext3D::reshape):
  35849. Use an early return to avoid a warning.
  35850. 2010-12-08 Chris Marrin <cmarrin@apple.com>
  35851. Reviewed by Simon Fraser.
  35852. Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
  35853. https://bugs.webkit.org/show_bug.cgi?id=49388
  35854. Added copy constructors and casting operators to go between
  35855. TransformationMatrix and CATransform3D. Also added a copy
  35856. constructor to go from CGAffineTransform to TransformationMatrix.
  35857. Used these new methods to clean up platform CA code. This will
  35858. make it easier to port to Windows.
  35859. I also fixed a couple of build issues found when trying out a
  35860. Windows build.
  35861. This is a resubmission of changesets r73477 and r73483 with a
  35862. fix for the SL build. The failure was because TransformationMatrix
  35863. included QuartzCore/CATransform3D.h which brought in some system
  35864. libraries, including Quickdraw, which has a definition for
  35865. 'Cursor' which clashed with WebCore's 'Cursor' class. So I had
  35866. to qualify its use in WebChromeClient.cpp in WebKit2.
  35867. * WebCore.xcodeproj/project.pbxproj:
  35868. * platform/graphics/ca/GraphicsLayerCA.cpp:
  35869. (WebCore::GraphicsLayerCA::updateContentsTransform):
  35870. (WebCore::GraphicsLayerCA::ensureCloneLayers):
  35871. (WebCore::GraphicsLayerCA::fetchCloneLayers):
  35872. * platform/graphics/ca/TransformationMatrixCA.cpp: Copied from WebCore/platform/graphics/ca/TransformationMatrixCA.cpp.
  35873. * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
  35874. (PlatformCAAnimation::setFromValue):
  35875. (PlatformCAAnimation::setToValue):
  35876. (PlatformCAAnimation::setValues):
  35877. * platform/graphics/ca/mac/PlatformCALayerMac.mm:
  35878. (PlatformCALayer::transform):
  35879. (PlatformCALayer::setTransform):
  35880. (PlatformCALayer::sublayerTransform):
  35881. (PlatformCALayer::setSublayerTransform):
  35882. (PlatformCALayer::contentsTransform):
  35883. (PlatformCALayer::setContentsTransform):
  35884. * platform/graphics/cg/TransformationMatrixCG.cpp:
  35885. (WebCore::TransformationMatrix::TransformationMatrix):
  35886. * platform/graphics/transforms/TransformationMatrix.h:
  35887. 2010-12-07 Brian Weinstein <bweinstein@apple.com>
  35888. Reviewed by John Sullivan.
  35889. Layering Violation in ContextMenu - member variable of type HitTestResult
  35890. https://bugs.webkit.org/show_bug.cgi?id=50586
  35891. ContextMenu had a layering violation by having a member variable of type HitTestResult, because
  35892. classes in WebCore/platform can't know about classes in WebCore.
  35893. This patch moves the HitTestResult and all functions that use it out of ContextMenu into ContextMenuController.
  35894. All of the functions that dealt with populating the ContextMenu are now in ContextMenuController, and this
  35895. allowed us to delete the ContextMenu file, putting all of the cross-platform code that used to be it
  35896. in ContextMenuController, and the rest of the code is in the platform-specific files.
  35897. No change in behavior, no new tests.
  35898. * Android.mk: Removed ContextMenu.cpp.
  35899. * CMakeLists.txt: Ditto.
  35900. * GNUmakefile.am: Ditto.
  35901. * WebCore.gypi: Ditto.
  35902. * WebCore.pro: Ditto.
  35903. * WebCore.vcproj/WebCore.vcproj: Ditto.
  35904. * WebCore.xcodeproj/project.pbxproj: Ditto.
  35905. * page/ContextMenuController.cpp:
  35906. (WebCore::ContextMenuController::ContextMenuController): Initialized m_hitTestResult to an empty HitTestResult.
  35907. (WebCore::ContextMenuController::handleContextMenuEvent): Call populate on the ContextMenuController instead
  35908. of the ContextMenu.
  35909. (WebCore::ContextMenuController::createContextMenu): Fix some indination, and store the HitTestResult in a member
  35910. variable.
  35911. (WebCore::ContextMenuController::showContextMenu): Call addInspectElementItem on the ContextMenuController.
  35912. (WebCore::ContextMenuController::contextMenuItemSelected): Use m_hitTestResult whenever we need a HitTestResult.
  35913. (WebCore::ContextMenuController::appendItem): Validates the item for its state, and then appends it to the parent menu.
  35914. This allowed us to move checkOrEnableIfNeeded from ContextMenu.
  35915. These functions were all moved from ContextMenu, and changed slightly to fit in ContextMenuController.
  35916. All calls to ContextMenu::appendItem were changed to ContextMenuController::appendItem, which takes care
  35917. of validating the menu.
  35918. (WebCore::separatorItem): Moved from ContextMenu.
  35919. (WebCore::ContextMenuController::createAndAppendFontSubMenu): Ditto.
  35920. (WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu): Ditto.
  35921. (WebCore::ContextMenuController::createAndAppendSpeechSubMenu): Ditto.
  35922. (WebCore::ContextMenuController::createAndAppendWritingDirectionSubMenu): Ditto.
  35923. (WebCore::ContextMenuController::createAndAppendTextDirectionSubMenu): Ditto.
  35924. (WebCore::ContextMenuController::createAndAppendSubstitutionsSubMenu): Ditto.
  35925. (WebCore::ContextMenuController::createAndAppendTransformationsSubMenu): Ditto.
  35926. (WebCore::selectionContainsPossibleWord): Ditto.
  35927. (WebCore::ContextMenuController::populate): Ditto.
  35928. (WebCore::ContextMenuController::addInspectElementItem): Ditto.
  35929. (WebCore::ContextMenuController::checkOrEnableIfNeeded): Ditto.
  35930. * page/ContextMenuController.h:
  35931. (WebCore::ContextMenuController::hitTestResult): Returns the HitTestResult of the current ContextMenu.
  35932. * platform/ContextMenu.cpp: Removed.
  35933. * platform/ContextMenu.h:
  35934. * platform/efl/ContextMenuEfl.cpp:
  35935. (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
  35936. (WebCore::ContextMenu::appendItem): Removed the call to checkOrEnableIfNeeded.
  35937. * platform/gtk/ContextMenuGtk.cpp:
  35938. (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
  35939. (WebCore::ContextMenu::appendItem): Ditto.
  35940. * platform/haiku/ContextMenuHaiku.cpp:
  35941. (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
  35942. (WebCore::ContextMenu::appendItem): Ditto.
  35943. (WebCore::ContextMenu::insertItem): Ditto.
  35944. * platform/mac/ContextMenuMac.mm:
  35945. (-[WebCoreMenuTarget validateMenuItem:]): Calls checkOrEnableIfNeeded on the controller instead of
  35946. the context menu.
  35947. (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
  35948. (WebCore::ContextMenu::appendItem): Removed the call to checkOrEnableIfNeeded.
  35949. (WebCore::ContextMenu::insertItem): Ditto.
  35950. * platform/win/ContextMenuWin.cpp:
  35951. (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
  35952. (WebCore::ContextMenu::insertItem): Removed the call to checkOrEnableIfNeeded.
  35953. * platform/wx/ContextMenuWx.cpp:
  35954. (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
  35955. (ContextMenu::appendItem): Ditto.
  35956. 2010-12-08 Martin Robinson <mrobinson@igalia.com>
  35957. Reviewed by John Sullivan.
  35958. [GTK] Layering violation in ContextMenuGtk.cpp
  35959. https://bugs.webkit.org/show_bug.cgi?id=50676
  35960. ContextMenuGtk accesses the page's ContextMenuController, which is a layering
  35961. violation. This was fixed for Mac with change r73469. We make a similar fix here
  35962. by moving the "activated" signal connection to the WebKit layer.
  35963. * platform/gtk/ContextMenuGtk.cpp:
  35964. (WebCore::ContextMenu::appendItem): Remove access of ContextMenuController. This
  35965. is a layering violation.
  35966. 2010-12-08 Jessie Berlin <jberlin@apple.com>
  35967. Reviewed by Adam Roben.
  35968. WebKit2: Implement WebChromeClient::exceededDatabaseQuota
  35969. https://bugs.webkit.org/show_bug.cgi?id=50656
  35970. * WebCore.exp.in:
  35971. Export the symbol for SecurityOrigin::databaseIdentifier.
  35972. 2010-12-08 Csaba Osztrogonác <ossy@webkit.org>
  35973. Unreviewed, rolling out r73521.
  35974. http://trac.webkit.org/changeset/73521
  35975. https://bugs.webkit.org/show_bug.cgi?id=50640
  35976. It broke 90 layout tests
  35977. * bindings/js/JSDOMBinding.cpp:
  35978. (WebCore::printErrorMessageForFrame):
  35979. * bindings/js/JSDOMWindowBase.cpp:
  35980. (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
  35981. * bindings/js/JSDOMWindowCustom.cpp:
  35982. (WebCore::JSDOMWindow::setLocation):
  35983. * page/DOMWindow.cpp:
  35984. * page/DOMWindow.h:
  35985. 2010-12-08 David Hyatt <hyatt@apple.com>
  35986. Reviewed by Anders Carlsson.
  35987. https://bugs.webkit.org/show_bug.cgi?id=50576
  35988. REGRESSION in position of autocomplete popup on RTL page.
  35989. RTL static position computation did not subtract out the width of the enclosing box if the
  35990. immediate parent was a RenderInline. This bug was exposed by properly changing the RenderView
  35991. to be RTL when the document was RTL.
  35992. Added three new tests in fast/block/positioning.
  35993. * rendering/RenderBox.cpp:
  35994. (WebCore::RenderBox::computePositionedLogicalWidth):
  35995. 2010-12-08 Xiaomei Ji <xji@chromium.org>
  35996. Reviewed by David Hyatt.
  35997. Fix backward mouse wheeling not working when scroll position is below 0.
  35998. https://bugs.webkit.org/show_bug.cgi?id=50370
  35999. Tests: fast/events/wheelevent-in-horizontal-scrollbar-in-rtl.html
  36000. fast/events/wheelevent-in-vertical-scrollbar-in-rtl.html
  36001. * platform/ScrollView.cpp:
  36002. (WebCore::ScrollView::wheelEvent):
  36003. 2010-12-08 Simon Fraser <simon.fraser@apple.com>
  36004. Reviewed by Dan Bernstein.
  36005. Fix pauseAnimation API to work with shorthand properties
  36006. https://bugs.webkit.org/show_bug.cgi?id=50639
  36007. The pause API is always called with a long-hand property, but that
  36008. property may be animating via a shorthand. Detect this, and pause
  36009. such shorthand animations.
  36010. * page/animation/AnimationBase.cpp:
  36011. (WebCore::ShorthandPropertyWrapper::propertyWrappers): Expose the vector
  36012. of wrappers used by a shorthand wrapper.
  36013. (WebCore::gatherEnclosingShorthandProperties): Utility function that walks
  36014. through the shorthand wrappers, keeping track of which can affect the given
  36015. property.
  36016. (WebCore::AnimationBase::animatableShorthandsAffectingProperty): Return a set
  36017. of shorthand properties that can affect the given property.
  36018. * page/animation/AnimationBase.h: New method.
  36019. * page/animation/CompositeAnimation.cpp:
  36020. (WebCore::CompositeAnimation::pauseTransitionAtTime): If we don't find the
  36021. property itself, check whether it's being animated via shorthands.
  36022. 2010-12-08 David Hyatt <hyatt@apple.com>
  36023. Reviewed by Beth Dakin.
  36024. <rdar://problem/8740920> Gestures: Frame::scalePage() broken by r73885
  36025. Make sure the transform applied to the RenderView for page scaling is incorporated into the
  36026. docTop/Bottom/Left/Right accessors.
  36027. * rendering/RenderView.cpp:
  36028. (WebCore::RenderView::docTop):
  36029. (WebCore::RenderView::docBottom):
  36030. (WebCore::RenderView::docLeft):
  36031. (WebCore::RenderView::docRight):
  36032. 2010-12-08 Ilya Tikhonovsky <loislo@chromium.org>
  36033. Reviewed by Yury Semikhatsky.
  36034. Web Inspector: Protocol cleanup task. Remove WebInspector wrappers
  36035. for TimelineAgent functions.
  36036. https://bugs.webkit.org/show_bug.cgi?id=50690
  36037. * inspector/Inspector.idl:
  36038. * inspector/front-end/TimelineAgent.js:
  36039. * inspector/front-end/TimelinePanel.js:
  36040. (WebInspector.TimelinePanel):
  36041. (WebInspector.TimelinePanel.prototype.timelineProfilerWasStarted):
  36042. (WebInspector.TimelinePanel.prototype.timelineProfilerWasStopped):
  36043. 2010-12-08 Philippe Normand <pnormand@igalia.com>
  36044. Reviewed by Gustavo Noronha Silva.
  36045. [GTK] media/fullscreen* failing on 64-bits Debug
  36046. https://bugs.webkit.org/show_bug.cgi?id=50394
  36047. Avoid emiting durationchanged in the case where the previous
  36048. duration was 0 because that case is already handled by the
  36049. HTMLMediaElement.
  36050. Test: media/media-fullscreen*.html
  36051. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  36052. (WebCore::MediaPlayerPrivateGStreamer::durationChanged):
  36053. 2010-12-07 Darin Adler <darin@apple.com>
  36054. Reviewed by Geoffrey Garen.
  36055. Move DOMWindow::setLocation logic into DOMWindow class and out of JavaScript binding
  36056. https://bugs.webkit.org/show_bug.cgi?id=50640
  36057. * bindings/js/JSDOMBinding.cpp:
  36058. (WebCore::printErrorMessageForFrame): Removed body; just call through to
  36059. DOMWindow::printErrorMessage.
  36060. * bindings/js/JSDOMWindowBase.cpp:
  36061. (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Removed body;
  36062. just call through to DOMWindow::crossDomainAccessErrorMessage.
  36063. * bindings/js/JSDOMWindowCustom.cpp:
  36064. (WebCore::JSDOMWindow::setLocation): Changed terminology to use activeFrame and
  36065. firstFrame, rather than the older lexicalFrame and dynamicFrame. Removed most
  36066. of the body and moved it into DOMWindow::setLocation.
  36067. * page/DOMWindow.cpp:
  36068. (WebCore::DOMWindow::setLocation): Added. Does all the same work that
  36069. JSDOMWindow::setLocation used to do, but in a way that's not specific
  36070. to JavaScript.
  36071. (WebCore::DOMWindow::printErrorMessage): Added.
  36072. (WebCore::DOMWindow::crossDomainAccessErrorMessage): Added.
  36073. * page/DOMWindow.h: Added setLocation, printErrorMessage, and
  36074. crossDomainAccessErrorMessage.
  36075. 2010-12-08 Alejandro G. Castro <alex@igalia.com>
  36076. Unreviewed, rolling out r73494.
  36077. http://trac.webkit.org/changeset/73494
  36078. https://bugs.webkit.org/show_bug.cgi?id=50380
  36079. The tests added are crashing in the debug bots (macn and gtk)
  36080. * html/HTMLSelectElement.cpp:
  36081. (WebCore::HTMLSelectElement::deselectItems):
  36082. (WebCore::HTMLSelectElement::setSelectedIndex):
  36083. (WebCore::HTMLSelectElement::setSelectedIndexByUser):
  36084. (WebCore::HTMLSelectElement::listBoxSelectItem):
  36085. (WebCore::HTMLSelectElement::add):
  36086. (WebCore::HTMLSelectElement::remove):
  36087. (WebCore::HTMLSelectElement::restoreFormControlState):
  36088. (WebCore::HTMLSelectElement::parseMappedAttribute):
  36089. (WebCore::HTMLSelectElement::selectAll):
  36090. (WebCore::HTMLSelectElement::reset):
  36091. (WebCore::HTMLSelectElement::updateListBoxSelection):
  36092. (WebCore::HTMLSelectElement::setLength):
  36093. * html/HTMLSelectElement.h:
  36094. (WebCore::HTMLSelectElement::isOptionalFormControl):
  36095. * html/HTMLSelectElement.idl:
  36096. * html/ValidityState.cpp:
  36097. (WebCore::ValidityState::valueMissing):
  36098. 2010-12-07 Ilya Tikhonovsky <loislo@chromium.org>
  36099. Reviewed by Pavel Feldman.
  36100. Web Inspector: Inspector protocol cleanup task. Remove
  36101. WebInspector wrappers for DOMAgent functions.
  36102. There were a lot of wrappers in WebInspector namespace
  36103. for different WebInspector agents functions. As far as we have a
  36104. generic mechanic for such functions we can remove these
  36105. wrappers and register domAgent instance as a handler for
  36106. DOM domain notifications.
  36107. https://bugs.webkit.org/show_bug.cgi?id=50626
  36108. * inspector/Inspector.idl:
  36109. * inspector/front-end/DOMAgent.js:
  36110. (WebInspector.DOMNode):
  36111. (WebInspector.DOMAgent):
  36112. (WebInspector.DOMAgent.prototype.attributesUpdated):
  36113. (WebInspector.DOMAgent.prototype.characterDataModified):
  36114. (WebInspector.DOMAgent.prototype.setDocument):
  36115. (WebInspector.DOMAgent.prototype.setDetachedRoot):
  36116. (WebInspector.DOMAgent.prototype.setChildNodes):
  36117. (WebInspector.DOMAgent.prototype.childNodeCountUpdated):
  36118. (WebInspector.DOMAgent.prototype.childNodeInserted):
  36119. (WebInspector.DOMAgent.prototype.childNodeRemoved):
  36120. (WebInspector.EventListeners.getEventListenersForNodeAsync):
  36121. * inspector/front-end/inspector.js:
  36122. (WebInspector.didCommitLoad):
  36123. 2010-12-08 Yury Semikhatsky <yurys@chromium.org>
  36124. Reviewed by Pavel Feldman.
  36125. Web Inspector: remove groupLevel counter from console messages
  36126. https://bugs.webkit.org/show_bug.cgi?id=50672
  36127. * inspector/ConsoleMessage.cpp:
  36128. (WebCore::ConsoleMessage::ConsoleMessage):
  36129. (WebCore::ConsoleMessage::addToFrontend):
  36130. (WebCore::ConsoleMessage::isEqual):
  36131. * inspector/ConsoleMessage.h:
  36132. * inspector/InspectorController.cpp:
  36133. (WebCore::InspectorController::InspectorController):
  36134. (WebCore::InspectorController::addMessageToConsole):
  36135. (WebCore::InspectorController::clearConsoleMessages):
  36136. (WebCore::InspectorController::startGroup):
  36137. (WebCore::InspectorController::endGroup):
  36138. * inspector/InspectorController.h:
  36139. * inspector/front-end/ConsoleView.js:
  36140. (WebInspector.ConsoleView.createFilterElement):
  36141. (WebInspector.ConsoleView):
  36142. (WebInspector.ConsoleView.prototype.filter):
  36143. (WebInspector.ConsoleView.prototype.afterShow):
  36144. (WebInspector.ConsoleView.prototype.addMessage):
  36145. (WebInspector.ConsoleView.prototype.updateMessageRepeatCount):
  36146. (WebInspector.ConsoleView.prototype.clearMessages):
  36147. (WebInspector.ConsoleMessage):
  36148. (WebInspector.ConsoleMessage.createTextMessage):
  36149. (WebInspector.ConsoleMessage.prototype.toMessageElement):
  36150. (WebInspector.ConsoleMessage.prototype._addMessageHeader):
  36151. (WebInspector.ConsoleMessage.prototype._updateRepeatCount):
  36152. (WebInspector.ConsoleMessage.prototype.toString):
  36153. (WebInspector.ConsoleMessage.prototype.isEqual):
  36154. (WebInspector.ConsoleGroup):
  36155. * inspector/front-end/Resource.js:
  36156. (WebInspector.Resource.prototype._checkWarning):
  36157. * inspector/front-end/SourceFrame.js:
  36158. (WebInspector.SourceFrame.prototype._addMessageToSource):
  36159. * inspector/front-end/inspector.js:
  36160. (WebInspector.addConsoleMessage):
  36161. (WebInspector.log.logMessage):
  36162. (WebInspector.log):
  36163. 2010-12-07 Pavel Podivilov <podivilov@chromium.org>
  36164. Reviewed by Pavel Feldman.
  36165. Web Inspector: introduce DebuggerModel class representing InspectorDebuggerAgent state.
  36166. https://bugs.webkit.org/show_bug.cgi?id=50567
  36167. Moved debugging-related code from BreakpointManager to DebuggerModel. Moved Breakpoint class to a separate file.
  36168. * English.lproj/localizedStrings.js:
  36169. * WebCore.gypi:
  36170. * WebCore.vcproj/WebCore.vcproj:
  36171. * inspector/front-end/Breakpoint.js: Added.
  36172. (WebInspector.Breakpoint): Moved from BreakpointManager.js.
  36173. * inspector/front-end/BreakpointManager.js:
  36174. (WebInspector.BreakpointManager): Remove debugger-related methods.
  36175. * inspector/front-end/CallStackSidebarPane.js:
  36176. (WebInspector.CallStackSidebarPane):
  36177. (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
  36178. (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit):
  36179. * inspector/front-end/DebuggerModel.js: Added.
  36180. (WebInspector.DebuggerModel): Moved debugger-related methods from BreakpointManager.
  36181. * inspector/front-end/ScriptsPanel.js:
  36182. (WebInspector.ScriptsPanel):
  36183. (WebInspector.ScriptsPanel.prototype.continueToLine):
  36184. (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
  36185. (WebInspector.ScriptsPanel.prototype.editScriptSource):
  36186. (WebInspector.ScriptsPanel.prototype._debuggerPaused):
  36187. (WebInspector.ScriptsPanel.prototype._debuggerResumed):
  36188. (WebInspector.ScriptsPanel.prototype.reset):
  36189. * inspector/front-end/SourceFrame.js:
  36190. (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
  36191. (WebInspector.SourceFrameDelegate.prototype.addBreakpoint):
  36192. (WebInspector.SourceFrameDelegate.prototype.breakpoints):
  36193. (WebInspector.SourceFrameDelegate.prototype.findBreakpoint):
  36194. * inspector/front-end/WebKit.qrc:
  36195. * inspector/front-end/inspector.html:
  36196. * inspector/front-end/inspector.js:
  36197. (WebInspector.createJSBreakpointsSidebarPane):
  36198. (WebInspector.restoredBreakpoint):
  36199. (WebInspector.pausedScript):
  36200. (WebInspector.resumedScript):
  36201. (WebInspector.reset):
  36202. 2010-12-08 Pavel Podivilov <podivilov@chromium.org>
  36203. Reviewed by Pavel Feldman.
  36204. Web Inspector: SourceFrame refactoring.
  36205. https://bugs.webkit.org/show_bug.cgi?id=50223
  36206. SourceFrame should ask BreakpointManager about existing breakpoints instead of maintaining
  36207. it's own storages. Move common code from ScriptView and SourceView to SourceFrame.
  36208. * inspector/front-end/BreakpointManager.js:
  36209. (WebInspector.BreakpointManager.prototype.findBreakpoints):
  36210. (WebInspector.BreakpointManager.prototype.findBreakpoint):
  36211. * inspector/front-end/Script.js:
  36212. (WebInspector.Script):
  36213. (WebInspector.Script.prototype.get linesCount):
  36214. (WebInspector.Script.prototype.get source):
  36215. (WebInspector.Script.prototype.set source):
  36216. * inspector/front-end/ScriptView.js:
  36217. (WebInspector.ScriptView):
  36218. (WebInspector.ScriptView.prototype._scriptSourceChanged):
  36219. (WebInspector.ScriptFrameDelegateImpl):
  36220. (WebInspector.ScriptFrameDelegateImpl.prototype.canEditScripts):
  36221. (WebInspector.ScriptFrameDelegateImpl.prototype.editLineComplete):
  36222. (WebInspector.ScriptFrameDelegateImpl.prototype.scripts):
  36223. * inspector/front-end/ScriptsPanel.js:
  36224. (WebInspector.ScriptsPanel):
  36225. * inspector/front-end/SourceFrame.js:
  36226. (WebInspector.SourceFrame): Add common methods of ScriptView and SourceView.
  36227. (WebInspector.SourceFrameDelegate):
  36228. (WebInspector.SourceFrameDelegate.prototype.canEditScripts):
  36229. (WebInspector.SourceFrameDelegate.prototype.editLineComplete):
  36230. (WebInspector.SourceFrameDelegate.prototype.scripts):
  36231. * inspector/front-end/SourceView.js:
  36232. (WebInspector.SourceView):
  36233. (WebInspector.SourceView.prototype._contentLoaded):
  36234. (WebInspector.ResourceFrameDelegateImpl):
  36235. (WebInspector.ResourceFrameDelegateImpl.prototype.canEditScripts):
  36236. (WebInspector.ResourceFrameDelegateImpl.prototype.editLineComplete):
  36237. (WebInspector.ResourceFrameDelegateImpl.prototype.scripts):
  36238. 2010-12-08 Yuta Kitamura <yutak@chromium.org>
  36239. Unreviewed, rolling out r73492.
  36240. http://trac.webkit.org/changeset/73492
  36241. https://bugs.webkit.org/show_bug.cgi?id=49914
  36242. Caused a lot of pixel test failures and broke Windows build.
  36243. * WebCore.xcodeproj/project.pbxproj:
  36244. * platform/graphics/GraphicsContext.cpp:
  36245. (WebCore::GraphicsContext::createGraphicsContextPrivate):
  36246. (WebCore::GraphicsContext::destroyGraphicsContextPrivate):
  36247. (WebCore::GraphicsContext::save):
  36248. (WebCore::GraphicsContext::restore):
  36249. (WebCore::GraphicsContext::setStrokeThickness):
  36250. (WebCore::GraphicsContext::setStrokeStyle):
  36251. (WebCore::GraphicsContext::setStrokeColor):
  36252. (WebCore::GraphicsContext::setShadow):
  36253. (WebCore::GraphicsContext::clearShadow):
  36254. (WebCore::GraphicsContext::getShadow):
  36255. (WebCore::GraphicsContext::strokeThickness):
  36256. (WebCore::GraphicsContext::strokeStyle):
  36257. (WebCore::GraphicsContext::strokeColor):
  36258. (WebCore::GraphicsContext::strokeColorSpace):
  36259. (WebCore::GraphicsContext::fillRule):
  36260. (WebCore::GraphicsContext::setFillRule):
  36261. (WebCore::GraphicsContext::setFillColor):
  36262. (WebCore::GraphicsContext::fillColor):
  36263. (WebCore::GraphicsContext::fillColorSpace):
  36264. (WebCore::GraphicsContext::setShouldAntialias):
  36265. (WebCore::GraphicsContext::shouldAntialias):
  36266. (WebCore::GraphicsContext::setStrokePattern):
  36267. (WebCore::GraphicsContext::setFillPattern):
  36268. (WebCore::GraphicsContext::setStrokeGradient):
  36269. (WebCore::GraphicsContext::setFillGradient):
  36270. (WebCore::GraphicsContext::fillGradient):
  36271. (WebCore::GraphicsContext::strokeGradient):
  36272. (WebCore::GraphicsContext::fillPattern):
  36273. (WebCore::GraphicsContext::strokePattern):
  36274. (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
  36275. (WebCore::GraphicsContext::updatingControlTints):
  36276. (WebCore::GraphicsContext::setUpdatingControlTints):
  36277. (WebCore::GraphicsContext::setPaintingDisabled):
  36278. (WebCore::GraphicsContext::paintingDisabled):
  36279. (WebCore::GraphicsContext::textDrawingMode):
  36280. (WebCore::GraphicsContext::setTextDrawingMode):
  36281. * platform/graphics/GraphicsContext.h:
  36282. * platform/graphics/GraphicsContextPrivate.h: Added.
  36283. (WebCore::GraphicsContextState::GraphicsContextState):
  36284. (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
  36285. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  36286. (WebCore::setPlatformFill):
  36287. (WebCore::setPlatformStroke):
  36288. (WebCore::drawPathShadow):
  36289. (WebCore::fillCurrentCairoPath):
  36290. (WebCore::strokeCurrentCairoPath):
  36291. (WebCore::GraphicsContext::GraphicsContext):
  36292. (WebCore::GraphicsContext::~GraphicsContext):
  36293. (WebCore::GraphicsContext::fillPath):
  36294. (WebCore::GraphicsContext::strokePath):
  36295. (WebCore::GraphicsContext::fillRect):
  36296. (WebCore::GraphicsContext::setPlatformShadow):
  36297. (WebCore::GraphicsContext::strokeRect):
  36298. (WebCore::GraphicsContext::setAlpha):
  36299. (WebCore::GraphicsContext::getAlpha):
  36300. * platform/graphics/cg/GraphicsContextCG.cpp:
  36301. (WebCore::GraphicsContext::GraphicsContext):
  36302. (WebCore::GraphicsContext::~GraphicsContext):
  36303. (WebCore::GraphicsContext::applyStrokePattern):
  36304. (WebCore::GraphicsContext::applyFillPattern):
  36305. (WebCore::GraphicsContext::drawPath):
  36306. (WebCore::GraphicsContext::fillPath):
  36307. (WebCore::GraphicsContext::strokePath):
  36308. (WebCore::GraphicsContext::fillRect):
  36309. (WebCore::GraphicsContext::setPlatformShadow):
  36310. (WebCore::GraphicsContext::strokeRect):
  36311. * platform/graphics/haiku/GraphicsContextHaiku.cpp:
  36312. (WebCore::GraphicsContext::GraphicsContext):
  36313. (WebCore::GraphicsContext::~GraphicsContext):
  36314. * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
  36315. (WebCore::GraphicsContext::GraphicsContext):
  36316. (WebCore::GraphicsContext::~GraphicsContext):
  36317. (WebCore::GraphicsContext::fillPath):
  36318. (WebCore::GraphicsContext::strokePath):
  36319. (WebCore::GraphicsContext::clip):
  36320. (WebCore::GraphicsContext::clipOut):
  36321. (WebCore::GraphicsContext::addInnerRoundedRectClip):
  36322. * platform/graphics/qt/GraphicsContextQt.cpp:
  36323. (WebCore::GraphicsContext::GraphicsContext):
  36324. (WebCore::GraphicsContext::~GraphicsContext):
  36325. (WebCore::GraphicsContext::fillPath):
  36326. (WebCore::GraphicsContext::strokePath):
  36327. (WebCore::GraphicsContext::fillRect):
  36328. (WebCore::GraphicsContext::setPlatformShadow):
  36329. * platform/graphics/skia/GraphicsContextSkia.cpp:
  36330. (WebCore::GraphicsContext::GraphicsContext):
  36331. (WebCore::GraphicsContext::~GraphicsContext):
  36332. (WebCore::GraphicsContext::fillPath):
  36333. (WebCore::GraphicsContext::setPlatformShadow):
  36334. * platform/graphics/win/GraphicsContextCGWin.cpp:
  36335. (WebCore::GraphicsContext::GraphicsContext):
  36336. * platform/graphics/win/GraphicsContextCairoWin.cpp:
  36337. (WebCore::GraphicsContext::GraphicsContext):
  36338. * platform/graphics/wince/GraphicsContextWinCE.cpp:
  36339. (WebCore::GraphicsContext::GraphicsContext):
  36340. (WebCore::GraphicsContext::~GraphicsContext):
  36341. (WebCore::GraphicsContext::fillPath):
  36342. (WebCore::GraphicsContext::fillRect):
  36343. * platform/graphics/wx/GraphicsContextWx.cpp:
  36344. (WebCore::GraphicsContext::GraphicsContext):
  36345. (WebCore::GraphicsContext::~GraphicsContext):
  36346. 2010-12-08 Dai Mikurube <dmikurube@google.com>
  36347. Reviewed by Kent Tamura.
  36348. Implement "required" attribute for select tags
  36349. https://bugs.webkit.org/show_bug.cgi?id=50380
  36350. Test: fast/forms/select-live-pseudo-selectors.html
  36351. platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html
  36352. * html/HTMLSelectElement.cpp:
  36353. (WebCore::HTMLSelectElement::deselectItems): Added calling setNeedsValidityCheck() to enable validity check after changing. No tests for this change since this function is not exposed to JavaScript or any web interface.
  36354. (WebCore::HTMLSelectElement::setSelectedIndex): Added calling setNeedsValidityCheck().
  36355. (WebCore::HTMLSelectElement::setSelectedIndexByUser): Added calling setNeedsValidityCheck().
  36356. (WebCore::HTMLSelectElement::valueMissing): Added valueMissing() to check if selecting an invalid or placeholder label option when a valid required attribute is specified.
  36357. (WebCore::HTMLSelectElement::listBoxSelectItem): Added calling setNeedsValidityCheck(). No tests for this change since it is not called yet. Look at the bug 36177 and the changeset 56180.
  36358. (WebCore::HTMLSelectElement::add): Added calling setNeedsValidityCheck().
  36359. (WebCore::HTMLSelectElement::remove): Added calling setNeedsValidityCheck().
  36360. (WebCore::HTMLSelectElement::restoreFormControlState): Added calling setNeedsValidityCheck().
  36361. (WebCore::HTMLSelectElement::parseMappedAttribute): Added calling setNeedsValidityCheck().
  36362. (WebCore::HTMLSelectElement::selectAll): Added calling setNeedsValidityCheck().
  36363. (WebCore::HTMLSelectElement::reset): Added calling setNeedsValidityCheck().
  36364. (WebCore::HTMLSelectElement::updateListBoxSelection): Added calling setNeedsValidityCheck(). Skipped adding tests for this change as too complicated..
  36365. (WebCore::HTMLSelectElement::setLength): Added calling setNeedsValidityCheck().
  36366. (WebCore::HTMLSelectElement::isRequiredFormControl): Check if required or not.
  36367. (WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Added.
  36368. * html/HTMLSelectElement.h:
  36369. (WebCore::HTMLSelectElement::isOptionalFormControl): Check if not required.
  36370. * html/HTMLSelectElement.idl: Added a required attribute to select elements..
  36371. * html/ValidityState.cpp:
  36372. (WebCore::ValidityState::valueMissing): Added valueMissing check for select elements into the global checker, ValidityState::valueMissing().
  36373. 2010-12-08 Renata Hodovan <reni@webkit.org>
  36374. Reviewed by Andreas Kling.
  36375. GraphicsContext: Merge m_common and m_data
  36376. https://bugs.webkit.org/show_bug.cgi?id=49914
  36377. Move data members from GraphicsContextPrivate into GraphicsContext. So GraphicsContextPlatform.h
  36378. and m_common became unnecessary. They are removed.
  36379. Add two methods to GraphicsContext: platformInit() and platformDestroy(), which
  36380. make the constructor of GraphicsContext clearer.
  36381. Besides add a getter to the private GraphicsContext::m_state member, because some inline
  36382. functions in cairo need it.
  36383. No new test is needed, because this is a refactoring.
  36384. * WebCore.xcodeproj/project.pbxproj:
  36385. * platform/graphics/GraphicsContext.cpp:
  36386. (WebCore::GraphicsContext::GraphicsContext):
  36387. (WebCore::GraphicsContext::~GraphicsContext):
  36388. (WebCore::GraphicsContext::save):
  36389. (WebCore::GraphicsContext::restore):
  36390. (WebCore::GraphicsContext::setStrokeThickness):
  36391. (WebCore::GraphicsContext::setStrokeStyle):
  36392. (WebCore::GraphicsContext::setStrokeColor):
  36393. (WebCore::GraphicsContext::setShadow):
  36394. (WebCore::GraphicsContext::clearShadow):
  36395. (WebCore::GraphicsContext::getShadow):
  36396. (WebCore::GraphicsContext::strokeThickness):
  36397. (WebCore::GraphicsContext::strokeStyle):
  36398. (WebCore::GraphicsContext::strokeColor):
  36399. (WebCore::GraphicsContext::strokeColorSpace):
  36400. (WebCore::GraphicsContext::fillRule):
  36401. (WebCore::GraphicsContext::setFillRule):
  36402. (WebCore::GraphicsContext::setFillColor):
  36403. (WebCore::GraphicsContext::fillColor):
  36404. (WebCore::GraphicsContext::fillColorSpace):
  36405. (WebCore::GraphicsContext::setShouldAntialias):
  36406. (WebCore::GraphicsContext::shouldAntialias):
  36407. (WebCore::GraphicsContext::state):
  36408. (WebCore::GraphicsContext::setStrokePattern):
  36409. (WebCore::GraphicsContext::setFillPattern):
  36410. (WebCore::GraphicsContext::setStrokeGradient):
  36411. (WebCore::GraphicsContext::setFillGradient):
  36412. (WebCore::GraphicsContext::fillGradient):
  36413. (WebCore::GraphicsContext::strokeGradient):
  36414. (WebCore::GraphicsContext::fillPattern):
  36415. (WebCore::GraphicsContext::strokePattern):
  36416. (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
  36417. (WebCore::GraphicsContext::updatingControlTints):
  36418. (WebCore::GraphicsContext::setUpdatingControlTints):
  36419. (WebCore::GraphicsContext::setPaintingDisabled):
  36420. (WebCore::GraphicsContext::paintingDisabled):
  36421. (WebCore::GraphicsContext::textDrawingMode):
  36422. (WebCore::GraphicsContext::setTextDrawingMode):
  36423. * platform/graphics/GraphicsContext.h:
  36424. (WebCore::GraphicsContextState::GraphicsContextState):
  36425. * platform/graphics/GraphicsContextPrivate.h: Removed.
  36426. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  36427. (WebCore::setPlatformFill):
  36428. (WebCore::setPlatformStroke):
  36429. (WebCore::drawPathShadow):
  36430. (WebCore::fillCurrentCairoPath):
  36431. (WebCore::strokeCurrentCairoPath):
  36432. (WebCore::GraphicsContext::platformInit):
  36433. (WebCore::GraphicsContext::platformDestroy):
  36434. (WebCore::GraphicsContext::fillPath):
  36435. (WebCore::GraphicsContext::strokePath):
  36436. (WebCore::GraphicsContext::fillRect):
  36437. (WebCore::GraphicsContext::setPlatformShadow):
  36438. (WebCore::GraphicsContext::strokeRect):
  36439. (WebCore::GraphicsContext::setAlpha):
  36440. (WebCore::GraphicsContext::getAlpha):
  36441. * platform/graphics/cg/GraphicsContextCG.cpp:
  36442. (WebCore::GraphicsContext::platformInit):
  36443. (WebCore::GraphicsContext::platformDestroy):
  36444. (WebCore::GraphicsContext::applyStrokePattern):
  36445. (WebCore::GraphicsContext::applyFillPattern):
  36446. (WebCore::GraphicsContext::drawPath):
  36447. (WebCore::GraphicsContext::fillPath):
  36448. (WebCore::GraphicsContext::strokePath):
  36449. (WebCore::GraphicsContext::fillRect):
  36450. (WebCore::GraphicsContext::setPlatformShadow):
  36451. (WebCore::GraphicsContext::strokeRect):
  36452. * platform/graphics/haiku/GraphicsContextHaiku.cpp:
  36453. (WebCore::GraphicsContext::platformInit):
  36454. (WebCore::GraphicsContext::platformDestroy):
  36455. * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
  36456. (WebCore::GraphicsContext::platformInit):
  36457. (WebCore::GraphicsContext::platformDestroy):
  36458. (WebCore::GraphicsContext::fillPath):
  36459. (WebCore::GraphicsContext::strokePath):
  36460. (WebCore::GraphicsContext::clip):
  36461. (WebCore::GraphicsContext::clipOut):
  36462. (WebCore::GraphicsContext::addInnerRoundedRectClip):
  36463. * platform/graphics/qt/GraphicsContextQt.cpp:
  36464. (WebCore::GraphicsContext::platformInit):
  36465. (WebCore::GraphicsContext::platformDestroy):
  36466. (WebCore::GraphicsContext::fillPath):
  36467. (WebCore::GraphicsContext::strokePath):
  36468. (WebCore::GraphicsContext::fillRect):
  36469. (WebCore::GraphicsContext::setPlatformShadow):
  36470. * platform/graphics/skia/GraphicsContextSkia.cpp:
  36471. (WebCore::GraphicsContext::platformInit):
  36472. (WebCore::GraphicsContext::platformDestroy):
  36473. (WebCore::GraphicsContext::fillPath):
  36474. (WebCore::GraphicsContext::setPlatformShadow):
  36475. * platform/graphics/win/GraphicsContextCGWin.cpp:
  36476. (WebCore::GraphicsContext::platformInit):
  36477. * platform/graphics/win/GraphicsContextCairoWin.cpp:
  36478. (WebCore::GraphicsContext::platformInit):
  36479. * platform/graphics/wince/GraphicsContextWinCE.cpp:
  36480. (WebCore::GraphicsContext::platformInit):
  36481. (WebCore::GraphicsContext::platformDestroy):
  36482. (WebCore::GraphicsContext::fillPath):
  36483. (WebCore::GraphicsContext::fillRect):
  36484. * platform/graphics/wx/GraphicsContextWx.cpp:
  36485. (WebCore::GraphicsContext::platformInit):
  36486. (WebCore::GraphicsContext::platformDestroy):
  36487. 2010-12-07 Anton Muhin <antonm@chromium.org>
  36488. Reviewed by Nate Chapin.
  36489. Port http://trac.webkit.org/changeset/72819/ to v8-backed ports.
  36490. https://bugs.webkit.org/show_bug.cgi?id=50246
  36491. * bindings/v8/V8DOMMap.h:
  36492. (WebCore::AbstractWeakReferenceMap::Visitor::startMap):
  36493. (WebCore::AbstractWeakReferenceMap::Visitor::endMap):
  36494. (WebCore::WeakReferenceMap::visit):
  36495. * bindings/v8/V8GCController.cpp:
  36496. (WebCore::GrouperItem::GrouperItem):
  36497. (WebCore::GrouperItem::groupId):
  36498. (WebCore::makeV8ObjectGroups):
  36499. (WebCore::NodeGrouperVisitor::NodeGrouperVisitor):
  36500. (WebCore::NodeGrouperVisitor::visitDOMWrapper):
  36501. (WebCore::NodeGrouperVisitor::applyGrouping):
  36502. (WebCore::DOMObjectGrouperVisitor::ObjectGrouperVisitor):
  36503. (WebCore::DOMObjectGrouperVisitor::startMap):
  36504. (WebCore::DOMObjectGrouperVisitor::endMap):
  36505. (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
  36506. (WebCore::V8GCController::gcPrologue):
  36507. 2010-12-07 Daniel Bates <dbates@rim.com>
  36508. Reviewed by Martin Robinson.
  36509. Implement focus ring support for image maps
  36510. https://bugs.webkit.org/show_bug.cgi?id=50371
  36511. Implement GraphicsContext::drawFocusRing(const Path&, ...) so as to support
  36512. drawing a focus ring for image maps.
  36513. Tests: fast/images/imagemap-circle-focus-ring.html
  36514. fast/images/imagemap-polygon-focus-ring.html
  36515. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  36516. (WebCore::adjustFocusRingColor): Added.
  36517. (WebCore::adjustFocusRingLineWidth): Added.
  36518. (WebCore::focusRingStrokeStyle): Added.
  36519. (WebCore::GraphicsContext::drawFocusRing): Moved code for determining focus ring- color,
  36520. line width and stroke style into functions adjustFocusRingColor(), adjustFocusRingLineWidth(),
  36521. and focusRingStrokeStyle(), respectively. Implemented GraphicsContext::drawFocusRing(const Path&, ...).
  36522. 2010-12-07 Sergio Villar Senin <svillar@igalia.com>
  36523. Reviewed by Xan Lopez.
  36524. [GTK] WebKitSoupCache fails to load resources when cache contents are externally removed
  36525. https://bugs.webkit.org/show_bug.cgi?id=50577
  36526. Try to download cached resources again if they are no longer
  36527. accesible by the cache.
  36528. * platform/network/soup/cache/soup-request-http.c:
  36529. (send_async_cb):
  36530. (webkit_soup_request_http_send_async):
  36531. 2010-12-06 MORITA Hajime <morrita@google.com>
  36532. Reviewed by Dimitri Glazkov.
  36533. RenderIndicator subclasses should not change the render tree during layout.
  36534. https://bugs.webkit.org/show_bug.cgi?id=50026
  36535. The old code created shadow elements during a layout computation,
  36536. that makes the layout state inconsisntent and cause an assertion failure.
  36537. This change created shadow elements before the layout to avoid
  36538. state inconsistencies.
  36539. Instead of creating shadows on demand, RenderMeter and
  36540. RenderProgress now create all necessary shadows before layouts,
  36541. and change its visibilities during the layout: Changing
  36542. visibilities doesn't trigger relayout and keep the state
  36543. consistent.
  36544. RenderMeter uses new HidablePartElement for shadow elements,
  36545. which can toggle visibiliby between hidden and original value.
  36546. Test: fast/dom/HTMLMeterElement/meter-element-crash.html
  36547. * html/HTMLMeterElement.cpp:
  36548. (WebCore::HTMLMeterElement::attach): Calling updateFromElement()
  36549. * html/HTMLMeterElement.h:
  36550. * html/HTMLProgressElement.cpp:
  36551. (WebCore::HTMLProgressElement::attach): Calling updateFromElement()
  36552. * html/HTMLProgressElement.h:
  36553. * rendering/RenderIndicator.cpp:
  36554. * rendering/RenderIndicator.h:
  36555. * rendering/RenderMeter.cpp:
  36556. (WebCore::MeterPartElement::MeterPartElement): Added to hold a restorable visibility.
  36557. (WebCore::MeterPartElement::createForPart):
  36558. (WebCore::MeterPartElement::hide):
  36559. (WebCore::MeterPartElement::restoreVisibility):
  36560. (WebCore::MeterPartElement::updateStyleForPart):
  36561. (WebCore::MeterPartElement::saveVisibility):
  36562. (WebCore::RenderMeter::~RenderMeter):
  36563. (WebCore::RenderMeter::createPart): Extracted
  36564. (WebCore::RenderMeter::updateFromElement): Had a shadow generation.
  36565. (WebCore::RenderMeter::layoutParts): Removed shadow generation code.
  36566. (WebCore::RenderMeter::shouldHaveParts):
  36567. (WebCore::RenderMeter::valuePartRect): Adopted orientation.
  36568. (WebCore::RenderMeter::orientation): Morphed from isHorizontal()
  36569. (WebCore::RenderMeter::valuePseudoId): Adoptedn orientation
  36570. (WebCore::RenderMeter::barPseudoId): Adopted orientation.
  36571. * rendering/RenderMeter.h:
  36572. (WebCore::RenderMeter::shadowAttached):
  36573. * rendering/RenderProgress.cpp:
  36574. (WebCore::RenderProgress::updateFromElement): Had a shadow generation.
  36575. (WebCore::RenderProgress::layoutParts):
  36576. * rendering/RenderProgress.h:
  36577. * rendering/ShadowElement.cpp:
  36578. (WebCore::ShadowBlockElement::createForPart): Extracted initAsPart().
  36579. (WebCore::ShadowBlockElement::initAsPart): Extracted from createForPart().
  36580. * rendering/ShadowElement.h:
  36581. 2010-11-29 Mihai Parparita <mihaip@chromium.org>
  36582. Reviewed by Adam Barth.
  36583. returning to a POST result within a frame does a GET instead of a POST
  36584. https://bugs.webkit.org/show_bug.cgi?id=10199
  36585. FrameLoader::loadURLIntoChildFrame had a check for whether a frame
  36586. had a HistoryItem, and if so used that item's URL. However, that did
  36587. not handle the case where the HistoryItem had FormData and thus was the
  36588. result of a POST request. FrameLoader::navigateToDifferentDocument (now
  36589. renamed to loadDifferentDocumentItem) does all that, so just switch to
  36590. using it instead.
  36591. Besides the bug fix, the only difference in behavior is that we use the
  36592. HistoryItem's URL instead of original URL when restoring it in a child
  36593. frame. This seems desirable too (for consistency with other browsers, and
  36594. so that we can avoid form double-submits for forms that that do
  36595. POST-then-redirect), and is tested by
  36596. fast/history/history-back-initial-vs-final-url.html.
  36597. Tests: fast/history/history-back-initial-vs-final-url.html
  36598. http/tests/navigation/post-frames-goback1.html
  36599. http/tests/navigation/postredirect-frames-goback1.html
  36600. * loader/FrameLoader.cpp:
  36601. (WebCore::FrameLoader::loadURLIntoChildFrame): Switch to using
  36602. loadDifferentDocumentItem. Also cleaned up ordering slightly (if
  36603. on the archive path, there's no need to do any of the other checks).
  36604. (WebCore::FrameLoader::loadDifferentDocumentItem): Renamed from
  36605. navigateToDifferentDocument so that calling it from loadItem and
  36606. loadURLIntoChildFrame flows more easily.
  36607. (WebCore::FrameLoader::loadSameDocumentItem): Similarly, renamed from
  36608. navigateWithinDocument.
  36609. (WebCore::FrameLoader::loadItem): Update callsites to the above methods.
  36610. * loader/FrameLoader.h:
  36611. 2010-12-07 Dan Bernstein <mitz@apple.com>
  36612. Reviewed by Darin Adler.
  36613. Made tables repaint correctly in all writing modes
  36614. Part of: Make tables work with vertical text
  36615. https://bugs.webkit.org/show_bug.cgi?id=46417
  36616. Tests: fast/repaint/table-writing-modes-h.html
  36617. fast/repaint/table-writing-modes-v.html
  36618. * rendering/RenderTableSection.cpp:
  36619. (WebCore::RenderTableSection::paintObject): Compute the ranges of rows and
  36620. columns to repaint based on the logical extent of the repaint rect.
  36621. 2010-12-07 Alexey Marinichev <amarinichev@chromium.org>
  36622. Reviewed by James Robinson.
  36623. [chromium] compositor lost context recovery fix
  36624. https://bugs.webkit.org/show_bug.cgi?id=50614
  36625. To test, load a page that triggers the compositor, kill the GPU
  36626. process and hover over a link to redraw and thus restart the GPU
  36627. process. Without this patch it will assert in
  36628. ContentLayerChromium::updateTextureRect; with this patch it will not.
  36629. * platform/graphics/chromium/LayerChromium.cpp:
  36630. (WebCore::LayerChromium::setNeedsDisplay):
  36631. 2010-12-07 Anders Carlsson <andersca@apple.com>
  36632. Fix the last clang++ build error.
  36633. * platform/graphics/ca/mac/PlatformCALayerMac.mm:
  36634. (PlatformCALayer::animationForKey):
  36635. Cast the returned animation to the correct type.
  36636. 2010-12-07 Anders Carlsson <andersca@apple.com>
  36637. Fix some clang++ build errors.
  36638. * platform/graphics/ca/GraphicsLayerCA.cpp:
  36639. (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
  36640. Remove unused variable.
  36641. * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
  36642. * platform/graphics/ca/mac/PlatformCALayerMac.mm:
  36643. Fix constness of pointers.
  36644. 2010-12-07 Simon Fraser <simon.fraser@apple.com>
  36645. Reviewed by Chris Marrin.
  36646. Fix the Color -> CGColorRef conversions for the debug colors
  36647. used for compositing layers.
  36648. * platform/graphics/ca/mac/PlatformCALayerMac.mm:
  36649. (PlatformCALayer::setBackgroundColor):
  36650. (PlatformCALayer::setBorderColor):
  36651. 2010-12-07 Brian Weinstein <bweinstein@apple.com>
  36652. Reviewed by John Sullivan.
  36653. Part of Layering Violation in ContextMenu
  36654. https://bugs.webkit.org/show_bug.cgi?id=50586
  36655. ContextMenuMac.mm had a WebCoreMenuTarget class, which was responsible for wrapping
  36656. a ContextMenuItem, and calling through to the ContextMenuController to validate it
  36657. and call a function when it was selected.
  36658. It was a layering violation to have this class here, because ContextMenu can't know
  36659. about ContextMenuController.
  36660. This patch moves the class that wraps the ContextMenuItems to WebKit/mac/WebHTMLView.mm,
  36661. and sets up the menu targets there.
  36662. No change in behavior, no new tests.
  36663. * WebCore.exp.in: Added function that needs to be exported.
  36664. * platform/mac/ContextMenuMac.mm:
  36665. (WebCore::ContextMenu::ContextMenu): Don't set the sharedMenuTarget anymore.
  36666. (WebCore::ContextMenu::appendItem): Don't call setMenuItemTarget (this is done in WebKit now).
  36667. (WebCore::ContextMenu::insertItem): Ditto.
  36668. 2010-12-07 Simon Fraser <simon.fraser@apple.com>
  36669. Reviewed by Dan Bernstein.
  36670. -webkit-transition Fails on Multiple text-shadow Shadows
  36671. https://bugs.webkit.org/show_bug.cgi?id=42281
  36672. When transitioning multiple shadows, the blend function for
  36673. ShadowData dropped all but the first and last shadow because
  36674. of a failure to append to the end of the list. Fixed.
  36675. Test: transitions/multiple-text-shadow-transition.html
  36676. * page/animation/AnimationBase.cpp:
  36677. (WebCore::PropertyWrapperShadow::blend):
  36678. 2010-12-07 Simon Fraser <simon.fraser@apple.com>
  36679. Reviewed by Beth Dakin.
  36680. CSS animation doesn't work for border-radius
  36681. https://bugs.webkit.org/show_bug.cgi?id=48340
  36682. Include CSSPropertyBorderRadius in the list of shorthand
  36683. properties, so that the individual border-radius properties
  36684. get animated.
  36685. Test: transitions/border-radius-transition.html
  36686. * page/animation/AnimationBase.cpp:
  36687. (WebCore::addShorthandProperties):
  36688. 2010-12-07 Maciej Stachowiak <mjs@apple.com>
  36689. Reviewed by Kent Tamura.
  36690. Implement HTML5 hidden attribute
  36691. https://bugs.webkit.org/show_bug.cgi?id=40511
  36692. Test: fast/html/hidden-attr.html
  36693. * html/HTMLElement.cpp:
  36694. (WebCore::HTMLElement::mapToEntry): Pick up hidden as a global mapped attribute.
  36695. (WebCore::HTMLElement::parseMappedAttribute): Map hidden attribute to display: none.
  36696. 2010-12-07 Kenneth Russell <kbr@google.com>
  36697. Reviewed by David Levin.
  36698. Fix compilation of core web audio files on Windows
  36699. https://bugs.webkit.org/show_bug.cgi?id=50603
  36700. Changed a few constructs using C99 features of math.h to use
  36701. wtf/MathExtras.h instead. Changed inline definitions of a couple of
  36702. const static doubles in classes to out-of-line. Built Chrome with
  36703. web audio enabled on Windows and Mac OS X to test these changes.
  36704. No new tests since audio API is not yet implemented.
  36705. * WebCore.gypi:
  36706. * platform/audio/AudioResampler.cpp:
  36707. * platform/audio/Biquad.cpp:
  36708. (WebCore::Biquad::setLowpassParams):
  36709. (WebCore::Biquad::setHighpassParams):
  36710. (WebCore::Biquad::setLowShelfParams):
  36711. * platform/audio/Cone.cpp:
  36712. (WebCore::ConeEffect::gain):
  36713. * platform/audio/EqualPowerPanner.cpp:
  36714. (WebCore::EqualPowerPanner::pan):
  36715. * platform/audio/FFTFrame.cpp:
  36716. (WebCore::FFTFrame::interpolateFrequencyComponents):
  36717. (WebCore::FFTFrame::extractAverageGroupDelay):
  36718. (WebCore::FFTFrame::addConstantGroupDelay):
  36719. * platform/audio/HRTFKernel.cpp:
  36720. * platform/audio/HRTFPanner.cpp:
  36721. * webaudio/AudioBufferSourceNode.cpp:
  36722. (WebCore::AudioBufferSourceNode::readFromBufferWithGrainEnvelope):
  36723. * webaudio/AudioPannerNode.cpp:
  36724. (WebCore::AudioPannerNode::getAzimuthElevation):
  36725. * webaudio/AudioParam.cpp: Added.
  36726. (AudioParam::setValue):
  36727. (AudioParam::smooth):
  36728. * webaudio/AudioParam.h:
  36729. * webaudio/RealtimeAnalyser.cpp:
  36730. 2010-11-25 Philippe Normand <pnormand@igalia.com>
  36731. Reviewed by Martin Robinson.
  36732. [GStreamer] faster elements linking
  36733. https://bugs.webkit.org/show_bug.cgi?id=50067
  36734. Perform less checks during GStreamer elements linking if building
  36735. against GStreamer >= 0.10.30.
  36736. * platform/graphics/gstreamer/GStreamerGWorld.cpp:
  36737. (WebCore::GStreamerGWorld::enterFullscreen):
  36738. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  36739. (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
  36740. 2010-12-07 Philippe Normand <pnormand@igalia.com>
  36741. Reviewed by Gustavo Noronha Silva.
  36742. [GStreamer] ::buffered() should return multiple ranges in some cases
  36743. https://bugs.webkit.org/show_bug.cgi?id=45101
  36744. Improved the ::buffered() method thanks to the new buffering query
  36745. support that landed in GStreamer 0.10.31. The method now
  36746. queries the media buffered-ranges on the pipeline and queue2
  36747. handles it if it's buffering the media to disk.
  36748. The webkitwebsrc element also gained BYTES duration query
  36749. support. This is needed in the rare cases where uridecodebin
  36750. configures its queue before the HTTP server returns the media
  36751. Content-Length.
  36752. Test: http/tests/media/video-buffered.html
  36753. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  36754. (WebCore::MediaPlayerPrivateGStreamer::buffered):
  36755. * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
  36756. (webkit_web_src_init):
  36757. (webKitWebSrcQuery): Make webkitwebsrc handle the duration queries
  36758. if it's aware of the media content-length.
  36759. * platform/gtk/RenderThemeGtk.cpp:
  36760. (WebCore::RenderThemeGtk::paintMediaSliderTrack): Fix position of
  36761. the second and next buffered ranges.
  36762. 2010-12-07 Yael Aharon <yael.aharon@nokia.com>
  36763. Reviewed by Antonio Gomes.
  36764. Spatial navigation not Working for Map and Area Tags
  36765. https://bugs.webkit.org/show_bug.cgi?id=47142
  36766. Give area elements special treatment in spatial navigation algorithm by getting the
  36767. rect of the area from the associated image. Since area elements are likely to overlap
  36768. if they are not rects, or if authors are not careful, we flatten the rect of area elements.
  36769. Tests: fast/spatial-navigation/snav-imagemap-area-not-focusable.html
  36770. fast/spatial-navigation/snav-imagemap-area-without-image.html
  36771. fast/spatial-navigation/snav-imagemap-overlapped-areas.html
  36772. fast/spatial-navigation/snav-imagemap-simple.html
  36773. * page/FocusController.cpp:
  36774. (WebCore::FocusController::findFocusCandidateInContainer):
  36775. (WebCore::FocusController::advanceFocusDirectionallyInContainer):
  36776. (WebCore::FocusController::advanceFocusDirectionally):
  36777. * page/SpatialNavigation.cpp:
  36778. (WebCore::FocusCandidate::FocusCandidate):
  36779. (WebCore::virtualRectForDirection):
  36780. (WebCore::virtualRectForAreaElementAndDirection):
  36781. * page/SpatialNavigation.h:
  36782. (WebCore::FocusCandidate::FocusCandidate):
  36783. 2010-12-07 Darin Adler <darin@apple.com>
  36784. Try to fix V8 build.
  36785. * bindings/generic/BindingDOMWindow.h:
  36786. (WebCore::BindingDOMWindow::createWindow): Pass security origin.
  36787. 2010-12-07 Darin Adler <darin@apple.com>
  36788. Another build fix.
  36789. * loader/CrossOriginAccessControl.cpp: Added a missing include.
  36790. 2010-12-07 Darin Adler <darin@apple.com>
  36791. Try to fix build.
  36792. * plugins/PluginView.cpp:
  36793. (WebCore::PluginView::start): Pass security origin.
  36794. (WebCore::PluginView::getURLNotify): Ditto.
  36795. (WebCore::PluginView::getURL): Ditto.
  36796. (WebCore::PluginView::handlePost): Ditto.
  36797. 2010-12-06 Darin Adler <darin@apple.com>
  36798. Reviewed by Sam Weinig.
  36799. Pass security origin to make local file decision correctly
  36800. https://bugs.webkit.org/show_bug.cgi?id=48603
  36801. * bindings/generic/BindingDOMWindow.h:
  36802. (WebCore::BindingDOMWindow::createWindow): Pass security origin.
  36803. (WebCore::BindingDOMWindow::open): Ditto.
  36804. * bindings/generic/BindingFrame.h:
  36805. (WebCore::BindingFrame::navigateIfAllowed): Ditto.
  36806. * bindings/js/JSDOMWindowCustom.cpp:
  36807. (WebCore::JSDOMWindow::setLocation): Pass security origin.
  36808. (WebCore::createWindow): Ditto.
  36809. (WebCore::JSDOMWindow::open): Ditto.
  36810. * bindings/js/JSDocumentCustom.cpp:
  36811. (WebCore::JSDocument::setLocation): Pass security origin.
  36812. * dom/Document.cpp:
  36813. (WebCore::Document::processHttpEquiv): Pass security origin.
  36814. * inspector/InspectorController.cpp:
  36815. (WebCore::InspectorController::openInInspectedWindow):
  36816. Pass security origin.
  36817. * loader/FrameLoader.cpp:
  36818. (WebCore::FrameLoader::changeLocation): Added a security origin
  36819. argument, passed through to urlSelected.
  36820. (WebCore::FrameLoader::urlSelected): Replaced the resource request
  36821. and frame name arguments with a frame load request arguments in one
  36822. overload, and changed the other overload to pass in the current
  36823. frame's document for the security origin.
  36824. (WebCore::FrameLoader::loadFrameRequest): Moved the canDisplay
  36825. check before the referrer computation because it no longer needs
  36826. to look at the referrer. Replaced the call to canDisplay that
  36827. used the target frame's security origin and the call to
  36828. deprecatedCanDisplay with a single call to canDisplay that uses
  36829. the requester security origin.
  36830. * loader/FrameLoader.h: Updated for argument changes above.
  36831. * loader/NavigationScheduler.cpp:
  36832. (WebCore::ScheduledURLNavigation::ScheduledURLNavigation): Added
  36833. a security origin.
  36834. (WebCore::ScheduledURLNavigation::fire): Pass the security origin
  36835. in to FrameLoader::changeLocation.
  36836. (WebCore::ScheduledURLNavigation::securityOrigin): Added.
  36837. (WebCore::ScheduledRedirect::ScheduledRedirect): Added a security
  36838. origin argument.
  36839. (WebCore::ScheduledLocationChange::ScheduledLocationChange): Ditto.
  36840. (WebCore::ScheduledRefresh::ScheduledRefresh): Ditto.
  36841. (WebCore::ScheduledRefresh::fire): Pass the security origin in to
  36842. FrameLoader::changeLocation.
  36843. (WebCore::ScheduledFormSubmission::fire): Include the security
  36844. origin when constructing form submission.
  36845. (WebCore::NavigationScheduler::scheduleRedirect): Include the security
  36846. origin when creating the scheduled navigation object.
  36847. (WebCore::NavigationScheduler::scheduleLocationChange): Ditto.
  36848. (WebCore::NavigationScheduler::scheduleRefresh): Ditto.
  36849. * loader/NavigationScheduler.h: Added the security origin argument
  36850. to scheduleLocationChange.
  36851. * loader/SubframeLoader.cpp:
  36852. (WebCore::SubframeLoader::loadOrRedirectSubframe): Pass in the security
  36853. origin when calling scheduleLocationChange.
  36854. * loader/appcache/ApplicationCacheGroup.cpp:
  36855. (WebCore::ApplicationCacheGroup::selectCache): Ditto.
  36856. * page/ContextMenuController.cpp:
  36857. (WebCore::openNewWindow): Pass in the security origin.
  36858. (WebCore::ContextMenuController::contextMenuItemSelected): Ditto.
  36859. * page/FrameLoadRequest.h: Added a security origin called the requester
  36860. to all FrameLoadRequest objects.
  36861. * page/XSSAuditor.cpp:
  36862. (WebCore::XSSAuditor::findInRequest): Added the security origin.
  36863. 2010-12-07 Yury Semikhatsky <yurys@chromium.org>
  36864. Reviewed by Pavel Feldman.
  36865. Web Inspector: avoid initializing Context on when creating attaching listener to ScriptDebugServer
  36866. https://bugs.webkit.org/show_bug.cgi?id=50627
  36867. * bindings/v8/ScriptDebugServer.cpp:
  36868. (WebCore::ScriptDebugServer::addListener): don't try to collect already parsed scripts if context has
  36869. not been initialized yet.
  36870. 2010-12-07 Csaba Osztrogonác <ossy@webkit.org>
  36871. Unreviewed. Rolling out r73421, because it made transitions/color-transition-all.html flakey.
  36872. * page/animation/AnimationBase.cpp:
  36873. (WebCore::addShorthandProperties):
  36874. 2010-12-07 Martin Robinson <mrobinson@igalia.com>
  36875. Unreviewed, rolling out r73392.
  36876. http://trac.webkit.org/changeset/73392
  36877. https://bugs.webkit.org/show_bug.cgi?id=50489
  36878. This commit caused crashes on the GTK+ bots
  36879. * bindings/ScriptControllerBase.cpp:
  36880. (WebCore::ScriptController::executeIfJavaScriptURL):
  36881. * dom/Document.cpp:
  36882. (WebCore::Document::Document):
  36883. (WebCore::Document::close):
  36884. (WebCore::Document::lastModified):
  36885. (WebCore::Document::finishedParsing):
  36886. (WebCore::Document::initSecurityContext):
  36887. (WebCore::Document::updateURLForPushOrReplaceState):
  36888. * dom/Document.h:
  36889. * dom/ProcessingInstruction.cpp:
  36890. (WebCore::ProcessingInstruction::checkStyleSheet):
  36891. * dom/ScriptElement.cpp:
  36892. (WebCore::ScriptElement::scriptCharset):
  36893. * html/HTMLLinkElement.cpp:
  36894. (WebCore::HTMLLinkElement::process):
  36895. * html/MediaDocument.cpp:
  36896. (WebCore::MediaDocument::replaceMediaElementTimerFired):
  36897. * html/PluginDocument.cpp:
  36898. (WebCore::PluginDocumentParser::createDocumentStructure):
  36899. * loader/DocumentLoader.cpp:
  36900. (WebCore::DocumentLoader::DocumentLoader):
  36901. (WebCore::DocumentLoader::finishedLoading):
  36902. (WebCore::DocumentLoader::commitData):
  36903. (WebCore::DocumentLoader::setupForReplaceByMIMEType):
  36904. (WebCore::DocumentLoader::setFrame):
  36905. * loader/DocumentLoader.h:
  36906. * loader/DocumentWriter.cpp:
  36907. (WebCore::DocumentWriter::begin):
  36908. * loader/DocumentWriter.h:
  36909. * loader/FrameLoader.cpp:
  36910. (WebCore::FrameLoader::FrameLoader):
  36911. (WebCore::FrameLoader::init):
  36912. (WebCore::FrameLoader::clear):
  36913. (WebCore::FrameLoader::receivedFirstData):
  36914. (WebCore::FrameLoader::transitionToCommitted):
  36915. (WebCore::FrameLoader::open):
  36916. (WebCore::FrameLoader::finishedLoadingDocument):
  36917. (WebCore::FrameLoader::addExtraFieldsToRequest):
  36918. * loader/FrameLoader.h:
  36919. (WebCore::FrameLoader::writer):
  36920. * loader/cache/CachedResourceLoader.cpp:
  36921. (WebCore::CachedResourceLoader::requestPreload):
  36922. * platform/network/FormDataBuilder.cpp:
  36923. (WebCore::FormDataBuilder::encodingFromAcceptCharset):
  36924. * svg/graphics/SVGImage.cpp:
  36925. (WebCore::SVGImage::dataChanged):
  36926. 2010-12-07 Patrick Gansterer <paroga@webkit.org>
  36927. Reviewed by Andreas Kling.
  36928. [CMake] Remove WebKitGenerators
  36929. https://bugs.webkit.org/show_bug.cgi?id=50445
  36930. Move remaining logic into main CMakeLists.txt.
  36931. * CMakeLists.txt:
  36932. 2010-12-07 Justin Schuh <jschuh@chromium.org>
  36933. Reviewed by Nikolas Zimmermann.
  36934. Clear old SVG cursor entry before adding a new one
  36935. https://bugs.webkit.org/show_bug.cgi?id=50549
  36936. Test: svg/css/cursor-replace.svg
  36937. * css/CSSCursorImageValue.cpp:
  36938. (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
  36939. * svg/SVGCursorElement.cpp:
  36940. (WebCore::SVGCursorElement::~SVGCursorElement):
  36941. (WebCore::SVGCursorElement::removeClient):
  36942. (WebCore::SVGCursorElement::removeReferencedElement):
  36943. * svg/SVGCursorElement.h:
  36944. * svg/SVGElement.cpp:
  36945. (WebCore::SVGElement::setCursorElement):
  36946. (WebCore::SVGElement::cursorElementRemoved):
  36947. (WebCore::SVGElement::setCursorImageValue):
  36948. (WebCore::SVGElement::cursorImageElementRemoved):
  36949. * svg/SVGElement.h:
  36950. 2010-12-07 Kenichi Ishibashi <bashi@google.com>
  36951. Reviewed by Kent Tamura.
  36952. Let HTMLObjectElement be a form associated element
  36953. https://bugs.webkit.org/show_bug.cgi?id=48821
  36954. Introduces FormAssociatedElement class which would be a super class
  36955. of form assocated elements. Some of member functions and variables of
  36956. HTMLFormControlElement are migrated into this class.
  36957. Following the HTML5 spec, HTMLFormControlElement class and
  36958. HTMLObjectElement class are subclasses of it for now.
  36959. Test: fast/forms/form-collection-elements-order.html
  36960. * Android.mk: Added FormAssociatedElement.cpp
  36961. * CMakeLists.txt: Ditto.
  36962. * GNUmakefile.am: Added FormAssociatedElement.{cpp,h}
  36963. * WebCore.exp.in: Added the symbol for toHTMLElement(FormAssociatedElement*)
  36964. * WebCore.gypi: Added FormAssociatedElement.{cpp,h}
  36965. * WebCore.pro: Ditto.
  36966. * WebCore.vcproj/WebCore.vcproj: Ditto.
  36967. * WebCore.xcodeproj/project.pbxproj: Ditto.
  36968. * dom/CheckedRadioButtons.h: Fixed class forward declaration order.
  36969. * dom/Document.cpp:
  36970. (WebCore::Document::registerFormElementWithFormAttribute): Modified to
  36971. use FormAssociatedElement instead of HTMLFormControlElement
  36972. (WebCore::Document::unregisterFormElementWithFormAttribute): Ditto.
  36973. (WebCore::Document::resetFormElementsOwner):
  36974. * dom/Document.h: Ditto.
  36975. * html/DOMFormData.cpp: Ditto.
  36976. (WebCore::DOMFormData::DOMFormData):
  36977. * html/FormAssociatedElement.cpp: Copied and renamed from WebCore/html/HTMLFormControlElement.cpp.
  36978. (WebCore::FormAssociatedElement::FormAssociatedElement):
  36979. (WebCore::FormAssociatedElement::~FormAssociatedElement):
  36980. (WebCore::FormAssociatedElement::validity):
  36981. (WebCore::FormAssociatedElement::insertedIntoTree):
  36982. (WebCore::FormAssociatedElement::removedFromTree):
  36983. (WebCore::FormAssociatedElement::removeFromForm):
  36984. (WebCore::FormAssociatedElement::resetFormOwner):
  36985. (WebCore::FormAssociatedElement::formAttributeChanged):
  36986. (WebCore::toHTMLElement):
  36987. * html/FormAssociatedElement.h: Ditto.
  36988. (WebCore::FormAssociatedElement::ref):
  36989. (WebCore::FormAssociatedElement::deref):
  36990. (WebCore::FormAssociatedElement::formDestroyed):
  36991. (WebCore::FormAssociatedElement::setForm):
  36992. * html/HTMLElement.h: Changed the access level of findFormAncestor().
  36993. * html/HTMLFormCollection.cpp:
  36994. (WebCore::HTMLFormCollection::item): Modified to use FormAssociatedElement
  36995. instead of HTMLFormControlElement.
  36996. (WebCore::HTMLFormCollection::getNamedFormItem): Ditto.
  36997. (WebCore::HTMLFormCollection::updateNameCache): Ditto.
  36998. * html/HTMLFormControlElement.cpp: Modified regarding with the change of class
  36999. hierarchy.
  37000. (WebCore::HTMLFormControlElement::HTMLFormControlElement):
  37001. (WebCore::HTMLFormControlElement::~HTMLFormControlElement):
  37002. (WebCore::HTMLFormControlElement::insertedIntoTree):
  37003. (WebCore::HTMLFormControlElement::removedFromTree):
  37004. (WebCore::HTMLFormControlElement::supportsFocus):
  37005. (WebCore::HTMLFormControlElement::checkValidity):
  37006. (WebCore::HTMLFormControlElement::virtualForm):
  37007. (WebCore::HTMLFormControlElement::isDefaultButtonForForm):
  37008. (WebCore::HTMLFormControlElement::attributeChanged):
  37009. * html/HTMLFormControlElement.h: Ditto.
  37010. (WebCore::HTMLFormControlElement::form):
  37011. (WebCore::HTMLFormControlElement::disabled):
  37012. (WebCore::HTMLFormControlElement::type):
  37013. (WebCore::HTMLFormControlElement::refFormAssociatedElement):
  37014. (WebCore::HTMLFormControlElement::derefFormAssociatedElement):
  37015. * html/HTMLFormElement.cpp: Modified to use FormAssociatedElement
  37016. instead of HTMLFormControlElement.
  37017. (WebCore::HTMLFormElement::submitImplicitly):
  37018. (WebCore::HTMLFormElement::validateInteractively):
  37019. (WebCore::HTMLFormElement::submit):
  37020. (WebCore::HTMLFormElement::reset):
  37021. (WebCore::HTMLFormElement::formElementIndexWithFormAttribute):
  37022. (WebCore::HTMLFormElement::formElementIndex):
  37023. (WebCore::HTMLFormElement::registerFormElement):
  37024. (WebCore::HTMLFormElement::removeFormElement):
  37025. (WebCore::HTMLFormElement::defaultButton):
  37026. (WebCore::HTMLFormElement::checkValidity):
  37027. (WebCore::HTMLFormElement::collectUnhandledInvalidControls):
  37028. (WebCore::HTMLFormElement::documentDidBecomeActive):
  37029. * html/HTMLFormElement.h: Ditto.
  37030. (WebCore::HTMLFormElement::associatedElements):
  37031. * html/HTMLInputElement.cpp: Ditto.
  37032. (WebCore::HTMLInputElement::updateCheckedRadioButtons):
  37033. * html/HTMLObjectElement.cpp: Modified regarding with the change of class
  37034. hierarchy.
  37035. (WebCore::HTMLObjectElement::HTMLObjectElement):
  37036. (WebCore::HTMLObjectElement::~HTMLObjectElement):
  37037. (WebCore::HTMLObjectElement::create):
  37038. (WebCore::HTMLObjectElement::attributeChanged):
  37039. (WebCore::HTMLObjectElement::insertedIntoTree):
  37040. (WebCore::HTMLObjectElement::removedFromTree):
  37041. (WebCore::HTMLObjectElement::appendFormData):
  37042. (WebCore::HTMLObjectElement::formControlName):
  37043. * html/HTMLObjectElement.h: Ditto.
  37044. (WebCore::HTMLObjectElement::form):
  37045. (WebCore::HTMLObjectElement::isFormControlElement):
  37046. (WebCore::HTMLObjectElement::isEnumeratable):
  37047. (WebCore::HTMLObjectElement::refFormAssociatedElement):
  37048. (WebCore::HTMLObjectElement::derefFormAssociatedElement):
  37049. * html/HTMLTagNames.in: Added constructorNeedsFormElement to object tag.
  37050. * html/ValidationMessage.cpp: Modified to use FormAssociatedElement
  37051. instead of HTMLFormControlElement.
  37052. (WebCore::ValidationMessage::ValidationMessage):
  37053. (WebCore::ValidationMessage::create):
  37054. * html/ValidationMessage.h: Ditto.
  37055. * html/ValidityState.cpp: Ditto.
  37056. (WebCore::ValidityState::validationMessage):
  37057. (WebCore::ValidityState::setCustomErrorMessage):
  37058. (WebCore::ValidityState::valueMissing):
  37059. (WebCore::ValidityState::typeMismatch):
  37060. (WebCore::ValidityState::patternMismatch):
  37061. (WebCore::ValidityState::tooLong):
  37062. (WebCore::ValidityState::rangeUnderflow):
  37063. (WebCore::ValidityState::rangeOverflow):
  37064. (WebCore::ValidityState::stepMismatch):
  37065. * html/ValidityState.h: Ditto.
  37066. (WebCore::ValidityState::create):
  37067. (WebCore::ValidityState::ValidityState):
  37068. * loader/FormSubmission.cpp: Ditto.
  37069. (WebCore::FormSubmission::create):
  37070. 2010-12-06 Pavel Feldman <pfeldman@chromium.org>
  37071. Not reviewed. Rolling out r72988 for breaking iframes.
  37072. * css/CSSImportRule.cpp:
  37073. (WebCore::CSSImportRule::insertedIntoParent):
  37074. 2010-12-06 Hironori Bono <hbono@chromium.org>
  37075. Reviewed by David Levin.
  37076. [Chromium] Refactor FontCacheChromiumWin.cpp
  37077. https://bugs.webkit.org/show_bug.cgi?id=50611
  37078. This change just moved the helper functions for the WebCore::FontCache class to the beginning of ths file.
  37079. No new tests are added since this is a refactoring.
  37080. * platform/graphics/chromium/FontCacheChromiumWin.cpp:
  37081. (WebCore::fontDataFromDescriptionAndLogFont): Moved to the beginning of the file.
  37082. (WebCore::toGDIFontWeight): Moved to the beginning of the file.
  37083. (WebCore::FillLogFont): Moved to the beginning of the file.
  37084. (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): Moved to the beginning of the file.
  37085. (WebCore::traitsInFamilyEnumProc): Moved to the beginning of the file.
  37086. (WebCore::FontCache::platformInit): Moved after the static functions.
  37087. 2010-12-06 Alexey Marinichev <amarinichev@chromium.org>
  37088. Reviewed by Kenneth Russell.
  37089. Throw webglcontextlost and webglcontextrestored events when a WebGL context is lost and restored.
  37090. https://bugs.webkit.org/show_bug.cgi?id=50364
  37091. No new tests since there is currently no way to force a context lost event.
  37092. * html/canvas/WebGLRenderingContext.cpp:
  37093. (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired):
  37094. (WebCore::WebGLRenderingContext::create):
  37095. (WebCore::WebGLRenderingContext::WebGLRenderingContext):
  37096. (WebCore::WebGLRenderingContext::isContextLost):
  37097. (WebCore::WebGLRenderingContext::loseContext):
  37098. (WebCore::WebGLRenderingContext::restoreContext):
  37099. * html/canvas/WebGLRenderingContext.h:
  37100. (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::WebGLRenderingContextRestoreTimer):
  37101. 2010-12-06 David Hyatt <hyatt@apple.com>
  37102. Reviewed by Simon Fraser.
  37103. https://bugs.webkit.org/show_bug.cgi?id=50593
  37104. Fix background canvas painting for documents with left/top overflow. The math from the original RTL patch was incorrect.
  37105. Just use the RenderView's document dimensions always.
  37106. * rendering/RenderBox.cpp:
  37107. (WebCore::RenderBox::paintRootBoxDecorations):
  37108. 2010-12-06 Simon Fraser <simon.fraser@apple.com>
  37109. Reviewed by Beth Dakin.
  37110. CSS animation doesn't work for border-radius
  37111. https://bugs.webkit.org/show_bug.cgi?id=48340
  37112. Include CSSPropertyBorderRadius in the list of shorthand
  37113. properties, so that the individual border-radius properties
  37114. get animated.
  37115. Test: transitions/border-radius-transition.html
  37116. * page/animation/AnimationBase.cpp:
  37117. (WebCore::addShorthandProperties):
  37118. 2010-12-06 Ryosuke Niwa <rniwa@webkit.org>
  37119. Reviewed by Tony Chang.
  37120. ApplyStyleCommand should take EditingStyle instead of CSSStyleDeclaration
  37121. https://bugs.webkit.org/show_bug.cgi?id=49938
  37122. Modified ApplyStyleCommand::ApplyStyleCommand and ApplyStyleCommand::create to take EditingStyle*
  37123. instead of CSSStyleDeclaration*. Also replaced much of code in Editor::computeAndSetTypingStyle
  37124. by calls to EditingStyle's member functions and extracted EditingStyle::overrideWith and
  37125. EditingStyle::extractAndRemoveBlockProperties.
  37126. No new tests are added since this is a refactoring.
  37127. * WebCore.exp.in: Added SelectionController::copyTypingStyle and EditingStyle::~EditingStyle.
  37128. * css/CSSMutableStyleDeclaration.cpp: Made CSSMutableStyleDeclaration* in the argument list const.
  37129. (WebCore::CSSMutableStyleDeclaration::merge):
  37130. * css/CSSMutableStyleDeclaration.h:
  37131. * editing/ApplyStyleCommand.cpp:
  37132. (WebCore::ApplyStyleCommand::ApplyStyleCommand): Takes EditingStyle* instead of CSSStyleDeclaration*.
  37133. (WebCore::ApplyStyleCommand::doApply): Uses EditingStyle.
  37134. * editing/ApplyStyleCommand.h: m_style is now a ref-pointer to EditingStyle instead of CSSMutableStyleDeclaration.
  37135. (WebCore::ApplyStyleCommand::create): Takes EditingStyle* instead of CSSStyleDeclaration*.
  37136. * editing/CompositeEditCommand.cpp:
  37137. (WebCore::CompositeEditCommand::applyStyle): Ditto.
  37138. (WebCore::CompositeEditCommand::moveParagraphs): Calls applyStyle.
  37139. (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
  37140. * editing/CompositeEditCommand.h:
  37141. * editing/DeleteSelectionCommand.cpp:
  37142. (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Ditto.
  37143. * editing/EditCommand.cpp:
  37144. * editing/EditCommand.h:
  37145. * editing/EditingStyle.cpp:
  37146. (WebCore::EditingStyle::~EditingStyle): Added.
  37147. (WebCore::EditingStyle::overrideWithStyle): Extracted from Editor::calculateTypingStyleAfterDelete.
  37148. (WebCore::EditingStyle::copy): Added.
  37149. (WebCore::EditingStyle::extractAndRemoveBlockProperties): Extracted from Editor::calculateTypingStyleAfterDelete.
  37150. * editing/EditingStyle.h:
  37151. * editing/Editor.cpp:
  37152. (WebCore::Editor::applyStyle): Calls ApplyStyleCommand::create.
  37153. (WebCore::Editor::applyParagraphStyle): Ditto.
  37154. (WebCore::Editor::computeAndSetTypingStyle): Ditto.
  37155. * editing/InsertLineBreakCommand.cpp:
  37156. (WebCore::InsertLineBreakCommand::doApply): Calls applyStyle.
  37157. * editing/InsertParagraphSeparatorCommand.cpp:
  37158. (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Ditto.
  37159. * editing/InsertTextCommand.cpp:
  37160. (WebCore::InsertTextCommand::input): Ditto.
  37161. * editing/RemoveFormatCommand.cpp:
  37162. (WebCore::RemoveFormatCommand::doApply): Calls ApplyStyleCommand::create.
  37163. * editing/ReplaceSelectionCommand.cpp:
  37164. (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Calls applyStyle.
  37165. * editing/SelectionController.cpp:
  37166. (WebCore::SelectionController::copyTypingStyle): Moved from SelectionController.h
  37167. * editing/SelectionController.h:
  37168. 2010-12-05 Ryosuke Niwa <rniwa@webkit.org>
  37169. Reviewed by Tony Chang.
  37170. Executing FormatBlock on multiple paragraphs inside pre does not remove the outer pre
  37171. https://bugs.webkit.org/show_bug.cgi?id=47300
  37172. The bug was caused by FormatBlockCommand::formatRange's not removing refNode when the refNode
  37173. contains more than one paragraphs even when the refNode is fully selected.
  37174. Fixed the bug by modifying FormatBlockCommand::formatRange to correctly remove the node in
  37175. such a situation.
  37176. Also fixed a bug in ApplyBlockElementCommand::formatSelection that the end of selection
  37177. is not properly updated when the end of selection resides in the node split by
  37178. rangeForParagraphSplittingTextNodesIfNeeded or endOfNextParagrahSplittingTextNodesIfNeeded.
  37179. Test: editing/execCommand/format-block-multiple-paragraphs-in-pre.html
  37180. * editing/ApplyBlockElementCommand.cpp:
  37181. (WebCore::ApplyBlockElementCommand::formatSelection): Calls formatRange with m_endOfLastParagraph.
  37182. (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): Updates
  37183. m_endOfLastParagraph when the position points to the node split by this function.
  37184. (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): Ditto.
  37185. * editing/ApplyBlockElementCommand.h: Added m_endOfLastParagraph as a member variable.
  37186. * editing/FormatBlockCommand.cpp:
  37187. (WebCore::FormatBlockCommand::formatRange): See above.
  37188. * editing/FormatBlockCommand.h:
  37189. * editing/IndentOutdentCommand.cpp:
  37190. (WebCore::IndentOutdentCommand::formatRange): Ignores the end of selection.
  37191. * editing/IndentOutdentCommand.h:
  37192. 2010-12-03 Zhenyao Mo <zmo@google.com>
  37193. Reviewed by Kenneth Russell.
  37194. Postpone gl delete* calls until shaders/programs are no longer attached
  37195. https://bugs.webkit.org/show_bug.cgi?id=50501
  37196. * html/canvas/WebGLBuffer.cpp:
  37197. (WebCore::WebGLBuffer::deleteObjectImpl): Simply delete GL resource.
  37198. * html/canvas/WebGLFramebuffer.cpp:
  37199. (WebCore::WebGLFramebuffer::deleteObjectImpl): Ditto.
  37200. * html/canvas/WebGLObject.cpp:
  37201. (WebCore::WebGLObject::deleteObject): Tracking whether deleteObjectImpl should be called or not.
  37202. * html/canvas/WebGLObject.h:
  37203. (WebCore::WebGLObject::detachContext): Set attachmentCount to 0 to ensure OpenGL resource deletion.
  37204. (WebCore::WebGLObject::onDetached): No need to track attachmentCount here as we track it in deleteObject.
  37205. (WebCore::WebGLObject::isDeleted): Make this public.
  37206. * html/canvas/WebGLProgram.cpp:
  37207. (WebCore::WebGLProgram::deleteObjectImpl): Simply delete GL resource.
  37208. * html/canvas/WebGLRenderbuffer.cpp:
  37209. (WebCore::WebGLRenderbuffer::deleteObjectImpl): Ditto.
  37210. * html/canvas/WebGLRenderingContext.cpp:
  37211. (WebCore::WebGLRenderingContext::getProgramParameter): intercept DELETE_STATUS.
  37212. (WebCore::WebGLRenderingContext::getShaderParameter): Ditto.
  37213. * html/canvas/WebGLShader.cpp:
  37214. (WebCore::WebGLShader::deleteObjectImpl): Simply delete GL resource.
  37215. * html/canvas/WebGLTexture.cpp:
  37216. (WebCore::WebGLTexture::deleteObjectImpl): Simply delete GL resource.
  37217. 2010-12-06 Ryosuke Niwa <rniwa@webkit.org>
  37218. Yet unreviewed another Leopard build fix for r73380.
  37219. * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
  37220. (PlatformCAAnimation::setKeyTimes):
  37221. * platform/graphics/ca/mac/PlatformCALayerMac.mm:
  37222. (PlatformCALayer::platformCALayer):
  37223. 2010-12-06 Andy Estes <aestes@apple.com>
  37224. Reviewed by Darin Adler.
  37225. Marquee elements do not stop animating when scrollAmount is set to 0.
  37226. https://bugs.webkit.org/show_bug.cgi?id=50434
  37227. Test: fast/html/marquee-scrollamount.html
  37228. * rendering/RenderMarquee.cpp:
  37229. (WebCore::RenderMarquee::timerFired): Allow increment to be 0.
  37230. 2010-12-06 Ryosuke Niwa <rniwa@webkit.org>
  37231. Unreviewed Leopard buildfix for r73380.
  37232. * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
  37233. (PlatformCAAnimation::setTimingFunctions):
  37234. * platform/graphics/ca/mac/PlatformCALayerMac.mm:
  37235. (PlatformCALayer::PlatformCALayer):
  37236. 2010-12-06 Philippe Normand <pnormand@igalia.com>
  37237. Reviewed by Martin Robinson.
  37238. [GStreamer] use ResourceHandle::setDefersLoading in WebKitWebSourceGStreamer
  37239. https://bugs.webkit.org/show_bug.cgi?id=44157
  37240. * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
  37241. (webKitWebSrcNeedDataMainCb):
  37242. (webKitWebSrcEnoughDataMainCb): Replaced platform-specific code
  37243. with cross-platform ResourceHandle::setDefersLoading calls.
  37244. 2010-12-06 Ryosuke Niwa <rniwa@webkit.org>
  37245. Unreviewed Leopard build fix for r73388.
  37246. * accessibility/AccessibilitySlider.cpp:
  37247. (WebCore::AccessibilitySlider::maxValueForRange):
  37248. (WebCore::AccessibilitySlider::minValueForRange):
  37249. 2010-12-06 Ryosuke Niwa <rniwa@webkit.org>
  37250. Unreviewed build fix for Leopard after r73379.
  37251. * platform/graphics/cg/GraphicsContextCG.cpp:
  37252. (WebCore::GraphicsContext::setAllowsFontSmoothing):
  37253. 2010-12-06 Nate Chapin <japhet@chromium.org>
  37254. Reviewed by Adam Barth.
  37255. Make DocumentWriter a member of DocumentLoader
  37256. instead of FrameLoader.
  37257. https://bugs.webkit.org/show_bug.cgi?id=50489
  37258. Refactor, no new tests.
  37259. * bindings/ScriptControllerBase.cpp:
  37260. (WebCore::ScriptController::executeIfJavaScriptURL):
  37261. * dom/Document.cpp:
  37262. (WebCore::Document::Document):
  37263. (WebCore::Document::close):
  37264. (WebCore::Document::lastModified):
  37265. (WebCore::Document::finishedParsing):
  37266. (WebCore::Document::initSecurityContext):
  37267. (WebCore::Document::updateURLForPushOrReplaceState):
  37268. * dom/Document.h:
  37269. (WebCore::Document::setDocumentLoader):
  37270. (WebCore::Document::loader):
  37271. * dom/ProcessingInstruction.cpp:
  37272. (WebCore::ProcessingInstruction::checkStyleSheet):
  37273. * dom/ScriptElement.cpp:
  37274. (WebCore::ScriptElement::scriptCharset):
  37275. * html/HTMLLinkElement.cpp:
  37276. (WebCore::HTMLLinkElement::process):
  37277. * html/MediaDocument.cpp:
  37278. (WebCore::MediaDocument::replaceMediaElementTimerFired):
  37279. * html/PluginDocument.cpp:
  37280. (WebCore::PluginDocumentParser::createDocumentStructure):
  37281. * loader/DocumentLoader.cpp:
  37282. (WebCore::DocumentLoader::DocumentLoader):
  37283. (WebCore::DocumentLoader::finishedLoading):
  37284. (WebCore::DocumentLoader::commitData):
  37285. (WebCore::DocumentLoader::setupForReplaceByMIMEType):
  37286. (WebCore::DocumentLoader::setFrame):
  37287. * loader/DocumentLoader.h:
  37288. (WebCore::DocumentLoader::writer):
  37289. * loader/DocumentWriter.h:
  37290. (WebCore::DocumentWriter::setFrame):
  37291. * loader/FrameLoader.cpp:
  37292. (WebCore::FrameLoader::FrameLoader):
  37293. (WebCore::FrameLoader::init):
  37294. (WebCore::FrameLoader::clear):
  37295. (WebCore::FrameLoader::receivedFirstData):
  37296. (WebCore::FrameLoader::transitionToCommitted):
  37297. (WebCore::FrameLoader::open):
  37298. (WebCore::FrameLoader::finishedLoadingDocument):
  37299. (WebCore::FrameLoader::addExtraFieldsToRequest):
  37300. * loader/FrameLoader.h:
  37301. (WebCore::FrameLoader::notifier):
  37302. * loader/cache/CachedResourceLoader.cpp:
  37303. (WebCore::CachedResourceLoader::requestPreload):
  37304. * platform/network/FormDataBuilder.cpp:
  37305. (WebCore::FormDataBuilder::encodingFromAcceptCharset):
  37306. * svg/graphics/SVGImage.cpp:
  37307. (WebCore::SVGImage::dataChanged):
  37308. 2010-12-06 Mark Rowe <mrowe@apple.com>
  37309. Build fix.
  37310. * WebCore.xcodeproj/project.pbxproj: Don't force WebCore to build against the 10.5 SDK.
  37311. That's just plain wrong.
  37312. 2010-12-06 Chris Fleizach <cfleizach@apple.com>
  37313. Reviewed by Darin Adler.
  37314. HTML5 Slider does not work correctly with VoiceOver
  37315. https://bugs.webkit.org/show_bug.cgi?id=50505
  37316. Address a few problems with the Mac implementation for the accessibility slider.
  37317. 1) The value indicator is not hit testable.
  37318. 2) The value indicator does not return an AXValue.
  37319. 3) In the slider, the min/max values are not correct when min/max attributes are not present.
  37320. 4) When you change the value with the keyboard, it doesn't send out the right notification.
  37321. 5) Sliders were returning AXValue and AXTopLevelUIElement attributes twice in their list of attributes.
  37322. Test: platform/mac/accessibility/html-slider-indicator.html
  37323. * accessibility/AccessibilityObject.cpp:
  37324. (WebCore::AccessibilityObject::getAttribute):
  37325. Use fastGetAttribute on Element, instead of getAttribute.
  37326. * accessibility/AccessibilityObject.h:
  37327. (WebCore::AccessibilityObject::isInputSlider):
  37328. * accessibility/AccessibilityRenderObject.cpp:
  37329. (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
  37330. * accessibility/AccessibilitySlider.cpp:
  37331. (WebCore::AccessibilitySlider::doAccessibilityHitTest):
  37332. (WebCore::AccessibilitySlider::maxValueForRange):
  37333. (WebCore::AccessibilitySlider::minValueForRange):
  37334. * accessibility/AccessibilitySlider.h:
  37335. (WebCore::AccessibilitySlider::isInputSlider):
  37336. * accessibility/mac/AccessibilityObjectWrapper.mm:
  37337. (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
  37338. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  37339. * html/HTMLInputElement.cpp:
  37340. (WebCore::HTMLInputElement::applyStep):
  37341. 2010-12-06 David Hyatt <hyatt@apple.com>
  37342. Reviewed by Simon Fraser.
  37343. Fix for https://bugs.webkit.org/show_bug.cgi?id=49220 <<rdar://problem/8644849>, REGRESSION: transforms now
  37344. O(n^3) from pathological behavior in lowestPosition, rightmostPosition, leftmostPosition and topmostPosition.
  37345. This patch throws out the lowest/rightmost/leftmost/topmostPosition functions and re-architects layout overflow
  37346. in the engine to cache all the information required to properly handle scrolling.
  37347. In the old code, there were two types of overflow: layout overflow and visual overflow. The former could
  37348. affect scrolling and the latter could not. The distinction was largely meaningless, since layout overflow
  37349. wasn't actually used to determine scroll width or scroll height. It didn't propagate across self-painting layer
  37350. boundaries either. In the old code, the term visible overflow meant the union of the layout overflow and
  37351. visual overflow rects.
  37352. In the new code, the two types of overflow remain, but the distinction between the two is now clear. Visual overflow
  37353. is used purely for painting and hit testing checks and layout overflow is used specifically for scrolling. It has
  37354. been expanded to propagate across self-painting layers, to factor in relative positioning and transforms, and to
  37355. work with writing modes.
  37356. In order to minimize layout test changes, layers no longer incorporate right/bottom overflow into their width/height members.
  37357. Doing so uncovered two bugs where left/top overflow was ignored (proof that even having layer dimensions is harmful).
  37358. A render tree dump hack has been put into the code to keep this overflow dumping for the RenderView's layer, since otherwise
  37359. a huge number of tests would change.
  37360. Added fast/overflow/overflow-rtl-vertical.html to test vertical writing-mode overflow. Existing tests cover the rest.
  37361. * page/FrameView.cpp:
  37362. (WebCore::FrameView::adjustViewSize):
  37363. (WebCore::FrameView::forceLayoutForPagination):
  37364. Changed to use RenderView's docTop/Left/Width/Height accessors, which simply grab the overflow and properly flip it
  37365. to account for writing modes.
  37366. * platform/graphics/IntRect.h:
  37367. (WebCore::IntRect::shiftLeftEdgeTo):
  37368. (WebCore::IntRect::shiftRightEdgeTo):
  37369. (WebCore::IntRect::shiftTopEdgeTo):
  37370. (WebCore::IntRect::shiftBottomEdgeTo):
  37371. New helper functions for sliding the edge of a rectangle without moving any of the other three edges.
  37372. * rendering/InlineBox.h:
  37373. (WebCore::InlineBox::frameRect):
  37374. frameRect is a helper for obtaining the x, y, width, height of an InlineBox as an IntRect.
  37375. * rendering/InlineFlowBox.cpp:
  37376. (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
  37377. All of the overflow setting in the inline direction has been removed from this function. All line overflow is computed
  37378. at once now in a single function: computeOverflow.
  37379. (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
  37380. (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
  37381. (WebCore::InlineFlowBox::addReplacedChildOverflow):
  37382. Helper for propagating overflow from specific types of children that occur on a line into the InlineFlowBox's overflow.
  37383. (WebCore::InlineFlowBox::computeOverflow):
  37384. The new function that computes both horizontal and vertical overflow for a line box.
  37385. (WebCore::InlineFlowBox::setLayoutOverflow):
  37386. (WebCore::InlineFlowBox::setVisualOverflow):
  37387. (WebCore::InlineFlowBox::setOverflowFromLogicalRects):
  37388. New functions that set the overflow computed by computeOverflow. These replace setBlockDirectionOverflowPositions
  37389. and setInlineDirectionOverflowPositions. They essentially do the same thing, but they operate on rectangles.
  37390. (WebCore::InlineFlowBox::nodeAtPoint):
  37391. (WebCore::InlineFlowBox::paint):
  37392. Changed to use visual overflow instead of visible overflow. (Visible overflow as a union of layout and visual
  37393. overflow is no longer necessary, since visual overflow is now equivalent to the old visible overflow concept.)
  37394. * rendering/InlineFlowBox.h:
  37395. (WebCore::InlineFlowBox::logicalLayoutOverflowRect):
  37396. (WebCore::InlineFlowBox::logicalVisualOverflowRect):
  37397. Helpers for obtaining logical overflow rectangles, since lines compute their overflow in logical terms before
  37398. converting to block coordinates at the end.
  37399. * rendering/RenderBlock.cpp:
  37400. (WebCore::RenderBlock::layoutBlock):
  37401. (WebCore::RenderBlock::addOverflowFromChildren):
  37402. (WebCore::RenderBlock::computeOverflow):
  37403. (WebCore::RenderBlock::addOverflowFromFloats):
  37404. (WebCore::RenderBlock::addOverflowFromPositionedObjects):
  37405. Blocks now have a computeOverflow function called at the end of layout that adds in all the types of overflow. The addOverflowFromChildren
  37406. method is virtual so that RenderListItem and RenderTable can subclass it. RenderListItem has to position its list marker and
  37407. propagate marker overflow up, and RenderTable adds in overflow from its sections.
  37408. (WebCore::RenderBlock::layoutOnlyPositionedObjects):
  37409. (WebCore::RenderBlock::layoutPositionedObjects):
  37410. When only positioned objects lay out, overflow must still be recomputed. The refactoring of overflow computation into a single
  37411. callable method: computeOverflow, makes it possible for this to be done easily.
  37412. (WebCore::RenderBlock::paint):
  37413. visible -> visual.
  37414. (WebCore::RenderBlock::addOverhangingFloats):
  37415. The propagation of float overflow has changed substantially. The basic rules are:
  37416. (1) The float must be in our floating objects list to contribute to overflow.
  37417. (2) The float must be a descendant to contribute to overflow.
  37418. (3) The block must have the outermost list that contains the float, or it has a self-painting layer and
  37419. so the float needs to be included in its overflow.
  37420. (WebCore::RenderBlock::nodeAtPoint):
  37421. visible -> visual.
  37422. (WebCore::RenderBlock::layoutColumns):
  37423. Remove column overflow computation from layoutColumns and move it to computeOverflow.
  37424. (WebCore::RenderBlock::adjustLinePositionForPagination):
  37425. visible -> visual.
  37426. * rendering/RenderBlock.h:
  37427. (WebCore::RenderBlock::scrollbarsChanged):
  37428. Added a new virtual method used by table cells when scrollbars in an overflow:auto/scroll table cell come and go.
  37429. * rendering/RenderBlockLineLayout.cpp:
  37430. (WebCore::RenderBlock::layoutInlineChildren):
  37431. (WebCore::RenderBlock::determineStartPosition):
  37432. (WebCore::RenderBlock::matchedEndLine):
  37433. (WebCore::RenderBlock::addOverflowFromInlineChildren):
  37434. (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
  37435. (WebCore::RenderBlock::afterSideVisualOverflowForLine):
  37436. visible -> visual.
  37437. * rendering/RenderBox.cpp:
  37438. (WebCore::RenderBox::scrollWidth):
  37439. (WebCore::RenderBox::scrollHeight):
  37440. Patched to use layoutOverflow functions instead of the old rightmost/leftmostPosition functions.
  37441. (WebCore::RenderBox::paintRootBoxDecorations):
  37442. Use docLeft and docTop here, so that writing modes are handled.
  37443. (WebCore::RenderBox::clippedOverflowRectForRepaint):
  37444. visible -> visual.
  37445. (WebCore::RenderBox::addOverflowFromChild):
  37446. (WebCore::RenderBox::addLayoutOverflow):
  37447. (WebCore::RenderBox::addVisualOverflow):
  37448. (WebCore::RenderBox::logicalVisualOverflowRectForPropagation):
  37449. (WebCore::RenderBox::visualOverflowRectForPropagation):
  37450. (WebCore::RenderBox::logicalLayoutOverflowRectForPropagation):
  37451. (WebCore::RenderBox::layoutOverflowRectForPropagation):
  37452. * rendering/RenderBox.h:
  37453. The new overflow system for boxes. Layout overflow now crosses self-painting layer boundaries and adjusts child boxes
  37454. for transforms, relative positioning and writing mode differences.
  37455. (WebCore::RenderBox::layoutOverflowRect):
  37456. (WebCore::RenderBox::topLayoutOverflow):
  37457. (WebCore::RenderBox::bottomLayoutOverflow):
  37458. (WebCore::RenderBox::leftLayoutOverflow):
  37459. (WebCore::RenderBox::rightLayoutOverflow):
  37460. Changed the default rectangle for layout overflow to be the client box to match the scrollable areas of overflow regions.
  37461. (WebCore::RenderBox::clientLogicalBottom):
  37462. New helper for obtaining the logical bottom of the client box.
  37463. (WebCore::RenderBox::clientBoxRect):
  37464. New helper for obtaining the clientLeft/Top/Width/Height box.
  37465. * rendering/RenderBoxModelObject.h:
  37466. (WebCore::RenderBoxModelObject::relativePositionLogicalOffset):
  37467. Helper for obtaining the relative position offset transposed for vertical writing modes. Used by line overflow.
  37468. * rendering/RenderFlexibleBox.cpp:
  37469. (WebCore::RenderFlexibleBox::layoutBlock):
  37470. Changed flexible boxes to just call the base class computeOverflow method.
  37471. * rendering/RenderInline.cpp:
  37472. (WebCore::RenderInline::linesVisualOverflowBoundingBox):
  37473. (WebCore::RenderInline::clippedOverflowRectForRepaint):
  37474. visible -> visual.
  37475. * rendering/RenderInline.h:
  37476. * rendering/RenderLayer.cpp:
  37477. (WebCore::RenderLayer::updateLayerPosition):
  37478. Changed layers to no longer incorporate right/bottom overflow into width/height. This is the reason many layout
  37479. tests change. (Not doing this makes the layout test changes far worse, since overflow propagates across self-painting
  37480. layers now.)
  37481. (WebCore::RenderLayer::overflowTop):
  37482. (WebCore::RenderLayer::overflowBottom):
  37483. (WebCore::RenderLayer::overflowLeft):
  37484. (WebCore::RenderLayer::overflowRight):
  37485. overflowTop/Bottom/Left/Right return overflow that accounts for writing modes, i.e., purely physical overflow that can be used
  37486. to set up the scroll area.
  37487. (WebCore::RenderLayer::computeScrollDimensions):
  37488. Drastically simplified this method now that overflowTop/Bottom/Left/Right just do the right thing regarding unreachable overflow.
  37489. (WebCore::RenderLayer::updateScrollInfoAfterLayout):
  37490. Make sure to explicitly set the vertical scrollbar's position just as we did with horizontal scrollbars, so that clamping to the
  37491. bottom works.
  37492. (WebCore::performOverlapTests):
  37493. (WebCore::RenderLayer::paintLayer):
  37494. Fix a bug in performOverlapTests. It incorrectly used the layer's bounds, and so it didn't account for left/top overflow out
  37495. of the layer (see why I hate layers even having dimensions?). Changed it to use the bounding box of the layer instead.
  37496. (WebCore::RenderLayer::hitTest):
  37497. Fix a bug in hit testing. It incorrectly used the root layer's bounds as the limit of the hit test, and so it didn't account
  37498. for left/top overflow in a ScrollView (hate hate hate layers having dimensions). I changed it to use the hit test rect instead,
  37499. so that the damage rect never stops the point from being tested (unless the hit test request says not to ignore clipping).
  37500. (WebCore::RenderLayer::localBoundingBox):
  37501. visible -> visual.
  37502. * rendering/RenderLayer.h:
  37503. Added the new overflowTop/Left/Right/Bottom accessors.
  37504. * rendering/RenderLineBoxList.cpp:
  37505. (WebCore::RenderLineBoxList::anyLineIntersectsRect):
  37506. (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
  37507. (WebCore::RenderLineBoxList::paint):
  37508. (WebCore::RenderLineBoxList::hitTest):
  37509. visible -> visual.
  37510. * rendering/RenderListItem.cpp:
  37511. (WebCore::RenderListItem::addOverflowFromChildren):
  37512. (WebCore::RenderListItem::positionListMarker):
  37513. * rendering/RenderListItem.h:
  37514. RenderListItem now positions the list marker when computing its overflow, since the marker propagates overflow back up to the list item.
  37515. * rendering/RenderListMarker.cpp:
  37516. (WebCore::RenderListMarker::paint):
  37517. visible -> visual.
  37518. * rendering/RenderMarquee.cpp:
  37519. (WebCore::RenderMarquee::computePosition):
  37520. Changed to use overflow functions instead of rightmost/lowestPosition.
  37521. * rendering/RenderMedia.cpp:
  37522. * rendering/RenderMedia.h:
  37523. Removed the lowest/topmost/rightmost/leftmostPosition functions, since control overflow is handled properly already.
  37524. * rendering/RenderOverflow.h:
  37525. (WebCore::RenderOverflow::RenderOverflow):
  37526. (WebCore::RenderOverflow::setLayoutOverflow):
  37527. (WebCore::RenderOverflow::setVisualOverflow):
  37528. Add new setters for layout and visual overflow as rects.
  37529. * rendering/RenderReplaced.cpp:
  37530. (WebCore::RenderReplaced::shouldPaint):
  37531. (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
  37532. visible -> visual.
  37533. * rendering/RenderRubyRun.cpp:
  37534. (WebCore::RenderRubyRun::layout):
  37535. Call computeOverflow to recompute our overflow information after we adjust the ruby.
  37536. * rendering/RenderTable.cpp:
  37537. (WebCore::RenderTable::layout):
  37538. (WebCore::RenderTable::addOverflowFromChildren):
  37539. (WebCore::RenderTable::paint):
  37540. * rendering/RenderTable.h:
  37541. Move section overflow propagation into addOverflowFromChildren, and change RenderTable to just call computeOverflow.
  37542. * rendering/RenderTableCell.cpp:
  37543. (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
  37544. visible -> visual.
  37545. (WebCore::RenderTableCell::scrollbarsChanged):
  37546. Adding unreachable overflow support (something that in the old code only existed for positioned objects in the root view) exposed
  37547. a bug in table layout. If scrollbars are added during the layout that occurs after intrinsic padding was incorporated into the
  37548. cell, then the cell won't lay out properly the second time (after the scrollbars have been added). We have to adjust the intrinsic
  37549. padding accounting for the presence of the new scrollbar so the second layout will get the right dimensions.
  37550. * rendering/RenderTableCell.h:
  37551. (WebCore::RenderTableCell::hasVisualOverflow):
  37552. visible -> visual.
  37553. * rendering/RenderTableSection.cpp:
  37554. (WebCore::RenderTableSection::layoutRows):
  37555. * rendering/RenderTableSection.h:
  37556. visible -> visual. Removed the leftmost/rightmost/topmost/bottommostPosition functions.
  37557. * rendering/RenderTreeAsText.cpp:
  37558. (WebCore::writeLayers):
  37559. Added a hack to render tree dumping to include right/bottom overflow for the root layer only. This keeps a zillion layout tests
  37560. from failing.
  37561. * rendering/RenderView.cpp:
  37562. (WebCore::RenderView::layout):
  37563. (WebCore::RenderView::docTop):
  37564. (WebCore::RenderView::docBottom):
  37565. (WebCore::RenderView::docLeft):
  37566. (WebCore::RenderView::docRight):
  37567. * rendering/RenderView.h:
  37568. (WebCore::RenderView::docHeight):
  37569. (WebCore::RenderView::docWidth):
  37570. RenderView now uses docLeft/Top/Height/Width functions, which are just overflow queries that account for writing modes. These methods
  37571. are now the preferred way to query for the physical dimensions of a document.
  37572. * rendering/RootInlineBox.cpp:
  37573. (WebCore::RootInlineBox::addHighlightOverflow):
  37574. Changed to call setOverflowFromLogicalRects instead of the block/inline position functions.
  37575. (WebCore::RootInlineBox::alignBoxesInBlockDirection):
  37576. Remove the computation of block direction overflow, since it now all happens at once after the line is built.
  37577. (WebCore::RootInlineBox::paddedLayoutOverflowRect):
  37578. * rendering/RootInlineBox.h:
  37579. Added a new helper function for incorporating the end padding into a line. This end padding also includes the single pixel for a caret
  37580. in LTR if needed.
  37581. 2010-12-06 Chris Marrin <cmarrin@apple.com>
  37582. Reviewed by Simon Fraser.
  37583. Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
  37584. https://bugs.webkit.org/show_bug.cgi?id=49388
  37585. Replaced GraphicsLayerMac with GraphicsLayerCA. GraphicsLayerCA is essentially
  37586. identical to GraphicsLayerMac, but replaces all the CoreAnimation specific calls
  37587. with calls to PlatformCALayer and PlatformCAAnimation. This makes GraphicsLayerCA
  37588. platform neutral as long as implementations of those two classes are available.
  37589. Added implementations in PlatformCALayerMac and PlatformCAAnimationMac. Also got
  37590. rid of GraphicsLayer::nativeLayer() and replaced it with GraphicsLayer::platformLayer()
  37591. to avoid confusion since both names were used to refer to the same thing.
  37592. This patch is only for Mac. Windows implementation has not changed.
  37593. * WebCore.xcodeproj/project.pbxproj:
  37594. * platform/graphics/GraphicsLayer.h:
  37595. * platform/graphics/ca/GraphicsLayerCA.cpp: Copied from WebCore/platform/graphics/ca/GraphicsLayerCA.cpp.
  37596. * platform/graphics/ca/GraphicsLayerCA.h: Copied from WebCore/platform/graphics/ca/GraphicsLayerCA.h.
  37597. * platform/graphics/ca/PlatformCAAnimation.h: Copied from WebCore/platform/graphics/ca/PlatformCAAnimation.h.
  37598. * platform/graphics/ca/PlatformCALayer.h: Copied from WebCore/platform/graphics/ca/PlatformCALayer.h.
  37599. * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: Copied from WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.mm.
  37600. (toCAMediaTimingFunction):
  37601. * platform/graphics/ca/mac/PlatformCALayerMac.mm: Copied from WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm.
  37602. (PlatformCALayer::PlatformCALayer):
  37603. * platform/graphics/chromium/GraphicsLayerChromium.cpp:
  37604. * platform/graphics/chromium/GraphicsLayerChromium.h:
  37605. * platform/graphics/mac/GraphicsLayerMac.h: Removed.
  37606. * platform/graphics/mac/GraphicsLayerMac.mm: Removed.
  37607. * platform/graphics/mac/WebLayer.h:
  37608. * platform/graphics/mac/WebLayer.mm:
  37609. (-[WebLayer setNeedsDisplay]):
  37610. (-[WebLayer setNeedsDisplayInRect:]):
  37611. (-[WebLayer display]):
  37612. (-[WebLayer drawInContext:]):
  37613. * platform/graphics/mac/WebTiledLayer.h:
  37614. * platform/graphics/mac/WebTiledLayer.mm:
  37615. (-[WebTiledLayer setNeedsDisplay]):
  37616. (-[WebTiledLayer setNeedsDisplayInRect:]):
  37617. (-[WebTiledLayer display]):
  37618. (-[WebTiledLayer drawInContext:]):
  37619. * platform/graphics/qt/GraphicsLayerQt.cpp:
  37620. (WebCore::GraphicsLayerQtImpl::flushChanges):
  37621. * platform/graphics/qt/GraphicsLayerQt.h:
  37622. * platform/graphics/win/GraphicsLayerCACF.cpp:
  37623. * platform/graphics/win/GraphicsLayerCACF.h:
  37624. 2010-12-06 Simon Fraser <simon.fraser@apple.com>
  37625. Reviewed by Dan Bernstein.
  37626. Font antialiasing (smoothing) changes when elements are rendered into compositing layers
  37627. https://bugs.webkit.org/show_bug.cgi?id=23364
  37628. Text rendered by Core Graphics over a transparent background looks bad because of
  37629. font smoothing, so turn off smoothing when rendering text into compositing layers.
  37630. * platform/graphics/GraphicsContext.h:
  37631. * platform/graphics/cg/GraphicsContextCG.cpp:
  37632. (WebCore::GraphicsContext::setAllowsFontSmoothing):
  37633. * platform/graphics/mac/WebLayer.mm:
  37634. (drawLayerContents):
  37635. 2010-12-06 Patrick Gansterer <paroga@webkit.org>
  37636. Reviewed by Andreas Kling.
  37637. [WINCE] Add build system
  37638. https://bugs.webkit.org/show_bug.cgi?id=50522
  37639. * CMakeListsWinCE.txt: Added.
  37640. 2010-12-06 Chris Fleizach <cfleizach@apple.com>
  37641. Reviewed by Oliver Hunt.
  37642. AX does not support HTML5 "required"
  37643. https://bugs.webkit.org/show_bug.cgi?id=50507
  37644. Test: platform/mac/accessibility/html5-required-attribute.html
  37645. * accessibility/AccessibilityRenderObject.cpp:
  37646. (WebCore::AccessibilityRenderObject::isRequired):
  37647. 2010-12-06 Alejandro G. Castro <alex@igalia.com>
  37648. Reviewed by Martin Robinson.
  37649. [GTK] using shadows leaks memory
  37650. https://bugs.webkit.org/show_bug.cgi?id=50541
  37651. Fixed leaks in the shadow code.
  37652. * platform/graphics/cairo/CairoUtilities.cpp:
  37653. (WebCore::drawPatternToCairoContext): adoptRef instead of just
  37654. getting a new reference.
  37655. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  37656. (WebCore::drawPathShadow): handle cairo_path_t with smart
  37657. pointers.
  37658. 2010-12-06 Yury Semikhatsky <yurys@chromium.org>
  37659. Reviewed by Pavel Feldman.
  37660. [v8] Web Inspector: remove duplicate code for capturing stack trace
  37661. https://bugs.webkit.org/show_bug.cgi?id=50461
  37662. No new tests. Covered with existing inspector tests.
  37663. * bindings/js/ScriptCallStackFactory.cpp:
  37664. (WebCore::createScriptCallStack):
  37665. * bindings/js/ScriptCallStackFactory.h:
  37666. * bindings/v8/ScriptCallStackFactory.cpp:
  37667. (WebCore::toScriptCallFrame):
  37668. (WebCore::toScriptCallFramesVector):
  37669. (WebCore::createScriptCallStack):
  37670. * bindings/v8/ScriptCallStackFactory.h:
  37671. * bindings/v8/V8ConsoleMessage.cpp:
  37672. (WebCore::V8ConsoleMessage::handler):
  37673. * inspector/ScriptCallFrame.cpp:
  37674. (WebCore::ScriptCallFrame::ScriptCallFrame):
  37675. (WebCore::ScriptCallFrame::isEqual):
  37676. (WebCore::ScriptCallFrame::buildInspectorObject):
  37677. * inspector/ScriptCallFrame.h:
  37678. (WebCore::ScriptCallFrame::sourceURL):
  37679. * inspector/ScriptCallStack.h:
  37680. * inspector/TimelineRecordFactory.cpp:
  37681. (WebCore::TimelineRecordFactory::createGenericRecord):
  37682. * inspector/front-end/ConsoleView.js:
  37683. (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
  37684. == Rolled over to ChangeLog-2010-12-06 ==